@syncfusion/ej2-navigations 21.1.39 → 21.2.4

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 (50) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/ej2-navigations.min.js +2 -2
  3. package/dist/ej2-navigations.umd.min.js +2 -2
  4. package/dist/ej2-navigations.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-navigations.es2015.js +71 -53
  6. package/dist/es6/ej2-navigations.es2015.js.map +1 -1
  7. package/dist/es6/ej2-navigations.es5.js +71 -53
  8. package/dist/es6/ej2-navigations.es5.js.map +1 -1
  9. package/dist/global/ej2-navigations.min.js +2 -2
  10. package/dist/global/ej2-navigations.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +11 -11
  13. package/src/common/h-scroll.js +1 -0
  14. package/src/common/menu-base.d.ts +1 -0
  15. package/src/common/menu-base.js +27 -15
  16. package/src/common/v-scroll.js +1 -1
  17. package/src/tab/tab.d.ts +1 -0
  18. package/src/tab/tab.js +37 -32
  19. package/src/treeview/treeview.js +5 -5
  20. package/styles/bootstrap-dark.css +35 -16
  21. package/styles/bootstrap.css +35 -16
  22. package/styles/bootstrap4.css +35 -16
  23. package/styles/bootstrap5-dark.css +35 -16
  24. package/styles/bootstrap5.css +35 -16
  25. package/styles/fabric-dark.css +35 -16
  26. package/styles/fabric.css +35 -16
  27. package/styles/fluent-dark.css +35 -16
  28. package/styles/fluent.css +35 -16
  29. package/styles/highcontrast-light.css +35 -16
  30. package/styles/highcontrast.css +37 -17
  31. package/styles/material-dark.css +35 -16
  32. package/styles/material.css +35 -16
  33. package/styles/tailwind-dark.css +35 -16
  34. package/styles/tailwind.css +35 -16
  35. package/styles/treeview/_theme.scss +20 -10
  36. package/styles/treeview/bootstrap-dark.css +35 -16
  37. package/styles/treeview/bootstrap.css +35 -16
  38. package/styles/treeview/bootstrap4.css +35 -16
  39. package/styles/treeview/bootstrap5-dark.css +35 -16
  40. package/styles/treeview/bootstrap5.css +35 -16
  41. package/styles/treeview/fabric-dark.css +35 -16
  42. package/styles/treeview/fabric.css +35 -16
  43. package/styles/treeview/fluent-dark.css +35 -16
  44. package/styles/treeview/fluent.css +35 -16
  45. package/styles/treeview/highcontrast-light.css +35 -16
  46. package/styles/treeview/highcontrast.css +37 -17
  47. package/styles/treeview/material-dark.css +35 -16
  48. package/styles/treeview/material.css +35 -16
  49. package/styles/treeview/tailwind-dark.css +35 -16
  50. package/styles/treeview/tailwind.css +35 -16
@@ -152,6 +152,7 @@ var HScroll = /** @__PURE__ @class */ (function (_super) {
152
152
  ele.style.display = '';
153
153
  ele.classList.remove(CLS_ROOT);
154
154
  ele.classList.remove(CLS_DEVICE);
155
+ ele.classList.remove(CLS_RTL);
155
156
  var nav = selectAll('.e-' + ele.id + '_nav.' + CLS_HSCROLLNAV, ele);
156
157
  var overlay = selectAll('.' + CLS_OVERLAY, ele);
157
158
  [].slice.call(overlay).forEach(function (ele) {
@@ -646,7 +647,7 @@ var VScroll = /** @__PURE__ @class */ (function (_super) {
646
647
  VScroll.prototype.destroy = function () {
647
648
  var el = this.element;
648
649
  el.style.display = '';
649
- removeClass([this.element], [CLS_ROOT$1, CLS_DEVICE$1]);
650
+ removeClass([this.element], [CLS_ROOT$1, CLS_DEVICE$1, CLS_RTL$1]);
650
651
  var navs = selectAll('.e-' + el.id + '_nav.' + CLS_VSCROLLNAV, el);
651
652
  var overlays = selectAll('.' + CLS_OVERLAY$1, el);
652
653
  [].slice.call(overlays).forEach(function (ele) {
@@ -1666,7 +1667,9 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
1666
1667
  _this.navIdx.pop();
1667
1668
  if (!_this.isMenu) {
1668
1669
  EventHandler.remove(ul_1, 'keydown', _this.keyHandler);
1669
- _this.keyType = '';
1670
+ if (_this.keyType === 'right') {
1671
+ _this.keyType = '';
1672
+ }
1670
1673
  }
1671
1674
  }
1672
1675
  _this.updateReactTemplate();
@@ -1893,9 +1896,29 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
1893
1896
  else {
1894
1897
  this.uList = this.element;
1895
1898
  this.uList.style.zIndex = getZindexPartial(target ? target : this.element).toString();
1896
- this.triggerBeforeOpen(li, this.uList, item, e, top, left, 'none');
1899
+ if (isNullOrUndefined(e)) {
1900
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1901
+ var ev = document.createEvent('MouseEvents');
1902
+ ev.initEvent("click", true, false);
1903
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1904
+ var targetEvent = this.copyObject(ev, {});
1905
+ targetEvent.target = targetEvent.srcElement = target;
1906
+ targetEvent.currentTarget = target;
1907
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1908
+ this.triggerBeforeOpen(li, this.uList, item, targetEvent, top, left, 'none');
1909
+ }
1910
+ else {
1911
+ this.triggerBeforeOpen(li, this.uList, item, e, top, left, 'none');
1912
+ }
1897
1913
  }
1898
1914
  };
1915
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1916
+ MenuBase.prototype.copyObject = function (source, destination) {
1917
+ for (var prop in source) {
1918
+ destination["" + prop] = source["" + prop];
1919
+ }
1920
+ return destination;
1921
+ };
1899
1922
  MenuBase.prototype.calculateIndentSize = function (ul, li) {
1900
1923
  var liStyle = getComputedStyle(li);
1901
1924
  var liIndent = parseInt(liStyle.textIndent, 10);
@@ -3062,7 +3085,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
3062
3085
  }
3063
3086
  idx = navIdx.pop();
3064
3087
  ul = this.getUlByNavIdx(navIdx.length);
3065
- if (ul) {
3088
+ if (ul && !isNullOrUndefined(idx)) {
3066
3089
  if (enable) {
3067
3090
  if (this.isMenu) {
3068
3091
  ul.children[idx].classList.remove(disabled);
@@ -3124,20 +3147,10 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
3124
3147
  ul = this.getUlByNavIdx(navIdx.length);
3125
3148
  if (ul) {
3126
3149
  if (ishide) {
3127
- if (Browser.isDevice && !ul.classList.contains('e-contextmenu')) {
3128
- ul.children[index + 1].classList.add(HIDE);
3129
- }
3130
- else {
3131
- ul.children[index].classList.add(HIDE);
3132
- }
3150
+ ul.children[index].classList.add(HIDE);
3133
3151
  }
3134
3152
  else {
3135
- if (Browser.isDevice && !ul.classList.contains('e-contextmenu')) {
3136
- ul.children[index + 1].classList.remove(HIDE);
3137
- }
3138
- else {
3139
- ul.children[index].classList.remove(HIDE);
3140
- }
3153
+ ul.children[index].classList.remove(HIDE);
3141
3154
  }
3142
3155
  }
3143
3156
  }
@@ -7810,12 +7823,9 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
7810
7823
  var count = this.hdrEle.children.length;
7811
7824
  var hdrItems = [];
7812
7825
  for (var i = 0; i < count; i++) {
7813
- hdrItems.push(this.hdrEle.children.item(i).innerHTML);
7826
+ hdrItems.push(this.hdrEle.children.item(i));
7814
7827
  }
7815
7828
  if (count > 0) {
7816
- while (this.hdrEle.firstElementChild) {
7817
- detach(this.hdrEle.firstElementChild);
7818
- }
7819
7829
  var tabItems_1 = this.createElement('div', { className: CLS_ITEMS$1 });
7820
7830
  this.hdrEle.appendChild(tabItems_1);
7821
7831
  hdrItems.forEach(function (item, index) {
@@ -7824,7 +7834,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
7824
7834
  className: CLS_ITEM$2, id: CLS_ITEM$2 + _this.tabId + '_' + index
7825
7835
  };
7826
7836
  var txt = _this.createElement('span', {
7827
- className: CLS_TEXT, innerHTML: item, attrs: { 'role': 'presentation' }
7837
+ className: CLS_TEXT, attrs: { 'role': 'presentation' }
7828
7838
  }).outerHTML;
7829
7839
  var cont = _this.createElement('div', {
7830
7840
  className: CLS_TEXT_WRAP, innerHTML: txt + _this.btnCls.outerHTML
@@ -7833,6 +7843,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
7833
7843
  className: CLS_WRAP, innerHTML: cont,
7834
7844
  attrs: { role: 'tab', tabIndex: '-1', 'aria-selected': 'false', 'aria-controls': CLS_CONTENT$1 + _this.tabId + '_' + index, 'aria-disabled': 'false' }
7835
7845
  });
7846
+ wrap.querySelector('.' + CLS_TEXT).appendChild(item);
7836
7847
  tabItems_1.appendChild(_this.createElement('div', attr));
7837
7848
  selectAll('.' + CLS_ITEM$2, tabItems_1)[index].appendChild(wrap);
7838
7849
  });
@@ -8833,6 +8844,9 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8833
8844
  var icon = (isNullOrUndefined(this.items[index].header) ||
8834
8845
  isNullOrUndefined(this.items[index].header.iconCss)) ? '' : this.items[index].header.iconCss;
8835
8846
  var textVal = this.items[index].headerTemplate || this.items[index].header.text;
8847
+ if (properties[j] === 'headerTemplate') {
8848
+ this.clearTabTemplate(hdrItem, properties[j], CLS_TB_ITEM);
8849
+ }
8836
8850
  if ((textVal === '') && (icon === '')) {
8837
8851
  this.removeTab(index);
8838
8852
  }
@@ -8864,7 +8878,8 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8864
8878
  document.body.appendChild(this.element.querySelector(oldVal)).style.display = 'none';
8865
8879
  cntItem.innerHTML = newVal;
8866
8880
  }
8867
- else if (this.isReact) {
8881
+ else if (this.isAngular || this.isReact) {
8882
+ this.clearTabTemplate(cntItem, properties[j], CLS_ITEM$2);
8868
8883
  cntItem.innerHTML = '';
8869
8884
  this.templateCompile(cntItem, newVal, index);
8870
8885
  }
@@ -8915,6 +8930,30 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8915
8930
  }
8916
8931
  }
8917
8932
  };
8933
+ Tab.prototype.clearTabTemplate = function (templateEle, templateName, className) {
8934
+ if (this.registeredTemplate && this.registeredTemplate[templateName]) {
8935
+ var registeredTemplates = this.registeredTemplate;
8936
+ for (var index = 0; index < registeredTemplates[templateName].length; index++) {
8937
+ var registeredItem = registeredTemplates[templateName][index].rootNodes[0];
8938
+ var closestItem = closest(registeredItem, '.' + className);
8939
+ if (!isNullOrUndefined(closestItem) && closestItem === templateEle) {
8940
+ this.clearTemplate([templateName], [registeredTemplates[templateName][index]]);
8941
+ break;
8942
+ }
8943
+ }
8944
+ }
8945
+ else if (this.portals && this.portals.length > 0) {
8946
+ var portals = this.portals;
8947
+ for (var index = 0; index < portals.length; index++) {
8948
+ var portalItem = portals[index];
8949
+ var closestItem = closest(portalItem.containerInfo, '.' + className);
8950
+ if (!isNullOrUndefined(closestItem) && closestItem === templateEle) {
8951
+ this.clearTemplate([templateName], index);
8952
+ break;
8953
+ }
8954
+ }
8955
+ }
8956
+ };
8918
8957
  Tab.prototype.initializeDrag = function (target) {
8919
8958
  var _this = this;
8920
8959
  var dragObj = new Draggable(target, {
@@ -9264,6 +9303,10 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9264
9303
  var removeArgs = { removedItem: trg, removedIndex: index, cancel: false };
9265
9304
  this.trigger('removing', removeArgs, function (tabRemovingArgs) {
9266
9305
  if (!tabRemovingArgs.cancel) {
9306
+ var header = select('#' + CLS_ITEM$2 + _this.tabId + '_' + _this.extIndex(trg.id), select('.' + CLS_TB_ITEMS, _this.element));
9307
+ if (!isNullOrUndefined(header)) {
9308
+ _this.clearTabTemplate(header, 'headerTemplate', CLS_TB_ITEM);
9309
+ }
9267
9310
  _this.tbObj.removeItems(index);
9268
9311
  if (_this.allowDragAndDrop && (index !== Array.prototype.indexOf.call(_this.itemIndexArray, trg.id))) {
9269
9312
  index = Array.prototype.indexOf.call(_this.itemIndexArray, trg.id);
@@ -9274,32 +9317,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9274
9317
  _this.refreshActiveBorder();
9275
9318
  var cntTrg = select('#' + CLS_CONTENT$1 + _this.tabId + '_' + _this.extIndex(trg.id), select('.' + CLS_CONTENT$1, _this.element));
9276
9319
  if (!isNullOrUndefined(cntTrg)) {
9277
- var registeredTemplate = _this.registeredTemplate;
9278
- var portal = _this.portals;
9279
- if (registeredTemplate && registeredTemplate.content) {
9280
- var templateToClear = [];
9281
- for (var i = 0; i < registeredTemplate.content.length; i++) {
9282
- var registeredItem = registeredTemplate.content[i].rootNodes[0];
9283
- var closestItem = closest(registeredItem, '.' + CLS_ITEM$2);
9284
- if (!isNullOrUndefined(registeredItem) && closestItem === cntTrg) {
9285
- templateToClear.push(registeredTemplate.content[i]);
9286
- break;
9287
- }
9288
- }
9289
- if (templateToClear.length > 0) {
9290
- _this.clearTemplate(['content'], templateToClear);
9291
- }
9292
- }
9293
- /* else if (portal) {
9294
- for (var i = 0; i < portal.length; i++) {
9295
- var portalItem = portal[i];
9296
- var closestItem = closest(portalItem.containerInfo, '.' + CLS_ITEM);
9297
- if (!isNullOrUndefined(portalItem) && closestItem === cntTrg) {
9298
- this.clearTemplate(['content'], i);
9299
- break;
9300
- }
9301
- }
9302
- } */
9320
+ _this.clearTabTemplate(cntTrg, 'content', CLS_ITEM$2);
9303
9321
  detach(cntTrg);
9304
9322
  }
9305
9323
  _this.trigger('removed', tabRemovingArgs);
@@ -12463,10 +12481,10 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12463
12481
  return endNode;
12464
12482
  };
12465
12483
  TreeView.prototype.setFocus = function (preNode, nextNode) {
12466
- removeClass([preNode], [HOVER, FOCUS]);
12484
+ removeClass([preNode], FOCUS);
12467
12485
  preNode.setAttribute("tabindex", "-1");
12468
12486
  if (!nextNode.classList.contains('e-disable') && !nextNode.classList.contains(PREVENTSELECT)) {
12469
- addClass([nextNode], [HOVER, FOCUS]);
12487
+ addClass([nextNode], FOCUS);
12470
12488
  nextNode.setAttribute('tabindex', '0');
12471
12489
  nextNode.focus();
12472
12490
  EventHandler.add(nextNode, 'blur', this.focusOut, this);
@@ -12485,7 +12503,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12485
12503
  if (!this.mouseDownStatus) {
12486
12504
  var focusedElement = this.getFocusedNode();
12487
12505
  focusedElement.setAttribute("tabindex", "0");
12488
- addClass([focusedElement], [HOVER, FOCUS]);
12506
+ addClass([focusedElement], FOCUS);
12489
12507
  EventHandler.add(focusedElement, 'blur', this.focusOut, this);
12490
12508
  }
12491
12509
  this.mouseDownStatus = false;
@@ -12493,7 +12511,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12493
12511
  TreeView.prototype.focusOut = function (event) {
12494
12512
  var focusedElement = this.getFocusedNode();
12495
12513
  if (event.target == focusedElement) {
12496
- removeClass([focusedElement], [HOVER, FOCUS]);
12514
+ removeClass([focusedElement], FOCUS);
12497
12515
  EventHandler.remove(focusedElement, 'blur', this.focusOut);
12498
12516
  }
12499
12517
  };
@@ -12705,7 +12723,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12705
12723
  removeClass([liEle], EDITING);
12706
12724
  liEle.focus();
12707
12725
  EventHandler.add(liEle, 'blur', this.focusOut, this);
12708
- addClass([liEle], HOVER);
12726
+ addClass([liEle], FOCUS);
12709
12727
  }
12710
12728
  if (this.allowTextWrap) {
12711
12729
  this.calculateWrap(liEle);