@progress/kendo-angular-toolbar 18.1.0-develop.3 → 18.1.0-develop.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/common/overflow-mode.d.ts +8 -0
  2. package/common/overflow-settings.d.ts +53 -0
  3. package/common/scroll-buttons.d.ts +12 -0
  4. package/esm2022/common/overflow-mode.mjs +5 -0
  5. package/esm2022/common/overflow-settings.mjs +5 -0
  6. package/esm2022/common/scroll-buttons.mjs +5 -0
  7. package/esm2022/localization/messages.mjs +14 -2
  8. package/esm2022/navigation.service.mjs +5 -3
  9. package/esm2022/package-metadata.mjs +2 -2
  10. package/esm2022/renderer.component.mjs +8 -0
  11. package/esm2022/scroll.service.mjs +102 -0
  12. package/esm2022/scrollable-button.component.mjs +162 -0
  13. package/esm2022/toolbar.component.mjs +716 -124
  14. package/esm2022/tools/toolbar-button.component.mjs +62 -2
  15. package/esm2022/tools/toolbar-buttongroup.component.mjs +87 -6
  16. package/esm2022/tools/toolbar-dropdownbutton.component.mjs +67 -11
  17. package/esm2022/tools/toolbar-separator.component.mjs +8 -0
  18. package/esm2022/tools/toolbar-splitbutton.component.mjs +61 -5
  19. package/esm2022/tools/toolbar-tool.component.mjs +9 -1
  20. package/esm2022/tools/tools.service.mjs +3 -0
  21. package/esm2022/util.mjs +17 -0
  22. package/fesm2022/progress-kendo-angular-toolbar.mjs +1300 -155
  23. package/index.d.ts +3 -0
  24. package/localization/messages.d.ts +10 -2
  25. package/package.json +9 -9
  26. package/render-location.d.ts +1 -1
  27. package/scroll.service.d.ts +42 -0
  28. package/scrollable-button.component.d.ts +44 -0
  29. package/toolbar.component.d.ts +77 -6
  30. package/tools/toolbar-button.component.d.ts +1 -0
  31. package/tools/toolbar-buttongroup.component.d.ts +1 -0
  32. package/tools/toolbar-dropdownbutton.component.d.ts +2 -1
  33. package/tools/toolbar-splitbutton.component.d.ts +1 -0
  34. package/tools/toolbar-tool.component.d.ts +6 -0
  35. package/tools/tools.service.d.ts +1 -0
  36. package/util.d.ts +5 -0
@@ -0,0 +1,8 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * Represents the possible overflowMode options of the Toolbar. Applicable when there is not enough space to render all tools.
7
+ */
8
+ export type OverflowMode = 'scroll' | 'section' | 'menu' | 'none';
@@ -0,0 +1,53 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { SVGIcon } from "@progress/kendo-svg-icons";
6
+ import { OverflowMode } from "./overflow-mode";
7
+ import { ToolbarScrollButtonsPosition, ToolbarScrollButtonsVisibility } from "./scroll-buttons";
8
+ /**
9
+ * The settings for the overflow functionality of the Toolbar.
10
+ */
11
+ export interface ToolbarOverflowSettings {
12
+ /**
13
+ * Determines the Toolbar overflow mode.
14
+ * @default 'none'
15
+ */
16
+ mode?: OverflowMode;
17
+ /**
18
+ * Determines the Toolbar scroll buttons visibility mode. Applicable when the overflow mode is set to 'scroll'. The possible options are:
19
+ * - 'auto' (default) - The scroll buttons will be rendered only when the tools list overflows its container.
20
+ * - 'visible' - The scroll buttons will be always visible.
21
+ * - 'hidden' - No scroll buttons will be rendered.
22
+ */
23
+ scrollButtons?: ToolbarScrollButtonsVisibility;
24
+ /**
25
+ * Determines the Toolbar scroll buttons position. Applicable when the overflow mode is set to 'scroll'. The possible options are:
26
+ * - 'start'—The scroll buttons will be rendered at the start before all tools.
27
+ * - 'end'—The scroll buttons will be rendered at the end after all tools.
28
+ * - 'split'(default)—The scroll buttons will be rendered at each side of the tools list.
29
+ */
30
+ scrollButtonsPosition?: ToolbarScrollButtonsPosition;
31
+ /**
32
+ * Allows defining a custom CSS class, or multiple classes separated by spaces, which will be applied to the span element of the prev scroll button. Applicable when the overflow mode is set to 'scroll'.
33
+ *
34
+ * Allows the usage of custom icons.
35
+ */
36
+ prevButtonIcon?: string;
37
+ /**
38
+ * Allows defining a custom CSS class, or multiple classes separated by spaces, which will be applied to the span element of the next scroll button. Applicable when the overflow mode is set to 'scroll'.
39
+ *
40
+ * Allows the usage of custom icons.
41
+ */
42
+ nextButtonIcon?: string;
43
+ /**
44
+ * Defines an SVGIcon to be rendered for the previous button icon.
45
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one. Applicable when the overflow mode is set to 'scroll'.
46
+ */
47
+ prevSVGButtonIcon?: SVGIcon;
48
+ /**
49
+ * Defines an SVGIcon to be rendered for the next button icon.
50
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one. Applicable when the overflow mode is set to 'scroll'.
51
+ */
52
+ nextSVGButtonIcon?: SVGIcon;
53
+ }
@@ -0,0 +1,12 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * Specifies when the Toolbar scroll buttons will be rendered.
7
+ */
8
+ export type ToolbarScrollButtonsVisibility = 'hidden' | 'visible' | 'auto';
9
+ /**
10
+ * The available options for the `scrollButtonsPosition` option.
11
+ */
12
+ export type ToolbarScrollButtonsPosition = 'start' | 'end' | 'split';
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -10,11 +10,19 @@ import * as i0 from "@angular/core";
10
10
  */
11
11
  export class ToolbarMessages extends ComponentMessages {
12
12
  /**
13
- * The title of the **more tools** button in a responsive ToolBar
13
+ * The title of the **More Tools** button in a responsive ToolBar
14
14
  */
15
15
  moreToolsTitle;
16
+ /**
17
+ * The title for the **Previous Tool** button when the Toolbar is scrollable.
18
+ */
19
+ previousToolButton;
20
+ /**
21
+ * The title for the **Next Tool** button when the Toolbar is scrollable.
22
+ */
23
+ nextToolButton;
16
24
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
17
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarMessages, selector: "kendo-toolbar-messages-base", inputs: { moreToolsTitle: "moreToolsTitle" }, usesInheritance: true, ngImport: i0 });
25
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarMessages, selector: "kendo-toolbar-messages-base", inputs: { moreToolsTitle: "moreToolsTitle", previousToolButton: "previousToolButton", nextToolButton: "nextToolButton" }, usesInheritance: true, ngImport: i0 });
18
26
  }
19
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarMessages, decorators: [{
20
28
  type: Directive,
@@ -24,4 +32,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
24
32
  }]
25
33
  }], propDecorators: { moreToolsTitle: [{
26
34
  type: Input
35
+ }], previousToolButton: [{
36
+ type: Input
37
+ }], nextToolButton: [{
38
+ type: Input
27
39
  }] } });
@@ -141,9 +141,11 @@ export class NavigationService {
141
141
  }
142
142
  }
143
143
  focusOverflowButton() {
144
- this.isOverflowButtonFocused = true;
145
- this.overflowButton.nativeElement.tabIndex = 0;
146
- this.overflowButton.nativeElement.focus();
144
+ if (this.overflowButton) {
145
+ this.isOverflowButtonFocused = true;
146
+ this.overflowButton.nativeElement.tabIndex = 0;
147
+ this.overflowButton.nativeElement.focus();
148
+ }
147
149
  }
148
150
  isOverflowButtonVisible() {
149
151
  return (isPresent(this.overflowButton) &&
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1738245757,
14
- version: '18.1.0-develop.3',
13
+ publishDate: 1739264198,
14
+ version: '18.1.0-develop.31',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -45,6 +45,7 @@ export class ToolBarRendererComponent {
45
45
  if (!viewContainerRootNodes || viewContainerRootNodes.length === 0) {
46
46
  return;
47
47
  }
48
+ this.tool.location = this.location;
48
49
  this.internalComponentRef = viewContainerRootNodes[0];
49
50
  this.element = this.tool.element;
50
51
  this.internalComponentRef.addEventListener('click', this.onClick);
@@ -61,6 +62,11 @@ export class ToolBarRendererComponent {
61
62
  this.renderer.setStyle(this.internalComponentRef, 'visibility', 'hidden');
62
63
  this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
63
64
  }
65
+ else if (this.location === 'section') {
66
+ this.template = this.tool.toolbarTemplate;
67
+ this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
68
+ this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
69
+ }
64
70
  else {
65
71
  this.template = this.tool.popupTemplate;
66
72
  this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
@@ -96,6 +102,7 @@ export class ToolBarRendererComponent {
96
102
  return this.internalComponentRef?.style?.display !== 'none';
97
103
  }
98
104
  refresh() {
105
+ this.tool.location = this.location;
99
106
  if (this.resizable && this.internalComponentRef) {
100
107
  if (this.location === 'toolbar') {
101
108
  this.renderer.setStyle(this.internalComponentRef, 'visibility', this.tool.visibility);
@@ -114,6 +121,7 @@ export class ToolBarRendererComponent {
114
121
  this.rendererClick.emit({ context: this, event: ev });
115
122
  };
116
123
  updateTools() {
124
+ this.tool.location = this.location;
117
125
  const isInToolbar = this.toolsService.renderedTools.some(t => t.tool === this.tool);
118
126
  const isInPopup = this.toolsService.overflowTools.some(t => t.tool === this.tool);
119
127
  if (this.location === 'toolbar') {
@@ -0,0 +1,102 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Injectable, NgZone } from '@angular/core';
6
+ import { isDocumentAvailable } from '@progress/kendo-angular-common';
7
+ import { Subject } from 'rxjs';
8
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@progress/kendo-angular-l10n";
11
+ const DEFAULT_SCROLL_BEHAVIOR = 'smooth';
12
+ const DEFAULT_SCROLL_SPEED = 100;
13
+ /**
14
+ * @hidden
15
+ */
16
+ export class ScrollService {
17
+ ngZone;
18
+ localization;
19
+ owner;
20
+ position = 0;
21
+ scrollButtonActiveStateChange = new Subject();
22
+ get scrollElement() {
23
+ return this.owner.scrollContainer?.nativeElement;
24
+ }
25
+ get scrollContainerOverflowSize() {
26
+ if (!isDocumentAvailable()) {
27
+ return 0;
28
+ }
29
+ if (!this.scrollElement) {
30
+ return 0;
31
+ }
32
+ const overflowSize = Math.floor(this.scrollElement.scrollWidth - this.scrollElement.getBoundingClientRect().width);
33
+ return overflowSize < 0 ? 0 : overflowSize;
34
+ }
35
+ get toolsOverflow() {
36
+ return this.scrollContainerOverflowSize > 0;
37
+ }
38
+ constructor(ngZone, localization) {
39
+ this.ngZone = ngZone;
40
+ this.localization = localization;
41
+ }
42
+ toggleScrollButtonsState() {
43
+ const toolbar = this.owner;
44
+ if (!toolbar.hasScrollButtons) {
45
+ return;
46
+ }
47
+ const currentPrevButtonActive = !this.isDisabled('prev');
48
+ const currentNextButtonActive = !this.isDisabled('next');
49
+ const defaultOffset = 1;
50
+ const rtlDelta = this.localization.rtl ? -1 : 1;
51
+ const calculatedPrevButtonActive = (this.position * rtlDelta) > 0 && this.scrollContainerOverflowSize > 0;
52
+ const calculatedNextButtonActive = (this.position * rtlDelta) < this.scrollContainerOverflowSize - defaultOffset && this.scrollContainerOverflowSize > 0;
53
+ if (calculatedPrevButtonActive !== currentPrevButtonActive) {
54
+ this.ngZone.run(() => this.toggleButtonActiveState('prev', calculatedPrevButtonActive));
55
+ }
56
+ if (calculatedNextButtonActive !== currentNextButtonActive) {
57
+ this.ngZone.run(() => this.toggleButtonActiveState('next', calculatedNextButtonActive));
58
+ }
59
+ }
60
+ onScroll(e) {
61
+ this.position = e.target.scrollLeft;
62
+ this.toggleScrollButtonsState();
63
+ }
64
+ scrollTools(direction) {
65
+ this.calculateListPosition(direction, DEFAULT_SCROLL_SPEED);
66
+ if (this.scrollElement) {
67
+ this.scrollElement.scrollTo({ left: this.position, behavior: DEFAULT_SCROLL_BEHAVIOR });
68
+ }
69
+ this.toggleScrollButtonsState();
70
+ }
71
+ calculateListPosition(direction, scrollSpeed) {
72
+ if (direction === 'prev') {
73
+ if (!this.localization.rtl) {
74
+ this.position = this.position - scrollSpeed <= 0 ? 0 : this.position - scrollSpeed;
75
+ }
76
+ else {
77
+ this.position = this.position + scrollSpeed >= 0 ? 0 : this.position + scrollSpeed;
78
+ }
79
+ }
80
+ else if (direction === 'next' && this.position < this.scrollContainerOverflowSize) {
81
+ if (this.position + scrollSpeed > this.scrollContainerOverflowSize) {
82
+ this.position = this.scrollContainerOverflowSize;
83
+ return;
84
+ }
85
+ if (this.localization.rtl) {
86
+ this.position -= scrollSpeed;
87
+ }
88
+ else {
89
+ this.position += scrollSpeed;
90
+ }
91
+ }
92
+ }
93
+ toggleButtonActiveState(buttonType, active) {
94
+ this.scrollButtonActiveStateChange.next({ buttonType, active });
95
+ }
96
+ isDisabled = (buttonType) => this.owner[`${buttonType}ScrollButton`]?.nativeElement.classList.contains('k-disabled');
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollService, deps: [{ token: i0.NgZone }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
98
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollService });
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollService, decorators: [{
101
+ type: Injectable
102
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.LocalizationService }]; } });
@@ -0,0 +1,162 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Component, ElementRef, HostBinding, Input, Renderer2, NgZone, Output, EventEmitter, HostListener } from '@angular/core';
6
+ import { Subscription } from 'rxjs';
7
+ import { caretAltLeftIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';
8
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
9
+ import { IconWrapperComponent } from '@progress/kendo-angular-icons';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@progress/kendo-angular-l10n";
12
+ const DIRECTION_CLASSES = {
13
+ left: 'caret-alt-left',
14
+ right: 'caret-alt-right'
15
+ };
16
+ /**
17
+ * @hidden
18
+ */
19
+ export class ToolbarScrollableButtonComponent {
20
+ host;
21
+ renderer;
22
+ ngZone;
23
+ localization;
24
+ get prevClass() {
25
+ return this.prev;
26
+ }
27
+ get nextClass() {
28
+ return !this.prev;
29
+ }
30
+ /**
31
+ * @hidden
32
+ */
33
+ onMouseDown(ev) {
34
+ ev.preventDefault();
35
+ ev.stopImmediatePropagation();
36
+ }
37
+ role = 'button';
38
+ prev = false;
39
+ overflow;
40
+ onClick = new EventEmitter();
41
+ get iconClass() {
42
+ return this.scrollButtonIconClass;
43
+ }
44
+ get customIconClass() {
45
+ return this.customScrollButtonIconClass;
46
+ }
47
+ get svgIcon() {
48
+ return this.scrollButtonSVGIcon;
49
+ }
50
+ caretAltLeftIcon = caretAltLeftIcon;
51
+ caretAltRightIcon = caretAltRightIcon;
52
+ subs = new Subscription();
53
+ constructor(host, renderer, ngZone, localization) {
54
+ this.host = host;
55
+ this.renderer = renderer;
56
+ this.ngZone = ngZone;
57
+ this.localization = localization;
58
+ }
59
+ ngAfterViewInit() {
60
+ this.ngZone.runOutsideAngular(() => {
61
+ this.subs.add(this.renderer.listen(this.host.nativeElement, 'click', this.clickHandler));
62
+ });
63
+ }
64
+ ngOnDestroy() {
65
+ this.subs.unsubscribe();
66
+ }
67
+ clickHandler = () => {
68
+ const buttonType = this.prev ? 'prev' : 'next';
69
+ this.onClick.emit(buttonType);
70
+ };
71
+ get scrollButtonIconClass() {
72
+ const defaultPrevIcon = !this.localization.rtl ?
73
+ DIRECTION_CLASSES.left :
74
+ DIRECTION_CLASSES.right;
75
+ const defaultNextIcon = !this.localization.rtl ?
76
+ DIRECTION_CLASSES.right :
77
+ DIRECTION_CLASSES.left;
78
+ if (typeof this.overflow === 'object') {
79
+ const prevIcon = typeof this.overflow.prevButtonIcon === 'undefined' ? defaultPrevIcon : '';
80
+ const nextIcon = typeof this.overflow.nextButtonIcon === 'undefined' ? defaultNextIcon : '';
81
+ if (prevIcon && this.prev) {
82
+ return prevIcon;
83
+ }
84
+ else if (nextIcon && !this.prev) {
85
+ return nextIcon;
86
+ }
87
+ }
88
+ }
89
+ get customScrollButtonIconClass() {
90
+ if (typeof this.overflow === 'object') {
91
+ const prevIcon = this.overflow.prevButtonIcon;
92
+ const nextIcon = this.overflow.nextButtonIcon;
93
+ if (prevIcon && this.prev) {
94
+ return `k-icon ${prevIcon}`;
95
+ }
96
+ if (nextIcon && !this.prev) {
97
+ return `k-icon ${nextIcon}`;
98
+ }
99
+ }
100
+ }
101
+ get scrollButtonSVGIcon() {
102
+ const defaultPrevSVGIcon = !this.localization.rtl ?
103
+ this.caretAltLeftIcon :
104
+ this.caretAltRightIcon;
105
+ const defaultNextSVGIcon = !this.localization.rtl ?
106
+ this.caretAltRightIcon :
107
+ this.caretAltLeftIcon;
108
+ if (typeof this.overflow === 'object') {
109
+ const prevIcon = this.overflow.prevSVGButtonIcon !== undefined ? this.overflow.prevSVGButtonIcon : defaultPrevSVGIcon;
110
+ const nextIcon = this.overflow.nextSVGButtonIcon !== undefined ? this.overflow.nextSVGButtonIcon : defaultNextSVGIcon;
111
+ if (prevIcon || nextIcon) {
112
+ return this.prev ? prevIcon : nextIcon;
113
+ }
114
+ }
115
+ }
116
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarScrollableButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
117
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarScrollableButtonComponent, isStandalone: true, selector: "[kendoToolbarScrollableButton]", inputs: { prev: "prev", overflow: "overflow" }, outputs: { onClick: "onClick" }, host: { listeners: { "mousedown": "onMouseDown($event)" }, properties: { "class.k-toolbar-prev": "this.prevClass", "class.k-toolbar-next": "this.nextClass", "attr.role": "this.role" } }, ngImport: i0, template: `
118
+ <kendo-icon-wrapper
119
+ [name]="iconClass"
120
+ [customFontClass]="customIconClass"
121
+ [svgIcon]="svgIcon"
122
+ innerCssClass="k-button-icon"
123
+ >
124
+ </kendo-icon-wrapper>
125
+ `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
126
+ }
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarScrollableButtonComponent, decorators: [{
128
+ type: Component,
129
+ args: [{
130
+ template: `
131
+ <kendo-icon-wrapper
132
+ [name]="iconClass"
133
+ [customFontClass]="customIconClass"
134
+ [svgIcon]="svgIcon"
135
+ innerCssClass="k-button-icon"
136
+ >
137
+ </kendo-icon-wrapper>
138
+ `,
139
+ // eslint-disable-next-line @angular-eslint/component-selector
140
+ selector: '[kendoToolbarScrollableButton]',
141
+ standalone: true,
142
+ imports: [IconWrapperComponent]
143
+ }]
144
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i1.LocalizationService }]; }, propDecorators: { prevClass: [{
145
+ type: HostBinding,
146
+ args: ['class.k-toolbar-prev']
147
+ }], nextClass: [{
148
+ type: HostBinding,
149
+ args: ['class.k-toolbar-next']
150
+ }], onMouseDown: [{
151
+ type: HostListener,
152
+ args: ['mousedown', ['$event']]
153
+ }], role: [{
154
+ type: HostBinding,
155
+ args: ['attr.role']
156
+ }], prev: [{
157
+ type: Input
158
+ }], overflow: [{
159
+ type: Input
160
+ }], onClick: [{
161
+ type: Output
162
+ }] } });