@syncfusion/ej2-navigations 21.1.38 → 21.2.3

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 (86) hide show
  1. package/CHANGELOG.md +30 -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 +68 -54
  6. package/dist/es6/ej2-navigations.es2015.js.map +1 -1
  7. package/dist/es6/ej2-navigations.es5.js +68 -54
  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 +12 -15
  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 +26 -20
  16. package/src/common/v-scroll.js +1 -1
  17. package/src/tab/tab.d.ts +1 -0
  18. package/src/tab/tab.js +35 -28
  19. package/src/treeview/treeview.js +5 -5
  20. package/styles/bootstrap-dark.css +35 -26
  21. package/styles/bootstrap.css +35 -26
  22. package/styles/bootstrap4.css +35 -26
  23. package/styles/bootstrap5-dark.css +44 -35
  24. package/styles/bootstrap5.css +44 -35
  25. package/styles/context-menu/_bootstrap5-definition.scss +1 -1
  26. package/styles/context-menu/bootstrap5-dark.css +4 -4
  27. package/styles/context-menu/bootstrap5.css +4 -4
  28. package/styles/fabric-dark.css +35 -26
  29. package/styles/fabric.css +35 -26
  30. package/styles/fluent-dark.css +35 -26
  31. package/styles/fluent.css +35 -26
  32. package/styles/highcontrast-light.css +35 -26
  33. package/styles/highcontrast.css +37 -27
  34. package/styles/material-dark.css +35 -26
  35. package/styles/material.css +35 -26
  36. package/styles/menu/_bootstrap5-definition.scss +1 -1
  37. package/styles/menu/bootstrap5-dark.css +5 -5
  38. package/styles/menu/bootstrap5.css +5 -5
  39. package/styles/tab/_icons.scss +0 -8
  40. package/styles/tab/bootstrap-dark.css +0 -10
  41. package/styles/tab/bootstrap.css +0 -10
  42. package/styles/tab/bootstrap4.css +0 -10
  43. package/styles/tab/bootstrap5-dark.css +0 -10
  44. package/styles/tab/bootstrap5.css +0 -10
  45. package/styles/tab/fabric-dark.css +0 -10
  46. package/styles/tab/fabric.css +0 -10
  47. package/styles/tab/fluent-dark.css +0 -10
  48. package/styles/tab/fluent.css +0 -10
  49. package/styles/tab/highcontrast-light.css +0 -10
  50. package/styles/tab/highcontrast.css +0 -10
  51. package/styles/tab/icons/_bootstrap-dark.scss +0 -8
  52. package/styles/tab/icons/_bootstrap.scss +0 -8
  53. package/styles/tab/icons/_bootstrap4.scss +0 -12
  54. package/styles/tab/icons/_bootstrap5.scss +0 -12
  55. package/styles/tab/icons/_fabric-dark.scss +0 -8
  56. package/styles/tab/icons/_fabric.scss +0 -8
  57. package/styles/tab/icons/_fluent.scss +0 -8
  58. package/styles/tab/icons/_fusionnew.scss +0 -12
  59. package/styles/tab/icons/_highcontrast-light.scss +0 -12
  60. package/styles/tab/icons/_highcontrast.scss +0 -12
  61. package/styles/tab/icons/_material-dark.scss +0 -12
  62. package/styles/tab/icons/_material.scss +0 -12
  63. package/styles/tab/icons/_material3.scss +0 -12
  64. package/styles/tab/icons/_tailwind.scss +0 -12
  65. package/styles/tab/material-dark.css +0 -10
  66. package/styles/tab/material.css +0 -10
  67. package/styles/tab/tailwind-dark.css +0 -10
  68. package/styles/tab/tailwind.css +0 -10
  69. package/styles/tailwind-dark.css +35 -26
  70. package/styles/tailwind.css +35 -26
  71. package/styles/treeview/_theme.scss +20 -10
  72. package/styles/treeview/bootstrap-dark.css +35 -16
  73. package/styles/treeview/bootstrap.css +35 -16
  74. package/styles/treeview/bootstrap4.css +35 -16
  75. package/styles/treeview/bootstrap5-dark.css +35 -16
  76. package/styles/treeview/bootstrap5.css +35 -16
  77. package/styles/treeview/fabric-dark.css +35 -16
  78. package/styles/treeview/fabric.css +35 -16
  79. package/styles/treeview/fluent-dark.css +35 -16
  80. package/styles/treeview/fluent.css +35 -16
  81. package/styles/treeview/highcontrast-light.css +35 -16
  82. package/styles/treeview/highcontrast.css +37 -17
  83. package/styles/treeview/material-dark.css +35 -16
  84. package/styles/treeview/material.css +35 -16
  85. package/styles/treeview/tailwind-dark.css +35 -16
  86. 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) {
@@ -1358,10 +1359,10 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
1358
1359
  }
1359
1360
  this.targetElement = target;
1360
1361
  if (!this.isMenu) {
1361
- EventHandler.add(this.targetElement, 'scroll', this.scrollHandler, this);
1362
+ EventHandler.add(this.targetElement, 'mousewheel DOMMouseScroll', this.scrollHandler, this);
1362
1363
  for (var _i = 0, _a = getScrollableParent(this.targetElement); _i < _a.length; _i++) {
1363
1364
  var parent_1 = _a[_i];
1364
- EventHandler.add(parent_1, 'scroll', this.scrollHandler, this);
1365
+ EventHandler.add(parent_1, 'mousewheel DOMMouseScroll', this.scrollHandler, this);
1365
1366
  }
1366
1367
  }
1367
1368
  }
@@ -1401,6 +1402,13 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
1401
1402
  this.closeMenu(this.isMenu ? null : this.navIdx.length, e);
1402
1403
  }
1403
1404
  };
1405
+ MenuBase.prototype.keyHandler = function (e) {
1406
+ if (e.keyCode === 38 || e.keyCode === 40) {
1407
+ if (e.target && (e.target.classList.contains('e-contextmenu') || e.target.classList.contains('e-menu-item'))) {
1408
+ e.preventDefault();
1409
+ }
1410
+ }
1411
+ };
1404
1412
  MenuBase.prototype.keyBoardHandler = function (e) {
1405
1413
  var actionName = '';
1406
1414
  var trgt = e.target;
@@ -1657,6 +1665,12 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
1657
1665
  closeArgs = { element: ul_1, parentItem: item_1, items: items_1 };
1658
1666
  _this.trigger('onClose', closeArgs);
1659
1667
  _this.navIdx.pop();
1668
+ if (!_this.isMenu) {
1669
+ EventHandler.remove(ul_1, 'keydown', _this.keyHandler);
1670
+ if (_this.keyType === 'right') {
1671
+ _this.keyType = '';
1672
+ }
1673
+ }
1660
1674
  }
1661
1675
  _this.updateReactTemplate();
1662
1676
  var trgtliId;
@@ -2219,10 +2233,10 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
2219
2233
  if (!args.curData[args.fields[fields.id]]) {
2220
2234
  args.curData[args.fields[fields.id]] = getUniqueID('menuitem');
2221
2235
  }
2222
- args.curData.htmlAttributes = {
2223
- role: 'menuitem',
2224
- tabindex: '-1'
2225
- };
2236
+ if (isNullOrUndefined(args.curData.htmlAttributes)) {
2237
+ args.curData.htmlAttributes = {};
2238
+ }
2239
+ Object.assign(args.curData.htmlAttributes, { role: 'menuitem', tabindex: '-1' });
2226
2240
  if (_this.isMenu && !args.curData[_this.getField('separator', level)]) {
2227
2241
  args.curData.htmlAttributes['aria-label'] = args.curData[args.fields.text] ?
2228
2242
  args.curData[args.fields.text] : args.curData[args.fields.id];
@@ -2837,10 +2851,10 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
2837
2851
  }
2838
2852
  }
2839
2853
  if (!this.isMenu) {
2840
- EventHandler.remove(this.targetElement, 'scroll', this.scrollHandler);
2854
+ EventHandler.remove(this.targetElement, 'mousewheel DOMMouseScroll', this.scrollHandler);
2841
2855
  for (var _i = 0, _a = getScrollableParent(this.targetElement); _i < _a.length; _i++) {
2842
2856
  var parent_2 = _a[_i];
2843
- EventHandler.remove(parent_2, 'scroll', this.scrollHandler);
2857
+ EventHandler.remove(parent_2, 'mousewheel DOMMouseScroll', this.scrollHandler);
2844
2858
  }
2845
2859
  }
2846
2860
  }
@@ -2911,6 +2925,9 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
2911
2925
  element: ul, parentItem: item, items: item ? item.items : this.items
2912
2926
  };
2913
2927
  this.trigger('onOpen', eventArgs);
2928
+ if (!this.isMenu) {
2929
+ EventHandler.add(ul, 'keydown', this.keyHandler, this);
2930
+ }
2914
2931
  };
2915
2932
  MenuBase.prototype.end = function (ul, isMenuOpen) {
2916
2933
  if (isMenuOpen) {
@@ -3110,20 +3127,10 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
3110
3127
  ul = this.getUlByNavIdx(navIdx.length);
3111
3128
  if (ul) {
3112
3129
  if (ishide) {
3113
- if (Browser.isDevice && !ul.classList.contains('e-contextmenu')) {
3114
- ul.children[index + 1].classList.add(HIDE);
3115
- }
3116
- else {
3117
- ul.children[index].classList.add(HIDE);
3118
- }
3130
+ ul.children[index].classList.add(HIDE);
3119
3131
  }
3120
3132
  else {
3121
- if (Browser.isDevice && !ul.classList.contains('e-contextmenu')) {
3122
- ul.children[index + 1].classList.remove(HIDE);
3123
- }
3124
- else {
3125
- ul.children[index].classList.remove(HIDE);
3126
- }
3133
+ ul.children[index].classList.remove(HIDE);
3127
3134
  }
3128
3135
  }
3129
3136
  }
@@ -8655,7 +8662,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8655
8662
  }
8656
8663
  else {
8657
8664
  this.isPopup = false;
8658
- if (!isNullOrUndefined(trgParent) && (trgIndex !== this.selectedItem || trgIndex !== this.prevIndex)) {
8665
+ if (!isNullOrUndefined(trgParent) && (trgIndex !== this.selectedItem)) {
8659
8666
  this.selectTab(trgIndex, args.originalEvent, true);
8660
8667
  }
8661
8668
  }
@@ -8819,6 +8826,9 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8819
8826
  var icon = (isNullOrUndefined(this.items[index].header) ||
8820
8827
  isNullOrUndefined(this.items[index].header.iconCss)) ? '' : this.items[index].header.iconCss;
8821
8828
  var textVal = this.items[index].headerTemplate || this.items[index].header.text;
8829
+ if (properties[j] === 'headerTemplate') {
8830
+ this.clearTabTemplate(hdrItem, properties[j], CLS_TB_ITEM);
8831
+ }
8822
8832
  if ((textVal === '') && (icon === '')) {
8823
8833
  this.removeTab(index);
8824
8834
  }
@@ -8850,7 +8860,8 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8850
8860
  document.body.appendChild(this.element.querySelector(oldVal)).style.display = 'none';
8851
8861
  cntItem.innerHTML = newVal;
8852
8862
  }
8853
- else if (this.isReact) {
8863
+ else if (this.isAngular || this.isReact) {
8864
+ this.clearTabTemplate(cntItem, properties[j], CLS_ITEM$2);
8854
8865
  cntItem.innerHTML = '';
8855
8866
  this.templateCompile(cntItem, newVal, index);
8856
8867
  }
@@ -8901,6 +8912,30 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8901
8912
  }
8902
8913
  }
8903
8914
  };
8915
+ Tab.prototype.clearTabTemplate = function (templateEle, templateName, className) {
8916
+ if (this.registeredTemplate && this.registeredTemplate[templateName]) {
8917
+ var registeredTemplates = this.registeredTemplate;
8918
+ for (var index = 0; index < registeredTemplates[templateName].length; index++) {
8919
+ var registeredItem = registeredTemplates[templateName][index].rootNodes[0];
8920
+ var closestItem = closest(registeredItem, '.' + className);
8921
+ if (!isNullOrUndefined(closestItem) && closestItem === templateEle) {
8922
+ this.clearTemplate([templateName], [registeredTemplates[templateName][index]]);
8923
+ break;
8924
+ }
8925
+ }
8926
+ }
8927
+ else if (this.portals && this.portals.length > 0) {
8928
+ var portals = this.portals;
8929
+ for (var index = 0; index < portals.length; index++) {
8930
+ var portalItem = portals[index];
8931
+ var closestItem = closest(portalItem.containerInfo, '.' + className);
8932
+ if (!isNullOrUndefined(closestItem) && closestItem === templateEle) {
8933
+ this.clearTemplate([templateName], index);
8934
+ break;
8935
+ }
8936
+ }
8937
+ }
8938
+ };
8904
8939
  Tab.prototype.initializeDrag = function (target) {
8905
8940
  var _this = this;
8906
8941
  var dragObj = new Draggable(target, {
@@ -9250,6 +9285,10 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9250
9285
  var removeArgs = { removedItem: trg, removedIndex: index, cancel: false };
9251
9286
  this.trigger('removing', removeArgs, function (tabRemovingArgs) {
9252
9287
  if (!tabRemovingArgs.cancel) {
9288
+ var header = select('#' + CLS_ITEM$2 + _this.tabId + '_' + _this.extIndex(trg.id), select('.' + CLS_TB_ITEMS, _this.element));
9289
+ if (!isNullOrUndefined(header)) {
9290
+ _this.clearTabTemplate(header, 'headerTemplate', CLS_TB_ITEM);
9291
+ }
9253
9292
  _this.tbObj.removeItems(index);
9254
9293
  if (_this.allowDragAndDrop && (index !== Array.prototype.indexOf.call(_this.itemIndexArray, trg.id))) {
9255
9294
  index = Array.prototype.indexOf.call(_this.itemIndexArray, trg.id);
@@ -9260,32 +9299,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9260
9299
  _this.refreshActiveBorder();
9261
9300
  var cntTrg = select('#' + CLS_CONTENT$1 + _this.tabId + '_' + _this.extIndex(trg.id), select('.' + CLS_CONTENT$1, _this.element));
9262
9301
  if (!isNullOrUndefined(cntTrg)) {
9263
- var registeredTemplate = _this.registeredTemplate;
9264
- var portal = _this.portals;
9265
- if (registeredTemplate && registeredTemplate.content) {
9266
- var templateToClear = [];
9267
- for (var i = 0; i < registeredTemplate.content.length; i++) {
9268
- var registeredItem = registeredTemplate.content[i].rootNodes[0];
9269
- var closestItem = closest(registeredItem, '.' + CLS_ITEM$2);
9270
- if (!isNullOrUndefined(registeredItem) && closestItem === cntTrg) {
9271
- templateToClear.push(registeredTemplate.content[i]);
9272
- break;
9273
- }
9274
- }
9275
- if (templateToClear.length > 0) {
9276
- _this.clearTemplate(['content'], templateToClear);
9277
- }
9278
- }
9279
- /* else if (portal) {
9280
- for (var i = 0; i < portal.length; i++) {
9281
- var portalItem = portal[i];
9282
- var closestItem = closest(portalItem.containerInfo, '.' + CLS_ITEM);
9283
- if (!isNullOrUndefined(portalItem) && closestItem === cntTrg) {
9284
- this.clearTemplate(['content'], i);
9285
- break;
9286
- }
9287
- }
9288
- } */
9302
+ _this.clearTabTemplate(cntTrg, 'content', CLS_ITEM$2);
9289
9303
  detach(cntTrg);
9290
9304
  }
9291
9305
  _this.trigger('removed', tabRemovingArgs);
@@ -12449,10 +12463,10 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12449
12463
  return endNode;
12450
12464
  };
12451
12465
  TreeView.prototype.setFocus = function (preNode, nextNode) {
12452
- removeClass([preNode], [HOVER, FOCUS]);
12466
+ removeClass([preNode], FOCUS);
12453
12467
  preNode.setAttribute("tabindex", "-1");
12454
12468
  if (!nextNode.classList.contains('e-disable') && !nextNode.classList.contains(PREVENTSELECT)) {
12455
- addClass([nextNode], [HOVER, FOCUS]);
12469
+ addClass([nextNode], FOCUS);
12456
12470
  nextNode.setAttribute('tabindex', '0');
12457
12471
  nextNode.focus();
12458
12472
  EventHandler.add(nextNode, 'blur', this.focusOut, this);
@@ -12471,7 +12485,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12471
12485
  if (!this.mouseDownStatus) {
12472
12486
  var focusedElement = this.getFocusedNode();
12473
12487
  focusedElement.setAttribute("tabindex", "0");
12474
- addClass([focusedElement], [HOVER, FOCUS]);
12488
+ addClass([focusedElement], FOCUS);
12475
12489
  EventHandler.add(focusedElement, 'blur', this.focusOut, this);
12476
12490
  }
12477
12491
  this.mouseDownStatus = false;
@@ -12479,7 +12493,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12479
12493
  TreeView.prototype.focusOut = function (event) {
12480
12494
  var focusedElement = this.getFocusedNode();
12481
12495
  if (event.target == focusedElement) {
12482
- removeClass([focusedElement], [HOVER, FOCUS]);
12496
+ removeClass([focusedElement], FOCUS);
12483
12497
  EventHandler.remove(focusedElement, 'blur', this.focusOut);
12484
12498
  }
12485
12499
  };
@@ -12691,7 +12705,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12691
12705
  removeClass([liEle], EDITING);
12692
12706
  liEle.focus();
12693
12707
  EventHandler.add(liEle, 'blur', this.focusOut, this);
12694
- addClass([liEle], HOVER);
12708
+ addClass([liEle], FOCUS);
12695
12709
  }
12696
12710
  if (this.allowTextWrap) {
12697
12711
  this.calculateWrap(liEle);