@syncfusion/ej2-ribbon 24.1.46 → 24.2.8

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 (67) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +1 -1
  3. package/dist/ej2-ribbon.umd.min.js +2 -2
  4. package/dist/ej2-ribbon.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-ribbon.es2015.js +36 -19
  6. package/dist/es6/ej2-ribbon.es2015.js.map +1 -1
  7. package/dist/es6/ej2-ribbon.es5.js +36 -19
  8. package/dist/es6/ej2-ribbon.es5.js.map +1 -1
  9. package/dist/global/ej2-ribbon.min.js +2 -2
  10. package/dist/global/ej2-ribbon.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +12 -12
  13. package/src/ribbon/base/ribbon.js +23 -15
  14. package/src/ribbon/items/ribbon-groupbutton.js +4 -4
  15. package/src/ribbon/models/ribbon-group-button-item.d.ts +7 -0
  16. package/src/ribbon/models/ribbon-group-button-item.js +9 -0
  17. package/styles/bootstrap-dark.css +16 -0
  18. package/styles/bootstrap.css +16 -0
  19. package/styles/bootstrap4.css +16 -0
  20. package/styles/bootstrap5-dark.css +16 -0
  21. package/styles/bootstrap5.css +16 -0
  22. package/styles/fabric-dark.css +16 -0
  23. package/styles/fabric.css +16 -0
  24. package/styles/fluent-dark.css +16 -0
  25. package/styles/fluent.css +16 -0
  26. package/styles/highcontrast-light.css +16 -0
  27. package/styles/highcontrast.css +16 -0
  28. package/styles/material-dark.css +16 -0
  29. package/styles/material.css +16 -0
  30. package/styles/material3-dark.css +16 -0
  31. package/styles/material3.css +16 -0
  32. package/styles/ribbon/_bootstrap-dark-definition.scss +2 -0
  33. package/styles/ribbon/_bootstrap-definition.scss +2 -0
  34. package/styles/ribbon/_bootstrap4-definition.scss +2 -0
  35. package/styles/ribbon/_bootstrap5-definition.scss +2 -0
  36. package/styles/ribbon/_fabric-dark-definition.scss +2 -0
  37. package/styles/ribbon/_fabric-definition.scss +2 -0
  38. package/styles/ribbon/_fluent-definition.scss +2 -0
  39. package/styles/ribbon/_fusionnew-definition.scss +2 -0
  40. package/styles/ribbon/_highcontrast-definition.scss +2 -0
  41. package/styles/ribbon/_highcontrast-light-definition.scss +2 -0
  42. package/styles/ribbon/_layout.scss +8 -0
  43. package/styles/ribbon/_material-dark-definition.scss +2 -0
  44. package/styles/ribbon/_material-definition.scss +2 -0
  45. package/styles/ribbon/_material3-definition.scss +2 -0
  46. package/styles/ribbon/_tailwind-definition.scss +2 -0
  47. package/styles/ribbon/bootstrap-dark.css +16 -0
  48. package/styles/ribbon/bootstrap.css +16 -0
  49. package/styles/ribbon/bootstrap4.css +16 -0
  50. package/styles/ribbon/bootstrap5-dark.css +16 -0
  51. package/styles/ribbon/bootstrap5.css +16 -0
  52. package/styles/ribbon/fabric-dark.css +16 -0
  53. package/styles/ribbon/fabric.css +16 -0
  54. package/styles/ribbon/fluent-dark.css +16 -0
  55. package/styles/ribbon/fluent.css +16 -0
  56. package/styles/ribbon/highcontrast-light.css +16 -0
  57. package/styles/ribbon/highcontrast.css +16 -0
  58. package/styles/ribbon/material-dark.css +16 -0
  59. package/styles/ribbon/material.css +16 -0
  60. package/styles/ribbon/material3-dark.css +16 -0
  61. package/styles/ribbon/material3.css +16 -0
  62. package/styles/ribbon/tailwind-dark.css +16 -0
  63. package/styles/ribbon/tailwind.css +16 -0
  64. package/styles/tailwind-dark.css +16 -0
  65. package/styles/tailwind.css +16 -0
  66. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +0 -60
  67. package/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -37
@@ -570,6 +570,15 @@ var __decorate$13 = (undefined && undefined.__decorate) || function (decorators,
570
570
  * Defines the ribbon group button settings.
571
571
  */
572
572
  class RibbonGroupButtonItem extends ChildProperty {
573
+ /**
574
+ * @param {Object} prop - Gets the property of group button.
575
+ * @param {boolean} muteOnChange - Gets the boolean value of muteOnChange.
576
+ * @returns {void}
577
+ * @private
578
+ */
579
+ setProperties(prop, muteOnChange) {
580
+ super.setProperties(prop, muteOnChange);
581
+ }
573
582
  }
574
583
  __decorate$13([
575
584
  Property('')
@@ -3046,11 +3055,11 @@ class RibbonGroupButton {
3046
3055
  for (let j = 0; j < grpBtnSettings.items.length; j++) {
3047
3056
  if (document.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + j) && document.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + j).classList.contains('e-active')) {
3048
3057
  document.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + j).classList.remove('e-active');
3049
- grpBtnSettings.items[parseInt(j.toString(), 10)].selected = false;
3058
+ grpBtnSettings.items[parseInt(j.toString(), 10)].setProperties({ selected: false }, true);
3050
3059
  }
3051
3060
  }
3052
3061
  document.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + itemIndex).classList.toggle('e-active');
3053
- grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].selected = true;
3062
+ grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].setProperties({ selected: true }, true);
3054
3063
  if (document.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + itemIndex).classList.contains('e-active') && this.parent.activeLayout === 'Simplified') {
3055
3064
  this.grpBtnIndex = itemIndex;
3056
3065
  groupButtonEle = document.querySelector('#' + item.id);
@@ -3067,10 +3076,10 @@ class RibbonGroupButton {
3067
3076
  }
3068
3077
  document.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + itemIndex).classList.toggle('e-active');
3069
3078
  if (document.querySelector('#' + item.id + RIBBON_GROUP_BUTTON_ID + itemIndex).classList.contains('e-active')) {
3070
- grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].selected = true;
3079
+ grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].setProperties({ selected: true }, true);
3071
3080
  }
3072
3081
  else {
3073
- grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].selected = false;
3082
+ grpBtnSettings.items[parseInt(itemIndex.toString(), 10)].setProperties({ selected: false }, true);
3074
3083
  }
3075
3084
  let activeEleCount = 0;
3076
3085
  for (let n = 0; n < grpBtnSettings.items.length; n++) {
@@ -3728,7 +3737,8 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
3728
3737
  enableRtl: this.enableRtl,
3729
3738
  created: this.tabCreated.bind(this),
3730
3739
  selected: this.ribbonTabSelected.bind(this),
3731
- selecting: this.ribbonTabSelecting.bind(this)
3740
+ selecting: this.ribbonTabSelecting.bind(this),
3741
+ animation: this.tabAnimation
3732
3742
  });
3733
3743
  this.tabObj.appendTo(tabEle);
3734
3744
  //Set the width value as "0px" with unit for proper calculation.
@@ -7410,6 +7420,9 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
7410
7420
  if (item.cssClass) {
7411
7421
  itemContainer.classList.add(ribbonItem.cssClass);
7412
7422
  }
7423
+ if (!(ribbonItem.disabled) && itemContainer.classList.contains(DISABLED_CSS)) {
7424
+ itemContainer.classList.remove(DISABLED_CSS);
7425
+ }
7413
7426
  this.enableDisableItem(ribbonItem.id, ribbonItem.disabled);
7414
7427
  }
7415
7428
  }
@@ -7458,6 +7471,7 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
7458
7471
  this.enableDisableItem(itemId, true);
7459
7472
  }
7460
7473
  enableDisableItem(itemId, isDisabled) {
7474
+ let isUpdated = false;
7461
7475
  const itemProp = getItem(this.tabs, itemId);
7462
7476
  if (!itemProp) {
7463
7477
  return;
@@ -7472,30 +7486,33 @@ let Ribbon = Ribbon_1 = class Ribbon extends Component {
7472
7486
  }
7473
7487
  if (ele) {
7474
7488
  const itemEle = closest(ele, '.e-ribbon-item');
7475
- itemEle.classList.toggle(DISABLED_CSS, itemProp.item.disabled);
7476
7489
  const moduleName = this.getItemModuleName(itemProp.item);
7490
+ isUpdated = isDisabled ? !itemEle.classList.contains(DISABLED_CSS) : itemEle.classList.contains(DISABLED_CSS);
7477
7491
  if (moduleName !== 'template') {
7478
- if (moduleName === 'group-btn' && this.activeLayout === 'Simplified') {
7479
- updateControlDisabled(ele, 'dropdown-btn', isDisabled);
7480
- for (let i = 0; i < itemProp.item.groupButtonSettings.items.length; i++) {
7481
- const btnEle = document.querySelector('#' + itemId + RIBBON_GROUP_BUTTON_ID + i);
7482
- updateControlDisabled(btnEle, 'btn', isDisabled);
7492
+ if (isUpdated) {
7493
+ if (moduleName === 'group-btn' && this.activeLayout === 'Simplified') {
7494
+ updateControlDisabled(ele, 'dropdown-btn', isDisabled);
7495
+ for (let i = 0; i < itemProp.item.groupButtonSettings.items.length; i++) {
7496
+ const btnEle = document.querySelector('#' + itemId + RIBBON_GROUP_BUTTON_ID + i);
7497
+ updateControlDisabled(btnEle, 'btn', isDisabled);
7498
+ }
7483
7499
  }
7484
- }
7485
- else if (moduleName === 'group-btn' && this.activeLayout === 'Classic') {
7486
- for (let i = 0; i < itemProp.item.groupButtonSettings.items.length; i++) {
7487
- const btnEle = ele.querySelector('#' + itemId + RIBBON_GROUP_BUTTON_ID + i);
7488
- updateControlDisabled(btnEle, 'btn', isDisabled);
7500
+ else if (moduleName === 'group-btn' && this.activeLayout === 'Classic') {
7501
+ for (let i = 0; i < itemProp.item.groupButtonSettings.items.length; i++) {
7502
+ const btnEle = ele.querySelector('#' + itemId + RIBBON_GROUP_BUTTON_ID + i);
7503
+ updateControlDisabled(btnEle, 'btn', isDisabled);
7504
+ }
7505
+ }
7506
+ else {
7507
+ updateControlDisabled(ele, moduleName, isDisabled);
7489
7508
  }
7490
- }
7491
- else {
7492
- updateControlDisabled(ele, moduleName, isDisabled);
7493
7509
  }
7494
7510
  }
7495
7511
  else {
7496
7512
  ele.classList.toggle(DISABLED_CSS, isDisabled);
7497
7513
  ele.toggleAttribute('disabled', isDisabled);
7498
7514
  }
7515
+ itemEle.classList.toggle(DISABLED_CSS, itemProp.item.disabled);
7499
7516
  }
7500
7517
  }
7501
7518
  unwireEvents() {