@syncfusion/ej2-ribbon 23.1.44 → 23.2.5

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 (48) hide show
  1. package/CHANGELOG.md +8 -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 +181 -8
  5. package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
  6. package/dist/es6/ej2-ribbon.es5.js +181 -8
  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 +12 -12
  12. package/src/ribbon/base/ribbon.d.ts +4 -0
  13. package/src/ribbon/base/ribbon.js +181 -8
  14. package/styles/bootstrap-dark.css +7 -3
  15. package/styles/bootstrap.css +7 -3
  16. package/styles/bootstrap4.css +7 -3
  17. package/styles/bootstrap5-dark.css +7 -3
  18. package/styles/bootstrap5.css +7 -3
  19. package/styles/fabric-dark.css +7 -3
  20. package/styles/fabric.css +7 -3
  21. package/styles/fluent-dark.css +7 -3
  22. package/styles/fluent.css +7 -3
  23. package/styles/highcontrast-light.css +7 -3
  24. package/styles/highcontrast.css +7 -3
  25. package/styles/material-dark.css +7 -3
  26. package/styles/material.css +7 -3
  27. package/styles/material3-dark.css +7 -3
  28. package/styles/material3.css +7 -3
  29. package/styles/ribbon/_layout.scss +10 -3
  30. package/styles/ribbon/bootstrap-dark.css +7 -3
  31. package/styles/ribbon/bootstrap.css +7 -3
  32. package/styles/ribbon/bootstrap4.css +7 -3
  33. package/styles/ribbon/bootstrap5-dark.css +7 -3
  34. package/styles/ribbon/bootstrap5.css +7 -3
  35. package/styles/ribbon/fabric-dark.css +7 -3
  36. package/styles/ribbon/fabric.css +7 -3
  37. package/styles/ribbon/fluent-dark.css +7 -3
  38. package/styles/ribbon/fluent.css +7 -3
  39. package/styles/ribbon/highcontrast-light.css +7 -3
  40. package/styles/ribbon/highcontrast.css +7 -3
  41. package/styles/ribbon/material-dark.css +7 -3
  42. package/styles/ribbon/material.css +7 -3
  43. package/styles/ribbon/material3-dark.css +7 -3
  44. package/styles/ribbon/material3.css +7 -3
  45. package/styles/ribbon/tailwind-dark.css +7 -3
  46. package/styles/ribbon/tailwind.css +7 -3
  47. package/styles/tailwind-dark.css +7 -3
  48. package/styles/tailwind.css +7 -3
@@ -4026,6 +4026,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4026
4026
  if (activeTab) {
4027
4027
  activeTab.classList.add(RIBBON_TAB_ACTIVE);
4028
4028
  this.overflowDDB.element.classList.remove(HIDE_CSS);
4029
+ this.checkOverflowHiddenItems(false, selectedIndex);
4029
4030
  }
4030
4031
  else {
4031
4032
  this.overflowDDB.element.classList.add(HIDE_CSS);
@@ -4135,6 +4136,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4135
4136
  };
4136
4137
  Ribbon.prototype.createSimplfiedOverflow = function (tabContent, activeContent, tabIndex) {
4137
4138
  var orderedGroups = this.getGroupResizeOrder(true, tabIndex);
4139
+ var isEmptyCollection;
4138
4140
  for (var i = 0; ((i < orderedGroups.length) && (tabContent.offsetWidth < activeContent.offsetWidth)); i++) {
4139
4141
  var group = orderedGroups[parseInt(i.toString(), 10)];
4140
4142
  var groupEle = tabContent.querySelector('#' + group.id);
@@ -4163,7 +4165,25 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4163
4165
  if (!(group.enableGroupOverflow || groupEle.querySelector('.' + RIBBON_ITEM))) {
4164
4166
  groupEle.classList.add('e-ribbon-emptyCollection');
4165
4167
  }
4168
+ var itemsLength = groupEle.querySelectorAll('.' + RIBBON_ITEM);
4169
+ if (itemsLength && !group.enableGroupOverflow) {
4170
+ isEmptyCollection = this.checkEmptyCollection(itemsLength);
4171
+ if (isEmptyCollection) {
4172
+ groupEle.classList.add('e-ribbon-emptyCollection');
4173
+ }
4174
+ }
4175
+ this.checkOverflowHiddenItems(group.enableGroupOverflow, tabIndex, group.id);
4176
+ }
4177
+ };
4178
+ Ribbon.prototype.checkEmptyCollection = function (itemsLength) {
4179
+ var isEmptyCollection = true;
4180
+ for (var i = 0; i < itemsLength.length; i++) {
4181
+ if (!(itemsLength[parseInt(i.toString(), 10)].classList.contains('e-hidden'))) {
4182
+ isEmptyCollection = false;
4183
+ break;
4184
+ }
4166
4185
  }
4186
+ return isEmptyCollection;
4167
4187
  };
4168
4188
  Ribbon.prototype.updatePopupItems = function (item, itemEle, isGroupOF, isMenu) {
4169
4189
  var dropdown = getComponent(itemEle.querySelector('#' + item.id), (item.type === RibbonItemType.DropDown || item.type === RibbonItemType.GroupButton) ? DropDownButton : SplitButton);
@@ -4195,6 +4215,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4195
4215
  if (isClear === void 0) { isClear = false; }
4196
4216
  var orderedGroups = this.getGroupResizeOrder(false, tabIndex);
4197
4217
  var flag = true;
4218
+ var isEmptyCollection;
4198
4219
  for (var i = 0; ((i < orderedGroups.length) && flag); i++) {
4199
4220
  var group = orderedGroups[parseInt(i.toString(), 10)];
4200
4221
  var overflowDDB = void 0;
@@ -4242,7 +4263,13 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4242
4263
  var groupEle = tabContent.querySelector('#' + group.id);
4243
4264
  var itemEle = groupEle.querySelector('.' + RIBBON_ITEM);
4244
4265
  if (groupEle.classList.contains('e-ribbon-emptyCollection') && itemEle !== null) {
4245
- groupEle.classList.remove('e-ribbon-emptyCollection');
4266
+ var itemsLength = groupEle.querySelectorAll('.' + RIBBON_ITEM);
4267
+ if (itemsLength) {
4268
+ isEmptyCollection = this.checkEmptyCollection(itemsLength);
4269
+ if (!isEmptyCollection) {
4270
+ groupEle.classList.remove('e-ribbon-emptyCollection');
4271
+ }
4272
+ }
4246
4273
  }
4247
4274
  if (overflowDDB) {
4248
4275
  if (group.enableGroupOverflow) {
@@ -4262,6 +4289,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4262
4289
  }
4263
4290
  }
4264
4291
  }
4292
+ this.checkOverflowHiddenItems(group.enableGroupOverflow, tabIndex, group.id);
4265
4293
  }
4266
4294
  if (this.overflowDDB) {
4267
4295
  var overflowEle = this.overflowDDB.target;
@@ -4271,6 +4299,50 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4271
4299
  }
4272
4300
  }
4273
4301
  };
4302
+ Ribbon.prototype.checkOverflowHiddenItems = function (isGroupOF, tabIndex, groupId) {
4303
+ if (isGroupOF) {
4304
+ var overflowDDB = document.querySelector('#' + groupId + GROUPOF_BUTTON_ID);
4305
+ if (overflowDDB) {
4306
+ var overflowButton = getInstance(overflowDDB, DropDownButton);
4307
+ var overflowBtnTarget = overflowButton.target;
4308
+ var itemEle = overflowBtnTarget.querySelectorAll('.e-ribbon-item');
4309
+ var isHidden = true;
4310
+ for (var i = 0; i < itemEle.length; i++) {
4311
+ if (!(itemEle[parseInt(i.toString(), 10)].classList.contains('e-hidden'))) {
4312
+ isHidden = false;
4313
+ break;
4314
+ }
4315
+ }
4316
+ overflowButton.element.classList[isHidden ? 'add' : 'remove']('e-hidden');
4317
+ }
4318
+ }
4319
+ else {
4320
+ if (this.overflowDDB) {
4321
+ var isGroupHidden = true;
4322
+ var isItemHidden = void 0;
4323
+ var overflowEle = this.overflowDDB.target;
4324
+ var ofTabContainer = overflowEle.querySelector('#' + this.tabs[parseInt(tabIndex.toString(), 10)].id + OVERFLOW_ID);
4325
+ if (ofTabContainer) {
4326
+ for (var k = 0; k < ofTabContainer.children.length; k++) {
4327
+ isItemHidden = true;
4328
+ var overflowTab = ofTabContainer.children[parseInt(k.toString(), 10)];
4329
+ var groupTabContainer = overflowTab.querySelectorAll('.e-ribbon-item');
4330
+ for (var n = 0; n < groupTabContainer.length; n++) {
4331
+ if (!(groupTabContainer[parseInt(n.toString(), 10)].classList.contains('e-hidden'))) {
4332
+ isItemHidden = false;
4333
+ break;
4334
+ }
4335
+ }
4336
+ overflowTab.classList[isItemHidden ? 'add' : 'remove']('e-hide-group');
4337
+ if (!(overflowTab.classList.contains('e-hide-group')) && !(overflowTab.classList.contains('e-hidden'))) {
4338
+ isGroupHidden = false;
4339
+ }
4340
+ }
4341
+ this.overflowDDB.element.classList[isGroupHidden ? 'add' : 'remove'](HIDE_CSS);
4342
+ }
4343
+ }
4344
+ }
4345
+ };
4274
4346
  Ribbon.prototype.createOverflowPopup = function (item, tabIndex, isGroupOF, groupId, groupHeader, itemEle, groupContainer, isResize) {
4275
4347
  var overflowButton;
4276
4348
  var contentEle = this.tabObj.items[parseInt(tabIndex.toString(), 10)].content;
@@ -4286,11 +4358,16 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4286
4358
  overflowButton = getInstance(overflowDDB, DropDownButton);
4287
4359
  }
4288
4360
  var overflowBtnTarget = overflowButton.target;
4289
- if (groupEle && groupEle.classList.contains('e-disabled')) {
4290
- overflowBtnTarget.classList.add('e-disabled');
4291
- }
4292
- if (groupEle && groupEle.classList.contains('e-hidden')) {
4293
- overflowBtnTarget.classList.add('e-hidden');
4361
+ if (groupEle) {
4362
+ if (groupEle.classList.contains('e-disabled')) {
4363
+ overflowBtnTarget.classList.add('e-disabled');
4364
+ }
4365
+ if (groupEle.classList.contains('e-hidden')) {
4366
+ overflowBtnTarget.classList.add('e-hidden');
4367
+ }
4368
+ if (groupEle.classList.contains('e-hide-group')) {
4369
+ overflowBtnTarget.classList.add('e-hide-group');
4370
+ }
4294
4371
  }
4295
4372
  isResize ? overflowBtnTarget.insertBefore(itemEle, overflowBtnTarget.querySelector('.' + RIBBON_ITEM))
4296
4373
  : overflowBtnTarget.append(itemEle);
@@ -4310,8 +4387,16 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4310
4387
  var ofGroupContainer = overflowEle.querySelector('#' + groupId + CONTAINER_ID);
4311
4388
  if (!ofGroupContainer) {
4312
4389
  ofGroupContainer = this.createGroupContainer(groupId, groupHeader);
4313
- if (groupEle && groupEle.classList.contains('e-disabled')) {
4314
- ofGroupContainer.classList.add('e-disabled');
4390
+ if (groupEle) {
4391
+ if (groupEle.classList.contains('e-disabled')) {
4392
+ ofGroupContainer.classList.add('e-disabled');
4393
+ }
4394
+ if (groupEle.classList.contains('e-hidden')) {
4395
+ ofGroupContainer.classList.add('e-hidden');
4396
+ }
4397
+ if (groupEle.classList.contains('e-hide-group')) {
4398
+ ofGroupContainer.classList.add('e-hide-group');
4399
+ }
4315
4400
  }
4316
4401
  ofTabContainer.append(ofGroupContainer);
4317
4402
  }
@@ -4375,6 +4460,9 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
4375
4460
  if (groupEle.classList.contains('e-hidden')) {
4376
4461
  ofGroupContainer.classList.add('e-hidden');
4377
4462
  }
4463
+ if (groupEle.classList.contains('e-hide-group')) {
4464
+ ofGroupContainer.classList.add('e-hide-group');
4465
+ }
4378
4466
  }
4379
4467
  };
4380
4468
  Ribbon.prototype.checkGroupShrinking = function (tabIndex, tabContent, activeContent, isLarge) {
@@ -5740,6 +5828,20 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
5740
5828
  }
5741
5829
  var elements = this.createCollection(group.collections, group.orientation, group.id, group.header, group.enableGroupOverflow, tabIndex, groupContainer);
5742
5830
  append(elements, groupContent);
5831
+ var isItemsHidden = true;
5832
+ for (var j = 0; j < elements.length; j++) {
5833
+ if (isItemsHidden) {
5834
+ for (var k = 0; k < elements[parseInt(j.toString(), 10)].children.length; k++) {
5835
+ if (!(elements[parseInt(j.toString(), 10)].children[parseInt(k.toString(), 10)].classList.contains('e-hidden'))) {
5836
+ isItemsHidden = false;
5837
+ break;
5838
+ }
5839
+ }
5840
+ }
5841
+ }
5842
+ if (isItemsHidden) {
5843
+ groupEle.classList.add('e-hide-group');
5844
+ }
5743
5845
  if ((this.activeLayout === 'Simplified') && !(group.enableGroupOverflow || groupEle.querySelector('.' + RIBBON_ITEM))) {
5744
5846
  groupEle.classList.add('e-ribbon-emptyCollection');
5745
5847
  }
@@ -6756,6 +6858,7 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
6756
6858
  if (ele) {
6757
6859
  var itemEle = closest(ele, '.e-ribbon-item');
6758
6860
  isHidden ? itemEle.classList.add('e-hidden') : itemEle.classList.remove('e-hidden');
6861
+ this.checkHiddenItems(itemProp.group, isHidden, itemProp.tabIndex);
6759
6862
  this.refreshLayout();
6760
6863
  }
6761
6864
  else {
@@ -6788,6 +6891,76 @@ var Ribbon = /** @__PURE__ @class */ (function (_super) {
6788
6891
  }
6789
6892
  }
6790
6893
  };
6894
+ Ribbon.prototype.checkHiddenItems = function (group, isHidden, tabIndex) {
6895
+ var isItemsHidden = true;
6896
+ var isEmptyCollection;
6897
+ var contentEle = this.tabObj.items[parseInt(tabIndex.toString(), 10)].content;
6898
+ var groupEle = contentEle.querySelector('#' + group.id);
6899
+ if (isHidden) {
6900
+ for (var i = 0; i < group.collections.length; i++) {
6901
+ if (isItemsHidden) {
6902
+ var collection = group.collections[parseInt(i.toString(), 10)];
6903
+ for (var j = 0; j < collection.items.length; j++) {
6904
+ var item = collection.items[parseInt(j.toString(), 10)];
6905
+ var itemEle = void 0;
6906
+ if (item.type === 'GroupButton') {
6907
+ var itemProp = getItem(this.tabs, item.id);
6908
+ itemEle = getItemElement(this, item.id + RIBBON_GROUP_BUTTON_ID, itemProp);
6909
+ }
6910
+ else {
6911
+ itemEle = getItemElement(this, item.id);
6912
+ }
6913
+ var itemContainer = itemEle ? itemEle.closest('.e-ribbon-item') : null;
6914
+ if (!(itemContainer.classList.contains('e-hidden'))) {
6915
+ isItemsHidden = false;
6916
+ break;
6917
+ }
6918
+ }
6919
+ }
6920
+ }
6921
+ if (isItemsHidden) {
6922
+ groupEle.classList.add('e-hide-group');
6923
+ this.checkOverflowItems(isHidden, contentEle, group.enableGroupOverflow, tabIndex, group.id);
6924
+ }
6925
+ }
6926
+ else {
6927
+ groupEle.classList.remove('e-hide-group');
6928
+ this.checkOverflowItems(isHidden, contentEle, group.enableGroupOverflow, tabIndex, group.id);
6929
+ }
6930
+ if (this.activeLayout === 'Simplified' && !group.enableGroupOverflow) {
6931
+ var itemsLength = groupEle.querySelectorAll('.' + RIBBON_ITEM);
6932
+ if (itemsLength) {
6933
+ isEmptyCollection = this.checkEmptyCollection(itemsLength);
6934
+ groupEle.classList[isEmptyCollection ? 'add' : 'remove']('e-ribbon-emptyCollection');
6935
+ }
6936
+ }
6937
+ };
6938
+ Ribbon.prototype.checkOverflowItems = function (isHidden, contentEle, isGroupOF, tabIndex, groupID) {
6939
+ var overflowDDB;
6940
+ var overflowtarget;
6941
+ if (isGroupOF) {
6942
+ var overflowDDBEle = contentEle.querySelector('#' + groupID + GROUPOF_BUTTON_ID);
6943
+ if (overflowDDBEle) {
6944
+ overflowDDB = getInstance(overflowDDBEle, DropDownButton);
6945
+ overflowtarget = overflowDDB.target;
6946
+ }
6947
+ if (overflowtarget) {
6948
+ isHidden ? overflowtarget.classList.add('e-hide-group') : overflowtarget.classList.remove('e-hide-group');
6949
+ }
6950
+ }
6951
+ else {
6952
+ if (this.overflowDDB) {
6953
+ var overflowEle = this.overflowDDB.target;
6954
+ var ofTabContainer = overflowEle.querySelector('#' + this.tabs[parseInt(tabIndex.toString(), 10)].id + OVERFLOW_ID);
6955
+ if (ofTabContainer) {
6956
+ var grpContainer = ofTabContainer.querySelector('#' + groupID + CONTAINER_ID);
6957
+ if (grpContainer) {
6958
+ isHidden ? grpContainer.classList.add('e-hide-group') : grpContainer.classList.remove('e-hide-group');
6959
+ }
6960
+ }
6961
+ }
6962
+ }
6963
+ };
6791
6964
  /**
6792
6965
  * tab - Gets the ribbon tab to be updated. The id of the tab is a required property. Other properties are optional.
6793
6966
  *