@syncfusion/ej2-ribbon 26.1.40 → 26.1.42

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 (52) hide show
  1. package/dist/ej2-ribbon.umd.min.js +2 -2
  2. package/dist/ej2-ribbon.umd.min.js.map +1 -1
  3. package/dist/es6/ej2-ribbon.es2015.js +52 -10
  4. package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
  5. package/dist/es6/ej2-ribbon.es5.js +52 -10
  6. package/dist/es6/ej2-ribbon.es5.js.map +1 -1
  7. package/dist/global/ej2-ribbon.min.js +2 -2
  8. package/dist/global/ej2-ribbon.min.js.map +1 -1
  9. package/dist/global/index.d.ts +1 -1
  10. package/package.json +9 -9
  11. package/src/ribbon/base/interface.d.ts +13 -0
  12. package/src/ribbon/base/ribbon-model.d.ts +8 -1
  13. package/src/ribbon/base/ribbon.d.ts +7 -1
  14. package/src/ribbon/base/ribbon.js +49 -10
  15. package/src/ribbon/items/ribbon-gallery.js +3 -0
  16. package/styles/bootstrap-dark.css +1 -0
  17. package/styles/bootstrap.css +1 -0
  18. package/styles/bootstrap4.css +1 -0
  19. package/styles/bootstrap5-dark.css +1 -0
  20. package/styles/bootstrap5.css +1 -0
  21. package/styles/fabric-dark.css +1 -0
  22. package/styles/fabric.css +1 -0
  23. package/styles/fluent-dark.css +1 -0
  24. package/styles/fluent.css +1 -0
  25. package/styles/fluent2.css +1 -0
  26. package/styles/highcontrast-light.css +1 -0
  27. package/styles/highcontrast.css +1 -0
  28. package/styles/material-dark.css +1 -0
  29. package/styles/material.css +1 -0
  30. package/styles/material3-dark.css +1 -0
  31. package/styles/material3.css +1 -0
  32. package/styles/ribbon/_layout.scss +1 -0
  33. package/styles/ribbon/bootstrap-dark.css +1 -0
  34. package/styles/ribbon/bootstrap.css +1 -0
  35. package/styles/ribbon/bootstrap4.css +1 -0
  36. package/styles/ribbon/bootstrap5-dark.css +1 -0
  37. package/styles/ribbon/bootstrap5.css +1 -0
  38. package/styles/ribbon/fabric-dark.css +1 -0
  39. package/styles/ribbon/fabric.css +1 -0
  40. package/styles/ribbon/fluent-dark.css +1 -0
  41. package/styles/ribbon/fluent.css +1 -0
  42. package/styles/ribbon/fluent2.css +1 -0
  43. package/styles/ribbon/highcontrast-light.css +1 -0
  44. package/styles/ribbon/highcontrast.css +1 -0
  45. package/styles/ribbon/material-dark.css +1 -0
  46. package/styles/ribbon/material.css +1 -0
  47. package/styles/ribbon/material3-dark.css +1 -0
  48. package/styles/ribbon/material3.css +1 -0
  49. package/styles/ribbon/tailwind-dark.css +1 -0
  50. package/styles/ribbon/tailwind.css +1 -0
  51. package/styles/tailwind-dark.css +1 -0
  52. package/styles/tailwind.css +1 -0
@@ -4100,6 +4100,9 @@ class RibbonGallery {
4100
4100
  id: item.id
4101
4101
  });
4102
4102
  itemEle.appendChild(buttonEle);
4103
+ if (itemEle.querySelector('.e-ribbon-gallery-wrapper').classList.contains('e-disabled')) {
4104
+ buttonEle.classList.add('e-disabled');
4105
+ }
4103
4106
  itemEle.querySelector('.e-ribbon-gallery-wrapper').classList.add('e-hidden');
4104
4107
  itemEle.querySelectorAll('.e-ribbon-gallery-container').forEach((ele) => {
4105
4108
  ele.classList.add('e-hidden');
@@ -4903,9 +4906,11 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
4903
4906
  }
4904
4907
  });
4905
4908
  }
4906
- toggleLayout() {
4909
+ toggleLayout(args) {
4907
4910
  this.setProperties({ activeLayout: this.activeLayout === 'Simplified' ? 'Classic' : 'Simplified' }, true);
4908
4911
  this.switchLayout();
4912
+ const eventArgs = { activeLayout: this.activeLayout, event: args };
4913
+ this.trigger('ribbonLayoutSwitched', eventArgs);
4909
4914
  }
4910
4915
  tabCreated() {
4911
4916
  if (!this.hideLayoutSwitcher) {
@@ -6635,10 +6640,10 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
6635
6640
  id: this.tabObj.element.id + COLLAPSE_BUTTON_ID,
6636
6641
  attrs: { 'tabindex': '0', 'type': 'button', 'aria-label': 'Layout Switcher', 'role': 'button' }
6637
6642
  });
6638
- this.collapseButton.onclick = () => { this.toggleLayout(); };
6643
+ this.collapseButton.onclick = (e) => { this.toggleLayout(e); };
6639
6644
  this.collapseButton.onkeydown = (e) => {
6640
6645
  if (e.key === 'Enter') {
6641
- this.toggleLayout();
6646
+ this.toggleLayout(e);
6642
6647
  }
6643
6648
  };
6644
6649
  this.element.classList.add(RIBBON_COLLAPSIBLE);
@@ -7501,10 +7506,18 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
7501
7506
  for (let i = 0; i < galleryPopupEle.length; i++) {
7502
7507
  galleryPopupEle[parseInt(i.toString(), 10)].remove();
7503
7508
  }
7509
+ const galleryPopupBtn = document.querySelector('#' + item.id + '_popupButton');
7510
+ if (galleryPopupBtn) {
7511
+ galleryPopupBtn.remove();
7512
+ }
7513
+ const galleryWrapper = document.querySelector('#' + item.id + '_galleryWrapper');
7514
+ if (galleryWrapper) {
7515
+ galleryWrapper.remove();
7516
+ }
7504
7517
  }
7505
7518
  else {
7506
7519
  const galleryEle = ele.querySelectorAll('.e-ribbon-gallery-item');
7507
- const galleryPopupBtn = ele.querySelector('#' + item.id + '_popupButton');
7520
+ const galleryPopupBtn = ele.parentElement.querySelector('#' + item.id + '_popupButton');
7508
7521
  if (galleryPopupBtn) {
7509
7522
  galleryPopupBtn.remove();
7510
7523
  }
@@ -8830,6 +8843,17 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
8830
8843
  else {
8831
8844
  itemContainer = groupContainer.querySelector('#' + itemId + CONTAINER_ID);
8832
8845
  itemEle = contentEle.querySelector('#' + itemId);
8846
+ if (!itemContainer) {
8847
+ itemContainer = dropdown ? dropdown.target.querySelector('#' + itemId + CONTAINER_ID) : groupContainer.querySelector('#' + itemId + CONTAINER_ID);
8848
+ }
8849
+ if (!itemEle) {
8850
+ itemEle = dropdown ? dropdown.target.querySelector('#' + itemId) : contentEle.querySelector('#' + itemId);
8851
+ }
8852
+ if (itemProp.item.type === 'Gallery') {
8853
+ if (!itemEle) {
8854
+ itemEle = contentEle.querySelector('#' + itemId + '_galleryWrapper');
8855
+ }
8856
+ }
8833
8857
  if (itemProp.item.type === 'GroupButton' && this.activeLayout === RibbonLayout.Classic) {
8834
8858
  itemEle = contentEle.querySelector('#' + itemId + RIBBON_GROUP_BUTTON_ID);
8835
8859
  }
@@ -8858,12 +8882,6 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
8858
8882
  ribbonItem.setProperties(item, true);
8859
8883
  this.validateItemSize();
8860
8884
  if (contentEle.innerHTML !== '') {
8861
- if (!(this.activeLayout === RibbonLayout.Simplified && ribbonItem.displayOptions === DisplayMode.Overflow)) {
8862
- itemContainer = groupContainer.querySelector('#' + itemId + CONTAINER_ID);
8863
- }
8864
- else {
8865
- itemContainer = dropdown.target.querySelector('#' + itemId + CONTAINER_ID);
8866
- }
8867
8885
  // To avoid undefined items condition is added
8868
8886
  if (ribbonItem.ribbonTooltipSettings && isTooltipPresent(ribbonItem.ribbonTooltipSettings)) {
8869
8887
  itemContainer.classList.add(RIBBON_TOOLTIP_TARGET);
@@ -8887,6 +8905,9 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
8887
8905
  }
8888
8906
  }
8889
8907
  this.createRibbonItem(ribbonItem, itemContainer);
8908
+ if (itemProp.item.type === 'Gallery' && document.querySelector('#' + itemId + '_container').closest('.e-ribbon-overflow-target') && item.displayOptions !== DisplayMode.Overflow) {
8909
+ this.createOverflowPopup(itemProp.item, itemProp.tabIndex, itemProp.group.enableGroupOverflow, itemProp.group.id, itemProp.group.header, itemContainer, groupContainer);
8910
+ }
8890
8911
  if (this.activeLayout === 'Simplified' && itemProp.group.enableGroupOverflow) {
8891
8912
  if (dropdown.target.childElementCount === 0 ||
8892
8913
  (dropdown.target.childElementCount === 1 &&
@@ -8967,6 +8988,7 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
8967
8988
  }
8968
8989
  enableDisableItem(itemId, isDisabled) {
8969
8990
  let isUpdated = false;
8991
+ let isOverflow = false;
8970
8992
  const itemProp = getItem(this.tabs, itemId);
8971
8993
  if (!itemProp) {
8972
8994
  return;
@@ -8976,6 +8998,15 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
8976
8998
  if (itemProp.item.type === 'GroupButton') {
8977
8999
  ele = getItemElement(this, itemId + RIBBON_GROUP_BUTTON_ID, itemProp);
8978
9000
  }
9001
+ else if (itemProp.item.type === 'Gallery') {
9002
+ ele = document.querySelector('#' + itemId);
9003
+ if (!ele) {
9004
+ ele = document.querySelector('#' + itemId + '_galleryWrapper');
9005
+ }
9006
+ else {
9007
+ isOverflow = true;
9008
+ }
9009
+ }
8979
9010
  else {
8980
9011
  ele = getItemElement(this, itemId, itemProp);
8981
9012
  }
@@ -8999,6 +9030,14 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
8999
9030
  updateControlDisabled(btnEle, 'btn', isDisabled);
9000
9031
  }
9001
9032
  }
9033
+ else if (moduleName === 'gallery') {
9034
+ ele.classList.toggle(DISABLED_CSS, isDisabled);
9035
+ document.getElementById(itemId + '_popupButton').classList.toggle(DISABLED_CSS, isDisabled);
9036
+ if (isOverflow) {
9037
+ const galleryEle = document.getElementById(itemId + '_galleryWrapper');
9038
+ galleryEle.classList.toggle(DISABLED_CSS, isDisabled);
9039
+ }
9040
+ }
9002
9041
  else {
9003
9042
  updateControlDisabled(ele, moduleName, isDisabled);
9004
9043
  }
@@ -9247,6 +9286,9 @@ __decorate$l([
9247
9286
  __decorate$l([
9248
9287
  Event()
9249
9288
  ], Ribbon.prototype, "ribbonCollapsing", void 0);
9289
+ __decorate$l([
9290
+ Event()
9291
+ ], Ribbon.prototype, "ribbonLayoutSwitched", void 0);
9250
9292
  __decorate$l([
9251
9293
  Event()
9252
9294
  ], Ribbon.prototype, "launcherIconClick", void 0);