@progress/kendo-angular-buttons 17.0.0-develop.21 → 17.0.0-develop.23

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 (88) hide show
  1. package/button/button.component.d.ts +1 -1
  2. package/button/selection-settings.d.ts +1 -1
  3. package/buttongroup/buttongroup.component.d.ts +1 -1
  4. package/chip/chip-list.component.d.ts +1 -1
  5. package/chip/chip.component.d.ts +1 -1
  6. package/chip/models/selection.d.ts +1 -1
  7. package/common/models/fillmode.d.ts +2 -2
  8. package/common/models/rounded.d.ts +2 -2
  9. package/common/models/size.d.ts +3 -3
  10. package/common/models/theme-color.d.ts +2 -2
  11. package/direction.d.ts +1 -1
  12. package/dropdownbutton/dropdownbutton.component.d.ts +7 -9
  13. package/{esm2020 → esm2022}/button/button.component.mjs +63 -49
  14. package/{esm2020 → esm2022}/button/button.module.mjs +4 -4
  15. package/{esm2020 → esm2022}/button/button.service.mjs +5 -7
  16. package/{esm2020 → esm2022}/buttongroup/buttongroup.component.mjs +76 -51
  17. package/{esm2020 → esm2022}/buttongroup/buttongroup.module.mjs +4 -4
  18. package/{esm2020 → esm2022}/buttons.module.mjs +4 -4
  19. package/{esm2020 → esm2022}/chip/chip-list.component.mjs +55 -45
  20. package/{esm2020 → esm2022}/chip/chip.component.mjs +123 -70
  21. package/{esm2020 → esm2022}/chip/chip.module.mjs +4 -4
  22. package/{esm2020 → esm2022}/dropdownbutton/dropdownbutton.component.mjs +123 -111
  23. package/{esm2020 → esm2022}/dropdownbutton/dropdownbutton.module.mjs +4 -4
  24. package/{esm2020 → esm2022}/floatingactionbutton/dial-item.component.mjs +21 -11
  25. package/{esm2020 → esm2022}/floatingactionbutton/dial-list.component.mjs +16 -11
  26. package/{esm2020 → esm2022}/floatingactionbutton/floatingactionbutton.component.mjs +145 -102
  27. package/{esm2020 → esm2022}/floatingactionbutton/floatingactionbutton.module.mjs +4 -4
  28. package/{esm2020 → esm2022}/floatingactionbutton/templates/dial-item-template.directive.mjs +4 -3
  29. package/{esm2020 → esm2022}/floatingactionbutton/templates/fab-template.directive.mjs +4 -3
  30. package/{esm2020 → esm2022}/focusable/focus.service.mjs +5 -6
  31. package/{esm2020 → esm2022}/focusable/focusable.directive.mjs +8 -4
  32. package/{esm2020 → esm2022}/listbutton/button-item-template.directive.mjs +4 -3
  33. package/{esm2020 → esm2022}/listbutton/container.service.mjs +5 -3
  34. package/{esm2020 → esm2022}/listbutton/list-button.mjs +88 -51
  35. package/{esm2020 → esm2022}/listbutton/list.component.mjs +13 -10
  36. package/{esm2020 → esm2022}/listbutton/list.module.mjs +8 -8
  37. package/{esm2020 → esm2022}/navigation/navigation.service.mjs +12 -11
  38. package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
  39. package/{esm2020 → esm2022}/preventable-event.mjs +1 -3
  40. package/{esm2020 → esm2022}/splitbutton/localization/custom-messages.component.mjs +7 -6
  41. package/{esm2020 → esm2022}/splitbutton/localization/localized-messages.directive.mjs +9 -8
  42. package/esm2022/splitbutton/localization/messages.mjs +45 -0
  43. package/{esm2020 → esm2022}/splitbutton/splitbutton.component.mjs +212 -188
  44. package/{esm2020 → esm2022}/splitbutton/splitbutton.module.mjs +4 -4
  45. package/{fesm2020 → fesm2022}/progress-kendo-angular-buttons.mjs +1283 -1019
  46. package/floatingactionbutton/dial-item.component.d.ts +1 -1
  47. package/floatingactionbutton/dial-list.component.d.ts +1 -1
  48. package/floatingactionbutton/floatingactionbutton.component.d.ts +1 -1
  49. package/floatingactionbutton/models/position-mode.d.ts +1 -1
  50. package/focusable/focusable.directive.d.ts +1 -1
  51. package/listbutton/list-button.d.ts +9 -4
  52. package/listbutton/list.component.d.ts +1 -1
  53. package/package.json +14 -20
  54. package/splitbutton/localization/messages.d.ts +1 -1
  55. package/splitbutton/splitbutton.component.d.ts +8 -16
  56. package/esm2020/splitbutton/localization/messages.mjs +0 -23
  57. package/fesm2015/progress-kendo-angular-buttons.mjs +0 -5560
  58. /package/{esm2020 → esm2022}/button/selection-settings.mjs +0 -0
  59. /package/{esm2020 → esm2022}/chip/chip-content-click-event-args.interface.mjs +0 -0
  60. /package/{esm2020 → esm2022}/chip/chip-list-remove-event-args.interface.mjs +0 -0
  61. /package/{esm2020 → esm2022}/chip/chip-remove-event-args.interface.mjs +0 -0
  62. /package/{esm2020 → esm2022}/chip/models/avatar-settings.interface.mjs +0 -0
  63. /package/{esm2020 → esm2022}/chip/models/selection.mjs +0 -0
  64. /package/{esm2020 → esm2022}/common/models/arrow-settings.mjs +0 -0
  65. /package/{esm2020 → esm2022}/common/models/fillmode.mjs +0 -0
  66. /package/{esm2020 → esm2022}/common/models/rounded.mjs +0 -0
  67. /package/{esm2020 → esm2022}/common/models/size.mjs +0 -0
  68. /package/{esm2020 → esm2022}/common/models/styling-classes.mjs +0 -0
  69. /package/{esm2020 → esm2022}/common/models/theme-color.mjs +0 -0
  70. /package/{esm2020 → esm2022}/common/models.mjs +0 -0
  71. /package/{esm2020 → esm2022}/direction.mjs +0 -0
  72. /package/{esm2020 → esm2022}/directives.mjs +0 -0
  73. /package/{esm2020 → esm2022}/floatingactionbutton/animations/animations.mjs +0 -0
  74. /package/{esm2020 → esm2022}/floatingactionbutton/models/align.mjs +0 -0
  75. /package/{esm2020 → esm2022}/floatingactionbutton/models/item-animation.interface.mjs +0 -0
  76. /package/{esm2020 → esm2022}/floatingactionbutton/models/item-click.event.mjs +0 -0
  77. /package/{esm2020 → esm2022}/floatingactionbutton/models/item.interface.mjs +0 -0
  78. /package/{esm2020 → esm2022}/floatingactionbutton/models/offset.mjs +0 -0
  79. /package/{esm2020 → esm2022}/floatingactionbutton/models/position-mode.mjs +0 -0
  80. /package/{esm2020 → esm2022}/floatingactionbutton/utils.mjs +0 -0
  81. /package/{esm2020 → esm2022}/index.mjs +0 -0
  82. /package/{esm2020 → esm2022}/listbutton/list-item-model.mjs +0 -0
  83. /package/{esm2020 → esm2022}/listbutton/popup-settings.mjs +0 -0
  84. /package/{esm2020 → esm2022}/navigation/key-events.mjs +0 -0
  85. /package/{esm2020 → esm2022}/navigation/navigation-action.mjs +0 -0
  86. /package/{esm2020 → esm2022}/navigation/navigation-config.mjs +0 -0
  87. /package/{esm2020 → esm2022}/progress-kendo-angular-buttons.mjs +0 -0
  88. /package/{esm2020 → esm2022}/util.mjs +0 -0
@@ -3,9 +3,9 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { Injectable, EventEmitter, isDevMode, Component, Optional, Input, Output, HostBinding, HostListener, ContentChildren, Directive, InjectionToken, Inject, ElementRef, ViewContainerRef, ContentChild, ViewChild, forwardRef, NgModule } from '@angular/core';
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 } from 'rxjs';
8
- import { isDocumentAvailable, isFirefox, isSafari, isChanged, hasObservers, Keys, MultiTabStop, guid, TemplateContextDirective, isPresent as isPresent$1, EventsOutsideAngularDirective, anyChanged, ResizeBatchService } from '@progress/kendo-angular-common';
8
+ import { isDocumentAvailable, isFirefox, isSafari, isChanged, hasObservers, Keys, TemplateContextDirective, MultiTabStop, guid, isPresent as isPresent$1, EventsOutsideAngularDirective, anyChanged, ResizeBatchService } from '@progress/kendo-angular-common';
9
9
  export { ToggleButtonTabStopDirective } from '@progress/kendo-angular-common';
10
10
  import { caretAltDownIcon, xCircleIcon, moreVerticalIcon } from '@progress/kendo-svg-icons';
11
11
  import * as i1 from '@progress/kendo-angular-l10n';
@@ -23,17 +23,15 @@ import { sequence, query, style, stagger, animate } from '@angular/animations';
23
23
  * @hidden
24
24
  */
25
25
  class KendoButtonService {
26
- constructor() {
27
- this.buttonClicked = new Subject();
28
- this.buttonClicked$ = this.buttonClicked.asObservable();
29
- }
26
+ buttonClicked = new Subject();
27
+ buttonClicked$ = this.buttonClicked.asObservable();
30
28
  click(button) {
31
29
  this.buttonClicked.next(button);
32
30
  }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KendoButtonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KendoButtonService });
33
33
  }
34
- KendoButtonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KendoButtonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
- KendoButtonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KendoButtonService });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KendoButtonService, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KendoButtonService, decorators: [{
37
35
  type: Injectable
38
36
  }] });
39
37
 
@@ -44,8 +42,8 @@ const packageMetadata = {
44
42
  name: '@progress/kendo-angular-buttons',
45
43
  productName: 'Kendo UI for Angular',
46
44
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
47
- publishDate: 1729874032,
48
- version: '17.0.0-develop.21',
45
+ publishDate: 1730104754,
46
+ version: '17.0.0-develop.23',
49
47
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
50
48
  };
51
49
 
@@ -158,45 +156,21 @@ const DEFAULT_FILL_MODE$3 = 'solid';
158
156
  * Please use the `button[kendoButton]` selector only.
159
157
  */
160
158
  class ButtonComponent {
161
- constructor(element, renderer, service, localization, ngZone) {
162
- this.renderer = renderer;
163
- this.service = service;
164
- this.ngZone = ngZone;
165
- /**
166
- * @hidden
167
- * @default false
168
- * required for DropDownButton arrow icon.
169
- */
170
- this.arrowIcon = false;
171
- /**
172
- * Provides visual styling that indicates if the Button is active.
173
- *
174
- * @default false
175
- */
176
- this.toggleable = false;
177
- /**
178
- * Fires each time the selected state of a toggleable button is changed.
179
- *
180
- * The event argument is the new selected state (boolean).
181
- */
182
- this.selectedChange = new EventEmitter();
183
- /**
184
- * Fires each time the user clicks the button.
185
- */
186
- this.click = new EventEmitter();
187
- this.isDisabled = false;
188
- this.caretAltDownIcon = caretAltDownIcon;
189
- this._size = DEFAULT_SIZE$2;
190
- this._rounded = DEFAULT_ROUNDED$3;
191
- this._fillMode = DEFAULT_FILL_MODE$3;
192
- this._themeColor = DEFAULT_THEME_COLOR$2;
193
- this._focused = false;
194
- this.subs = new Subscription();
195
- validatePackage(packageMetadata);
196
- this.direction = localization.rtl ? 'rtl' : 'ltr';
197
- this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
198
- this.element = element.nativeElement;
199
- }
159
+ renderer;
160
+ service;
161
+ ngZone;
162
+ /**
163
+ * @hidden
164
+ * @default false
165
+ * required for DropDownButton arrow icon.
166
+ */
167
+ arrowIcon = false;
168
+ /**
169
+ * Provides visual styling that indicates if the Button is active.
170
+ *
171
+ * @default false
172
+ */
173
+ toggleable = false;
200
174
  /**
201
175
  * Backwards-compatible alias
202
176
  *
@@ -231,6 +205,11 @@ class ButtonComponent {
231
205
  get tabIndex() {
232
206
  return this.element.tabIndex;
233
207
  }
208
+ /**
209
+ * Defines a URL which is used for an `img` element inside the Button.
210
+ * The URL can be relative or absolute. If relative, it is evaluated with relation to the web page URL.
211
+ */
212
+ imageUrl;
234
213
  /**
235
214
  * Defines a CSS class—or multiple classes separated by spaces—
236
215
  * which are applied to a `span` element inside the Button. Allows the usage of custom icons.
@@ -341,6 +320,30 @@ class ButtonComponent {
341
320
  get svgIcon() {
342
321
  return this._svgIcon;
343
322
  }
323
+ /**
324
+ * Fires each time the selected state of a toggleable button is changed.
325
+ *
326
+ * The event argument is the new selected state (boolean).
327
+ */
328
+ selectedChange = new EventEmitter();
329
+ /**
330
+ * Fires each time the user clicks the button.
331
+ */
332
+ click = new EventEmitter();
333
+ element;
334
+ isDisabled = false;
335
+ caretAltDownIcon = caretAltDownIcon;
336
+ _size = DEFAULT_SIZE$2;
337
+ _rounded = DEFAULT_ROUNDED$3;
338
+ _fillMode = DEFAULT_FILL_MODE$3;
339
+ _themeColor = DEFAULT_THEME_COLOR$2;
340
+ _focused = false;
341
+ direction;
342
+ _selected;
343
+ subs = new Subscription();
344
+ _iconClass;
345
+ _icon;
346
+ _svgIcon;
344
347
  set isFocused(isFocused) {
345
348
  this.toggleClass('k-focus', isFocused);
346
349
  this._focused = isFocused;
@@ -407,6 +410,15 @@ class ButtonComponent {
407
410
  get nativeElement() {
408
411
  return this.element;
409
412
  }
413
+ constructor(element, renderer, service, localization, ngZone) {
414
+ this.renderer = renderer;
415
+ this.service = service;
416
+ this.ngZone = ngZone;
417
+ validatePackage(packageMetadata);
418
+ this.direction = localization.rtl ? 'rtl' : 'ltr';
419
+ this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
420
+ this.element = element.nativeElement;
421
+ }
410
422
  ngOnInit() {
411
423
  if (!this.element.hasAttribute('role') && this.togglable) {
412
424
  this.toggleAriaPressed(this.toggleable);
@@ -542,15 +554,14 @@ class ButtonComponent {
542
554
  }
543
555
  }
544
556
  }
545
- }
546
- ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: KendoButtonService, optional: true }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
547
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ButtonComponent, isStandalone: true, selector: "button[kendoButton]", inputs: { arrowIcon: "arrowIcon", toggleable: "toggleable", togglable: "togglable", selected: "selected", tabIndex: "tabIndex", imageUrl: "imageUrl", iconClass: "iconClass", icon: "icon", disabled: "disabled", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", svgIcon: "svgIcon", primary: "primary", look: "look" }, outputs: { selectedChange: "selectedChange", click: "click" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.k-button": "this.classButton", "class.k-toggle-button": "this.isToggleable", "class.k-icon-button": "this.iconButtonClass", "attr.aria-disabled": "this.classDisabled", "class.k-disabled": "this.classDisabled", "class.k-selected": "this.classActive", "attr.dir": "this.getDirection" } }, providers: [
548
- LocalizationService,
549
- {
550
- provide: L10N_PREFIX,
551
- useValue: 'kendo.button'
552
- }
553
- ], exportAs: ["kendoButton"], usesOnChanges: true, ngImport: i0, template: `
557
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: KendoButtonService, optional: true }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
558
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, isStandalone: true, selector: "button[kendoButton]", inputs: { arrowIcon: "arrowIcon", toggleable: "toggleable", togglable: "togglable", selected: "selected", tabIndex: "tabIndex", imageUrl: "imageUrl", iconClass: "iconClass", icon: "icon", disabled: "disabled", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", svgIcon: "svgIcon", primary: "primary", look: "look" }, outputs: { selectedChange: "selectedChange", click: "click" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.k-button": "this.classButton", "class.k-toggle-button": "this.isToggleable", "class.k-icon-button": "this.iconButtonClass", "attr.aria-disabled": "this.classDisabled", "class.k-disabled": "this.classDisabled", "class.k-selected": "this.classActive", "attr.dir": "this.getDirection" } }, providers: [
559
+ LocalizationService,
560
+ {
561
+ provide: L10N_PREFIX,
562
+ useValue: 'kendo.button'
563
+ }
564
+ ], exportAs: ["kendoButton"], usesOnChanges: true, ngImport: i0, template: `
554
565
  <kendo-icon-wrapper
555
566
  *ngIf="icon || svgIcon"
556
567
  innerCssClass="k-button-icon"
@@ -569,7 +580,8 @@ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
569
580
  </span>
570
581
 
571
582
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
572
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonComponent, decorators: [{
583
+ }
584
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
573
585
  type: Component,
574
586
  args: [{
575
587
  exportAs: 'kendoButton',
@@ -674,9 +686,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
674
686
  * @hidden
675
687
  */
676
688
  class PreventableEvent {
677
- constructor() {
678
- this.prevented = false;
679
- }
689
+ prevented = false;
680
690
  /**
681
691
  * Prevents the default action for a specified event.
682
692
  * In this way, the source component suppresses the built-in behavior that follows the event.
@@ -702,46 +712,34 @@ const tabindex = 'tabindex';
702
712
  * Represents the Kendo UI ButtonGroup component for Angular.
703
713
  */
704
714
  class ButtonGroupComponent {
705
- constructor(service, localization, renderer, element) {
706
- this.service = service;
707
- this.renderer = renderer;
708
- this.element = element;
709
- /**
710
- * The selection mode of the ButtonGroup.
711
- * @default 'multiple'
712
- */
713
- this.selection = 'multiple';
714
- /**
715
- * When this option is set to `true` (default), the component is a single tab-stop,
716
- * and focus is moved through the inner buttons via the arrow keys.
717
- *
718
- * When the option is set to `false`, the inner buttons are part of the natural tab sequence of the page.
719
- *
720
- * @default true
721
- */
722
- this.navigable = true;
723
- /**
724
- * Fires every time keyboard navigation occurs.
725
- */
726
- this.navigate = new EventEmitter();
727
- this._tabIndex = 0;
728
- this.currentTabIndex = 0;
729
- this.lastFocusedIndex = -1;
730
- this.subs = new Subscription();
731
- this.wrapperClasses = true;
732
- this.role = 'group';
733
- this.focusHandler = () => {
734
- this.currentTabIndex = -1;
735
- this.defocus(this.buttons.toArray());
736
- const firstFocusableIndex = this.buttons.toArray().findIndex(current => !current.disabled);
737
- const index = this.lastFocusedIndex === -1 ? firstFocusableIndex : this.lastFocusedIndex;
738
- this.focus(this.buttons.filter((_current, i) => {
739
- return i === index;
740
- }));
741
- };
742
- validatePackage(packageMetadata);
743
- this.subs.add(localization.changes.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr'));
744
- }
715
+ service;
716
+ renderer;
717
+ element;
718
+ /**
719
+ * By default, the ButtonGroup is enabled.
720
+ * To disable the whole group of buttons, set its `disabled` attribute to `true`.
721
+ *
722
+ * To disable a specific button, set its own `disabled` attribute to `true`
723
+ * and leave the `disabled` attribute of the ButtonGroup undefined.
724
+ * If you define the `disabled` attribute of the ButtonGroup, it will take
725
+ * precedence over the `disabled` attributes of the underlying buttons and they will be ignored.
726
+ *
727
+ * For more information on how to configure the Button, refer to
728
+ * its [API documentation]({% slug api_buttons_buttoncomponent %}).
729
+ */
730
+ disabled;
731
+ /**
732
+ * The selection mode of the ButtonGroup.
733
+ * @default 'multiple'
734
+ */
735
+ selection = 'multiple';
736
+ /**
737
+ * Sets the width of the ButtonGroup.
738
+ * If the width of the ButtonGroup is set:
739
+ * - The buttons resize automatically to fill the full width of the group wrapper.
740
+ * - The buttons acquire the same width.
741
+ */
742
+ width;
745
743
  /**
746
744
  * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
747
745
  */
@@ -752,12 +750,33 @@ class ButtonGroupComponent {
752
750
  get tabIndex() {
753
751
  return this._tabIndex;
754
752
  }
753
+ /**
754
+ * When this option is set to `true` (default), the component is a single tab-stop,
755
+ * and focus is moved through the inner buttons via the arrow keys.
756
+ *
757
+ * When the option is set to `false`, the inner buttons are part of the natural tab sequence of the page.
758
+ *
759
+ * @default true
760
+ */
761
+ navigable = true;
762
+ /**
763
+ * Fires every time keyboard navigation occurs.
764
+ */
765
+ navigate = new EventEmitter();
766
+ buttons;
767
+ _tabIndex = 0;
768
+ currentTabIndex = 0;
769
+ lastFocusedIndex = -1;
770
+ direction;
771
+ subs = new Subscription();
772
+ wrapperClasses = true;
755
773
  get disabledClass() {
756
774
  return this.disabled;
757
775
  }
758
776
  get stretchedClass() {
759
777
  return !!this.width;
760
778
  }
779
+ role = 'group';
761
780
  get dir() {
762
781
  return this.direction;
763
782
  }
@@ -770,6 +789,13 @@ class ButtonGroupComponent {
770
789
  get wrapperTabIndex() {
771
790
  return this.disabled ? undefined : this.navigable ? this.currentTabIndex : undefined;
772
791
  }
792
+ constructor(service, localization, renderer, element) {
793
+ this.service = service;
794
+ this.renderer = renderer;
795
+ this.element = element;
796
+ validatePackage(packageMetadata);
797
+ this.subs.add(localization.changes.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr'));
798
+ }
773
799
  ngOnInit() {
774
800
  this.subs.add(this.service.buttonClicked$.subscribe((button) => {
775
801
  let newSelectionValue;
@@ -910,19 +936,28 @@ class ButtonGroupComponent {
910
936
  .pipe(filter(predicate))
911
937
  .subscribe(handler));
912
938
  }
913
- }
914
- ButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupComponent, deps: [{ token: KendoButtonService }, { token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
915
- ButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ButtonGroupComponent, isStandalone: true, selector: "kendo-buttongroup", inputs: { disabled: "disabled", selection: "selection", width: "width", tabIndex: "tabIndex", navigable: "navigable" }, outputs: { navigate: "navigate" }, host: { properties: { "class.k-button-group": "this.wrapperClasses", "class.k-disabled": "this.disabledClass", "class.k-button-group-stretched": "this.stretchedClass", "attr.role": "this.role", "attr.dir": "this.dir", "attr.aria-disabled": "this.ariaDisabled", "style.width": "this.wrapperWidth", "attr.tabindex": "this.wrapperTabIndex" } }, providers: [
916
- KendoButtonService,
917
- LocalizationService,
918
- {
919
- provide: L10N_PREFIX,
920
- useValue: 'kendo.buttongroup'
921
- }
922
- ], queries: [{ propertyName: "buttons", predicate: ButtonComponent }], exportAs: ["kendoButtonGroup"], usesOnChanges: true, ngImport: i0, template: `
939
+ focusHandler = () => {
940
+ this.currentTabIndex = -1;
941
+ this.defocus(this.buttons.toArray());
942
+ const firstFocusableIndex = this.buttons.toArray().findIndex(current => !current.disabled);
943
+ const index = this.lastFocusedIndex === -1 ? firstFocusableIndex : this.lastFocusedIndex;
944
+ this.focus(this.buttons.filter((_current, i) => {
945
+ return i === index;
946
+ }));
947
+ };
948
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupComponent, deps: [{ token: KendoButtonService }, { token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
949
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonGroupComponent, isStandalone: true, selector: "kendo-buttongroup", inputs: { disabled: "disabled", selection: "selection", width: "width", tabIndex: "tabIndex", navigable: "navigable" }, outputs: { navigate: "navigate" }, host: { properties: { "class.k-button-group": "this.wrapperClasses", "class.k-disabled": "this.disabledClass", "class.k-button-group-stretched": "this.stretchedClass", "attr.role": "this.role", "attr.dir": "this.dir", "attr.aria-disabled": "this.ariaDisabled", "style.width": "this.wrapperWidth", "attr.tabindex": "this.wrapperTabIndex" } }, providers: [
950
+ KendoButtonService,
951
+ LocalizationService,
952
+ {
953
+ provide: L10N_PREFIX,
954
+ useValue: 'kendo.buttongroup'
955
+ }
956
+ ], queries: [{ propertyName: "buttons", predicate: ButtonComponent }], exportAs: ["kendoButtonGroup"], usesOnChanges: true, ngImport: i0, template: `
923
957
  <ng-content select="[kendoButton]"></ng-content>
924
958
  `, isInline: true });
925
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupComponent, decorators: [{
959
+ }
960
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupComponent, decorators: [{
926
961
  type: Component,
927
962
  args: [{
928
963
  exportAs: 'kendoButtonGroup',
@@ -992,66 +1027,77 @@ const DEFAULT_FILL_MODE$2 = 'solid';
992
1027
  * Displays a Chip that represents an input, attribute or an action.
993
1028
  */
994
1029
  class ChipComponent {
995
- constructor(element, renderer, ngZone, localizationService) {
996
- this.element = element;
997
- this.renderer = renderer;
998
- this.ngZone = ngZone;
999
- this.localizationService = localizationService;
1000
- /**
1001
- * Specifies the selected state of the Chip.
1002
- * @default false
1003
- */
1004
- this.selected = false;
1005
- /**
1006
- * Specifies if the Chip will be removable or not.
1007
- * If the property is set to `true`, the Chip renders a remove icon.
1008
- * @default false
1009
- */
1010
- this.removable = false;
1011
- /**
1012
- * @hidden
1013
- *
1014
- * Determines whether the Chip has a menu.
1015
- */
1016
- this.hasMenu = false;
1017
- /**
1018
- * If set to `true`, the Chip will be disabled.
1019
- * @default false
1020
- */
1021
- this.disabled = false;
1022
- /**
1023
- * Fires each time the user clicks the remove icon of the Chip.
1024
- */
1025
- this.remove = new EventEmitter();
1026
- /**
1027
- * @hidden
1028
- *
1029
- * Fires each time the user clicks the menu icon of the Chip.
1030
- */
1031
- this.menuToggle = new EventEmitter();
1032
- /**
1033
- * Fires each time the user clicks the content of the Chip.
1034
- */
1035
- this.contentClick = new EventEmitter();
1036
- this.tabIndex = 0;
1037
- this.hostClass = true;
1038
- /**
1039
- * @hidden
1040
- */
1041
- this.defaultRemoveIcon = xCircleIcon;
1042
- /**
1043
- * @hidden
1044
- */
1045
- this.defaultMenuIcon = moreVerticalIcon;
1046
- this._size = 'medium';
1047
- this._rounded = 'medium';
1048
- this._fillMode = 'solid';
1049
- this._themeColor = 'base';
1050
- this.focused = false;
1051
- this.subs = new Subscription();
1052
- validatePackage(packageMetadata);
1053
- this.direction = localizationService.rtl ? 'rtl' : 'ltr';
1054
- }
1030
+ element;
1031
+ renderer;
1032
+ ngZone;
1033
+ localizationService;
1034
+ /**
1035
+ * Sets the label text of the Chip.
1036
+ */
1037
+ label;
1038
+ /**
1039
+ * Defines the name for an existing icon in a Kendo UI theme.
1040
+ * The icon is rendered inside the Chip by a `span.k-icon` element.
1041
+ */
1042
+ icon;
1043
+ /**
1044
+ * Defines an [`SVGIcon`](slug:api_icons_svgicon) icon to be rendered inside the Chip using
1045
+ * a [`KendoSVGIcon`](slug:api_icons_svgiconcomponent) component.
1046
+ */
1047
+ svgIcon;
1048
+ /**
1049
+ * Defines a CSS class or multiple classes separated by spaces —
1050
+ * which are applied to a span element.
1051
+ * Allows the usage of custom icons.
1052
+ */
1053
+ iconClass;
1054
+ /**
1055
+ * Use these settings to render an avatar within the Chip.
1056
+ */
1057
+ avatarSettings;
1058
+ /**
1059
+ * Specifies the selected state of the Chip.
1060
+ * @default false
1061
+ */
1062
+ selected = false;
1063
+ /**
1064
+ * Specifies if the Chip will be removable or not.
1065
+ * If the property is set to `true`, the Chip renders a remove icon.
1066
+ * @default false
1067
+ */
1068
+ removable = false;
1069
+ /**
1070
+ * Specifies a custom remove font icon class that will be rendered when the Chip is removable.
1071
+ * [see example]({% slug icons %})
1072
+ */
1073
+ removeIcon;
1074
+ /**
1075
+ * Specifies a custom remove SVG icon that will be rendered when the Chip is removable.
1076
+ */
1077
+ removeSvgIcon;
1078
+ /**
1079
+ * @hidden
1080
+ *
1081
+ * Determines whether the Chip has a menu.
1082
+ */
1083
+ hasMenu = false;
1084
+ /**
1085
+ * @hidden
1086
+ *
1087
+ * Specifies a custom menu font icon class that will be rendered when the Chip has menu.
1088
+ */
1089
+ menuIcon;
1090
+ /**
1091
+ * @hidden
1092
+ *
1093
+ * Specifies a custom menu SVG icon that will be rendered when the Chip has menu.
1094
+ */
1095
+ menuSvgIcon;
1096
+ /**
1097
+ * If set to `true`, the Chip will be disabled.
1098
+ * @default false
1099
+ */
1100
+ disabled = false;
1055
1101
  /**
1056
1102
  * The size property specifies the padding of the Chip
1057
1103
  * ([see example]({% slug appearance_chip %}#toc-size)).
@@ -1127,6 +1173,22 @@ class ChipComponent {
1127
1173
  get themeColor() {
1128
1174
  return this._themeColor;
1129
1175
  }
1176
+ /**
1177
+ * Fires each time the user clicks the remove icon of the Chip.
1178
+ */
1179
+ remove = new EventEmitter();
1180
+ /**
1181
+ * @hidden
1182
+ *
1183
+ * Fires each time the user clicks the menu icon of the Chip.
1184
+ */
1185
+ menuToggle = new EventEmitter();
1186
+ /**
1187
+ * Fires each time the user clicks the content of the Chip.
1188
+ */
1189
+ contentClick = new EventEmitter();
1190
+ tabIndex = 0;
1191
+ hostClass = true;
1130
1192
  get hasIconClass() {
1131
1193
  return Boolean(this.icon || this.iconClass || (this.avatarSettings && !isObjectEmpty(this.avatarSettings)));
1132
1194
  }
@@ -1139,6 +1201,32 @@ class ChipComponent {
1139
1201
  get focusedClass() {
1140
1202
  return this.focused;
1141
1203
  }
1204
+ /**
1205
+ * @hidden
1206
+ */
1207
+ direction;
1208
+ /**
1209
+ * @hidden
1210
+ */
1211
+ defaultRemoveIcon = xCircleIcon;
1212
+ /**
1213
+ * @hidden
1214
+ */
1215
+ defaultMenuIcon = moreVerticalIcon;
1216
+ _size = 'medium';
1217
+ _rounded = 'medium';
1218
+ _fillMode = 'solid';
1219
+ _themeColor = 'base';
1220
+ focused = false;
1221
+ subs = new Subscription();
1222
+ constructor(element, renderer, ngZone, localizationService) {
1223
+ this.element = element;
1224
+ this.renderer = renderer;
1225
+ this.ngZone = ngZone;
1226
+ this.localizationService = localizationService;
1227
+ validatePackage(packageMetadata);
1228
+ this.direction = localizationService.rtl ? 'rtl' : 'ltr';
1229
+ }
1142
1230
  ngOnInit() {
1143
1231
  this.subs.add(this.localizationService.changes
1144
1232
  .subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr'));
@@ -1287,15 +1375,14 @@ class ChipComponent {
1287
1375
  });
1288
1376
  }
1289
1377
  }
1290
- }
1291
- ChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
1292
- ChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChipComponent, isStandalone: true, selector: "kendo-chip", inputs: { label: "label", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", avatarSettings: "avatarSettings", selected: "selected", removable: "removable", removeIcon: "removeIcon", removeSvgIcon: "removeSvgIcon", hasMenu: "hasMenu", menuIcon: "menuIcon", menuSvgIcon: "menuSvgIcon", disabled: "disabled", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor" }, outputs: { remove: "remove", menuToggle: "menuToggle", contentClick: "contentClick" }, host: { properties: { "attr.tabindex": "this.tabIndex", "class.k-chip": "this.hostClass", "class.k-chip-has-icon": "this.hasIconClass", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "class.k-selected": "this.selectedClass", "class.k-focus": "this.focusedClass", "attr.dir": "this.direction" } }, providers: [
1293
- LocalizationService,
1294
- {
1295
- provide: L10N_PREFIX,
1296
- useValue: 'kendo.chip'
1297
- }
1298
- ], usesOnChanges: true, ngImport: i0, template: `
1378
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
1379
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipComponent, isStandalone: true, selector: "kendo-chip", inputs: { label: "label", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", avatarSettings: "avatarSettings", selected: "selected", removable: "removable", removeIcon: "removeIcon", removeSvgIcon: "removeSvgIcon", hasMenu: "hasMenu", menuIcon: "menuIcon", menuSvgIcon: "menuSvgIcon", disabled: "disabled", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor" }, outputs: { remove: "remove", menuToggle: "menuToggle", contentClick: "contentClick" }, host: { properties: { "attr.tabindex": "this.tabIndex", "class.k-chip": "this.hostClass", "class.k-chip-has-icon": "this.hasIconClass", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "class.k-selected": "this.selectedClass", "class.k-focus": "this.focusedClass", "attr.dir": "this.direction" } }, providers: [
1380
+ LocalizationService,
1381
+ {
1382
+ provide: L10N_PREFIX,
1383
+ useValue: 'kendo.chip'
1384
+ }
1385
+ ], usesOnChanges: true, ngImport: i0, template: `
1299
1386
  <kendo-icon-wrapper
1300
1387
  *ngIf="icon || svgIcon"
1301
1388
  size="small"
@@ -1351,7 +1438,8 @@ ChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
1351
1438
  </span>
1352
1439
  </span>
1353
1440
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
1354
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipComponent, decorators: [{
1441
+ }
1442
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipComponent, decorators: [{
1355
1443
  type: Component,
1356
1444
  args: [{
1357
1445
  selector: 'kendo-chip',
@@ -1488,41 +1576,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1488
1576
  }] } });
1489
1577
 
1490
1578
  class ChipListComponent {
1491
- constructor(localizationService, renderer, element, ngZone) {
1492
- this.localizationService = localizationService;
1493
- this.renderer = renderer;
1494
- this.element = element;
1495
- this.ngZone = ngZone;
1496
- this.hostClass = true;
1497
- this.orientation = 'horizontal';
1498
- /**
1499
- * Sets the selection mode of the ChipList.
1500
- *
1501
- * The available values are:
1502
- * * `none` (default)
1503
- * * `single`
1504
- * * `multiple`
1505
- */
1506
- this.selection = 'none';
1507
- /**
1508
- * Fires each time when the ChipList selection is changed.
1509
- */
1510
- this.selectedChange = new EventEmitter();
1511
- /**
1512
- * Fires each time the user clicks on the remove icon of the Chip.
1513
- */
1514
- this.remove = new EventEmitter();
1515
- /**
1516
- * @hidden
1517
- */
1518
- this.role = 'listbox';
1519
- this._size = 'medium';
1520
- this.subs = new Subscription();
1521
- this._navigable = true;
1522
- this.currentActiveIndex = 0;
1523
- validatePackage(packageMetadata);
1524
- this.direction = localizationService.rtl ? 'rtl' : 'ltr';
1525
- }
1579
+ localizationService;
1580
+ renderer;
1581
+ element;
1582
+ ngZone;
1583
+ hostClass = true;
1584
+ orientation = 'horizontal';
1585
+ /**
1586
+ * @hidden
1587
+ */
1588
+ direction;
1589
+ /**
1590
+ * Sets the selection mode of the ChipList.
1591
+ *
1592
+ * The available values are:
1593
+ * * `none` (default)
1594
+ * * `single`
1595
+ * * `multiple`
1596
+ */
1597
+ selection = 'none';
1526
1598
  /**
1527
1599
  * The size property specifies the gap between the Chips in the ChipList
1528
1600
  * ([see example]({% slug appearance_chiplist %}#toc-size)).
@@ -1541,12 +1613,29 @@ class ChipListComponent {
1541
1613
  get size() {
1542
1614
  return this._size;
1543
1615
  }
1616
+ /**
1617
+ * Fires each time when the ChipList selection is changed.
1618
+ */
1619
+ selectedChange = new EventEmitter();
1620
+ /**
1621
+ * Fires each time the user clicks on the remove icon of the Chip.
1622
+ */
1623
+ remove = new EventEmitter();
1624
+ chips;
1544
1625
  get single() {
1545
1626
  return this.selection === 'single';
1546
1627
  }
1547
1628
  get multiple() {
1548
1629
  return this.selection === 'multiple';
1549
1630
  }
1631
+ /**
1632
+ * @hidden
1633
+ */
1634
+ role = 'listbox';
1635
+ dynamicRTLSubscription;
1636
+ _size = 'medium';
1637
+ subs = new Subscription();
1638
+ _navigable = true;
1550
1639
  /**
1551
1640
  * @hidden
1552
1641
  */
@@ -1585,6 +1674,15 @@ class ChipListComponent {
1585
1674
  get navigable() {
1586
1675
  return this._navigable;
1587
1676
  }
1677
+ currentActiveIndex = 0;
1678
+ constructor(localizationService, renderer, element, ngZone) {
1679
+ this.localizationService = localizationService;
1680
+ this.renderer = renderer;
1681
+ this.element = element;
1682
+ this.ngZone = ngZone;
1683
+ validatePackage(packageMetadata);
1684
+ this.direction = localizationService.rtl ? 'rtl' : 'ltr';
1685
+ }
1588
1686
  ngOnInit() {
1589
1687
  this.dynamicRTLSubscription = this.localizationService.changes
1590
1688
  .subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr');
@@ -1726,18 +1824,18 @@ class ChipListComponent {
1726
1824
  this.currentActiveIndex = Math.max(this.chips.length - 1, 0);
1727
1825
  }
1728
1826
  }
1729
- }
1730
- ChipListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipListComponent, deps: [{ token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1731
- ChipListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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: [
1732
- LocalizationService,
1733
- {
1734
- provide: L10N_PREFIX,
1735
- useValue: 'kendo.chiplist'
1736
- }
1737
- ], queries: [{ propertyName: "chips", predicate: ChipComponent }], ngImport: i0, template: `
1827
+ 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 });
1828
+ 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: [
1829
+ LocalizationService,
1830
+ {
1831
+ provide: L10N_PREFIX,
1832
+ useValue: 'kendo.chiplist'
1833
+ }
1834
+ ], queries: [{ propertyName: "chips", predicate: ChipComponent }], ngImport: i0, template: `
1738
1835
  <ng-content></ng-content>
1739
1836
  `, isInline: true });
1740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipListComponent, decorators: [{
1837
+ }
1838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipListComponent, decorators: [{
1741
1839
  type: Component,
1742
1840
  args: [{
1743
1841
  selector: 'kendo-chiplist, kendo-chip-list',
@@ -1843,13 +1941,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1843
1941
  * For more examples, refer to the article on the [DropDownButton templates](slug:itemstemplates_dropdownbutton).
1844
1942
  */
1845
1943
  class ButtonItemTemplateDirective {
1944
+ templateRef;
1846
1945
  constructor(templateRef) {
1847
1946
  this.templateRef = templateRef;
1848
1947
  }
1948
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1949
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ButtonItemTemplateDirective, isStandalone: true, selector: "[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]", ngImport: i0 });
1849
1950
  }
1850
- ButtonItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1851
- ButtonItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ButtonItemTemplateDirective, isStandalone: true, selector: "[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]", ngImport: i0 });
1852
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonItemTemplateDirective, decorators: [{
1951
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonItemTemplateDirective, decorators: [{
1853
1952
  type: Directive,
1854
1953
  args: [{
1855
1954
  selector: '[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]',
@@ -1861,9 +1960,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1861
1960
  * @hidden
1862
1961
  */
1863
1962
  class FocusService {
1864
- constructor() {
1865
- this.onFocus = new EventEmitter();
1866
- }
1963
+ onFocus = new EventEmitter();
1964
+ focusedIndex;
1867
1965
  isFocused(index) {
1868
1966
  return index === this.focused;
1869
1967
  }
@@ -1884,10 +1982,10 @@ class FocusService {
1884
1982
  this.focusedIndex = index;
1885
1983
  this.onFocus.emit(index);
1886
1984
  }
1985
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1986
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService });
1887
1987
  }
1888
- FocusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1889
- FocusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusService });
1890
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusService, decorators: [{
1988
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService, decorators: [{
1891
1989
  type: Injectable
1892
1990
  }] });
1893
1991
 
@@ -1927,15 +2025,16 @@ const NAVIGATION_CONFIG = new InjectionToken('navigation.config');
1927
2025
  * @hidden
1928
2026
  */
1929
2027
  class NavigationService {
2028
+ navigate = new EventEmitter();
2029
+ open = new EventEmitter();
2030
+ close = new EventEmitter();
2031
+ enter = new EventEmitter();
2032
+ enterpress = new EventEmitter();
2033
+ enterup = new EventEmitter();
2034
+ tab = new EventEmitter();
2035
+ esc = new EventEmitter();
2036
+ useLeftRightArrows;
1930
2037
  constructor(config) {
1931
- this.navigate = new EventEmitter();
1932
- this.open = new EventEmitter();
1933
- this.close = new EventEmitter();
1934
- this.enter = new EventEmitter();
1935
- this.enterpress = new EventEmitter();
1936
- this.enterup = new EventEmitter();
1937
- this.tab = new EventEmitter();
1938
- this.esc = new EventEmitter();
1939
2038
  this.useLeftRightArrows = config.useLeftRightArrows;
1940
2039
  }
1941
2040
  process(args) {
@@ -2013,10 +2112,10 @@ class NavigationService {
2013
2112
  return args.current !== args.end ? args.current + args.step : args.end;
2014
2113
  }
2015
2114
  }
2115
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: NAVIGATION_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
2116
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService });
2016
2117
  }
2017
- NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, deps: [{ token: NAVIGATION_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
2018
- NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService });
2019
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, decorators: [{
2118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, decorators: [{
2020
2119
  type: Injectable
2021
2120
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2022
2121
  type: Inject,
@@ -2027,99 +2126,319 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2027
2126
  * @hidden
2028
2127
  */
2029
2128
  class PopupContainerService {
2129
+ container;
2130
+ template;
2131
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2132
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService });
2030
2133
  }
2031
- PopupContainerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PopupContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2032
- PopupContainerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PopupContainerService });
2033
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PopupContainerService, decorators: [{
2134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService, decorators: [{
2034
2135
  type: Injectable
2035
2136
  }] });
2036
2137
 
2037
2138
  /**
2038
2139
  * @hidden
2039
2140
  */
2040
- class ListButton extends MultiTabStop {
2041
- constructor(focusService, navigationService, wrapperRef, _zone, popupService, elRef, localization, cdr, containerService) {
2042
- super();
2043
- this.focusService = focusService;
2044
- this.navigationService = navigationService;
2045
- this.wrapperRef = wrapperRef;
2046
- this._zone = _zone;
2047
- this.popupService = popupService;
2048
- this.elRef = elRef;
2049
- this.cdr = cdr;
2050
- this.containerService = containerService;
2051
- this._open = false;
2052
- this._disabled = false;
2053
- this._active = false;
2054
- this._popupSettings = { animate: true, popupClass: '' };
2055
- this.listId = guid();
2056
- this._isFocused = false;
2057
- this.subs = new Subscription();
2058
- this.popupSubs = new Subscription();
2059
- /**
2060
- * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
2061
- */
2062
- this.tabIndex = 0;
2063
- /**
2064
- * Fires each time the popup is about to open.
2065
- * This event is preventable. If you cancel the event, the popup will remain closed.
2066
- */
2067
- this.open = new EventEmitter();
2068
- /**
2069
- * Fires each time the popup is about to close.
2070
- * This event is preventable. If you cancel the event, the popup will remain open.
2071
- */
2072
- this.close = new EventEmitter();
2073
- /**
2074
- * Needed by the kendoToggleButtonTabStop directive
2075
- *
2076
- * @hidden
2077
- */
2078
- this.escape = new EventEmitter();
2079
- this.isClosePrevented = false;
2080
- validatePackage(packageMetadata);
2141
+ class FocusableDirective {
2142
+ focusService;
2143
+ renderer;
2144
+ index;
2145
+ element;
2146
+ subs = new Subscription();
2147
+ constructor(focusService, elementRef, renderer) {
2081
2148
  this.focusService = focusService;
2082
- this.navigationService = navigationService;
2083
- this.wrapper = wrapperRef.nativeElement;
2084
- this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
2149
+ this.renderer = renderer;
2150
+ this.element = elementRef.nativeElement;
2085
2151
  this.subscribeEvents();
2086
2152
  }
2087
- /**
2088
- * Sets the disabled state of the DropDownButton.
2089
- */
2090
- set disabled(value) {
2091
- if (value && this.openState) {
2092
- this.openState = false;
2153
+ ngOnInit() {
2154
+ if (this.index === this.focusService.focused) {
2155
+ this.renderer.addClass(this.element, 'k-focus');
2156
+ }
2157
+ else {
2158
+ this.renderer.removeClass(this.element, 'k-focus');
2093
2159
  }
2094
- this._disabled = value;
2095
- }
2096
- get disabled() {
2097
- return this._disabled;
2098
2160
  }
2099
2161
  /**
2100
2162
  * @hidden
2101
2163
  */
2102
- get componentTabIndex() {
2103
- return this.disabled ? (-1) : this.tabIndex;
2164
+ ngOnDestroy() {
2165
+ this.subs.unsubscribe();
2104
2166
  }
2105
- get appendTo() {
2106
- const { appendTo } = this.popupSettings;
2107
- if (!appendTo || appendTo === 'root') {
2108
- return undefined;
2167
+ subscribeEvents() {
2168
+ if (!isDocumentAvailable()) {
2169
+ return;
2109
2170
  }
2110
- return appendTo === 'component' ? this.containerService.container : appendTo;
2111
- }
2112
- /**
2113
- * Configures the popup of the DropDownButton.
2114
- *
2115
- * The available options are:
2116
- * - `animate: Boolean`&mdash;Controls the popup animation. By default, the open and close animations are enabled.
2117
- * - `popupClass: String`&mdash;Specifies a list of CSS classes that are used to style the popup.
2118
- * - `appendTo: "root" | "component" | ViewContainerRef`&mdash;Specifies the component to which the popup will be appended.
2119
- * - `align: "left" | "center" | "right"`&mdash;Specifies the alignment of the popup.
2120
- */
2121
- set popupSettings(settings) {
2122
- this._popupSettings = Object.assign({ animate: true, popupClass: '' }, settings);
2171
+ this.subs.add(this.focusService.onFocus.subscribe((index) => {
2172
+ if (this.index === index) {
2173
+ this.renderer.addClass(this.element, 'k-focus');
2174
+ this.renderer.setAttribute(this.element, 'tabindex', '0');
2175
+ this.element.focus();
2176
+ }
2177
+ else {
2178
+ this.renderer.setAttribute(this.element, 'tabindex', '-1');
2179
+ this.renderer.removeClass(this.element, 'k-focus');
2180
+ }
2181
+ }));
2182
+ }
2183
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusableDirective, deps: [{ token: FocusService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2184
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FocusableDirective, isStandalone: true, selector: "[kendoButtonFocusable]", inputs: { index: "index" }, ngImport: i0 });
2185
+ }
2186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusableDirective, decorators: [{
2187
+ type: Directive,
2188
+ args: [{
2189
+ selector: '[kendoButtonFocusable]',
2190
+ standalone: true
2191
+ }]
2192
+ }], ctorParameters: function () { return [{ type: FocusService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { index: [{
2193
+ type: Input
2194
+ }] } });
2195
+
2196
+ /**
2197
+ * @hidden
2198
+ */
2199
+ class ListComponent {
2200
+ data;
2201
+ textField;
2202
+ itemTemplate;
2203
+ onItemClick = new EventEmitter();
2204
+ onItemBlur = new EventEmitter();
2205
+ set size(size) {
2206
+ if (size) {
2207
+ this.sizeClass = `k-menu-group-${SIZES[size]}`;
2208
+ }
2209
+ else {
2210
+ this.sizeClass = '';
2211
+ }
2212
+ }
2213
+ sizeClass = '';
2214
+ constructor() {
2215
+ validatePackage(packageMetadata);
2216
+ }
2217
+ getText(dataItem) {
2218
+ if (dataItem) {
2219
+ return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
2220
+ }
2221
+ return undefined;
2222
+ }
2223
+ getIconClasses(dataItem) {
2224
+ const icon = dataItem.icon ? 'k-icon k-i-' + dataItem.icon : undefined;
2225
+ const classes = {};
2226
+ classes[icon || dataItem.iconClass] = true;
2227
+ return classes;
2228
+ }
2229
+ onClick(index) {
2230
+ this.onItemClick.emit(index);
2231
+ }
2232
+ onBlur() {
2233
+ this.onItemBlur.emit();
2234
+ }
2235
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2236
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListComponent, isStandalone: true, selector: "kendo-button-list", inputs: { data: "data", textField: "textField", itemTemplate: "itemTemplate", size: "size" }, outputs: { onItemClick: "onItemClick", onItemBlur: "onItemBlur" }, ngImport: i0, template: `
2237
+ <ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
2238
+ <li kendoButtonFocusable
2239
+ *ngFor="let dataItem of data; let index = index;"
2240
+ [index]="index"
2241
+ tabindex="-1"
2242
+ class="k-item k-menu-item"
2243
+ role="listitem"
2244
+ [attr.aria-disabled]="dataItem.disabled ? true : false"
2245
+ (click)="$event.stopImmediatePropagation(); onClick(index);"
2246
+ (blur)="onBlur()">
2247
+ <ng-template [ngIf]="itemTemplate?.templateRef">
2248
+ <span
2249
+ class="k-link k-menu-link"
2250
+ [class.k-disabled]="dataItem.disabled"
2251
+ [ngClass]="dataItem.cssClass">
2252
+ <ng-template
2253
+ [templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
2254
+ ></ng-template>
2255
+ </span>
2256
+ </ng-template>
2257
+ <ng-template [ngIf]="!itemTemplate?.templateRef">
2258
+ <span
2259
+ class="k-link k-menu-link"
2260
+ [class.k-disabled]="dataItem.disabled"
2261
+ [ngClass]="dataItem.cssClass">
2262
+ <kendo-icon-wrapper
2263
+ *ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
2264
+ [name]="dataItem.icon"
2265
+ [svgIcon]="dataItem.svgIcon"
2266
+ [customFontClass]="dataItem.iconClass"
2267
+ ></kendo-icon-wrapper>
2268
+ <img
2269
+ *ngIf="dataItem.imageUrl"
2270
+ class="k-image"
2271
+ [src]="dataItem.imageUrl"
2272
+ [alt]="dataItem.imageAlt"
2273
+ >
2274
+ <span *ngIf="getText(dataItem)" class="k-menu-link-text">
2275
+ {{ getText(dataItem) }}
2276
+ </span>
2277
+ </span>
2278
+ </ng-template>
2279
+ </li>
2280
+ </ul>
2281
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoButtonFocusable]", inputs: ["index"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
2282
+ }
2283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, decorators: [{
2284
+ type: Component,
2285
+ args: [{
2286
+ selector: 'kendo-button-list',
2287
+ template: `
2288
+ <ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
2289
+ <li kendoButtonFocusable
2290
+ *ngFor="let dataItem of data; let index = index;"
2291
+ [index]="index"
2292
+ tabindex="-1"
2293
+ class="k-item k-menu-item"
2294
+ role="listitem"
2295
+ [attr.aria-disabled]="dataItem.disabled ? true : false"
2296
+ (click)="$event.stopImmediatePropagation(); onClick(index);"
2297
+ (blur)="onBlur()">
2298
+ <ng-template [ngIf]="itemTemplate?.templateRef">
2299
+ <span
2300
+ class="k-link k-menu-link"
2301
+ [class.k-disabled]="dataItem.disabled"
2302
+ [ngClass]="dataItem.cssClass">
2303
+ <ng-template
2304
+ [templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
2305
+ ></ng-template>
2306
+ </span>
2307
+ </ng-template>
2308
+ <ng-template [ngIf]="!itemTemplate?.templateRef">
2309
+ <span
2310
+ class="k-link k-menu-link"
2311
+ [class.k-disabled]="dataItem.disabled"
2312
+ [ngClass]="dataItem.cssClass">
2313
+ <kendo-icon-wrapper
2314
+ *ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
2315
+ [name]="dataItem.icon"
2316
+ [svgIcon]="dataItem.svgIcon"
2317
+ [customFontClass]="dataItem.iconClass"
2318
+ ></kendo-icon-wrapper>
2319
+ <img
2320
+ *ngIf="dataItem.imageUrl"
2321
+ class="k-image"
2322
+ [src]="dataItem.imageUrl"
2323
+ [alt]="dataItem.imageAlt"
2324
+ >
2325
+ <span *ngIf="getText(dataItem)" class="k-menu-link-text">
2326
+ {{ getText(dataItem) }}
2327
+ </span>
2328
+ </span>
2329
+ </ng-template>
2330
+ </li>
2331
+ </ul>
2332
+ `,
2333
+ standalone: true,
2334
+ imports: [NgClass, NgFor, FocusableDirective, NgIf, TemplateContextDirective, IconWrapperComponent]
2335
+ }]
2336
+ }], ctorParameters: function () { return []; }, propDecorators: { data: [{
2337
+ type: Input
2338
+ }], textField: [{
2339
+ type: Input
2340
+ }], itemTemplate: [{
2341
+ type: Input
2342
+ }], onItemClick: [{
2343
+ type: Output
2344
+ }], onItemBlur: [{
2345
+ type: Output
2346
+ }], size: [{
2347
+ type: Input
2348
+ }] } });
2349
+
2350
+ /**
2351
+ * @hidden
2352
+ */
2353
+ class ListButton extends MultiTabStop {
2354
+ focusService;
2355
+ navigationService;
2356
+ wrapperRef;
2357
+ _zone;
2358
+ popupService;
2359
+ elRef;
2360
+ cdr;
2361
+ containerService;
2362
+ listId = guid();
2363
+ buttonId = guid();
2364
+ _data;
2365
+ _open = false;
2366
+ _disabled = false;
2367
+ _active = false;
2368
+ _popupSettings = { animate: true, popupClass: '' };
2369
+ _isFocused = false;
2370
+ _itemClick;
2371
+ _blur;
2372
+ wrapper;
2373
+ subs = new Subscription();
2374
+ direction;
2375
+ popupRef;
2376
+ popupSubs = new Subscription();
2377
+ button;
2378
+ buttonList;
2379
+ popupTemplate;
2380
+ container;
2381
+ /**
2382
+ * Sets the disabled state of the DropDownButton.
2383
+ */
2384
+ set disabled(value) {
2385
+ if (value && this.openState) {
2386
+ this.openState = false;
2387
+ }
2388
+ this._disabled = value;
2389
+ }
2390
+ get disabled() {
2391
+ return this._disabled;
2392
+ }
2393
+ /**
2394
+ * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
2395
+ */
2396
+ tabIndex = 0;
2397
+ /**
2398
+ * The CSS classes that will be rendered on the main button.
2399
+ * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
2400
+ */
2401
+ buttonClass;
2402
+ /**
2403
+ * Fires each time the popup is about to open.
2404
+ * This event is preventable. If you cancel the event, the popup will remain closed.
2405
+ */
2406
+ open = new EventEmitter();
2407
+ /**
2408
+ * Fires each time the popup is about to close.
2409
+ * This event is preventable. If you cancel the event, the popup will remain open.
2410
+ */
2411
+ close = new EventEmitter();
2412
+ /**
2413
+ * Needed by the kendoToggleButtonTabStop directive
2414
+ *
2415
+ * @hidden
2416
+ */
2417
+ escape = new EventEmitter();
2418
+ /**
2419
+ * @hidden
2420
+ */
2421
+ get componentTabIndex() {
2422
+ return this.disabled ? (-1) : this.tabIndex;
2423
+ }
2424
+ get appendTo() {
2425
+ const { appendTo } = this.popupSettings;
2426
+ if (!appendTo || appendTo === 'root') {
2427
+ return undefined;
2428
+ }
2429
+ return appendTo === 'component' ? this.containerService.container : appendTo;
2430
+ }
2431
+ /**
2432
+ * Configures the popup of the DropDownButton.
2433
+ *
2434
+ * The available options are:
2435
+ * - `animate: Boolean`&mdash;Controls the popup animation. By default, the open and close animations are enabled.
2436
+ * - `popupClass: String`&mdash;Specifies a list of CSS classes that are used to style the popup.
2437
+ * - `appendTo: "root" | "component" | ViewContainerRef`&mdash;Specifies the component to which the popup will be appended.
2438
+ * - `align: "left" | "center" | "right"`&mdash;Specifies the alignment of the popup.
2439
+ */
2440
+ set popupSettings(settings) {
2441
+ this._popupSettings = Object.assign({ animate: true, popupClass: '' }, settings);
2123
2442
  }
2124
2443
  get popupSettings() {
2125
2444
  return this._popupSettings;
@@ -2144,6 +2463,24 @@ class ListButton extends MultiTabStop {
2144
2463
  }
2145
2464
  return align;
2146
2465
  }
2466
+ isClosePrevented = false;
2467
+ constructor(focusService, navigationService, wrapperRef, _zone, popupService, elRef, localization, cdr, containerService) {
2468
+ super();
2469
+ this.focusService = focusService;
2470
+ this.navigationService = navigationService;
2471
+ this.wrapperRef = wrapperRef;
2472
+ this._zone = _zone;
2473
+ this.popupService = popupService;
2474
+ this.elRef = elRef;
2475
+ this.cdr = cdr;
2476
+ this.containerService = containerService;
2477
+ validatePackage(packageMetadata);
2478
+ this.focusService = focusService;
2479
+ this.navigationService = navigationService;
2480
+ this.wrapper = wrapperRef.nativeElement;
2481
+ this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
2482
+ this.subscribeEvents();
2483
+ }
2147
2484
  ngOnChanges(changes) {
2148
2485
  if (isChanged("popupSettings", changes) && isPresent(this.popupRef)) {
2149
2486
  const popup = this.popupRef.popup.instance;
@@ -2404,15 +2741,27 @@ class ListButton extends MultiTabStop {
2404
2741
  this.isClosePrevented = false;
2405
2742
  }
2406
2743
  }
2744
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListButton, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PopupContainerService }], target: i0.ɵɵFactoryTarget.Component });
2745
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListButton, selector: "ng-component", inputs: { disabled: "disabled", tabIndex: "tabIndex", buttonClass: "buttonClass", popupSettings: "popupSettings" }, outputs: { open: "open", close: "close", escape: "escape" }, viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true, read: ElementRef }, { propertyName: "buttonList", first: true, predicate: ["buttonList"], descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
2407
2746
  }
2408
- ListButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListButton, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PopupContainerService }], target: i0.ɵɵFactoryTarget.Component });
2409
- ListButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ListButton, selector: "ng-component", inputs: { disabled: "disabled", tabIndex: "tabIndex", buttonClass: "buttonClass", popupSettings: "popupSettings" }, outputs: { open: "open", close: "close", escape: "escape" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
2410
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListButton, decorators: [{
2747
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListButton, decorators: [{
2411
2748
  type: Component,
2412
2749
  args: [{
2413
2750
  template: ''
2414
2751
  }]
2415
- }], ctorParameters: function () { return [{ type: FocusService }, { type: NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.PopupService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PopupContainerService }]; }, propDecorators: { disabled: [{
2752
+ }], ctorParameters: function () { return [{ type: FocusService }, { type: NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.PopupService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PopupContainerService }]; }, propDecorators: { button: [{
2753
+ type: ViewChild,
2754
+ args: ['button', { read: ElementRef }]
2755
+ }], buttonList: [{
2756
+ type: ViewChild,
2757
+ args: ['buttonList']
2758
+ }], popupTemplate: [{
2759
+ type: ViewChild,
2760
+ args: ['popupTemplate']
2761
+ }], container: [{
2762
+ type: ViewChild,
2763
+ args: ['container', { read: ViewContainerRef }]
2764
+ }], disabled: [{
2416
2765
  type: Input
2417
2766
  }], tabIndex: [{
2418
2767
  type: Input
@@ -2428,211 +2777,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2428
2777
  type: Input
2429
2778
  }] } });
2430
2779
 
2431
- /**
2432
- * @hidden
2433
- */
2434
- class FocusableDirective {
2435
- constructor(focusService, elementRef, renderer) {
2436
- this.focusService = focusService;
2437
- this.renderer = renderer;
2438
- this.subs = new Subscription();
2439
- this.element = elementRef.nativeElement;
2440
- this.subscribeEvents();
2441
- }
2442
- ngOnInit() {
2443
- if (this.index === this.focusService.focused) {
2444
- this.renderer.addClass(this.element, 'k-focus');
2445
- }
2446
- else {
2447
- this.renderer.removeClass(this.element, 'k-focus');
2448
- }
2449
- }
2450
- /**
2451
- * @hidden
2452
- */
2453
- ngOnDestroy() {
2454
- this.subs.unsubscribe();
2455
- }
2456
- subscribeEvents() {
2457
- if (!isDocumentAvailable()) {
2458
- return;
2459
- }
2460
- this.subs.add(this.focusService.onFocus.subscribe((index) => {
2461
- if (this.index === index) {
2462
- this.renderer.addClass(this.element, 'k-focus');
2463
- this.renderer.setAttribute(this.element, 'tabindex', '0');
2464
- this.element.focus();
2465
- }
2466
- else {
2467
- this.renderer.setAttribute(this.element, 'tabindex', '-1');
2468
- this.renderer.removeClass(this.element, 'k-focus');
2469
- }
2470
- }));
2471
- }
2472
- }
2473
- FocusableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusableDirective, deps: [{ token: FocusService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2474
- FocusableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FocusableDirective, isStandalone: true, selector: "[kendoButtonFocusable]", inputs: { index: "index" }, ngImport: i0 });
2475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusableDirective, decorators: [{
2476
- type: Directive,
2477
- args: [{
2478
- selector: '[kendoButtonFocusable]',
2479
- standalone: true
2480
- }]
2481
- }], ctorParameters: function () { return [{ type: FocusService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { index: [{
2482
- type: Input
2483
- }] } });
2484
-
2485
- /**
2486
- * @hidden
2487
- */
2488
- class ListComponent {
2489
- constructor() {
2490
- this.onItemClick = new EventEmitter();
2491
- this.onItemBlur = new EventEmitter();
2492
- this.sizeClass = '';
2493
- validatePackage(packageMetadata);
2494
- }
2495
- set size(size) {
2496
- if (size) {
2497
- this.sizeClass = `k-menu-group-${SIZES[size]}`;
2498
- }
2499
- else {
2500
- this.sizeClass = '';
2501
- }
2502
- }
2503
- getText(dataItem) {
2504
- if (dataItem) {
2505
- return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
2506
- }
2507
- return undefined;
2508
- }
2509
- getIconClasses(dataItem) {
2510
- const icon = dataItem.icon ? 'k-icon k-i-' + dataItem.icon : undefined;
2511
- const classes = {};
2512
- classes[icon || dataItem.iconClass] = true;
2513
- return classes;
2514
- }
2515
- onClick(index) {
2516
- this.onItemClick.emit(index);
2517
- }
2518
- onBlur() {
2519
- this.onItemBlur.emit();
2520
- }
2521
- }
2522
- ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2523
- ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ListComponent, isStandalone: true, selector: "kendo-button-list", inputs: { data: "data", textField: "textField", itemTemplate: "itemTemplate", size: "size" }, outputs: { onItemClick: "onItemClick", onItemBlur: "onItemBlur" }, ngImport: i0, template: `
2524
- <ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
2525
- <li kendoButtonFocusable
2526
- *ngFor="let dataItem of data; let index = index;"
2527
- [index]="index"
2528
- tabindex="-1"
2529
- class="k-item k-menu-item"
2530
- role="listitem"
2531
- [attr.aria-disabled]="dataItem.disabled ? true : false"
2532
- (click)="$event.stopImmediatePropagation(); onClick(index);"
2533
- (blur)="onBlur()">
2534
- <ng-template [ngIf]="itemTemplate?.templateRef">
2535
- <span
2536
- class="k-link k-menu-link"
2537
- [class.k-disabled]="dataItem.disabled"
2538
- [ngClass]="dataItem.cssClass">
2539
- <ng-template
2540
- [templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
2541
- ></ng-template>
2542
- </span>
2543
- </ng-template>
2544
- <ng-template [ngIf]="!itemTemplate?.templateRef">
2545
- <span
2546
- class="k-link k-menu-link"
2547
- [class.k-disabled]="dataItem.disabled"
2548
- [ngClass]="dataItem.cssClass">
2549
- <kendo-icon-wrapper
2550
- *ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
2551
- [name]="dataItem.icon"
2552
- [svgIcon]="dataItem.svgIcon"
2553
- [customFontClass]="dataItem.iconClass"
2554
- ></kendo-icon-wrapper>
2555
- <img
2556
- *ngIf="dataItem.imageUrl"
2557
- class="k-image"
2558
- [src]="dataItem.imageUrl"
2559
- [alt]="dataItem.imageAlt"
2560
- >
2561
- <span *ngIf="getText(dataItem)" class="k-menu-link-text">
2562
- {{ getText(dataItem) }}
2563
- </span>
2564
- </span>
2565
- </ng-template>
2566
- </li>
2567
- </ul>
2568
- `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoButtonFocusable]", inputs: ["index"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
2569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListComponent, decorators: [{
2570
- type: Component,
2571
- args: [{
2572
- selector: 'kendo-button-list',
2573
- template: `
2574
- <ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
2575
- <li kendoButtonFocusable
2576
- *ngFor="let dataItem of data; let index = index;"
2577
- [index]="index"
2578
- tabindex="-1"
2579
- class="k-item k-menu-item"
2580
- role="listitem"
2581
- [attr.aria-disabled]="dataItem.disabled ? true : false"
2582
- (click)="$event.stopImmediatePropagation(); onClick(index);"
2583
- (blur)="onBlur()">
2584
- <ng-template [ngIf]="itemTemplate?.templateRef">
2585
- <span
2586
- class="k-link k-menu-link"
2587
- [class.k-disabled]="dataItem.disabled"
2588
- [ngClass]="dataItem.cssClass">
2589
- <ng-template
2590
- [templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
2591
- ></ng-template>
2592
- </span>
2593
- </ng-template>
2594
- <ng-template [ngIf]="!itemTemplate?.templateRef">
2595
- <span
2596
- class="k-link k-menu-link"
2597
- [class.k-disabled]="dataItem.disabled"
2598
- [ngClass]="dataItem.cssClass">
2599
- <kendo-icon-wrapper
2600
- *ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
2601
- [name]="dataItem.icon"
2602
- [svgIcon]="dataItem.svgIcon"
2603
- [customFontClass]="dataItem.iconClass"
2604
- ></kendo-icon-wrapper>
2605
- <img
2606
- *ngIf="dataItem.imageUrl"
2607
- class="k-image"
2608
- [src]="dataItem.imageUrl"
2609
- [alt]="dataItem.imageAlt"
2610
- >
2611
- <span *ngIf="getText(dataItem)" class="k-menu-link-text">
2612
- {{ getText(dataItem) }}
2613
- </span>
2614
- </span>
2615
- </ng-template>
2616
- </li>
2617
- </ul>
2618
- `,
2619
- standalone: true,
2620
- imports: [NgClass, NgFor, FocusableDirective, NgIf, TemplateContextDirective, IconWrapperComponent]
2621
- }]
2622
- }], ctorParameters: function () { return []; }, propDecorators: { data: [{
2623
- type: Input
2624
- }], textField: [{
2625
- type: Input
2626
- }], itemTemplate: [{
2627
- type: Input
2628
- }], onItemClick: [{
2629
- type: Output
2630
- }], onItemBlur: [{
2631
- type: Output
2632
- }], size: [{
2633
- type: Input
2634
- }] } });
2635
-
2636
2780
  const NAVIGATION_SETTINGS$2 = {
2637
2781
  useLeftRightArrows: true
2638
2782
  };
@@ -2670,89 +2814,34 @@ const DEFAULT_FILL_MODE$1 = 'solid';
2670
2814
  * ```
2671
2815
  */
2672
2816
  class DropDownButtonComponent extends ListButton {
2673
- constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService, renderer) {
2674
- super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
2675
- this.containerService = containerService;
2676
- this.renderer = renderer;
2677
- /**
2678
- * Allows showing the default arrow icon or providing alternative one instead.
2679
- * @default false
2680
- */
2681
- this.arrowIcon = false;
2682
- /**
2683
- * Defines the name of an existing icon in the Kendo UI theme.
2684
- */
2685
- this.icon = '';
2686
- /**
2687
- * Defines the list of CSS classes which are used for styling the Button with custom icons.
2688
- */
2689
- this.iconClass = '';
2690
- /**
2691
- * Defines a URL for styling the button with a custom image.
2692
- */
2693
- this.imageUrl = '';
2694
- /**
2695
- * The size property specifies the padding of the DropDownButton
2696
- * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-size)).
2697
- *
2698
- * The possible values are:
2699
- * * `small`
2700
- * * `medium` (default)
2701
- * * `large`
2702
- * * `none`
2703
- */
2704
- this.size = 'medium';
2705
- /**
2706
- * The rounded property specifies the border radius of the DropDownButton
2707
- * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-rounded)).
2708
- *
2709
- * The possible values are:
2710
- * * `small`
2711
- * * `medium` (default)
2712
- * * `large`
2713
- * * `full`
2714
- * * `none`
2715
- */
2716
- this.rounded = 'medium';
2717
- /**
2718
- * The DropDownButton allows you to specify predefined theme colors.
2719
- * The theme color will be applied as a background and border color while also amending the text color accordingly
2720
- * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-themeColor)).
2721
- *
2722
- * The possible values are:
2723
- * * `base` &mdash;Applies coloring based on the `base` theme color. (default)
2724
- * * `primary` &mdash;Applies coloring based on the `primary` theme color.
2725
- * * `secondary`&mdash;Applies coloring based on the `secondary` theme color.
2726
- * * `tertiary`&mdash; Applies coloring based on the `tertiary` theme color.
2727
- * * `info`&mdash;Applies coloring based on the `info` theme color.
2728
- * * `success`&mdash; Applies coloring based on the `success` theme color.
2729
- * * `warning`&mdash; Applies coloring based on the `warning` theme color.
2730
- * * `error`&mdash; Applies coloring based on the `error` theme color.
2731
- * * `dark`&mdash; Applies coloring based on the `dark` theme color.
2732
- * * `light`&mdash; Applies coloring based on the `light` theme color.
2733
- * * `inverse`&mdash; Applies coloring based on the `inverse` theme color.
2734
- * * `none` &mdash;Removes the default CSS class (no class would be rendered).
2735
- */
2736
- this.themeColor = 'base';
2737
- /**
2738
- * Fires each time the user clicks on a drop-down list item. The event data contains the data item bound to the clicked list item.
2739
- */
2740
- this.itemClick = new EventEmitter();
2741
- /**
2742
- * Fires each time the DropDownButton gets focused.
2743
- */
2744
- this.onFocus = new EventEmitter();
2745
- /**
2746
- * Fires each time the DropDownButton gets blurred.
2747
- */
2748
- this.onBlur = new EventEmitter();
2749
- this.listId = guid();
2750
- this.buttonId = guid();
2751
- this._fillMode = DEFAULT_FILL_MODE$1;
2752
- this._buttonAttributes = null;
2753
- this._itemClick = this.itemClick;
2754
- this._blur = this.onBlur;
2755
- }
2817
+ containerService;
2818
+ renderer;
2819
+ /**
2820
+ * Allows showing the default arrow icon or providing alternative one instead.
2821
+ * @default false
2822
+ */
2823
+ arrowIcon = false;
2824
+ /**
2825
+ * Defines the name of an existing icon in the Kendo UI theme.
2826
+ */
2827
+ icon = '';
2828
+ /**
2829
+ * Defines an [`SVGIcon`](slug:api_icons_svgicon) to be rendered within the button.
2830
+ */
2831
+ svgIcon;
2832
+ /**
2833
+ * Defines the list of CSS classes which are used for styling the Button with custom icons.
2834
+ */
2835
+ iconClass = '';
2836
+ /**
2837
+ * Defines a URL for styling the button with a custom image.
2838
+ */
2839
+ imageUrl = '';
2840
+ /**
2841
+ * Sets the data item field that represents the item text.
2842
+ * If the data contains only primitive values, do not define it.
2843
+ */
2844
+ textField;
2756
2845
  /**
2757
2846
  * Sets or gets the data of the DropDownButton.
2758
2847
  *
@@ -2764,6 +2853,29 @@ class DropDownButtonComponent extends ListButton {
2764
2853
  get data() {
2765
2854
  return this._data;
2766
2855
  }
2856
+ /**
2857
+ * The size property specifies the padding of the DropDownButton
2858
+ * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-size)).
2859
+ *
2860
+ * The possible values are:
2861
+ * * `small`
2862
+ * * `medium` (default)
2863
+ * * `large`
2864
+ * * `none`
2865
+ */
2866
+ size = 'medium';
2867
+ /**
2868
+ * The rounded property specifies the border radius of the DropDownButton
2869
+ * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-rounded)).
2870
+ *
2871
+ * The possible values are:
2872
+ * * `small`
2873
+ * * `medium` (default)
2874
+ * * `large`
2875
+ * * `full`
2876
+ * * `none`
2877
+ */
2878
+ rounded = 'medium';
2767
2879
  /**
2768
2880
  * The fillMode property specifies the background and border styles of the DropDownButton
2769
2881
  * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-fillMode)).
@@ -2775,12 +2887,32 @@ class DropDownButtonComponent extends ListButton {
2775
2887
  * * `link`
2776
2888
  * * `none`
2777
2889
  */
2778
- set fillMode(fillMode) {
2779
- this._fillMode = fillMode === 'clear' ? 'flat' : fillMode;
2780
- }
2781
- get fillMode() {
2782
- return this._fillMode;
2783
- }
2890
+ set fillMode(fillMode) {
2891
+ this._fillMode = fillMode === 'clear' ? 'flat' : fillMode;
2892
+ }
2893
+ get fillMode() {
2894
+ return this._fillMode;
2895
+ }
2896
+ /**
2897
+ * The DropDownButton allows you to specify predefined theme colors.
2898
+ * The theme color will be applied as a background and border color while also amending the text color accordingly
2899
+ * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-themeColor)).
2900
+ *
2901
+ * The possible values are:
2902
+ * * `base` &mdash;Applies coloring based on the `base` theme color. (default)
2903
+ * * `primary` &mdash;Applies coloring based on the `primary` theme color.
2904
+ * * `secondary`&mdash;Applies coloring based on the `secondary` theme color.
2905
+ * * `tertiary`&mdash; Applies coloring based on the `tertiary` theme color.
2906
+ * * `info`&mdash;Applies coloring based on the `info` theme color.
2907
+ * * `success`&mdash; Applies coloring based on the `success` theme color.
2908
+ * * `warning`&mdash; Applies coloring based on the `warning` theme color.
2909
+ * * `error`&mdash; Applies coloring based on the `error` theme color.
2910
+ * * `dark`&mdash; Applies coloring based on the `dark` theme color.
2911
+ * * `light`&mdash; Applies coloring based on the `light` theme color.
2912
+ * * `inverse`&mdash; Applies coloring based on the `inverse` theme color.
2913
+ * * `none` &mdash;Removes the default CSS class (no class would be rendered).
2914
+ */
2915
+ themeColor = 'base';
2784
2916
  /**
2785
2917
  * Sets attributes to the main button.
2786
2918
  */
@@ -2792,6 +2924,18 @@ class DropDownButtonComponent extends ListButton {
2792
2924
  get buttonAttributes() {
2793
2925
  return this._buttonAttributes;
2794
2926
  }
2927
+ /**
2928
+ * Fires each time the user clicks on a drop-down list item. The event data contains the data item bound to the clicked list item.
2929
+ */
2930
+ itemClick = new EventEmitter();
2931
+ /**
2932
+ * Fires each time the DropDownButton gets focused.
2933
+ */
2934
+ onFocus = new EventEmitter();
2935
+ /**
2936
+ * Fires each time the DropDownButton gets blurred.
2937
+ */
2938
+ onBlur = new EventEmitter();
2795
2939
  get focused() {
2796
2940
  return this._isFocused && !this._disabled;
2797
2941
  }
@@ -2804,6 +2948,10 @@ class DropDownButtonComponent extends ListButton {
2804
2948
  get active() {
2805
2949
  return this._active;
2806
2950
  }
2951
+ itemTemplate;
2952
+ _fillMode = DEFAULT_FILL_MODE$1;
2953
+ _buttonAttributes = null;
2954
+ documentMouseUpSub;
2807
2955
  /**
2808
2956
  * @hidden
2809
2957
  */
@@ -2873,6 +3021,18 @@ class DropDownButtonComponent extends ListButton {
2873
3021
  this.blurWrapper();
2874
3022
  }
2875
3023
  }
3024
+ constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService, renderer) {
3025
+ super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
3026
+ this.containerService = containerService;
3027
+ this.renderer = renderer;
3028
+ this._itemClick = this.itemClick;
3029
+ this._blur = this.onBlur;
3030
+ this.documentMouseUpSub = this.renderer.listen('document', 'mouseup', () => {
3031
+ if (this.active) {
3032
+ this._active = false;
3033
+ }
3034
+ });
3035
+ }
2876
3036
  ngAfterViewInit() {
2877
3037
  this.containerService.container = this.container;
2878
3038
  this.containerService.template = this.popupTemplate;
@@ -2918,19 +3078,26 @@ class DropDownButtonComponent extends ListButton {
2918
3078
  }
2919
3079
  }
2920
3080
  }
2921
- }
2922
- DropDownButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PopupContainerService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2923
- DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DropDownButtonComponent, isStandalone: true, selector: "kendo-dropdownbutton", inputs: { arrowIcon: "arrowIcon", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", textField: "textField", data: "data", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", buttonAttributes: "buttonAttributes" }, outputs: { itemClick: "itemClick", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)", "mousedown": "mousedown($event)", "mouseup": "mouseup($event)" }, properties: { "class.k-focus": "this.focused", "attr.dir": "this.dir" } }, providers: [
2924
- FocusService,
2925
- NavigationService,
2926
- NAVIGATION_SETTINGS_PROVIDER$2,
2927
- LocalizationService,
2928
- {
2929
- provide: L10N_PREFIX,
2930
- useValue: 'kendo.dropdownbutton'
2931
- },
2932
- PopupContainerService
2933
- ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true, read: ElementRef }, { propertyName: "buttonList", first: true, predicate: ["buttonList"], descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], exportAs: ["kendoDropDownButton"], usesInheritance: true, ngImport: i0, template: `
3081
+ /**
3082
+ * @hidden
3083
+ */
3084
+ ngOnDestroy() {
3085
+ if (this.documentMouseUpSub) {
3086
+ this.documentMouseUpSub();
3087
+ }
3088
+ }
3089
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PopupContainerService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3090
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropDownButtonComponent, isStandalone: true, selector: "kendo-dropdownbutton", inputs: { arrowIcon: "arrowIcon", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", textField: "textField", data: "data", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", buttonAttributes: "buttonAttributes" }, outputs: { itemClick: "itemClick", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)", "mousedown": "mousedown($event)", "mouseup": "mouseup($event)" }, properties: { "class.k-focus": "this.focused", "attr.dir": "this.dir" } }, providers: [
3091
+ FocusService,
3092
+ NavigationService,
3093
+ NAVIGATION_SETTINGS_PROVIDER$2,
3094
+ LocalizationService,
3095
+ {
3096
+ provide: L10N_PREFIX,
3097
+ useValue: 'kendo.dropdownbutton'
3098
+ },
3099
+ PopupContainerService
3100
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoDropDownButton"], usesInheritance: true, ngImport: i0, template: `
2934
3101
  <button kendoButton #button
2935
3102
  type="button"
2936
3103
  [id]="buttonId"
@@ -2975,7 +3142,8 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
2975
3142
  </ng-template>
2976
3143
  <ng-container #container></ng-container>
2977
3144
  `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }] });
2978
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonComponent, decorators: [{
3145
+ }
3146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonComponent, decorators: [{
2979
3147
  type: Component,
2980
3148
  args: [{
2981
3149
  exportAs: 'kendoDropDownButton',
@@ -3080,18 +3248,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3080
3248
  }], itemTemplate: [{
3081
3249
  type: ContentChild,
3082
3250
  args: [ButtonItemTemplateDirective]
3083
- }], button: [{
3084
- type: ViewChild,
3085
- args: ['button', { read: ElementRef }]
3086
- }], buttonList: [{
3087
- type: ViewChild,
3088
- args: ['buttonList']
3089
- }], popupTemplate: [{
3090
- type: ViewChild,
3091
- args: ['popupTemplate']
3092
- }], container: [{
3093
- type: ViewChild,
3094
- args: ['container', { read: ViewContainerRef }]
3095
3251
  }], keydown: [{
3096
3252
  type: HostListener,
3097
3253
  args: ['keydown', ['$event']]
@@ -3177,13 +3333,14 @@ function closeAnimation(animationSettings) {
3177
3333
  * ([see example]({% slug templates_floatingactionbutton %}#toc-dial-item-template)).
3178
3334
  */
3179
3335
  class DialItemTemplateDirective {
3336
+ templateRef;
3180
3337
  constructor(templateRef) {
3181
3338
  this.templateRef = templateRef;
3182
3339
  }
3340
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3341
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DialItemTemplateDirective, isStandalone: true, selector: "[kendoDialItemTemplate]", ngImport: i0 });
3183
3342
  }
3184
- DialItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialItemTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3185
- DialItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DialItemTemplateDirective, isStandalone: true, selector: "[kendoDialItemTemplate]", ngImport: i0 });
3186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialItemTemplateDirective, decorators: [{
3343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemTemplateDirective, decorators: [{
3187
3344
  type: Directive,
3188
3345
  args: [{
3189
3346
  selector: '[kendoDialItemTemplate]',
@@ -3200,13 +3357,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3200
3357
  * ([see example]({% slug templates_floatingactionbutton %}#toc-floatingactionbutton-template)).
3201
3358
  */
3202
3359
  class FloatingActionButtonTemplateDirective {
3360
+ templateRef;
3203
3361
  constructor(templateRef) {
3204
3362
  this.templateRef = templateRef;
3205
3363
  }
3364
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3365
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FloatingActionButtonTemplateDirective, isStandalone: true, selector: "[kendoFloatingActionButtonTemplate]", ngImport: i0 });
3206
3366
  }
3207
- FloatingActionButtonTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
3208
- FloatingActionButtonTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FloatingActionButtonTemplateDirective, isStandalone: true, selector: "[kendoFloatingActionButtonTemplate]", ngImport: i0 });
3209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonTemplateDirective, decorators: [{
3367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonTemplateDirective, decorators: [{
3210
3368
  type: Directive,
3211
3369
  args: [{
3212
3370
  selector: '[kendoFloatingActionButtonTemplate]',
@@ -3220,13 +3378,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3220
3378
  * @hidden
3221
3379
  */
3222
3380
  class DialItemComponent {
3223
- constructor(element, renderer, localisationService) {
3224
- this.element = element;
3225
- this.renderer = renderer;
3226
- this.localisationService = localisationService;
3227
- this.hostClass = true;
3228
- this.role = 'menuitem';
3229
- }
3381
+ element;
3382
+ renderer;
3383
+ localisationService;
3384
+ hostClass = true;
3385
+ role = 'menuitem';
3230
3386
  get disabledClass() {
3231
3387
  return this.item.disabled;
3232
3388
  }
@@ -3237,6 +3393,18 @@ class DialItemComponent {
3237
3393
  get indexAttr() {
3238
3394
  return this.index;
3239
3395
  }
3396
+ cssClass;
3397
+ cssStyle;
3398
+ isFocused;
3399
+ index;
3400
+ item;
3401
+ dialItemTemplate;
3402
+ align;
3403
+ constructor(element, renderer, localisationService) {
3404
+ this.element = element;
3405
+ this.renderer = renderer;
3406
+ this.localisationService = localisationService;
3407
+ }
3240
3408
  get iconClasses() {
3241
3409
  const classes = [];
3242
3410
  if (this.item.iconClass) {
@@ -3267,9 +3435,8 @@ class DialItemComponent {
3267
3435
  };
3268
3436
  return directions[dir][align];
3269
3437
  }
3270
- }
3271
- DialItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
3272
- DialItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DialItemComponent, isStandalone: true, selector: "[kendoDialItem]", inputs: { cssClass: "cssClass", cssStyle: "cssStyle", isFocused: "isFocused", index: "index", item: "item", dialItemTemplate: "dialItemTemplate", align: "align" }, host: { properties: { "class.k-fab-item": "this.hostClass", "attr.role": "this.role", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "attr.title": "this.title", "attr.aria-label": "this.title", "attr.data-fab-item-index": "this.indexAttr" } }, ngImport: i0, template: `
3438
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
3439
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialItemComponent, isStandalone: true, selector: "[kendoDialItem]", inputs: { cssClass: "cssClass", cssStyle: "cssStyle", isFocused: "isFocused", index: "index", item: "item", dialItemTemplate: "dialItemTemplate", align: "align" }, host: { properties: { "class.k-fab-item": "this.hostClass", "attr.role": "this.role", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "attr.title": "this.title", "attr.aria-label": "this.title", "attr.data-fab-item-index": "this.indexAttr" } }, ngImport: i0, template: `
3273
3440
  <ng-template *ngIf="dialItemTemplate"
3274
3441
  [ngTemplateOutlet]="dialItemTemplate"
3275
3442
  [ngTemplateOutletContext]="{ $implicit: item, index: index, isFocused: isFocused }"
@@ -3286,7 +3453,8 @@ DialItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
3286
3453
  [svgIcon]="item.svgIcon"></kendo-icon-wrapper>
3287
3454
  </ng-container>
3288
3455
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
3289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialItemComponent, decorators: [{
3456
+ }
3457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemComponent, decorators: [{
3290
3458
  type: Component,
3291
3459
  args: [{
3292
3460
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -3352,28 +3520,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3352
3520
  * @hidden
3353
3521
  */
3354
3522
  class DialListComponent {
3355
- constructor(focusService, cdr) {
3356
- this.focusService = focusService;
3357
- this.cdr = cdr;
3358
- this.hostClass = true;
3359
- this.subscriptions = new Subscription();
3360
- this.subscriptions.add(this.focusService.onFocus.subscribe(() => this.cdr.detectChanges()));
3361
- }
3523
+ focusService;
3524
+ cdr;
3525
+ hostClass = true;
3362
3526
  get bottomClass() {
3363
3527
  return this.align.vertical === 'top' || this.align.vertical === 'middle';
3364
3528
  }
3365
3529
  get topClass() {
3366
3530
  return this.align.vertical === 'bottom';
3367
3531
  }
3532
+ dialItems;
3533
+ dialItemTemplate;
3534
+ align;
3535
+ subscriptions = new Subscription();
3536
+ constructor(focusService, cdr) {
3537
+ this.focusService = focusService;
3538
+ this.cdr = cdr;
3539
+ this.subscriptions.add(this.focusService.onFocus.subscribe(() => this.cdr.detectChanges()));
3540
+ }
3368
3541
  isFocused(index) {
3369
3542
  return this.focusService.isFocused(index);
3370
3543
  }
3371
3544
  ngOnDestroy() {
3372
3545
  this.subscriptions.unsubscribe();
3373
3546
  }
3374
- }
3375
- DialListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialListComponent, deps: [{ token: FocusService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3376
- DialListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DialListComponent, isStandalone: true, selector: "[kendoDialList]", inputs: { dialItems: "dialItems", dialItemTemplate: "dialItemTemplate", align: "align" }, host: { properties: { "class.k-fab-items": "this.hostClass", "class.k-fab-items-bottom": "this.bottomClass", "class.k-fab-items-top": "this.topClass" } }, ngImport: i0, template: `
3547
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialListComponent, deps: [{ token: FocusService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
3548
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialListComponent, isStandalone: true, selector: "[kendoDialList]", inputs: { dialItems: "dialItems", dialItemTemplate: "dialItemTemplate", align: "align" }, host: { properties: { "class.k-fab-items": "this.hostClass", "class.k-fab-items-bottom": "this.bottomClass", "class.k-fab-items-top": "this.topClass" } }, ngImport: i0, template: `
3377
3549
  <ng-container *ngFor='let item of dialItems; let idx = index'>
3378
3550
  <li
3379
3551
  kendoButtonFocusable
@@ -3389,7 +3561,8 @@ DialListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
3389
3561
  </li>
3390
3562
  </ng-container>
3391
3563
  `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoButtonFocusable]", inputs: ["index"] }, { kind: "component", type: DialItemComponent, selector: "[kendoDialItem]", inputs: ["cssClass", "cssStyle", "isFocused", "index", "item", "dialItemTemplate", "align"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
3392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialListComponent, decorators: [{
3564
+ }
3565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialListComponent, decorators: [{
3393
3566
  type: Component,
3394
3567
  args: [{
3395
3568
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -3462,101 +3635,25 @@ const DEFAULT_THEME_COLOR = 'primary';
3462
3635
  *
3463
3636
  */
3464
3637
  class FloatingActionButtonComponent {
3465
- constructor(renderer, element, focusService, navigationService, ngZone, popupService, builder, localizationService) {
3466
- this.renderer = renderer;
3467
- this.element = element;
3468
- this.focusService = focusService;
3469
- this.navigationService = navigationService;
3470
- this.ngZone = ngZone;
3471
- this.popupService = popupService;
3472
- this.builder = builder;
3473
- this.localizationService = localizationService;
3474
- /**
3475
- * Specifies the positionMode of the FloatingActionButton
3476
- * ([see example](slug:positioning_floatingactionbutton#toc-position-mode)).
3477
- *
3478
- * * The possible values are:
3479
- * * `absolute`&mdash;Positions the FloatingActionButton absolutely to its first positioned parent element.
3480
- * * `fixed` (Default)&mdash;Positions the FloatingActionButton relative to the viewport. It always stays in the same place even if the page is scrolled.
3481
- */
3482
- this.positionMode = 'fixed';
3483
- /**
3484
- * Specifies the animation settings of the FloatingActionButton dial items.
3485
- * ([see example]({% slug dialitems_floatingactionbutton %}#toc-animation)).
3486
- *
3487
- * The possible values are:
3488
- * * Boolean
3489
- * * (Default) `true`&mdash;Applies the default [`DialItemAnimation`]({% slug api_buttons_dialitemanimation %}) settings.
3490
- * * `false`
3491
- * * `DialItemAnimation`
3492
- * * `duration`&mdash;Specifies the animation duration in milliseconds for each dial item. Defaults to `180ms`.
3493
- * * `gap`&mdash;Specifies the animation duration gap in milliseconds after each dial item is animated. Defaults to `90ms`.
3494
- */
3495
- this.dialItemAnimation = true;
3496
- /**
3497
- * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the FloatingActionButton.
3498
- */
3499
- this.tabIndex = 0;
3500
- /**
3501
- * Specifies the collection of the dial items that will be rendered in the FloatingActionButton popup.
3502
- */
3503
- this.dialItems = [];
3504
- /**
3505
- * Fires each time the FloatingActionButton gets blurred.
3506
- */
3507
- this.onBlur = new EventEmitter();
3508
- /**
3509
- * Fires each time the FloatingActionButton gets focused.
3510
- */
3511
- this.onFocus = new EventEmitter();
3512
- /**
3513
- * Fires each time a dial item is clicked.
3514
- */
3515
- this.dialItemClick = new EventEmitter();
3516
- /**
3517
- * Fires each time the popup is about to open.
3518
- * This event is preventable. If you cancel the event, the popup will remain closed
3519
- * ([more information and example](slug:events_floatingactionbutton)).
3520
- */
3521
- this.open = new EventEmitter();
3522
- /**
3523
- * Fires each time the popup is about to close.
3524
- * This event is preventable. If you cancel the event, the popup will remain open
3525
- * ([more information and example](slug:events_floatingactionbutton)).
3526
- */
3527
- this.close = new EventEmitter();
3528
- /**
3529
- * @hidden
3530
- */
3531
- this.id = `k-${guid()}`;
3532
- /**
3533
- * @hidden
3534
- */
3535
- this.dialListId = `k-dial-list-${guid()}`;
3536
- this._themeColor = DEFAULT_THEME_COLOR;
3537
- this._size = DEFAULT_SIZE;
3538
- this._rounded = DEFAULT_ROUNDED$1;
3539
- this._disabled = false;
3540
- this._align = { horizontal: 'end', vertical: 'bottom' };
3541
- this._offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
3542
- this.subscriptions = new Subscription();
3543
- this.rtl = false;
3544
- this.animationEnd = new EventEmitter();
3545
- this.initialSetup = true;
3546
- this.focusChangedProgrammatically = false;
3547
- validatePackage(packageMetadata);
3548
- this.subscribeNavigationEvents();
3549
- this.subscriptions.add(this.localizationService.changes.subscribe(({ rtl }) => {
3550
- this.rtl = rtl;
3551
- this.direction = this.rtl ? 'rtl' : 'ltr';
3552
- }));
3553
- }
3638
+ renderer;
3639
+ element;
3640
+ focusService;
3641
+ navigationService;
3642
+ ngZone;
3643
+ popupService;
3644
+ builder;
3645
+ localizationService;
3554
3646
  get fixedClass() {
3555
3647
  return this.positionMode === 'fixed';
3556
3648
  }
3557
3649
  get absoluteClass() {
3558
3650
  return this.positionMode === 'absolute';
3559
3651
  }
3652
+ direction;
3653
+ button;
3654
+ popupTemplate;
3655
+ dialItemTemplate;
3656
+ fabTemplate;
3560
3657
  /**
3561
3658
  * Specifies the theme color of the FloatingActionButton
3562
3659
  * ([see example](slug:appearance_floatingactionbutton#toc-theme-colors)).
@@ -3659,12 +3756,131 @@ class FloatingActionButtonComponent {
3659
3756
  get offset() {
3660
3757
  return this._offset;
3661
3758
  }
3759
+ /**
3760
+ * Specifies the positionMode of the FloatingActionButton
3761
+ * ([see example](slug:positioning_floatingactionbutton#toc-position-mode)).
3762
+ *
3763
+ * * The possible values are:
3764
+ * * `absolute`&mdash;Positions the FloatingActionButton absolutely to its first positioned parent element.
3765
+ * * `fixed` (Default)&mdash;Positions the FloatingActionButton relative to the viewport. It always stays in the same place even if the page is scrolled.
3766
+ */
3767
+ positionMode = 'fixed';
3768
+ /**
3769
+ * Defines the name of an existing icon in a Kendo UI theme.
3770
+ * If provided, the icon will be rendered inside the FloatingActionButton by a `span.k-icon` element.
3771
+ */
3772
+ icon;
3773
+ /**
3774
+ * Defines an [`SVGIcon`](slug:api_icons_svgicon) to be rendered within the FloatingActionButton.
3775
+ */
3776
+ svgIcon;
3777
+ /**
3778
+ * Defines a CSS class or multiple classes separated by spaces which are applied to a `span` element.
3779
+ * Allows the usage of custom icons, rendered inside the FloatingActionButton by a `span` element.
3780
+ */
3781
+ iconClass;
3782
+ /**
3783
+ * The CSS classes that will be rendered on the main button.
3784
+ * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
3785
+ */
3786
+ buttonClass;
3787
+ /**
3788
+ * The CSS classes that will be rendered on the dial items `ul` element.
3789
+ * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
3790
+ */
3791
+ dialClass;
3792
+ /**
3793
+ * Specifies the text content of the FloatingActionButton.
3794
+ */
3795
+ text;
3796
+ /**
3797
+ * Specifies the animation settings of the FloatingActionButton dial items.
3798
+ * ([see example]({% slug dialitems_floatingactionbutton %}#toc-animation)).
3799
+ *
3800
+ * The possible values are:
3801
+ * * Boolean
3802
+ * * (Default) `true`&mdash;Applies the default [`DialItemAnimation`]({% slug api_buttons_dialitemanimation %}) settings.
3803
+ * * `false`
3804
+ * * `DialItemAnimation`
3805
+ * * `duration`&mdash;Specifies the animation duration in milliseconds for each dial item. Defaults to `180ms`.
3806
+ * * `gap`&mdash;Specifies the animation duration gap in milliseconds after each dial item is animated. Defaults to `90ms`.
3807
+ */
3808
+ dialItemAnimation = true;
3809
+ /**
3810
+ * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the FloatingActionButton.
3811
+ */
3812
+ tabIndex = 0;
3813
+ /**
3814
+ * Specifies the collection of the dial items that will be rendered in the FloatingActionButton popup.
3815
+ */
3816
+ dialItems = [];
3817
+ /**
3818
+ * Fires each time the FloatingActionButton gets blurred.
3819
+ */
3820
+ onBlur = new EventEmitter();
3821
+ /**
3822
+ * Fires each time the FloatingActionButton gets focused.
3823
+ */
3824
+ onFocus = new EventEmitter();
3825
+ /**
3826
+ * Fires each time a dial item is clicked.
3827
+ */
3828
+ dialItemClick = new EventEmitter();
3829
+ /**
3830
+ * Fires each time the popup is about to open.
3831
+ * This event is preventable. If you cancel the event, the popup will remain closed
3832
+ * ([more information and example](slug:events_floatingactionbutton)).
3833
+ */
3834
+ open = new EventEmitter();
3835
+ /**
3836
+ * Fires each time the popup is about to close.
3837
+ * This event is preventable. If you cancel the event, the popup will remain open
3838
+ * ([more information and example](slug:events_floatingactionbutton)).
3839
+ */
3840
+ close = new EventEmitter();
3662
3841
  /**
3663
3842
  * @hidden
3664
3843
  */
3665
3844
  get componentTabIndex() {
3666
3845
  return this.disabled ? (-1) : this.tabIndex;
3667
3846
  }
3847
+ /**
3848
+ * @hidden
3849
+ */
3850
+ id = `k-${guid()}`;
3851
+ /**
3852
+ * @hidden
3853
+ */
3854
+ dialListId = `k-dial-list-${guid()}`;
3855
+ _themeColor = DEFAULT_THEME_COLOR;
3856
+ _size = DEFAULT_SIZE;
3857
+ _rounded = DEFAULT_ROUNDED$1;
3858
+ _disabled = false;
3859
+ _align = { horizontal: 'end', vertical: 'bottom' };
3860
+ _offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
3861
+ subscriptions = new Subscription();
3862
+ popupMouseDownListener;
3863
+ rtl = false;
3864
+ animationEnd = new EventEmitter();
3865
+ popupRef;
3866
+ initialSetup = true;
3867
+ focusChangedProgrammatically = false;
3868
+ constructor(renderer, element, focusService, navigationService, ngZone, popupService, builder, localizationService) {
3869
+ this.renderer = renderer;
3870
+ this.element = element;
3871
+ this.focusService = focusService;
3872
+ this.navigationService = navigationService;
3873
+ this.ngZone = ngZone;
3874
+ this.popupService = popupService;
3875
+ this.builder = builder;
3876
+ this.localizationService = localizationService;
3877
+ validatePackage(packageMetadata);
3878
+ this.subscribeNavigationEvents();
3879
+ this.subscriptions.add(this.localizationService.changes.subscribe(({ rtl }) => {
3880
+ this.rtl = rtl;
3881
+ this.direction = this.rtl ? 'rtl' : 'ltr';
3882
+ }));
3883
+ }
3668
3884
  ngAfterViewInit() {
3669
3885
  ['size', 'rounded', 'themeColor'].forEach(option => this.handleClasses(this[option], option));
3670
3886
  this.renderer.addClass(this.element.nativeElement, this.alignClass());
@@ -4120,18 +4336,17 @@ class FloatingActionButtonComponent {
4120
4336
  }
4121
4337
  return DEFAULT_DURATION;
4122
4338
  }
4123
- }
4124
- FloatingActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: FocusService }, { token: NavigationService }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i4.AnimationBuilder }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4125
- FloatingActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FloatingActionButtonComponent, isStandalone: true, selector: "kendo-floatingactionbutton", inputs: { themeColor: "themeColor", size: "size", rounded: "rounded", disabled: "disabled", align: "align", offset: "offset", positionMode: "positionMode", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", buttonClass: "buttonClass", dialClass: "dialClass", text: "text", dialItemAnimation: "dialItemAnimation", tabIndex: "tabIndex", dialItems: "dialItems" }, outputs: { onBlur: "blur", onFocus: "focus", dialItemClick: "dialItemClick", open: "open", close: "close" }, host: { properties: { "class.k-pos-fixed": "this.fixedClass", "class.k-pos-absolute": "this.absoluteClass", "attr.dir": "this.direction" } }, providers: [
4126
- FocusService,
4127
- NavigationService,
4128
- NAVIGATION_SETTINGS_PROVIDER$1,
4129
- LocalizationService,
4130
- {
4131
- provide: L10N_PREFIX,
4132
- useValue: 'kendo.floatingactionbutton'
4133
- }
4134
- ], queries: [{ propertyName: "dialItemTemplate", first: true, predicate: DialItemTemplateDirective, descendants: true }, { propertyName: "fabTemplate", first: true, predicate: FloatingActionButtonTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }], ngImport: i0, template: `
4339
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: FocusService }, { token: NavigationService }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i4.AnimationBuilder }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4340
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FloatingActionButtonComponent, isStandalone: true, selector: "kendo-floatingactionbutton", inputs: { themeColor: "themeColor", size: "size", rounded: "rounded", disabled: "disabled", align: "align", offset: "offset", positionMode: "positionMode", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", buttonClass: "buttonClass", dialClass: "dialClass", text: "text", dialItemAnimation: "dialItemAnimation", tabIndex: "tabIndex", dialItems: "dialItems" }, outputs: { onBlur: "blur", onFocus: "focus", dialItemClick: "dialItemClick", open: "open", close: "close" }, host: { properties: { "class.k-pos-fixed": "this.fixedClass", "class.k-pos-absolute": "this.absoluteClass", "attr.dir": "this.direction" } }, providers: [
4341
+ FocusService,
4342
+ NavigationService,
4343
+ NAVIGATION_SETTINGS_PROVIDER$1,
4344
+ LocalizationService,
4345
+ {
4346
+ provide: L10N_PREFIX,
4347
+ useValue: 'kendo.floatingactionbutton'
4348
+ }
4349
+ ], queries: [{ propertyName: "dialItemTemplate", first: true, predicate: DialItemTemplateDirective, descendants: true }, { propertyName: "fabTemplate", first: true, predicate: FloatingActionButtonTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }], ngImport: i0, template: `
4135
4350
  <button
4136
4351
  #button
4137
4352
  [attr.id]="id"
@@ -4189,7 +4404,8 @@ FloatingActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
4189
4404
  </ul>
4190
4405
  </ng-template>
4191
4406
  `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: DialListComponent, selector: "[kendoDialList]", inputs: ["dialItems", "dialItemTemplate", "align"] }] });
4192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonComponent, decorators: [{
4407
+ }
4408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonComponent, decorators: [{
4193
4409
  type: Component,
4194
4410
  args: [{
4195
4411
  selector: 'kendo-floatingactionbutton',
@@ -4336,10 +4552,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4336
4552
  * @hidden
4337
4553
  */
4338
4554
  class Messages extends ComponentMessages {
4555
+ /**
4556
+ * The text for the SplitButton aria-label.
4557
+ *
4558
+ * The text for the aria-label consists of a two-part message - the text of the SplitButton and a localizable string.
4559
+ * For a SplitButton with text 'Reply', the default aria-label will be 'Reply splitbutton'.
4560
+ *
4561
+ * To allow reordering of the SplitButton text and the localizable part, the splitButtonLabel accepts a string with a
4562
+ * placeholder for the button text - e.g. 'splitbutton for {buttonText}'. The '{buttonText}' placeholder will be replaced
4563
+ * internally with the current SplitButton text, and the resulting aria-label will be rendered as 'splitbutton for Reply'.
4564
+ *
4565
+ * @example
4566
+ *
4567
+ * ```ts-no-run
4568
+ * <kendo-splitbutton>
4569
+ * <kendo-splitbutton-messages
4570
+ * splitButtonLabel="splitbutton for {buttonText}"
4571
+ * >
4572
+ * </kendo-splitbutton-messages>
4573
+ * </kendo-splitbutton>
4574
+ * ```
4575
+ */
4576
+ splitButtonLabel;
4577
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4578
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: Messages, selector: "kendo-splitbutton-messages-base", inputs: { splitButtonLabel: "splitButtonLabel" }, usesInheritance: true, ngImport: i0 });
4339
4579
  }
4340
- Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4341
- Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: Messages, selector: "kendo-splitbutton-messages-base", inputs: { splitButtonLabel: "splitButtonLabel" }, usesInheritance: true, ngImport: i0 });
4342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Messages, decorators: [{
4580
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, decorators: [{
4343
4581
  type: Directive,
4344
4582
  args: [{
4345
4583
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -4354,6 +4592,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4354
4592
  * ([see example]({% slug rtl_buttons %}).
4355
4593
  */
4356
4594
  class SplitButtonCustomMessagesComponent extends Messages {
4595
+ service;
4357
4596
  constructor(service) {
4358
4597
  super();
4359
4598
  this.service = service;
@@ -4361,13 +4600,13 @@ class SplitButtonCustomMessagesComponent extends Messages {
4361
4600
  get override() {
4362
4601
  return true;
4363
4602
  }
4603
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4604
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SplitButtonCustomMessagesComponent, isStandalone: true, selector: "kendo-splitbutton-messages", providers: [{
4605
+ provide: Messages,
4606
+ useExisting: forwardRef(() => SplitButtonCustomMessagesComponent)
4607
+ }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
4364
4608
  }
4365
- SplitButtonCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4366
- SplitButtonCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SplitButtonCustomMessagesComponent, isStandalone: true, selector: "kendo-splitbutton-messages", providers: [{
4367
- provide: Messages,
4368
- useExisting: forwardRef(() => SplitButtonCustomMessagesComponent)
4369
- }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
4370
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonCustomMessagesComponent, decorators: [{
4609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, decorators: [{
4371
4610
  type: Component,
4372
4611
  args: [{
4373
4612
  providers: [{
@@ -4384,19 +4623,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4384
4623
  * @hidden
4385
4624
  */
4386
4625
  class LocalizedSplitButtonMessagesDirective extends Messages {
4626
+ service;
4387
4627
  constructor(service) {
4388
4628
  super();
4389
4629
  this.service = service;
4390
4630
  }
4631
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
4632
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedSplitButtonMessagesDirective, isStandalone: true, selector: "[kendoSplitButtonLocalizedMessages]", providers: [
4633
+ {
4634
+ provide: Messages,
4635
+ useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective)
4636
+ }
4637
+ ], usesInheritance: true, ngImport: i0 });
4391
4638
  }
4392
- LocalizedSplitButtonMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
4393
- LocalizedSplitButtonMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedSplitButtonMessagesDirective, isStandalone: true, selector: "[kendoSplitButtonLocalizedMessages]", providers: [
4394
- {
4395
- provide: Messages,
4396
- useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective)
4397
- }
4398
- ], usesInheritance: true, ngImport: i0 });
4399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, decorators: [{
4639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, decorators: [{
4400
4640
  type: Directive,
4401
4641
  args: [{
4402
4642
  providers: [
@@ -4461,154 +4701,46 @@ const DEFAULT_FILL_MODE = 'solid';
4461
4701
  * ```
4462
4702
  */
4463
4703
  class SplitButtonComponent extends ListButton {
4464
- constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, renderer, containerService) {
4465
- super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
4466
- this.localization = localization;
4467
- this.renderer = renderer;
4468
- /**
4469
- * Sets the text of the SplitButton.
4470
- */
4471
- this.text = '';
4472
- /**
4473
- * Defines an icon to be rendered next to the button text.
4474
- * ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
4475
- */
4476
- this.icon = '';
4477
- /**
4478
- * Defines the type attribute of the main button
4479
- */
4480
- this.type = 'button';
4481
- /**
4482
- * Defines the location of an image to be displayed next to the button text
4483
- * ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
4484
- */
4485
- this.imageUrl = '';
4486
- /**
4487
- * The size property specifies the padding of the SplitButton
4488
- * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-size)).
4489
- *
4490
- * The possible values are:
4491
- * * `small`
4492
- * * `medium` (default)
4493
- * * `large`
4494
- * * `none`
4495
- */
4496
- this.size = 'medium';
4497
- /**
4498
- * The SplitButton allows you to specify predefined theme colors.
4499
- * The theme color will be applied as a background and border color while also amending the text color accordingly
4500
- * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-themeColor)).
4501
- *
4502
- * The possible values are:
4503
- * * `base` &mdash;Applies coloring based on the `base` theme color. (default)
4504
- * * `primary` &mdash;Applies coloring based on the `primary` theme color.
4505
- * * `secondary`&mdash;Applies coloring based on the `secondary` theme color.
4506
- * * `tertiary`&mdash; Applies coloring based on the `tertiary` theme color.
4507
- * * `info`&mdash;Applies coloring based on the `info` theme color.
4508
- * * `success`&mdash; Applies coloring based on the `success` theme color.
4509
- * * `warning`&mdash; Applies coloring based on the `warning` theme color.
4510
- * * `error`&mdash; Applies coloring based on the `error` theme color.
4511
- * * `dark`&mdash; Applies coloring based on the `dark` theme color.
4512
- * * `light`&mdash; Applies coloring based on the `light` theme color.
4513
- * * `inverse`&mdash; Applies coloring based on the `inverse` theme color.
4514
- * * `none`&mdash; Removes the built in theme color.
4515
- */
4516
- this.themeColor = 'base';
4517
- /**
4518
- * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
4519
- */
4520
- this.tabIndex = 0;
4521
- /**
4522
- * Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that will
4523
- * be rendered for the button which opens the popup.
4524
- */
4525
- this.arrowButtonIcon = 'caret-alt-down';
4526
- /**
4527
- * Specifies the [`SVGIcon`](slug:api_icons_svgicon) that will
4528
- * be rendered for the button which opens the popup.
4529
- */
4530
- this.arrowButtonSvgIcon = caretAltDownIcon;
4531
- /**
4532
- * Fires each time the user clicks the main button.
4533
- *
4534
- * @example
4535
- * ```ts
4536
- * _@Component({
4537
- * selector: 'my-app',
4538
- * template: `
4539
- * <kendo-splitbutton (buttonClick)="onSplitButtonClick()" [data]="data">
4540
- * Reply
4541
- * </kendo-splitbutton>
4542
- * `
4543
- * })
4544
- * class AppComponent {
4545
- * public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
4546
- *
4547
- * public onSplitButtonClick(): void {
4548
- * console.log('SplitButton click');
4549
- * }
4550
- * }
4551
- * ```
4552
- *
4553
- */
4554
- this.buttonClick = new EventEmitter();
4555
- /**
4556
- * Fires each time the user clicks on the drop-down list. The event data contains the data item bound to the clicked list item.
4557
- *
4558
- * @example
4559
- * ```ts
4560
- * _@Component({
4561
- * selector: 'my-app',
4562
- * template: `
4563
- * <kendo-splitbutton (itemClick)="onSplitButtonItemClick($event)" [data]="data">
4564
- * Reply
4565
- * </kendo-splitbutton>
4566
- * `
4567
- * })
4568
- * class AppComponent {
4569
- * public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
4570
- *
4571
- * public onSplitButtonItemClick(dataItem?: string): void {
4572
- * if (dataItem) {
4573
- * console.log(dataItem);
4574
- * }
4575
- * }
4576
- * }
4577
- * ```
4578
- *
4579
- */
4580
- this.itemClick = new EventEmitter();
4581
- /**
4582
- * Fires each time the SplitButton gets focused.
4583
- */
4584
- this.onFocus = new EventEmitter();
4585
- /**
4586
- * Fires each time the SplitButton gets blurred.
4587
- */
4588
- this.onBlur = new EventEmitter();
4589
- /**
4590
- * Fires each time the popup is about to open.
4591
- * This event is preventable. If you cancel the event, the popup will remain closed.
4592
- */
4593
- this.open = new EventEmitter();
4594
- /**
4595
- * Fires each time the popup is about to close.
4596
- * This event is preventable. If you cancel the event, the popup will remain open.
4597
- */
4598
- this.close = new EventEmitter();
4599
- /**
4600
- * @hidden
4601
- */
4602
- this.activeArrow = false;
4603
- this.listId = guid();
4604
- this.buttonText = '';
4605
- this.arrowButtonClicked = false;
4606
- this._rounded = DEFAULT_ROUNDED;
4607
- this._fillMode = DEFAULT_FILL_MODE;
4608
- this._buttonAttributes = null;
4609
- this._itemClick = this.itemClick;
4610
- this._blur = this.onBlur;
4611
- }
4704
+ localization;
4705
+ renderer;
4706
+ /**
4707
+ * Sets the text of the SplitButton.
4708
+ */
4709
+ text = '';
4710
+ /**
4711
+ * Defines an icon to be rendered next to the button text.
4712
+ * ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
4713
+ */
4714
+ icon = '';
4715
+ /**
4716
+ * Defines an SVGIcon to be rendered next to the button text.
4717
+ */
4718
+ svgIcon;
4719
+ /**
4720
+ * Defines an icon with a custom CSS class to be rendered next to the button text
4721
+ * ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
4722
+ */
4723
+ iconClass;
4724
+ /**
4725
+ * Defines the type attribute of the main button
4726
+ */
4727
+ type = 'button';
4728
+ /**
4729
+ * Defines the location of an image to be displayed next to the button text
4730
+ * ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
4731
+ */
4732
+ imageUrl = '';
4733
+ /**
4734
+ * The size property specifies the padding of the SplitButton
4735
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-size)).
4736
+ *
4737
+ * The possible values are:
4738
+ * * `small`
4739
+ * * `medium` (default)
4740
+ * * `large`
4741
+ * * `none`
4742
+ */
4743
+ size = 'medium';
4612
4744
  /**
4613
4745
  * The rounded property specifies the border radius of the SplitButton
4614
4746
  * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
@@ -4645,6 +4777,26 @@ class SplitButtonComponent extends ListButton {
4645
4777
  get fillMode() {
4646
4778
  return this._fillMode;
4647
4779
  }
4780
+ /**
4781
+ * The SplitButton allows you to specify predefined theme colors.
4782
+ * The theme color will be applied as a background and border color while also amending the text color accordingly
4783
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-themeColor)).
4784
+ *
4785
+ * The possible values are:
4786
+ * * `base` &mdash;Applies coloring based on the `base` theme color. (default)
4787
+ * * `primary` &mdash;Applies coloring based on the `primary` theme color.
4788
+ * * `secondary`&mdash;Applies coloring based on the `secondary` theme color.
4789
+ * * `tertiary`&mdash; Applies coloring based on the `tertiary` theme color.
4790
+ * * `info`&mdash;Applies coloring based on the `info` theme color.
4791
+ * * `success`&mdash; Applies coloring based on the `success` theme color.
4792
+ * * `warning`&mdash; Applies coloring based on the `warning` theme color.
4793
+ * * `error`&mdash; Applies coloring based on the `error` theme color.
4794
+ * * `dark`&mdash; Applies coloring based on the `dark` theme color.
4795
+ * * `light`&mdash; Applies coloring based on the `light` theme color.
4796
+ * * `inverse`&mdash; Applies coloring based on the `inverse` theme color.
4797
+ * * `none`&mdash; Removes the built in theme color.
4798
+ */
4799
+ themeColor = 'base';
4648
4800
  /**
4649
4801
  * When set to `true`, disables a SplitButton item
4650
4802
  * ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
@@ -4673,6 +4825,14 @@ class SplitButtonComponent extends ListButton {
4673
4825
  get popupSettings() {
4674
4826
  return this._popupSettings;
4675
4827
  }
4828
+ /**
4829
+ * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
4830
+ */
4831
+ tabIndex = 0;
4832
+ /**
4833
+ * Configures the text field of the button-list popup.
4834
+ */
4835
+ textField;
4676
4836
  /**
4677
4837
  * Sets the data of the SplitButton.
4678
4838
  *
@@ -4687,6 +4847,21 @@ class SplitButtonComponent extends ListButton {
4687
4847
  }
4688
4848
  return this._data;
4689
4849
  }
4850
+ /**
4851
+ * The CSS classes that will be rendered on the button which opens the popup.
4852
+ * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
4853
+ */
4854
+ arrowButtonClass;
4855
+ /**
4856
+ * Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that will
4857
+ * be rendered for the button which opens the popup.
4858
+ */
4859
+ arrowButtonIcon = 'caret-alt-down';
4860
+ /**
4861
+ * Specifies the [`SVGIcon`](slug:api_icons_svgicon) that will
4862
+ * be rendered for the button which opens the popup.
4863
+ */
4864
+ arrowButtonSvgIcon = caretAltDownIcon;
4690
4865
  /**
4691
4866
  * Sets attributes to the main button.
4692
4867
  */
@@ -4698,6 +4873,80 @@ class SplitButtonComponent extends ListButton {
4698
4873
  get buttonAttributes() {
4699
4874
  return this._buttonAttributes;
4700
4875
  }
4876
+ /**
4877
+ * Fires each time the user clicks the main button.
4878
+ *
4879
+ * @example
4880
+ * ```ts
4881
+ * _@Component({
4882
+ * selector: 'my-app',
4883
+ * template: `
4884
+ * <kendo-splitbutton (buttonClick)="onSplitButtonClick()" [data]="data">
4885
+ * Reply
4886
+ * </kendo-splitbutton>
4887
+ * `
4888
+ * })
4889
+ * class AppComponent {
4890
+ * public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
4891
+ *
4892
+ * public onSplitButtonClick(): void {
4893
+ * console.log('SplitButton click');
4894
+ * }
4895
+ * }
4896
+ * ```
4897
+ *
4898
+ */
4899
+ buttonClick = new EventEmitter();
4900
+ /**
4901
+ * Fires each time the user clicks on the drop-down list. The event data contains the data item bound to the clicked list item.
4902
+ *
4903
+ * @example
4904
+ * ```ts
4905
+ * _@Component({
4906
+ * selector: 'my-app',
4907
+ * template: `
4908
+ * <kendo-splitbutton (itemClick)="onSplitButtonItemClick($event)" [data]="data">
4909
+ * Reply
4910
+ * </kendo-splitbutton>
4911
+ * `
4912
+ * })
4913
+ * class AppComponent {
4914
+ * public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
4915
+ *
4916
+ * public onSplitButtonItemClick(dataItem?: string): void {
4917
+ * if (dataItem) {
4918
+ * console.log(dataItem);
4919
+ * }
4920
+ * }
4921
+ * }
4922
+ * ```
4923
+ *
4924
+ */
4925
+ itemClick = new EventEmitter();
4926
+ /**
4927
+ * Fires each time the SplitButton gets focused.
4928
+ */
4929
+ onFocus = new EventEmitter();
4930
+ /**
4931
+ * Fires each time the SplitButton gets blurred.
4932
+ */
4933
+ onBlur = new EventEmitter();
4934
+ /**
4935
+ * Fires each time the popup is about to open.
4936
+ * This event is preventable. If you cancel the event, the popup will remain closed.
4937
+ */
4938
+ open = new EventEmitter();
4939
+ /**
4940
+ * Fires each time the popup is about to close.
4941
+ * This event is preventable. If you cancel the event, the popup will remain open.
4942
+ */
4943
+ close = new EventEmitter();
4944
+ /**
4945
+ * An item template that helps to customize the item content.
4946
+ */
4947
+ itemTemplate;
4948
+ activeArrow = false;
4949
+ listId = guid();
4701
4950
  /**
4702
4951
  * @hidden
4703
4952
  */
@@ -4716,6 +4965,12 @@ class SplitButtonComponent extends ListButton {
4716
4965
  get componentTabIndex() {
4717
4966
  return this.disabled ? -1 : this.tabIndex;
4718
4967
  }
4968
+ buttonText = '';
4969
+ arrowButtonClicked = false;
4970
+ _rounded = DEFAULT_ROUNDED;
4971
+ _fillMode = DEFAULT_FILL_MODE;
4972
+ _buttonAttributes = null;
4973
+ documentMouseUpSub;
4719
4974
  set isFocused(value) {
4720
4975
  this._isFocused = value;
4721
4976
  }
@@ -4809,7 +5064,7 @@ class SplitButtonComponent extends ListButton {
4809
5064
  * @hidden
4810
5065
  */
4811
5066
  ngAfterViewInit() {
4812
- this.containerService.container = this.containerRef;
5067
+ this.containerService.container = this.container;
4813
5068
  this.containerService.template = this.popupTemplate;
4814
5069
  this.updateButtonText();
4815
5070
  this.handleClasses(this.rounded, 'rounded');
@@ -4833,6 +5088,14 @@ class SplitButtonComponent extends ListButton {
4833
5088
  popup.popupAlign = this.popupAlign;
4834
5089
  }
4835
5090
  }
5091
+ /**
5092
+ * @hidden
5093
+ */
5094
+ ngOnDestroy() {
5095
+ if (this.documentMouseUpSub) {
5096
+ this.documentMouseUpSub();
5097
+ }
5098
+ }
4836
5099
  /**
4837
5100
  * @hidden
4838
5101
  */
@@ -4901,6 +5164,21 @@ class SplitButtonComponent extends ListButton {
4901
5164
  this.blurWrapper();
4902
5165
  }
4903
5166
  }
5167
+ constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, renderer, containerService) {
5168
+ super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
5169
+ this.localization = localization;
5170
+ this.renderer = renderer;
5171
+ this._itemClick = this.itemClick;
5172
+ this._blur = this.onBlur;
5173
+ this.documentMouseUpSub = this.renderer.listen('document', 'mouseup', () => {
5174
+ if (this.active) {
5175
+ this._active = false;
5176
+ }
5177
+ if (this.activeArrow) {
5178
+ this.activeArrow = false;
5179
+ }
5180
+ });
5181
+ }
4904
5182
  /**
4905
5183
  * Returns the current open state of the popup.
4906
5184
  */
@@ -4943,26 +5221,26 @@ class SplitButtonComponent extends ListButton {
4943
5221
  }
4944
5222
  }
4945
5223
  }
4946
- }
4947
- SplitButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: PopupContainerService }], target: i0.ɵɵFactoryTarget.Component });
4948
- SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SplitButtonComponent, isStandalone: true, selector: "kendo-splitbutton", inputs: { text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", type: "type", imageUrl: "imageUrl", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", disabled: "disabled", popupSettings: "popupSettings", tabIndex: "tabIndex", textField: "textField", data: "data", buttonClass: "buttonClass", arrowButtonClass: "arrowButtonClass", arrowButtonIcon: "arrowButtonIcon", arrowButtonSvgIcon: "arrowButtonSvgIcon", buttonAttributes: "buttonAttributes" }, outputs: { buttonClick: "buttonClick", itemClick: "itemClick", onFocus: "focus", onBlur: "blur", open: "open", close: "close" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)" }, properties: { "class.k-focus": "this.isFocused", "class.k-split-button": "this.widgetClasses", "class.k-button-group": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
4949
- FocusService,
4950
- NavigationService,
4951
- NAVIGATION_SETTINGS_PROVIDER,
4952
- LocalizationService,
4953
- {
4954
- provide: L10N_PREFIX,
4955
- useValue: 'kendo.splitbutton'
4956
- },
4957
- PopupContainerService,
4958
- {
4959
- provide: MultiTabStop,
4960
- useExisting: forwardRef(() => SplitButtonComponent)
4961
- }
4962
- ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true, read: ElementRef }, { propertyName: "arrowButton", first: true, predicate: ["arrowButton"], descendants: true, read: ElementRef }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true }, { propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], exportAs: ["kendoSplitButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
5224
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: PopupContainerService }], target: i0.ɵɵFactoryTarget.Component });
5225
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SplitButtonComponent, isStandalone: true, selector: "kendo-splitbutton", inputs: { text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", type: "type", imageUrl: "imageUrl", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", disabled: "disabled", popupSettings: "popupSettings", tabIndex: "tabIndex", textField: "textField", data: "data", arrowButtonClass: "arrowButtonClass", arrowButtonIcon: "arrowButtonIcon", arrowButtonSvgIcon: "arrowButtonSvgIcon", buttonAttributes: "buttonAttributes" }, outputs: { buttonClick: "buttonClick", itemClick: "itemClick", onFocus: "focus", onBlur: "blur", open: "open", close: "close" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)" }, properties: { "class.k-focus": "this.isFocused", "class.k-split-button": "this.widgetClasses", "class.k-button-group": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
5226
+ FocusService,
5227
+ NavigationService,
5228
+ NAVIGATION_SETTINGS_PROVIDER,
5229
+ LocalizationService,
5230
+ {
5231
+ provide: L10N_PREFIX,
5232
+ useValue: 'kendo.splitbutton'
5233
+ },
5234
+ PopupContainerService,
5235
+ {
5236
+ provide: MultiTabStop,
5237
+ useExisting: forwardRef(() => SplitButtonComponent)
5238
+ }
5239
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoSplitButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
4963
5240
  <ng-container kendoSplitButtonLocalizedMessages
4964
5241
  i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
4965
- splitButtonLabel="{{ '{buttonText} splitbutton' }}">
5242
+ splitButtonLabel="{{ '{buttonText} splitbutton' }}"
5243
+ >
4966
5244
  </ng-container>
4967
5245
  <button
4968
5246
  kendoButton
@@ -4990,8 +5268,7 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
4990
5268
  [attr.aria-label]="ariaLabel"
4991
5269
  >
4992
5270
  <span *ngIf="text" class="k-button-text">
4993
- {{ text }}
4994
- </span><ng-content></ng-content>
5271
+ {{ text }} </span><ng-content></ng-content>
4995
5272
  </button>
4996
5273
  <button kendoButton #arrowButton type="button"
4997
5274
  class="k-split-button-arrow"
@@ -5027,7 +5304,8 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
5027
5304
  </ng-template>
5028
5305
  <ng-container #container></ng-container>
5029
5306
  `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedSplitButtonMessagesDirective, selector: "[kendoSplitButtonLocalizedMessages]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }] });
5030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonComponent, decorators: [{
5307
+ }
5308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonComponent, decorators: [{
5031
5309
  type: Component,
5032
5310
  args: [{
5033
5311
  exportAs: 'kendoSplitButton',
@@ -5050,7 +5328,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5050
5328
  template: `
5051
5329
  <ng-container kendoSplitButtonLocalizedMessages
5052
5330
  i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
5053
- splitButtonLabel="{{ '{buttonText} splitbutton' }}">
5331
+ splitButtonLabel="{{ '{buttonText} splitbutton' }}"
5332
+ >
5054
5333
  </ng-container>
5055
5334
  <button
5056
5335
  kendoButton
@@ -5078,8 +5357,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5078
5357
  [attr.aria-label]="ariaLabel"
5079
5358
  >
5080
5359
  <span *ngIf="text" class="k-button-text">
5081
- {{ text }}
5082
- </span><ng-content></ng-content>
5360
+ {{ text }} </span><ng-content></ng-content>
5083
5361
  </button>
5084
5362
  <button kendoButton #arrowButton type="button"
5085
5363
  class="k-split-button-arrow"
@@ -5148,8 +5426,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5148
5426
  type: Input
5149
5427
  }], data: [{
5150
5428
  type: Input
5151
- }], buttonClass: [{
5152
- type: Input
5153
5429
  }], arrowButtonClass: [{
5154
5430
  type: Input
5155
5431
  }], arrowButtonIcon: [{
@@ -5175,18 +5451,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5175
5451
  }], itemTemplate: [{
5176
5452
  type: ContentChild,
5177
5453
  args: [ButtonItemTemplateDirective]
5178
- }], button: [{
5179
- type: ViewChild,
5180
- args: ['button', { read: ElementRef }]
5181
- }], arrowButton: [{
5182
- type: ViewChild,
5183
- args: ['arrowButton', { read: ElementRef }]
5184
- }], popupTemplate: [{
5185
- type: ViewChild,
5186
- args: ['popupTemplate']
5187
- }], containerRef: [{
5188
- type: ViewChild,
5189
- args: ['container', { read: ViewContainerRef }]
5190
5454
  }], isFocused: [{
5191
5455
  type: HostBinding,
5192
5456
  args: ['class.k-focus']
@@ -5278,11 +5542,11 @@ const KENDO_BUTTONS = [
5278
5542
  * - `ButtonComponent`&mdash;The Button component class.
5279
5543
  */
5280
5544
  class ButtonGroupModule {
5545
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5546
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, imports: [ButtonComponent, ButtonGroupComponent], exports: [ButtonComponent, ButtonGroupComponent] });
5547
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, providers: [IconsService], imports: [ButtonComponent] });
5281
5548
  }
5282
- ButtonGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5283
- ButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupModule, imports: [ButtonComponent, ButtonGroupComponent], exports: [ButtonComponent, ButtonGroupComponent] });
5284
- ButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupModule, providers: [IconsService], imports: [KENDO_BUTTONGROUP] });
5285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupModule, decorators: [{
5549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, decorators: [{
5286
5550
  type: NgModule,
5287
5551
  args: [{
5288
5552
  exports: [...KENDO_BUTTONGROUP],
@@ -5324,11 +5588,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5324
5588
  * ```
5325
5589
  */
5326
5590
  class ButtonModule {
5591
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5592
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, imports: [ButtonComponent], exports: [ButtonComponent] });
5593
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, providers: [IconsService], imports: [ButtonComponent] });
5327
5594
  }
5328
- ButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5329
- ButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ButtonModule, imports: [ButtonComponent], exports: [ButtonComponent] });
5330
- ButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonModule, providers: [IconsService], imports: [ButtonComponent] });
5331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonModule, decorators: [{
5595
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, decorators: [{
5332
5596
  type: NgModule,
5333
5597
  args: [{
5334
5598
  imports: [ButtonComponent],
@@ -5370,11 +5634,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5370
5634
  * ```
5371
5635
  */
5372
5636
  class ButtonsModule {
5637
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5638
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, imports: [ButtonComponent, ButtonComponent, ButtonGroupComponent, DropDownButtonComponent, ButtonItemTemplateDirective, ChipComponent, ChipComponent, ChipListComponent, FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective, SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [ButtonComponent, ButtonComponent, ButtonGroupComponent, DropDownButtonComponent, ButtonItemTemplateDirective, ChipComponent, ChipComponent, ChipListComponent, FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective, SplitButtonComponent, SplitButtonCustomMessagesComponent] });
5639
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [ButtonComponent, ButtonComponent, DropDownButtonComponent, ChipComponent, ChipComponent, FloatingActionButtonComponent, SplitButtonComponent] });
5373
5640
  }
5374
- ButtonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5375
- ButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ButtonsModule, imports: [ButtonComponent, ButtonComponent, ButtonGroupComponent, DropDownButtonComponent, ButtonItemTemplateDirective, ChipComponent, ChipComponent, ChipListComponent, FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective, SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [ButtonComponent, ButtonComponent, ButtonGroupComponent, DropDownButtonComponent, ButtonItemTemplateDirective, ChipComponent, ChipComponent, ChipListComponent, FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective, SplitButtonComponent, SplitButtonCustomMessagesComponent] });
5376
- ButtonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonsModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [ButtonComponent, ButtonComponent, ButtonGroupComponent, DropDownButtonComponent, ChipComponent, ChipComponent, ChipListComponent, FloatingActionButtonComponent, SplitButtonComponent, SplitButtonCustomMessagesComponent] });
5377
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonsModule, decorators: [{
5641
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, decorators: [{
5378
5642
  type: NgModule,
5379
5643
  args: [{
5380
5644
  imports: [...KENDO_BUTTONS],
@@ -5393,11 +5657,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5393
5657
  * - `SplitButtonCustomMessagesComponent`&mdash;The SplitButton custom messages component class.
5394
5658
  */
5395
5659
  class SplitButtonModule {
5660
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5661
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, imports: [SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [SplitButtonComponent, SplitButtonCustomMessagesComponent] });
5662
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [SplitButtonComponent] });
5396
5663
  }
5397
- SplitButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5398
- SplitButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonModule, imports: [SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [SplitButtonComponent, SplitButtonCustomMessagesComponent] });
5399
- SplitButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [KENDO_SPLITBUTTON] });
5400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonModule, decorators: [{
5664
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, decorators: [{
5401
5665
  type: NgModule,
5402
5666
  args: [{
5403
5667
  exports: [...KENDO_SPLITBUTTON],
@@ -5416,11 +5680,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5416
5680
  * - `ButtonItemTemplateDirective`&mdash;The Button item template directive.
5417
5681
  */
5418
5682
  class DropDownButtonModule {
5683
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5684
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, imports: [DropDownButtonComponent, ButtonItemTemplateDirective], exports: [DropDownButtonComponent, ButtonItemTemplateDirective] });
5685
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [DropDownButtonComponent] });
5419
5686
  }
5420
- DropDownButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5421
- DropDownButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonModule, imports: [DropDownButtonComponent, ButtonItemTemplateDirective], exports: [DropDownButtonComponent, ButtonItemTemplateDirective] });
5422
- DropDownButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [DropDownButtonComponent] });
5423
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonModule, decorators: [{
5687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, decorators: [{
5424
5688
  type: NgModule,
5425
5689
  args: [{
5426
5690
  exports: [...KENDO_DROPDOWNBUTTON],
@@ -5436,15 +5700,15 @@ const EXPORTED_DIRECTIVES = [
5436
5700
  ];
5437
5701
  //IMPORTANT: NgModule export kept for backwards compatibility
5438
5702
  class ListModule {
5703
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5704
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ListModule, imports: [ListComponent,
5705
+ FocusableDirective,
5706
+ ButtonItemTemplateDirective], exports: [ListComponent,
5707
+ FocusableDirective,
5708
+ ButtonItemTemplateDirective] });
5709
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, providers: [IconsService], imports: [ListComponent] });
5439
5710
  }
5440
- ListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5441
- ListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ListModule, imports: [ListComponent,
5442
- FocusableDirective,
5443
- ButtonItemTemplateDirective], exports: [ListComponent,
5444
- FocusableDirective,
5445
- ButtonItemTemplateDirective] });
5446
- ListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListModule, providers: [IconsService], imports: [ListComponent] });
5447
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListModule, decorators: [{
5711
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, decorators: [{
5448
5712
  type: NgModule,
5449
5713
  args: [{
5450
5714
  imports: [...EXPORTED_DIRECTIVES],
@@ -5483,11 +5747,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5483
5747
  * ```
5484
5748
  */
5485
5749
  class ChipModule {
5750
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5751
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, imports: [ChipComponent, ChipListComponent], exports: [ChipComponent, ChipListComponent] });
5752
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, providers: [IconsService], imports: [ChipComponent] });
5486
5753
  }
5487
- ChipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5488
- ChipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ChipModule, imports: [ChipComponent, ChipListComponent], exports: [ChipComponent, ChipListComponent] });
5489
- ChipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipModule, providers: [IconsService], imports: [KENDO_CHIPLIST] });
5490
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipModule, decorators: [{
5754
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, decorators: [{
5491
5755
  type: NgModule,
5492
5756
  args: [{
5493
5757
  exports: [...KENDO_CHIPLIST],
@@ -5526,11 +5790,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5526
5790
  * ```
5527
5791
  */
5528
5792
  class FloatingActionButtonModule {
5793
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5794
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, imports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective], exports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective] });
5795
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [FloatingActionButtonComponent] });
5529
5796
  }
5530
- FloatingActionButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5531
- FloatingActionButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonModule, imports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective], exports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective] });
5532
- FloatingActionButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [FloatingActionButtonComponent] });
5533
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonModule, decorators: [{
5797
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, decorators: [{
5534
5798
  type: NgModule,
5535
5799
  args: [{
5536
5800
  exports: [...KENDO_FLOATINGACTIONBUTTON],