@progress/kendo-angular-buttons 17.0.0-develop.20 → 17.0.0-develop.22

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 +2 -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 +109 -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 +189 -182
  44. package/{esm2020 → esm2022}/splitbutton/splitbutton.module.mjs +4 -4
  45. package/{fesm2020 → fesm2022}/progress-kendo-angular-buttons.mjs +1246 -1013
  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 +3 -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: 1729854892,
48
- version: '17.0.0-develop.20',
45
+ publishDate: 1730103449,
46
+ version: '17.0.0-develop.22',
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,100 +2814,68 @@ 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
  *
2759
2848
  * > The data has to be provided in an array-like list.
2760
2849
  */
2761
- set data(data) {
2762
- this._data = data || [];
2763
- }
2764
- get data() {
2765
- return this._data;
2766
- }
2850
+ set data(data) {
2851
+ this._data = data || [];
2852
+ }
2853
+ get data() {
2854
+ return this._data;
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)).
@@ -2781,6 +2893,26 @@ class DropDownButtonComponent extends ListButton {
2781
2893
  get fillMode() {
2782
2894
  return this._fillMode;
2783
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,9 @@ 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;
2807
2954
  /**
2808
2955
  * @hidden
2809
2956
  */
@@ -2873,6 +3020,13 @@ class DropDownButtonComponent extends ListButton {
2873
3020
  this.blurWrapper();
2874
3021
  }
2875
3022
  }
3023
+ constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService, renderer) {
3024
+ super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
3025
+ this.containerService = containerService;
3026
+ this.renderer = renderer;
3027
+ this._itemClick = this.itemClick;
3028
+ this._blur = this.onBlur;
3029
+ }
2876
3030
  ngAfterViewInit() {
2877
3031
  this.containerService.container = this.container;
2878
3032
  this.containerService.template = this.popupTemplate;
@@ -2918,19 +3072,18 @@ class DropDownButtonComponent extends ListButton {
2918
3072
  }
2919
3073
  }
2920
3074
  }
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: `
3075
+ 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 });
3076
+ 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: [
3077
+ FocusService,
3078
+ NavigationService,
3079
+ NAVIGATION_SETTINGS_PROVIDER$2,
3080
+ LocalizationService,
3081
+ {
3082
+ provide: L10N_PREFIX,
3083
+ useValue: 'kendo.dropdownbutton'
3084
+ },
3085
+ PopupContainerService
3086
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoDropDownButton"], usesInheritance: true, ngImport: i0, template: `
2934
3087
  <button kendoButton #button
2935
3088
  type="button"
2936
3089
  [id]="buttonId"
@@ -2975,7 +3128,8 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
2975
3128
  </ng-template>
2976
3129
  <ng-container #container></ng-container>
2977
3130
  `, 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: [{
3131
+ }
3132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonComponent, decorators: [{
2979
3133
  type: Component,
2980
3134
  args: [{
2981
3135
  exportAs: 'kendoDropDownButton',
@@ -3080,18 +3234,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3080
3234
  }], itemTemplate: [{
3081
3235
  type: ContentChild,
3082
3236
  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
3237
  }], keydown: [{
3096
3238
  type: HostListener,
3097
3239
  args: ['keydown', ['$event']]
@@ -3177,13 +3319,14 @@ function closeAnimation(animationSettings) {
3177
3319
  * ([see example]({% slug templates_floatingactionbutton %}#toc-dial-item-template)).
3178
3320
  */
3179
3321
  class DialItemTemplateDirective {
3322
+ templateRef;
3180
3323
  constructor(templateRef) {
3181
3324
  this.templateRef = templateRef;
3182
3325
  }
3326
+ 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 });
3327
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DialItemTemplateDirective, isStandalone: true, selector: "[kendoDialItemTemplate]", ngImport: i0 });
3183
3328
  }
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: [{
3329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemTemplateDirective, decorators: [{
3187
3330
  type: Directive,
3188
3331
  args: [{
3189
3332
  selector: '[kendoDialItemTemplate]',
@@ -3200,13 +3343,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3200
3343
  * ([see example]({% slug templates_floatingactionbutton %}#toc-floatingactionbutton-template)).
3201
3344
  */
3202
3345
  class FloatingActionButtonTemplateDirective {
3346
+ templateRef;
3203
3347
  constructor(templateRef) {
3204
3348
  this.templateRef = templateRef;
3205
3349
  }
3350
+ 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 });
3351
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FloatingActionButtonTemplateDirective, isStandalone: true, selector: "[kendoFloatingActionButtonTemplate]", ngImport: i0 });
3206
3352
  }
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: [{
3353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonTemplateDirective, decorators: [{
3210
3354
  type: Directive,
3211
3355
  args: [{
3212
3356
  selector: '[kendoFloatingActionButtonTemplate]',
@@ -3220,13 +3364,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3220
3364
  * @hidden
3221
3365
  */
3222
3366
  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
- }
3367
+ element;
3368
+ renderer;
3369
+ localisationService;
3370
+ hostClass = true;
3371
+ role = 'menuitem';
3230
3372
  get disabledClass() {
3231
3373
  return this.item.disabled;
3232
3374
  }
@@ -3237,6 +3379,18 @@ class DialItemComponent {
3237
3379
  get indexAttr() {
3238
3380
  return this.index;
3239
3381
  }
3382
+ cssClass;
3383
+ cssStyle;
3384
+ isFocused;
3385
+ index;
3386
+ item;
3387
+ dialItemTemplate;
3388
+ align;
3389
+ constructor(element, renderer, localisationService) {
3390
+ this.element = element;
3391
+ this.renderer = renderer;
3392
+ this.localisationService = localisationService;
3393
+ }
3240
3394
  get iconClasses() {
3241
3395
  const classes = [];
3242
3396
  if (this.item.iconClass) {
@@ -3267,9 +3421,8 @@ class DialItemComponent {
3267
3421
  };
3268
3422
  return directions[dir][align];
3269
3423
  }
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: `
3424
+ 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 });
3425
+ 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
3426
  <ng-template *ngIf="dialItemTemplate"
3274
3427
  [ngTemplateOutlet]="dialItemTemplate"
3275
3428
  [ngTemplateOutletContext]="{ $implicit: item, index: index, isFocused: isFocused }"
@@ -3286,7 +3439,8 @@ DialItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
3286
3439
  [svgIcon]="item.svgIcon"></kendo-icon-wrapper>
3287
3440
  </ng-container>
3288
3441
  `, 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: [{
3442
+ }
3443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemComponent, decorators: [{
3290
3444
  type: Component,
3291
3445
  args: [{
3292
3446
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -3352,28 +3506,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3352
3506
  * @hidden
3353
3507
  */
3354
3508
  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
- }
3509
+ focusService;
3510
+ cdr;
3511
+ hostClass = true;
3362
3512
  get bottomClass() {
3363
3513
  return this.align.vertical === 'top' || this.align.vertical === 'middle';
3364
3514
  }
3365
3515
  get topClass() {
3366
3516
  return this.align.vertical === 'bottom';
3367
3517
  }
3518
+ dialItems;
3519
+ dialItemTemplate;
3520
+ align;
3521
+ subscriptions = new Subscription();
3522
+ constructor(focusService, cdr) {
3523
+ this.focusService = focusService;
3524
+ this.cdr = cdr;
3525
+ this.subscriptions.add(this.focusService.onFocus.subscribe(() => this.cdr.detectChanges()));
3526
+ }
3368
3527
  isFocused(index) {
3369
3528
  return this.focusService.isFocused(index);
3370
3529
  }
3371
3530
  ngOnDestroy() {
3372
3531
  this.subscriptions.unsubscribe();
3373
3532
  }
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: `
3533
+ 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 });
3534
+ 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
3535
  <ng-container *ngFor='let item of dialItems; let idx = index'>
3378
3536
  <li
3379
3537
  kendoButtonFocusable
@@ -3389,7 +3547,8 @@ DialListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
3389
3547
  </li>
3390
3548
  </ng-container>
3391
3549
  `, 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: [{
3550
+ }
3551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialListComponent, decorators: [{
3393
3552
  type: Component,
3394
3553
  args: [{
3395
3554
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -3462,101 +3621,25 @@ const DEFAULT_THEME_COLOR = 'primary';
3462
3621
  *
3463
3622
  */
3464
3623
  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
- }
3624
+ renderer;
3625
+ element;
3626
+ focusService;
3627
+ navigationService;
3628
+ ngZone;
3629
+ popupService;
3630
+ builder;
3631
+ localizationService;
3554
3632
  get fixedClass() {
3555
3633
  return this.positionMode === 'fixed';
3556
3634
  }
3557
3635
  get absoluteClass() {
3558
3636
  return this.positionMode === 'absolute';
3559
3637
  }
3638
+ direction;
3639
+ button;
3640
+ popupTemplate;
3641
+ dialItemTemplate;
3642
+ fabTemplate;
3560
3643
  /**
3561
3644
  * Specifies the theme color of the FloatingActionButton
3562
3645
  * ([see example](slug:appearance_floatingactionbutton#toc-theme-colors)).
@@ -3659,12 +3742,131 @@ class FloatingActionButtonComponent {
3659
3742
  get offset() {
3660
3743
  return this._offset;
3661
3744
  }
3745
+ /**
3746
+ * Specifies the positionMode of the FloatingActionButton
3747
+ * ([see example](slug:positioning_floatingactionbutton#toc-position-mode)).
3748
+ *
3749
+ * * The possible values are:
3750
+ * * `absolute`&mdash;Positions the FloatingActionButton absolutely to its first positioned parent element.
3751
+ * * `fixed` (Default)&mdash;Positions the FloatingActionButton relative to the viewport. It always stays in the same place even if the page is scrolled.
3752
+ */
3753
+ positionMode = 'fixed';
3754
+ /**
3755
+ * Defines the name of an existing icon in a Kendo UI theme.
3756
+ * If provided, the icon will be rendered inside the FloatingActionButton by a `span.k-icon` element.
3757
+ */
3758
+ icon;
3759
+ /**
3760
+ * Defines an [`SVGIcon`](slug:api_icons_svgicon) to be rendered within the FloatingActionButton.
3761
+ */
3762
+ svgIcon;
3763
+ /**
3764
+ * Defines a CSS class or multiple classes separated by spaces which are applied to a `span` element.
3765
+ * Allows the usage of custom icons, rendered inside the FloatingActionButton by a `span` element.
3766
+ */
3767
+ iconClass;
3768
+ /**
3769
+ * The CSS classes that will be rendered on the main button.
3770
+ * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
3771
+ */
3772
+ buttonClass;
3773
+ /**
3774
+ * The CSS classes that will be rendered on the dial items `ul` element.
3775
+ * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
3776
+ */
3777
+ dialClass;
3778
+ /**
3779
+ * Specifies the text content of the FloatingActionButton.
3780
+ */
3781
+ text;
3782
+ /**
3783
+ * Specifies the animation settings of the FloatingActionButton dial items.
3784
+ * ([see example]({% slug dialitems_floatingactionbutton %}#toc-animation)).
3785
+ *
3786
+ * The possible values are:
3787
+ * * Boolean
3788
+ * * (Default) `true`&mdash;Applies the default [`DialItemAnimation`]({% slug api_buttons_dialitemanimation %}) settings.
3789
+ * * `false`
3790
+ * * `DialItemAnimation`
3791
+ * * `duration`&mdash;Specifies the animation duration in milliseconds for each dial item. Defaults to `180ms`.
3792
+ * * `gap`&mdash;Specifies the animation duration gap in milliseconds after each dial item is animated. Defaults to `90ms`.
3793
+ */
3794
+ dialItemAnimation = true;
3795
+ /**
3796
+ * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the FloatingActionButton.
3797
+ */
3798
+ tabIndex = 0;
3799
+ /**
3800
+ * Specifies the collection of the dial items that will be rendered in the FloatingActionButton popup.
3801
+ */
3802
+ dialItems = [];
3803
+ /**
3804
+ * Fires each time the FloatingActionButton gets blurred.
3805
+ */
3806
+ onBlur = new EventEmitter();
3807
+ /**
3808
+ * Fires each time the FloatingActionButton gets focused.
3809
+ */
3810
+ onFocus = new EventEmitter();
3811
+ /**
3812
+ * Fires each time a dial item is clicked.
3813
+ */
3814
+ dialItemClick = new EventEmitter();
3815
+ /**
3816
+ * Fires each time the popup is about to open.
3817
+ * This event is preventable. If you cancel the event, the popup will remain closed
3818
+ * ([more information and example](slug:events_floatingactionbutton)).
3819
+ */
3820
+ open = new EventEmitter();
3821
+ /**
3822
+ * Fires each time the popup is about to close.
3823
+ * This event is preventable. If you cancel the event, the popup will remain open
3824
+ * ([more information and example](slug:events_floatingactionbutton)).
3825
+ */
3826
+ close = new EventEmitter();
3662
3827
  /**
3663
3828
  * @hidden
3664
3829
  */
3665
3830
  get componentTabIndex() {
3666
3831
  return this.disabled ? (-1) : this.tabIndex;
3667
3832
  }
3833
+ /**
3834
+ * @hidden
3835
+ */
3836
+ id = `k-${guid()}`;
3837
+ /**
3838
+ * @hidden
3839
+ */
3840
+ dialListId = `k-dial-list-${guid()}`;
3841
+ _themeColor = DEFAULT_THEME_COLOR;
3842
+ _size = DEFAULT_SIZE;
3843
+ _rounded = DEFAULT_ROUNDED$1;
3844
+ _disabled = false;
3845
+ _align = { horizontal: 'end', vertical: 'bottom' };
3846
+ _offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
3847
+ subscriptions = new Subscription();
3848
+ popupMouseDownListener;
3849
+ rtl = false;
3850
+ animationEnd = new EventEmitter();
3851
+ popupRef;
3852
+ initialSetup = true;
3853
+ focusChangedProgrammatically = false;
3854
+ constructor(renderer, element, focusService, navigationService, ngZone, popupService, builder, localizationService) {
3855
+ this.renderer = renderer;
3856
+ this.element = element;
3857
+ this.focusService = focusService;
3858
+ this.navigationService = navigationService;
3859
+ this.ngZone = ngZone;
3860
+ this.popupService = popupService;
3861
+ this.builder = builder;
3862
+ this.localizationService = localizationService;
3863
+ validatePackage(packageMetadata);
3864
+ this.subscribeNavigationEvents();
3865
+ this.subscriptions.add(this.localizationService.changes.subscribe(({ rtl }) => {
3866
+ this.rtl = rtl;
3867
+ this.direction = this.rtl ? 'rtl' : 'ltr';
3868
+ }));
3869
+ }
3668
3870
  ngAfterViewInit() {
3669
3871
  ['size', 'rounded', 'themeColor'].forEach(option => this.handleClasses(this[option], option));
3670
3872
  this.renderer.addClass(this.element.nativeElement, this.alignClass());
@@ -4120,18 +4322,17 @@ class FloatingActionButtonComponent {
4120
4322
  }
4121
4323
  return DEFAULT_DURATION;
4122
4324
  }
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: `
4325
+ 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 });
4326
+ 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: [
4327
+ FocusService,
4328
+ NavigationService,
4329
+ NAVIGATION_SETTINGS_PROVIDER$1,
4330
+ LocalizationService,
4331
+ {
4332
+ provide: L10N_PREFIX,
4333
+ useValue: 'kendo.floatingactionbutton'
4334
+ }
4335
+ ], 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
4336
  <button
4136
4337
  #button
4137
4338
  [attr.id]="id"
@@ -4189,7 +4390,8 @@ FloatingActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
4189
4390
  </ul>
4190
4391
  </ng-template>
4191
4392
  `, 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: [{
4393
+ }
4394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonComponent, decorators: [{
4193
4395
  type: Component,
4194
4396
  args: [{
4195
4397
  selector: 'kendo-floatingactionbutton',
@@ -4336,10 +4538,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4336
4538
  * @hidden
4337
4539
  */
4338
4540
  class Messages extends ComponentMessages {
4541
+ /**
4542
+ * The text for the SplitButton aria-label.
4543
+ *
4544
+ * The text for the aria-label consists of a two-part message - the text of the SplitButton and a localizable string.
4545
+ * For a SplitButton with text 'Reply', the default aria-label will be 'Reply splitbutton'.
4546
+ *
4547
+ * To allow reordering of the SplitButton text and the localizable part, the splitButtonLabel accepts a string with a
4548
+ * placeholder for the button text - e.g. 'splitbutton for {buttonText}'. The '{buttonText}' placeholder will be replaced
4549
+ * internally with the current SplitButton text, and the resulting aria-label will be rendered as 'splitbutton for Reply'.
4550
+ *
4551
+ * @example
4552
+ *
4553
+ * ```ts-no-run
4554
+ * <kendo-splitbutton>
4555
+ * <kendo-splitbutton-messages
4556
+ * splitButtonLabel="splitbutton for {buttonText}"
4557
+ * >
4558
+ * </kendo-splitbutton-messages>
4559
+ * </kendo-splitbutton>
4560
+ * ```
4561
+ */
4562
+ splitButtonLabel;
4563
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4564
+ 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
4565
  }
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: [{
4566
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, decorators: [{
4343
4567
  type: Directive,
4344
4568
  args: [{
4345
4569
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -4354,6 +4578,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4354
4578
  * ([see example]({% slug rtl_buttons %}).
4355
4579
  */
4356
4580
  class SplitButtonCustomMessagesComponent extends Messages {
4581
+ service;
4357
4582
  constructor(service) {
4358
4583
  super();
4359
4584
  this.service = service;
@@ -4361,13 +4586,13 @@ class SplitButtonCustomMessagesComponent extends Messages {
4361
4586
  get override() {
4362
4587
  return true;
4363
4588
  }
4589
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4590
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SplitButtonCustomMessagesComponent, isStandalone: true, selector: "kendo-splitbutton-messages", providers: [{
4591
+ provide: Messages,
4592
+ useExisting: forwardRef(() => SplitButtonCustomMessagesComponent)
4593
+ }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
4364
4594
  }
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: [{
4595
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, decorators: [{
4371
4596
  type: Component,
4372
4597
  args: [{
4373
4598
  providers: [{
@@ -4384,19 +4609,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4384
4609
  * @hidden
4385
4610
  */
4386
4611
  class LocalizedSplitButtonMessagesDirective extends Messages {
4612
+ service;
4387
4613
  constructor(service) {
4388
4614
  super();
4389
4615
  this.service = service;
4390
4616
  }
4617
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
4618
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedSplitButtonMessagesDirective, isStandalone: true, selector: "[kendoSplitButtonLocalizedMessages]", providers: [
4619
+ {
4620
+ provide: Messages,
4621
+ useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective)
4622
+ }
4623
+ ], usesInheritance: true, ngImport: i0 });
4391
4624
  }
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: [{
4625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, decorators: [{
4400
4626
  type: Directive,
4401
4627
  args: [{
4402
4628
  providers: [
@@ -4461,154 +4687,46 @@ const DEFAULT_FILL_MODE = 'solid';
4461
4687
  * ```
4462
4688
  */
4463
4689
  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
- }
4690
+ localization;
4691
+ renderer;
4692
+ /**
4693
+ * Sets the text of the SplitButton.
4694
+ */
4695
+ text = '';
4696
+ /**
4697
+ * Defines an icon to be rendered next to the button text.
4698
+ * ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
4699
+ */
4700
+ icon = '';
4701
+ /**
4702
+ * Defines an SVGIcon to be rendered next to the button text.
4703
+ */
4704
+ svgIcon;
4705
+ /**
4706
+ * Defines an icon with a custom CSS class to be rendered next to the button text
4707
+ * ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
4708
+ */
4709
+ iconClass;
4710
+ /**
4711
+ * Defines the type attribute of the main button
4712
+ */
4713
+ type = 'button';
4714
+ /**
4715
+ * Defines the location of an image to be displayed next to the button text
4716
+ * ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
4717
+ */
4718
+ imageUrl = '';
4719
+ /**
4720
+ * The size property specifies the padding of the SplitButton
4721
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-size)).
4722
+ *
4723
+ * The possible values are:
4724
+ * * `small`
4725
+ * * `medium` (default)
4726
+ * * `large`
4727
+ * * `none`
4728
+ */
4729
+ size = 'medium';
4612
4730
  /**
4613
4731
  * The rounded property specifies the border radius of the SplitButton
4614
4732
  * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
@@ -4645,6 +4763,26 @@ class SplitButtonComponent extends ListButton {
4645
4763
  get fillMode() {
4646
4764
  return this._fillMode;
4647
4765
  }
4766
+ /**
4767
+ * The SplitButton allows you to specify predefined theme colors.
4768
+ * The theme color will be applied as a background and border color while also amending the text color accordingly
4769
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-themeColor)).
4770
+ *
4771
+ * The possible values are:
4772
+ * * `base` &mdash;Applies coloring based on the `base` theme color. (default)
4773
+ * * `primary` &mdash;Applies coloring based on the `primary` theme color.
4774
+ * * `secondary`&mdash;Applies coloring based on the `secondary` theme color.
4775
+ * * `tertiary`&mdash; Applies coloring based on the `tertiary` theme color.
4776
+ * * `info`&mdash;Applies coloring based on the `info` theme color.
4777
+ * * `success`&mdash; Applies coloring based on the `success` theme color.
4778
+ * * `warning`&mdash; Applies coloring based on the `warning` theme color.
4779
+ * * `error`&mdash; Applies coloring based on the `error` theme color.
4780
+ * * `dark`&mdash; Applies coloring based on the `dark` theme color.
4781
+ * * `light`&mdash; Applies coloring based on the `light` theme color.
4782
+ * * `inverse`&mdash; Applies coloring based on the `inverse` theme color.
4783
+ * * `none`&mdash; Removes the built in theme color.
4784
+ */
4785
+ themeColor = 'base';
4648
4786
  /**
4649
4787
  * When set to `true`, disables a SplitButton item
4650
4788
  * ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
@@ -4673,6 +4811,14 @@ class SplitButtonComponent extends ListButton {
4673
4811
  get popupSettings() {
4674
4812
  return this._popupSettings;
4675
4813
  }
4814
+ /**
4815
+ * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
4816
+ */
4817
+ tabIndex = 0;
4818
+ /**
4819
+ * Configures the text field of the button-list popup.
4820
+ */
4821
+ textField;
4676
4822
  /**
4677
4823
  * Sets the data of the SplitButton.
4678
4824
  *
@@ -4687,6 +4833,21 @@ class SplitButtonComponent extends ListButton {
4687
4833
  }
4688
4834
  return this._data;
4689
4835
  }
4836
+ /**
4837
+ * The CSS classes that will be rendered on the button which opens the popup.
4838
+ * Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
4839
+ */
4840
+ arrowButtonClass;
4841
+ /**
4842
+ * Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that will
4843
+ * be rendered for the button which opens the popup.
4844
+ */
4845
+ arrowButtonIcon = 'caret-alt-down';
4846
+ /**
4847
+ * Specifies the [`SVGIcon`](slug:api_icons_svgicon) that will
4848
+ * be rendered for the button which opens the popup.
4849
+ */
4850
+ arrowButtonSvgIcon = caretAltDownIcon;
4690
4851
  /**
4691
4852
  * Sets attributes to the main button.
4692
4853
  */
@@ -4698,6 +4859,80 @@ class SplitButtonComponent extends ListButton {
4698
4859
  get buttonAttributes() {
4699
4860
  return this._buttonAttributes;
4700
4861
  }
4862
+ /**
4863
+ * Fires each time the user clicks the main button.
4864
+ *
4865
+ * @example
4866
+ * ```ts
4867
+ * _@Component({
4868
+ * selector: 'my-app',
4869
+ * template: `
4870
+ * <kendo-splitbutton (buttonClick)="onSplitButtonClick()" [data]="data">
4871
+ * Reply
4872
+ * </kendo-splitbutton>
4873
+ * `
4874
+ * })
4875
+ * class AppComponent {
4876
+ * public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
4877
+ *
4878
+ * public onSplitButtonClick(): void {
4879
+ * console.log('SplitButton click');
4880
+ * }
4881
+ * }
4882
+ * ```
4883
+ *
4884
+ */
4885
+ buttonClick = new EventEmitter();
4886
+ /**
4887
+ * Fires each time the user clicks on the drop-down list. The event data contains the data item bound to the clicked list item.
4888
+ *
4889
+ * @example
4890
+ * ```ts
4891
+ * _@Component({
4892
+ * selector: 'my-app',
4893
+ * template: `
4894
+ * <kendo-splitbutton (itemClick)="onSplitButtonItemClick($event)" [data]="data">
4895
+ * Reply
4896
+ * </kendo-splitbutton>
4897
+ * `
4898
+ * })
4899
+ * class AppComponent {
4900
+ * public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
4901
+ *
4902
+ * public onSplitButtonItemClick(dataItem?: string): void {
4903
+ * if (dataItem) {
4904
+ * console.log(dataItem);
4905
+ * }
4906
+ * }
4907
+ * }
4908
+ * ```
4909
+ *
4910
+ */
4911
+ itemClick = new EventEmitter();
4912
+ /**
4913
+ * Fires each time the SplitButton gets focused.
4914
+ */
4915
+ onFocus = new EventEmitter();
4916
+ /**
4917
+ * Fires each time the SplitButton gets blurred.
4918
+ */
4919
+ onBlur = new EventEmitter();
4920
+ /**
4921
+ * Fires each time the popup is about to open.
4922
+ * This event is preventable. If you cancel the event, the popup will remain closed.
4923
+ */
4924
+ open = new EventEmitter();
4925
+ /**
4926
+ * Fires each time the popup is about to close.
4927
+ * This event is preventable. If you cancel the event, the popup will remain open.
4928
+ */
4929
+ close = new EventEmitter();
4930
+ /**
4931
+ * An item template that helps to customize the item content.
4932
+ */
4933
+ itemTemplate;
4934
+ activeArrow = false;
4935
+ listId = guid();
4701
4936
  /**
4702
4937
  * @hidden
4703
4938
  */
@@ -4716,6 +4951,11 @@ class SplitButtonComponent extends ListButton {
4716
4951
  get componentTabIndex() {
4717
4952
  return this.disabled ? -1 : this.tabIndex;
4718
4953
  }
4954
+ buttonText = '';
4955
+ arrowButtonClicked = false;
4956
+ _rounded = DEFAULT_ROUNDED;
4957
+ _fillMode = DEFAULT_FILL_MODE;
4958
+ _buttonAttributes = null;
4719
4959
  set isFocused(value) {
4720
4960
  this._isFocused = value;
4721
4961
  }
@@ -4809,7 +5049,7 @@ class SplitButtonComponent extends ListButton {
4809
5049
  * @hidden
4810
5050
  */
4811
5051
  ngAfterViewInit() {
4812
- this.containerService.container = this.containerRef;
5052
+ this.containerService.container = this.container;
4813
5053
  this.containerService.template = this.popupTemplate;
4814
5054
  this.updateButtonText();
4815
5055
  this.handleClasses(this.rounded, 'rounded');
@@ -4901,6 +5141,13 @@ class SplitButtonComponent extends ListButton {
4901
5141
  this.blurWrapper();
4902
5142
  }
4903
5143
  }
5144
+ constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, renderer, containerService) {
5145
+ super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
5146
+ this.localization = localization;
5147
+ this.renderer = renderer;
5148
+ this._itemClick = this.itemClick;
5149
+ this._blur = this.onBlur;
5150
+ }
4904
5151
  /**
4905
5152
  * Returns the current open state of the popup.
4906
5153
  */
@@ -4943,23 +5190,22 @@ class SplitButtonComponent extends ListButton {
4943
5190
  }
4944
5191
  }
4945
5192
  }
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: `
5193
+ 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 });
5194
+ 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: [
5195
+ FocusService,
5196
+ NavigationService,
5197
+ NAVIGATION_SETTINGS_PROVIDER,
5198
+ LocalizationService,
5199
+ {
5200
+ provide: L10N_PREFIX,
5201
+ useValue: 'kendo.splitbutton'
5202
+ },
5203
+ PopupContainerService,
5204
+ {
5205
+ provide: MultiTabStop,
5206
+ useExisting: forwardRef(() => SplitButtonComponent)
5207
+ }
5208
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoSplitButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
4963
5209
  <ng-container kendoSplitButtonLocalizedMessages
4964
5210
  i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
4965
5211
  splitButtonLabel="{{ '{buttonText} splitbutton' }}">
@@ -5027,7 +5273,8 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
5027
5273
  </ng-template>
5028
5274
  <ng-container #container></ng-container>
5029
5275
  `, 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: [{
5276
+ }
5277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonComponent, decorators: [{
5031
5278
  type: Component,
5032
5279
  args: [{
5033
5280
  exportAs: 'kendoSplitButton',
@@ -5148,8 +5395,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5148
5395
  type: Input
5149
5396
  }], data: [{
5150
5397
  type: Input
5151
- }], buttonClass: [{
5152
- type: Input
5153
5398
  }], arrowButtonClass: [{
5154
5399
  type: Input
5155
5400
  }], arrowButtonIcon: [{
@@ -5175,18 +5420,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5175
5420
  }], itemTemplate: [{
5176
5421
  type: ContentChild,
5177
5422
  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
5423
  }], isFocused: [{
5191
5424
  type: HostBinding,
5192
5425
  args: ['class.k-focus']
@@ -5278,11 +5511,11 @@ const KENDO_BUTTONS = [
5278
5511
  * - `ButtonComponent`&mdash;The Button component class.
5279
5512
  */
5280
5513
  class ButtonGroupModule {
5514
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5515
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, imports: [ButtonComponent, ButtonGroupComponent], exports: [ButtonComponent, ButtonGroupComponent] });
5516
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, providers: [IconsService], imports: [ButtonComponent] });
5281
5517
  }
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: [{
5518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, decorators: [{
5286
5519
  type: NgModule,
5287
5520
  args: [{
5288
5521
  exports: [...KENDO_BUTTONGROUP],
@@ -5324,11 +5557,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5324
5557
  * ```
5325
5558
  */
5326
5559
  class ButtonModule {
5560
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5561
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, imports: [ButtonComponent], exports: [ButtonComponent] });
5562
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, providers: [IconsService], imports: [ButtonComponent] });
5327
5563
  }
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: [{
5564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, decorators: [{
5332
5565
  type: NgModule,
5333
5566
  args: [{
5334
5567
  imports: [ButtonComponent],
@@ -5370,11 +5603,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5370
5603
  * ```
5371
5604
  */
5372
5605
  class ButtonsModule {
5606
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5607
+ 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] });
5608
+ 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
5609
  }
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: [{
5610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, decorators: [{
5378
5611
  type: NgModule,
5379
5612
  args: [{
5380
5613
  imports: [...KENDO_BUTTONS],
@@ -5393,11 +5626,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5393
5626
  * - `SplitButtonCustomMessagesComponent`&mdash;The SplitButton custom messages component class.
5394
5627
  */
5395
5628
  class SplitButtonModule {
5629
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5630
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, imports: [SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [SplitButtonComponent, SplitButtonCustomMessagesComponent] });
5631
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [SplitButtonComponent] });
5396
5632
  }
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: [{
5633
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, decorators: [{
5401
5634
  type: NgModule,
5402
5635
  args: [{
5403
5636
  exports: [...KENDO_SPLITBUTTON],
@@ -5416,11 +5649,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5416
5649
  * - `ButtonItemTemplateDirective`&mdash;The Button item template directive.
5417
5650
  */
5418
5651
  class DropDownButtonModule {
5652
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5653
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, imports: [DropDownButtonComponent, ButtonItemTemplateDirective], exports: [DropDownButtonComponent, ButtonItemTemplateDirective] });
5654
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [DropDownButtonComponent] });
5419
5655
  }
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: [{
5656
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, decorators: [{
5424
5657
  type: NgModule,
5425
5658
  args: [{
5426
5659
  exports: [...KENDO_DROPDOWNBUTTON],
@@ -5436,15 +5669,15 @@ const EXPORTED_DIRECTIVES = [
5436
5669
  ];
5437
5670
  //IMPORTANT: NgModule export kept for backwards compatibility
5438
5671
  class ListModule {
5672
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5673
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ListModule, imports: [ListComponent,
5674
+ FocusableDirective,
5675
+ ButtonItemTemplateDirective], exports: [ListComponent,
5676
+ FocusableDirective,
5677
+ ButtonItemTemplateDirective] });
5678
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, providers: [IconsService], imports: [ListComponent] });
5439
5679
  }
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: [{
5680
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, decorators: [{
5448
5681
  type: NgModule,
5449
5682
  args: [{
5450
5683
  imports: [...EXPORTED_DIRECTIVES],
@@ -5483,11 +5716,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5483
5716
  * ```
5484
5717
  */
5485
5718
  class ChipModule {
5719
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5720
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, imports: [ChipComponent, ChipListComponent], exports: [ChipComponent, ChipListComponent] });
5721
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, providers: [IconsService], imports: [ChipComponent] });
5486
5722
  }
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: [{
5723
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, decorators: [{
5491
5724
  type: NgModule,
5492
5725
  args: [{
5493
5726
  exports: [...KENDO_CHIPLIST],
@@ -5526,11 +5759,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
5526
5759
  * ```
5527
5760
  */
5528
5761
  class FloatingActionButtonModule {
5762
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5763
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, imports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective], exports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective] });
5764
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [FloatingActionButtonComponent] });
5529
5765
  }
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: [{
5766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, decorators: [{
5534
5767
  type: NgModule,
5535
5768
  args: [{
5536
5769
  exports: [...KENDO_FLOATINGACTIONBUTTON],