@syncfusion/ej2-navigations 20.3.60 → 20.4.40

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 (226) hide show
  1. package/.eslintrc.json +16 -1
  2. package/CHANGELOG.md +26 -0
  3. package/dist/ej2-navigations.min.js +2 -2
  4. package/dist/ej2-navigations.umd.min.js +2 -2
  5. package/dist/ej2-navigations.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-navigations.es2015.js +263 -212
  7. package/dist/es6/ej2-navigations.es2015.js.map +1 -1
  8. package/dist/es6/ej2-navigations.es5.js +260 -209
  9. package/dist/es6/ej2-navigations.es5.js.map +1 -1
  10. package/dist/global/ej2-navigations.min.js +2 -2
  11. package/dist/global/ej2-navigations.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/package.json +12 -12
  14. package/src/accordion/accordion.js +20 -19
  15. package/src/appbar/appbar-model.d.ts +15 -15
  16. package/src/appbar/appbar.d.ts +15 -15
  17. package/src/appbar/appbar.js +3 -3
  18. package/src/breadcrumb/breadcrumb-model.d.ts +1 -1
  19. package/src/breadcrumb/breadcrumb.js +10 -5
  20. package/src/carousel/carousel.js +10 -10
  21. package/src/common/menu-base.js +19 -12
  22. package/src/menu/menu.js +2 -2
  23. package/src/sidebar/sidebar.d.ts +1 -0
  24. package/src/sidebar/sidebar.js +6 -2
  25. package/src/tab/tab-model.d.ts +9 -0
  26. package/src/tab/tab.d.ts +9 -0
  27. package/src/tab/tab.js +28 -18
  28. package/src/toolbar/toolbar-model.d.ts +9 -0
  29. package/src/toolbar/toolbar.d.ts +11 -0
  30. package/src/toolbar/toolbar.js +132 -123
  31. package/src/treeview/treeview-model.d.ts +133 -45
  32. package/src/treeview/treeview.d.ts +135 -48
  33. package/src/treeview/treeview.js +30 -14
  34. package/styles/accordion/_bootstrap-dark-definition.scss +100 -0
  35. package/styles/accordion/_bootstrap-definition.scss +100 -0
  36. package/styles/accordion/_bootstrap4-definition.scss +95 -1
  37. package/styles/accordion/_bootstrap5-definition.scss +99 -3
  38. package/styles/accordion/_fabric-dark-definition.scss +100 -0
  39. package/styles/accordion/_fabric-definition.scss +100 -0
  40. package/styles/accordion/_fluent-definition.scss +98 -2
  41. package/styles/accordion/_fusionnew-definition.scss +99 -3
  42. package/styles/accordion/_highcontrast-definition.scss +98 -3
  43. package/styles/accordion/_highcontrast-light-definition.scss +98 -3
  44. package/styles/accordion/_layout.scss +25 -91
  45. package/styles/accordion/_material-dark-definition.scss +100 -0
  46. package/styles/accordion/_material-definition.scss +100 -0
  47. package/styles/accordion/_material3-definition.scss +99 -3
  48. package/styles/accordion/_tailwind-definition.scss +99 -2
  49. package/styles/accordion/_theme.scss +184 -345
  50. package/styles/accordion/bootstrap-dark.css +202 -16
  51. package/styles/accordion/bootstrap.css +202 -16
  52. package/styles/accordion/bootstrap4.css +171 -17
  53. package/styles/accordion/bootstrap5-dark.css +202 -13
  54. package/styles/accordion/bootstrap5.css +202 -13
  55. package/styles/accordion/fabric-dark.css +209 -11
  56. package/styles/accordion/fabric.css +209 -11
  57. package/styles/accordion/fluent-dark.css +217 -5
  58. package/styles/accordion/fluent.css +217 -5
  59. package/styles/accordion/highcontrast-light.css +186 -52
  60. package/styles/accordion/highcontrast.css +186 -52
  61. package/styles/accordion/material-dark.css +210 -16
  62. package/styles/accordion/material.css +209 -15
  63. package/styles/accordion/tailwind-dark.css +199 -8
  64. package/styles/accordion/tailwind.css +199 -8
  65. package/styles/bootstrap-dark.css +999 -145
  66. package/styles/bootstrap.css +986 -132
  67. package/styles/bootstrap4.css +888 -167
  68. package/styles/bootstrap5-dark.css +949 -179
  69. package/styles/bootstrap5.css +949 -179
  70. package/styles/context-menu/_layout.scss +0 -3
  71. package/styles/context-menu/bootstrap5-dark.css +0 -1
  72. package/styles/context-menu/bootstrap5.css +0 -1
  73. package/styles/context-menu/fluent-dark.css +0 -1
  74. package/styles/context-menu/fluent.css +0 -1
  75. package/styles/context-menu/tailwind-dark.css +0 -1
  76. package/styles/context-menu/tailwind.css +0 -1
  77. package/styles/fabric-dark.css +1068 -232
  78. package/styles/fabric.css +1067 -231
  79. package/styles/fluent-dark.css +1014 -123
  80. package/styles/fluent.css +1012 -121
  81. package/styles/h-scroll/_bootstrap-dark-definition.scss +8 -0
  82. package/styles/h-scroll/_bootstrap-definition.scss +8 -0
  83. package/styles/h-scroll/_bootstrap4-definition.scss +8 -0
  84. package/styles/h-scroll/_bootstrap5-definition.scss +8 -0
  85. package/styles/h-scroll/_fabric-dark-definition.scss +8 -0
  86. package/styles/h-scroll/_fabric-definition.scss +8 -0
  87. package/styles/h-scroll/_fluent-definition.scss +8 -0
  88. package/styles/h-scroll/_fusionnew-definition.scss +8 -0
  89. package/styles/h-scroll/_highcontrast-definition.scss +6 -1
  90. package/styles/h-scroll/_highcontrast-light-definition.scss +6 -1
  91. package/styles/h-scroll/_layout.scss +1 -4
  92. package/styles/h-scroll/_material-dark-definition.scss +8 -0
  93. package/styles/h-scroll/_material-definition.scss +8 -0
  94. package/styles/h-scroll/_material3-definition.scss +8 -0
  95. package/styles/h-scroll/_tailwind-definition.scss +8 -0
  96. package/styles/h-scroll/_theme.scss +12 -40
  97. package/styles/h-scroll/bootstrap-dark.css +13 -0
  98. package/styles/h-scroll/bootstrap.css +13 -0
  99. package/styles/h-scroll/bootstrap4.css +7 -0
  100. package/styles/h-scroll/bootstrap5-dark.css +12 -0
  101. package/styles/h-scroll/bootstrap5.css +12 -0
  102. package/styles/h-scroll/fabric-dark.css +15 -2
  103. package/styles/h-scroll/fabric.css +15 -2
  104. package/styles/h-scroll/fluent-dark.css +13 -0
  105. package/styles/h-scroll/fluent.css +13 -0
  106. package/styles/h-scroll/highcontrast-light.css +8 -7
  107. package/styles/h-scroll/highcontrast.css +10 -9
  108. package/styles/h-scroll/icons/_fabric-dark.scss +2 -2
  109. package/styles/h-scroll/icons/_fabric.scss +2 -2
  110. package/styles/h-scroll/icons/_highcontrast.scss +2 -2
  111. package/styles/h-scroll/material-dark.css +13 -2
  112. package/styles/h-scroll/material.css +13 -2
  113. package/styles/h-scroll/tailwind-dark.css +12 -0
  114. package/styles/h-scroll/tailwind.css +12 -0
  115. package/styles/highcontrast-light.css +918 -369
  116. package/styles/highcontrast.css +925 -370
  117. package/styles/material-dark.css +1184 -114
  118. package/styles/material.css +1162 -92
  119. package/styles/menu/_theme.scss +1 -1
  120. package/styles/menu/fluent-dark.css +1 -1
  121. package/styles/menu/fluent.css +1 -1
  122. package/styles/tab/_bootstrap-dark-definition.scss +271 -15
  123. package/styles/tab/_bootstrap-definition.scss +266 -9
  124. package/styles/tab/_bootstrap4-definition.scss +266 -9
  125. package/styles/tab/_bootstrap5-definition.scss +270 -13
  126. package/styles/tab/_fabric-dark-definition.scss +270 -13
  127. package/styles/tab/_fabric-definition.scss +270 -13
  128. package/styles/tab/_fluent-definition.scss +269 -12
  129. package/styles/tab/_fusionnew-definition.scss +268 -11
  130. package/styles/tab/_highcontrast-definition.scss +271 -14
  131. package/styles/tab/_highcontrast-light-definition.scss +271 -14
  132. package/styles/tab/_layout.scss +295 -988
  133. package/styles/tab/_material-dark-definition.scss +266 -9
  134. package/styles/tab/_material-definition.scss +266 -9
  135. package/styles/tab/_material3-definition.scss +268 -11
  136. package/styles/tab/_tailwind-definition.scss +267 -10
  137. package/styles/tab/_theme.scss +305 -843
  138. package/styles/tab/bootstrap-dark.css +587 -109
  139. package/styles/tab/bootstrap.css +574 -96
  140. package/styles/tab/bootstrap4.css +546 -114
  141. package/styles/tab/bootstrap5-dark.css +523 -134
  142. package/styles/tab/bootstrap5.css +523 -134
  143. package/styles/tab/fabric-dark.css +614 -199
  144. package/styles/tab/fabric.css +612 -197
  145. package/styles/tab/fluent-dark.css +546 -102
  146. package/styles/tab/fluent.css +546 -102
  147. package/styles/tab/highcontrast-light.css +520 -250
  148. package/styles/tab/highcontrast.css +520 -244
  149. package/styles/tab/icons/_bootstrap-dark.scss +0 -33
  150. package/styles/tab/icons/_bootstrap.scss +0 -33
  151. package/styles/tab/icons/_bootstrap4.scss +0 -26
  152. package/styles/tab/icons/_bootstrap5.scss +0 -37
  153. package/styles/tab/icons/_fabric-dark.scss +0 -33
  154. package/styles/tab/icons/_fabric.scss +0 -33
  155. package/styles/tab/icons/_fluent.scss +0 -33
  156. package/styles/tab/icons/_fusionnew.scss +0 -37
  157. package/styles/tab/icons/_highcontrast-light.scss +0 -37
  158. package/styles/tab/icons/_highcontrast.scss +0 -26
  159. package/styles/tab/icons/_material-dark.scss +0 -37
  160. package/styles/tab/icons/_material.scss +0 -37
  161. package/styles/tab/icons/_material3.scss +0 -37
  162. package/styles/tab/icons/_tailwind.scss +0 -37
  163. package/styles/tab/material-dark.css +705 -54
  164. package/styles/tab/material.css +705 -54
  165. package/styles/tab/tailwind-dark.css +706 -71
  166. package/styles/tab/tailwind.css +706 -71
  167. package/styles/tailwind-dark.css +1145 -99
  168. package/styles/tailwind.css +1144 -98
  169. package/styles/toolbar/_bootstrap-dark-definition.scss +93 -0
  170. package/styles/toolbar/_bootstrap-definition.scss +93 -0
  171. package/styles/toolbar/_bootstrap4-definition.scss +94 -1
  172. package/styles/toolbar/_bootstrap5-definition.scss +94 -8
  173. package/styles/toolbar/_fabric-dark-definition.scss +92 -3
  174. package/styles/toolbar/_fabric-definition.scss +92 -3
  175. package/styles/toolbar/_fluent-definition.scss +96 -8
  176. package/styles/toolbar/_fusionnew-definition.scss +94 -8
  177. package/styles/toolbar/_highcontrast-definition.scss +93 -4
  178. package/styles/toolbar/_highcontrast-light-definition.scss +93 -4
  179. package/styles/toolbar/_layout.scss +48 -177
  180. package/styles/toolbar/_material-dark-definition.scss +93 -0
  181. package/styles/toolbar/_material-definition.scss +93 -0
  182. package/styles/toolbar/_material3-definition.scss +94 -8
  183. package/styles/toolbar/_tailwind-definition.scss +94 -6
  184. package/styles/toolbar/_theme.scss +169 -278
  185. package/styles/toolbar/bootstrap-dark.css +196 -19
  186. package/styles/toolbar/bootstrap.css +196 -19
  187. package/styles/toolbar/bootstrap4.css +164 -36
  188. package/styles/toolbar/bootstrap5-dark.css +210 -29
  189. package/styles/toolbar/bootstrap5.css +210 -29
  190. package/styles/toolbar/fabric-dark.css +219 -9
  191. package/styles/toolbar/fabric.css +220 -10
  192. package/styles/toolbar/fluent-dark.css +233 -10
  193. package/styles/toolbar/fluent.css +233 -10
  194. package/styles/toolbar/highcontrast-light.css +199 -43
  195. package/styles/toolbar/highcontrast.css +200 -44
  196. package/styles/toolbar/material-dark.css +233 -19
  197. package/styles/toolbar/material.css +233 -19
  198. package/styles/toolbar/tailwind-dark.css +224 -15
  199. package/styles/toolbar/tailwind.css +223 -14
  200. package/styles/treeview/_material-definition.scss +1 -1
  201. package/styles/treeview/_theme.scss +11 -1
  202. package/styles/treeview/fluent-dark.css +2 -2
  203. package/styles/treeview/material.css +2 -2
  204. package/styles/treeview/tailwind.css +2 -2
  205. package/styles/v-scroll/_highcontrast-definition.scss +0 -1
  206. package/styles/v-scroll/_highcontrast-light-definition.scss +0 -1
  207. package/styles/v-scroll/_theme.scss +0 -26
  208. package/styles/v-scroll/bootstrap5-dark.css +2 -2
  209. package/styles/v-scroll/bootstrap5.css +2 -2
  210. package/styles/v-scroll/fabric-dark.css +2 -2
  211. package/styles/v-scroll/fabric.css +2 -2
  212. package/styles/v-scroll/fluent-dark.css +2 -2
  213. package/styles/v-scroll/fluent.css +2 -2
  214. package/styles/v-scroll/highcontrast-light.css +2 -14
  215. package/styles/v-scroll/highcontrast.css +2 -14
  216. package/styles/v-scroll/icons/_bootstrap5.scss +2 -2
  217. package/styles/v-scroll/icons/_fabric-dark.scss +2 -2
  218. package/styles/v-scroll/icons/_fabric.scss +2 -2
  219. package/styles/v-scroll/icons/_fluent.scss +2 -2
  220. package/styles/v-scroll/icons/_fusionnew.scss +2 -2
  221. package/styles/v-scroll/icons/_highcontrast-light.scss +2 -2
  222. package/styles/v-scroll/icons/_highcontrast.scss +2 -2
  223. package/styles/v-scroll/icons/_material3.scss +2 -2
  224. package/styles/v-scroll/icons/_tailwind.scss +2 -2
  225. package/styles/v-scroll/tailwind-dark.css +2 -2
  226. package/styles/v-scroll/tailwind.css +2 -2
@@ -127,6 +127,9 @@ var Item = /** @class */ (function (_super) {
127
127
  __decorate([
128
128
  Event()
129
129
  ], Item.prototype, "click", void 0);
130
+ __decorate([
131
+ Property(-1)
132
+ ], Item.prototype, "tabIndex", void 0);
130
133
  return Item;
131
134
  }(ChildProperty));
132
135
  export { Item };
@@ -213,7 +216,7 @@ var Toolbar = /** @class */ (function (_super) {
213
216
  removeClass([this.element], this.cssClass.split(' '));
214
217
  }
215
218
  this.element.removeAttribute('style');
216
- ['aria-disabled', 'aria-orientation', 'aria-haspopup', 'role'].forEach(function (attrb) {
219
+ ['aria-disabled', 'aria-orientation', 'role'].forEach(function (attrb) {
217
220
  return _this.element.removeAttribute(attrb);
218
221
  });
219
222
  _super.prototype.destroy.call(this);
@@ -253,7 +256,16 @@ var Toolbar = /** @class */ (function (_super) {
253
256
  keyConfigs: this.keyConfigs
254
257
  });
255
258
  EventHandler.add(this.element, 'keydown', this.docKeyDown, this);
256
- this.element.setAttribute('tabIndex', '0');
259
+ this.updateTabIndex('0');
260
+ };
261
+ Toolbar.prototype.updateTabIndex = function (tabIndex) {
262
+ var ele = this.element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_DISABLE + ' ):not(.' + CLS_SEPARATOR + ' ):not(.' + CLS_HIDDEN + ' )');
263
+ if (!isNOU(ele) && !isNOU(ele.firstElementChild)) {
264
+ var dataTabIndex = ele.firstElementChild.getAttribute('data-tabindex');
265
+ if (dataTabIndex && dataTabIndex === '-1' && ele.firstElementChild.tagName !== 'INPUT') {
266
+ ele.firstElementChild.setAttribute('tabindex', tabIndex);
267
+ }
268
+ }
257
269
  };
258
270
  Toolbar.prototype.unwireKeyboardEvent = function () {
259
271
  if (this.keyModule) {
@@ -457,7 +469,6 @@ var Toolbar = /** @class */ (function (_super) {
457
469
  this.activeEleRemove(ele_1);
458
470
  ele_1.focus();
459
471
  }
460
- this.element.removeAttribute('tabindex');
461
472
  }
462
473
  }
463
474
  break;
@@ -508,9 +519,8 @@ var Toolbar = /** @class */ (function (_super) {
508
519
  else {
509
520
  rootEle.classList.remove(CLS_DISABLE);
510
521
  }
511
- rootEle.setAttribute('tabindex', !value ? '0' : '-1');
512
522
  if (this.activeEle) {
513
- this.activeEle.setAttribute('tabindex', !value ? '0' : '-1');
523
+ this.activeEle.setAttribute('tabindex', this.activeEle.getAttribute('data-tabindex'));
514
524
  }
515
525
  if (this.scrollModule) {
516
526
  this.scrollModule.disable(value);
@@ -647,7 +657,7 @@ var Toolbar = /** @class */ (function (_super) {
647
657
  }
648
658
  setStyle(this.element, { 'width': width });
649
659
  var ariaAttr = {
650
- 'role': 'toolbar', 'aria-disabled': 'false', 'aria-haspopup': 'false',
660
+ 'role': 'toolbar', 'aria-disabled': 'false',
651
661
  'aria-orientation': !this.isVertical ? 'horizontal' : 'vertical'
652
662
  };
653
663
  attributes(this.element, ariaAttr);
@@ -679,17 +689,17 @@ var Toolbar = /** @class */ (function (_super) {
679
689
  this.tbarEle = [];
680
690
  }
681
691
  for (var i = 0; i < items.length; i++) {
682
- innerItem = this.renderSubComponent(items[i], i);
692
+ innerItem = this.renderSubComponent(items[parseInt(i.toString(), 10)], i);
683
693
  if (this.tbarEle.indexOf(innerItem) === -1) {
684
694
  this.tbarEle.push(innerItem);
685
695
  }
686
696
  if (!this.tbarAlign) {
687
- this.tbarItemAlign(items[i], itemEleDom, i);
697
+ this.tbarItemAlign(items[parseInt(i.toString(), 10)], itemEleDom, i);
688
698
  }
689
- innerPos = itemEleDom.querySelector('.e-toolbar-' + items[i].align.toLowerCase());
699
+ innerPos = itemEleDom.querySelector('.e-toolbar-' + items[parseInt(i.toString(), 10)].align.toLowerCase());
690
700
  if (innerPos) {
691
- if (!(items[i].showAlwaysInPopup && items[i].overflow !== 'Show')) {
692
- this.tbarAlgEle[(items[i].align + 's').toLowerCase()].push(innerItem);
701
+ if (!(items[parseInt(i.toString(), 10)].showAlwaysInPopup && items[parseInt(i.toString(), 10)].overflow !== 'Show')) {
702
+ this.tbarAlgEle[(items[parseInt(i.toString(), 10)].align + 's').toLowerCase()].push(innerItem);
693
703
  }
694
704
  innerPos.appendChild(innerItem);
695
705
  }
@@ -699,7 +709,7 @@ var Toolbar = /** @class */ (function (_super) {
699
709
  }
700
710
  if (this.isReact) {
701
711
  var portals = 'portals';
702
- this.notify('render-react-toolbar-template', this[portals]);
712
+ this.notify('render-react-toolbar-template', this["" + portals]);
703
713
  this.renderReactTemplates();
704
714
  }
705
715
  };
@@ -856,8 +866,11 @@ var Toolbar = /** @class */ (function (_super) {
856
866
  };
857
867
  Toolbar.prototype.setOverflowAttributes = function (ele) {
858
868
  this.createPopupEle(ele, [].slice.call(selectAll('.' + CLS_ITEMS + ' .' + CLS_ITEM, ele)));
859
- this.element.querySelector('.' + CLS_TBARNAV).setAttribute('tabIndex', '0');
860
- this.element.querySelector('.' + CLS_TBARNAV).setAttribute('role', 'list');
869
+ var ariaAttr = {
870
+ 'tabindex': '0', 'role': 'button', 'aria-haspopup': 'true',
871
+ 'aria-label': 'overflow'
872
+ };
873
+ attributes(this.element.querySelector('.' + CLS_TBARNAV), ariaAttr);
861
874
  };
862
875
  Toolbar.prototype.separator = function () {
863
876
  var element = this.element;
@@ -874,12 +887,12 @@ var Toolbar = /** @class */ (function (_super) {
874
887
  }
875
888
  }
876
889
  for (var i = 0; i <= eleItem.length - 1; i++) {
877
- if (eleItem[i].offsetLeft < 30 && eleItem[i].offsetLeft !== 0) {
890
+ if (eleItem[parseInt(i.toString(), 10)].offsetLeft < 30 && eleItem[parseInt(i.toString(), 10)].offsetLeft !== 0) {
878
891
  if (this.overflowMode === 'MultiRow') {
879
- eleItem[i].classList.add(CLS_MULTIROW_SEPARATOR);
892
+ eleItem[parseInt(i.toString(), 10)].classList.add(CLS_MULTIROW_SEPARATOR);
880
893
  }
881
894
  else if (this.overflowMode === 'Extended') {
882
- eleItem[i].classList.add(CLS_EXTENDABLE_SEPARATOR);
895
+ eleItem[parseInt(i.toString(), 10)].classList.add(CLS_EXTENDABLE_SEPARATOR);
883
896
  }
884
897
  }
885
898
  }
@@ -912,7 +925,7 @@ var Toolbar = /** @class */ (function (_super) {
912
925
  nodes = selectAll('.' + CLS_TBAROVERFLOW, ele);
913
926
  if (el.classList.contains(CLS_TBAROVERFLOW) && nodes.length > 0) {
914
927
  if (tbarObj.tbResize && nodes.length > index) {
915
- ele.insertBefore(el, nodes[index]);
928
+ ele.insertBefore(el, nodes[parseInt(index.toString(), 10)]);
916
929
  ++nodePri;
917
930
  }
918
931
  else {
@@ -950,7 +963,7 @@ var Toolbar = /** @class */ (function (_super) {
950
963
  });
951
964
  var tbarEle = selectAll('.' + CLS_ITEM, element.querySelector('.' + CLS_ITEMS));
952
965
  for (var i = tbarEle.length - 1; i >= 0; i--) {
953
- var tbarElement = tbarEle[i];
966
+ var tbarElement = tbarEle[parseInt(i.toString(), 10)];
954
967
  if (tbarElement.classList.contains(CLS_SEPARATOR) && this.overflowMode !== 'Extended') {
955
968
  setStyle(tbarElement, { display: 'none' });
956
969
  }
@@ -1005,11 +1018,11 @@ var Toolbar = /** @class */ (function (_super) {
1005
1018
  collision: { Y: this.enableCollision ? 'flip' : 'none' },
1006
1019
  position: this.enableRtl ? { X: 'left', Y: 'top' } : { X: 'right', Y: 'top' }
1007
1020
  });
1008
- popup.appendTo(ele);
1009
1021
  if (this.overflowMode === 'Extended') {
1010
1022
  popup.width = parseFloat(eleStyles.width) + ((parseFloat(eleStyles.borderRightWidth)) * 2);
1011
1023
  popup.offsetX = 0;
1012
1024
  }
1025
+ popup.appendTo(ele);
1013
1026
  EventHandler.add(document, 'scroll', this.docEvent.bind(this));
1014
1027
  EventHandler.add(document, 'click ', this.docEvent.bind(this));
1015
1028
  popup.element.style.maxHeight = popup.element.offsetHeight + 'px';
@@ -1026,7 +1039,6 @@ var Toolbar = /** @class */ (function (_super) {
1026
1039
  popup.hide();
1027
1040
  }
1028
1041
  this.popObj = popup;
1029
- this.element.setAttribute('aria-haspopup', 'true');
1030
1042
  }
1031
1043
  else {
1032
1044
  var popupEle = this.popObj.element;
@@ -1054,6 +1066,7 @@ var Toolbar = /** @class */ (function (_super) {
1054
1066
  var popupEle = this.popObj.element;
1055
1067
  var toolEle = this.popObj.element.parentElement;
1056
1068
  var popupNav = toolEle.querySelector('.' + CLS_TBARNAV);
1069
+ popupNav.setAttribute('aria-expanded', 'true');
1057
1070
  setStyle(popObj.element, { height: 'auto', maxHeight: '' });
1058
1071
  popObj.element.style.maxHeight = popObj.element.offsetHeight + 'px';
1059
1072
  if (this.overflowMode === 'Extended') {
@@ -1069,7 +1082,7 @@ var Toolbar = /** @class */ (function (_super) {
1069
1082
  var overflowHeight = (popupEle.offsetHeight - ((popupElePos - window.innerHeight - scrollVal) + 5));
1070
1083
  popObj.height = overflowHeight + 'px';
1071
1084
  for (var i = 0; i <= popupEle.childElementCount; i++) {
1072
- var ele = popupEle.children[i];
1085
+ var ele = popupEle.children[parseInt(i.toString(), 10)];
1073
1086
  if (ele.offsetTop + ele.offsetHeight > overflowHeight) {
1074
1087
  overflowHeight = ele.offsetTop;
1075
1088
  break;
@@ -1094,6 +1107,7 @@ var Toolbar = /** @class */ (function (_super) {
1094
1107
  Toolbar.prototype.popupClose = function (e) {
1095
1108
  var element = this.element;
1096
1109
  var popupNav = element.querySelector('.' + CLS_TBARNAV);
1110
+ popupNav.setAttribute('aria-expanded', 'false');
1097
1111
  var popIcon = popupNav.firstElementChild;
1098
1112
  popupNav.classList.remove(CLS_TBARNAVACT);
1099
1113
  classList(popIcon, [CLS_POPUPDOWN], [CLS_POPUPICON]);
@@ -1119,7 +1133,7 @@ var Toolbar = /** @class */ (function (_super) {
1119
1133
  };
1120
1134
  for (var i = len - 1; i >= 0; i--) {
1121
1135
  var mrgn = void 0;
1122
- var compuStyle = window.getComputedStyle(inEle[i]);
1136
+ var compuStyle = window.getComputedStyle(inEle[parseInt(i.toString(), 10)]);
1123
1137
  if (this.isVertical) {
1124
1138
  mrgn = parseFloat((compuStyle).marginTop);
1125
1139
  mrgn += parseFloat((compuStyle).marginBottom);
@@ -1128,35 +1142,37 @@ var Toolbar = /** @class */ (function (_super) {
1128
1142
  mrgn = parseFloat((compuStyle).marginRight);
1129
1143
  mrgn += parseFloat((compuStyle).marginLeft);
1130
1144
  }
1131
- var fstEleCheck = inEle[i] === this.tbarEle[0];
1145
+ var fstEleCheck = inEle[parseInt(i.toString(), 10)] === this.tbarEle[0];
1132
1146
  if (fstEleCheck) {
1133
1147
  this.tbarEleMrgn = mrgn;
1134
1148
  }
1135
- eleOffset = this.isVertical ? inEle[i].offsetHeight : inEle[i].offsetWidth;
1149
+ eleOffset = this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight : inEle[parseInt(i.toString(), 10)].offsetWidth;
1136
1150
  var eleWid_1 = fstEleCheck ? (eleOffset + mrgn) : eleOffset;
1137
- if (checkClass(inEle[i], [CLS_POPPRI]) && popPriority) {
1138
- inEle[i].classList.add(CLS_POPUP);
1151
+ if (checkClass(inEle[parseInt(i.toString(), 10)], [CLS_POPPRI]) && popPriority) {
1152
+ inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);
1139
1153
  if (this.isVertical) {
1140
- setStyle(inEle[i], { display: 'none', minHeight: eleWid_1 + 'px' });
1154
+ setStyle(inEle[parseInt(i.toString(), 10)], { display: 'none', minHeight: eleWid_1 + 'px' });
1141
1155
  }
1142
1156
  else {
1143
- setStyle(inEle[i], { display: 'none', minWidth: eleWid_1 + 'px' });
1157
+ setStyle(inEle[parseInt(i.toString(), 10)], { display: 'none', minWidth: eleWid_1 + 'px' });
1144
1158
  }
1145
1159
  itemPopCount++;
1146
1160
  }
1147
1161
  if (this.isVertical) {
1148
- checkoffset = (inEle[i].offsetTop + inEle[i].offsetHeight + mrgn) > eleWidth;
1162
+ checkoffset =
1163
+ (inEle[parseInt(i.toString(), 10)].offsetTop + inEle[parseInt(i.toString(), 10)].offsetHeight + mrgn) > eleWidth;
1149
1164
  }
1150
1165
  else {
1151
- checkoffset = (inEle[i].offsetLeft + inEle[i].offsetWidth + mrgn) > eleWidth;
1166
+ checkoffset =
1167
+ (inEle[parseInt(i.toString(), 10)].offsetLeft + inEle[parseInt(i.toString(), 10)].offsetWidth + mrgn) > eleWidth;
1152
1168
  }
1153
1169
  if (checkoffset) {
1154
- if (inEle[i].classList.contains(CLS_SEPARATOR)) {
1170
+ if (inEle[parseInt(i.toString(), 10)].classList.contains(CLS_SEPARATOR)) {
1155
1171
  if (this.overflowMode === 'Extended') {
1156
1172
  if (itemCount === itemPopCount) {
1157
- var sepEle = inEle[i];
1173
+ var sepEle = inEle[parseInt(i.toString(), 10)];
1158
1174
  if (checkClass(sepEle, [CLS_SEPARATOR, CLS_TBARIGNORE])) {
1159
- inEle[i].classList.add(CLS_POPUP);
1175
+ inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);
1160
1176
  itemPopCount++;
1161
1177
  }
1162
1178
  }
@@ -1177,21 +1193,23 @@ var Toolbar = /** @class */ (function (_super) {
1177
1193
  else {
1178
1194
  itemCount++;
1179
1195
  }
1180
- if (inEle[i].classList.contains(CLS_TBAROVERFLOW) && pre) {
1181
- eleWidth -= ((this.isVertical ? inEle[i].offsetHeight : inEle[i].offsetWidth) + (mrgn));
1196
+ if (inEle[parseInt(i.toString(), 10)].classList.contains(CLS_TBAROVERFLOW) && pre) {
1197
+ eleWidth -= ((this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight :
1198
+ inEle[parseInt(i.toString(), 10)].offsetWidth) + (mrgn));
1182
1199
  }
1183
- else if (!checkClass(inEle[i], [CLS_SEPARATOR, CLS_TBARIGNORE])) {
1184
- inEle[i].classList.add(CLS_POPUP);
1200
+ else if (!checkClass(inEle[parseInt(i.toString(), 10)], [CLS_SEPARATOR, CLS_TBARIGNORE])) {
1201
+ inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);
1185
1202
  if (this.isVertical) {
1186
- setStyle(inEle[i], { display: 'none', minHeight: eleWid_1 + 'px' });
1203
+ setStyle(inEle[parseInt(i.toString(), 10)], { display: 'none', minHeight: eleWid_1 + 'px' });
1187
1204
  }
1188
1205
  else {
1189
- setStyle(inEle[i], { display: 'none', minWidth: eleWid_1 + 'px' });
1206
+ setStyle(inEle[parseInt(i.toString(), 10)], { display: 'none', minWidth: eleWid_1 + 'px' });
1190
1207
  }
1191
1208
  itemPopCount++;
1192
1209
  }
1193
1210
  else {
1194
- eleWidth -= ((this.isVertical ? inEle[i].offsetHeight : inEle[i].offsetWidth) + (mrgn));
1211
+ eleWidth -= ((this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight :
1212
+ inEle[parseInt(i.toString(), 10)].offsetWidth) + (mrgn));
1195
1213
  }
1196
1214
  }
1197
1215
  }
@@ -1211,7 +1229,7 @@ var Toolbar = /** @class */ (function (_super) {
1211
1229
  var navItem = this.createElement('div', { className: CLS_POPUPDOWN + ' e-icons' });
1212
1230
  nav.appendChild(navItem);
1213
1231
  nav.setAttribute('tabindex', '0');
1214
- nav.setAttribute('role', 'list');
1232
+ nav.setAttribute('role', 'button');
1215
1233
  element.appendChild(nav);
1216
1234
  };
1217
1235
  Toolbar.prototype.tbarPriRef = function (inEle, indx, sepPri, el, des, elWid, wid, ig) {
@@ -1285,7 +1303,6 @@ var Toolbar = /** @class */ (function (_super) {
1285
1303
  this.popObj.destroy();
1286
1304
  detach(this.popObj.element);
1287
1305
  this.popObj = null;
1288
- ele.setAttribute('aria-haspopup', 'false');
1289
1306
  }
1290
1307
  };
1291
1308
  Toolbar.prototype.ignoreEleFetch = function (index, innerEle) {
@@ -1364,7 +1381,7 @@ var Toolbar = /** @class */ (function (_super) {
1364
1381
  }
1365
1382
  index = this_1.tbarEle.indexOf(el);
1366
1383
  if (this_1.tbarAlign) {
1367
- var pos = this_1.items[index].align;
1384
+ var pos = this_1.items[parseInt(index.toString(), 10)].align;
1368
1385
  index = this_1.tbarAlgEle[(pos + 's').toLowerCase()].indexOf(el);
1369
1386
  eleSplice = this_1.tbarAlgEle[(pos + 's').toLowerCase()];
1370
1387
  innerEle = this_1.element.querySelector('.' + CLS_ITEMS + ' .' + 'e-toolbar-' + pos.toLowerCase());
@@ -1560,12 +1577,12 @@ var Toolbar = /** @class */ (function (_super) {
1560
1577
  var key = Object.keys(attr);
1561
1578
  var keyVal;
1562
1579
  for (var i = 0; i < key.length; i++) {
1563
- keyVal = key[i];
1580
+ keyVal = key[parseInt(i.toString(), 10)];
1564
1581
  if (keyVal === 'class') {
1565
- this.add(element, attr[keyVal]);
1582
+ this.add(element, attr["" + keyVal]);
1566
1583
  }
1567
1584
  else {
1568
- element.setAttribute(keyVal, attr[keyVal]);
1585
+ element.setAttribute(keyVal, attr["" + keyVal]);
1569
1586
  }
1570
1587
  }
1571
1588
  };
@@ -1596,14 +1613,14 @@ var Toolbar = /** @class */ (function (_super) {
1596
1613
  };
1597
1614
  if (!isNOU(len) && len >= 1) {
1598
1615
  for (var a = 0, element = [].slice.call(elements); a < len; a++) {
1599
- var itemElement = element[a];
1616
+ var itemElement = element[parseInt(a.toString(), 10)];
1600
1617
  if (typeof (itemElement) === 'number') {
1601
1618
  ele = this.getElementByIndex(itemElement);
1602
1619
  if (isNOU(ele)) {
1603
1620
  return;
1604
1621
  }
1605
1622
  else {
1606
- elements[a] = ele;
1623
+ elements[parseInt(a.toString(), 10)] = ele;
1607
1624
  }
1608
1625
  }
1609
1626
  else {
@@ -1632,8 +1649,8 @@ var Toolbar = /** @class */ (function (_super) {
1632
1649
  }
1633
1650
  };
1634
1651
  Toolbar.prototype.getElementByIndex = function (index) {
1635
- if (this.tbarEle[index]) {
1636
- return this.tbarEle[index];
1652
+ if (this.tbarEle[parseInt(index.toString(), 10)]) {
1653
+ return this.tbarEle[parseInt(index.toString(), 10)];
1637
1654
  }
1638
1655
  return null;
1639
1656
  };
@@ -1679,14 +1696,14 @@ var Toolbar = /** @class */ (function (_super) {
1679
1696
  if (!this.tbarAlign && itemAgn !== 'Left') {
1680
1697
  this.tbarItemAlign(item, itemsDiv, 1);
1681
1698
  this.tbarAlign = true;
1682
- ele = closest(innerItems[0], '.' + CLS_ITEMS).children[algIndex];
1699
+ ele = closest(innerItems[0], '.' + CLS_ITEMS).children[parseInt(algIndex.toString(), 10)];
1683
1700
  ele.appendChild(innerEle);
1684
1701
  this.tbarAlgEle[(item.align + 's').toLowerCase()].push(innerEle);
1685
1702
  this.refreshPositioning();
1686
1703
  }
1687
1704
  else if (this.tbarAlign) {
1688
- ele = closest(innerItems[0], '.' + CLS_ITEMS).children[algIndex];
1689
- ele.insertBefore(innerEle, ele.children[index]);
1705
+ ele = closest(innerItems[0], '.' + CLS_ITEMS).children[parseInt(algIndex.toString(), 10)];
1706
+ ele.insertBefore(innerEle, ele.children[parseInt(index.toString(), 10)]);
1690
1707
  this.tbarAlgEle[(item.align + 's').toLowerCase()].splice(index, 0, innerEle);
1691
1708
  this.refreshPositioning();
1692
1709
  }
@@ -1695,7 +1712,7 @@ var Toolbar = /** @class */ (function (_super) {
1695
1712
  innerItems[0].appendChild(innerEle);
1696
1713
  }
1697
1714
  else {
1698
- innerItems[0].parentNode.insertBefore(innerEle, innerItems[index]);
1715
+ innerItems[0].parentNode.insertBefore(innerEle, innerItems[parseInt(index.toString(), 10)]);
1699
1716
  }
1700
1717
  this.items.splice(index, 0, item);
1701
1718
  if (item.template) {
@@ -1745,20 +1762,20 @@ var Toolbar = /** @class */ (function (_super) {
1745
1762
  this.resize();
1746
1763
  };
1747
1764
  Toolbar.prototype.removeItemByIndex = function (index, innerItems) {
1748
- if (this.tbarEle[index] && innerItems[index]) {
1749
- var eleIdx = this.tbarEle.indexOf(innerItems[index]);
1765
+ if (this.tbarEle[parseInt(index.toString(), 10)] && innerItems[parseInt(index.toString(), 10)]) {
1766
+ var eleIdx = this.tbarEle.indexOf(innerItems[parseInt(index.toString(), 10)]);
1750
1767
  if (this.tbarAlign) {
1751
- var indexAgn = this.tbarAlgEle[(this.items[eleIdx].align + 's').toLowerCase()].indexOf(this.tbarEle[eleIdx]);
1752
- this.tbarAlgEle[(this.items[eleIdx].align + 's').toLowerCase()].splice(indexAgn, 1);
1768
+ var indexAgn = this.tbarAlgEle[(this.items[parseInt(eleIdx.toString(), 10)].align + 's').toLowerCase()].indexOf(this.tbarEle[parseInt(eleIdx.toString(), 10)]);
1769
+ this.tbarAlgEle[(this.items[parseInt(eleIdx.toString(), 10)].align + 's').toLowerCase()].splice(parseInt(indexAgn.toString(), 10), 1);
1753
1770
  }
1754
1771
  if (this.isReact) {
1755
1772
  this.clearTemplate();
1756
1773
  }
1757
- var btnItem = innerItems[index].querySelector('.e-control.e-btn');
1774
+ var btnItem = innerItems[parseInt(index.toString(), 10)].querySelector('.e-control.e-btn');
1758
1775
  if (!isNOU(btnItem) && !isNOU(btnItem.ej2_instances[0]) && !(btnItem.ej2_instances[0].isDestroyed)) {
1759
1776
  btnItem.ej2_instances[0].destroy();
1760
1777
  }
1761
- detach(innerItems[index]);
1778
+ detach(innerItems[parseInt(index.toString(), 10)]);
1762
1779
  this.items.splice(eleIdx, 1);
1763
1780
  this.tbarEle.splice(eleIdx, 1);
1764
1781
  }
@@ -1891,7 +1908,8 @@ var Toolbar = /** @class */ (function (_super) {
1891
1908
  switch (item.type) {
1892
1909
  case 'Button':
1893
1910
  dom = this.buttonRendering(item, innerEle);
1894
- dom.setAttribute('tabindex', '-1');
1911
+ dom.setAttribute('tabindex', isNOU(item.tabIndex) ? '-1' : item.tabIndex.toString());
1912
+ dom.setAttribute('data-tabindex', isNOU(item.tabIndex) ? '-1' : item.tabIndex.toString());
1895
1913
  dom.setAttribute('aria-label', (item.text || item.tooltipText));
1896
1914
  innerEle.appendChild(dom);
1897
1915
  innerEle.addEventListener('click', this.itemClick.bind(this));
@@ -1934,6 +1952,9 @@ var Toolbar = /** @class */ (function (_super) {
1934
1952
  }
1935
1953
  return innerEle;
1936
1954
  };
1955
+ Toolbar.prototype.getDataTabindex = function (ele) {
1956
+ return isNOU(ele.getAttribute('data-tabindex')) ? '-1' : ele.getAttribute('data-tabindex');
1957
+ };
1937
1958
  Toolbar.prototype.itemClick = function (e) {
1938
1959
  this.activeEleSwitch(e.currentTarget);
1939
1960
  };
@@ -1943,14 +1964,17 @@ var Toolbar = /** @class */ (function (_super) {
1943
1964
  };
1944
1965
  Toolbar.prototype.activeEleRemove = function (curEle) {
1945
1966
  if (!isNOU(this.activeEle)) {
1946
- this.activeEle.setAttribute('tabindex', '-1');
1967
+ this.activeEle.setAttribute('tabindex', this.getDataTabindex(this.activeEle));
1947
1968
  }
1948
1969
  this.activeEle = curEle;
1949
- if (isNOU(this.trgtEle) && !curEle.parentElement.classList.contains(CLS_TEMPLATE)) {
1950
- curEle.removeAttribute('tabindex');
1951
- }
1952
- else {
1953
- this.activeEle.setAttribute('tabindex', '0');
1970
+ if (this.getDataTabindex(this.activeEle) === '-1') {
1971
+ if (isNOU(this.trgtEle) && !curEle.parentElement.classList.contains(CLS_TEMPLATE)) {
1972
+ this.updateTabIndex('-1');
1973
+ curEle.removeAttribute('tabindex');
1974
+ }
1975
+ else {
1976
+ this.activeEle.setAttribute('tabindex', this.getDataTabindex(this.activeEle));
1977
+ }
1954
1978
  }
1955
1979
  };
1956
1980
  Toolbar.prototype.getPersistData = function () {
@@ -2032,6 +2056,26 @@ var Toolbar = /** @class */ (function (_super) {
2032
2056
  this.isExtendedOpen = sib.classList.contains(CLS_POPUPOPEN);
2033
2057
  }
2034
2058
  };
2059
+ Toolbar.prototype.updateHideEleTabIndex = function (ele, isHidden, isElement, eleIndex, innerItems) {
2060
+ if (isElement) {
2061
+ eleIndex = innerItems.indexOf(ele);
2062
+ }
2063
+ var nextEle = innerItems[++eleIndex];
2064
+ while (nextEle) {
2065
+ var skipEle = this.eleContains(nextEle);
2066
+ if (!skipEle) {
2067
+ var dataTabIndex = nextEle.firstElementChild.getAttribute('data-tabindex');
2068
+ if (isHidden && dataTabIndex === '-1') {
2069
+ nextEle.firstElementChild.setAttribute('tabindex', '0');
2070
+ }
2071
+ else if (dataTabIndex !== nextEle.firstElementChild.getAttribute('tabindex')) {
2072
+ nextEle.firstElementChild.setAttribute('tabindex', dataTabIndex);
2073
+ }
2074
+ break;
2075
+ }
2076
+ nextEle = innerItems[++eleIndex];
2077
+ }
2078
+ };
2035
2079
  /**
2036
2080
  * Gets called when the model property changes.The data that describes the old and new values of the property that changed.
2037
2081
  *
@@ -2051,9 +2095,9 @@ var Toolbar = /** @class */ (function (_super) {
2051
2095
  if (!(newProp.items instanceof Array && oldProp.items instanceof Array)) {
2052
2096
  var changedProb = Object.keys(newProp.items);
2053
2097
  for (var i = 0; i < changedProb.length; i++) {
2054
- var index = parseInt(Object.keys(newProp.items)[i], 10);
2055
- var property = Object.keys(newProp.items[index])[0];
2056
- var newProperty = Object(newProp.items[index])[property];
2098
+ var index = parseInt(Object.keys(newProp.items)[parseInt(i.toString(), 10)], 10);
2099
+ var property = Object.keys(newProp.items[parseInt(index.toString(), 10)])[0];
2100
+ var newProperty = Object(newProp.items[parseInt(index.toString(), 10)])["" + property];
2057
2101
  if (typeof newProperty !== 'function') {
2058
2102
  if (this.tbarAlign || property === 'align') {
2059
2103
  this.refresh();
@@ -2062,7 +2106,7 @@ var Toolbar = /** @class */ (function (_super) {
2062
2106
  }
2063
2107
  var popupPriCheck = property === 'showAlwaysInPopup' && !newProperty;
2064
2108
  var booleanCheck = property === 'overflow' && this.popupPriCount !== 0;
2065
- if ((popupPriCheck) || (this.items[index].showAlwaysInPopup) && booleanCheck) {
2109
+ if ((popupPriCheck) || (this.items[parseInt(index.toString(), 10)].showAlwaysInPopup) && booleanCheck) {
2066
2110
  --this.popupPriCount;
2067
2111
  }
2068
2112
  if (isNOU(this.scrollModule)) {
@@ -2072,11 +2116,11 @@ var Toolbar = /** @class */ (function (_super) {
2072
2116
  if (this.isReact) {
2073
2117
  this.clearTemplate();
2074
2118
  }
2075
- detach(itemCol[index]);
2119
+ detach(itemCol[parseInt(index.toString(), 10)]);
2076
2120
  this.tbarEle.splice(index, 1);
2077
- this.addItems([this.items[index]], index);
2121
+ this.addItems([this.items[parseInt(index.toString(), 10)]], index);
2078
2122
  this.items.splice(index, 1);
2079
- if (this.items[index].template) {
2123
+ if (this.items[parseInt(index.toString(), 10)].template) {
2080
2124
  this.tbarEle.splice(this.items.length, 1);
2081
2125
  }
2082
2126
  }
@@ -2168,67 +2212,32 @@ var Toolbar = /** @class */ (function (_super) {
2168
2212
  Toolbar.prototype.hideItem = function (index, value) {
2169
2213
  var isElement = (typeof (index) === 'object') ? true : false;
2170
2214
  var eleIndex = index;
2171
- var initIndex;
2172
2215
  var ele;
2216
+ if (!isElement && isNOU(eleIndex)) {
2217
+ return;
2218
+ }
2173
2219
  var innerItems = [].slice.call(selectAll('.' + CLS_ITEM, this.element));
2174
2220
  if (isElement) {
2175
2221
  ele = index;
2176
2222
  }
2177
- else if (this.tbarEle[eleIndex]) {
2223
+ else if (this.tbarEle[parseInt(eleIndex.toString(), 10)]) {
2178
2224
  var innerItems_1 = [].slice.call(selectAll('.' + CLS_ITEM, this.element));
2179
- ele = innerItems_1[eleIndex];
2225
+ ele = innerItems_1[parseInt(eleIndex.toString(), 10)];
2180
2226
  }
2181
2227
  if (ele) {
2182
2228
  if (value) {
2183
2229
  ele.classList.add(CLS_HIDDEN);
2184
- }
2185
- else {
2186
- ele.classList.remove(CLS_HIDDEN);
2187
- }
2188
- if (value && isNOU(this.element.getAttribute('tabindex')) && !ele.classList.contains(CLS_SEPARATOR)) {
2189
- if (isNOU(ele.firstElementChild.getAttribute('tabindex'))) {
2190
- ele.firstElementChild.setAttribute('tabindex', '-1');
2191
- var innerItems_2 = [].slice.call(selectAll('.' + CLS_ITEM, this.element));
2192
- if (isElement) {
2193
- eleIndex = innerItems_2.indexOf(ele);
2194
- }
2195
- var nextEle = innerItems_2[++eleIndex];
2196
- while (nextEle) {
2197
- var skipEle = this.eleContains(nextEle);
2198
- if (!skipEle) {
2199
- nextEle.firstElementChild.removeAttribute('tabindex');
2200
- break;
2201
- }
2202
- nextEle = innerItems_2[++eleIndex];
2230
+ if (!ele.classList.contains(CLS_SEPARATOR)) {
2231
+ if (isNOU(ele.firstElementChild.getAttribute('tabindex')) ||
2232
+ ele.firstElementChild.getAttribute('tabindex') !== '-1') {
2233
+ this.updateHideEleTabIndex(ele, value, isElement, eleIndex, innerItems);
2203
2234
  }
2204
2235
  }
2205
2236
  }
2206
- else if (isNOU(this.element.getAttribute('tabindex')) && !ele.classList.contains(CLS_SEPARATOR)) {
2207
- initIndex = 0;
2208
- var setFlag = false;
2209
- var removeFlag = false;
2210
- var initELe = innerItems[initIndex];
2211
- while (initELe) {
2212
- if (!initELe.classList.contains(CLS_SEPARATOR)) {
2213
- if (isNOU(initELe.firstElementChild.getAttribute('tabindex'))) {
2214
- initELe.firstElementChild.setAttribute('tabindex', '-1');
2215
- setFlag = true;
2216
- }
2217
- else {
2218
- if (setFlag && removeFlag) {
2219
- break;
2220
- }
2221
- var skipEle = this.eleContains(initELe);
2222
- if (!skipEle) {
2223
- initELe.firstElementChild.removeAttribute('tabindex');
2224
- removeFlag = true;
2225
- }
2226
- initELe = innerItems[++initIndex];
2227
- }
2228
- }
2229
- else {
2230
- initELe = innerItems[++initIndex];
2231
- }
2237
+ else {
2238
+ ele.classList.remove(CLS_HIDDEN);
2239
+ if (!ele.classList.contains(CLS_SEPARATOR)) {
2240
+ this.updateHideEleTabIndex(ele, value, isElement, eleIndex, innerItems);
2232
2241
  }
2233
2242
  }
2234
2243
  this.refreshOverflow();