@syncfusion/ej2-ribbon 29.1.39 → 30.1.37

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 (100) hide show
  1. package/.eslintrc.json +2 -0
  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 +62 -37
  5. package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
  6. package/dist/es6/ej2-ribbon.es5.js +68 -43
  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 +19 -54
  12. package/src/ribbon/base/ribbon.js +12 -7
  13. package/src/ribbon/items/ribbon-gallery.d.ts +1 -0
  14. package/src/ribbon/items/ribbon-gallery.js +16 -13
  15. package/src/ribbon/items/ribbon-groupbutton.js +32 -20
  16. package/src/ribbon/modules/ribbon-filemenu.js +8 -3
  17. package/styles/bds-lite.css +224 -213
  18. package/styles/bds.css +227 -213
  19. package/styles/bootstrap-dark-lite.css +224 -213
  20. package/styles/bootstrap-dark.css +227 -213
  21. package/styles/bootstrap-lite.css +224 -213
  22. package/styles/bootstrap.css +227 -213
  23. package/styles/bootstrap4-lite.css +224 -213
  24. package/styles/bootstrap4.css +227 -213
  25. package/styles/bootstrap5-dark-lite.css +224 -213
  26. package/styles/bootstrap5-dark.css +227 -213
  27. package/styles/bootstrap5-lite.css +224 -213
  28. package/styles/bootstrap5.3-lite.css +224 -213
  29. package/styles/bootstrap5.3.css +227 -213
  30. package/styles/bootstrap5.css +227 -213
  31. package/styles/fabric-dark-lite.css +224 -213
  32. package/styles/fabric-dark.css +227 -213
  33. package/styles/fabric-lite.css +224 -213
  34. package/styles/fabric.css +227 -213
  35. package/styles/fluent-dark-lite.css +224 -213
  36. package/styles/fluent-dark.css +227 -213
  37. package/styles/fluent-lite.css +224 -213
  38. package/styles/fluent.css +227 -213
  39. package/styles/fluent2-lite.css +225 -214
  40. package/styles/fluent2.css +228 -214
  41. package/styles/highcontrast-light-lite.css +224 -213
  42. package/styles/highcontrast-light.css +227 -213
  43. package/styles/highcontrast-lite.css +224 -213
  44. package/styles/highcontrast.css +227 -213
  45. package/styles/material-dark-lite.css +224 -213
  46. package/styles/material-dark.css +227 -213
  47. package/styles/material-lite.css +224 -213
  48. package/styles/material.css +227 -213
  49. package/styles/material3-dark-lite.css +224 -213
  50. package/styles/material3-dark.css +227 -213
  51. package/styles/material3-lite.css +224 -213
  52. package/styles/material3.css +227 -213
  53. package/styles/ribbon/_bds-definition.scss +1 -1
  54. package/styles/ribbon/_bigger.scss +4 -0
  55. package/styles/ribbon/_bootstrap-dark-definition.scss +1 -1
  56. package/styles/ribbon/_bootstrap-definition.scss +1 -1
  57. package/styles/ribbon/_bootstrap4-definition.scss +1 -1
  58. package/styles/ribbon/_bootstrap5-definition.scss +1 -1
  59. package/styles/ribbon/_bootstrap5.3-definition.scss +1 -1
  60. package/styles/ribbon/_fabric-dark-definition.scss +1 -1
  61. package/styles/ribbon/_fabric-definition.scss +1 -1
  62. package/styles/ribbon/_fluent-definition.scss +1 -1
  63. package/styles/ribbon/_fluent2-definition.scss +2 -2
  64. package/styles/ribbon/_fusionnew-definition.scss +1 -1
  65. package/styles/ribbon/_highcontrast-definition.scss +1 -1
  66. package/styles/ribbon/_highcontrast-light-definition.scss +1 -1
  67. package/styles/ribbon/_layout.scss +13 -1
  68. package/styles/ribbon/_material-dark-definition.scss +1 -1
  69. package/styles/ribbon/_material-definition.scss +1 -1
  70. package/styles/ribbon/_material3-definition.scss +1 -1
  71. package/styles/ribbon/_tailwind-definition.scss +1 -1
  72. package/styles/ribbon/_tailwind3-definition.scss +2 -2
  73. package/styles/ribbon/_theme.scss +40 -33
  74. package/styles/ribbon/bds.css +227 -213
  75. package/styles/ribbon/bootstrap-dark.css +227 -213
  76. package/styles/ribbon/bootstrap.css +227 -213
  77. package/styles/ribbon/bootstrap4.css +227 -213
  78. package/styles/ribbon/bootstrap5-dark.css +227 -213
  79. package/styles/ribbon/bootstrap5.3.css +227 -213
  80. package/styles/ribbon/bootstrap5.css +227 -213
  81. package/styles/ribbon/fabric-dark.css +227 -213
  82. package/styles/ribbon/fabric.css +227 -213
  83. package/styles/ribbon/fluent-dark.css +227 -213
  84. package/styles/ribbon/fluent.css +227 -213
  85. package/styles/ribbon/fluent2.css +228 -214
  86. package/styles/ribbon/highcontrast-light.css +227 -213
  87. package/styles/ribbon/highcontrast.css +227 -213
  88. package/styles/ribbon/material-dark.css +227 -213
  89. package/styles/ribbon/material.css +227 -213
  90. package/styles/ribbon/material3-dark.css +227 -213
  91. package/styles/ribbon/material3.css +227 -213
  92. package/styles/ribbon/tailwind-dark.css +227 -213
  93. package/styles/ribbon/tailwind.css +227 -213
  94. package/styles/ribbon/tailwind3.css +228 -214
  95. package/styles/tailwind-dark-lite.css +224 -213
  96. package/styles/tailwind-dark.css +227 -213
  97. package/styles/tailwind-lite.css +224 -213
  98. package/styles/tailwind.css +227 -213
  99. package/styles/tailwind3-lite.css +225 -214
  100. package/styles/tailwind3.css +228 -214
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 29.1.39
3
+ * version : 30.1.37
4
4
  * Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,67 +1,32 @@
1
1
  {
2
- "_from": "@syncfusion/ej2-ribbon@*",
3
- "_id": "@syncfusion/ej2-ribbon@29.1.33",
4
- "_inBundle": false,
5
- "_integrity": "sha512-2VYDg6mkyT9DvTRQgWsLA0X7AJvNmPZprEUszqW3AVSO69mc9wFVXAn7EZucKzLSJxWEtMpiojrVZGqF0ntSYQ==",
6
- "_location": "/@syncfusion/ej2-ribbon",
7
- "_phantomChildren": {},
8
- "_requested": {
9
- "type": "range",
10
- "registry": true,
11
- "raw": "@syncfusion/ej2-ribbon@*",
12
- "name": "@syncfusion/ej2-ribbon",
13
- "escapedName": "@syncfusion%2fej2-ribbon",
14
- "scope": "@syncfusion",
15
- "rawSpec": "*",
16
- "saveSpec": null,
17
- "fetchSpec": "*"
18
- },
19
- "_requiredBy": [
20
- "/",
21
- "/@syncfusion/ej2",
22
- "/@syncfusion/ej2-angular-ribbon",
23
- "/@syncfusion/ej2-react-ribbon",
24
- "/@syncfusion/ej2-vue-ribbon"
25
- ],
26
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-ribbon/-/ej2-ribbon-29.1.33.tgz",
27
- "_shasum": "36e18eee9f3f2e7ebea766645ef31cea2182f2ef",
28
- "_spec": "@syncfusion/ej2-ribbon@*",
29
- "_where": "/jenkins/workspace/elease-automation_release_29.1.1/packages/included",
30
- "author": {
31
- "name": "Syncfusion Inc."
32
- },
33
- "bugs": {
34
- "url": "https://github.com/syncfusion/ej2-ribbon-component/issues"
35
- },
36
- "bundleDependencies": false,
2
+ "name": "@syncfusion/ej2-ribbon",
3
+ "version": "30.1.37",
4
+ "description": "Essential JS 2 Component",
5
+ "author": "Syncfusion Inc.",
6
+ "license": "SEE LICENSE IN license",
7
+ "main": "./dist/ej2-ribbon.umd.min.js",
8
+ "module": "./index.js",
9
+ "es2015": "./dist/es6/ej2-ribbon.es5.js",
10
+ "typings": "index.d.ts",
37
11
  "dependencies": {
38
- "@syncfusion/ej2-base": "~29.1.36",
39
- "@syncfusion/ej2-buttons": "~29.1.34",
40
- "@syncfusion/ej2-dropdowns": "~29.1.38",
41
- "@syncfusion/ej2-lists": "~29.1.34",
42
- "@syncfusion/ej2-navigations": "~29.1.38",
43
- "@syncfusion/ej2-popups": "~29.1.37",
44
- "@syncfusion/ej2-splitbuttons": "~29.1.33"
12
+ "@syncfusion/ej2-base": "~30.1.37",
13
+ "@syncfusion/ej2-buttons": "~30.1.37",
14
+ "@syncfusion/ej2-dropdowns": "~30.1.37",
15
+ "@syncfusion/ej2-lists": "~30.1.37",
16
+ "@syncfusion/ej2-navigations": "~30.1.37",
17
+ "@syncfusion/ej2-popups": "~30.1.37",
18
+ "@syncfusion/ej2-splitbuttons": "~30.1.37"
45
19
  },
46
- "deprecated": false,
47
- "description": "Essential JS 2 Component",
48
20
  "devDependencies": {},
49
- "es2015": "./dist/es6/ej2-ribbon.es5.js",
50
- "homepage": "https://www.syncfusion.com/javascript-ui-controls",
51
21
  "keywords": [
52
22
  "ej2",
53
23
  "syncfusion",
54
24
  "ej2-ribbon"
55
25
  ],
56
- "license": "SEE LICENSE IN license",
57
- "main": "./dist/ej2-ribbon.umd.min.js",
58
- "module": "./index.js",
59
- "name": "@syncfusion/ej2-ribbon",
60
26
  "repository": {
61
27
  "type": "git",
62
- "url": "git+https://github.com/syncfusion/ej2-ribbon-component.git"
28
+ "url": "https://github.com/syncfusion/ej2-ribbon-component.git"
63
29
  },
64
- "typings": "index.d.ts",
65
- "version": "29.1.39",
66
- "sideEffects": false
30
+ "sideEffects": false,
31
+ "homepage": "https://www.syncfusion.com/javascript-ui-controls"
67
32
  }
@@ -869,7 +869,7 @@ var Ribbon = /** @class */ (function (_super) {
869
869
  if (dropDownPopup) {
870
870
  dropDownPopup.setProperties({ position: { X: isLeft ? 'left' : 'right', Y: isMenu ? 'top' : 'bottom' } }, true);
871
871
  if (isMenu) {
872
- dropdown.beforeOpen = function () {
872
+ dropdown.beforeOpen = function (e) {
873
873
  if (isLeft) {
874
874
  if (item.type === RibbonItemType.Gallery && _this.ribbonGalleryModule) {
875
875
  _this.ribbonGalleryModule.checkCollision(dropDownPopup, dropDownPopup.element);
@@ -880,6 +880,12 @@ var Ribbon = /** @class */ (function (_super) {
880
880
  dropDownPopup.element.style.removeProperty('display');
881
881
  dropDownPopup.element.style.removeProperty('visibility');
882
882
  }
883
+ if (item.splitButtonSettings.beforeOpen) {
884
+ item.splitButtonSettings.beforeOpen.call(_this, e);
885
+ }
886
+ if (item.dropDownSettings.beforeOpen) {
887
+ item.dropDownSettings.beforeOpen.call(_this, e);
888
+ }
883
889
  };
884
890
  }
885
891
  else {
@@ -1174,10 +1180,8 @@ var Ribbon = /** @class */ (function (_super) {
1174
1180
  }
1175
1181
  break;
1176
1182
  case 'GroupButton':
1177
- if (this.activeLayout === 'Simplified') {
1178
- this.ribbonGroupButtonModule.addOverFlowEvents(item, itemEle, overflowButton);
1179
- break;
1180
- }
1183
+ this.ribbonGroupButtonModule.addOverFlowEvents(item, itemEle, overflowButton);
1184
+ break;
1181
1185
  }
1182
1186
  };
1183
1187
  Ribbon.prototype.createOfTabContainer = function (groupId, groupHeader, itemEle, tabIndex) {
@@ -2092,9 +2096,10 @@ var Ribbon = /** @class */ (function (_super) {
2092
2096
  className: constants.RIBBON_OVERFLOW_TARGET,
2093
2097
  attrs: { 'tabindex': '0' }
2094
2098
  });
2099
+ var overFlowCss = this.cssClass ? constants.SPACE + this.cssClass : '';
2095
2100
  var overflowDDB = new DropDownButton({
2096
2101
  iconCss: constants.OVERFLOW_ICON,
2097
- cssClass: constants.DROPDOWNBUTTON_HIDE + constants.SPACE + constants.RIBBON_GROUP_OVERFLOW_DDB,
2102
+ cssClass: constants.DROPDOWNBUTTON_HIDE + constants.SPACE + constants.RIBBON_GROUP_OVERFLOW_DDB + overFlowCss,
2098
2103
  target: overflowTarget,
2099
2104
  locale: this.locale,
2100
2105
  enableRtl: this.enableRtl,
@@ -4641,7 +4646,7 @@ var Ribbon = /** @class */ (function (_super) {
4641
4646
  if (itemProp.item.type === 'Gallery' && document.querySelector('#' + itemId + '_container').closest('.e-ribbon-overflow-target') && item.displayOptions !== DisplayMode.Overflow) {
4642
4647
  this.createOverflowPopup(itemProp.item, itemProp.tabIndex, itemProp.group.enableGroupOverflow, itemProp.group.id, itemProp.group.header, itemContainer, groupContainer);
4643
4648
  }
4644
- if (this.activeLayout === 'Simplified' && itemProp.group.enableGroupOverflow) {
4649
+ if (this.activeLayout === 'Simplified' && itemProp.group.enableGroupOverflow && dropdown) {
4645
4650
  if (dropdown.target.childElementCount === 0 ||
4646
4651
  (dropdown.target.childElementCount === 1 &&
4647
4652
  this.isHeaderVisible(dropdown.target, itemProp.group.id))) {
@@ -24,6 +24,7 @@ export declare class RibbonGallery {
24
24
  createGallery(item: RibbonItemModel, itemEle: HTMLElement): void;
25
25
  private renderGalleryItems;
26
26
  private setWrapperWidth;
27
+ private setWrapperStyle;
27
28
  /**
28
29
  * Checks the gallery items height.
29
30
  *
@@ -145,8 +145,6 @@ var RibbonGallery = /** @class */ (function () {
145
145
  }
146
146
  if (gallerySettings.groups[parseInt(i.toString(), 10)].itemHeight && gallerySettings.groups[parseInt(i.toString(), 10)].itemHeight !== 'auto') {
147
147
  galleryEle.style.height = gallerySettings.groups[parseInt(i.toString(), 10)].itemHeight + 'px';
148
- galleryEle.style.paddingTop = '0px';
149
- galleryEle.style.paddingBottom = '0px';
150
148
  if (this_1.parent.activeLayout !== 'Simplified' && !isPopup) {
151
149
  galleryContainerEle.style.flexFlow = 'wrap';
152
150
  }
@@ -268,6 +266,13 @@ var RibbonGallery = /** @class */ (function () {
268
266
  galleryWrapper.style.width = itemsWidth + 'px';
269
267
  }
270
268
  };
269
+ RibbonGallery.prototype.setWrapperStyle = function (popup, popupContainerItems) {
270
+ if (popup.width !== 'auto') {
271
+ popupContainerItems.forEach(function (ele) {
272
+ ele.style.flexFlow = 'wrap';
273
+ });
274
+ }
275
+ };
271
276
  /**
272
277
  * Checks the gallery items height.
273
278
  *
@@ -360,11 +365,7 @@ var RibbonGallery = /** @class */ (function () {
360
365
  }
361
366
  }
362
367
  var popupContainerItems = popupEle.querySelectorAll('.e-ribbon-gallery-container');
363
- if (popup.width !== 'auto') {
364
- popupContainerItems.forEach(function (ele) {
365
- ele.style.flexFlow = 'wrap';
366
- });
367
- }
368
+ this.setWrapperStyle(popup, popupContainerItems);
368
369
  var isCollideOccurs = false;
369
370
  for (var i = 0; i < popupContainerItems.length; i++) {
370
371
  var itemsWidth = 0;
@@ -530,7 +531,7 @@ var RibbonGallery = /** @class */ (function () {
530
531
  }
531
532
  }
532
533
  var popupEle = document.querySelector('#' + item.id + '_galleryPopup');
533
- var popup = getComponent(popupEle, Popup);
534
+ var popup_1 = getComponent(popupEle, Popup);
534
535
  var popupContainerEle_1 = document.querySelector('#' + item.id + '_galleryPopup .e-ribbon-popup-container');
535
536
  var dropdown = new DropDownButton({
536
537
  iconCss: iconCss,
@@ -540,6 +541,8 @@ var RibbonGallery = /** @class */ (function () {
540
541
  cssClass: 'e-ribbon-gallery-dropdown',
541
542
  disabled: item.disabled,
542
543
  open: function () {
544
+ var popupContainerItems = popupContainerEle_1.querySelectorAll('.e-ribbon-gallery-container');
545
+ _this.setWrapperStyle(popup_1, popupContainerItems);
543
546
  _this.setFoucsToFirstItem(popupContainerEle_1, true, item.id);
544
547
  },
545
548
  beforeClose: function (args) {
@@ -549,12 +552,12 @@ var RibbonGallery = /** @class */ (function () {
549
552
  }
550
553
  }
551
554
  }, buttonEle);
552
- if (popup.width !== 'auto') {
553
- dropdown.dropDown.width = formatUnit(popup.width);
555
+ if (popup_1.width !== 'auto') {
556
+ dropdown.dropDown.width = formatUnit(popup_1.width);
554
557
  }
555
- if (popup.height !== 'auto') {
556
- dropdown.dropDown.height = formatUnit(popup.height);
557
- dropdown.dropDown.element.style.height = (popup.height).toString();
558
+ if (popup_1.height !== 'auto') {
559
+ dropdown.dropDown.height = formatUnit(popup_1.height);
560
+ dropdown.dropDown.element.style.height = (popup_1.height).toString();
558
561
  }
559
562
  }
560
563
  };
@@ -10,6 +10,7 @@ import { Tooltip } from '@syncfusion/ej2-popups';
10
10
  */
11
11
  var RibbonGroupButton = /** @class */ (function () {
12
12
  function RibbonGroupButton(parent) {
13
+ this.grpBtnIndex = 0;
13
14
  this.parent = parent;
14
15
  this.isSelected = false;
15
16
  }
@@ -77,6 +78,7 @@ var RibbonGroupButton = /** @class */ (function () {
77
78
  this.count++;
78
79
  }
79
80
  }
81
+ this.grpBtnIndex = i;
80
82
  }
81
83
  if (groupBtnSettings.items[parseInt(i.toString(), 10)].ribbonTooltipSettings &&
82
84
  isTooltipPresent(groupBtnSettings.items[parseInt(i.toString(), 10)].ribbonTooltipSettings)) {
@@ -147,7 +149,7 @@ var RibbonGroupButton = /** @class */ (function () {
147
149
  var previousItems = [];
148
150
  var selectingItems = [];
149
151
  var selectedItems = [];
150
- var groupButtonEle;
152
+ var groupButtonEle = document.querySelector('#' + item.id);
151
153
  var dropdown;
152
154
  for (var j = 0; j < grpBtnSettings.items.length; j++) {
153
155
  if (document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + j)) {
@@ -185,7 +187,6 @@ var RibbonGroupButton = /** @class */ (function () {
185
187
  grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].setProperties({ selected: true }, true);
186
188
  if (document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + itemIndex).classList.contains('e-active') && this.parent.activeLayout === 'Simplified') {
187
189
  this.grpBtnIndex = itemIndex;
188
- groupButtonEle = document.querySelector('#' + item.id);
189
190
  dropdown = getComponent(groupButtonEle, DropDownButton);
190
191
  dropdown.setProperties({
191
192
  iconCss: grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].iconCss
@@ -216,7 +217,6 @@ var RibbonGroupButton = /** @class */ (function () {
216
217
  if (this.parent.activeLayout === 'Simplified') {
217
218
  var dropdownIcon = null;
218
219
  var itemsCount = 0;
219
- groupButtonEle = document.querySelector('#' + item.id);
220
220
  dropdown = getComponent(groupButtonEle, DropDownButton);
221
221
  if (!this.isSelected) {
222
222
  if (document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + itemIndex).classList.contains('e-active')) {
@@ -250,6 +250,10 @@ var RibbonGroupButton = /** @class */ (function () {
250
250
  if (grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].click) {
251
251
  grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].click.call(this, eventArgs_1);
252
252
  }
253
+ if (this.parent.activeLayout === 'Simplified' && groupButtonEle) {
254
+ dropdown = getComponent(groupButtonEle, DropDownButton);
255
+ dropdown.toggle();
256
+ }
253
257
  }
254
258
  };
255
259
  /**
@@ -334,7 +338,6 @@ var RibbonGroupButton = /** @class */ (function () {
334
338
  else {
335
339
  document.querySelector('#' + item.id + constants.RIBBON_GROUP_BUTTON_ID + 0).focus();
336
340
  }
337
- this.grpBtnIndex = 0;
338
341
  }
339
342
  };
340
343
  RibbonGroupButton.prototype.addGroupButtonHeader = function (itemID, groupBtnSettings, popupEle) {
@@ -416,28 +419,37 @@ var RibbonGroupButton = /** @class */ (function () {
416
419
  var groupBtnSettings = item.groupButtonSettings;
417
420
  var isIconOnly = true;
418
421
  var groupButtonEle = itemEle.querySelector('#' + item.id);
419
- var dropdown = getComponent(groupButtonEle, DropDownButton);
420
- dropdown.setProperties({ cssClass: dropdown.cssClass + constants.SPACE + constants.RIBBON_GROUP_BUTTON_OVERFLOW_POPUP, content: groupBtnSettings.header ? groupBtnSettings.header : '' });
421
- var targetEle = dropdown.target;
422
- if (targetEle.children.length) {
423
- for (var i = 0; i < targetEle.children.length; i++) {
424
- if (groupBtnSettings.items[parseInt(i.toString(), 10)].content) {
425
- isIconOnly = false;
426
- break;
422
+ if (groupButtonEle) {
423
+ var dropdown = getComponent(groupButtonEle, DropDownButton);
424
+ dropdown.setProperties({ cssClass: dropdown.cssClass + constants.SPACE + constants.RIBBON_GROUP_BUTTON_OVERFLOW_POPUP, content: groupBtnSettings.header ? groupBtnSettings.header : '' });
425
+ var targetEle_1 = dropdown.target;
426
+ if (targetEle_1.children.length) {
427
+ for (var i = 0; i < targetEle_1.children.length; i++) {
428
+ if (groupBtnSettings.items[parseInt(i.toString(), 10)].content) {
429
+ isIconOnly = false;
430
+ break;
431
+ }
432
+ }
433
+ if (isIconOnly) {
434
+ targetEle_1.classList.add('e-icon-btn');
427
435
  }
428
436
  }
429
- if (isIconOnly) {
430
- targetEle.classList.add('e-icon-btn');
431
- }
437
+ targetEle_1.onclick = function () {
438
+ if (_this.parent.activeLayout === 'Simplified' && targetEle_1.closest('.e-ribbon-dropdown-group-button').classList.contains(constants.RIBBON_GROUP_BUTTON_OVERFLOW_POPUP)) {
439
+ if (overflowButton.element.classList.contains('e-active')) {
440
+ overflowButton.toggle();
441
+ }
442
+ }
443
+ };
432
444
  }
433
- targetEle.onclick = function () {
434
- if (_this.parent.activeLayout === 'Simplified' && targetEle.closest('.e-ribbon-dropdown-group-button').classList.contains(constants.RIBBON_GROUP_BUTTON_OVERFLOW_POPUP)) {
435
- dropdown.toggle();
445
+ var overflowGroupButtonEle = itemEle.querySelector('#' + item.id + '_grpbtn');
446
+ if (this.parent.activeLayout === 'Classic' && overflowGroupButtonEle) {
447
+ overflowGroupButtonEle.onclick = function () {
436
448
  if (overflowButton.element.classList.contains('e-active')) {
437
449
  overflowButton.toggle();
438
450
  }
439
- }
440
- };
451
+ };
452
+ }
441
453
  };
442
454
  /**
443
455
  * Removes the additional event handlers as the item moved into overflow popup.
@@ -167,9 +167,14 @@ var RibbonFileMenu = /** @class */ (function () {
167
167
  if (event) {
168
168
  var eventArgs = { element: args.element, item: args.item, event: args.event };
169
169
  event.call(this, eventArgs);
170
- if (!args.element.classList.contains('e-menu-caret-icon')) {
171
- this.fileMenuDDB.toggle();
172
- }
170
+ }
171
+ var menuOpen = !!args.element.closest('.e-ribbon-menu.e-popup-open');
172
+ var fileTriggerOpen = !!args.element.closest('.e-ribbon-file-menu.e-popup-open');
173
+ var fileMenuOpen = !!document.querySelector('.e-ribbon-file-menu.e-popup-open');
174
+ // True if the file trigger was clicked open, or if the ribbon menu is open and the file menu popup is actually present
175
+ var isMenuOpen = fileTriggerOpen || (menuOpen && fileMenuOpen);
176
+ if (!args.element.classList.contains('e-menu-caret-icon') && isMenuOpen) {
177
+ this.fileMenuDDB.toggle();
173
178
  }
174
179
  };
175
180
  /**