@syncfusion/ej2-splitbuttons 21.2.5 → 22.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 (88) hide show
  1. package/.eslintrc.json +1 -0
  2. package/CHANGELOG.md +3 -3
  3. package/dist/ej2-splitbuttons.min.js +2 -2
  4. package/dist/ej2-splitbuttons.umd.min.js +2 -2
  5. package/dist/ej2-splitbuttons.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-splitbuttons.es2015.js +42 -5
  7. package/dist/es6/ej2-splitbuttons.es2015.js.map +1 -1
  8. package/dist/es6/ej2-splitbuttons.es5.js +42 -5
  9. package/dist/es6/ej2-splitbuttons.es5.js.map +1 -1
  10. package/dist/global/ej2-splitbuttons.min.js +2 -2
  11. package/dist/global/ej2-splitbuttons.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/package.json +7 -7
  14. package/src/drop-down-button/drop-down-button.js +29 -4
  15. package/src/progress-button/progress-button-model.d.ts +2 -1
  16. package/src/progress-button/progress-button.d.ts +2 -1
  17. package/src/split-button/split-button.js +13 -1
  18. package/styles/bootstrap-dark.css +0 -84
  19. package/styles/bootstrap.css +0 -7
  20. package/styles/bootstrap4.css +8 -5
  21. package/styles/bootstrap5-dark.css +0 -7
  22. package/styles/bootstrap5.css +0 -7
  23. package/styles/button-group/_layout.scss +7 -1
  24. package/styles/button-group/_material3-dark-definition.scss +1 -0
  25. package/styles/button-group/_material3-definition.scss +31 -0
  26. package/styles/button-group/_theme.scss +67 -1
  27. package/styles/button-group/material3-dark.css +902 -0
  28. package/styles/button-group/material3-dark.scss +5 -0
  29. package/styles/button-group/material3.css +958 -0
  30. package/styles/button-group/material3.scss +5 -0
  31. package/styles/drop-down-button/_layout.scss +7 -2
  32. package/styles/drop-down-button/_material3-dark-definition.scss +1 -0
  33. package/styles/drop-down-button/_material3-definition.scss +51 -0
  34. package/styles/drop-down-button/_theme.scss +6 -1
  35. package/styles/drop-down-button/icons/_material3-dark.scss +1 -0
  36. package/styles/drop-down-button/material3-dark.css +293 -0
  37. package/styles/drop-down-button/material3-dark.scss +7 -0
  38. package/styles/drop-down-button/material3.css +349 -0
  39. package/styles/drop-down-button/material3.scss +7 -0
  40. package/styles/fabric-dark.css +0 -84
  41. package/styles/fabric.css +0 -7
  42. package/styles/fluent-dark.css +4 -7
  43. package/styles/fluent.css +4 -7
  44. package/styles/highcontrast-light.css +0 -84
  45. package/styles/highcontrast.css +0 -84
  46. package/styles/material-dark.css +0 -84
  47. package/styles/material.css +0 -7
  48. package/styles/material3-dark.css +2000 -0
  49. package/styles/material3-dark.scss +6 -0
  50. package/styles/material3.css +2050 -0
  51. package/styles/material3.scss +6 -0
  52. package/styles/progress-button/_material3-dark-definition.scss +1 -0
  53. package/styles/progress-button/_material3-definition.scss +25 -0
  54. package/styles/progress-button/_theme.scss +220 -65
  55. package/styles/progress-button/bootstrap-dark.css +0 -84
  56. package/styles/progress-button/bootstrap.css +0 -7
  57. package/styles/progress-button/bootstrap4.css +0 -5
  58. package/styles/progress-button/bootstrap5-dark.css +0 -7
  59. package/styles/progress-button/bootstrap5.css +0 -7
  60. package/styles/progress-button/fabric-dark.css +0 -84
  61. package/styles/progress-button/fabric.css +0 -7
  62. package/styles/progress-button/fluent-dark.css +0 -7
  63. package/styles/progress-button/fluent.css +0 -7
  64. package/styles/progress-button/highcontrast-light.css +0 -84
  65. package/styles/progress-button/highcontrast.css +0 -84
  66. package/styles/progress-button/material-dark.css +0 -84
  67. package/styles/progress-button/material.css +0 -7
  68. package/styles/progress-button/material3-dark.css +557 -0
  69. package/styles/progress-button/material3-dark.scss +6 -0
  70. package/styles/progress-button/material3.css +613 -0
  71. package/styles/progress-button/material3.scss +6 -0
  72. package/styles/progress-button/tailwind-dark.css +0 -5
  73. package/styles/progress-button/tailwind.css +0 -5
  74. package/styles/split-button/_layout.scss +59 -2
  75. package/styles/split-button/_material3-dark-definition.scss +1 -0
  76. package/styles/split-button/_material3-definition.scss +26 -0
  77. package/styles/split-button/_theme.scss +21 -1
  78. package/styles/split-button/bootstrap4.css +8 -0
  79. package/styles/split-button/fluent-dark.css +4 -0
  80. package/styles/split-button/fluent.css +4 -0
  81. package/styles/split-button/material3-dark.css +413 -0
  82. package/styles/split-button/material3-dark.scss +7 -0
  83. package/styles/split-button/material3.css +463 -0
  84. package/styles/split-button/material3.scss +7 -0
  85. package/styles/split-button/tailwind-dark.css +6 -0
  86. package/styles/split-button/tailwind.css +6 -0
  87. package/styles/tailwind-dark.css +6 -5
  88. package/styles/tailwind.css +6 -5
@@ -227,6 +227,10 @@ let DropDownButton = class DropDownButton extends Component {
227
227
  if (this.canOpen()) {
228
228
  this.openPopUp();
229
229
  }
230
+ else if (this.createPopupOnClick && !this.isPopupCreated) {
231
+ this.createPopup();
232
+ this.openPopUp();
233
+ }
230
234
  else {
231
235
  this.closePopup();
232
236
  }
@@ -505,6 +509,12 @@ let DropDownButton = class DropDownButton extends Component {
505
509
  }
506
510
  getPopUpElement() {
507
511
  let val = null;
512
+ if (!this.dropDown && this.activeElem[0].classList.contains('e-split-btn')) {
513
+ const dropDownBtn = getComponent(this.activeElem[1], 'dropdown-btn');
514
+ if (dropDownBtn) {
515
+ this.dropDown = dropDownBtn.dropDown;
516
+ }
517
+ }
508
518
  if (this.dropDown) {
509
519
  val = this.dropDown.element;
510
520
  }
@@ -526,6 +536,9 @@ let DropDownButton = class DropDownButton extends Component {
526
536
  EventHandler.add(this.element, 'keydown', this.keyBoardHandler, this);
527
537
  }
528
538
  popupWireEvents() {
539
+ if (!this.delegateMousedownHandler) {
540
+ this.delegateMousedownHandler = this.mousedownHandler.bind(this);
541
+ }
529
542
  const popupElement = this.getPopUpElement();
530
543
  if (this.createPopupOnClick) {
531
544
  EventHandler.add(document, 'mousedown touchstart', this.delegateMousedownHandler, this);
@@ -644,7 +657,7 @@ let DropDownButton = class DropDownButton extends Component {
644
657
  clickHandler(e) {
645
658
  const trgt = e.target;
646
659
  if (closest(trgt, '[id="' + this.element.id + '"]')) {
647
- if (!this.createPopupOnClick || (this.target && !this.isColorPicker())) {
660
+ if (!this.createPopupOnClick || (this.target && this.target !== '' && !this.isColorPicker())) {
648
661
  if (this.getPopUpElement().classList.contains('e-popup-close')) {
649
662
  this.openPopUp(e);
650
663
  }
@@ -713,6 +726,21 @@ let DropDownButton = class DropDownButton extends Component {
713
726
  if (ul) {
714
727
  ul.focus();
715
728
  }
729
+ if (this.enableRtl && ul.parentElement.style.left !== '0px') {
730
+ let wrapperWidth;
731
+ if (this.element.parentElement && this.element.parentElement.classList.contains('e-split-btn-wrapper')) {
732
+ wrapperWidth = this.element.parentElement.offsetWidth;
733
+ }
734
+ else {
735
+ wrapperWidth = this.element.offsetWidth;
736
+ }
737
+ const popupRect = ul.parentElement.offsetWidth - wrapperWidth;
738
+ let popupLeft = parseFloat(ul.parentElement.style.left) - popupRect;
739
+ if (popupLeft < 0) {
740
+ popupLeft = 0;
741
+ }
742
+ ul.parentElement.style.left = popupLeft + "px";
743
+ }
716
744
  const openArgs = { element: ul, items: this.items };
717
745
  this.trigger('open', openArgs);
718
746
  }
@@ -753,9 +781,6 @@ let DropDownButton = class DropDownButton extends Component {
753
781
  this.destroyPopup();
754
782
  }
755
783
  }
756
- if (this.target) {
757
- this.isPopupCreated = this.createPopupOnClick ? false : true;
758
- }
759
784
  }
760
785
  else {
761
786
  if (ul) {
@@ -1105,8 +1130,13 @@ let SplitButton = class SplitButton extends DropDownButton {
1105
1130
  this.secondaryBtnObj.dropDown.relateTo = this.wrapper;
1106
1131
  this.dropDown = this.secondaryBtnObj.dropDown;
1107
1132
  }
1133
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1134
+ this.isPopupCreated = this.secondaryBtnObj.isPopupCreated;
1108
1135
  this.secondaryBtnObj.activeElem = [this.element, this.secondaryBtnObj.element];
1109
1136
  this.secondaryBtnObj.element.querySelector('.e-btn-icon').classList.remove('e-icon-right');
1137
+ if (this.disabled) {
1138
+ this.wrapper.classList.add('e-splitbtn-disabled');
1139
+ }
1110
1140
  }
1111
1141
  setAria() {
1112
1142
  attributes(this.element, {
@@ -1186,7 +1216,7 @@ let SplitButton = class SplitButton extends DropDownButton {
1186
1216
  break;
1187
1217
  case 'enter':
1188
1218
  this.clickHandler(e);
1189
- if (!this.getPopUpElement().classList.contains('e-popup-close')) {
1219
+ if (this.getPopUpElement() && !this.getPopUpElement().classList.contains('e-popup-close')) {
1190
1220
  this.element.classList.remove('e-active');
1191
1221
  this.secondaryBtnObj.element.classList.add('e-active');
1192
1222
  }
@@ -1229,6 +1259,13 @@ let SplitButton = class SplitButton extends DropDownButton {
1229
1259
  removeClass([this.wrapper], RTL);
1230
1260
  }
1231
1261
  break;
1262
+ case 'disabled':
1263
+ if (newProp.disabled) {
1264
+ addClass([this.wrapper], 'e-splitbtn-disabled');
1265
+ }
1266
+ else {
1267
+ removeClass([this.wrapper], 'e-splitbtn-disabled');
1268
+ }
1232
1269
  }
1233
1270
  }
1234
1271
  }