@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
@@ -3536,6 +3536,7 @@ function setCustomAttributes(element, attributes) {
3536
3536
  */
3537
3537
  var RibbonGroupButton = /** @__PURE__ @class */ (function () {
3538
3538
  function RibbonGroupButton(parent) {
3539
+ this.grpBtnIndex = 0;
3539
3540
  this.parent = parent;
3540
3541
  this.isSelected = false;
3541
3542
  }
@@ -3603,6 +3604,7 @@ var RibbonGroupButton = /** @__PURE__ @class */ (function () {
3603
3604
  this.count++;
3604
3605
  }
3605
3606
  }
3607
+ this.grpBtnIndex = i;
3606
3608
  }
3607
3609
  if (groupBtnSettings.items[parseInt(i.toString(), 10)].ribbonTooltipSettings &&
3608
3610
  isTooltipPresent(groupBtnSettings.items[parseInt(i.toString(), 10)].ribbonTooltipSettings)) {
@@ -3673,7 +3675,7 @@ var RibbonGroupButton = /** @__PURE__ @class */ (function () {
3673
3675
  var previousItems = [];
3674
3676
  var selectingItems = [];
3675
3677
  var selectedItems = [];
3676
- var groupButtonEle;
3678
+ var groupButtonEle = document.querySelector('#' + item.id);
3677
3679
  var dropdown;
3678
3680
  for (var j = 0; j < grpBtnSettings.items.length; j++) {
3679
3681
  if (document.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + j)) {
@@ -3711,7 +3713,6 @@ var RibbonGroupButton = /** @__PURE__ @class */ (function () {
3711
3713
  grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].setProperties({ selected: true }, true);
3712
3714
  if (document.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + itemIndex).classList.contains('e-active') && this.parent.activeLayout === 'Simplified') {
3713
3715
  this.grpBtnIndex = itemIndex;
3714
- groupButtonEle = document.querySelector('#' + item.id);
3715
3716
  dropdown = getComponent(groupButtonEle, DropDownButton);
3716
3717
  dropdown.setProperties({
3717
3718
  iconCss: grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].iconCss
@@ -3742,7 +3743,6 @@ var RibbonGroupButton = /** @__PURE__ @class */ (function () {
3742
3743
  if (this.parent.activeLayout === 'Simplified') {
3743
3744
  var dropdownIcon = null;
3744
3745
  var itemsCount = 0;
3745
- groupButtonEle = document.querySelector('#' + item.id);
3746
3746
  dropdown = getComponent(groupButtonEle, DropDownButton);
3747
3747
  if (!this.isSelected) {
3748
3748
  if (document.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + itemIndex).classList.contains('e-active')) {
@@ -3776,6 +3776,10 @@ var RibbonGroupButton = /** @__PURE__ @class */ (function () {
3776
3776
  if (grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].click) {
3777
3777
  grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].click.call(this, eventArgs_1);
3778
3778
  }
3779
+ if (this.parent.activeLayout === 'Simplified' && groupButtonEle) {
3780
+ dropdown = getComponent(groupButtonEle, DropDownButton);
3781
+ dropdown.toggle();
3782
+ }
3779
3783
  }
3780
3784
  };
3781
3785
  /**
@@ -3860,7 +3864,6 @@ var RibbonGroupButton = /** @__PURE__ @class */ (function () {
3860
3864
  else {
3861
3865
  document.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + 0).focus();
3862
3866
  }
3863
- this.grpBtnIndex = 0;
3864
3867
  }
3865
3868
  };
3866
3869
  RibbonGroupButton.prototype.addGroupButtonHeader = function (itemID, groupBtnSettings, popupEle) {
@@ -3942,28 +3945,37 @@ var RibbonGroupButton = /** @__PURE__ @class */ (function () {
3942
3945
  var groupBtnSettings = item.groupButtonSettings;
3943
3946
  var isIconOnly = true;
3944
3947
  var groupButtonEle = itemEle.querySelector('#' + item.id);
3945
- var dropdown = getComponent(groupButtonEle, DropDownButton);
3946
- dropdown.setProperties({ cssClass: dropdown.cssClass + SPACE + RIBBON_GROUP_BUTTON_OVERFLOW_POPUP, content: groupBtnSettings.header ? groupBtnSettings.header : '' });
3947
- var targetEle = dropdown.target;
3948
- if (targetEle.children.length) {
3949
- for (var i = 0; i < targetEle.children.length; i++) {
3950
- if (groupBtnSettings.items[parseInt(i.toString(), 10)].content) {
3951
- isIconOnly = false;
3952
- break;
3948
+ if (groupButtonEle) {
3949
+ var dropdown = getComponent(groupButtonEle, DropDownButton);
3950
+ dropdown.setProperties({ cssClass: dropdown.cssClass + SPACE + RIBBON_GROUP_BUTTON_OVERFLOW_POPUP, content: groupBtnSettings.header ? groupBtnSettings.header : '' });
3951
+ var targetEle_1 = dropdown.target;
3952
+ if (targetEle_1.children.length) {
3953
+ for (var i = 0; i < targetEle_1.children.length; i++) {
3954
+ if (groupBtnSettings.items[parseInt(i.toString(), 10)].content) {
3955
+ isIconOnly = false;
3956
+ break;
3957
+ }
3958
+ }
3959
+ if (isIconOnly) {
3960
+ targetEle_1.classList.add('e-icon-btn');
3953
3961
  }
3954
3962
  }
3955
- if (isIconOnly) {
3956
- targetEle.classList.add('e-icon-btn');
3957
- }
3963
+ targetEle_1.onclick = function () {
3964
+ if (_this.parent.activeLayout === 'Simplified' && targetEle_1.closest('.e-ribbon-dropdown-group-button').classList.contains(RIBBON_GROUP_BUTTON_OVERFLOW_POPUP)) {
3965
+ if (overflowButton.element.classList.contains('e-active')) {
3966
+ overflowButton.toggle();
3967
+ }
3968
+ }
3969
+ };
3958
3970
  }
3959
- targetEle.onclick = function () {
3960
- if (_this.parent.activeLayout === 'Simplified' && targetEle.closest('.e-ribbon-dropdown-group-button').classList.contains(RIBBON_GROUP_BUTTON_OVERFLOW_POPUP)) {
3961
- dropdown.toggle();
3971
+ var overflowGroupButtonEle = itemEle.querySelector('#' + item.id + '_grpbtn');
3972
+ if (this.parent.activeLayout === 'Classic' && overflowGroupButtonEle) {
3973
+ overflowGroupButtonEle.onclick = function () {
3962
3974
  if (overflowButton.element.classList.contains('e-active')) {
3963
3975
  overflowButton.toggle();
3964
3976
  }
3965
- }
3966
- };
3977
+ };
3978
+ }
3967
3979
  };
3968
3980
  /**
3969
3981
  * Removes the additional event handlers as the item moved into overflow popup.
@@ -4175,8 +4187,6 @@ var RibbonGallery = /** @__PURE__ @class */ (function () {
4175
4187
  }
4176
4188
  if (gallerySettings.groups[parseInt(i.toString(), 10)].itemHeight && gallerySettings.groups[parseInt(i.toString(), 10)].itemHeight !== 'auto') {
4177
4189
  galleryEle.style.height = gallerySettings.groups[parseInt(i.toString(), 10)].itemHeight + 'px';
4178
- galleryEle.style.paddingTop = '0px';
4179
- galleryEle.style.paddingBottom = '0px';
4180
4190
  if (this_1.parent.activeLayout !== 'Simplified' && !isPopup) {
4181
4191
  galleryContainerEle.style.flexFlow = 'wrap';
4182
4192
  }
@@ -4298,6 +4308,13 @@ var RibbonGallery = /** @__PURE__ @class */ (function () {
4298
4308
  galleryWrapper.style.width = itemsWidth + 'px';
4299
4309
  }
4300
4310
  };
4311
+ RibbonGallery.prototype.setWrapperStyle = function (popup, popupContainerItems) {
4312
+ if (popup.width !== 'auto') {
4313
+ popupContainerItems.forEach(function (ele) {
4314
+ ele.style.flexFlow = 'wrap';
4315
+ });
4316
+ }
4317
+ };
4301
4318
  /**
4302
4319
  * Checks the gallery items height.
4303
4320
  *
@@ -4390,11 +4407,7 @@ var RibbonGallery = /** @__PURE__ @class */ (function () {
4390
4407
  }
4391
4408
  }
4392
4409
  var popupContainerItems = popupEle.querySelectorAll('.e-ribbon-gallery-container');
4393
- if (popup.width !== 'auto') {
4394
- popupContainerItems.forEach(function (ele) {
4395
- ele.style.flexFlow = 'wrap';
4396
- });
4397
- }
4410
+ this.setWrapperStyle(popup, popupContainerItems);
4398
4411
  var isCollideOccurs = false;
4399
4412
  for (var i = 0; i < popupContainerItems.length; i++) {
4400
4413
  var itemsWidth = 0;
@@ -4560,7 +4573,7 @@ var RibbonGallery = /** @__PURE__ @class */ (function () {
4560
4573
  }
4561
4574
  }
4562
4575
  var popupEle = document.querySelector('#' + item.id + '_galleryPopup');
4563
- var popup = getComponent(popupEle, Popup);
4576
+ var popup_1 = getComponent(popupEle, Popup);
4564
4577
  var popupContainerEle_1 = document.querySelector('#' + item.id + '_galleryPopup .e-ribbon-popup-container');
4565
4578
  var dropdown = new DropDownButton({
4566
4579
  iconCss: iconCss,
@@ -4570,6 +4583,8 @@ var RibbonGallery = /** @__PURE__ @class */ (function () {
4570
4583
  cssClass: 'e-ribbon-gallery-dropdown',
4571
4584
  disabled: item.disabled,
4572
4585
  open: function () {
4586
+ var popupContainerItems = popupContainerEle_1.querySelectorAll('.e-ribbon-gallery-container');
4587
+ _this.setWrapperStyle(popup_1, popupContainerItems);
4573
4588
  _this.setFoucsToFirstItem(popupContainerEle_1, true, item.id);
4574
4589
  },
4575
4590
  beforeClose: function (args) {
@@ -4579,12 +4594,12 @@ var RibbonGallery = /** @__PURE__ @class */ (function () {
4579
4594
  }
4580
4595
  }
4581
4596
  }, buttonEle);
4582
- if (popup.width !== 'auto') {
4583
- dropdown.dropDown.width = formatUnit(popup.width);
4597
+ if (popup_1.width !== 'auto') {
4598
+ dropdown.dropDown.width = formatUnit(popup_1.width);
4584
4599
  }
4585
- if (popup.height !== 'auto') {
4586
- dropdown.dropDown.height = formatUnit(popup.height);
4587
- dropdown.dropDown.element.style.height = (popup.height).toString();
4600
+ if (popup_1.height !== 'auto') {
4601
+ dropdown.dropDown.height = formatUnit(popup_1.height);
4602
+ dropdown.dropDown.element.style.height = (popup_1.height).toString();
4588
4603
  }
4589
4604
  }
4590
4605
  };
@@ -5670,7 +5685,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
5670
5685
  if (dropDownPopup) {
5671
5686
  dropDownPopup.setProperties({ position: { X: isLeft ? 'left' : 'right', Y: isMenu ? 'top' : 'bottom' } }, true);
5672
5687
  if (isMenu) {
5673
- dropdown.beforeOpen = function () {
5688
+ dropdown.beforeOpen = function (e) {
5674
5689
  if (isLeft) {
5675
5690
  if (item.type === RibbonItemType.Gallery && _this.ribbonGalleryModule) {
5676
5691
  _this.ribbonGalleryModule.checkCollision(dropDownPopup, dropDownPopup.element);
@@ -5681,6 +5696,12 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
5681
5696
  dropDownPopup.element.style.removeProperty('display');
5682
5697
  dropDownPopup.element.style.removeProperty('visibility');
5683
5698
  }
5699
+ if (item.splitButtonSettings.beforeOpen) {
5700
+ item.splitButtonSettings.beforeOpen.call(_this, e);
5701
+ }
5702
+ if (item.dropDownSettings.beforeOpen) {
5703
+ item.dropDownSettings.beforeOpen.call(_this, e);
5704
+ }
5684
5705
  };
5685
5706
  }
5686
5707
  else {
@@ -5975,10 +5996,8 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
5975
5996
  }
5976
5997
  break;
5977
5998
  case 'GroupButton':
5978
- if (this.activeLayout === 'Simplified') {
5979
- this.ribbonGroupButtonModule.addOverFlowEvents(item, itemEle, overflowButton);
5980
- break;
5981
- }
5999
+ this.ribbonGroupButtonModule.addOverFlowEvents(item, itemEle, overflowButton);
6000
+ break;
5982
6001
  }
5983
6002
  };
5984
6003
  Ribbon.prototype.createOfTabContainer = function (groupId, groupHeader, itemEle, tabIndex) {
@@ -6893,9 +6912,10 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
6893
6912
  className: RIBBON_OVERFLOW_TARGET,
6894
6913
  attrs: { 'tabindex': '0' }
6895
6914
  });
6915
+ var overFlowCss = this.cssClass ? SPACE + this.cssClass : '';
6896
6916
  var overflowDDB = new DropDownButton({
6897
6917
  iconCss: OVERFLOW_ICON,
6898
- cssClass: DROPDOWNBUTTON_HIDE + SPACE + RIBBON_GROUP_OVERFLOW_DDB,
6918
+ cssClass: DROPDOWNBUTTON_HIDE + SPACE + RIBBON_GROUP_OVERFLOW_DDB + overFlowCss,
6899
6919
  target: overflowTarget,
6900
6920
  locale: this.locale,
6901
6921
  enableRtl: this.enableRtl,
@@ -9440,7 +9460,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
9440
9460
  if (itemProp.item.type === 'Gallery' && document.querySelector('#' + itemId + '_container').closest('.e-ribbon-overflow-target') && item.displayOptions !== DisplayMode.Overflow) {
9441
9461
  this.createOverflowPopup(itemProp.item, itemProp.tabIndex, itemProp.group.enableGroupOverflow, itemProp.group.id, itemProp.group.header, itemContainer, groupContainer);
9442
9462
  }
9443
- if (this.activeLayout === 'Simplified' && itemProp.group.enableGroupOverflow) {
9463
+ if (this.activeLayout === 'Simplified' && itemProp.group.enableGroupOverflow && dropdown) {
9444
9464
  if (dropdown.target.childElementCount === 0 ||
9445
9465
  (dropdown.target.childElementCount === 1 &&
9446
9466
  this.isHeaderVisible(dropdown.target, itemProp.group.id))) {
@@ -10006,9 +10026,14 @@ var RibbonFileMenu = /** @__PURE__ @class */ (function () {
10006
10026
  if (event) {
10007
10027
  var eventArgs = { element: args.element, item: args.item, event: args.event };
10008
10028
  event.call(this, eventArgs);
10009
- if (!args.element.classList.contains('e-menu-caret-icon')) {
10010
- this.fileMenuDDB.toggle();
10011
- }
10029
+ }
10030
+ var menuOpen = !!args.element.closest('.e-ribbon-menu.e-popup-open');
10031
+ var fileTriggerOpen = !!args.element.closest('.e-ribbon-file-menu.e-popup-open');
10032
+ var fileMenuOpen = !!document.querySelector('.e-ribbon-file-menu.e-popup-open');
10033
+ // True if the file trigger was clicked open, or if the ribbon menu is open and the file menu popup is actually present
10034
+ var isMenuOpen = fileTriggerOpen || (menuOpen && fileMenuOpen);
10035
+ if (!args.element.classList.contains('e-menu-caret-icon') && isMenuOpen) {
10036
+ this.fileMenuDDB.toggle();
10012
10037
  }
10013
10038
  };
10014
10039
  /**