@progress/kendo-angular-toolbar 19.0.0-develop.2 → 19.0.0-develop.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/display-mode.d.ts CHANGED
@@ -3,8 +3,14 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
6
- * The position of the text inside the Toolbar buttons.
6
+ * Specifies the visibility of the toolbar tool text or icon.
7
7
  *
8
- * @default 'both'
8
+ * The possible values are:
9
+ * - `always`—The text or icon is always visible, regardless of the current overflow mode.
10
+ * - `toolbar`—The text or icon is displayed in the main ToolBar and in the overflow element when `section` overflow mode is used.
11
+ * - `menu`—The text or icon is displayed only in the overflow popup when `menu` overflow mode is used.
12
+ * - `never`—The text or icon is never rendered.
13
+ *
14
+ * @default 'always'
9
15
  */
10
- export type DisplayMode = 'both' | 'toolbar' | 'overflow';
16
+ export type DisplayMode = 'always' | 'toolbar' | 'menu' | 'never';
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1745321602,
14
- version: '19.0.0-develop.2',
13
+ publishDate: 1747410189,
14
+ version: '19.0.0-develop.20',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Input, Renderer2 as Renderer, Output, EventEmitter, Directive, ViewContainerRef } from '@angular/core';
6
+ import { isPresent } from '@progress/kendo-angular-common';
6
7
  import { ToolBarToolComponent } from './tools/toolbar-tool.component';
7
8
  import { RefreshService } from './refresh.service';
8
9
  import { RendererService } from './renderer.service';
@@ -59,24 +60,38 @@ export class ToolBarRendererComponent {
59
60
  if (this.resizable) {
60
61
  if (this.location === 'toolbar') {
61
62
  this.template = this.tool.toolbarTemplate;
62
- this.renderer.setStyle(this.internalComponentRef, 'visibility', 'hidden');
63
- this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
63
+ this.hideTool();
64
64
  }
65
65
  else if (this.location === 'section') {
66
66
  this.template = this.tool.toolbarTemplate;
67
- this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
68
- this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
67
+ if (this.tool.isHidden) {
68
+ this.hideTool();
69
+ }
70
+ else {
71
+ this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
72
+ this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
73
+ }
69
74
  }
70
75
  else {
71
76
  this.template = this.tool.popupTemplate;
72
- this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
77
+ if (this.tool.isHidden) {
78
+ this.hideTool();
79
+ }
80
+ else {
81
+ this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
82
+ }
73
83
  }
74
84
  }
75
85
  else {
76
86
  this.tool.overflows = false;
77
87
  this.template = this.tool.toolbarTemplate;
78
- this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
79
- this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
88
+ if (this.tool.isHidden) {
89
+ this.hideTool();
90
+ }
91
+ else {
92
+ this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
93
+ this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
94
+ }
80
95
  }
81
96
  }
82
97
  ngOnDestroy() {
@@ -103,7 +118,13 @@ export class ToolBarRendererComponent {
103
118
  }
104
119
  refresh() {
105
120
  this.tool.location = this.location;
106
- if (this.resizable && this.internalComponentRef) {
121
+ if (!isPresent(this.internalComponentRef)) {
122
+ return;
123
+ }
124
+ if (this.tool.isHidden) {
125
+ this.hideTool();
126
+ }
127
+ else if (this.resizable) {
107
128
  if (this.location === 'toolbar') {
108
129
  this.renderer.setStyle(this.internalComponentRef, 'visibility', this.tool.visibility);
109
130
  this.renderer.setStyle(this.internalComponentRef, 'display', this.tool.toolbarDisplay);
@@ -111,8 +132,12 @@ export class ToolBarRendererComponent {
111
132
  else {
112
133
  this.renderer.setStyle(this.internalComponentRef, 'display', this.tool.overflowDisplay);
113
134
  }
114
- this.updateTools();
115
135
  }
136
+ else {
137
+ this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
138
+ this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
139
+ }
140
+ this.updateTools();
116
141
  }
117
142
  setAttribute(element, attr, value) {
118
143
  this.renderer.setAttribute(element, attr, value);
@@ -138,6 +163,10 @@ export class ToolBarRendererComponent {
138
163
  }
139
164
  }
140
165
  }
166
+ hideTool() {
167
+ this.renderer.setStyle(this.internalComponentRef, 'visibility', 'hidden');
168
+ this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
169
+ }
141
170
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: i1.RendererService }, { token: i2.RefreshService }, { token: i3.ToolbarToolsService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
142
171
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarRendererComponent, isStandalone: true, selector: "[kendoToolbarRenderer]", inputs: { tool: "tool", location: "location", resizable: "resizable" }, outputs: { rendererClick: "rendererClick" }, providers: [RendererService], ngImport: i0 });
143
172
  }
@@ -178,6 +178,34 @@ export class ToolBarComponent {
178
178
  get tabIndex() {
179
179
  return this.tabindex;
180
180
  }
181
+ /**
182
+ * Specifies the icons visibility for all tools in the ToolBar.
183
+ * This can be overridden by the `showIcon` property of each tool.
184
+ */
185
+ showIcon = 'always';
186
+ /**
187
+ * @hidden
188
+ */
189
+ get normalizedShowIcon() {
190
+ if (typeof this.showIcon === 'boolean') {
191
+ return this.showIcon ? 'always' : 'never';
192
+ }
193
+ return this.showIcon;
194
+ }
195
+ /**
196
+ * Specifies the text visibility for all tools in the ToolBar.
197
+ * This can be overridden by the `showText` property of each tool.
198
+ */
199
+ showText = 'always';
200
+ /**
201
+ * @hidden
202
+ */
203
+ get normalizedShowText() {
204
+ if (typeof this.showText === 'boolean') {
205
+ return this.showText ? 'always' : 'never';
206
+ }
207
+ return this.showText;
208
+ }
181
209
  /**
182
210
  * Fires when the overflow popup of the ToolBar is opened.
183
211
  */
@@ -789,10 +817,10 @@ export class ToolBarComponent {
789
817
  if (containerWidth > childrenWidth) {
790
818
  for (let i = this.overflowTools.length - 1; i >= 0; i--) {
791
819
  width = this.showFirstHiddenTool(containerWidth, childrenWidth);
792
- if (width) {
820
+ if (width > 0) {
793
821
  childrenWidth += width + this.gap;
794
822
  }
795
- else {
823
+ else if (width === 0) {
796
824
  break;
797
825
  }
798
826
  }
@@ -827,7 +855,7 @@ export class ToolBarComponent {
827
855
  tool.overflows = true;
828
856
  }
829
857
  this.refreshService.refresh(tool);
830
- return renderedElement.width; // returns 0 if `overflows` is true
858
+ return tool.isHidden ? -1 : renderedElement.width; // returns 0 if `overflows` is true and -1 if the tool is hidden
831
859
  }
832
860
  setPopupContentDimensions(isSection) {
833
861
  const popupContentContainer = this.popupRef.popup.instance.contentContainer.nativeElement;
@@ -954,7 +982,7 @@ export class ToolBarComponent {
954
982
  });
955
983
  }
956
984
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PopupService }, { token: i3.RefreshService }, { token: i4.NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i5.ToolbarToolsService }, { token: i6.ScrollService }], target: i0.ɵɵFactoryTarget.Component });
957
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarComponent, isStandalone: true, selector: "kendo-toolbar", inputs: { overflow: "overflow", resizable: "resizable", popupSettings: "popupSettings", fillMode: "fillMode", tabindex: "tabindex", size: "size", tabIndex: "tabIndex" }, outputs: { open: "open", close: "close" }, host: { listeners: { "focus": "onFocus($event)", "focusout": "onFocusOut($event)" }, properties: { "class.k-toolbar": "this.hostClass", "class.k-toolbar-scrollable": "this.scrollableClass", "class.k-toolbar-section": "this.sectionClass", "attr.role": "this.role", "attr.dir": "this.getDir", "class.k-toolbar-resizable": "this.resizableClass" } }, providers: [
985
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarComponent, isStandalone: true, selector: "kendo-toolbar", inputs: { overflow: "overflow", resizable: "resizable", popupSettings: "popupSettings", fillMode: "fillMode", tabindex: "tabindex", size: "size", tabIndex: "tabIndex", showIcon: "showIcon", showText: "showText" }, outputs: { open: "open", close: "close" }, host: { listeners: { "focus": "onFocus($event)", "focusout": "onFocusOut($event)" }, properties: { "class.k-toolbar": "this.hostClass", "class.k-toolbar-scrollable": "this.scrollableClass", "class.k-toolbar-section": "this.sectionClass", "attr.role": "this.role", "attr.dir": "this.getDir", "class.k-toolbar-resizable": "this.resizableClass" } }, providers: [
958
986
  RefreshService,
959
987
  NavigationService,
960
988
  LocalizationService,
@@ -1397,6 +1425,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1397
1425
  }], tabIndex: [{
1398
1426
  type: Input,
1399
1427
  args: ['tabIndex']
1428
+ }], showIcon: [{
1429
+ type: Input
1430
+ }], showText: [{
1431
+ type: Input
1400
1432
  }], open: [{
1401
1433
  type: Output
1402
1434
  }], close: [{
@@ -10,28 +10,37 @@ import { take } from 'rxjs/operators';
10
10
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
11
11
  import { BadgeComponent } from '@progress/kendo-angular-indicators';
12
12
  import { NgStyle, NgClass, NgIf } from '@angular/common';
13
+ import { ToolBarComponent } from '../toolbar.component';
13
14
  import * as i0 from "@angular/core";
15
+ import * as i1 from "../toolbar.component";
14
16
  /**
15
17
  * Represents the [Kendo UI ToolBar Button tool for Angular]({% slug controltypes_toolbar %}#toc-buttons).
16
18
  */
17
19
  export class ToolBarButtonComponent extends ToolBarToolComponent {
18
20
  element;
19
21
  zone;
22
+ host;
20
23
  // showText and showIcon showIcon should be declared first
21
24
  /**
22
- * Specifies where button text should be displayed
25
+ * Specifies the button text visibility.
23
26
  */
24
27
  set showText(value) {
25
28
  this._showText = value;
26
29
  this.setTextDisplayMode();
27
30
  }
28
31
  get showText() {
29
- return this._showText;
32
+ return this._showText || this.host.normalizedShowText;
30
33
  }
31
34
  /**
32
- * Specifies where button icon should be displayed
35
+ * Specifies the button icon visibility.
33
36
  */
34
- showIcon = 'both';
37
+ set showIcon(value) {
38
+ this._showIcon = value;
39
+ this.setTextDisplayMode();
40
+ }
41
+ get showIcon() {
42
+ return this._showIcon || this.host.normalizedShowIcon;
43
+ }
35
44
  /**
36
45
  * Specifies the text of the Button ([see example]({% slug controltypes_toolbar %}#toc-buttons)).
37
46
  */
@@ -192,12 +201,14 @@ export class ToolBarButtonComponent extends ToolBarToolComponent {
192
201
  toolbarButtonElement;
193
202
  sectionButtonElement;
194
203
  overflowButtonElement;
195
- _showText = 'both';
204
+ _showText;
205
+ _showIcon;
196
206
  _text;
197
- constructor(element, zone) {
207
+ constructor(element, zone, host) {
198
208
  super();
199
209
  this.element = element;
200
210
  this.zone = zone;
211
+ this.host = host;
201
212
  this.isBuiltInTool = true;
202
213
  }
203
214
  ngOnInit() {
@@ -249,16 +260,19 @@ export class ToolBarButtonComponent extends ToolBarToolComponent {
249
260
  this.selected = state;
250
261
  this.selectedChange.emit(state);
251
262
  }
263
+ /**
264
+ * @hidden
265
+ */
252
266
  getButton() {
253
267
  return this[`${this.location}ButtonElement`]?.nativeElement;
254
268
  }
255
269
  setTextDisplayMode() {
256
- this.toolbarOptions.text = this.showText === 'overflow' ? undefined : this.text;
270
+ this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
257
271
  this.zone.onStable.pipe(take(1)).subscribe(() => {
258
- this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
272
+ this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
259
273
  });
260
274
  }
261
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
275
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
262
276
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarButtonComponent, isStandalone: true, selector: "kendo-toolbar-button", inputs: { showText: "showText", showIcon: "showIcon", text: "text", style: "style", className: "className", title: "title", disabled: "disabled", toggleable: "toggleable", look: "look", togglable: "togglable", selected: "selected", fillMode: "fillMode", themeColor: "themeColor", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon", imageUrl: "imageUrl" }, outputs: { click: "click", pointerdown: "pointerdown", selectedChange: "selectedChange" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarButtonComponent) }], viewQueries: [{ propertyName: "toolbarButtonElement", first: true, predicate: ["toolbarButton"], descendants: true, read: ElementRef }, { propertyName: "sectionButtonElement", first: true, predicate: ["sectionButton"], descendants: true, read: ElementRef }, { propertyName: "overflowButtonElement", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }], exportAs: ["kendoToolBarButton"], usesInheritance: true, ngImport: i0, template: `
263
277
  <ng-template #toolbarTemplate>
264
278
  <button
@@ -435,7 +449,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
435
449
  standalone: true,
436
450
  imports: [ButtonComponent, NgStyle, NgClass, NgIf, IconWrapperComponent, BadgeComponent],
437
451
  }]
438
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { showText: [{
452
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.ToolBarComponent }]; }, propDecorators: { showText: [{
439
453
  type: Input
440
454
  }], showIcon: [{
441
455
  type: Input
@@ -9,13 +9,16 @@ import { getValueForLocation, makePeeker, getIndexOfFocused, getPrevKey, getNext
9
9
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
10
10
  import { NgClass, NgIf, NgFor } from '@angular/common';
11
11
  import { take } from 'rxjs/operators';
12
+ import { ToolBarComponent } from '../toolbar.component';
12
13
  import * as i0 from "@angular/core";
14
+ import * as i1 from "../toolbar.component";
13
15
  /**
14
16
  * Represents the [Kendo UI ToolBar DropDownButton for Angular](slug:controltypes_toolbar#drop-down-buttons).
15
17
  */
16
18
  export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
17
19
  zone;
18
20
  renderer;
21
+ host;
19
22
  /**
20
23
  * Allows showing the default arrow icon or providing alternative one instead.
21
24
  * @default false
@@ -28,19 +31,24 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
28
31
  title = '';
29
32
  // showText and showIcon showIcon should be declared first
30
33
  /**
31
- * Defines the location of the button text that will be displayed.
34
+ * Specifies the button text visibility.
32
35
  */
33
36
  set showText(value) {
34
37
  this._showText = value;
35
38
  this.setTextDisplayMode();
36
39
  }
37
40
  get showText() {
38
- return this._showText;
41
+ return this._showText || this.host.normalizedShowText;
39
42
  }
40
43
  /**
41
- * Defines the location of the button icon that will be displayed.
44
+ * Specifies the button icon visibility.
42
45
  */
43
- showIcon = 'both';
46
+ set showIcon(value) {
47
+ this._showIcon = value;
48
+ }
49
+ get showIcon() {
50
+ return this._showIcon || this.host.normalizedShowIcon;
51
+ }
44
52
  /**
45
53
  * Sets the text of the DropDownButton
46
54
  * ([see example](slug:controltypes_toolbar#toc-drop-down-buttons)).
@@ -215,14 +223,16 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
215
223
  _data;
216
224
  _popupSettings = { animate: true, popupClass: '' };
217
225
  focusedIndex = -1;
218
- _showText = 'both';
226
+ _showText;
227
+ _showIcon;
219
228
  _text;
220
229
  getNextKey;
221
230
  getPrevKey;
222
- constructor(zone, renderer) {
231
+ constructor(zone, renderer, host) {
223
232
  super();
224
233
  this.zone = zone;
225
234
  this.renderer = renderer;
235
+ this.host = host;
226
236
  this.getNextKey = getNextKey();
227
237
  this.getPrevKey = getPrevKey();
228
238
  this.isBuiltInTool = true;
@@ -232,9 +242,9 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
232
242
  }
233
243
  ngAfterViewInit() {
234
244
  this.zone.onStable.pipe(take(1)).subscribe(() => {
235
- const dropDownButton = this[`${this.location}DropDownButton`];
236
- if (dropDownButton) {
237
- this.renderer.addClass(dropDownButton.button.nativeElement, 'k-toolbar-menu-button');
245
+ const dropdownButton = this[`${this.location}DropDownButton`];
246
+ if (dropdownButton?.button) {
247
+ this.renderer.addClass(dropdownButton.button.nativeElement, 'k-toolbar-menu-button');
238
248
  }
239
249
  });
240
250
  }
@@ -288,7 +298,6 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
288
298
  if (dataItem) {
289
299
  return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
290
300
  }
291
- return undefined;
292
301
  }
293
302
  /**
294
303
  * @hidden
@@ -307,10 +316,10 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
307
316
  }
308
317
  }
309
318
  setTextDisplayMode() {
310
- this.toolbarOptions.text = this.showText === 'overflow' ? undefined : this.text;
311
- this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
319
+ this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
320
+ this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
312
321
  }
313
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarDropDownButtonComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
322
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarDropDownButtonComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
314
323
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarDropDownButtonComponent, isStandalone: true, selector: "kendo-toolbar-dropdownbutton", inputs: { arrowIcon: "arrowIcon", title: "title", showText: "showText", showIcon: "showIcon", text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", popupSettings: "popupSettings", look: "look", primary: "primary", fillMode: "fillMode", themeColor: "themeColor", buttonClass: "buttonClass", textField: "textField", disabled: "disabled", data: "data" }, outputs: { itemClick: "itemClick", open: "open", close: "close" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarDropDownButtonComponent) }], viewQueries: [{ propertyName: "dropdownButton", first: true, predicate: ["dropdownButton"], descendants: true, read: ElementRef, static: true }, { propertyName: "toolbarDropDownButton", first: true, predicate: ["toolbarDropDownButton"], descendants: true }, { propertyName: "sectionDropDownButton", first: true, predicate: ["sectionDropDownButton"], descendants: true }, { propertyName: "overflowListItems", predicate: ["listItem"], descendants: true }], exportAs: ["kendoToolBarDropDownButton"], usesInheritance: true, ngImport: i0, template: `
315
324
  <ng-template #toolbarTemplate>
316
325
  <kendo-dropdownbutton #toolbarDropDownButton
@@ -501,7 +510,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
501
510
  standalone: true,
502
511
  imports: [DropDownButtonComponent, NgClass, NgIf, IconWrapperComponent, NgFor]
503
512
  }]
504
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { arrowIcon: [{
513
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ToolBarComponent }]; }, propDecorators: { arrowIcon: [{
505
514
  type: Input
506
515
  }], title: [{
507
516
  type: Input
@@ -9,26 +9,46 @@ import { getValueForLocation, makePeeker, getIndexOfFocused, getPrevKey, getNext
9
9
  import { caretAltDownIcon } from '@progress/kendo-svg-icons';
10
10
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
11
11
  import { NgClass, NgIf, NgFor } from '@angular/common';
12
+ import { isPresent } from '@progress/kendo-angular-common';
13
+ import { ToolBarComponent } from '../toolbar.component';
12
14
  import * as i0 from "@angular/core";
15
+ import * as i1 from "../toolbar.component";
13
16
  /**
14
17
  * Represents the [Kendo UI ToolBar SplitButton for Angular](slug:controltypes_toolbar#toc-split-buttons).
15
18
  */
16
19
  export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
20
+ host;
17
21
  // showText and showIcon showIcon should be declared first
18
22
  /**
19
- * Specifies where button text should be displayed
23
+ * Specifies the button text visibility.
20
24
  */
21
25
  set showText(value) {
22
- this._showText = value;
26
+ if (!isPresent(value)) {
27
+ this._showText = this.host.normalizedShowText;
28
+ }
29
+ else {
30
+ this._showText = value;
31
+ }
23
32
  this.setTextDisplayMode();
24
33
  }
25
34
  get showText() {
26
- return this._showText;
35
+ return this._showText || this.host.normalizedShowText;
27
36
  }
28
37
  /**
29
- * Specifies where button icon should be displayed
38
+ * Specifies the button icon visibility.
30
39
  */
31
- showIcon = 'both';
40
+ set showIcon(value) {
41
+ if (!isPresent(value)) {
42
+ this._showIcon = this.host.normalizedShowIcon;
43
+ }
44
+ else {
45
+ this._showIcon = value;
46
+ }
47
+ this.setTextDisplayMode();
48
+ }
49
+ get showIcon() {
50
+ return this._showIcon || this.host.normalizedShowIcon;
51
+ }
32
52
  /**
33
53
  * Sets the text of the SplitButton ([see example](slug:controltypes_toolbar#toc-split-buttons)).
34
54
  */
@@ -215,7 +235,8 @@ export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
215
235
  _data;
216
236
  _popupSettings = { animate: true, popupClass: '' };
217
237
  focusedIndex = -1;
218
- _showText = 'both';
238
+ _showText;
239
+ _showIcon;
219
240
  _text;
220
241
  getNextKey;
221
242
  getPrevKey;
@@ -223,8 +244,9 @@ export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
223
244
  sectionSplitButton;
224
245
  overflowMainButton;
225
246
  overflowListItems;
226
- constructor() {
247
+ constructor(host) {
227
248
  super();
249
+ this.host = host;
228
250
  this.getNextKey = getNextKey();
229
251
  this.getPrevKey = getPrevKey();
230
252
  this.isBuiltInTool = true;
@@ -284,7 +306,6 @@ export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
284
306
  if (dataItem) {
285
307
  return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
286
308
  }
287
- return undefined;
288
309
  }
289
310
  /**
290
311
  * @hidden
@@ -303,10 +324,10 @@ export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
303
324
  }
304
325
  }
305
326
  setTextDisplayMode() {
306
- this.toolbarOptions.text = this.showText === 'overflow' ? undefined : this.text;
307
- this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
327
+ this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
328
+ this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
308
329
  }
309
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarSplitButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
330
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarSplitButtonComponent, deps: [{ token: i1.ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
310
331
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarSplitButtonComponent, isStandalone: true, selector: "kendo-toolbar-splitbutton", inputs: { showText: "showText", showIcon: "showIcon", text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", disabled: "disabled", popupSettings: "popupSettings", fillMode: "fillMode", themeColor: "themeColor", look: "look", buttonClass: "buttonClass", arrowButtonClass: "arrowButtonClass", arrowButtonIcon: "arrowButtonIcon", arrowButtonSvgIcon: "arrowButtonSvgIcon", textField: "textField", data: "data" }, outputs: { buttonClick: "buttonClick", itemClick: "itemClick", open: "open", close: "close" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarSplitButtonComponent) }], viewQueries: [{ propertyName: "toolbarSplitButton", first: true, predicate: ["toolbarSplitButton"], descendants: true }, { propertyName: "sectionSplitButton", first: true, predicate: ["sectionSplitButton"], descendants: true }, { propertyName: "overflowMainButton", first: true, predicate: ["overflowMainButton"], descendants: true, read: ElementRef }, { propertyName: "overflowListItems", predicate: ["listItem"], descendants: true }], exportAs: ["kendoToolBarSplitButton"], usesInheritance: true, ngImport: i0, template: `
311
332
  <ng-template #toolbarTemplate>
312
333
  <kendo-splitbutton
@@ -511,7 +532,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
511
532
  standalone: true,
512
533
  imports: [SplitButtonComponent, NgClass, NgIf, IconWrapperComponent, NgFor]
513
534
  }]
514
- }], ctorParameters: function () { return []; }, propDecorators: { showText: [{
535
+ }], ctorParameters: function () { return [{ type: i1.ToolBarComponent }]; }, propDecorators: { showText: [{
515
536
  type: Input
516
537
  }], showIcon: [{
517
538
  type: Input
@@ -17,6 +17,10 @@ export class ToolBarToolComponent {
17
17
  visibility;
18
18
  element;
19
19
  isBuiltInTool = false;
20
+ /**
21
+ * @hidden
22
+ */
23
+ isHidden = false;
20
24
  /**
21
25
  * @hidden
22
26
  */
package/esm2022/util.mjs CHANGED
@@ -179,8 +179,10 @@ export const getValueForLocation = (property, displayMode, overflows) => {
179
179
  switch (displayMode) {
180
180
  case 'toolbar':
181
181
  return overflows ? undefined : property;
182
- case 'overflow':
182
+ case 'menu':
183
183
  return overflows ? property : undefined;
184
+ case 'never':
185
+ return;
184
186
  default:
185
187
  return property;
186
188
  }
@@ -6,7 +6,7 @@ import * as i0 from '@angular/core';
6
6
  import { EventEmitter, Injectable, inject, ElementRef, Directive, ViewChild, Input, Output, forwardRef, Component, HostBinding, ViewContainerRef, ContentChildren, HostListener, isDevMode, ViewChildren, NgModule } from '@angular/core';
7
7
  import * as i2 from '@progress/kendo-angular-popup';
8
8
  import { PopupService } from '@progress/kendo-angular-popup';
9
- import { Keys, isDocumentAvailable, guid, ResizeSensorComponent, ResizeBatchService } from '@progress/kendo-angular-common';
9
+ import { Keys, isPresent as isPresent$1, isDocumentAvailable, guid, ResizeSensorComponent, ResizeBatchService } from '@progress/kendo-angular-common';
10
10
  import * as i1 from '@progress/kendo-angular-l10n';
11
11
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
12
12
  import { validatePackage } from '@progress/kendo-licensing';
@@ -26,8 +26,8 @@ const packageMetadata = {
26
26
  productName: 'Kendo UI for Angular',
27
27
  productCode: 'KENDOUIANGULAR',
28
28
  productCodes: ['KENDOUIANGULAR'],
29
- publishDate: 1745321602,
30
- version: '19.0.0-develop.2',
29
+ publishDate: 1747410189,
30
+ version: '19.0.0-develop.20',
31
31
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
32
32
  };
33
33
 
@@ -222,8 +222,10 @@ const getValueForLocation = (property, displayMode, overflows) => {
222
222
  switch (displayMode) {
223
223
  case 'toolbar':
224
224
  return overflows ? undefined : property;
225
- case 'overflow':
225
+ case 'menu':
226
226
  return overflows ? property : undefined;
227
+ case 'never':
228
+ return;
227
229
  default:
228
230
  return property;
229
231
  }
@@ -447,6 +449,10 @@ class ToolBarToolComponent {
447
449
  visibility;
448
450
  element;
449
451
  isBuiltInTool = false;
452
+ /**
453
+ * @hidden
454
+ */
455
+ isHidden = false;
450
456
  /**
451
457
  * @hidden
452
458
  */
@@ -646,24 +652,38 @@ class ToolBarRendererComponent {
646
652
  if (this.resizable) {
647
653
  if (this.location === 'toolbar') {
648
654
  this.template = this.tool.toolbarTemplate;
649
- this.renderer.setStyle(this.internalComponentRef, 'visibility', 'hidden');
650
- this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
655
+ this.hideTool();
651
656
  }
652
657
  else if (this.location === 'section') {
653
658
  this.template = this.tool.toolbarTemplate;
654
- this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
655
- this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
659
+ if (this.tool.isHidden) {
660
+ this.hideTool();
661
+ }
662
+ else {
663
+ this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
664
+ this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
665
+ }
656
666
  }
657
667
  else {
658
668
  this.template = this.tool.popupTemplate;
659
- this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
669
+ if (this.tool.isHidden) {
670
+ this.hideTool();
671
+ }
672
+ else {
673
+ this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
674
+ }
660
675
  }
661
676
  }
662
677
  else {
663
678
  this.tool.overflows = false;
664
679
  this.template = this.tool.toolbarTemplate;
665
- this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
666
- this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
680
+ if (this.tool.isHidden) {
681
+ this.hideTool();
682
+ }
683
+ else {
684
+ this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
685
+ this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
686
+ }
667
687
  }
668
688
  }
669
689
  ngOnDestroy() {
@@ -690,7 +710,13 @@ class ToolBarRendererComponent {
690
710
  }
691
711
  refresh() {
692
712
  this.tool.location = this.location;
693
- if (this.resizable && this.internalComponentRef) {
713
+ if (!isPresent$1(this.internalComponentRef)) {
714
+ return;
715
+ }
716
+ if (this.tool.isHidden) {
717
+ this.hideTool();
718
+ }
719
+ else if (this.resizable) {
694
720
  if (this.location === 'toolbar') {
695
721
  this.renderer.setStyle(this.internalComponentRef, 'visibility', this.tool.visibility);
696
722
  this.renderer.setStyle(this.internalComponentRef, 'display', this.tool.toolbarDisplay);
@@ -698,8 +724,12 @@ class ToolBarRendererComponent {
698
724
  else {
699
725
  this.renderer.setStyle(this.internalComponentRef, 'display', this.tool.overflowDisplay);
700
726
  }
701
- this.updateTools();
702
727
  }
728
+ else {
729
+ this.renderer.setStyle(this.internalComponentRef, 'visibility', 'visible');
730
+ this.renderer.setStyle(this.internalComponentRef, 'display', 'inline-flex');
731
+ }
732
+ this.updateTools();
703
733
  }
704
734
  setAttribute(element, attr, value) {
705
735
  this.renderer.setAttribute(element, attr, value);
@@ -725,6 +755,10 @@ class ToolBarRendererComponent {
725
755
  }
726
756
  }
727
757
  }
758
+ hideTool() {
759
+ this.renderer.setStyle(this.internalComponentRef, 'visibility', 'hidden');
760
+ this.renderer.setStyle(this.internalComponentRef, 'display', 'none');
761
+ }
728
762
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: RendererService }, { token: RefreshService }, { token: ToolbarToolsService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
729
763
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarRendererComponent, isStandalone: true, selector: "[kendoToolbarRenderer]", inputs: { tool: "tool", location: "location", resizable: "resizable" }, outputs: { rendererClick: "rendererClick" }, providers: [RendererService], ngImport: i0 });
730
764
  }
@@ -1197,6 +1231,34 @@ class ToolBarComponent {
1197
1231
  get tabIndex() {
1198
1232
  return this.tabindex;
1199
1233
  }
1234
+ /**
1235
+ * Specifies the icons visibility for all tools in the ToolBar.
1236
+ * This can be overridden by the `showIcon` property of each tool.
1237
+ */
1238
+ showIcon = 'always';
1239
+ /**
1240
+ * @hidden
1241
+ */
1242
+ get normalizedShowIcon() {
1243
+ if (typeof this.showIcon === 'boolean') {
1244
+ return this.showIcon ? 'always' : 'never';
1245
+ }
1246
+ return this.showIcon;
1247
+ }
1248
+ /**
1249
+ * Specifies the text visibility for all tools in the ToolBar.
1250
+ * This can be overridden by the `showText` property of each tool.
1251
+ */
1252
+ showText = 'always';
1253
+ /**
1254
+ * @hidden
1255
+ */
1256
+ get normalizedShowText() {
1257
+ if (typeof this.showText === 'boolean') {
1258
+ return this.showText ? 'always' : 'never';
1259
+ }
1260
+ return this.showText;
1261
+ }
1200
1262
  /**
1201
1263
  * Fires when the overflow popup of the ToolBar is opened.
1202
1264
  */
@@ -1808,10 +1870,10 @@ class ToolBarComponent {
1808
1870
  if (containerWidth > childrenWidth) {
1809
1871
  for (let i = this.overflowTools.length - 1; i >= 0; i--) {
1810
1872
  width = this.showFirstHiddenTool(containerWidth, childrenWidth);
1811
- if (width) {
1873
+ if (width > 0) {
1812
1874
  childrenWidth += width + this.gap;
1813
1875
  }
1814
- else {
1876
+ else if (width === 0) {
1815
1877
  break;
1816
1878
  }
1817
1879
  }
@@ -1846,7 +1908,7 @@ class ToolBarComponent {
1846
1908
  tool.overflows = true;
1847
1909
  }
1848
1910
  this.refreshService.refresh(tool);
1849
- return renderedElement.width; // returns 0 if `overflows` is true
1911
+ return tool.isHidden ? -1 : renderedElement.width; // returns 0 if `overflows` is true and -1 if the tool is hidden
1850
1912
  }
1851
1913
  setPopupContentDimensions(isSection) {
1852
1914
  const popupContentContainer = this.popupRef.popup.instance.contentContainer.nativeElement;
@@ -1973,7 +2035,7 @@ class ToolBarComponent {
1973
2035
  });
1974
2036
  }
1975
2037
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PopupService }, { token: RefreshService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: ToolbarToolsService }, { token: ScrollService }], target: i0.ɵɵFactoryTarget.Component });
1976
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarComponent, isStandalone: true, selector: "kendo-toolbar", inputs: { overflow: "overflow", resizable: "resizable", popupSettings: "popupSettings", fillMode: "fillMode", tabindex: "tabindex", size: "size", tabIndex: "tabIndex" }, outputs: { open: "open", close: "close" }, host: { listeners: { "focus": "onFocus($event)", "focusout": "onFocusOut($event)" }, properties: { "class.k-toolbar": "this.hostClass", "class.k-toolbar-scrollable": "this.scrollableClass", "class.k-toolbar-section": "this.sectionClass", "attr.role": "this.role", "attr.dir": "this.getDir", "class.k-toolbar-resizable": "this.resizableClass" } }, providers: [
2038
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarComponent, isStandalone: true, selector: "kendo-toolbar", inputs: { overflow: "overflow", resizable: "resizable", popupSettings: "popupSettings", fillMode: "fillMode", tabindex: "tabindex", size: "size", tabIndex: "tabIndex", showIcon: "showIcon", showText: "showText" }, outputs: { open: "open", close: "close" }, host: { listeners: { "focus": "onFocus($event)", "focusout": "onFocusOut($event)" }, properties: { "class.k-toolbar": "this.hostClass", "class.k-toolbar-scrollable": "this.scrollableClass", "class.k-toolbar-section": "this.sectionClass", "attr.role": "this.role", "attr.dir": "this.getDir", "class.k-toolbar-resizable": "this.resizableClass" } }, providers: [
1977
2039
  RefreshService,
1978
2040
  NavigationService,
1979
2041
  LocalizationService,
@@ -2416,6 +2478,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2416
2478
  }], tabIndex: [{
2417
2479
  type: Input,
2418
2480
  args: ['tabIndex']
2481
+ }], showIcon: [{
2482
+ type: Input
2483
+ }], showText: [{
2484
+ type: Input
2419
2485
  }], open: [{
2420
2486
  type: Output
2421
2487
  }], close: [{
@@ -2488,21 +2554,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2488
2554
  class ToolBarButtonComponent extends ToolBarToolComponent {
2489
2555
  element;
2490
2556
  zone;
2557
+ host;
2491
2558
  // showText and showIcon showIcon should be declared first
2492
2559
  /**
2493
- * Specifies where button text should be displayed
2560
+ * Specifies the button text visibility.
2494
2561
  */
2495
2562
  set showText(value) {
2496
2563
  this._showText = value;
2497
2564
  this.setTextDisplayMode();
2498
2565
  }
2499
2566
  get showText() {
2500
- return this._showText;
2567
+ return this._showText || this.host.normalizedShowText;
2501
2568
  }
2502
2569
  /**
2503
- * Specifies where button icon should be displayed
2570
+ * Specifies the button icon visibility.
2504
2571
  */
2505
- showIcon = 'both';
2572
+ set showIcon(value) {
2573
+ this._showIcon = value;
2574
+ this.setTextDisplayMode();
2575
+ }
2576
+ get showIcon() {
2577
+ return this._showIcon || this.host.normalizedShowIcon;
2578
+ }
2506
2579
  /**
2507
2580
  * Specifies the text of the Button ([see example]({% slug controltypes_toolbar %}#toc-buttons)).
2508
2581
  */
@@ -2663,12 +2736,14 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
2663
2736
  toolbarButtonElement;
2664
2737
  sectionButtonElement;
2665
2738
  overflowButtonElement;
2666
- _showText = 'both';
2739
+ _showText;
2740
+ _showIcon;
2667
2741
  _text;
2668
- constructor(element, zone) {
2742
+ constructor(element, zone, host) {
2669
2743
  super();
2670
2744
  this.element = element;
2671
2745
  this.zone = zone;
2746
+ this.host = host;
2672
2747
  this.isBuiltInTool = true;
2673
2748
  }
2674
2749
  ngOnInit() {
@@ -2720,16 +2795,19 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
2720
2795
  this.selected = state;
2721
2796
  this.selectedChange.emit(state);
2722
2797
  }
2798
+ /**
2799
+ * @hidden
2800
+ */
2723
2801
  getButton() {
2724
2802
  return this[`${this.location}ButtonElement`]?.nativeElement;
2725
2803
  }
2726
2804
  setTextDisplayMode() {
2727
- this.toolbarOptions.text = this.showText === 'overflow' ? undefined : this.text;
2805
+ this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
2728
2806
  this.zone.onStable.pipe(take(1)).subscribe(() => {
2729
- this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
2807
+ this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
2730
2808
  });
2731
2809
  }
2732
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
2810
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
2733
2811
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarButtonComponent, isStandalone: true, selector: "kendo-toolbar-button", inputs: { showText: "showText", showIcon: "showIcon", text: "text", style: "style", className: "className", title: "title", disabled: "disabled", toggleable: "toggleable", look: "look", togglable: "togglable", selected: "selected", fillMode: "fillMode", themeColor: "themeColor", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon", imageUrl: "imageUrl" }, outputs: { click: "click", pointerdown: "pointerdown", selectedChange: "selectedChange" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarButtonComponent) }], viewQueries: [{ propertyName: "toolbarButtonElement", first: true, predicate: ["toolbarButton"], descendants: true, read: ElementRef }, { propertyName: "sectionButtonElement", first: true, predicate: ["sectionButton"], descendants: true, read: ElementRef }, { propertyName: "overflowButtonElement", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }], exportAs: ["kendoToolBarButton"], usesInheritance: true, ngImport: i0, template: `
2734
2812
  <ng-template #toolbarTemplate>
2735
2813
  <button
@@ -2906,7 +2984,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2906
2984
  standalone: true,
2907
2985
  imports: [ButtonComponent, NgStyle, NgClass, NgIf, IconWrapperComponent, BadgeComponent],
2908
2986
  }]
2909
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { showText: [{
2987
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: ToolBarComponent }]; }, propDecorators: { showText: [{
2910
2988
  type: Input
2911
2989
  }], showIcon: [{
2912
2990
  type: Input
@@ -3360,6 +3438,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3360
3438
  class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
3361
3439
  zone;
3362
3440
  renderer;
3441
+ host;
3363
3442
  /**
3364
3443
  * Allows showing the default arrow icon or providing alternative one instead.
3365
3444
  * @default false
@@ -3372,19 +3451,24 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
3372
3451
  title = '';
3373
3452
  // showText and showIcon showIcon should be declared first
3374
3453
  /**
3375
- * Defines the location of the button text that will be displayed.
3454
+ * Specifies the button text visibility.
3376
3455
  */
3377
3456
  set showText(value) {
3378
3457
  this._showText = value;
3379
3458
  this.setTextDisplayMode();
3380
3459
  }
3381
3460
  get showText() {
3382
- return this._showText;
3461
+ return this._showText || this.host.normalizedShowText;
3383
3462
  }
3384
3463
  /**
3385
- * Defines the location of the button icon that will be displayed.
3464
+ * Specifies the button icon visibility.
3386
3465
  */
3387
- showIcon = 'both';
3466
+ set showIcon(value) {
3467
+ this._showIcon = value;
3468
+ }
3469
+ get showIcon() {
3470
+ return this._showIcon || this.host.normalizedShowIcon;
3471
+ }
3388
3472
  /**
3389
3473
  * Sets the text of the DropDownButton
3390
3474
  * ([see example](slug:controltypes_toolbar#toc-drop-down-buttons)).
@@ -3559,14 +3643,16 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
3559
3643
  _data;
3560
3644
  _popupSettings = { animate: true, popupClass: '' };
3561
3645
  focusedIndex = -1;
3562
- _showText = 'both';
3646
+ _showText;
3647
+ _showIcon;
3563
3648
  _text;
3564
3649
  getNextKey;
3565
3650
  getPrevKey;
3566
- constructor(zone, renderer) {
3651
+ constructor(zone, renderer, host) {
3567
3652
  super();
3568
3653
  this.zone = zone;
3569
3654
  this.renderer = renderer;
3655
+ this.host = host;
3570
3656
  this.getNextKey = getNextKey();
3571
3657
  this.getPrevKey = getPrevKey();
3572
3658
  this.isBuiltInTool = true;
@@ -3576,9 +3662,9 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
3576
3662
  }
3577
3663
  ngAfterViewInit() {
3578
3664
  this.zone.onStable.pipe(take(1)).subscribe(() => {
3579
- const dropDownButton = this[`${this.location}DropDownButton`];
3580
- if (dropDownButton) {
3581
- this.renderer.addClass(dropDownButton.button.nativeElement, 'k-toolbar-menu-button');
3665
+ const dropdownButton = this[`${this.location}DropDownButton`];
3666
+ if (dropdownButton?.button) {
3667
+ this.renderer.addClass(dropdownButton.button.nativeElement, 'k-toolbar-menu-button');
3582
3668
  }
3583
3669
  });
3584
3670
  }
@@ -3632,7 +3718,6 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
3632
3718
  if (dataItem) {
3633
3719
  return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
3634
3720
  }
3635
- return undefined;
3636
3721
  }
3637
3722
  /**
3638
3723
  * @hidden
@@ -3651,10 +3736,10 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
3651
3736
  }
3652
3737
  }
3653
3738
  setTextDisplayMode() {
3654
- this.toolbarOptions.text = this.showText === 'overflow' ? undefined : this.text;
3655
- this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
3739
+ this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
3740
+ this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
3656
3741
  }
3657
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarDropDownButtonComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3742
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarDropDownButtonComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
3658
3743
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarDropDownButtonComponent, isStandalone: true, selector: "kendo-toolbar-dropdownbutton", inputs: { arrowIcon: "arrowIcon", title: "title", showText: "showText", showIcon: "showIcon", text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", popupSettings: "popupSettings", look: "look", primary: "primary", fillMode: "fillMode", themeColor: "themeColor", buttonClass: "buttonClass", textField: "textField", disabled: "disabled", data: "data" }, outputs: { itemClick: "itemClick", open: "open", close: "close" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarDropDownButtonComponent) }], viewQueries: [{ propertyName: "dropdownButton", first: true, predicate: ["dropdownButton"], descendants: true, read: ElementRef, static: true }, { propertyName: "toolbarDropDownButton", first: true, predicate: ["toolbarDropDownButton"], descendants: true }, { propertyName: "sectionDropDownButton", first: true, predicate: ["sectionDropDownButton"], descendants: true }, { propertyName: "overflowListItems", predicate: ["listItem"], descendants: true }], exportAs: ["kendoToolBarDropDownButton"], usesInheritance: true, ngImport: i0, template: `
3659
3744
  <ng-template #toolbarTemplate>
3660
3745
  <kendo-dropdownbutton #toolbarDropDownButton
@@ -3845,7 +3930,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3845
3930
  standalone: true,
3846
3931
  imports: [DropDownButtonComponent, NgClass, NgIf, IconWrapperComponent, NgFor]
3847
3932
  }]
3848
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { arrowIcon: [{
3933
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: ToolBarComponent }]; }, propDecorators: { arrowIcon: [{
3849
3934
  type: Input
3850
3935
  }], title: [{
3851
3936
  type: Input
@@ -3905,21 +3990,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3905
3990
  * Represents the [Kendo UI ToolBar SplitButton for Angular](slug:controltypes_toolbar#toc-split-buttons).
3906
3991
  */
3907
3992
  class ToolBarSplitButtonComponent extends ToolBarToolComponent {
3993
+ host;
3908
3994
  // showText and showIcon showIcon should be declared first
3909
3995
  /**
3910
- * Specifies where button text should be displayed
3996
+ * Specifies the button text visibility.
3911
3997
  */
3912
3998
  set showText(value) {
3913
- this._showText = value;
3999
+ if (!isPresent$1(value)) {
4000
+ this._showText = this.host.normalizedShowText;
4001
+ }
4002
+ else {
4003
+ this._showText = value;
4004
+ }
3914
4005
  this.setTextDisplayMode();
3915
4006
  }
3916
4007
  get showText() {
3917
- return this._showText;
4008
+ return this._showText || this.host.normalizedShowText;
3918
4009
  }
3919
4010
  /**
3920
- * Specifies where button icon should be displayed
4011
+ * Specifies the button icon visibility.
3921
4012
  */
3922
- showIcon = 'both';
4013
+ set showIcon(value) {
4014
+ if (!isPresent$1(value)) {
4015
+ this._showIcon = this.host.normalizedShowIcon;
4016
+ }
4017
+ else {
4018
+ this._showIcon = value;
4019
+ }
4020
+ this.setTextDisplayMode();
4021
+ }
4022
+ get showIcon() {
4023
+ return this._showIcon || this.host.normalizedShowIcon;
4024
+ }
3923
4025
  /**
3924
4026
  * Sets the text of the SplitButton ([see example](slug:controltypes_toolbar#toc-split-buttons)).
3925
4027
  */
@@ -4106,7 +4208,8 @@ class ToolBarSplitButtonComponent extends ToolBarToolComponent {
4106
4208
  _data;
4107
4209
  _popupSettings = { animate: true, popupClass: '' };
4108
4210
  focusedIndex = -1;
4109
- _showText = 'both';
4211
+ _showText;
4212
+ _showIcon;
4110
4213
  _text;
4111
4214
  getNextKey;
4112
4215
  getPrevKey;
@@ -4114,8 +4217,9 @@ class ToolBarSplitButtonComponent extends ToolBarToolComponent {
4114
4217
  sectionSplitButton;
4115
4218
  overflowMainButton;
4116
4219
  overflowListItems;
4117
- constructor() {
4220
+ constructor(host) {
4118
4221
  super();
4222
+ this.host = host;
4119
4223
  this.getNextKey = getNextKey();
4120
4224
  this.getPrevKey = getPrevKey();
4121
4225
  this.isBuiltInTool = true;
@@ -4175,7 +4279,6 @@ class ToolBarSplitButtonComponent extends ToolBarToolComponent {
4175
4279
  if (dataItem) {
4176
4280
  return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
4177
4281
  }
4178
- return undefined;
4179
4282
  }
4180
4283
  /**
4181
4284
  * @hidden
@@ -4194,10 +4297,10 @@ class ToolBarSplitButtonComponent extends ToolBarToolComponent {
4194
4297
  }
4195
4298
  }
4196
4299
  setTextDisplayMode() {
4197
- this.toolbarOptions.text = this.showText === 'overflow' ? undefined : this.text;
4198
- this.overflowOptions.text = this.showText === 'toolbar' ? undefined : this.text;
4300
+ this.toolbarOptions.text = this.showText === 'menu' || this.showText === 'never' ? undefined : this.text;
4301
+ this.overflowOptions.text = this.showText === 'toolbar' || this.showText === 'never' ? undefined : this.text;
4199
4302
  }
4200
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarSplitButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4303
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarSplitButtonComponent, deps: [{ token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
4201
4304
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarSplitButtonComponent, isStandalone: true, selector: "kendo-toolbar-splitbutton", inputs: { showText: "showText", showIcon: "showIcon", text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", disabled: "disabled", popupSettings: "popupSettings", fillMode: "fillMode", themeColor: "themeColor", look: "look", buttonClass: "buttonClass", arrowButtonClass: "arrowButtonClass", arrowButtonIcon: "arrowButtonIcon", arrowButtonSvgIcon: "arrowButtonSvgIcon", textField: "textField", data: "data" }, outputs: { buttonClick: "buttonClick", itemClick: "itemClick", open: "open", close: "close" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarSplitButtonComponent) }], viewQueries: [{ propertyName: "toolbarSplitButton", first: true, predicate: ["toolbarSplitButton"], descendants: true }, { propertyName: "sectionSplitButton", first: true, predicate: ["sectionSplitButton"], descendants: true }, { propertyName: "overflowMainButton", first: true, predicate: ["overflowMainButton"], descendants: true, read: ElementRef }, { propertyName: "overflowListItems", predicate: ["listItem"], descendants: true }], exportAs: ["kendoToolBarSplitButton"], usesInheritance: true, ngImport: i0, template: `
4202
4305
  <ng-template #toolbarTemplate>
4203
4306
  <kendo-splitbutton
@@ -4402,7 +4505,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
4402
4505
  standalone: true,
4403
4506
  imports: [SplitButtonComponent, NgClass, NgIf, IconWrapperComponent, NgFor]
4404
4507
  }]
4405
- }], ctorParameters: function () { return []; }, propDecorators: { showText: [{
4508
+ }], ctorParameters: function () { return [{ type: ToolBarComponent }]; }, propDecorators: { showText: [{
4406
4509
  type: Input
4407
4510
  }], showIcon: [{
4408
4511
  type: Input
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-toolbar",
3
- "version": "19.0.0-develop.2",
3
+ "version": "19.0.0-develop.20",
4
4
  "description": "Kendo UI Angular Toolbar component - a single UI element that organizes buttons and other navigation elements",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -25,7 +25,7 @@
25
25
  "package": {
26
26
  "productName": "Kendo UI for Angular",
27
27
  "productCode": "KENDOUIANGULAR",
28
- "publishDate": 1745321602,
28
+ "publishDate": 1747410189,
29
29
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
30
30
  }
31
31
  },
@@ -35,16 +35,16 @@
35
35
  "@angular/core": "16 - 19",
36
36
  "@angular/platform-browser": "16 - 19",
37
37
  "@progress/kendo-licensing": "^1.5.0",
38
- "@progress/kendo-angular-buttons": "19.0.0-develop.2",
39
- "@progress/kendo-angular-common": "19.0.0-develop.2",
40
- "@progress/kendo-angular-l10n": "19.0.0-develop.2",
41
- "@progress/kendo-angular-icons": "19.0.0-develop.2",
42
- "@progress/kendo-angular-popup": "19.0.0-develop.2",
38
+ "@progress/kendo-angular-buttons": "19.0.0-develop.20",
39
+ "@progress/kendo-angular-common": "19.0.0-develop.20",
40
+ "@progress/kendo-angular-l10n": "19.0.0-develop.20",
41
+ "@progress/kendo-angular-icons": "19.0.0-develop.20",
42
+ "@progress/kendo-angular-popup": "19.0.0-develop.20",
43
43
  "rxjs": "^6.5.3 || ^7.0.0"
44
44
  },
45
45
  "dependencies": {
46
46
  "tslib": "^2.3.1",
47
- "@progress/kendo-angular-schematics": "19.0.0-develop.2"
47
+ "@progress/kendo-angular-schematics": "19.0.0-develop.20"
48
48
  },
49
49
  "schematics": "./schematics/collection.json",
50
50
  "module": "fesm2022/progress-kendo-angular-toolbar.mjs",
@@ -41,6 +41,7 @@ export declare class ToolBarRendererComponent implements OnInit, OnDestroy {
41
41
  setAttribute(element: HTMLElement, attr: string, value: string): void;
42
42
  private onClick;
43
43
  private updateTools;
44
+ private hideTool;
44
45
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolBarRendererComponent, never>;
45
46
  static ɵdir: i0.ɵɵDirectiveDeclaration<ToolBarRendererComponent, "[kendoToolbarRenderer]", never, { "tool": { "alias": "tool"; "required": false; }; "location": { "alias": "location"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; }, { "rendererClick": "rendererClick"; }, never, never, true, never>;
46
47
  }
@@ -21,6 +21,7 @@ import { OverflowMode } from './common/overflow-mode';
21
21
  import { ToolbarOverflowSettings } from './common/overflow-settings';
22
22
  import { ToolbarScrollButtonsPosition } from './common/scroll-buttons';
23
23
  import { ScrollService } from './scroll.service';
24
+ import { DisplayMode } from './display-mode';
24
25
  import * as i0 from "@angular/core";
25
26
  /**
26
27
  * Represents the [Kendo UI ToolBar component for Angular]({% slug overview_toolbar %}).
@@ -28,7 +29,7 @@ import * as i0 from "@angular/core";
28
29
  export declare class ToolBarComponent {
29
30
  localization: LocalizationService;
30
31
  private popupService;
31
- private refreshService;
32
+ refreshService: RefreshService;
32
33
  private navigationService;
33
34
  element: ElementRef;
34
35
  private zone;
@@ -105,6 +106,24 @@ export declare class ToolBarComponent {
105
106
  */
106
107
  set tabIndex(tabIndex: number);
107
108
  get tabIndex(): number;
109
+ /**
110
+ * Specifies the icons visibility for all tools in the ToolBar.
111
+ * This can be overridden by the `showIcon` property of each tool.
112
+ */
113
+ showIcon: DisplayMode | boolean;
114
+ /**
115
+ * @hidden
116
+ */
117
+ get normalizedShowIcon(): DisplayMode;
118
+ /**
119
+ * Specifies the text visibility for all tools in the ToolBar.
120
+ * This can be overridden by the `showText` property of each tool.
121
+ */
122
+ showText: DisplayMode | boolean;
123
+ /**
124
+ * @hidden
125
+ */
126
+ get normalizedShowText(): DisplayMode;
108
127
  /**
109
128
  * Fires when the overflow popup of the ToolBar is opened.
110
129
  */
@@ -260,5 +279,5 @@ export declare class ToolBarComponent {
260
279
  private handleScrollModeUpdates;
261
280
  private removeSubscriptions;
262
281
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolBarComponent, never>;
263
- static ɵcmp: i0.ɵɵComponentDeclaration<ToolBarComponent, "kendo-toolbar", ["kendoToolBar"], { "overflow": { "alias": "overflow"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "open": "open"; "close": "close"; }, ["allTools"], never, true, never>;
282
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolBarComponent, "kendo-toolbar", ["kendoToolBar"], { "overflow": { "alias": "overflow"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "showText": { "alias": "showText"; "required": false; }; }, { "open": "open"; "close": "close"; }, ["allTools"], never, true, never>;
264
283
  }
@@ -8,6 +8,7 @@ import { DisplayMode } from '../display-mode';
8
8
  import { ToolOptions } from '../tool-options';
9
9
  import { ButtonFillMode, ButtonThemeColor } from '@progress/kendo-angular-buttons';
10
10
  import { SVGIcon } from '@progress/kendo-svg-icons';
11
+ import { ToolBarComponent } from '../toolbar.component';
11
12
  import * as i0 from "@angular/core";
12
13
  /**
13
14
  * Represents the [Kendo UI ToolBar Button tool for Angular]({% slug controltypes_toolbar %}#toc-buttons).
@@ -15,15 +16,17 @@ import * as i0 from "@angular/core";
15
16
  export declare class ToolBarButtonComponent extends ToolBarToolComponent {
16
17
  element: ElementRef;
17
18
  private zone;
19
+ host: ToolBarComponent;
18
20
  /**
19
- * Specifies where button text should be displayed
21
+ * Specifies the button text visibility.
20
22
  */
21
23
  set showText(value: DisplayMode);
22
24
  get showText(): DisplayMode;
23
25
  /**
24
- * Specifies where button icon should be displayed
26
+ * Specifies the button icon visibility.
25
27
  */
26
- showIcon: DisplayMode;
28
+ set showIcon(value: DisplayMode);
29
+ get showIcon(): DisplayMode;
27
30
  /**
28
31
  * Specifies the text of the Button ([see example]({% slug controltypes_toolbar %}#toc-buttons)).
29
32
  */
@@ -144,8 +147,9 @@ export declare class ToolBarButtonComponent extends ToolBarToolComponent {
144
147
  sectionButtonElement: ElementRef;
145
148
  private overflowButtonElement;
146
149
  private _showText;
150
+ private _showIcon;
147
151
  private _text;
148
- constructor(element: ElementRef, zone: NgZone);
152
+ constructor(element: ElementRef, zone: NgZone, host: ToolBarComponent);
149
153
  ngOnInit(): void;
150
154
  /**
151
155
  * @hidden
@@ -171,7 +175,10 @@ export declare class ToolBarButtonComponent extends ToolBarToolComponent {
171
175
  * @hidden
172
176
  */
173
177
  selectedChangeHandler(state: boolean): void;
174
- private getButton;
178
+ /**
179
+ * @hidden
180
+ */
181
+ getButton(): HTMLElement;
175
182
  private setTextDisplayMode;
176
183
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolBarButtonComponent, never>;
177
184
  static ɵcmp: i0.ɵɵComponentDeclaration<ToolBarButtonComponent, "kendo-toolbar-button", ["kendoToolBarButton"], { "showText": { "alias": "showText"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "text": { "alias": "text"; "required": false; }; "style": { "alias": "style"; "required": false; }; "className": { "alias": "className"; "required": false; }; "title": { "alias": "title"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "toggleable": { "alias": "toggleable"; "required": false; }; "look": { "alias": "look"; "required": false; }; "togglable": { "alias": "togglable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; }, { "click": "click"; "pointerdown": "pointerdown"; "selectedChange": "selectedChange"; }, never, never, true, never>;
@@ -10,6 +10,7 @@ import { DisplayMode } from '../display-mode';
10
10
  import { ToolOptions } from '../tool-options';
11
11
  import { PreventableEvent } from '@progress/kendo-angular-buttons';
12
12
  import { SVGIcon } from '@progress/kendo-svg-icons';
13
+ import { ToolBarComponent } from '../toolbar.component';
13
14
  import * as i0 from "@angular/core";
14
15
  /**
15
16
  * Represents the [Kendo UI ToolBar DropDownButton for Angular](slug:controltypes_toolbar#drop-down-buttons).
@@ -17,6 +18,7 @@ import * as i0 from "@angular/core";
17
18
  export declare class ToolBarDropDownButtonComponent extends ToolBarToolComponent implements OnInit {
18
19
  private zone;
19
20
  private renderer;
21
+ private host;
20
22
  /**
21
23
  * Allows showing the default arrow icon or providing alternative one instead.
22
24
  * @default false
@@ -28,14 +30,15 @@ export declare class ToolBarDropDownButtonComponent extends ToolBarToolComponent
28
30
  */
29
31
  title: string;
30
32
  /**
31
- * Defines the location of the button text that will be displayed.
33
+ * Specifies the button text visibility.
32
34
  */
33
35
  set showText(value: DisplayMode);
34
36
  get showText(): DisplayMode;
35
37
  /**
36
- * Defines the location of the button icon that will be displayed.
38
+ * Specifies the button icon visibility.
37
39
  */
38
- showIcon: DisplayMode;
40
+ set showIcon(value: DisplayMode);
41
+ get showIcon(): DisplayMode;
39
42
  /**
40
43
  * Sets the text of the DropDownButton
41
44
  * ([see example](slug:controltypes_toolbar#toc-drop-down-buttons)).
@@ -155,10 +158,11 @@ export declare class ToolBarDropDownButtonComponent extends ToolBarToolComponent
155
158
  private _popupSettings;
156
159
  private focusedIndex;
157
160
  private _showText;
161
+ private _showIcon;
158
162
  private _text;
159
163
  private getNextKey;
160
164
  private getPrevKey;
161
- constructor(zone: NgZone, renderer: Renderer2);
165
+ constructor(zone: NgZone, renderer: Renderer2, host: ToolBarComponent);
162
166
  ngOnInit(): void;
163
167
  ngAfterViewInit(): void;
164
168
  /**
@@ -10,20 +10,23 @@ import { DisplayMode } from '../display-mode';
10
10
  import { ToolOptions } from '../tool-options';
11
11
  import { PreventableEvent } from '@progress/kendo-angular-buttons';
12
12
  import { SVGIcon } from '@progress/kendo-svg-icons';
13
+ import { ToolBarComponent } from '../toolbar.component';
13
14
  import * as i0 from "@angular/core";
14
15
  /**
15
16
  * Represents the [Kendo UI ToolBar SplitButton for Angular](slug:controltypes_toolbar#toc-split-buttons).
16
17
  */
17
18
  export declare class ToolBarSplitButtonComponent extends ToolBarToolComponent implements OnInit {
19
+ private host;
18
20
  /**
19
- * Specifies where button text should be displayed
21
+ * Specifies the button text visibility.
20
22
  */
21
23
  set showText(value: DisplayMode);
22
24
  get showText(): DisplayMode;
23
25
  /**
24
- * Specifies where button icon should be displayed
26
+ * Specifies the button icon visibility.
25
27
  */
26
- showIcon: DisplayMode;
28
+ set showIcon(value: DisplayMode);
29
+ get showIcon(): DisplayMode;
27
30
  /**
28
31
  * Sets the text of the SplitButton ([see example](slug:controltypes_toolbar#toc-split-buttons)).
29
32
  */
@@ -152,6 +155,7 @@ export declare class ToolBarSplitButtonComponent extends ToolBarToolComponent im
152
155
  private _popupSettings;
153
156
  private focusedIndex;
154
157
  private _showText;
158
+ private _showIcon;
155
159
  private _text;
156
160
  private getNextKey;
157
161
  private getPrevKey;
@@ -159,7 +163,7 @@ export declare class ToolBarSplitButtonComponent extends ToolBarToolComponent im
159
163
  private sectionSplitButton;
160
164
  private overflowMainButton;
161
165
  overflowListItems: QueryList<ElementRef>;
162
- constructor();
166
+ constructor(host: ToolBarComponent);
163
167
  /**
164
168
  * @hidden
165
169
  */
@@ -18,6 +18,10 @@ export declare class ToolBarToolComponent {
18
18
  visibility: string;
19
19
  element: ElementRef;
20
20
  isBuiltInTool: boolean;
21
+ /**
22
+ * @hidden
23
+ */
24
+ isHidden: boolean;
21
25
  /**
22
26
  * @hidden
23
27
  */