@syncfusion/ej2-ribbon 25.2.5 → 26.1.35

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 (112) hide show
  1. package/.eslintrc.json +3 -2
  2. package/dist/ej2-ribbon.umd.min.js +2 -2
  3. package/dist/ej2-ribbon.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-ribbon.es2015.js +821 -592
  5. package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
  6. package/dist/es6/ej2-ribbon.es5.js +812 -577
  7. package/dist/es6/ej2-ribbon.es5.js.map +1 -1
  8. package/dist/global/ej2-ribbon.min.js +2 -2
  9. package/dist/global/ej2-ribbon.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +13 -13
  12. package/src/ribbon/base/interface.d.ts +14 -0
  13. package/src/ribbon/base/ribbon-model.d.ts +1 -1
  14. package/src/ribbon/base/ribbon.d.ts +3 -1
  15. package/src/ribbon/base/ribbon.js +195 -94
  16. package/src/ribbon/items/ribbon-button.js +6 -1
  17. package/src/ribbon/items/ribbon-gallery.d.ts +15 -6
  18. package/src/ribbon/items/ribbon-gallery.js +164 -96
  19. package/src/ribbon/items/ribbon-groupbutton.d.ts +1 -0
  20. package/src/ribbon/items/ribbon-groupbutton.js +11 -3
  21. package/src/ribbon/models/ribbon-contextual-tab-settings-model.d.ts +1 -1
  22. package/src/ribbon/models/ribbon-gallery-group-model.d.ts +5 -5
  23. package/src/ribbon/models/ribbon-gallery-group.d.ts +2 -2
  24. package/src/ribbon/models/ribbon-gallery-group.js +2 -2
  25. package/src/ribbon/models/ribbon-gallery-item-model.d.ts +5 -5
  26. package/src/ribbon/models/ribbon-gallery-item.d.ts +1 -1
  27. package/src/ribbon/models/ribbon-gallery-item.js +1 -1
  28. package/src/ribbon/models/ribbon-gallery-settings-model.d.ts +1 -1
  29. package/src/ribbon/models/ribbon-gallery-settings.d.ts +3 -3
  30. package/src/ribbon/models/ribbon-gallery-settings.js +2 -2
  31. package/src/ribbon/modules/ribbon-backstage.d.ts +6 -3
  32. package/src/ribbon/modules/ribbon-backstage.js +65 -12
  33. package/src/ribbon/modules/ribbon-contextualtab.js +5 -2
  34. package/src/ribbon/modules/ribbon-keytip.d.ts +1 -0
  35. package/src/ribbon/modules/ribbon-keytip.js +58 -46
  36. package/styles/bootstrap-dark.css +452 -269
  37. package/styles/bootstrap-dark.scss +18 -1
  38. package/styles/bootstrap.css +456 -276
  39. package/styles/bootstrap.scss +18 -1
  40. package/styles/bootstrap4.css +455 -272
  41. package/styles/bootstrap4.scss +18 -1
  42. package/styles/bootstrap5-dark.css +470 -278
  43. package/styles/bootstrap5-dark.scss +18 -1
  44. package/styles/bootstrap5.css +470 -278
  45. package/styles/bootstrap5.scss +18 -1
  46. package/styles/fabric-dark.css +451 -269
  47. package/styles/fabric-dark.scss +18 -1
  48. package/styles/fabric.css +450 -272
  49. package/styles/fabric.scss +18 -1
  50. package/styles/fluent-dark.css +472 -277
  51. package/styles/fluent-dark.scss +18 -1
  52. package/styles/fluent.css +472 -277
  53. package/styles/fluent.scss +18 -1
  54. package/styles/fluent2.css +3868 -0
  55. package/styles/fluent2.scss +18 -0
  56. package/styles/highcontrast-light.css +445 -263
  57. package/styles/highcontrast-light.scss +17 -1
  58. package/styles/highcontrast.css +451 -273
  59. package/styles/highcontrast.scss +18 -1
  60. package/styles/material-dark.css +540 -283
  61. package/styles/material-dark.scss +18 -1
  62. package/styles/material.css +539 -289
  63. package/styles/material.scss +18 -1
  64. package/styles/material3-dark.css +496 -280
  65. package/styles/material3-dark.scss +18 -1
  66. package/styles/material3.css +496 -280
  67. package/styles/material3.scss +18 -1
  68. package/styles/ribbon/_bds-definition.scss +56 -20
  69. package/styles/ribbon/_bootstrap-dark-definition.scss +56 -20
  70. package/styles/ribbon/_bootstrap-definition.scss +57 -21
  71. package/styles/ribbon/_bootstrap4-definition.scss +57 -21
  72. package/styles/ribbon/_bootstrap5-definition.scss +57 -21
  73. package/styles/ribbon/_bootstrap5.3-definition.scss +396 -0
  74. package/styles/ribbon/_fabric-dark-definition.scss +55 -19
  75. package/styles/ribbon/_fabric-definition.scss +56 -20
  76. package/styles/ribbon/_fluent-definition.scss +59 -23
  77. package/styles/ribbon/_fluent2-definition.scss +396 -0
  78. package/styles/ribbon/_fusionnew-definition.scss +50 -14
  79. package/styles/ribbon/_highcontrast-definition.scss +58 -22
  80. package/styles/ribbon/_highcontrast-light-definition.scss +49 -13
  81. package/styles/ribbon/_layout.scss +359 -399
  82. package/styles/ribbon/_material-dark-definition.scss +56 -20
  83. package/styles/ribbon/_material-definition.scss +56 -20
  84. package/styles/ribbon/_material3-definition.scss +56 -19
  85. package/styles/ribbon/_tailwind-definition.scss +56 -20
  86. package/styles/ribbon/_theme.scss +118 -170
  87. package/styles/ribbon/bootstrap-dark.css +452 -269
  88. package/styles/ribbon/bootstrap.css +456 -276
  89. package/styles/ribbon/bootstrap4.css +455 -272
  90. package/styles/ribbon/bootstrap5-dark.css +470 -278
  91. package/styles/ribbon/bootstrap5.css +470 -278
  92. package/styles/ribbon/fabric-dark.css +451 -269
  93. package/styles/ribbon/fabric.css +450 -272
  94. package/styles/ribbon/fluent-dark.css +472 -277
  95. package/styles/ribbon/fluent.css +472 -277
  96. package/styles/ribbon/fluent2.css +3868 -0
  97. package/styles/ribbon/fluent2.scss +18 -0
  98. package/styles/ribbon/highcontrast-light.css +445 -263
  99. package/styles/ribbon/highcontrast.css +451 -273
  100. package/styles/ribbon/icons/_bootstrap5.3.scss +9 -0
  101. package/styles/ribbon/icons/_fluent2.scss +9 -0
  102. package/styles/ribbon/material-dark.css +540 -283
  103. package/styles/ribbon/material.css +539 -289
  104. package/styles/ribbon/material3-dark.css +496 -280
  105. package/styles/ribbon/material3.css +496 -280
  106. package/styles/ribbon/tailwind-dark.css +506 -280
  107. package/styles/ribbon/tailwind.css +506 -280
  108. package/styles/tailwind-dark.css +506 -280
  109. package/styles/tailwind-dark.scss +18 -1
  110. package/styles/tailwind.css +506 -280
  111. package/styles/tailwind.scss +18 -1
  112. package/CHANGELOG.md +0 -101
@@ -55,6 +55,10 @@ var RibbonGroupButton = /** @class */ (function () {
55
55
  }
56
56
  if (groupBtnSettings.items[parseInt(i.toString(), 10)].content) {
57
57
  groupButtonEle.classList.add(constants.RIBBON_GROUP_BUTTON_CONTENT);
58
+ groupButtonEle.setAttribute('aria-label', groupBtnSettings.items[parseInt(i.toString(), 10)].content);
59
+ }
60
+ else {
61
+ groupButtonEle.setAttribute('aria-label', 'groupbuttonitem');
58
62
  }
59
63
  var buttonEle = itemElement.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + i);
60
64
  if (groupBtnSettings.selection === RibbonGroupButtonSelection.Single) {
@@ -173,7 +177,8 @@ var RibbonGroupButton = /** @class */ (function () {
173
177
  for (var j = 0; j < grpBtnSettings.items.length; j++) {
174
178
  if (document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + j) && document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + j).classList.contains('e-active')) {
175
179
  document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + j).classList.remove('e-active');
176
- grpBtnSettings.items[parseInt(j.toString(), 10)].setProperties({ selected: false }, true);
180
+ grpBtnSettings.items[parseInt(j.toString(), 10)].
181
+ setProperties({ selected: false }, true);
177
182
  }
178
183
  }
179
184
  document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + itemIndex).classList.toggle('e-active');
@@ -194,10 +199,12 @@ var RibbonGroupButton = /** @class */ (function () {
194
199
  }
195
200
  document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + itemIndex).classList.toggle('e-active');
196
201
  if (document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + itemIndex).classList.contains('e-active')) {
197
- grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].setProperties({ selected: true }, true);
202
+ grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].
203
+ setProperties({ selected: true }, true);
198
204
  }
199
205
  else {
200
- grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].setProperties({ selected: false }, true);
206
+ grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].
207
+ setProperties({ selected: false }, true);
201
208
  }
202
209
  var activeEleCount = 0;
203
210
  for (var n = 0; n < grpBtnSettings.items.length; n++) {
@@ -400,6 +407,7 @@ var RibbonGroupButton = /** @class */ (function () {
400
407
  *
401
408
  * @param {RibbonItemModel} item - Gets the ribbon item model.
402
409
  * @param {HTMLElement} itemEle - Gets the ribbon item element.
410
+ * @param {DropDownButton} overflowButton - Gets the overflow button.
403
411
  * @returns {void}
404
412
  * @hidden
405
413
  */
@@ -1,4 +1,4 @@
1
- import { ChildProperty, Event, EmitType, Property, Collection } from '@syncfusion/ej2-base';import { RibbonTab } from './ribbon-tab';import { RibbonTabModel } from './ribbon-tab-model';
1
+ import { ChildProperty, Property, Collection } from '@syncfusion/ej2-base';import { RibbonTab } from './ribbon-tab';import { RibbonTabModel } from './ribbon-tab-model';
2
2
 
3
3
  /**
4
4
  * Interface for a class RibbonContextualTabSettings
@@ -1,4 +1,4 @@
1
- import { ChildProperty, Collection, Property } from "@syncfusion/ej2-base";import { RibbonGalleryItemModel } from "./ribbon-gallery-item-model";import { RibbonGalleryItem } from "./ribbon-gallery-item";
1
+ import { ChildProperty, Collection, Property } from '@syncfusion/ej2-base';import { RibbonGalleryItemModel } from './ribbon-gallery-item-model';import { RibbonGalleryItem } from './ribbon-gallery-item';
2
2
 
3
3
  /**
4
4
  * Interface for a class RibbonGalleryGroup
@@ -15,28 +15,28 @@ export interface RibbonGalleryGroupModel {
15
15
 
16
16
  /**
17
17
  * Defines the header for the group items present in Ribbon Gallery popup.
18
- *
18
+ *
19
19
  * @default ''
20
20
  */
21
21
  header?: string;
22
22
 
23
23
  /**
24
24
  * Defines the width of the gallery items.
25
- *
25
+ *
26
26
  * @default 'auto'
27
27
  */
28
28
  itemWidth?: string;
29
29
 
30
30
  /**
31
31
  * Defines the height of the gallery item.
32
- *
32
+ *
33
33
  * @default 'auto'
34
34
  */
35
35
  itemHeight?: string;
36
36
 
37
37
  /**
38
38
  * Defines the CSS class to customize the gallery groups.
39
- *
39
+ *
40
40
  * @default ''
41
41
  */
42
42
  cssClass?: string;
@@ -1,5 +1,5 @@
1
- import { ChildProperty } from "@syncfusion/ej2-base";
2
- import { RibbonGalleryItemModel } from "./ribbon-gallery-item-model";
1
+ import { ChildProperty } from '@syncfusion/ej2-base';
2
+ import { RibbonGalleryItemModel } from './ribbon-gallery-item-model';
3
3
  /**
4
4
  * Defines the ribbon gallery group.
5
5
  */
@@ -17,8 +17,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
17
17
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  };
20
- import { ChildProperty, Collection, Property } from "@syncfusion/ej2-base";
21
- import { RibbonGalleryItem } from "./ribbon-gallery-item";
20
+ import { ChildProperty, Collection, Property } from '@syncfusion/ej2-base';
21
+ import { RibbonGalleryItem } from './ribbon-gallery-item';
22
22
  /**
23
23
  * Defines the ribbon gallery group.
24
24
  */
@@ -1,4 +1,4 @@
1
- import { ChildProperty, Property } from "@syncfusion/ej2-base";
1
+ import { ChildProperty, Property } from '@syncfusion/ej2-base';
2
2
 
3
3
  /**
4
4
  * Interface for a class RibbonGalleryItem
@@ -7,14 +7,14 @@ export interface RibbonGalleryItemModel {
7
7
 
8
8
  /**
9
9
  * Defines the content for the gallery item.
10
- *
10
+ *
11
11
  * @default ''
12
12
  */
13
13
  content?: string;
14
14
 
15
15
  /**
16
16
  * Defines the image or icons for the gallery item.
17
- *
17
+ *
18
18
  * @default ''
19
19
  */
20
20
  iconCss?: string;
@@ -28,14 +28,14 @@ export interface RibbonGalleryItemModel {
28
28
 
29
29
  /**
30
30
  * Defines the CSS class to customize the gallery items.
31
- *
31
+ *
32
32
  * @default ''
33
33
  */
34
34
  cssClass?: string;
35
35
 
36
36
  /**
37
37
  * Defines whether the item is disabled or not.
38
- *
38
+ *
39
39
  * @default false
40
40
  */
41
41
  disabled?: boolean;
@@ -1,4 +1,4 @@
1
- import { ChildProperty } from "@syncfusion/ej2-base";
1
+ import { ChildProperty } from '@syncfusion/ej2-base';
2
2
  /**
3
3
  * Defines the ribbon gallery item.
4
4
  */
@@ -17,7 +17,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
17
17
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  };
20
- import { ChildProperty, Property } from "@syncfusion/ej2-base";
20
+ import { ChildProperty, Property } from '@syncfusion/ej2-base';
21
21
  /**
22
22
  * Defines the ribbon gallery item.
23
23
  */
@@ -1,4 +1,4 @@
1
- import { ChildProperty, Collection, EmitType, Property, Event } from "@syncfusion/ej2-base";import { RibbonGalleryGroupModel } from "./ribbon-gallery-group-model";import { RibbonGalleryGroup } from "./ribbon-gallery-group";import { GalleryHoverEventArgs, GalleryItemEventArgs, GalleryPopupEventArgs, GallerySelectEventArgs, GalleryBeforeSelectEventArgs } from "../base/interface";
1
+ import { ChildProperty, Collection, EmitType, Property, Event } from '@syncfusion/ej2-base';import { RibbonGalleryGroupModel } from './ribbon-gallery-group-model';import { RibbonGalleryGroup } from './ribbon-gallery-group';import { GalleryHoverEventArgs, GalleryItemEventArgs, GalleryPopupEventArgs, GallerySelectEventArgs, GalleryBeforeSelectEventArgs } from '../base/interface';
2
2
 
3
3
  /**
4
4
  * Interface for a class RibbonGallerySettings
@@ -1,6 +1,6 @@
1
- import { ChildProperty, EmitType } from "@syncfusion/ej2-base";
2
- import { RibbonGalleryGroupModel } from "./ribbon-gallery-group-model";
3
- import { GalleryHoverEventArgs, GalleryItemEventArgs, GalleryPopupEventArgs, GallerySelectEventArgs, GalleryBeforeSelectEventArgs } from "../base/interface";
1
+ import { ChildProperty, EmitType } from '@syncfusion/ej2-base';
2
+ import { RibbonGalleryGroupModel } from './ribbon-gallery-group-model';
3
+ import { GalleryHoverEventArgs, GalleryItemEventArgs, GalleryPopupEventArgs, GallerySelectEventArgs, GalleryBeforeSelectEventArgs } from '../base/interface';
4
4
  /**
5
5
  * Defines the ribbon gallery settings.
6
6
  */
@@ -17,8 +17,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
17
17
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  };
20
- import { ChildProperty, Collection, Property, Event } from "@syncfusion/ej2-base";
21
- import { RibbonGalleryGroup } from "./ribbon-gallery-group";
20
+ import { ChildProperty, Collection, Property, Event } from '@syncfusion/ej2-base';
21
+ import { RibbonGalleryGroup } from './ribbon-gallery-group';
22
22
  /**
23
23
  * Defines the ribbon gallery settings.
24
24
  */
@@ -20,11 +20,13 @@ export declare class RibbonBackstage extends Component<HTMLElement> {
20
20
  private contentItem;
21
21
  private backstageTempEle;
22
22
  private itemsWrapperEle;
23
+ private menuIndex;
24
+ private isCloseBtn;
23
25
  constructor(parent: Ribbon);
24
26
  /**
25
- * @private
26
- * @returns {void}
27
- */
27
+ * @private
28
+ * @returns {void}
29
+ */
28
30
  protected render(): void;
29
31
  /**
30
32
  * @private
@@ -54,6 +56,7 @@ export declare class RibbonBackstage extends Component<HTMLElement> {
54
56
  private addBackStageMenuKeyTip;
55
57
  private checkMenuItems;
56
58
  private createBackStagePopup;
59
+ private handleNavigation;
57
60
  private updatePopupPositionOnRtl;
58
61
  private createBackstageMenu;
59
62
  private cloneMenuItem;
@@ -29,9 +29,9 @@ var RibbonBackstage = /** @class */ (function (_super) {
29
29
  return _this;
30
30
  }
31
31
  /**
32
- * @private
33
- * @returns {void}
34
- */
32
+ * @private
33
+ * @returns {void}
34
+ */
35
35
  RibbonBackstage.prototype.render = function () {
36
36
  // render code
37
37
  };
@@ -133,6 +133,8 @@ var RibbonBackstage = /** @class */ (function (_super) {
133
133
  if (firstMenuEle) {
134
134
  firstMenuEle.classList.add('e-selected');
135
135
  firstMenuEle.focus();
136
+ _this.menuIndex = 0;
137
+ _this.isCloseBtn = false;
136
138
  }
137
139
  _this.createBackStageContent(_this.menuCtrl.items[0].id, item.content);
138
140
  break;
@@ -197,7 +199,8 @@ var RibbonBackstage = /** @class */ (function (_super) {
197
199
  });
198
200
  var targetEle;
199
201
  if (backStageOptions.target) {
200
- targetEle = backStageOptions.target instanceof HTMLElement ? backStageOptions.target : document.querySelector(backStageOptions.target);
202
+ targetEle = backStageOptions.target instanceof HTMLElement ? backStageOptions.target :
203
+ document.querySelector(backStageOptions.target);
201
204
  targetEle.appendChild(this.popupHTMLElement);
202
205
  }
203
206
  else {
@@ -212,10 +215,47 @@ var RibbonBackstage = /** @class */ (function (_super) {
212
215
  if (this.parent.enableRtl) {
213
216
  this.updatePopupPositionOnRtl(this.parent.enableRtl);
214
217
  }
215
- this.popupHTMLElement.onkeydown = function (e) { if (e.code === 'Escape') {
216
- _this.hideBackstage();
217
- } };
218
218
  this.hideBackstage();
219
+ EventHandler.add(this.popupHTMLElement, 'keyup', function (e) {
220
+ if (e.code === 'Escape') {
221
+ _this.hideBackstage();
222
+ }
223
+ _this.handleNavigation(e);
224
+ }, this);
225
+ };
226
+ RibbonBackstage.prototype.handleNavigation = function (e) {
227
+ var closeBtnEle = this.popupHTMLElement.querySelector('.e-ribbon-close-btn');
228
+ var menuItems = this.popupHTMLElement.querySelectorAll('.e-menu-item');
229
+ var arrowUp = e.key === 'ArrowUp';
230
+ var arrowDown = e.key === 'ArrowDown';
231
+ if (arrowUp || arrowDown) {
232
+ if ((arrowUp && this.menuIndex > 0) || (arrowDown && this.menuIndex < menuItems.length - 1 && !this.isCloseBtn)) {
233
+ this.menuIndex = arrowUp ? this.menuIndex - 1 : this.menuIndex + 1;
234
+ }
235
+ else {
236
+ if (closeBtnEle && !this.isCloseBtn) {
237
+ closeBtnEle.focus();
238
+ this.isCloseBtn = true;
239
+ }
240
+ else {
241
+ this.menuIndex = arrowUp ? menuItems.length - 1 : 0;
242
+ this.isCloseBtn = false;
243
+ }
244
+ }
245
+ for (var i = 0; i < menuItems.length; i++) {
246
+ menuItems[parseInt(i.toString(), 10)].classList.remove('e-focused');
247
+ }
248
+ if (!this.isCloseBtn) {
249
+ if (arrowUp && menuItems[this.menuIndex].classList.contains('e-separator')) {
250
+ this.menuIndex--;
251
+ }
252
+ else if (arrowDown && menuItems[this.menuIndex].classList.contains('e-separator')) {
253
+ this.menuIndex++;
254
+ }
255
+ menuItems[this.menuIndex].classList.add('e-focused');
256
+ menuItems[this.menuIndex].focus();
257
+ }
258
+ }
219
259
  };
220
260
  RibbonBackstage.prototype.updatePopupPositionOnRtl = function (enableRtl) {
221
261
  var popupStyle = this.popupHTMLElement.style;
@@ -370,11 +410,13 @@ var RibbonBackstage = /** @class */ (function (_super) {
370
410
  var item = menuOptions.items[parseInt(i.toString(), 10)];
371
411
  if (item.text === args.item.text) {
372
412
  this.contentItem = item;
413
+ this.menuIndex = i;
373
414
  break;
374
415
  }
375
416
  }
376
417
  this.createBackStageContent(args.item.id, this.contentItem.content);
377
- var eventArgs = { cancel: false, target: args.element, item: this.contentItem, isBackButton: this.isBackButtonClicked };
418
+ var eventArgs = { cancel: false, target: args.element,
419
+ item: this.contentItem, isBackButton: this.isBackButtonClicked };
378
420
  if (this.contentItem.backStageItemClick) {
379
421
  this.contentItem.backStageItemClick.call(this, eventArgs);
380
422
  }
@@ -394,8 +436,9 @@ var RibbonBackstage = /** @class */ (function (_super) {
394
436
  this.backstageButton.setProperties(commonProp);
395
437
  if (this.popupEle) {
396
438
  this.popupEle.setProperties(commonProp);
397
- if (this.popupHTMLElement)
439
+ if (this.popupHTMLElement) {
398
440
  this.updatePopupPositionOnRtl(commonProp.enableRtl);
441
+ }
399
442
  if (this.menuCtrl) {
400
443
  this.menuCtrl.setProperties(commonProp);
401
444
  if (this.closeBtn) {
@@ -428,7 +471,7 @@ var RibbonBackstage = /** @class */ (function (_super) {
428
471
  this.popupEle.setProperties({
429
472
  height: backStageOptions.height,
430
473
  width: backStageOptions.width,
431
- target: backStageOptions.target || this.parent.element,
474
+ target: backStageOptions.target || this.parent.element
432
475
  });
433
476
  }
434
477
  if (backStageOptions.template) {
@@ -537,10 +580,20 @@ var RibbonBackstage = /** @class */ (function (_super) {
537
580
  for (var i = 0; i < items.length; i++) {
538
581
  var item = items[parseInt(i.toString(), 10)];
539
582
  if (item.isFooter) {
540
- isAfter ? this.footerMenuCtrl.insertAfter(items, target, isUniqueId) : this.footerMenuCtrl.insertBefore(items, target, isUniqueId);
583
+ if (isAfter) {
584
+ this.footerMenuCtrl.insertAfter(items, target, isUniqueId);
585
+ }
586
+ else {
587
+ this.footerMenuCtrl.insertBefore(items, target, isUniqueId);
588
+ }
541
589
  }
542
590
  else {
543
- isAfter ? this.menuCtrl.insertAfter(items, target, isUniqueId) : this.menuCtrl.insertBefore(items, target, isUniqueId);
591
+ if (isAfter) {
592
+ this.menuCtrl.insertAfter(items, target, isUniqueId);
593
+ }
594
+ else {
595
+ this.menuCtrl.insertBefore(items, target, isUniqueId);
596
+ }
544
597
  }
545
598
  }
546
599
  var backstageItems = [].concat(this.menuCtrl.items, this.footerMenuCtrl.items);
@@ -76,11 +76,14 @@ var RibbonContextualTab = /** @class */ (function () {
76
76
  if (newProp.tabs) {
77
77
  var _loop_1 = function (key) {
78
78
  var index = parseInt(key, 10);
79
- var tab = this_1.parent.tabs.filter(function (e) { return e.id === contextualTab.tabs[parseInt(index.toString(), 10)].id; })[0];
79
+ var tab = this_1.parent.tabs.filter(function (e) {
80
+ return e.id === contextualTab.tabs[parseInt(index.toString(), 10)].id;
81
+ })[0];
80
82
  this_1.parent.updateTab(tab);
81
83
  };
82
84
  var this_1 = this;
83
- for (var key in newProp.tabs) {
85
+ for (var _i = 0, _a = Object.keys(newProp.tabs); _i < _a.length; _i++) {
86
+ var key = _a[_i];
84
87
  _loop_1(key);
85
88
  }
86
89
  }
@@ -24,6 +24,7 @@ export declare class RibbonKeyTip {
24
24
  * Performs keytip action.
25
25
  *
26
26
  * @param {string} keyPress - Gets the keytip text.
27
+ * @param {boolean} isMethod - Gets the isMethod.
27
28
  * @returns {void}
28
29
  * @hidden
29
30
  */
@@ -31,8 +31,7 @@ var RibbonKeyTip = /** @class */ (function () {
31
31
  if (key === 'tab') {
32
32
  for (var i = 0; i < this.parent.tabs.length; i++) {
33
33
  if (this.parent.keyTipElements[parseInt(i.toString(), 10)]) {
34
- // eslint-disable-next-line
35
- keytipData = this.parent.keyTipElements[i][key];
34
+ keytipData = this.parent.keyTipElements[parseInt(i.toString(), 10)]["" + key];
36
35
  this.createKeyTipElement((keytipData[0].id), keytipData[0].keyTip, 'tab', 'center', 'bottom', true);
37
36
  }
38
37
  }
@@ -115,15 +114,12 @@ var RibbonKeyTip = /** @class */ (function () {
115
114
  if (isMethod === void 0) { isMethod = false; }
116
115
  var xOffset;
117
116
  var yOffset;
118
- var keytipData;
119
- /* eslint-disable */
120
- keytipData = this.parent.keyTipElements[parseInt(this.parent.selectedTab.toString(), 10)][key];
117
+ var keytipData = this.parent.keyTipElements[parseInt(this.parent.selectedTab.toString(), 10)]["" + key];
121
118
  if (keytipData) {
122
- for (var i = 0; i < Object.keys(this.parent.keyTipElements[parseInt(this.parent.selectedTab.toString(), 10)][key]).length; i++) {
123
- /* eslint-enable */
119
+ for (var i = 0; i < Object.keys(this.parent.keyTipElements[parseInt(this.parent.selectedTab.toString(), 10)]["" + key]).length; i++) {
124
120
  if ((isMethod && (keytipData[parseInt(i.toString(), 10)].keyTip === keyTip)) || !isMethod) {
125
121
  var itemID = keytipData[parseInt(i.toString(), 10)].id;
126
- if (keytipData[parseInt(i.toString(), 10)].id.includes("_grpbtn")) {
122
+ if (keytipData[parseInt(i.toString(), 10)].id.indexOf('_grpbtn') !== -1) {
127
123
  itemID = keytipData[parseInt(i.toString(), 10)].id.replace(/_grpbtn\d+/, '');
128
124
  }
129
125
  var itemProp = getItem(this.parent.tabs, itemID);
@@ -151,7 +147,12 @@ var RibbonKeyTip = /** @class */ (function () {
151
147
  yOffset = 'bottom';
152
148
  }
153
149
  }
154
- key === 'item' ? this.createKeyTipElement((keytipData[parseInt(i.toString(), 10)].id), keytipData[parseInt(i.toString(), 10)].keyTip, key, xOffset, yOffset) : this.createKeyTipElement((keytipData[parseInt(i.toString(), 10)].id), keytipData[parseInt(i.toString(), 10)].keyTip, key, xOffset, yOffset, false, true);
150
+ if (key === 'item') {
151
+ this.createKeyTipElement((keytipData[parseInt(i.toString(), 10)].id), keytipData[parseInt(i.toString(), 10)].keyTip, key, xOffset, yOffset);
152
+ }
153
+ else {
154
+ this.createKeyTipElement((keytipData[parseInt(i.toString(), 10)].id), keytipData[parseInt(i.toString(), 10)].keyTip, key, xOffset, yOffset, false, true);
155
+ }
155
156
  }
156
157
  }
157
158
  }
@@ -201,13 +202,12 @@ var RibbonKeyTip = /** @class */ (function () {
201
202
  enableRtl: this.parent.enableRtl
202
203
  });
203
204
  keytipPopup.show();
204
- this.calculateKeyTipPosition(keyEle, keytipElement, type, yOffset, (isTab && isPopUpItem));
205
+ this.calculateKeyTipPosition(keyEle, keytipElement, type, yOffset);
205
206
  this.parent.isKeytipOpen = true;
206
207
  }
207
208
  }
208
209
  };
209
- RibbonKeyTip.prototype.calculateKeyTipPosition = function (itemEle, keytipElement, type, yOffset, isTabOverflow) {
210
- if (isTabOverflow === void 0) { isTabOverflow = false; }
210
+ RibbonKeyTip.prototype.calculateKeyTipPosition = function (itemEle, keytipElement, type, yOffset) {
211
211
  var position = itemEle.getBoundingClientRect();
212
212
  if (type === 'backstageMenu') {
213
213
  keytipElement.style.top = position.top + ((keytipElement.offsetHeight) / 2) + 'px';
@@ -229,6 +229,7 @@ var RibbonKeyTip = /** @class */ (function () {
229
229
  * Performs keytip action.
230
230
  *
231
231
  * @param {string} keyPress - Gets the keytip text.
232
+ * @param {boolean} isMethod - Gets the isMethod.
232
233
  * @returns {void}
233
234
  * @hidden
234
235
  */
@@ -238,9 +239,11 @@ var RibbonKeyTip = /** @class */ (function () {
238
239
  this.isKeytipPresent = false;
239
240
  for (var i = 0; ((i < Object.keys(this.parent.keyTipElements).length) && !this.isKeytipPresent); i++) {
240
241
  if (this.parent.keyTipElements[parseInt(i.toString(), 10)]) {
241
- for (var j = 0; ((j < Object.keys(this.parent.keyTipElements[parseInt(i.toString(), 10)]).length) && !this.isKeytipPresent); j++) {
242
- var keytipData = this.parent.keyTipElements[parseInt(i.toString(), 10)][Object.keys(this.parent.keyTipElements[parseInt(i.toString(), 10)])[parseInt(j.toString(), 10)]];
243
- for (var k = 0; ((k < keytipData.length) && !this.isKeytipPresent); k++) {
242
+ for (var j = 0; ((j < Object.keys(this.parent.keyTipElements[parseInt(i.toString(), 10)]).length) &&
243
+ !this.isKeytipPresent); j++) {
244
+ var keytipData = this.parent.keyTipElements[parseInt(i.toString(), 10)][Object.
245
+ keys(this.parent.keyTipElements[parseInt(i.toString(), 10)])[parseInt(j.toString(), 10)]];
246
+ for (var k = 0; ((k < Object.keys(keytipData).length) && !this.isKeytipPresent); k++) {
244
247
  if (keyPress.toUpperCase() === keytipData[parseInt(k.toString(), 10)].keyTip) {
245
248
  var keyTipElement = document.querySelector('#' + keytipData[parseInt(k.toString(), 10)].id + constants.RIBBON_KEYTIP_ID);
246
249
  if (keyTipElement || isMethod) {
@@ -251,8 +254,9 @@ var RibbonKeyTip = /** @class */ (function () {
251
254
  this.parent.tabObj.select(i);
252
255
  setTimeout(function () {
253
256
  var tabOverflow = _this.parent.tabObj.element.querySelector('.e-nav-active');
254
- if (tabOverflow)
257
+ if (tabOverflow) {
255
258
  tabOverflow.click();
259
+ }
256
260
  _this.createKeytip('item');
257
261
  }, 600);
258
262
  }
@@ -267,7 +271,7 @@ var RibbonKeyTip = /** @class */ (function () {
267
271
  }
268
272
  else {
269
273
  var itemProp = void 0;
270
- if ((keytipData[parseInt(k.toString(), 10)].id).includes("_popupButton")) {
274
+ if ((keytipData[parseInt(k.toString(), 10)].id).indexOf('_popupButton') !== -1) {
271
275
  var galleryID = keytipData[parseInt(k.toString(), 10)].id.replace(/_popupButton/g, '');
272
276
  itemProp = getItem(this.parent.tabs, galleryID);
273
277
  }
@@ -285,7 +289,7 @@ var RibbonKeyTip = /** @class */ (function () {
285
289
  if (keyEle) {
286
290
  var groupID = keytipData[parseInt(k.toString(), 10)].id;
287
291
  if (isMethod) {
288
- if (keytipData[parseInt(k.toString(), 10)].id.includes("_launcher") || keytipData[parseInt(k.toString(), 10)].id.includes("_sim_grp_overflow") || keytipData[parseInt(k.toString(), 10)].id.includes("_overflow_dropdown")) {
292
+ if (keytipData[parseInt(k.toString(), 10)].id.indexOf('_launcher') !== -1 || keytipData[parseInt(k.toString(), 10)].id.indexOf('_sim_grp_overflow') !== -1 || keytipData[parseInt(k.toString(), 10)].id.indexOf('_overflow_dropdown') !== -1) {
289
293
  groupID = keytipData[parseInt(k.toString(), 10)].id.replace(/_launcher|_sim_grp_overflow|_overflow_dropdown/g, '');
290
294
  var itemProp = getGroup(this.parent.tabs, groupID);
291
295
  if (itemProp.tabIndex === this.parent.selectedTab) {
@@ -316,7 +320,12 @@ var RibbonKeyTip = /** @class */ (function () {
316
320
  keyEle.click();
317
321
  if (!(keytipData[parseInt(k.toString(), 10)].type === 'launcher')) {
318
322
  this.isKeytipPopupOpen = true;
319
- keytipData[parseInt(k.toString(), 10)].type === 'grpoverflow' ? this.createKeytip('grpoverflowpopup') : this.createKeytip('popupitem');
323
+ if (keytipData[parseInt(k.toString(), 10)].type === 'grpoverflow') {
324
+ this.createKeytip('grpoverflowpopup');
325
+ }
326
+ else {
327
+ this.createKeytip('popupitem');
328
+ }
320
329
  }
321
330
  }
322
331
  else {
@@ -353,21 +362,24 @@ var RibbonKeyTip = /** @class */ (function () {
353
362
  case 'colorpicker':
354
363
  this.parent.ribbonColorPickerModule.toggle(itemID);
355
364
  break;
356
- case 'combobox':
365
+ case 'combobox': {
357
366
  var itemEle_1 = document.querySelector('#' + itemID);
358
367
  setTimeout(function () {
359
368
  itemEle_1.focus();
360
369
  }, 100);
361
370
  break;
362
- case 'gallery':
371
+ }
372
+ case 'gallery': {
363
373
  var galleryEle = document.querySelector('#' + itemID);
364
374
  galleryEle.click();
365
375
  break;
366
- case 'template':
376
+ }
377
+ case 'template': {
367
378
  var templateEle = document.querySelector('#' + itemID);
368
379
  templateEle.focus();
369
380
  break;
370
- case 'group-btn':
381
+ }
382
+ case 'group-btn': {
371
383
  var itemElement = document.querySelector('#' + itemID);
372
384
  if (itemElement) {
373
385
  var item = getInstance(itemElement, DropDownButton);
@@ -379,21 +391,20 @@ var RibbonKeyTip = /** @class */ (function () {
379
391
  }
380
392
  }
381
393
  break;
394
+ }
382
395
  }
383
396
  }
384
397
  };
385
398
  RibbonKeyTip.prototype.commonItemsKeyTipPress = function (keyPress, key, isMethod) {
386
399
  var _this = this;
387
- /* eslint-disable */
388
- if (this.parent.keyTipElements[key]) {
400
+ if (this.parent.keyTipElements["" + key]) {
389
401
  var isKeyPressed = false;
390
- var keytipData = this.parent.keyTipElements[key];
402
+ var keytipData = this.parent.keyTipElements["" + key];
391
403
  var keyEle = void 0;
392
404
  var keytipElement = void 0;
393
405
  if (keytipData) {
394
406
  if (key === 'backstageMenu') {
395
- for (var i = 0; i < Object.keys(this.parent.keyTipElements[key]).length; i++) {
396
- /* eslint-enable */
407
+ for (var i = 0; i < Object.keys(this.parent.keyTipElements["" + key]).length; i++) {
397
408
  if (keytipData[parseInt(i.toString(), 10)].keyTip === keyPress.toUpperCase()) {
398
409
  keyEle = document.querySelector('#' + keytipData[parseInt(i.toString(), 10)].id);
399
410
  keytipElement = document.querySelector('#' + keyEle.id + constants.RIBBON_KEYTIP_ID);
@@ -458,34 +469,34 @@ var RibbonKeyTip = /** @class */ (function () {
458
469
  var _loop_1 = function (i) {
459
470
  var keyTipItem = keyTipItems[parseInt(i.toString(), 10)];
460
471
  if (key === 'Escape' && this_1.parent.keyTipElements && this_1.parent.keyTipElements[this_1.parent.selectedTab]) {
461
- /* eslint-disable */
462
472
  for (var j = 0; j < Object.keys(this_1.parent.keyTipElements[this_1.parent.selectedTab]).length; j++) {
463
- var keyText = (Object.keys(this_1.parent.keyTipElements[this_1.parent.selectedTab]))[j];
464
- if (this_1.parent.keyTipElements[this_1.parent.selectedTab][keyText]) {
465
- var index = getIndex(this_1.parent.keyTipElements[this_1.parent.selectedTab][keyText], function (e) { return e.id + constants.RIBBON_KEYTIP_ID === keyTipItems[parseInt(i.toString(), 10)].id; });
466
- /* eslint-enable */
467
- if (index !== -1) {
468
- if ((keyText === 'item' && !(this_1.isKeytipPopupOpen)) || (keyText === 'grpoverflow' && this_1.parent.activeLayout === 'Classic')) {
469
- this_1.createKeytip('tab');
473
+ var keyText = (Object.keys(this_1.parent.keyTipElements[parseInt(this_1.parent.selectedTab.toString(), 10)]))[parseInt(j.toString(), 10)];
474
+ var keyTipElement = this_1.parent.keyTipElements[parseInt(this_1.parent.selectedTab.toString(), 10)];
475
+ var index = getIndex(keyTipElement["" + keyText], function (e) {
476
+ return e.id +
477
+ constants.RIBBON_KEYTIP_ID === keyTipItems[parseInt(i.toString(), 10)].id;
478
+ });
479
+ if (index !== -1) {
480
+ if ((keyText === 'item' && !(this_1.isKeytipPopupOpen)) || (keyText === 'grpoverflow' && this_1.parent.activeLayout === 'Classic')) {
481
+ this_1.createKeytip('tab');
482
+ key = '';
483
+ isKeyTipExist = true;
484
+ break;
485
+ }
486
+ else if (this_1.isKeytipPopupOpen) {
487
+ if ((keyText === 'popupitem' && this_1.parent.activeLayout === 'Simplified') || (keyText === 'grpoverflowpopup' && this_1.parent.activeLayout === 'Classic')) {
488
+ this_1.createKeytip('item');
470
489
  key = '';
471
490
  isKeyTipExist = true;
472
491
  break;
473
492
  }
474
- else if (this_1.isKeytipPopupOpen) {
475
- if ((keyText === 'popupitem' && this_1.parent.activeLayout === 'Simplified') || (keyText === 'grpoverflowpopup' && this_1.parent.activeLayout === 'Classic')) {
476
- this_1.createKeytip('item');
477
- key = '';
478
- isKeyTipExist = true;
479
- break;
480
- }
481
- }
482
493
  }
483
494
  }
484
495
  }
485
496
  for (var n = 0; n < Object.keys(this_1.parent.keyTipElements).length; n++) {
486
497
  if (this_1.parent.keyTipElements[parseInt(n.toString(), 10)]) {
487
498
  var keytipData = this_1.parent.keyTipElements[parseInt(n.toString(), 10)]['tab'];
488
- for (var j = 0; j < keytipData.length; j++) {
499
+ for (var j = 0; j < Object.keys(keytipData).length; j++) {
489
500
  if (keyTipItem.id === keytipData[0].id + constants.RIBBON_KEYTIP_ID) {
490
501
  if (document.querySelector('#' + keytipData[0].id + constants.HEADER_ID).closest('.e-toolbar-pop')) {
491
502
  var tabOverflow = this_1.parent.tabObj.element.querySelector('.e-nav-active');
@@ -522,8 +533,9 @@ var RibbonKeyTip = /** @class */ (function () {
522
533
  _loop_1(i);
523
534
  }
524
535
  this.isKeytipPopupOpen = false;
525
- if (!isKeyTipExist)
536
+ if (!isKeyTipExist) {
526
537
  this.parent.isKeytipOpen = false;
538
+ }
527
539
  };
528
540
  /**
529
541
  * Shows the Keytip dynamically.