@progress/kendo-angular-buttons 6.3.2-dev.202110250922 → 6.4.0-dev.202110271458

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 (44) hide show
  1. package/dist/cdn/js/kendo-angular-buttons.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/index.js +2 -0
  4. package/dist/es/listbutton/list.component.js +1 -1
  5. package/dist/es/main.js +1 -0
  6. package/dist/es/package-metadata.js +1 -1
  7. package/dist/es/splitbutton/localization/custom-messages.component.js +44 -0
  8. package/dist/es/splitbutton/localization/localized-messages.directive.js +35 -0
  9. package/dist/es/splitbutton/localization/messages.js +22 -0
  10. package/dist/es/splitbutton/splitbutton.component.js +5 -2
  11. package/dist/es/splitbutton/splitbutton.module.js +4 -2
  12. package/dist/es/util.js +6 -0
  13. package/dist/es2015/index.d.ts +2 -0
  14. package/dist/es2015/index.js +2 -0
  15. package/dist/es2015/index.metadata.json +1 -1
  16. package/dist/es2015/listbutton/list.component.js +1 -1
  17. package/dist/es2015/main.d.ts +1 -0
  18. package/dist/es2015/main.js +1 -0
  19. package/dist/es2015/package-metadata.js +1 -1
  20. package/dist/es2015/splitbutton/localization/custom-messages.component.d.ts +15 -0
  21. package/dist/es2015/splitbutton/localization/custom-messages.component.js +36 -0
  22. package/dist/es2015/splitbutton/localization/localized-messages.directive.d.ts +13 -0
  23. package/dist/es2015/splitbutton/localization/localized-messages.directive.js +31 -0
  24. package/dist/es2015/splitbutton/localization/messages.d.ts +32 -0
  25. package/dist/es2015/splitbutton/localization/messages.js +16 -0
  26. package/dist/es2015/splitbutton/splitbutton.component.d.ts +1 -0
  27. package/dist/es2015/splitbutton/splitbutton.component.js +8 -2
  28. package/dist/es2015/splitbutton/splitbutton.module.js +4 -2
  29. package/dist/es2015/util.d.ts +4 -0
  30. package/dist/es2015/util.js +4 -0
  31. package/dist/fesm2015/index.js +79 -9
  32. package/dist/fesm5/index.js +95 -9
  33. package/dist/npm/index.js +4 -0
  34. package/dist/npm/listbutton/list.component.js +1 -1
  35. package/dist/npm/main.js +2 -0
  36. package/dist/npm/package-metadata.js +1 -1
  37. package/dist/npm/splitbutton/localization/custom-messages.component.js +46 -0
  38. package/dist/npm/splitbutton/localization/localized-messages.directive.js +37 -0
  39. package/dist/npm/splitbutton/localization/messages.js +24 -0
  40. package/dist/npm/splitbutton/splitbutton.component.js +5 -2
  41. package/dist/npm/splitbutton/splitbutton.module.js +4 -2
  42. package/dist/npm/util.js +6 -0
  43. package/dist/systemjs/kendo-angular-buttons.js +1 -1
  44. package/package.json +1 -1
@@ -59,7 +59,7 @@ ListComponent = tslib_1.__decorate([
59
59
  Component({
60
60
  selector: 'kendo-button-list',
61
61
  template: `
62
- <ul class="k-list k-reset" unselectable="on">
62
+ <ul class="k-list k-reset" unselectable="on" role="menu">
63
63
  <li role="menuitem" unselectable="on" tabindex="-1"
64
64
  kendoButtonFocusable
65
65
  *ngFor="let dataItem of data; let index = index;"
@@ -9,6 +9,7 @@ export { ButtonModule } from './button/button.module';
9
9
  export { ButtonsModule } from './buttons.module';
10
10
  export { SplitButtonComponent, SplitButtonComponent as SplitButton } from './splitbutton/splitbutton.component';
11
11
  export { SplitButtonModule } from './splitbutton/splitbutton.module';
12
+ export { SplitButtonCustomMessagesComponent } from './splitbutton/localization/custom-messages.component';
12
13
  export { DropDownButtonComponent, DropDownButtonComponent as DropDownButton } from './dropdownbutton/dropdownbutton.component';
13
14
  export { DropDownButtonModule } from './dropdownbutton/dropdownbutton.module';
14
15
  export { ButtonLook } from './button-look';
@@ -9,6 +9,7 @@ export { ButtonModule } from './button/button.module';
9
9
  export { ButtonsModule } from './buttons.module';
10
10
  export { SplitButtonComponent, SplitButtonComponent as SplitButton } from './splitbutton/splitbutton.component';
11
11
  export { SplitButtonModule } from './splitbutton/splitbutton.module';
12
+ export { SplitButtonCustomMessagesComponent } from './splitbutton/localization/custom-messages.component';
12
13
  export { DropDownButtonComponent, DropDownButtonComponent as DropDownButton } from './dropdownbutton/dropdownbutton.component';
13
14
  export { DropDownButtonModule } from './dropdownbutton/dropdownbutton.module';
14
15
  export { ChipComponent } from './chip/chip.component';
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-buttons',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1635153698,
12
+ publishDate: 1635346639,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -0,0 +1,15 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
6
+ import { Messages } from './messages';
7
+ /**
8
+ * Custom component messages override default component messages
9
+ * ([see example]({% slug rtl_buttons %}).
10
+ */
11
+ export declare class SplitButtonCustomMessagesComponent extends Messages {
12
+ protected service: LocalizationService;
13
+ constructor(service: LocalizationService);
14
+ protected readonly override: boolean;
15
+ }
@@ -0,0 +1,36 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as tslib_1 from "tslib";
6
+ var SplitButtonCustomMessagesComponent_1;
7
+ import { Component, forwardRef } from '@angular/core';
8
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
9
+ import { Messages } from './messages';
10
+ /**
11
+ * Custom component messages override default component messages
12
+ * ([see example]({% slug rtl_buttons %}).
13
+ */
14
+ let SplitButtonCustomMessagesComponent = SplitButtonCustomMessagesComponent_1 = class SplitButtonCustomMessagesComponent extends Messages {
15
+ constructor(service) {
16
+ super();
17
+ this.service = service;
18
+ }
19
+ get override() {
20
+ return true;
21
+ }
22
+ };
23
+ SplitButtonCustomMessagesComponent = SplitButtonCustomMessagesComponent_1 = tslib_1.__decorate([
24
+ Component({
25
+ providers: [
26
+ {
27
+ provide: Messages,
28
+ useExisting: forwardRef(() => SplitButtonCustomMessagesComponent_1)
29
+ }
30
+ ],
31
+ selector: 'kendo-splitbutton-messages',
32
+ template: ``
33
+ }),
34
+ tslib_1.__metadata("design:paramtypes", [LocalizationService])
35
+ ], SplitButtonCustomMessagesComponent);
36
+ export { SplitButtonCustomMessagesComponent };
@@ -0,0 +1,13 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
6
+ import { Messages } from './messages';
7
+ /**
8
+ * @hidden
9
+ */
10
+ export declare class LocalizedSplitButtonMessagesDirective extends Messages {
11
+ protected service: LocalizationService;
12
+ constructor(service: LocalizationService);
13
+ }
@@ -0,0 +1,31 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as tslib_1 from "tslib";
6
+ var LocalizedSplitButtonMessagesDirective_1;
7
+ import { Directive, forwardRef } from '@angular/core';
8
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
9
+ import { Messages } from './messages';
10
+ /**
11
+ * @hidden
12
+ */
13
+ let LocalizedSplitButtonMessagesDirective = LocalizedSplitButtonMessagesDirective_1 = class LocalizedSplitButtonMessagesDirective extends Messages {
14
+ constructor(service) {
15
+ super();
16
+ this.service = service;
17
+ }
18
+ };
19
+ LocalizedSplitButtonMessagesDirective = LocalizedSplitButtonMessagesDirective_1 = tslib_1.__decorate([
20
+ Directive({
21
+ providers: [
22
+ {
23
+ provide: Messages,
24
+ useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective_1)
25
+ }
26
+ ],
27
+ selector: '[kendoSplitButtonLocalizedMessages]'
28
+ }),
29
+ tslib_1.__metadata("design:paramtypes", [LocalizationService])
30
+ ], LocalizedSplitButtonMessagesDirective);
31
+ export { LocalizedSplitButtonMessagesDirective };
@@ -0,0 +1,32 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { ComponentMessages } from '@progress/kendo-angular-l10n';
6
+ /**
7
+ * @hidden
8
+ */
9
+ export declare class Messages extends ComponentMessages {
10
+ /**
11
+ * The text for the SplitButton aria-label.
12
+ *
13
+ * The text for the aria-label consists of a two-part message - the text of the SplitButton and a localizable string.
14
+ * For a SplitButton with text 'Reply', the default aria-label will be 'Reply splitbutton'.
15
+ *
16
+ * To allow reordering of the SplitButton text and the localizable part, the splitButtonLabel accepts a string with a
17
+ * placeholder for the button text - e.g. 'splitbutton for {buttonText}'. The '{buttonText}' placeholder will be replaced
18
+ * internally with the current SplitButton text, and the resulting aria-label will be rendered as 'splitbutton for Reply'.
19
+ *
20
+ * @example
21
+ *
22
+ * ```ts-no-run
23
+ * <kendo-splitbutton>
24
+ * <kendo-splitbutton-messages
25
+ * splitButtonLabel="splitbutton for {buttonText}"
26
+ * >
27
+ * </kendo-splitbutton-messages>
28
+ * </kendo-splitbutton>
29
+ * ```
30
+ */
31
+ splitButtonLabel: string;
32
+ }
@@ -0,0 +1,16 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as tslib_1 from "tslib";
6
+ import { Input } from '@angular/core';
7
+ import { ComponentMessages } from '@progress/kendo-angular-l10n';
8
+ /**
9
+ * @hidden
10
+ */
11
+ export class Messages extends ComponentMessages {
12
+ }
13
+ tslib_1.__decorate([
14
+ Input(),
15
+ tslib_1.__metadata("design:type", String)
16
+ ], Messages.prototype, "splitButtonLabel", void 0);
@@ -56,6 +56,7 @@ import { ButtonLook } from '../button-look';
56
56
  export declare class SplitButtonComponent extends ListButton implements AfterViewInit, OnChanges {
57
57
  private popupService;
58
58
  private elRef;
59
+ private localization;
59
60
  /**
60
61
  * Sets the text of the SplitButton.
61
62
  */
@@ -16,6 +16,7 @@ import { isDocumentAvailable, guid, isChanged } from '@progress/kendo-angular-co
16
16
  import { isPresent, tick } from './../util';
17
17
  import { PreventableEvent } from '../preventable-event';
18
18
  import { Keys } from '@progress/kendo-angular-common';
19
+ import { replaceMessagePlaceholder } from '../util';
19
20
  const NAVIGATION_SETTINGS = {
20
21
  useLeftRightArrows: true
21
22
  };
@@ -70,6 +71,7 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
70
71
  super(focusService, navigationService, wrapperRef, zone, localization, cdr);
71
72
  this.popupService = popupService;
72
73
  this.elRef = elRef;
74
+ this.localization = localization;
73
75
  /**
74
76
  * Sets the text of the SplitButton.
75
77
  */
@@ -289,7 +291,8 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
289
291
  * @hidden
290
292
  */
291
293
  get ariaLabel() {
292
- return `${this.buttonText} splitbutton`;
294
+ const localizationMsg = this.localization.get('splitButtonLabel') || '';
295
+ return replaceMessagePlaceholder(localizationMsg, 'buttonText', this.buttonText);
293
296
  }
294
297
  /**
295
298
  * @hidden
@@ -674,10 +677,13 @@ SplitButtonComponent = tslib_1.__decorate([
674
677
  ],
675
678
  selector: 'kendo-splitbutton',
676
679
  template: `
680
+ <ng-container kendoSplitButtonLocalizedMessages
681
+ i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
682
+ splitButtonLabel="{{ '{buttonText} splitbutton' }}">
683
+ </ng-container>
677
684
  <button
678
685
  kendoButton
679
686
  #button
680
- role="listbox"
681
687
  [type]="type"
682
688
  [look]="look"
683
689
  [tabindex]="componentTabIndex"
@@ -9,6 +9,8 @@ import { PopupModule } from '@progress/kendo-angular-popup';
9
9
  import { ButtonModule } from './../button/button.module';
10
10
  import { ListModule } from './../listbutton/list.module';
11
11
  import { SplitButtonComponent } from './splitbutton.component';
12
+ import { LocalizedSplitButtonMessagesDirective } from './localization/localized-messages.directive';
13
+ import { SplitButtonCustomMessagesComponent } from './localization/custom-messages.component';
12
14
  /**
13
15
  * @hidden
14
16
  *
@@ -21,8 +23,8 @@ let SplitButtonModule = class SplitButtonModule {
21
23
  };
22
24
  SplitButtonModule = tslib_1.__decorate([
23
25
  NgModule({
24
- declarations: [SplitButtonComponent],
25
- exports: [SplitButtonComponent, ListModule],
26
+ declarations: [SplitButtonComponent, LocalizedSplitButtonMessagesDirective, SplitButtonCustomMessagesComponent],
27
+ exports: [SplitButtonComponent, ListModule, LocalizedSplitButtonMessagesDirective, SplitButtonCustomMessagesComponent],
26
28
  imports: [CommonModule, PopupModule, ButtonModule, ListModule]
27
29
  })
28
30
  ], SplitButtonModule);
@@ -14,3 +14,7 @@ export declare const tick: (f: any) => Promise<any>;
14
14
  * @hidden
15
15
  */
16
16
  export declare function closest(element: any, selector: string): any;
17
+ /**
18
+ * @hidden
19
+ */
20
+ export declare const replaceMessagePlaceholder: (message: string, name: string, value: string) => string;
@@ -37,3 +37,7 @@ export function closest(element, selector) {
37
37
  node = node.parentNode;
38
38
  }
39
39
  }
40
+ /**
41
+ * @hidden
42
+ */
43
+ export const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);
@@ -3,10 +3,10 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { __decorate, __metadata, __param } from 'tslib';
6
- import { Injectable, EventEmitter, Input, Output, HostBinding, HostListener, Directive, Optional, ElementRef, Renderer2, NgZone, isDevMode, ContentChildren, QueryList, Component, NgModule, TemplateRef, ViewContainerRef, InjectionToken, Inject, ContentChild, ViewChild, ChangeDetectorRef } from '@angular/core';
6
+ import { Injectable, EventEmitter, Input, Output, HostBinding, HostListener, Directive, Optional, ElementRef, Renderer2, NgZone, isDevMode, ContentChildren, QueryList, Component, NgModule, TemplateRef, ViewContainerRef, InjectionToken, Inject, ContentChild, ViewChild, ChangeDetectorRef, forwardRef } from '@angular/core';
7
7
  import { BehaviorSubject, Subject, fromEvent, merge, Subscription } from 'rxjs';
8
8
  import { Keys, isChanged, isDocumentAvailable, hasObservers, guid, EventsModule } from '@progress/kendo-angular-common';
9
- import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
9
+ import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
10
10
  import { filter, take } from 'rxjs/operators';
11
11
  import { validatePackage } from '@progress/kendo-licensing';
12
12
  import { CommonModule } from '@angular/common';
@@ -43,7 +43,7 @@ const packageMetadata = {
43
43
  name: '@progress/kendo-angular-buttons',
44
44
  productName: 'Kendo UI for Angular',
45
45
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
46
- publishDate: 1635153698,
46
+ publishDate: 1635346639,
47
47
  version: '',
48
48
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
49
49
  };
@@ -613,6 +613,10 @@ function closest(element, selector) {
613
613
  node = node.parentNode;
614
614
  }
615
615
  }
616
+ /**
617
+ * @hidden
618
+ */
619
+ const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);
616
620
 
617
621
  /**
618
622
  * @hidden
@@ -1145,7 +1149,7 @@ ListComponent = __decorate([
1145
1149
  Component({
1146
1150
  selector: 'kendo-button-list',
1147
1151
  template: `
1148
- <ul class="k-list k-reset" unselectable="on">
1152
+ <ul class="k-list k-reset" unselectable="on" role="menu">
1149
1153
  <li role="menuitem" unselectable="on" tabindex="-1"
1150
1154
  kendoButtonFocusable
1151
1155
  *ngFor="let dataItem of data; let index = index;"
@@ -1719,6 +1723,7 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
1719
1723
  super(focusService, navigationService, wrapperRef, zone, localization, cdr);
1720
1724
  this.popupService = popupService;
1721
1725
  this.elRef = elRef;
1726
+ this.localization = localization;
1722
1727
  /**
1723
1728
  * Sets the text of the SplitButton.
1724
1729
  */
@@ -1938,7 +1943,8 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
1938
1943
  * @hidden
1939
1944
  */
1940
1945
  get ariaLabel() {
1941
- return `${this.buttonText} splitbutton`;
1946
+ const localizationMsg = this.localization.get('splitButtonLabel') || '';
1947
+ return replaceMessagePlaceholder(localizationMsg, 'buttonText', this.buttonText);
1942
1948
  }
1943
1949
  /**
1944
1950
  * @hidden
@@ -2323,10 +2329,13 @@ SplitButtonComponent = __decorate([
2323
2329
  ],
2324
2330
  selector: 'kendo-splitbutton',
2325
2331
  template: `
2332
+ <ng-container kendoSplitButtonLocalizedMessages
2333
+ i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
2334
+ splitButtonLabel="{{ '{buttonText} splitbutton' }}">
2335
+ </ng-container>
2326
2336
  <button
2327
2337
  kendoButton
2328
2338
  #button
2329
- role="listbox"
2330
2339
  [type]="type"
2331
2340
  [look]="look"
2332
2341
  [tabindex]="componentTabIndex"
@@ -2390,6 +2399,67 @@ SplitButtonComponent = __decorate([
2390
2399
  ChangeDetectorRef])
2391
2400
  ], SplitButtonComponent);
2392
2401
 
2402
+ /**
2403
+ * @hidden
2404
+ */
2405
+ class Messages extends ComponentMessages {
2406
+ }
2407
+ __decorate([
2408
+ Input(),
2409
+ __metadata("design:type", String)
2410
+ ], Messages.prototype, "splitButtonLabel", void 0);
2411
+
2412
+ var LocalizedSplitButtonMessagesDirective_1;
2413
+ /**
2414
+ * @hidden
2415
+ */
2416
+ let LocalizedSplitButtonMessagesDirective = LocalizedSplitButtonMessagesDirective_1 = class LocalizedSplitButtonMessagesDirective extends Messages {
2417
+ constructor(service) {
2418
+ super();
2419
+ this.service = service;
2420
+ }
2421
+ };
2422
+ LocalizedSplitButtonMessagesDirective = LocalizedSplitButtonMessagesDirective_1 = __decorate([
2423
+ Directive({
2424
+ providers: [
2425
+ {
2426
+ provide: Messages,
2427
+ useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective_1)
2428
+ }
2429
+ ],
2430
+ selector: '[kendoSplitButtonLocalizedMessages]'
2431
+ }),
2432
+ __metadata("design:paramtypes", [LocalizationService])
2433
+ ], LocalizedSplitButtonMessagesDirective);
2434
+
2435
+ var SplitButtonCustomMessagesComponent_1;
2436
+ /**
2437
+ * Custom component messages override default component messages
2438
+ * ([see example]({% slug rtl_buttons %}).
2439
+ */
2440
+ let SplitButtonCustomMessagesComponent = SplitButtonCustomMessagesComponent_1 = class SplitButtonCustomMessagesComponent extends Messages {
2441
+ constructor(service) {
2442
+ super();
2443
+ this.service = service;
2444
+ }
2445
+ get override() {
2446
+ return true;
2447
+ }
2448
+ };
2449
+ SplitButtonCustomMessagesComponent = SplitButtonCustomMessagesComponent_1 = __decorate([
2450
+ Component({
2451
+ providers: [
2452
+ {
2453
+ provide: Messages,
2454
+ useExisting: forwardRef(() => SplitButtonCustomMessagesComponent_1)
2455
+ }
2456
+ ],
2457
+ selector: 'kendo-splitbutton-messages',
2458
+ template: ``
2459
+ }),
2460
+ __metadata("design:paramtypes", [LocalizationService])
2461
+ ], SplitButtonCustomMessagesComponent);
2462
+
2393
2463
  /**
2394
2464
  * @hidden
2395
2465
  *
@@ -2402,8 +2472,8 @@ let SplitButtonModule = class SplitButtonModule {
2402
2472
  };
2403
2473
  SplitButtonModule = __decorate([
2404
2474
  NgModule({
2405
- declarations: [SplitButtonComponent],
2406
- exports: [SplitButtonComponent, ListModule],
2475
+ declarations: [SplitButtonComponent, LocalizedSplitButtonMessagesDirective, SplitButtonCustomMessagesComponent],
2476
+ exports: [SplitButtonComponent, ListModule, LocalizedSplitButtonMessagesDirective, SplitButtonCustomMessagesComponent],
2407
2477
  imports: [CommonModule, PopupModule, ButtonModule, ListModule]
2408
2478
  })
2409
2479
  ], SplitButtonModule);
@@ -4755,4 +4825,4 @@ ButtonsModule = __decorate([
4755
4825
  * Generated bundle index. Do not edit.
4756
4826
  */
4757
4827
 
4758
- export { KendoButtonService, DialItemComponent, DialListComponent, FocusService, FocusableDirective, ButtonItemTemplateDirective, ListButton, ListComponent, ListModule, TemplateContextDirective, NAVIGATION_CONFIG, NavigationService, ButtonDirective, ButtonDirective as Button, ButtonGroupComponent, ButtonGroupComponent as ButtonGroup, ButtonGroupModule, ButtonModule, ButtonsModule, SplitButtonComponent, SplitButtonComponent as SplitButton, SplitButtonModule, DropDownButtonComponent, DropDownButtonComponent as DropDownButton, DropDownButtonModule, ChipComponent, ChipListComponent, ChipModule, FloatingActionButtonModule, FloatingActionButtonComponent, FloatingActionButtonTemplateDirective, DialItemTemplateDirective };
4828
+ export { KendoButtonService, DialItemComponent, DialListComponent, FocusService, FocusableDirective, ButtonItemTemplateDirective, ListButton, ListComponent, ListModule, TemplateContextDirective, NAVIGATION_CONFIG, NavigationService, LocalizedSplitButtonMessagesDirective, Messages, ButtonDirective, ButtonDirective as Button, ButtonGroupComponent, ButtonGroupComponent as ButtonGroup, ButtonGroupModule, ButtonModule, ButtonsModule, SplitButtonComponent, SplitButtonComponent as SplitButton, SplitButtonModule, SplitButtonCustomMessagesComponent, DropDownButtonComponent, DropDownButtonComponent as DropDownButton, DropDownButtonModule, ChipComponent, ChipListComponent, ChipModule, FloatingActionButtonModule, FloatingActionButtonComponent, FloatingActionButtonTemplateDirective, DialItemTemplateDirective };
@@ -3,10 +3,10 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { __decorate, __metadata, __param, __extends } from 'tslib';
6
- import { Injectable, Input, Output, EventEmitter, HostBinding, HostListener, Directive, Optional, ElementRef, Renderer2, NgZone, isDevMode, ContentChildren, QueryList, Component, NgModule, TemplateRef, ViewContainerRef, InjectionToken, Inject, ContentChild, ViewChild, ChangeDetectorRef } from '@angular/core';
6
+ import { Injectable, Input, Output, EventEmitter, HostBinding, HostListener, Directive, Optional, ElementRef, Renderer2, NgZone, isDevMode, ContentChildren, QueryList, Component, NgModule, TemplateRef, ViewContainerRef, InjectionToken, Inject, ContentChild, ViewChild, ChangeDetectorRef, forwardRef } from '@angular/core';
7
7
  import { BehaviorSubject, Subject, fromEvent, merge, Subscription } from 'rxjs';
8
8
  import { Keys, isChanged, isDocumentAvailable, hasObservers, guid, EventsModule } from '@progress/kendo-angular-common';
9
- import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
9
+ import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
10
10
  import { filter, take } from 'rxjs/operators';
11
11
  import { validatePackage } from '@progress/kendo-licensing';
12
12
  import { CommonModule } from '@angular/common';
@@ -41,7 +41,7 @@ var packageMetadata = {
41
41
  name: '@progress/kendo-angular-buttons',
42
42
  productName: 'Kendo UI for Angular',
43
43
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
44
- publishDate: 1635153698,
44
+ publishDate: 1635346639,
45
45
  version: '',
46
46
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
47
47
  };
@@ -699,6 +699,12 @@ function closest(element, selector) {
699
699
  node = node.parentNode;
700
700
  }
701
701
  }
702
+ /**
703
+ * @hidden
704
+ */
705
+ var replaceMessagePlaceholder = function (message, name, value) {
706
+ return message.replace(new RegExp("{\\s*" + name + "\\s*}", 'g'), value);
707
+ };
702
708
 
703
709
  /**
704
710
  * @hidden
@@ -1290,7 +1296,7 @@ var ListComponent = /** @class */ (function () {
1290
1296
  ListComponent = __decorate([
1291
1297
  Component({
1292
1298
  selector: 'kendo-button-list',
1293
- template: "\n <ul class=\"k-list k-reset\" unselectable=\"on\">\n <li role=\"menuitem\" unselectable=\"on\" tabindex=\"-1\"\n kendoButtonFocusable\n *ngFor=\"let dataItem of data; let index = index;\"\n [index]=\"index\"\n [ngClass]=\"{'k-item': true, 'k-state-disabled': dataItem.disabled}\"\n (click)=\"onClick(index)\"\n (blur)=\"onBlur()\"\n [attr.aria-disabled]=\"dataItem.disabled ? true : false\">\n <ng-template *ngIf=\"itemTemplate?.templateRef\"\n [templateContext]=\"{\n templateRef: itemTemplate?.templateRef,\n $implicit: dataItem\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!itemTemplate?.templateRef\">\n <span\n *ngIf=\"dataItem.icon || dataItem.iconClass\"\n [ngClass]=\"getIconClasses(dataItem)\"\n ></span>\n <img\n *ngIf=\"dataItem.imageUrl\"\n class=\"k-image\"\n [src]=\"dataItem.imageUrl\"\n alt=\"\"\n >\n {{ getText(dataItem) }}\n </ng-template>\n </li>\n </ul>\n "
1299
+ template: "\n <ul class=\"k-list k-reset\" unselectable=\"on\" role=\"menu\">\n <li role=\"menuitem\" unselectable=\"on\" tabindex=\"-1\"\n kendoButtonFocusable\n *ngFor=\"let dataItem of data; let index = index;\"\n [index]=\"index\"\n [ngClass]=\"{'k-item': true, 'k-state-disabled': dataItem.disabled}\"\n (click)=\"onClick(index)\"\n (blur)=\"onBlur()\"\n [attr.aria-disabled]=\"dataItem.disabled ? true : false\">\n <ng-template *ngIf=\"itemTemplate?.templateRef\"\n [templateContext]=\"{\n templateRef: itemTemplate?.templateRef,\n $implicit: dataItem\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!itemTemplate?.templateRef\">\n <span\n *ngIf=\"dataItem.icon || dataItem.iconClass\"\n [ngClass]=\"getIconClasses(dataItem)\"\n ></span>\n <img\n *ngIf=\"dataItem.imageUrl\"\n class=\"k-image\"\n [src]=\"dataItem.imageUrl\"\n alt=\"\"\n >\n {{ getText(dataItem) }}\n </ng-template>\n </li>\n </ul>\n "
1294
1300
  }),
1295
1301
  __metadata("design:paramtypes", [])
1296
1302
  ], ListComponent);
@@ -1869,6 +1875,7 @@ var SplitButtonComponent = /** @class */ (function (_super) {
1869
1875
  var _this = _super.call(this, focusService, navigationService, wrapperRef, zone, localization, cdr) || this;
1870
1876
  _this.popupService = popupService;
1871
1877
  _this.elRef = elRef;
1878
+ _this.localization = localization;
1872
1879
  /**
1873
1880
  * Sets the text of the SplitButton.
1874
1881
  */
@@ -2134,7 +2141,8 @@ var SplitButtonComponent = /** @class */ (function (_super) {
2134
2141
  * @hidden
2135
2142
  */
2136
2143
  get: function () {
2137
- return this.buttonText + " splitbutton";
2144
+ var localizationMsg = this.localization.get('splitButtonLabel') || '';
2145
+ return replaceMessagePlaceholder(localizationMsg, 'buttonText', this.buttonText);
2138
2146
  },
2139
2147
  enumerable: true,
2140
2148
  configurable: true
@@ -2539,7 +2547,7 @@ var SplitButtonComponent = /** @class */ (function (_super) {
2539
2547
  }
2540
2548
  ],
2541
2549
  selector: 'kendo-splitbutton',
2542
- template: "\n <button\n kendoButton\n #button\n role=\"listbox\"\n [type]=\"type\"\n [look]=\"look\"\n [tabindex]=\"componentTabIndex\"\n [disabled]=\"disabled\"\n [icon]=\"icon\"\n [class.k-state-active]=\"active\"\n [iconClass]=\"iconClass\"\n [imageUrl]=\"imageUrl\"\n [ngClass]=\"buttonClass\"\n (focus)=\"onButtonFocus()\"\n (click)=\"onButtonClick()\"\n (blur)=\"onButtonBlur()\"\n (mousedown)=\"toggleButtonActiveState(true)\"\n (mouseup)=\"toggleButtonActiveState(false)\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-owns]=\"listId\"\n [attr.aria-label]=\"ariaLabel\"\n >\n {{ text }}<ng-content></ng-content>\n </button>\n <button\n kendoButton\n #arrowButton\n type=\"button\"\n [class.k-state-active]=\"activeArrow\"\n [disabled]=\"disabled\"\n [icon]=\"arrowButtonIcon\"\n [look]=\"look\"\n [tabindex]=\"-1\"\n [ngClass]=\"arrowButtonClass\"\n (click)=\"onArrowButtonClick()\"\n (mousedown)=\"toggleArrowButtonActiveState(true)\"\n (mouseup)=\"toggleArrowButtonActiveState(false)\"\n ></button>\n <ng-template #popupTemplate>\n <kendo-button-list\n [id]=\"listId\"\n [data]=\"data\"\n [textField]=\"textField\"\n [itemTemplate]=\"itemTemplate\"\n (onItemClick)=\"onItemClick($event)\"\n (keydown)=\"keyDownHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n [attr.dir]=\"dir\"\n >\n </kendo-button-list>\n </ng-template>\n <ng-container #container></ng-container>\n "
2550
+ template: "\n <ng-container kendoSplitButtonLocalizedMessages\n i18n-splitButtonLabel=\"kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label\"\n splitButtonLabel=\"{{ '{buttonText} splitbutton' }}\">\n </ng-container>\n <button\n kendoButton\n #button\n [type]=\"type\"\n [look]=\"look\"\n [tabindex]=\"componentTabIndex\"\n [disabled]=\"disabled\"\n [icon]=\"icon\"\n [class.k-state-active]=\"active\"\n [iconClass]=\"iconClass\"\n [imageUrl]=\"imageUrl\"\n [ngClass]=\"buttonClass\"\n (focus)=\"onButtonFocus()\"\n (click)=\"onButtonClick()\"\n (blur)=\"onButtonBlur()\"\n (mousedown)=\"toggleButtonActiveState(true)\"\n (mouseup)=\"toggleButtonActiveState(false)\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-owns]=\"listId\"\n [attr.aria-label]=\"ariaLabel\"\n >\n {{ text }}<ng-content></ng-content>\n </button>\n <button\n kendoButton\n #arrowButton\n type=\"button\"\n [class.k-state-active]=\"activeArrow\"\n [disabled]=\"disabled\"\n [icon]=\"arrowButtonIcon\"\n [look]=\"look\"\n [tabindex]=\"-1\"\n [ngClass]=\"arrowButtonClass\"\n (click)=\"onArrowButtonClick()\"\n (mousedown)=\"toggleArrowButtonActiveState(true)\"\n (mouseup)=\"toggleArrowButtonActiveState(false)\"\n ></button>\n <ng-template #popupTemplate>\n <kendo-button-list\n [id]=\"listId\"\n [data]=\"data\"\n [textField]=\"textField\"\n [itemTemplate]=\"itemTemplate\"\n (onItemClick)=\"onItemClick($event)\"\n (keydown)=\"keyDownHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n [attr.dir]=\"dir\"\n >\n </kendo-button-list>\n </ng-template>\n <ng-container #container></ng-container>\n "
2543
2551
  }),
2544
2552
  __metadata("design:paramtypes", [FocusService,
2545
2553
  NavigationService,
@@ -2553,6 +2561,84 @@ var SplitButtonComponent = /** @class */ (function (_super) {
2553
2561
  return SplitButtonComponent;
2554
2562
  }(ListButton));
2555
2563
 
2564
+ /**
2565
+ * @hidden
2566
+ */
2567
+ var Messages = /** @class */ (function (_super) {
2568
+ __extends(Messages, _super);
2569
+ function Messages() {
2570
+ return _super !== null && _super.apply(this, arguments) || this;
2571
+ }
2572
+ __decorate([
2573
+ Input(),
2574
+ __metadata("design:type", String)
2575
+ ], Messages.prototype, "splitButtonLabel", void 0);
2576
+ return Messages;
2577
+ }(ComponentMessages));
2578
+
2579
+ /**
2580
+ * @hidden
2581
+ */
2582
+ var LocalizedSplitButtonMessagesDirective = /** @class */ (function (_super) {
2583
+ __extends(LocalizedSplitButtonMessagesDirective, _super);
2584
+ function LocalizedSplitButtonMessagesDirective(service) {
2585
+ var _this = _super.call(this) || this;
2586
+ _this.service = service;
2587
+ return _this;
2588
+ }
2589
+ LocalizedSplitButtonMessagesDirective_1 = LocalizedSplitButtonMessagesDirective;
2590
+ var LocalizedSplitButtonMessagesDirective_1;
2591
+ LocalizedSplitButtonMessagesDirective = LocalizedSplitButtonMessagesDirective_1 = __decorate([
2592
+ Directive({
2593
+ providers: [
2594
+ {
2595
+ provide: Messages,
2596
+ useExisting: forwardRef(function () { return LocalizedSplitButtonMessagesDirective_1; })
2597
+ }
2598
+ ],
2599
+ selector: '[kendoSplitButtonLocalizedMessages]'
2600
+ }),
2601
+ __metadata("design:paramtypes", [LocalizationService])
2602
+ ], LocalizedSplitButtonMessagesDirective);
2603
+ return LocalizedSplitButtonMessagesDirective;
2604
+ }(Messages));
2605
+
2606
+ /**
2607
+ * Custom component messages override default component messages
2608
+ * ([see example]({% slug rtl_buttons %}).
2609
+ */
2610
+ var SplitButtonCustomMessagesComponent = /** @class */ (function (_super) {
2611
+ __extends(SplitButtonCustomMessagesComponent, _super);
2612
+ function SplitButtonCustomMessagesComponent(service) {
2613
+ var _this = _super.call(this) || this;
2614
+ _this.service = service;
2615
+ return _this;
2616
+ }
2617
+ SplitButtonCustomMessagesComponent_1 = SplitButtonCustomMessagesComponent;
2618
+ Object.defineProperty(SplitButtonCustomMessagesComponent.prototype, "override", {
2619
+ get: function () {
2620
+ return true;
2621
+ },
2622
+ enumerable: true,
2623
+ configurable: true
2624
+ });
2625
+ var SplitButtonCustomMessagesComponent_1;
2626
+ SplitButtonCustomMessagesComponent = SplitButtonCustomMessagesComponent_1 = __decorate([
2627
+ Component({
2628
+ providers: [
2629
+ {
2630
+ provide: Messages,
2631
+ useExisting: forwardRef(function () { return SplitButtonCustomMessagesComponent_1; })
2632
+ }
2633
+ ],
2634
+ selector: 'kendo-splitbutton-messages',
2635
+ template: ""
2636
+ }),
2637
+ __metadata("design:paramtypes", [LocalizationService])
2638
+ ], SplitButtonCustomMessagesComponent);
2639
+ return SplitButtonCustomMessagesComponent;
2640
+ }(Messages));
2641
+
2556
2642
  /**
2557
2643
  * @hidden
2558
2644
  *
@@ -2566,8 +2652,8 @@ var SplitButtonModule = /** @class */ (function () {
2566
2652
  }
2567
2653
  SplitButtonModule = __decorate([
2568
2654
  NgModule({
2569
- declarations: [SplitButtonComponent],
2570
- exports: [SplitButtonComponent, ListModule],
2655
+ declarations: [SplitButtonComponent, LocalizedSplitButtonMessagesDirective, SplitButtonCustomMessagesComponent],
2656
+ exports: [SplitButtonComponent, ListModule, LocalizedSplitButtonMessagesDirective, SplitButtonCustomMessagesComponent],
2571
2657
  imports: [CommonModule, PopupModule, ButtonModule, ListModule]
2572
2658
  })
2573
2659
  ], SplitButtonModule);
@@ -5034,4 +5120,4 @@ var ButtonsModule = /** @class */ (function () {
5034
5120
  * Generated bundle index. Do not edit.
5035
5121
  */
5036
5122
 
5037
- export { KendoButtonService, DialItemComponent, DialListComponent, FocusService, FocusableDirective, ButtonItemTemplateDirective, ListButton, ListComponent, ListModule, TemplateContextDirective, NAVIGATION_CONFIG, NavigationService, ButtonDirective, ButtonDirective as Button, ButtonGroupComponent, ButtonGroupComponent as ButtonGroup, ButtonGroupModule, ButtonModule, ButtonsModule, SplitButtonComponent, SplitButtonComponent as SplitButton, SplitButtonModule, DropDownButtonComponent, DropDownButtonComponent as DropDownButton, DropDownButtonModule, ChipComponent, ChipListComponent, ChipModule, FloatingActionButtonModule, FloatingActionButtonComponent, FloatingActionButtonTemplateDirective, DialItemTemplateDirective };
5123
+ export { KendoButtonService, DialItemComponent, DialListComponent, FocusService, FocusableDirective, ButtonItemTemplateDirective, ListButton, ListComponent, ListModule, TemplateContextDirective, NAVIGATION_CONFIG, NavigationService, LocalizedSplitButtonMessagesDirective, Messages, ButtonDirective, ButtonDirective as Button, ButtonGroupComponent, ButtonGroupComponent as ButtonGroup, ButtonGroupModule, ButtonModule, ButtonsModule, SplitButtonComponent, SplitButtonComponent as SplitButton, SplitButtonModule, SplitButtonCustomMessagesComponent, DropDownButtonComponent, DropDownButtonComponent as DropDownButton, DropDownButtonModule, ChipComponent, ChipListComponent, ChipModule, FloatingActionButtonModule, FloatingActionButtonComponent, FloatingActionButtonTemplateDirective, DialItemTemplateDirective };
package/dist/npm/index.js CHANGED
@@ -33,3 +33,7 @@ var navigation_config_1 = require("./navigation/navigation-config");
33
33
  exports.NAVIGATION_CONFIG = navigation_config_1.NAVIGATION_CONFIG
34
34
  var navigation_service_1 = require("./navigation/navigation.service");
35
35
  exports.NavigationService = navigation_service_1.NavigationService
36
+ var localized_messages_directive_1 = require("./splitbutton/localization/localized-messages.directive");
37
+ exports.LocalizedSplitButtonMessagesDirective = localized_messages_directive_1.LocalizedSplitButtonMessagesDirective
38
+ var messages_1 = require("./splitbutton/localization/messages");
39
+ exports.Messages = messages_1.Messages