@progress/kendo-angular-toolbar 17.0.0-develop.9 → 17.0.1-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +28 -20
  2. package/common/fillmode.d.ts +8 -0
  3. package/common/size.d.ts +1 -1
  4. package/direction.d.ts +1 -1
  5. package/display-mode.d.ts +1 -1
  6. package/{esm2020 → esm2022}/common/preventable-event.mjs +1 -3
  7. package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
  8. package/{esm2020 → esm2022}/localization/localized-toolbar-messages.directive.mjs +9 -8
  9. package/{esm2020 → esm2022}/localization/messages.mjs +7 -3
  10. package/{esm2020 → esm2022}/navigation.service.mjs +9 -7
  11. package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
  12. package/{esm2020 → esm2022}/refresh.service.mjs +4 -6
  13. package/{esm2020 → esm2022}/renderer.component.mjs +22 -10
  14. package/{esm2020 → esm2022}/renderer.service.mjs +5 -3
  15. package/esm2022/tool-options.mjs +5 -0
  16. package/{esm2020 → esm2022}/toolbar.component.mjs +104 -64
  17. package/{esm2020 → esm2022}/toolbar.module.mjs +4 -4
  18. package/{esm2020 → esm2022}/tools/toolbar-button.component.mjs +110 -98
  19. package/{esm2020 → esm2022}/tools/toolbar-buttongroup.component.mjs +49 -25
  20. package/{esm2020 → esm2022}/tools/toolbar-dropdownbutton.component.mjs +112 -95
  21. package/{esm2020 → esm2022}/tools/toolbar-separator.component.mjs +7 -12
  22. package/{esm2020 → esm2022}/tools/toolbar-spacer.component.mjs +10 -16
  23. package/{esm2020 → esm2022}/tools/toolbar-splitbutton.component.mjs +117 -102
  24. package/{esm2020 → esm2022}/tools/toolbar-tool.component.mjs +23 -13
  25. package/{esm2020 → esm2022}/tools/tools.service.mjs +8 -10
  26. package/{esm2020 → esm2022}/util.mjs +5 -0
  27. package/{fesm2020 → fesm2022}/progress-kendo-angular-toolbar.mjs +612 -484
  28. package/group-selection-settings.d.ts +1 -1
  29. package/index.d.ts +1 -0
  30. package/localization/messages.d.ts +1 -1
  31. package/package.json +15 -21
  32. package/render-location.d.ts +1 -1
  33. package/renderer.component.d.ts +1 -1
  34. package/schematics/ngAdd/index.js +1 -1
  35. package/toolbar.component.d.ts +11 -1
  36. package/tools/toolbar-button.component.d.ts +2 -8
  37. package/tools/toolbar-buttongroup.component.d.ts +8 -4
  38. package/tools/toolbar-dropdownbutton.component.d.ts +2 -4
  39. package/tools/toolbar-separator.component.d.ts +1 -3
  40. package/tools/toolbar-spacer.component.d.ts +1 -3
  41. package/tools/toolbar-splitbutton.component.d.ts +2 -4
  42. package/tools/toolbar-tool.component.d.ts +3 -3
  43. package/fesm2015/progress-kendo-angular-toolbar.mjs +0 -3374
  44. /package/{esm2020/common/renderer-click.mjs → esm2022/common/fillmode.mjs} +0 -0
  45. /package/{esm2020/common/size.mjs → esm2022/common/renderer-click.mjs} +0 -0
  46. /package/{esm2020/direction.mjs → esm2022/common/size.mjs} +0 -0
  47. /package/{esm2020/display-mode.mjs → esm2022/direction.mjs} +0 -0
  48. /package/{esm2020 → esm2022}/directives.mjs +0 -0
  49. /package/{esm2020/group-selection-settings.mjs → esm2022/display-mode.mjs} +0 -0
  50. /package/{esm2020/popup-settings.mjs → esm2022/group-selection-settings.mjs} +0 -0
  51. /package/{esm2020 → esm2022}/index.mjs +0 -0
  52. /package/{esm2020/render-location.mjs → esm2022/popup-settings.mjs} +0 -0
  53. /package/{esm2020 → esm2022}/progress-kendo-angular-toolbar.mjs +0 -0
  54. /package/{esm2020/tool-options.mjs → esm2022/render-location.mjs} +0 -0
package/README.md CHANGED
@@ -1,34 +1,42 @@
1
- <a href="https://www.telerik.com/kendo-angular-ui/" target="_blank">
1
+ <a href="https://www.telerik.com/kendo-angular-ui/components/toolbar" target="_blank">
2
2
  <img width="631" src="https://www.telerik.com/kendo-angular-ui/npm-banner.svg">
3
3
  </a>
4
4
 
5
5
  ## Kendo UI for Angular ToolBar Component
6
6
 
7
- > **Important**
8
- > * This package is part of [Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)&mdash;a commercial library.
9
- > * You will need to install a license key when adding the package to your project. For more information, please refer to the [Kendo UI for Angular My License page](https://www.telerik.com/kendo-angular-ui/my-license?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar).
10
- > * To receive a license key, you need to either [purchase a license](https://www.telerik.com/purchase/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar) or register for a [free trial](https://www.telerik.com/download-login-v2-kendo-angular-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar). Doing so indicates that you [accept the Kendo UI for Angular License Agreement](https://www.telerik.com/purchase/license-agreement/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar).
11
- > * The 30-day free trial gives you access to all the Kendo UI for Angular components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the Kendo UI for Angular dev team!
12
- >
13
- > [Start using Kendo UI for Angular](https://www.telerik.com/download-login-v2-kendo-angular-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar) and speed up your development process!
7
+ > * This package is part of the [Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui/)&mdash;a commercial UI library.
8
+ > * You must [install a license key](https://www.telerik.com/kendo-angular-ui/my-license) when adding the package to your project. To receive a license key, either [purchase a license](https://www.telerik.com/purchase/kendo-ui) or register for a [free trial](https://www.telerik.com/download-login-v2-kendo-angular-ui).
9
+ > * The 30-day free trial gives you access to all the Kendo UI for Angular components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the Kendo UI for Angular team!
14
10
 
15
- The Kendo UI for Angular Toolbar component provides a collection of various button types, such as a drop-down and a split button, in a single UI element. Beyond supporting various button types, the Angular Toolbar includes ways to organize these buttons into various groups.
11
+ The Kendo UI for Angular ToolBar provides a graphical container for holding button elements and allows users to effortlessly structure and access them. The ToolBar is built from the ground up and specifically for Angular, so that you get a high-performance control which integrates tightly with your application and with the rest of the Kendo UI for Angular components.
16
12
 
17
- This component is part of the Kendo UI for Angular component library. Kendo UI for Angular is a commercial UI library designed and built for developing business applications with Angular. Every UI component in the Kendo UI for Angular suite has been built from the ground-up specifically for Angular.
13
+ ## Key Features
18
14
 
19
- ## Resources
15
+ Among the many features which the Kendo UI for Angular ToolBar delivers are:
16
+
17
+ * Control Types&mdash;The ToolBar features built-in control types, which enable you to display specific tools and controls to the ToolBar container. [Read more about the built-in ToolBar control types...](https://www.telerik.com/kendo-angular-ui/components/toolbar/control-types)
18
+ * Custom Control Types&mdash;The ToolBar allows you to create custom tools that can be added to the ToolBar and Overflow Popup. [Read more about the custom control types of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/custom-control-types)
19
+ * Responsive ToolBar&mdash;The ToolBar provides options to hide the tools that do not fit its width in an overflow popup. [Read more about the responsive behavior of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/responsive-toolbar)
20
+ * Appearance&mdash;The ToolBar provides built-in options that allow you to customize its appearance. [Read more about customizing the appearance of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/appearance)
21
+ * Globalization&mdash;The Kendo UI for Angular ToolBar supports globalization to ensure that it can fit well in any application, no matter what languages and locales need to be supported. Additionally, the ToolBar supports rendering in a right-to-left (RTL) direction. [Read more about the globalization of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/globalization)
22
+ * Accessibility&mdash;The ToolBar is accessible for screen readers and supports WAI-ARIA attributes. [Read more about the accessibility of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/accessibility)
23
+ * Keyboard Navigation&mdash;The ToolBar supports a number of keyboard shortcuts which allow users to accomplish various commands. [Read more about the keyboard navigation of the ToolBar...](https://www.telerik.com/kendo-angular-ui/components/toolbar/keyboard-navigation)
24
+
25
+ ## Support Options
20
26
 
21
- * [Get Started with Kendo UI for Angular (requires trial registration)](https://www.telerik.com/kendo-angular-ui/getting-started?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)
22
- * [Demos, documentation, and component reference](https://www.telerik.com/kendo-angular-ui/components?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)
23
- * [Blogs](http://www.telerik.com/blogs/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)
24
- * [Kendo UI for Angular pricing and licensing](https://www.telerik.com/purchase/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)
27
+ For any issues you might encounter while working with the Kendo UI for Angular ToolBar, you have the following support channels available:
25
28
 
26
- ## Questions and Feedback
29
+ * Industry-leading technical support&mdash;Kendo UI for Angular paid license holders and users with an active (free) trial license can take advantage of our outstanding customer support. To submit a ticket, use the [dedicated Kendo UI for Angular support system](https://www.telerik.com/account/support-center/contact-us/technical-support).
30
+ * Product forums&mdash;The [Kendo UI for Angular forums](https://www.telerik.com/forums/kendo-angular-ui) are part of the free support you can get from the community and from the Kendo UI for Angular team.
31
+ * Feedback portal&mdash;The [Kendo UI for Angular feedback portal](https://feedback.telerik.com/kendo-angular-ui) is where you can request and vote for new features to be added.
32
+
33
+ ## Resources
27
34
 
28
- * [Official Forums](https://www.telerik.com/forums/kendo-angular-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)
29
- * [GitHub Issues](https://github.com/telerik/kendo-angular/issues?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)
30
- * [Feedback Portal](https://feedback.telerik.com/kendo-angular-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)
31
- * [StackOverflow](https://stackoverflow.com/questions/tagged/kendo-ui-angular2?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-angular-trial-npm-toolbar)
35
+ * [Getting Started with Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui/getting-started)
36
+ * [Getting Started with the Kendo UI for Angular ToolBar](https://www.telerik.com/kendo-angular-ui/components/toolbar/installation/getting-started)
37
+ * [Demos, documentation, and component reference](https://www.telerik.com/kendo-angular-ui/components)
38
+ * [Blogs](http://www.telerik.com/blogs/kendo-ui)
39
+ * [Kendo UI for Angular pricing and licensing](https://www.telerik.com/purchase/kendo-ui)
32
40
 
33
41
  *Copyright © 2024 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved.*
34
42
 
@@ -0,0 +1,8 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 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 fillMode options of the Toolbar.
7
+ */
8
+ export type ToolbarFillMode = 'solid' | 'flat' | 'outline' | 'none';
package/common/size.d.ts CHANGED
@@ -6,4 +6,4 @@
6
6
  * Represents the possible size options of the Toolbar.
7
7
  * @default `medium`
8
8
  */
9
- export declare type ToolbarSize = 'small' | 'medium' | 'large' | 'none';
9
+ export type ToolbarSize = 'small' | 'medium' | 'large' | 'none';
package/direction.d.ts CHANGED
@@ -5,4 +5,4 @@
5
5
  /**
6
6
  * @hidden
7
7
  */
8
- export declare type Direction = 'rtl' | 'ltr';
8
+ export type Direction = 'rtl' | 'ltr';
package/display-mode.d.ts CHANGED
@@ -7,4 +7,4 @@
7
7
  *
8
8
  * @default 'both'
9
9
  */
10
- export declare type DisplayMode = 'both' | 'toolbar' | 'overflow';
10
+ export type DisplayMode = 'both' | 'toolbar' | 'overflow';
@@ -6,9 +6,7 @@
6
6
  * @hidden
7
7
  */
8
8
  export class PreventableEvent {
9
- constructor() {
10
- this.prevented = false;
11
- }
9
+ prevented = false;
12
10
  /**
13
11
  * Prevents the default action for a specified event.
14
12
  * In this way, the source component suppresses the built-in behavior that follows the event.
@@ -11,6 +11,7 @@ import * as i1 from "@progress/kendo-angular-l10n";
11
11
  * Custom component messages override default component messages.
12
12
  */
13
13
  export class ToolbarCustomMessagesComponent extends ToolbarMessages {
14
+ service;
14
15
  constructor(service) {
15
16
  super();
16
17
  this.service = service;
@@ -18,15 +19,15 @@ export class ToolbarCustomMessagesComponent extends ToolbarMessages {
18
19
  get override() {
19
20
  return true;
20
21
  }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarCustomMessagesComponent, isStandalone: true, selector: "kendo-toolbar-messages", providers: [
24
+ {
25
+ provide: ToolbarMessages,
26
+ useExisting: forwardRef(() => ToolbarCustomMessagesComponent)
27
+ }
28
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
21
29
  }
22
- ToolbarCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
23
- ToolbarCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ToolbarCustomMessagesComponent, isStandalone: true, selector: "kendo-toolbar-messages", providers: [
24
- {
25
- provide: ToolbarMessages,
26
- useExisting: forwardRef(() => ToolbarCustomMessagesComponent)
27
- }
28
- ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarCustomMessagesComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarCustomMessagesComponent, decorators: [{
30
31
  type: Component,
31
32
  args: [{
32
33
  providers: [
@@ -11,19 +11,20 @@ import * as i1 from "@progress/kendo-angular-l10n";
11
11
  * @hidden
12
12
  */
13
13
  export class LocalizedToolbarMessagesDirective extends ToolbarMessages {
14
+ service;
14
15
  constructor(service) {
15
16
  super();
16
17
  this.service = service;
17
18
  }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedToolbarMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedToolbarMessagesDirective, isStandalone: true, selector: "[kendoToolbarLocalizedMessages]", providers: [
21
+ {
22
+ provide: ToolbarMessages,
23
+ useExisting: forwardRef(() => LocalizedToolbarMessagesDirective)
24
+ }
25
+ ], usesInheritance: true, ngImport: i0 });
18
26
  }
19
- LocalizedToolbarMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedToolbarMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
20
- LocalizedToolbarMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedToolbarMessagesDirective, isStandalone: true, selector: "[kendoToolbarLocalizedMessages]", providers: [
21
- {
22
- provide: ToolbarMessages,
23
- useExisting: forwardRef(() => LocalizedToolbarMessagesDirective)
24
- }
25
- ], usesInheritance: true, ngImport: i0 });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedToolbarMessagesDirective, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedToolbarMessagesDirective, decorators: [{
27
28
  type: Directive,
28
29
  args: [{
29
30
  providers: [
@@ -9,10 +9,14 @@ import * as i0 from "@angular/core";
9
9
  * @hidden
10
10
  */
11
11
  export class ToolbarMessages extends ComponentMessages {
12
+ /**
13
+ * The title of the **more tools** button in a responsive ToolBar
14
+ */
15
+ moreToolsTitle;
16
+ 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 });
12
18
  }
13
- ToolbarMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
- ToolbarMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ToolbarMessages, selector: "kendo-toolbar-messages-base", inputs: { moreToolsTitle: "moreToolsTitle" }, usesInheritance: true, ngImport: i0 });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarMessages, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarMessages, decorators: [{
16
20
  type: Directive,
17
21
  args: [{
18
22
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -10,12 +10,14 @@ import * as i0 from "@angular/core";
10
10
  * @hidden
11
11
  */
12
12
  export class NavigationService {
13
+ zone;
14
+ overflowButton;
15
+ focused = { renderedTool: null, index: -1 };
16
+ renderedTools = [];
17
+ isPopupFocused = false;
18
+ isOverflowButtonFocused = false;
13
19
  constructor(zone) {
14
20
  this.zone = zone;
15
- this.focused = { renderedTool: null, index: -1 };
16
- this.renderedTools = [];
17
- this.isPopupFocused = false;
18
- this.isOverflowButtonFocused = false;
19
21
  }
20
22
  setRenderedTools(rts) {
21
23
  this.renderedTools = rts;
@@ -147,9 +149,9 @@ export class NavigationService {
147
149
  return (isPresent(this.overflowButton) &&
148
150
  window.getComputedStyle(this.overflowButton.nativeElement).getPropertyValue('visibility') === 'visible');
149
151
  }
152
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
153
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService });
150
154
  }
151
- NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
152
- NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService });
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, decorators: [{
154
156
  type: Injectable
155
157
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-toolbar',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1729174376,
13
- version: '17.0.0-develop.9',
12
+ publishDate: 1731429673,
13
+ version: '17.0.1-develop.1',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -8,15 +8,13 @@ import * as i0 from "@angular/core";
8
8
  * @hidden
9
9
  */
10
10
  export class RefreshService {
11
- constructor() {
12
- this.onRefresh = new EventEmitter();
13
- }
11
+ onRefresh = new EventEmitter();
14
12
  refresh(tool) {
15
13
  this.onRefresh.emit(tool);
16
14
  }
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RefreshService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RefreshService });
17
17
  }
18
- RefreshService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RefreshService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
19
- RefreshService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RefreshService });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RefreshService, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RefreshService, decorators: [{
21
19
  type: Injectable
22
20
  }] });
@@ -17,19 +17,28 @@ const MIN_SPACER_WIDTH = 18;
17
17
  * @hidden
18
18
  */
19
19
  export class ToolBarRendererComponent {
20
+ renderer;
21
+ rendererService;
22
+ refreshService;
23
+ toolsService;
24
+ viewContainer;
25
+ tool;
26
+ location;
27
+ resizable;
28
+ rendererClick = new EventEmitter();
29
+ template;
30
+ element;
31
+ get isSpacer() {
32
+ return this.tool && this.tool.__isSpacer;
33
+ }
34
+ refreshSubscription;
35
+ internalComponentRef;
20
36
  constructor(renderer, rendererService, refreshService, toolsService, viewContainer) {
21
37
  this.renderer = renderer;
22
38
  this.rendererService = rendererService;
23
39
  this.refreshService = refreshService;
24
40
  this.toolsService = toolsService;
25
41
  this.viewContainer = viewContainer;
26
- this.rendererClick = new EventEmitter();
27
- this.onClick = (ev) => {
28
- this.rendererClick.emit({ context: this, event: ev });
29
- };
30
- }
31
- get isSpacer() {
32
- return this.tool && this.tool.__isSpacer;
33
42
  }
34
43
  ngOnInit() {
35
44
  const viewContainerRootNodes = this.viewContainer.get(0)?.rootNodes?.filter(isElementOrTextNode);
@@ -101,6 +110,9 @@ export class ToolBarRendererComponent {
101
110
  setAttribute(element, attr, value) {
102
111
  this.renderer.setAttribute(element, attr, value);
103
112
  }
113
+ onClick = (ev) => {
114
+ this.rendererClick.emit({ context: this, event: ev });
115
+ };
104
116
  updateTools() {
105
117
  const isInToolbar = this.toolsService.renderedTools.some(t => t.tool === this.tool);
106
118
  const isInPopup = this.toolsService.overflowTools.some(t => t.tool === this.tool);
@@ -118,10 +130,10 @@ export class ToolBarRendererComponent {
118
130
  }
119
131
  }
120
132
  }
133
+ 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 });
134
+ 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 });
121
135
  }
122
- ToolBarRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, deps: [{ token: i0.Renderer2 }, { token: i1.RendererService }, { token: i2.RefreshService }, { token: i3.ToolbarToolsService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
123
- ToolBarRendererComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ToolBarRendererComponent, isStandalone: true, selector: "[kendoToolbarRenderer]", inputs: { tool: "tool", location: "location", resizable: "resizable" }, outputs: { rendererClick: "rendererClick" }, providers: [RendererService], ngImport: i0 });
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarRendererComponent, decorators: [{
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarRendererComponent, decorators: [{
125
137
  type: Directive,
126
138
  args: [{
127
139
  providers: [RendererService],
@@ -9,6 +9,8 @@ import * as i0 from "@angular/core";
9
9
  * @hidden
10
10
  */
11
11
  export class RendererService {
12
+ element;
13
+ renderer;
12
14
  getElement() {
13
15
  return this.element.nativeElement;
14
16
  }
@@ -42,9 +44,9 @@ export class RendererService {
42
44
  setAttribute(element, attr, value) {
43
45
  this.renderer.setAttribute(element, attr, value);
44
46
  }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
48
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RendererService });
45
49
  }
46
- RendererService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RendererService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
- RendererService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RendererService });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RendererService, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RendererService, decorators: [{
49
51
  type: Injectable
50
52
  }] });
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -32,6 +32,7 @@ import * as i3 from "./refresh.service";
32
32
  import * as i4 from "./navigation.service";
33
33
  import * as i5 from "./tools/tools.service";
34
34
  const DEFAULT_SIZE = 'medium';
35
+ const DEFAULT_FILL_MODE = 'solid';
35
36
  const immediateResizeThreshold = 300;
36
37
  const getInitialPopupSettings = (isRtl) => ({
37
38
  animate: true,
@@ -42,56 +43,22 @@ const getInitialPopupSettings = (isRtl) => ({
42
43
  * Represents the [Kendo UI ToolBar component for Angular]({% slug overview_toolbar %}).
43
44
  */
44
45
  export class ToolBarComponent {
45
- constructor(localization, popupService, refreshService, navigationService,
46
- // Needs to be public as it is being accessed in the Editor component
47
- element, zone, renderer, _cdr, toolsService) {
48
- this.localization = localization;
49
- this.popupService = popupService;
50
- this.refreshService = refreshService;
51
- this.navigationService = navigationService;
52
- this.element = element;
53
- this.zone = zone;
54
- this.renderer = renderer;
55
- this._cdr = _cdr;
56
- this.toolsService = toolsService;
57
- /**
58
- * Hides the overflowing tools in a popup.
59
- */
60
- this.overflow = false;
61
- /**
62
- * Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the ToolBar.
63
- */
64
- this.tabindex = 0;
65
- /**
66
- * Fires when the overflow popup of the ToolBar is opened.
67
- */
68
- this.open = new EventEmitter();
69
- /**
70
- * Fires when the overflow popup of the ToolBar is closed.
71
- */
72
- this.close = new EventEmitter();
73
- this.hostClass = true;
74
- this.cancelRenderedToolsSubscription$ = new Subject();
75
- this._size = DEFAULT_SIZE;
76
- this.overflowButtonClickedTime = null;
77
- this.subscriptions = new Subscription();
78
- this.popupSubs = new Subscription();
79
- this.role = 'toolbar';
80
- this.moreVerticalIcon = moreVerticalIcon;
81
- /**
82
- * @hidden
83
- */
84
- this.overflowBtnId = guid();
85
- /**
86
- * @hidden
87
- */
88
- this.popupId = guid();
89
- validatePackage(packageMetadata);
90
- this.direction = localization.rtl ? 'rtl' : 'ltr';
91
- }
46
+ localization;
47
+ popupService;
48
+ refreshService;
49
+ navigationService;
50
+ element;
51
+ zone;
52
+ renderer;
53
+ _cdr;
54
+ toolsService;
92
55
  get overflowClass() {
93
56
  return `k-button-${SIZES[this.size]}`;
94
57
  }
58
+ /**
59
+ * Hides the overflowing tools in a popup.
60
+ */
61
+ overflow = false;
95
62
  /**
96
63
  * @hidden
97
64
  */
@@ -114,6 +81,24 @@ export class ToolBarComponent {
114
81
  get popupSettings() {
115
82
  return this._popupSettings || getInitialPopupSettings(this.localization.rtl);
116
83
  }
84
+ /**
85
+ * The fillMode property specifies the background and border styles of the Toolbar
86
+ * ([see example](slug:appearance_toolbar#toc-fill-mode)).
87
+ *
88
+ * @default 'solid'
89
+ */
90
+ set fillMode(fillMode) {
91
+ const newFillMode = fillMode ? fillMode : DEFAULT_FILL_MODE;
92
+ this.handleClasses(newFillMode, 'fillMode');
93
+ this._fillMode = newFillMode;
94
+ }
95
+ get fillMode() {
96
+ return this._fillMode;
97
+ }
98
+ /**
99
+ * Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the ToolBar.
100
+ */
101
+ tabindex = 0;
117
102
  /**
118
103
  * Specifies the padding of all Toolbar elements.
119
104
  *
@@ -140,6 +125,21 @@ export class ToolBarComponent {
140
125
  get tabIndex() {
141
126
  return this.tabindex;
142
127
  }
128
+ /**
129
+ * Fires when the overflow popup of the ToolBar is opened.
130
+ */
131
+ open = new EventEmitter();
132
+ /**
133
+ * Fires when the overflow popup of the ToolBar is closed.
134
+ */
135
+ close = new EventEmitter();
136
+ allTools;
137
+ overflowButton;
138
+ popupTemplate;
139
+ resizeSensor;
140
+ container;
141
+ popupRef;
142
+ direction;
143
143
  get appendTo() {
144
144
  const { appendTo } = this.popupSettings;
145
145
  if (!appendTo || appendTo === 'root') {
@@ -166,6 +166,19 @@ export class ToolBarComponent {
166
166
  get popupOpen() {
167
167
  return this._open;
168
168
  }
169
+ hostClass = true;
170
+ _popupSettings;
171
+ cachedOverflowAnchorWidth;
172
+ _open;
173
+ toolbarKeydownListener;
174
+ overflowKeydownListener;
175
+ cancelRenderedToolsSubscription$ = new Subject();
176
+ cachedGap;
177
+ _size = DEFAULT_SIZE;
178
+ _fillMode = DEFAULT_FILL_MODE;
179
+ overflowButtonClickedTime = null;
180
+ subscriptions = new Subscription();
181
+ popupSubs = new Subscription();
169
182
  /**
170
183
  * @hidden
171
184
  */
@@ -186,12 +199,29 @@ export class ToolBarComponent {
186
199
  }
187
200
  this.element.nativeElement.setAttribute('tabindex', this.tabindex.toString());
188
201
  }
202
+ role = 'toolbar';
189
203
  get getDir() {
190
204
  return this.direction;
191
205
  }
192
206
  get resizableClass() {
193
207
  return this.overflow;
194
208
  }
209
+ moreVerticalIcon = moreVerticalIcon;
210
+ constructor(localization, popupService, refreshService, navigationService,
211
+ // Needs to be public as it is being accessed in the Editor component
212
+ element, zone, renderer, _cdr, toolsService) {
213
+ this.localization = localization;
214
+ this.popupService = popupService;
215
+ this.refreshService = refreshService;
216
+ this.navigationService = navigationService;
217
+ this.element = element;
218
+ this.zone = zone;
219
+ this.renderer = renderer;
220
+ this._cdr = _cdr;
221
+ this.toolsService = toolsService;
222
+ validatePackage(packageMetadata);
223
+ this.direction = localization.rtl ? 'rtl' : 'ltr';
224
+ }
195
225
  ngAfterContentInit() {
196
226
  this.toolsService.allTools = this.allTools.toArray();
197
227
  this.subscriptions.add(this.allTools.changes.subscribe(changes => {
@@ -266,7 +296,10 @@ export class ToolBarComponent {
266
296
  });
267
297
  }
268
298
  this.navigationService.setRenderedTools(this.toolsService.renderedTools);
269
- this.handleClasses(this.size, 'size');
299
+ const stylingOptions = ['size', 'fillMode'];
300
+ stylingOptions.forEach(option => {
301
+ this.handleClasses(this[option], option);
302
+ });
270
303
  }
271
304
  ngOnInit() {
272
305
  this.subscriptions.add(this.localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
@@ -431,6 +464,14 @@ export class ToolBarComponent {
431
464
  }
432
465
  this.renderer.removeAttribute(this.overflowButton.nativeElement, 'aria-controls');
433
466
  }
467
+ /**
468
+ * @hidden
469
+ */
470
+ overflowBtnId = guid();
471
+ /**
472
+ * @hidden
473
+ */
474
+ popupId = guid();
434
475
  displayAnchor() {
435
476
  const visibility = this.allTools.filter(t => t.overflows && t.responsive).length > 0 ? 'visible' : 'hidden';
436
477
  this.overflowButton && this.renderer.setStyle(this.overflowButton.nativeElement, 'visibility', visibility);
@@ -578,18 +619,17 @@ export class ToolBarComponent {
578
619
  }
579
620
  return classes;
580
621
  }
581
- }
582
- ToolBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", 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 }], target: i0.ɵɵFactoryTarget.Component });
583
- ToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ToolBarComponent, isStandalone: true, selector: "kendo-toolbar", inputs: { overflow: "overflow", resizable: "resizable", popupSettings: "popupSettings", 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-solid": "this.hostClass", "attr.role": "this.role", "attr.dir": "this.getDir", "class.k-toolbar-resizable": "this.resizableClass" } }, providers: [
584
- RefreshService,
585
- NavigationService,
586
- LocalizationService,
587
- ToolbarToolsService,
588
- {
589
- provide: L10N_PREFIX,
590
- useValue: 'kendo.toolbar'
591
- }
592
- ], queries: [{ propertyName: "allTools", predicate: ToolBarToolComponent }], viewQueries: [{ propertyName: "overflowButton", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "resizeSensor", first: true, predicate: ["resizeSensor"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], exportAs: ["kendoToolBar"], usesOnChanges: true, ngImport: i0, template: `
622
+ 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 }], target: i0.ɵɵFactoryTarget.Component });
623
+ 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", "attr.role": "this.role", "attr.dir": "this.getDir", "class.k-toolbar-resizable": "this.resizableClass" } }, providers: [
624
+ RefreshService,
625
+ NavigationService,
626
+ LocalizationService,
627
+ ToolbarToolsService,
628
+ {
629
+ provide: L10N_PREFIX,
630
+ useValue: 'kendo.toolbar'
631
+ }
632
+ ], queries: [{ propertyName: "allTools", predicate: ToolBarToolComponent }], viewQueries: [{ propertyName: "overflowButton", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "resizeSensor", first: true, predicate: ["resizeSensor"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], exportAs: ["kendoToolBar"], usesOnChanges: true, ngImport: i0, template: `
593
633
  <ng-container kendoToolbarLocalizedMessages
594
634
  i18n-moreToolsTitle="kendo.toolbar.moreToolsTitle|The title of the **more tools** button in a responsive ToolBar"
595
635
  moreToolsTitle="More tools"
@@ -656,7 +696,8 @@ ToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
656
696
  <ng-container #container></ng-container>
657
697
  <kendo-resize-sensor *ngIf="overflow" #resizeSensor></kendo-resize-sensor>
658
698
  `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: LocalizedToolbarMessagesDirective, selector: "[kendoToolbarLocalizedMessages]" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: ToolBarRendererComponent, selector: "[kendoToolbarRenderer]", inputs: ["tool", "location", "resizable"], outputs: ["rendererClick"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }] });
659
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolBarComponent, decorators: [{
699
+ }
700
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarComponent, decorators: [{
660
701
  type: Component,
661
702
  args: [{
662
703
  exportAs: 'kendoToolBar',
@@ -747,6 +788,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
747
788
  type: Input
748
789
  }], popupSettings: [{
749
790
  type: Input
791
+ }], fillMode: [{
792
+ type: Input
750
793
  }], tabindex: [{
751
794
  type: Input
752
795
  }], size: [{
@@ -776,9 +819,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
776
819
  }], hostClass: [{
777
820
  type: HostBinding,
778
821
  args: ['class.k-toolbar']
779
- }, {
780
- type: HostBinding,
781
- args: ['class.k-toolbar-solid']
782
822
  }], onFocus: [{
783
823
  type: HostListener,
784
824
  args: ['focus', ['$event']]