@progress/kendo-angular-buttons 21.4.1 → 22.0.0-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 (73) hide show
  1. package/fesm2022/progress-kendo-angular-buttons.mjs +105 -105
  2. package/listbutton/list-button.d.ts +1 -1
  3. package/package.json +11 -19
  4. package/splitbutton/localization/messages.d.ts +1 -1
  5. package/esm2022/button/button-settings.mjs +0 -5
  6. package/esm2022/button/button.component.mjs +0 -558
  7. package/esm2022/button/button.module.mjs +0 -43
  8. package/esm2022/button/button.service.mjs +0 -22
  9. package/esm2022/button/selection-settings.mjs +0 -5
  10. package/esm2022/buttongroup/buttongroup.component.mjs +0 -340
  11. package/esm2022/buttongroup/buttongroup.module.mjs +0 -49
  12. package/esm2022/buttons.module.mjs +0 -58
  13. package/esm2022/chip/chip-content-click-event-args.interface.mjs +0 -5
  14. package/esm2022/chip/chip-list-remove-event-args.interface.mjs +0 -5
  15. package/esm2022/chip/chip-list.component.mjs +0 -360
  16. package/esm2022/chip/chip-remove-event-args.interface.mjs +0 -5
  17. package/esm2022/chip/chip.component.mjs +0 -585
  18. package/esm2022/chip/chip.module.mjs +0 -45
  19. package/esm2022/chip/models/avatar-settings.interface.mjs +0 -5
  20. package/esm2022/chip/models/selection.mjs +0 -5
  21. package/esm2022/common/models/arrow-settings.mjs +0 -5
  22. package/esm2022/common/models/fillmode.mjs +0 -5
  23. package/esm2022/common/models/rounded.mjs +0 -5
  24. package/esm2022/common/models/size.mjs +0 -5
  25. package/esm2022/common/models/styling-classes.mjs +0 -5
  26. package/esm2022/common/models/theme-color.mjs +0 -5
  27. package/esm2022/common/models.mjs +0 -10
  28. package/esm2022/direction.mjs +0 -5
  29. package/esm2022/directives.mjs +0 -176
  30. package/esm2022/dropdownbutton/dropdownbutton.component.mjs +0 -482
  31. package/esm2022/dropdownbutton/dropdownbutton.module.mjs +0 -50
  32. package/esm2022/floatingactionbutton/animations/animations.mjs +0 -33
  33. package/esm2022/floatingactionbutton/dial-item.component.mjs +0 -161
  34. package/esm2022/floatingactionbutton/dial-list.component.mjs +0 -98
  35. package/esm2022/floatingactionbutton/floatingactionbutton.component.mjs +0 -954
  36. package/esm2022/floatingactionbutton/floatingactionbutton.module.mjs +0 -47
  37. package/esm2022/floatingactionbutton/models/align.mjs +0 -5
  38. package/esm2022/floatingactionbutton/models/item-animation.interface.mjs +0 -5
  39. package/esm2022/floatingactionbutton/models/item-click.event.mjs +0 -5
  40. package/esm2022/floatingactionbutton/models/item.interface.mjs +0 -5
  41. package/esm2022/floatingactionbutton/models/offset.mjs +0 -5
  42. package/esm2022/floatingactionbutton/models/position-mode.mjs +0 -5
  43. package/esm2022/floatingactionbutton/templates/dial-item-template.directive.mjs +0 -37
  44. package/esm2022/floatingactionbutton/templates/fab-template.directive.mjs +0 -38
  45. package/esm2022/floatingactionbutton/utils.mjs +0 -38
  46. package/esm2022/focusable/focus.service.mjs +0 -38
  47. package/esm2022/focusable/focusable.directive.mjs +0 -67
  48. package/esm2022/index.mjs +0 -33
  49. package/esm2022/listbutton/button-item-template.directive.mjs +0 -47
  50. package/esm2022/listbutton/container.service.mjs +0 -18
  51. package/esm2022/listbutton/list-button.mjs +0 -461
  52. package/esm2022/listbutton/list-item-model.mjs +0 -5
  53. package/esm2022/listbutton/list.component.mjs +0 -177
  54. package/esm2022/listbutton/popup-settings.mjs +0 -5
  55. package/esm2022/navigation/key-events.mjs +0 -13
  56. package/esm2022/navigation/navigation-action.mjs +0 -20
  57. package/esm2022/navigation/navigation-config.mjs +0 -9
  58. package/esm2022/navigation/navigation.service.mjs +0 -111
  59. package/esm2022/package-metadata.mjs +0 -16
  60. package/esm2022/preventable-event.mjs +0 -25
  61. package/esm2022/progress-kendo-angular-buttons.mjs +0 -8
  62. package/esm2022/speechtotextbutton/models/error-event.mjs +0 -5
  63. package/esm2022/speechtotextbutton/models/integration-mode.mjs +0 -5
  64. package/esm2022/speechtotextbutton/models/result-event.mjs +0 -5
  65. package/esm2022/speechtotextbutton/models/speechtotextbutton-settings.mjs +0 -5
  66. package/esm2022/speechtotextbutton/speechtotextbutton.component.mjs +0 -532
  67. package/esm2022/speechtotextbutton/speechtotextbutton.module.mjs +0 -31
  68. package/esm2022/splitbutton/localization/custom-messages.component.mjs +0 -40
  69. package/esm2022/splitbutton/localization/localized-messages.directive.mjs +0 -39
  70. package/esm2022/splitbutton/localization/messages.mjs +0 -50
  71. package/esm2022/splitbutton/splitbutton.component.mjs +0 -761
  72. package/esm2022/splitbutton/splitbutton.module.mjs +0 -37
  73. package/esm2022/util.mjs +0 -108
@@ -1,50 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { NgModule } from '@angular/core';
6
- import { KENDO_DROPDOWNBUTTON } from '../directives';
7
- import { PopupService } from '@progress/kendo-angular-popup';
8
- import { IconsService } from '@progress/kendo-angular-icons';
9
- import { ResizeBatchService } from '@progress/kendo-angular-common';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "./dropdownbutton.component";
12
- import * as i2 from "../listbutton/button-item-template.directive";
13
- //IMPORTANT: NgModule export kept for backwards compatibility
14
- /**
15
- * Exports the package module.
16
- *
17
- * Required for adding DropDownButton features in NgModule-based Angular applications.
18
- *
19
- * The module includes:
20
- * - `DropDownButtonComponent`—The component class for the DropDownButton.
21
- * - `ButtonItemTemplateDirective`—The directive for the button item template.
22
- *
23
- * @example
24
- * ```typescript
25
- * import { DropDownButtonModule } from '@progress/kendo-angular-buttons';
26
- * import { NgModule } from '@angular/core';
27
- * import { BrowserModule } from '@angular/platform-browser';
28
- * import { AppComponent } from './app.component';
29
- *
30
- * @NgModule({
31
- * declarations: [AppComponent],
32
- * imports: [BrowserModule, DropDownButtonModule],
33
- * bootstrap: [AppComponent]
34
- * })
35
- * export class AppModule {}
36
- * ```
37
- */
38
- export class DropDownButtonModule {
39
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropDownButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
40
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DropDownButtonModule, imports: [i1.DropDownButtonComponent, i2.ButtonItemTemplateDirective], exports: [i1.DropDownButtonComponent, i2.ButtonItemTemplateDirective] });
41
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropDownButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [i1.DropDownButtonComponent] });
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropDownButtonModule, decorators: [{
44
- type: NgModule,
45
- args: [{
46
- exports: [...KENDO_DROPDOWNBUTTON],
47
- imports: [...KENDO_DROPDOWNBUTTON],
48
- providers: [IconsService, PopupService, ResizeBatchService]
49
- }]
50
- }] });
@@ -1,33 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { animate, query, sequence, stagger, style } from '@angular/animations';
6
- /**
7
- * @hidden
8
- */
9
- export function openAnimation(animationSettings) {
10
- const isBottom = animationSettings.align.vertical === 'bottom';
11
- const duration = animationSettings.duration;
12
- const gap = animationSettings.gap;
13
- return sequence([
14
- query(`.k-fab-item`, [
15
- style({ opacity: 0, transform: `translateY(${isBottom ? '8px' : '-8px'})` }),
16
- stagger(gap, [animate(`${duration}ms ease-in`, style({ opacity: '*', transform: 'translateY(0)' }))])
17
- ], { optional: true })
18
- ]);
19
- }
20
- /**
21
- * @hidden
22
- */
23
- export function closeAnimation(animationSettings) {
24
- const isBottom = animationSettings.align.vertical === 'bottom';
25
- const duration = animationSettings.duration;
26
- const gap = animationSettings.gap;
27
- return sequence([
28
- query(`.k-fab-item`, [
29
- style({ opacity: '*', transform: 'translateY(0)' }),
30
- stagger(-gap, [animate(`${duration}ms ease-in`, style({ opacity: 0, transform: `translateY(${isBottom ? '8px' : '-8px'})` }))])
31
- ], { optional: true })
32
- ]);
33
- }
@@ -1,161 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, ElementRef, HostBinding, Input, Renderer2, TemplateRef } from "@angular/core";
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { IconWrapperComponent } from "@progress/kendo-angular-icons";
8
- import { NgTemplateOutlet } from "@angular/common";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@progress/kendo-angular-l10n";
11
- /**
12
- * @hidden
13
- */
14
- export class DialItemComponent {
15
- element;
16
- renderer;
17
- localisationService;
18
- hostClass = true;
19
- role = 'menuitem';
20
- get disabledClass() {
21
- return this.item.disabled;
22
- }
23
- get title() {
24
- const label = this.item.label;
25
- return label || this.itemTitle;
26
- }
27
- get indexAttr() {
28
- return this.index;
29
- }
30
- cssClass;
31
- cssStyle;
32
- isFocused;
33
- index;
34
- item;
35
- dialItemTemplate;
36
- align;
37
- constructor(element, renderer, localisationService) {
38
- this.element = element;
39
- this.renderer = renderer;
40
- this.localisationService = localisationService;
41
- }
42
- get iconClasses() {
43
- const classes = [];
44
- if (this.item.iconClass) {
45
- classes.push(`${this.item.iconClass}`);
46
- }
47
- if (this.item.icon) {
48
- classes.push(`k-fab-item-icon k-icon k-i-${this.item.icon}`);
49
- }
50
- return classes;
51
- }
52
- get itemTitle() {
53
- const icon = this.item.icon;
54
- const itemTitle = this.item.itemTitle;
55
- return (icon && itemTitle) ? itemTitle : icon;
56
- }
57
- ngAfterViewInit() {
58
- const element = this.element.nativeElement;
59
- const rtl = this.localisationService.rtl;
60
- const hAlign = this.align.horizontal;
61
- this.renderer.addClass(element, this.getTextDirectionClass(rtl, hAlign));
62
- }
63
- getTextDirectionClass(rtl, hAlign) {
64
- const dir = rtl ? 'rtl' : 'ltr';
65
- const align = hAlign === 'end' ? 'end' : 'start';
66
- const directions = {
67
- rtl: { end: 'k-text-left', start: 'k-text-right' },
68
- ltr: { start: 'k-text-left', end: 'k-text-right' }
69
- };
70
- return directions[dir][align];
71
- }
72
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
73
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DialItemComponent, isStandalone: true, selector: "[kendoDialItem]", inputs: { cssClass: "cssClass", cssStyle: "cssStyle", isFocused: "isFocused", index: "index", item: "item", dialItemTemplate: "dialItemTemplate", align: "align" }, host: { properties: { "class.k-fab-item": "this.hostClass", "attr.role": "this.role", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "attr.title": "this.title", "attr.aria-label": "this.title", "attr.data-fab-item-index": "this.indexAttr" } }, ngImport: i0, template: `
74
- @if (dialItemTemplate) {
75
- <ng-template
76
- [ngTemplateOutlet]="dialItemTemplate"
77
- [ngTemplateOutletContext]="{ $implicit: item, index: index, isFocused: isFocused }"
78
- >
79
- </ng-template>
80
- }
81
-
82
- @if (!dialItemTemplate) {
83
- @if (item.label) {
84
- <span class="k-fab-item-text">{{ item.label }}</span>
85
- }
86
- @if (item.icon || item.iconClass || item.svgIcon) {
87
- <kendo-icon-wrapper
88
- [name]="item.icon"
89
- innerCssClass="k-fab-item-icon"
90
- [customFontClass]="item.iconClass"
91
- [svgIcon]="item.svgIcon"></kendo-icon-wrapper>
92
- }
93
- }
94
- `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialItemComponent, decorators: [{
97
- type: Component,
98
- args: [{
99
- // eslint-disable-next-line @angular-eslint/component-selector
100
- selector: '[kendoDialItem]',
101
- template: `
102
- @if (dialItemTemplate) {
103
- <ng-template
104
- [ngTemplateOutlet]="dialItemTemplate"
105
- [ngTemplateOutletContext]="{ $implicit: item, index: index, isFocused: isFocused }"
106
- >
107
- </ng-template>
108
- }
109
-
110
- @if (!dialItemTemplate) {
111
- @if (item.label) {
112
- <span class="k-fab-item-text">{{ item.label }}</span>
113
- }
114
- @if (item.icon || item.iconClass || item.svgIcon) {
115
- <kendo-icon-wrapper
116
- [name]="item.icon"
117
- innerCssClass="k-fab-item-icon"
118
- [customFontClass]="item.iconClass"
119
- [svgIcon]="item.svgIcon"></kendo-icon-wrapper>
120
- }
121
- }
122
- `,
123
- standalone: true,
124
- imports: [NgTemplateOutlet, IconWrapperComponent]
125
- }]
126
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }], propDecorators: { hostClass: [{
127
- type: HostBinding,
128
- args: ['class.k-fab-item']
129
- }], role: [{
130
- type: HostBinding,
131
- args: ['attr.role']
132
- }], disabledClass: [{
133
- type: HostBinding,
134
- args: ['attr.aria-disabled']
135
- }, {
136
- type: HostBinding,
137
- args: ['class.k-disabled']
138
- }], title: [{
139
- type: HostBinding,
140
- args: ['attr.title']
141
- }, {
142
- type: HostBinding,
143
- args: ['attr.aria-label']
144
- }], indexAttr: [{
145
- type: HostBinding,
146
- args: ['attr.data-fab-item-index']
147
- }], cssClass: [{
148
- type: Input
149
- }], cssStyle: [{
150
- type: Input
151
- }], isFocused: [{
152
- type: Input
153
- }], index: [{
154
- type: Input
155
- }], item: [{
156
- type: Input
157
- }], dialItemTemplate: [{
158
- type: Input
159
- }], align: [{
160
- type: Input
161
- }] } });
@@ -1,98 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { ChangeDetectorRef, Component, HostBinding, Input, TemplateRef } from "@angular/core";
6
- import { Subscription } from 'rxjs';
7
- import { FocusService } from '../focusable/focus.service';
8
- import { DialItemComponent } from "./dial-item.component";
9
- import { FocusableDirective } from "../focusable/focusable.directive";
10
- import { NgClass, NgStyle } from "@angular/common";
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../focusable/focus.service";
13
- /**
14
- * @hidden
15
- */
16
- export class DialListComponent {
17
- focusService;
18
- cdr;
19
- hostClass = true;
20
- get bottomClass() {
21
- return this.align.vertical === 'top' || this.align.vertical === 'middle';
22
- }
23
- get topClass() {
24
- return this.align.vertical === 'bottom';
25
- }
26
- dialItems;
27
- dialItemTemplate;
28
- align;
29
- subscriptions = new Subscription();
30
- constructor(focusService, cdr) {
31
- this.focusService = focusService;
32
- this.cdr = cdr;
33
- this.subscriptions.add(this.focusService.onFocus.subscribe(() => this.cdr.detectChanges()));
34
- }
35
- isFocused(index) {
36
- return this.focusService.isFocused(index);
37
- }
38
- ngOnDestroy() {
39
- this.subscriptions.unsubscribe();
40
- }
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialListComponent, deps: [{ token: i1.FocusService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
42
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DialListComponent, isStandalone: true, selector: "[kendoDialList]", inputs: { dialItems: "dialItems", dialItemTemplate: "dialItemTemplate", align: "align" }, host: { properties: { "class.k-fab-items": "this.hostClass", "class.k-fab-items-bottom": "this.bottomClass", "class.k-fab-items-top": "this.topClass" } }, ngImport: i0, template: `
43
- @for (item of dialItems; track item; let idx = $index) {
44
- <li
45
- kendoButtonFocusable
46
- kendoDialItem
47
- [item]="dialItems[idx]"
48
- [index]="idx"
49
- [dialItemTemplate]="dialItemTemplate"
50
- [isFocused]="isFocused(idx)"
51
- [ngClass]='item.cssClass'
52
- [ngStyle]='item.cssStyle'
53
- [align]="align"
54
- >
55
- </li>
56
- }
57
- `, isInline: true, dependencies: [{ kind: "directive", type: FocusableDirective, selector: "[kendoButtonFocusable]", inputs: ["index"] }, { kind: "component", type: DialItemComponent, selector: "[kendoDialItem]", inputs: ["cssClass", "cssStyle", "isFocused", "index", "item", "dialItemTemplate", "align"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialListComponent, decorators: [{
60
- type: Component,
61
- args: [{
62
- // eslint-disable-next-line @angular-eslint/component-selector
63
- selector: '[kendoDialList]',
64
- template: `
65
- @for (item of dialItems; track item; let idx = $index) {
66
- <li
67
- kendoButtonFocusable
68
- kendoDialItem
69
- [item]="dialItems[idx]"
70
- [index]="idx"
71
- [dialItemTemplate]="dialItemTemplate"
72
- [isFocused]="isFocused(idx)"
73
- [ngClass]='item.cssClass'
74
- [ngStyle]='item.cssStyle'
75
- [align]="align"
76
- >
77
- </li>
78
- }
79
- `,
80
- standalone: true,
81
- imports: [FocusableDirective, DialItemComponent, NgClass, NgStyle]
82
- }]
83
- }], ctorParameters: () => [{ type: i1.FocusService }, { type: i0.ChangeDetectorRef }], propDecorators: { hostClass: [{
84
- type: HostBinding,
85
- args: ['class.k-fab-items']
86
- }], bottomClass: [{
87
- type: HostBinding,
88
- args: ['class.k-fab-items-bottom']
89
- }], topClass: [{
90
- type: HostBinding,
91
- args: ['class.k-fab-items-top']
92
- }], dialItems: [{
93
- type: Input
94
- }], dialItemTemplate: [{
95
- type: Input
96
- }], align: [{
97
- type: Input
98
- }] } });