@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
@@ -1273,6 +1273,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
1273
1273
  this.wireEvents();
1274
1274
  this.renderComplete();
1275
1275
  var wrapper = this.getWrapper();
1276
+ // eslint-disable-next-line
1276
1277
  if (this.template && this.enableScrolling && (this.isReact || this.isAngular)) {
1277
1278
  requestAnimationFrame(function () {
1278
1279
  addScrolling(_this.createElement, wrapper, _this.element, 'hscroll', _this.enableRtl);
@@ -1490,6 +1491,14 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
1490
1491
  if (fliIdx === (e.action === DOWNARROW ? cul.childElementCount : -1)) {
1491
1492
  fliIdx = defaultIdx;
1492
1493
  }
1494
+ if (cul.children[fliIdx].classList.contains(HIDE)) {
1495
+ if (e.action === DOWNARROW && fliIdx === cul.childElementCount - 1) {
1496
+ fliIdx = defaultIdx;
1497
+ }
1498
+ else if (e.action === UPARROW && fliIdx === 0) {
1499
+ fliIdx = defaultIdx;
1500
+ }
1501
+ }
1493
1502
  }
1494
1503
  }
1495
1504
  var cli = cul.children[fliIdx];
@@ -1659,6 +1668,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
1659
1668
  _this.isCMenu = false;
1660
1669
  }
1661
1670
  if (_this.isMenu && trgtpopUp && popupId.length) {
1671
+ // eslint-disable-next-line
1662
1672
  trgtliId = new RegExp('(.*)-ej2menu-' + _this.element.id + '-popup').exec(popupId)[1];
1663
1673
  closedLi = trgtpopUp.querySelector('[id="' + trgtliId + '"]');
1664
1674
  trgtLi = (liElem_1 && trgtpopUp.querySelector('[id="' + liElem_1.id + '"]'));
@@ -1667,7 +1677,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
1667
1677
  if (isOpen && _this.hamburgerMode && ulIndex && !(submenus.length)) {
1668
1678
  _this.afterCloseMenu(e);
1669
1679
  }
1670
- else if (isOpen && !_this.hamburgerMode && _this.navIdx.length && closedLi && !trgtLi && _this.keyType !== "left") {
1680
+ else if (isOpen && !_this.hamburgerMode && _this.navIdx.length && closedLi && !trgtLi && _this.keyType !== 'left') {
1671
1681
  var ele = (e && e.target.classList.contains('e-vscroll'))
1672
1682
  ? closest(e.target, '.e-menu-wrapper') : null;
1673
1683
  if (ele) {
@@ -1708,7 +1718,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
1708
1718
  if (sli_1) {
1709
1719
  sli_1.setAttribute('aria-expanded', 'false');
1710
1720
  sli_1.classList.remove(SELECTED);
1711
- if (observedCloseArgs.isFocused && liElem_1 || _this.keyType === "left") {
1721
+ if (observedCloseArgs.isFocused && liElem_1 || _this.keyType === 'left') {
1712
1722
  sli_1.classList.add(FOCUSED);
1713
1723
  sli_1.focus();
1714
1724
  }
@@ -1981,6 +1991,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
1981
1991
  _this.isNestedOrVertical ? _this.left - _this.popupWrapper.offsetWidth - _this.lItem.parentElement.offsetWidth + 2
1982
1992
  : _this.left - _this.popupWrapper.offsetWidth + _this.lItem.offsetWidth;
1983
1993
  }
1994
+ // eslint-disable-next-line
1984
1995
  if (_this.template && (_this.isReact || _this.isAngular)) {
1985
1996
  requestAnimationFrame(function () {
1986
1997
  _this.collision();
@@ -2212,7 +2223,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
2212
2223
  itemCreated: function (args) {
2213
2224
  if (args.curData[_this.getField('separator', level)]) {
2214
2225
  args.item.classList.add(SEPARATOR);
2215
- args.item.removeAttribute('role');
2226
+ args.item.setAttribute('role', 'separator');
2216
2227
  }
2217
2228
  if (showIcon && !args.curData[args.fields.iconCss]
2218
2229
  && !args.curData[_this.getField('separator', level)]) {
@@ -2224,9 +2235,6 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
2224
2235
  args.item.appendChild(span);
2225
2236
  args.item.setAttribute('aria-haspopup', 'true');
2226
2237
  args.item.setAttribute('aria-expanded', 'false');
2227
- if (!_this.isMenu) {
2228
- args.item.removeAttribute('role');
2229
- }
2230
2238
  args.item.classList.add('e-menu-caret-icon');
2231
2239
  }
2232
2240
  if (_this.isMenu && _this.template) {
@@ -2238,6 +2246,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
2238
2246
  if (args.item.classList.contains('e-has-child')) {
2239
2247
  args.item.classList.remove('e-has-child');
2240
2248
  }
2249
+ args.item.removeAttribute('aria-level');
2241
2250
  }
2242
2251
  var eventArgs = { item: args.curData, element: args.item };
2243
2252
  _this.trigger('beforeItemRender', eventArgs);
@@ -2249,9 +2258,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
2249
2258
  }
2250
2259
  var ul = ListBase.createList(this.createElement, items, listBaseOptions, !this.template, this);
2251
2260
  ul.setAttribute('tabindex', '0');
2252
- if (this.isMenu) {
2253
- ul.setAttribute('role', 'menu');
2254
- }
2261
+ this.isMenu ? ul.setAttribute('role', 'menu') : ul.setAttribute('role', 'menubar');
2255
2262
  return ul;
2256
2263
  };
2257
2264
  MenuBase.prototype.moverHandler = function (e) {
@@ -2337,7 +2344,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
2337
2344
  };
2338
2345
  MenuBase.prototype.getField = function (propName, level) {
2339
2346
  if (level === void 0) { level = 0; }
2340
- var fieldName = this.fields[propName];
2347
+ var fieldName = this.fields["" + propName];
2341
2348
  return typeof fieldName === 'string' ? fieldName :
2342
2349
  (!fieldName[level] ? fieldName[fieldName.length - 1].toString()
2343
2350
  : fieldName[level].toString());
@@ -2355,7 +2362,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
2355
2362
  };
2356
2363
  MenuBase.prototype.hasField = function (items, field) {
2357
2364
  for (var i = 0, len = items.length; i < len; i++) {
2358
- if (items[i][field]) {
2365
+ if (items[i]["" + field]) {
2359
2366
  return true;
2360
2367
  }
2361
2368
  }
@@ -2896,7 +2903,7 @@ var MenuBase = /** @__PURE__ @class */ (function (_super) {
2896
2903
  else {
2897
2904
  var ele = this.getWrapper().children[this.getIdx(this.getWrapper(), ul) - 1];
2898
2905
  if (this.currentTarget) {
2899
- if (!(this.currentTarget.classList.contains("e-numerictextbox") || this.currentTarget.classList.contains("e-textbox") || this.currentTarget.tagName === 'INPUT')) {
2906
+ if (!(this.currentTarget.classList.contains('e-numerictextbox') || this.currentTarget.classList.contains('e-textbox') || this.currentTarget.tagName === 'INPUT')) {
2900
2907
  if (ele) {
2901
2908
  ele.querySelector('.' + SELECTED).focus();
2902
2909
  }
@@ -3433,6 +3440,9 @@ var Item = /** @__PURE__ @class */ (function (_super) {
3433
3440
  __decorate$3([
3434
3441
  Event()
3435
3442
  ], Item.prototype, "click", void 0);
3443
+ __decorate$3([
3444
+ Property(-1)
3445
+ ], Item.prototype, "tabIndex", void 0);
3436
3446
  return Item;
3437
3447
  }(ChildProperty));
3438
3448
  /**
@@ -3518,7 +3528,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
3518
3528
  removeClass([this.element], this.cssClass.split(' '));
3519
3529
  }
3520
3530
  this.element.removeAttribute('style');
3521
- ['aria-disabled', 'aria-orientation', 'aria-haspopup', 'role'].forEach(function (attrb) {
3531
+ ['aria-disabled', 'aria-orientation', 'role'].forEach(function (attrb) {
3522
3532
  return _this.element.removeAttribute(attrb);
3523
3533
  });
3524
3534
  _super.prototype.destroy.call(this);
@@ -3558,7 +3568,16 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
3558
3568
  keyConfigs: this.keyConfigs
3559
3569
  });
3560
3570
  EventHandler.add(this.element, 'keydown', this.docKeyDown, this);
3561
- this.element.setAttribute('tabIndex', '0');
3571
+ this.updateTabIndex('0');
3572
+ };
3573
+ Toolbar.prototype.updateTabIndex = function (tabIndex) {
3574
+ var ele = this.element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_DISABLE$2 + ' ):not(.' + CLS_SEPARATOR + ' ):not(.' + CLS_HIDDEN + ' )');
3575
+ if (!isNullOrUndefined(ele) && !isNullOrUndefined(ele.firstElementChild)) {
3576
+ var dataTabIndex = ele.firstElementChild.getAttribute('data-tabindex');
3577
+ if (dataTabIndex && dataTabIndex === '-1' && ele.firstElementChild.tagName !== 'INPUT') {
3578
+ ele.firstElementChild.setAttribute('tabindex', tabIndex);
3579
+ }
3580
+ }
3562
3581
  };
3563
3582
  Toolbar.prototype.unwireKeyboardEvent = function () {
3564
3583
  if (this.keyModule) {
@@ -3762,7 +3781,6 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
3762
3781
  this.activeEleRemove(ele_1);
3763
3782
  ele_1.focus();
3764
3783
  }
3765
- this.element.removeAttribute('tabindex');
3766
3784
  }
3767
3785
  }
3768
3786
  break;
@@ -3813,9 +3831,8 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
3813
3831
  else {
3814
3832
  rootEle.classList.remove(CLS_DISABLE$2);
3815
3833
  }
3816
- rootEle.setAttribute('tabindex', !value ? '0' : '-1');
3817
3834
  if (this.activeEle) {
3818
- this.activeEle.setAttribute('tabindex', !value ? '0' : '-1');
3835
+ this.activeEle.setAttribute('tabindex', this.activeEle.getAttribute('data-tabindex'));
3819
3836
  }
3820
3837
  if (this.scrollModule) {
3821
3838
  this.scrollModule.disable(value);
@@ -3952,7 +3969,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
3952
3969
  }
3953
3970
  setStyleAttribute(this.element, { 'width': width });
3954
3971
  var ariaAttr = {
3955
- 'role': 'toolbar', 'aria-disabled': 'false', 'aria-haspopup': 'false',
3972
+ 'role': 'toolbar', 'aria-disabled': 'false',
3956
3973
  'aria-orientation': !this.isVertical ? 'horizontal' : 'vertical'
3957
3974
  };
3958
3975
  attributes(this.element, ariaAttr);
@@ -3984,17 +4001,17 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
3984
4001
  this.tbarEle = [];
3985
4002
  }
3986
4003
  for (var i = 0; i < items.length; i++) {
3987
- innerItem = this.renderSubComponent(items[i], i);
4004
+ innerItem = this.renderSubComponent(items[parseInt(i.toString(), 10)], i);
3988
4005
  if (this.tbarEle.indexOf(innerItem) === -1) {
3989
4006
  this.tbarEle.push(innerItem);
3990
4007
  }
3991
4008
  if (!this.tbarAlign) {
3992
- this.tbarItemAlign(items[i], itemEleDom, i);
4009
+ this.tbarItemAlign(items[parseInt(i.toString(), 10)], itemEleDom, i);
3993
4010
  }
3994
- innerPos = itemEleDom.querySelector('.e-toolbar-' + items[i].align.toLowerCase());
4011
+ innerPos = itemEleDom.querySelector('.e-toolbar-' + items[parseInt(i.toString(), 10)].align.toLowerCase());
3995
4012
  if (innerPos) {
3996
- if (!(items[i].showAlwaysInPopup && items[i].overflow !== 'Show')) {
3997
- this.tbarAlgEle[(items[i].align + 's').toLowerCase()].push(innerItem);
4013
+ if (!(items[parseInt(i.toString(), 10)].showAlwaysInPopup && items[parseInt(i.toString(), 10)].overflow !== 'Show')) {
4014
+ this.tbarAlgEle[(items[parseInt(i.toString(), 10)].align + 's').toLowerCase()].push(innerItem);
3998
4015
  }
3999
4016
  innerPos.appendChild(innerItem);
4000
4017
  }
@@ -4004,7 +4021,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4004
4021
  }
4005
4022
  if (this.isReact) {
4006
4023
  var portals = 'portals';
4007
- this.notify('render-react-toolbar-template', this[portals]);
4024
+ this.notify('render-react-toolbar-template', this["" + portals]);
4008
4025
  this.renderReactTemplates();
4009
4026
  }
4010
4027
  };
@@ -4161,8 +4178,11 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4161
4178
  };
4162
4179
  Toolbar.prototype.setOverflowAttributes = function (ele) {
4163
4180
  this.createPopupEle(ele, [].slice.call(selectAll('.' + CLS_ITEMS + ' .' + CLS_ITEM, ele)));
4164
- this.element.querySelector('.' + CLS_TBARNAV).setAttribute('tabIndex', '0');
4165
- this.element.querySelector('.' + CLS_TBARNAV).setAttribute('role', 'list');
4181
+ var ariaAttr = {
4182
+ 'tabindex': '0', 'role': 'button', 'aria-haspopup': 'true',
4183
+ 'aria-label': 'overflow'
4184
+ };
4185
+ attributes(this.element.querySelector('.' + CLS_TBARNAV), ariaAttr);
4166
4186
  };
4167
4187
  Toolbar.prototype.separator = function () {
4168
4188
  var element = this.element;
@@ -4179,12 +4199,12 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4179
4199
  }
4180
4200
  }
4181
4201
  for (var i = 0; i <= eleItem.length - 1; i++) {
4182
- if (eleItem[i].offsetLeft < 30 && eleItem[i].offsetLeft !== 0) {
4202
+ if (eleItem[parseInt(i.toString(), 10)].offsetLeft < 30 && eleItem[parseInt(i.toString(), 10)].offsetLeft !== 0) {
4183
4203
  if (this.overflowMode === 'MultiRow') {
4184
- eleItem[i].classList.add(CLS_MULTIROW_SEPARATOR);
4204
+ eleItem[parseInt(i.toString(), 10)].classList.add(CLS_MULTIROW_SEPARATOR);
4185
4205
  }
4186
4206
  else if (this.overflowMode === 'Extended') {
4187
- eleItem[i].classList.add(CLS_EXTENDABLE_SEPARATOR);
4207
+ eleItem[parseInt(i.toString(), 10)].classList.add(CLS_EXTENDABLE_SEPARATOR);
4188
4208
  }
4189
4209
  }
4190
4210
  }
@@ -4217,7 +4237,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4217
4237
  nodes = selectAll('.' + CLS_TBAROVERFLOW, ele);
4218
4238
  if (el.classList.contains(CLS_TBAROVERFLOW) && nodes.length > 0) {
4219
4239
  if (tbarObj.tbResize && nodes.length > index) {
4220
- ele.insertBefore(el, nodes[index]);
4240
+ ele.insertBefore(el, nodes[parseInt(index.toString(), 10)]);
4221
4241
  ++nodePri;
4222
4242
  }
4223
4243
  else {
@@ -4255,7 +4275,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4255
4275
  });
4256
4276
  var tbarEle = selectAll('.' + CLS_ITEM, element.querySelector('.' + CLS_ITEMS));
4257
4277
  for (var i = tbarEle.length - 1; i >= 0; i--) {
4258
- var tbarElement = tbarEle[i];
4278
+ var tbarElement = tbarEle[parseInt(i.toString(), 10)];
4259
4279
  if (tbarElement.classList.contains(CLS_SEPARATOR) && this.overflowMode !== 'Extended') {
4260
4280
  setStyleAttribute(tbarElement, { display: 'none' });
4261
4281
  }
@@ -4310,11 +4330,11 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4310
4330
  collision: { Y: this.enableCollision ? 'flip' : 'none' },
4311
4331
  position: this.enableRtl ? { X: 'left', Y: 'top' } : { X: 'right', Y: 'top' }
4312
4332
  });
4313
- popup.appendTo(ele);
4314
4333
  if (this.overflowMode === 'Extended') {
4315
4334
  popup.width = parseFloat(eleStyles.width) + ((parseFloat(eleStyles.borderRightWidth)) * 2);
4316
4335
  popup.offsetX = 0;
4317
4336
  }
4337
+ popup.appendTo(ele);
4318
4338
  EventHandler.add(document, 'scroll', this.docEvent.bind(this));
4319
4339
  EventHandler.add(document, 'click ', this.docEvent.bind(this));
4320
4340
  popup.element.style.maxHeight = popup.element.offsetHeight + 'px';
@@ -4331,7 +4351,6 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4331
4351
  popup.hide();
4332
4352
  }
4333
4353
  this.popObj = popup;
4334
- this.element.setAttribute('aria-haspopup', 'true');
4335
4354
  }
4336
4355
  else {
4337
4356
  var popupEle = this.popObj.element;
@@ -4359,6 +4378,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4359
4378
  var popupEle = this.popObj.element;
4360
4379
  var toolEle = this.popObj.element.parentElement;
4361
4380
  var popupNav = toolEle.querySelector('.' + CLS_TBARNAV);
4381
+ popupNav.setAttribute('aria-expanded', 'true');
4362
4382
  setStyleAttribute(popObj.element, { height: 'auto', maxHeight: '' });
4363
4383
  popObj.element.style.maxHeight = popObj.element.offsetHeight + 'px';
4364
4384
  if (this.overflowMode === 'Extended') {
@@ -4374,7 +4394,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4374
4394
  var overflowHeight = (popupEle.offsetHeight - ((popupElePos - window.innerHeight - scrollVal) + 5));
4375
4395
  popObj.height = overflowHeight + 'px';
4376
4396
  for (var i = 0; i <= popupEle.childElementCount; i++) {
4377
- var ele = popupEle.children[i];
4397
+ var ele = popupEle.children[parseInt(i.toString(), 10)];
4378
4398
  if (ele.offsetTop + ele.offsetHeight > overflowHeight) {
4379
4399
  overflowHeight = ele.offsetTop;
4380
4400
  break;
@@ -4399,6 +4419,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4399
4419
  Toolbar.prototype.popupClose = function (e) {
4400
4420
  var element = this.element;
4401
4421
  var popupNav = element.querySelector('.' + CLS_TBARNAV);
4422
+ popupNav.setAttribute('aria-expanded', 'false');
4402
4423
  var popIcon = popupNav.firstElementChild;
4403
4424
  popupNav.classList.remove(CLS_TBARNAVACT);
4404
4425
  classList(popIcon, [CLS_POPUPDOWN], [CLS_POPUPICON]);
@@ -4424,7 +4445,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4424
4445
  };
4425
4446
  for (var i = len - 1; i >= 0; i--) {
4426
4447
  var mrgn = void 0;
4427
- var compuStyle = window.getComputedStyle(inEle[i]);
4448
+ var compuStyle = window.getComputedStyle(inEle[parseInt(i.toString(), 10)]);
4428
4449
  if (this.isVertical) {
4429
4450
  mrgn = parseFloat((compuStyle).marginTop);
4430
4451
  mrgn += parseFloat((compuStyle).marginBottom);
@@ -4433,35 +4454,37 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4433
4454
  mrgn = parseFloat((compuStyle).marginRight);
4434
4455
  mrgn += parseFloat((compuStyle).marginLeft);
4435
4456
  }
4436
- var fstEleCheck = inEle[i] === this.tbarEle[0];
4457
+ var fstEleCheck = inEle[parseInt(i.toString(), 10)] === this.tbarEle[0];
4437
4458
  if (fstEleCheck) {
4438
4459
  this.tbarEleMrgn = mrgn;
4439
4460
  }
4440
- eleOffset = this.isVertical ? inEle[i].offsetHeight : inEle[i].offsetWidth;
4461
+ eleOffset = this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight : inEle[parseInt(i.toString(), 10)].offsetWidth;
4441
4462
  var eleWid_1 = fstEleCheck ? (eleOffset + mrgn) : eleOffset;
4442
- if (checkClass(inEle[i], [CLS_POPPRI]) && popPriority) {
4443
- inEle[i].classList.add(CLS_POPUP);
4463
+ if (checkClass(inEle[parseInt(i.toString(), 10)], [CLS_POPPRI]) && popPriority) {
4464
+ inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);
4444
4465
  if (this.isVertical) {
4445
- setStyleAttribute(inEle[i], { display: 'none', minHeight: eleWid_1 + 'px' });
4466
+ setStyleAttribute(inEle[parseInt(i.toString(), 10)], { display: 'none', minHeight: eleWid_1 + 'px' });
4446
4467
  }
4447
4468
  else {
4448
- setStyleAttribute(inEle[i], { display: 'none', minWidth: eleWid_1 + 'px' });
4469
+ setStyleAttribute(inEle[parseInt(i.toString(), 10)], { display: 'none', minWidth: eleWid_1 + 'px' });
4449
4470
  }
4450
4471
  itemPopCount++;
4451
4472
  }
4452
4473
  if (this.isVertical) {
4453
- checkoffset = (inEle[i].offsetTop + inEle[i].offsetHeight + mrgn) > eleWidth;
4474
+ checkoffset =
4475
+ (inEle[parseInt(i.toString(), 10)].offsetTop + inEle[parseInt(i.toString(), 10)].offsetHeight + mrgn) > eleWidth;
4454
4476
  }
4455
4477
  else {
4456
- checkoffset = (inEle[i].offsetLeft + inEle[i].offsetWidth + mrgn) > eleWidth;
4478
+ checkoffset =
4479
+ (inEle[parseInt(i.toString(), 10)].offsetLeft + inEle[parseInt(i.toString(), 10)].offsetWidth + mrgn) > eleWidth;
4457
4480
  }
4458
4481
  if (checkoffset) {
4459
- if (inEle[i].classList.contains(CLS_SEPARATOR)) {
4482
+ if (inEle[parseInt(i.toString(), 10)].classList.contains(CLS_SEPARATOR)) {
4460
4483
  if (this.overflowMode === 'Extended') {
4461
4484
  if (itemCount === itemPopCount) {
4462
- var sepEle = inEle[i];
4485
+ var sepEle = inEle[parseInt(i.toString(), 10)];
4463
4486
  if (checkClass(sepEle, [CLS_SEPARATOR, CLS_TBARIGNORE])) {
4464
- inEle[i].classList.add(CLS_POPUP);
4487
+ inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);
4465
4488
  itemPopCount++;
4466
4489
  }
4467
4490
  }
@@ -4482,21 +4505,23 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4482
4505
  else {
4483
4506
  itemCount++;
4484
4507
  }
4485
- if (inEle[i].classList.contains(CLS_TBAROVERFLOW) && pre) {
4486
- eleWidth -= ((this.isVertical ? inEle[i].offsetHeight : inEle[i].offsetWidth) + (mrgn));
4508
+ if (inEle[parseInt(i.toString(), 10)].classList.contains(CLS_TBAROVERFLOW) && pre) {
4509
+ eleWidth -= ((this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight :
4510
+ inEle[parseInt(i.toString(), 10)].offsetWidth) + (mrgn));
4487
4511
  }
4488
- else if (!checkClass(inEle[i], [CLS_SEPARATOR, CLS_TBARIGNORE])) {
4489
- inEle[i].classList.add(CLS_POPUP);
4512
+ else if (!checkClass(inEle[parseInt(i.toString(), 10)], [CLS_SEPARATOR, CLS_TBARIGNORE])) {
4513
+ inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);
4490
4514
  if (this.isVertical) {
4491
- setStyleAttribute(inEle[i], { display: 'none', minHeight: eleWid_1 + 'px' });
4515
+ setStyleAttribute(inEle[parseInt(i.toString(), 10)], { display: 'none', minHeight: eleWid_1 + 'px' });
4492
4516
  }
4493
4517
  else {
4494
- setStyleAttribute(inEle[i], { display: 'none', minWidth: eleWid_1 + 'px' });
4518
+ setStyleAttribute(inEle[parseInt(i.toString(), 10)], { display: 'none', minWidth: eleWid_1 + 'px' });
4495
4519
  }
4496
4520
  itemPopCount++;
4497
4521
  }
4498
4522
  else {
4499
- eleWidth -= ((this.isVertical ? inEle[i].offsetHeight : inEle[i].offsetWidth) + (mrgn));
4523
+ eleWidth -= ((this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight :
4524
+ inEle[parseInt(i.toString(), 10)].offsetWidth) + (mrgn));
4500
4525
  }
4501
4526
  }
4502
4527
  }
@@ -4516,7 +4541,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4516
4541
  var navItem = this.createElement('div', { className: CLS_POPUPDOWN + ' e-icons' });
4517
4542
  nav.appendChild(navItem);
4518
4543
  nav.setAttribute('tabindex', '0');
4519
- nav.setAttribute('role', 'list');
4544
+ nav.setAttribute('role', 'button');
4520
4545
  element.appendChild(nav);
4521
4546
  };
4522
4547
  Toolbar.prototype.tbarPriRef = function (inEle, indx, sepPri, el, des, elWid, wid, ig) {
@@ -4590,7 +4615,6 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4590
4615
  this.popObj.destroy();
4591
4616
  detach(this.popObj.element);
4592
4617
  this.popObj = null;
4593
- ele.setAttribute('aria-haspopup', 'false');
4594
4618
  }
4595
4619
  };
4596
4620
  Toolbar.prototype.ignoreEleFetch = function (index, innerEle) {
@@ -4669,7 +4693,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4669
4693
  }
4670
4694
  index = this_1.tbarEle.indexOf(el);
4671
4695
  if (this_1.tbarAlign) {
4672
- var pos = this_1.items[index].align;
4696
+ var pos = this_1.items[parseInt(index.toString(), 10)].align;
4673
4697
  index = this_1.tbarAlgEle[(pos + 's').toLowerCase()].indexOf(el);
4674
4698
  eleSplice = this_1.tbarAlgEle[(pos + 's').toLowerCase()];
4675
4699
  innerEle = this_1.element.querySelector('.' + CLS_ITEMS + ' .' + 'e-toolbar-' + pos.toLowerCase());
@@ -4865,12 +4889,12 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4865
4889
  var key = Object.keys(attr);
4866
4890
  var keyVal;
4867
4891
  for (var i = 0; i < key.length; i++) {
4868
- keyVal = key[i];
4892
+ keyVal = key[parseInt(i.toString(), 10)];
4869
4893
  if (keyVal === 'class') {
4870
- this.add(element, attr[keyVal]);
4894
+ this.add(element, attr["" + keyVal]);
4871
4895
  }
4872
4896
  else {
4873
- element.setAttribute(keyVal, attr[keyVal]);
4897
+ element.setAttribute(keyVal, attr["" + keyVal]);
4874
4898
  }
4875
4899
  }
4876
4900
  };
@@ -4901,14 +4925,14 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4901
4925
  };
4902
4926
  if (!isNullOrUndefined(len) && len >= 1) {
4903
4927
  for (var a = 0, element = [].slice.call(elements); a < len; a++) {
4904
- var itemElement = element[a];
4928
+ var itemElement = element[parseInt(a.toString(), 10)];
4905
4929
  if (typeof (itemElement) === 'number') {
4906
4930
  ele = this.getElementByIndex(itemElement);
4907
4931
  if (isNullOrUndefined(ele)) {
4908
4932
  return;
4909
4933
  }
4910
4934
  else {
4911
- elements[a] = ele;
4935
+ elements[parseInt(a.toString(), 10)] = ele;
4912
4936
  }
4913
4937
  }
4914
4938
  else {
@@ -4937,8 +4961,8 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4937
4961
  }
4938
4962
  };
4939
4963
  Toolbar.prototype.getElementByIndex = function (index) {
4940
- if (this.tbarEle[index]) {
4941
- return this.tbarEle[index];
4964
+ if (this.tbarEle[parseInt(index.toString(), 10)]) {
4965
+ return this.tbarEle[parseInt(index.toString(), 10)];
4942
4966
  }
4943
4967
  return null;
4944
4968
  };
@@ -4984,14 +5008,14 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
4984
5008
  if (!this.tbarAlign && itemAgn !== 'Left') {
4985
5009
  this.tbarItemAlign(item, itemsDiv, 1);
4986
5010
  this.tbarAlign = true;
4987
- ele = closest(innerItems[0], '.' + CLS_ITEMS).children[algIndex];
5011
+ ele = closest(innerItems[0], '.' + CLS_ITEMS).children[parseInt(algIndex.toString(), 10)];
4988
5012
  ele.appendChild(innerEle);
4989
5013
  this.tbarAlgEle[(item.align + 's').toLowerCase()].push(innerEle);
4990
5014
  this.refreshPositioning();
4991
5015
  }
4992
5016
  else if (this.tbarAlign) {
4993
- ele = closest(innerItems[0], '.' + CLS_ITEMS).children[algIndex];
4994
- ele.insertBefore(innerEle, ele.children[index]);
5017
+ ele = closest(innerItems[0], '.' + CLS_ITEMS).children[parseInt(algIndex.toString(), 10)];
5018
+ ele.insertBefore(innerEle, ele.children[parseInt(index.toString(), 10)]);
4995
5019
  this.tbarAlgEle[(item.align + 's').toLowerCase()].splice(index, 0, innerEle);
4996
5020
  this.refreshPositioning();
4997
5021
  }
@@ -5000,7 +5024,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
5000
5024
  innerItems[0].appendChild(innerEle);
5001
5025
  }
5002
5026
  else {
5003
- innerItems[0].parentNode.insertBefore(innerEle, innerItems[index]);
5027
+ innerItems[0].parentNode.insertBefore(innerEle, innerItems[parseInt(index.toString(), 10)]);
5004
5028
  }
5005
5029
  this.items.splice(index, 0, item);
5006
5030
  if (item.template) {
@@ -5050,20 +5074,20 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
5050
5074
  this.resize();
5051
5075
  };
5052
5076
  Toolbar.prototype.removeItemByIndex = function (index, innerItems) {
5053
- if (this.tbarEle[index] && innerItems[index]) {
5054
- var eleIdx = this.tbarEle.indexOf(innerItems[index]);
5077
+ if (this.tbarEle[parseInt(index.toString(), 10)] && innerItems[parseInt(index.toString(), 10)]) {
5078
+ var eleIdx = this.tbarEle.indexOf(innerItems[parseInt(index.toString(), 10)]);
5055
5079
  if (this.tbarAlign) {
5056
- var indexAgn = this.tbarAlgEle[(this.items[eleIdx].align + 's').toLowerCase()].indexOf(this.tbarEle[eleIdx]);
5057
- this.tbarAlgEle[(this.items[eleIdx].align + 's').toLowerCase()].splice(indexAgn, 1);
5080
+ var indexAgn = this.tbarAlgEle[(this.items[parseInt(eleIdx.toString(), 10)].align + 's').toLowerCase()].indexOf(this.tbarEle[parseInt(eleIdx.toString(), 10)]);
5081
+ this.tbarAlgEle[(this.items[parseInt(eleIdx.toString(), 10)].align + 's').toLowerCase()].splice(parseInt(indexAgn.toString(), 10), 1);
5058
5082
  }
5059
5083
  if (this.isReact) {
5060
5084
  this.clearTemplate();
5061
5085
  }
5062
- var btnItem = innerItems[index].querySelector('.e-control.e-btn');
5086
+ var btnItem = innerItems[parseInt(index.toString(), 10)].querySelector('.e-control.e-btn');
5063
5087
  if (!isNullOrUndefined(btnItem) && !isNullOrUndefined(btnItem.ej2_instances[0]) && !(btnItem.ej2_instances[0].isDestroyed)) {
5064
5088
  btnItem.ej2_instances[0].destroy();
5065
5089
  }
5066
- detach(innerItems[index]);
5090
+ detach(innerItems[parseInt(index.toString(), 10)]);
5067
5091
  this.items.splice(eleIdx, 1);
5068
5092
  this.tbarEle.splice(eleIdx, 1);
5069
5093
  }
@@ -5196,7 +5220,8 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
5196
5220
  switch (item.type) {
5197
5221
  case 'Button':
5198
5222
  dom = this.buttonRendering(item, innerEle);
5199
- dom.setAttribute('tabindex', '-1');
5223
+ dom.setAttribute('tabindex', isNullOrUndefined(item.tabIndex) ? '-1' : item.tabIndex.toString());
5224
+ dom.setAttribute('data-tabindex', isNullOrUndefined(item.tabIndex) ? '-1' : item.tabIndex.toString());
5200
5225
  dom.setAttribute('aria-label', (item.text || item.tooltipText));
5201
5226
  innerEle.appendChild(dom);
5202
5227
  innerEle.addEventListener('click', this.itemClick.bind(this));
@@ -5239,6 +5264,9 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
5239
5264
  }
5240
5265
  return innerEle;
5241
5266
  };
5267
+ Toolbar.prototype.getDataTabindex = function (ele) {
5268
+ return isNullOrUndefined(ele.getAttribute('data-tabindex')) ? '-1' : ele.getAttribute('data-tabindex');
5269
+ };
5242
5270
  Toolbar.prototype.itemClick = function (e) {
5243
5271
  this.activeEleSwitch(e.currentTarget);
5244
5272
  };
@@ -5248,14 +5276,17 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
5248
5276
  };
5249
5277
  Toolbar.prototype.activeEleRemove = function (curEle) {
5250
5278
  if (!isNullOrUndefined(this.activeEle)) {
5251
- this.activeEle.setAttribute('tabindex', '-1');
5279
+ this.activeEle.setAttribute('tabindex', this.getDataTabindex(this.activeEle));
5252
5280
  }
5253
5281
  this.activeEle = curEle;
5254
- if (isNullOrUndefined(this.trgtEle) && !curEle.parentElement.classList.contains(CLS_TEMPLATE)) {
5255
- curEle.removeAttribute('tabindex');
5256
- }
5257
- else {
5258
- this.activeEle.setAttribute('tabindex', '0');
5282
+ if (this.getDataTabindex(this.activeEle) === '-1') {
5283
+ if (isNullOrUndefined(this.trgtEle) && !curEle.parentElement.classList.contains(CLS_TEMPLATE)) {
5284
+ this.updateTabIndex('-1');
5285
+ curEle.removeAttribute('tabindex');
5286
+ }
5287
+ else {
5288
+ this.activeEle.setAttribute('tabindex', this.getDataTabindex(this.activeEle));
5289
+ }
5259
5290
  }
5260
5291
  };
5261
5292
  Toolbar.prototype.getPersistData = function () {
@@ -5337,6 +5368,26 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
5337
5368
  this.isExtendedOpen = sib.classList.contains(CLS_POPUPOPEN);
5338
5369
  }
5339
5370
  };
5371
+ Toolbar.prototype.updateHideEleTabIndex = function (ele, isHidden, isElement, eleIndex, innerItems) {
5372
+ if (isElement) {
5373
+ eleIndex = innerItems.indexOf(ele);
5374
+ }
5375
+ var nextEle = innerItems[++eleIndex];
5376
+ while (nextEle) {
5377
+ var skipEle = this.eleContains(nextEle);
5378
+ if (!skipEle) {
5379
+ var dataTabIndex = nextEle.firstElementChild.getAttribute('data-tabindex');
5380
+ if (isHidden && dataTabIndex === '-1') {
5381
+ nextEle.firstElementChild.setAttribute('tabindex', '0');
5382
+ }
5383
+ else if (dataTabIndex !== nextEle.firstElementChild.getAttribute('tabindex')) {
5384
+ nextEle.firstElementChild.setAttribute('tabindex', dataTabIndex);
5385
+ }
5386
+ break;
5387
+ }
5388
+ nextEle = innerItems[++eleIndex];
5389
+ }
5390
+ };
5340
5391
  /**
5341
5392
  * Gets called when the model property changes.The data that describes the old and new values of the property that changed.
5342
5393
  *
@@ -5356,9 +5407,9 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
5356
5407
  if (!(newProp.items instanceof Array && oldProp.items instanceof Array)) {
5357
5408
  var changedProb = Object.keys(newProp.items);
5358
5409
  for (var i = 0; i < changedProb.length; i++) {
5359
- var index = parseInt(Object.keys(newProp.items)[i], 10);
5360
- var property = Object.keys(newProp.items[index])[0];
5361
- var newProperty = Object(newProp.items[index])[property];
5410
+ var index = parseInt(Object.keys(newProp.items)[parseInt(i.toString(), 10)], 10);
5411
+ var property = Object.keys(newProp.items[parseInt(index.toString(), 10)])[0];
5412
+ var newProperty = Object(newProp.items[parseInt(index.toString(), 10)])["" + property];
5362
5413
  if (typeof newProperty !== 'function') {
5363
5414
  if (this.tbarAlign || property === 'align') {
5364
5415
  this.refresh();
@@ -5367,7 +5418,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
5367
5418
  }
5368
5419
  var popupPriCheck = property === 'showAlwaysInPopup' && !newProperty;
5369
5420
  var booleanCheck = property === 'overflow' && this.popupPriCount !== 0;
5370
- if ((popupPriCheck) || (this.items[index].showAlwaysInPopup) && booleanCheck) {
5421
+ if ((popupPriCheck) || (this.items[parseInt(index.toString(), 10)].showAlwaysInPopup) && booleanCheck) {
5371
5422
  --this.popupPriCount;
5372
5423
  }
5373
5424
  if (isNullOrUndefined(this.scrollModule)) {
@@ -5377,11 +5428,11 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
5377
5428
  if (this.isReact) {
5378
5429
  this.clearTemplate();
5379
5430
  }
5380
- detach(itemCol[index]);
5431
+ detach(itemCol[parseInt(index.toString(), 10)]);
5381
5432
  this.tbarEle.splice(index, 1);
5382
- this.addItems([this.items[index]], index);
5433
+ this.addItems([this.items[parseInt(index.toString(), 10)]], index);
5383
5434
  this.items.splice(index, 1);
5384
- if (this.items[index].template) {
5435
+ if (this.items[parseInt(index.toString(), 10)].template) {
5385
5436
  this.tbarEle.splice(this.items.length, 1);
5386
5437
  }
5387
5438
  }
@@ -5473,67 +5524,32 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
5473
5524
  Toolbar.prototype.hideItem = function (index, value) {
5474
5525
  var isElement = (typeof (index) === 'object') ? true : false;
5475
5526
  var eleIndex = index;
5476
- var initIndex;
5477
5527
  var ele;
5528
+ if (!isElement && isNullOrUndefined(eleIndex)) {
5529
+ return;
5530
+ }
5478
5531
  var innerItems = [].slice.call(selectAll('.' + CLS_ITEM, this.element));
5479
5532
  if (isElement) {
5480
5533
  ele = index;
5481
5534
  }
5482
- else if (this.tbarEle[eleIndex]) {
5535
+ else if (this.tbarEle[parseInt(eleIndex.toString(), 10)]) {
5483
5536
  var innerItems_1 = [].slice.call(selectAll('.' + CLS_ITEM, this.element));
5484
- ele = innerItems_1[eleIndex];
5537
+ ele = innerItems_1[parseInt(eleIndex.toString(), 10)];
5485
5538
  }
5486
5539
  if (ele) {
5487
5540
  if (value) {
5488
5541
  ele.classList.add(CLS_HIDDEN);
5489
- }
5490
- else {
5491
- ele.classList.remove(CLS_HIDDEN);
5492
- }
5493
- if (value && isNullOrUndefined(this.element.getAttribute('tabindex')) && !ele.classList.contains(CLS_SEPARATOR)) {
5494
- if (isNullOrUndefined(ele.firstElementChild.getAttribute('tabindex'))) {
5495
- ele.firstElementChild.setAttribute('tabindex', '-1');
5496
- var innerItems_2 = [].slice.call(selectAll('.' + CLS_ITEM, this.element));
5497
- if (isElement) {
5498
- eleIndex = innerItems_2.indexOf(ele);
5499
- }
5500
- var nextEle = innerItems_2[++eleIndex];
5501
- while (nextEle) {
5502
- var skipEle = this.eleContains(nextEle);
5503
- if (!skipEle) {
5504
- nextEle.firstElementChild.removeAttribute('tabindex');
5505
- break;
5506
- }
5507
- nextEle = innerItems_2[++eleIndex];
5542
+ if (!ele.classList.contains(CLS_SEPARATOR)) {
5543
+ if (isNullOrUndefined(ele.firstElementChild.getAttribute('tabindex')) ||
5544
+ ele.firstElementChild.getAttribute('tabindex') !== '-1') {
5545
+ this.updateHideEleTabIndex(ele, value, isElement, eleIndex, innerItems);
5508
5546
  }
5509
5547
  }
5510
5548
  }
5511
- else if (isNullOrUndefined(this.element.getAttribute('tabindex')) && !ele.classList.contains(CLS_SEPARATOR)) {
5512
- initIndex = 0;
5513
- var setFlag = false;
5514
- var removeFlag = false;
5515
- var initELe = innerItems[initIndex];
5516
- while (initELe) {
5517
- if (!initELe.classList.contains(CLS_SEPARATOR)) {
5518
- if (isNullOrUndefined(initELe.firstElementChild.getAttribute('tabindex'))) {
5519
- initELe.firstElementChild.setAttribute('tabindex', '-1');
5520
- setFlag = true;
5521
- }
5522
- else {
5523
- if (setFlag && removeFlag) {
5524
- break;
5525
- }
5526
- var skipEle = this.eleContains(initELe);
5527
- if (!skipEle) {
5528
- initELe.firstElementChild.removeAttribute('tabindex');
5529
- removeFlag = true;
5530
- }
5531
- initELe = innerItems[++initIndex];
5532
- }
5533
- }
5534
- else {
5535
- initELe = innerItems[++initIndex];
5536
- }
5549
+ else {
5550
+ ele.classList.remove(CLS_HIDDEN);
5551
+ if (!ele.classList.contains(CLS_SEPARATOR)) {
5552
+ this.updateHideEleTabIndex(ele, value, isElement, eleIndex, innerItems);
5537
5553
  }
5538
5554
  }
5539
5555
  this.refreshOverflow();
@@ -5929,7 +5945,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
5929
5945
  }
5930
5946
  else {
5931
5947
  for (var i = 0; i < len; i++) {
5932
- this.expandItem(true, this.initExpand[i]);
5948
+ this.expandItem(true, this.initExpand[parseInt(i.toString(), 10)]);
5933
5949
  }
5934
5950
  }
5935
5951
  if (this.isReact) {
@@ -6291,14 +6307,15 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6291
6307
  if (this.isReact) {
6292
6308
  this.renderReactTemplates();
6293
6309
  }
6294
- append(this.getItemTemplate()(this.dataSource[index], this, 'itemTemplate', this.element.id + '_itemTemplate', false), ctn);
6310
+ append(this.getItemTemplate()(this.dataSource[parseInt(index.toString(), 10)], this, 'itemTemplate', this.element.id + '_itemTemplate', false), ctn);
6295
6311
  itemcnt.appendChild(ctn);
6296
6312
  }
6297
6313
  else {
6298
- if (this.enableHtmlSanitizer && typeof (this.items[index].content)) {
6299
- this.items[index].content = SanitizeHtmlHelper.sanitize(this.items[index].content);
6314
+ if (this.enableHtmlSanitizer && typeof (this.items[parseInt(index.toString(), 10)].content)) {
6315
+ this.items[parseInt(index.toString(), 10)].content =
6316
+ SanitizeHtmlHelper.sanitize(this.items[parseInt(index.toString(), 10)].content);
6300
6317
  }
6301
- itemcnt.appendChild(this.fetchElement(ctn, this.items[index].content, index, false));
6318
+ itemcnt.appendChild(this.fetchElement(ctn, this.items[parseInt(index.toString(), 10)].content, index, false));
6302
6319
  }
6303
6320
  return itemcnt;
6304
6321
  };
@@ -6545,7 +6562,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6545
6562
  ele.appendChild(innerItemEle);
6546
6563
  }
6547
6564
  else {
6548
- ele.insertBefore(innerItemEle, itemEle[itemIndex]);
6565
+ ele.insertBefore(innerItemEle, itemEle[parseInt(itemIndex.toString(), 10)]);
6549
6566
  }
6550
6567
  EventHandler.add(innerItemEle.querySelector('.' + CLS_HEADER), 'focus', _this.focusIn, _this);
6551
6568
  EventHandler.add(innerItemEle.querySelector('.' + CLS_HEADER), 'blur', _this.focusOut, _this);
@@ -6581,7 +6598,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6581
6598
  this.clearTemplate(['headerTemplate', 'itemTemplate'], index);
6582
6599
  }
6583
6600
  var itemEle = this.getItemElements();
6584
- var ele = itemEle[index];
6601
+ var ele = itemEle[parseInt(index.toString(), 10)];
6585
6602
  var items = this.getItems();
6586
6603
  if (isNullOrUndefined(ele)) {
6587
6604
  return;
@@ -6600,7 +6617,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6600
6617
  */
6601
6618
  Accordion.prototype.select = function (index) {
6602
6619
  var itemEle = this.getItemElements();
6603
- var ele = itemEle[index];
6620
+ var ele = itemEle[parseInt(index.toString(), 10)];
6604
6621
  if (isNullOrUndefined(ele) || isNullOrUndefined(select('.' + CLS_HEADER, ele))) {
6605
6622
  return;
6606
6623
  }
@@ -6616,7 +6633,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6616
6633
  */
6617
6634
  Accordion.prototype.hideItem = function (index, isHidden) {
6618
6635
  var itemEle = this.getItemElements();
6619
- var ele = itemEle[index];
6636
+ var ele = itemEle[parseInt(index.toString(), 10)];
6620
6637
  if (isNullOrUndefined(ele)) {
6621
6638
  return;
6622
6639
  }
@@ -6640,7 +6657,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6640
6657
  */
6641
6658
  Accordion.prototype.enableItem = function (index, isEnable) {
6642
6659
  var itemEle = this.getItemElements();
6643
- var ele = itemEle[index];
6660
+ var ele = itemEle[parseInt(index.toString(), 10)];
6644
6661
  if (isNullOrUndefined(ele)) {
6645
6662
  return;
6646
6663
  }
@@ -6692,7 +6709,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6692
6709
  }
6693
6710
  }
6694
6711
  else {
6695
- var ele = itemEle[index];
6712
+ var ele = itemEle[parseInt(index.toString(), 10)];
6696
6713
  if (isNullOrUndefined(ele) || !ele.classList.contains(CLS_SLCT) || (ele.classList.contains(CLS_ACTIVE) && isExpand)) {
6697
6714
  return;
6698
6715
  }
@@ -6742,7 +6759,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6742
6759
  ctnElePos = this.element;
6743
6760
  }
6744
6761
  else {
6745
- ctnElePos = this.element.querySelectorAll('.' + CLS_ITEM$1)[index];
6762
+ ctnElePos = this.element.querySelectorAll('.' + CLS_ITEM$1)[parseInt(index.toString(), 10)];
6746
6763
  }
6747
6764
  this.templateEle.forEach(function (eleStr) {
6748
6765
  if (!isNullOrUndefined(ctnElePos.querySelector(eleStr))) {
@@ -6753,7 +6770,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6753
6770
  Accordion.prototype.updateItem = function (item, index) {
6754
6771
  if (!isNullOrUndefined(item)) {
6755
6772
  var items = this.getItems();
6756
- var itemObj = items[index];
6773
+ var itemObj = items[parseInt(index.toString(), 10)];
6757
6774
  items.splice(index, 1);
6758
6775
  this.restoreContent(index);
6759
6776
  detach(item);
@@ -6798,11 +6815,11 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6798
6815
  if (!(newProp.items instanceof Array && oldProp.items instanceof Array)) {
6799
6816
  var changedProp = Object.keys(newProp.items);
6800
6817
  for (var j = 0; j < changedProp.length; j++) {
6801
- var index = parseInt(Object.keys(newProp.items)[j], 10);
6802
- var property = Object.keys(newProp.items[index])[0];
6803
- var item = selectAll('.' + CLS_ITEM$1, this.element)[index];
6804
- var oldVal = Object(oldProp.items[index])[property];
6805
- var newVal = Object(newProp.items[index])[property];
6818
+ var index = parseInt(Object.keys(newProp.items)[parseInt(j.toString(), 10)], 10);
6819
+ var property = Object.keys(newProp.items[parseInt(index.toString(), 10)])[0];
6820
+ var item = selectAll('.' + CLS_ITEM$1, this.element)[parseInt(index.toString(), 10)];
6821
+ var oldVal = Object(oldProp.items[parseInt(index.toString(), 10)])["" + property];
6822
+ var newVal = Object(newProp.items[parseInt(index.toString(), 10)])["" + property];
6806
6823
  var temp = property;
6807
6824
  if (temp === 'header' || temp === 'iconCss' || temp === 'expanded' || ((temp === 'content') && (oldVal === ''))) {
6808
6825
  this.updateItem(item, index);
@@ -6816,7 +6833,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6816
6833
  }
6817
6834
  }
6818
6835
  if (property === 'visible' && !isNullOrUndefined(item)) {
6819
- if (Object(newProp.items[index])[property] === false) {
6836
+ if (Object(newProp.items[parseInt(index.toString(), 10)])["" + property] === false) {
6820
6837
  item.classList.add(CLS_ITEMHIDE);
6821
6838
  }
6822
6839
  else {
@@ -7298,8 +7315,8 @@ var Menu = /** @__PURE__ @class */ (function (_super) {
7298
7315
  var i;
7299
7316
  var items = this.items;
7300
7317
  var pIdField = this.getField('parentId');
7301
- if (item[pIdField]) {
7302
- idx = this.getIndex(item[pIdField].toString(), true);
7318
+ if (item["" + pIdField]) {
7319
+ idx = this.getIndex(item["" + pIdField].toString(), true);
7303
7320
  for (i = 0; i < idx.length; i++) {
7304
7321
  if (!items[idx[i]].items) {
7305
7322
  items[idx[i]].items = [];
@@ -7509,6 +7526,9 @@ var TabItem = /** @__PURE__ @class */ (function (_super) {
7509
7526
  __decorate$7([
7510
7527
  Property()
7511
7528
  ], TabItem.prototype, "id", void 0);
7529
+ __decorate$7([
7530
+ Property(-1)
7531
+ ], TabItem.prototype, "tabIndex", void 0);
7512
7532
  return TabItem;
7513
7533
  }(ChildProperty));
7514
7534
  /**
@@ -7712,9 +7732,10 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
7712
7732
  this.setContentHeight(true);
7713
7733
  this.select(this.selectedItem);
7714
7734
  }
7735
+ this.tbItem = selectAll('.' + CLS_TB_ITEM, this.hdrEle);
7715
7736
  if (!isNullOrUndefined(this.tbItem)) {
7716
7737
  for (var i = 0; i < this.items.length; i++) {
7717
- if (this.items[i]) {
7738
+ if (this.tbItem[i]) {
7718
7739
  var tabID = this.items[i].id;
7719
7740
  this.tbItem[i].setAttribute('data-id', tabID);
7720
7741
  }
@@ -7817,7 +7838,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
7817
7838
  if (!this.isReplace && tbItems.length > 0) {
7818
7839
  var idList_1 = [];
7819
7840
  tbItems.forEach(function (item) {
7820
- idList_1.push(parseInt(item.id.slice(item.id.indexOf('_') + 1), 10));
7841
+ idList_1.push(_this.getIndexFromEle(item.id));
7821
7842
  });
7822
7843
  maxId = Math.max.apply(Math, idList_1);
7823
7844
  }
@@ -7838,8 +7859,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
7838
7859
  }
7839
7860
  var itemIndex;
7840
7861
  if (_this.isReplace && !isNullOrUndefined(_this.tbId) && _this.tbId !== '') {
7841
- var num = (_this.tbId.indexOf('_'));
7842
- itemIndex = parseInt(_this.tbId.substring(num + 1), 10);
7862
+ itemIndex = parseInt(_this.tbId.substring(_this.tbId.lastIndexOf('_') + 1), 10);
7843
7863
  _this.tbId = '';
7844
7864
  }
7845
7865
  else {
@@ -7881,7 +7901,8 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
7881
7901
  _this.isIconAlone = true;
7882
7902
  }
7883
7903
  }
7884
- var wrapAttrs = (item.disabled) ? {} : { tabIndex: '-1' };
7904
+ var tabIndex = isNullOrUndefined(item.tabIndex) ? '-1' : item.tabIndex.toString();
7905
+ var wrapAttrs = (item.disabled) ? {} : { tabIndex: tabIndex, 'data-tabindex': tabIndex };
7885
7906
  tCont.appendChild(_this.btnCls.cloneNode(true));
7886
7907
  var wrap = _this.createElement('div', { className: CLS_WRAP, attrs: wrapAttrs });
7887
7908
  wrap.appendChild(tCont);
@@ -8326,14 +8347,14 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8326
8347
  }
8327
8348
  else {
8328
8349
  if (!this.isVertical()) {
8329
- setStyleAttribute(this.cntEle, { 'height': (this.element.offsetHeight - hdrEle.offsetHeight) + 'px' });
8350
+ setStyleAttribute(this.cntEle, { 'height': (this.element.clientHeight - hdrEle.offsetHeight) + 'px' });
8330
8351
  }
8331
8352
  }
8332
8353
  }
8333
8354
  else if (this.heightAdjustMode === 'Fill') {
8334
8355
  addClass([this.element], [CLS_FILL]);
8335
8356
  setStyleAttribute(this.element, { 'height': '100%' });
8336
- setStyleAttribute(this.cntEle, { 'height': (this.element.offsetHeight - hdrEle.offsetHeight) + 'px' });
8357
+ this.cntEle.style.height = 'calc(100% - ' + this.hdrEle.offsetHeight + 'px)';
8337
8358
  }
8338
8359
  else if (this.heightAdjustMode === 'Auto') {
8339
8360
  if (this.isTemplate === true) {
@@ -8673,12 +8694,14 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8673
8694
  case 'shiftTab':
8674
8695
  if (trg.classList.contains(CLS_WRAP)
8675
8696
  && closest(trg, '.' + CLS_TB_ITEM).classList.contains(CLS_ACTIVE$1) === false) {
8676
- trg.setAttribute('tabindex', '-1');
8697
+ trg.setAttribute('tabindex', trg.getAttribute('data-tabindex'));
8677
8698
  }
8678
8699
  if (this.popObj && isVisible(this.popObj.element)) {
8679
8700
  this.popObj.hide(this.hide);
8680
8701
  }
8681
- actEle.children.item(0).setAttribute('tabindex', '0');
8702
+ if (!isNullOrUndefined(actEle) && actEle.children.item(0).getAttribute('tabindex') === '-1') {
8703
+ actEle.children.item(0).setAttribute('tabindex', '0');
8704
+ }
8682
8705
  break;
8683
8706
  case 'moveLeft':
8684
8707
  case 'moveRight':
@@ -8728,6 +8751,9 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8728
8751
  return;
8729
8752
  }
8730
8753
  };
8754
+ Tab.prototype.getIndexFromEle = function (id) {
8755
+ return parseInt(id.substring(id.lastIndexOf('_') + 1), 10);
8756
+ };
8731
8757
  Tab.prototype.hoverHandler = function (e) {
8732
8758
  var trg = e.target;
8733
8759
  if (!isNullOrUndefined(trg.classList) && trg.classList.contains(CLS_ICON_CLOSE)) {
@@ -8746,8 +8772,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8746
8772
  var hdr = this.element.querySelectorAll('.' + CLS_TB_ITEM)[index];
8747
8773
  var itemIndex = void 0;
8748
8774
  if (hdr && !isNullOrUndefined(hdr.id) && hdr.id !== '') {
8749
- var num = (hdr.id.lastIndexOf('_'));
8750
- itemIndex = parseInt(hdr.id.substring(num + 1), 10);
8775
+ itemIndex = this.getIndexFromEle(hdr.id);
8751
8776
  }
8752
8777
  else {
8753
8778
  itemIndex = index;
@@ -9065,7 +9090,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9065
9090
  }
9066
9091
  if (value === true) {
9067
9092
  tbItems.classList.remove(CLS_DISABLE$4, CLS_OVERLAY$2);
9068
- tbItems.firstElementChild.setAttribute('tabindex', '-1');
9093
+ tbItems.firstElementChild.setAttribute('tabindex', tbItems.firstElementChild.getAttribute('data-tabindex'));
9069
9094
  }
9070
9095
  else {
9071
9096
  tbItems.classList.add(CLS_DISABLE$4, CLS_OVERLAY$2);
@@ -9326,7 +9351,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9326
9351
  this.selectingID = this.extIndex(trg.id);
9327
9352
  }
9328
9353
  if (!isNullOrUndefined(this.prevItem) && !this.prevItem.classList.contains(CLS_DISABLE$4)) {
9329
- this.prevItem.children.item(0).setAttribute('tabindex', '-1');
9354
+ this.prevItem.children.item(0).setAttribute('tabindex', this.prevItem.firstElementChild.getAttribute('tabindex'));
9330
9355
  }
9331
9356
  var eventArg = {
9332
9357
  event: event,
@@ -9574,7 +9599,8 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9574
9599
  this.isIconAlone = true;
9575
9600
  }
9576
9601
  }
9577
- var wrapAtt = (item.disabled) ? {} : { tabIndex: '-1' };
9602
+ var tabIndex = isNullOrUndefined(item.tabIndex) ? '-1' : item.tabIndex.toString();
9603
+ var wrapAtt = (item.disabled) ? {} : { tabIndex: tabIndex, 'data-tabindex': tabIndex };
9578
9604
  tConts.appendChild(this.btnCls.cloneNode(true));
9579
9605
  var wraper = this.createElement('div', { className: CLS_WRAP, attrs: wrapAtt });
9580
9606
  wraper.appendChild(tConts);
@@ -9618,9 +9644,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9618
9644
  else {
9619
9645
  var tabItems = this.element.querySelector('.' + CLS_TB_ITEMS);
9620
9646
  var element = this.element.querySelector('.' + CLS_TB_ITEM + '.' + CLS_ACTIVE$1);
9621
- var id = element.id;
9622
- var num = (id.indexOf('_'));
9623
- var index = parseInt(id.substring(num + 1), 10);
9647
+ var index = this.getIndexFromEle(element.id);
9624
9648
  var header = element.innerText;
9625
9649
  var detachContent = this.element.querySelector('.' + CLS_CONTENT$1).querySelector('.' + CLS_ACTIVE$1).children[0];
9626
9650
  var mainContents = detachContent.innerHTML;
@@ -9639,7 +9663,10 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9639
9663
  var conte = this.createElement('div', {
9640
9664
  className: CLS_TEXT_WRAP, innerHTML: txtString + this.btnCls.outerHTML
9641
9665
  }).outerHTML;
9642
- var wrap = this.createElement('div', { className: CLS_WRAP, innerHTML: conte, attrs: { tabIndex: '-1' } });
9666
+ var tabIndex = element.firstElementChild.getAttribute('data-tabindex');
9667
+ var wrap = this.createElement('div', {
9668
+ className: CLS_WRAP, innerHTML: conte, attrs: { tabIndex: tabIndex, 'data-tabindex': tabIndex }
9669
+ });
9643
9670
  tabItems.insertBefore(this.createElement('div', attr), tabItems.children[index + 1]);
9644
9671
  this.element.querySelector('.' + CLS_TB_ITEM + '.' + CLS_ACTIVE$1).appendChild(wrap);
9645
9672
  var crElem = this.createElement('div', { innerHTML: mainContents });
@@ -9824,6 +9851,7 @@ var SMALL = 'e-small';
9824
9851
  var CHILD = 'e-has-child';
9825
9852
  var ITEM_ANIMATION_ACTIVE = 'e-animation-active';
9826
9853
  var DISABLED$1 = 'e-disabled';
9854
+ var PREVENTSELECT = 'e-prevent';
9827
9855
  var treeAriaAttr = {
9828
9856
  treeRole: 'group',
9829
9857
  itemRole: 'treeitem',
@@ -9872,6 +9900,9 @@ var FieldsSettings = /** @__PURE__ @class */ (function (_super) {
9872
9900
  __decorate$8([
9873
9901
  Property(null)
9874
9902
  ], FieldsSettings.prototype, "query", void 0);
9903
+ __decorate$8([
9904
+ Property('selectable')
9905
+ ], FieldsSettings.prototype, "selectable", void 0);
9875
9906
  __decorate$8([
9876
9907
  Property('selected')
9877
9908
  ], FieldsSettings.prototype, "selected", void 0);
@@ -9928,11 +9959,11 @@ var NodeAnimationSettings = /** @__PURE__ @class */ (function (_super) {
9928
9959
  * The TreeView component is used to represent hierarchical data in a tree like structure with advanced
9929
9960
  * functions to perform edit, drag and drop, selection with check-box, and more.
9930
9961
  * ```html
9931
- * <div id="tree"></div>
9962
+ * <div id="tree"></div>
9932
9963
  * ```
9933
9964
  * ```typescript
9934
- * let treeObj: TreeView = new TreeView();
9935
- * treeObj.appendTo('#tree');
9965
+ * let treeObj: TreeView = new TreeView();
9966
+ * treeObj.appendTo('#tree');
9936
9967
  * ```
9937
9968
  */
9938
9969
  var TreeView = /** @__PURE__ @class */ (function (_super) {
@@ -9951,7 +9982,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
9951
9982
  _this.changeDataSource = false;
9952
9983
  _this.hasTemplate = false;
9953
9984
  _this.isFirstRender = false;
9954
- // Specifies whether the node is dropped or not
9985
+ // Specifies whether the node is dropped or not
9955
9986
  _this.isNodeDropped = false;
9956
9987
  _this.mouseDownStatus = false;
9957
9988
  return _this;
@@ -10003,7 +10034,9 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
10003
10034
  csEnter: 'ctrl+shift+enter',
10004
10035
  csHome: 'ctrl+shift+home',
10005
10036
  csEnd: 'ctrl+shift+end',
10006
- space: 'space'
10037
+ space: 'space',
10038
+ shiftSpace: 'shift+space',
10039
+ ctrlSpace: 'ctrl+space'
10007
10040
  };
10008
10041
  this.listBaseOption = {
10009
10042
  expandCollapse: true,
@@ -10526,6 +10559,10 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
10526
10559
  };
10527
10560
  if (!this.isRefreshed) {
10528
10561
  this.trigger('drawNode', eventArgs);
10562
+ if (e.curData[this.fields.selectable] === false && !this.showCheckBox) {
10563
+ e.item.classList.add(PREVENTSELECT);
10564
+ e.item.firstElementChild.setAttribute('style', 'cursor: not-allowed');
10565
+ }
10529
10566
  }
10530
10567
  };
10531
10568
  TreeView.prototype.frameMouseHandler = function (e) {
@@ -11215,7 +11252,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
11215
11252
  else {
11216
11253
  var classList$$1 = target.classList;
11217
11254
  var li = closest(target, '.' + LISTITEM);
11218
- if (!li) {
11255
+ if (!li || (li.classList.contains(PREVENTSELECT) && !(classList$$1.contains(EXPANDABLE) || classList$$1.contains(COLLAPSIBLE)))) {
11219
11256
  return;
11220
11257
  }
11221
11258
  else if (event.originalEvent.which !== 3) {
@@ -11689,7 +11726,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
11689
11726
  if (this.isLoaded) {
11690
11727
  eventArgs = this.getSelectEvent(li, 'select', e);
11691
11728
  this.trigger('nodeSelecting', eventArgs, function (observedArgs) {
11692
- if (!observedArgs.cancel) {
11729
+ if (!observedArgs.cancel && !observedArgs.node.classList.contains(PREVENTSELECT)) {
11693
11730
  _this.nodeSelectAction(li, e, observedArgs, multiSelect);
11694
11731
  }
11695
11732
  });
@@ -11907,6 +11944,9 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
11907
11944
  if (_this.showCheckBox) {
11908
11945
  _this.checkNode(e);
11909
11946
  }
11947
+ else {
11948
+ _this.toggleSelect(focusedNode, e);
11949
+ }
11910
11950
  break;
11911
11951
  case 'moveRight':
11912
11952
  _this.openNode(_this.enableRtl ? false : true, e);
@@ -11946,6 +11986,8 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
11946
11986
  case 'ctrlEnter':
11947
11987
  case 'shiftEnter':
11948
11988
  case 'csEnter':
11989
+ case 'shiftSpace':
11990
+ case 'ctrlSpace':
11949
11991
  _this.toggleSelect(focusedNode, e);
11950
11992
  break;
11951
11993
  case 'f2':
@@ -12339,7 +12381,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12339
12381
  };
12340
12382
  TreeView.prototype.setFocus = function (preNode, nextNode) {
12341
12383
  removeClass([preNode], [HOVER, FOCUS]);
12342
- if (!nextNode.classList.contains('e-disable')) {
12384
+ if (!nextNode.classList.contains('e-disable') && !nextNode.classList.contains(PREVENTSELECT)) {
12343
12385
  addClass([nextNode], [HOVER, FOCUS]);
12344
12386
  this.updateIdAttr(preNode, nextNode);
12345
12387
  }
@@ -12376,7 +12418,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12376
12418
  }
12377
12419
  };
12378
12420
  TreeView.prototype.setHover = function (li) {
12379
- if (!li.classList.contains(HOVER)) {
12421
+ if (!li.classList.contains(HOVER) && !li.classList.contains(PREVENTSELECT)) {
12380
12422
  this.removeHover();
12381
12423
  addClass([li], HOVER);
12382
12424
  }
@@ -12400,6 +12442,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12400
12442
  var pNode = closest(currLi.parentNode, '.' + LISTITEM);
12401
12443
  var pid = pNode ? pNode.getAttribute('data-uid') : null;
12402
12444
  var selected = currLi.classList.contains(ACTIVE);
12445
+ var selectable = currLi.classList.contains(PREVENTSELECT) ? false : true;
12403
12446
  var expanded = (currLi.getAttribute('aria-expanded') === 'true') ? true : false;
12404
12447
  var hasChildren = currLi.getAttribute('aria-expanded') !== null ? true : (select('.' + EXPANDABLE, currLi) || select('.' + COLLAPSIBLE, currLi)) != null ? true : false;
12405
12448
  var checked = null;
@@ -12408,7 +12451,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
12408
12451
  checked = checkboxElement.getAttribute('aria-checked');
12409
12452
  }
12410
12453
  return {
12411
- id: id, text: text, parentID: pid, selected: selected, expanded: expanded,
12454
+ id: id, text: text, parentID: pid, selected: selected, selectable: selectable, expanded: expanded,
12412
12455
  isChecked: checked, hasChildren: hasChildren
12413
12456
  };
12414
12457
  }
@@ -13436,7 +13479,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
13436
13479
  dropUl = dropEle;
13437
13480
  }
13438
13481
  refNode = dropUl.childNodes[index];
13439
- if (!this.isFirstRender || (this.dataType === 1)) {
13482
+ if (!this.isFirstRender || this.dataType === 1) {
13440
13483
  if (refNode || this.sortOrder === 'None') {
13441
13484
  for (var i = 0; i < li.length; i++) {
13442
13485
  dropUl.insertBefore(li[i], refNode);
@@ -14368,8 +14411,8 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
14368
14411
  }
14369
14412
  };
14370
14413
  /**
14371
- * Instead of clicking on the TreeView node for editing, we can enable it by using
14372
- * `beginEdit` property. On passing the node ID or element through this property, the edit textBox
14414
+ * Editing can also be enabled by using the `beginEdit` property, instead of clicking on the
14415
+ * TreeView node. On passing the node ID or element through this property, the edit textBox
14373
14416
  * will be created for the particular node thus allowing us to edit it.
14374
14417
  * @param {string | Element} node - Specifies ID of TreeView node/TreeView node.
14375
14418
  */
@@ -14480,7 +14523,7 @@ var TreeView = /** @__PURE__ @class */ (function (_super) {
14480
14523
  return disabledNodes;
14481
14524
  };
14482
14525
  /**
14483
- * Get the node's data such as id, text, parentID, selected, isChecked, and expanded by passing the node element or it's ID.
14526
+ * Gets the node's data such as id, text, parentID, selected, isChecked, and expanded by passing the node element or it's ID.
14484
14527
  * @param {string | Element} node - Specifies ID of TreeView node/TreeView node.
14485
14528
  */
14486
14529
  TreeView.prototype.getNode = function (node) {
@@ -14860,7 +14903,6 @@ var CLOSE = 'e-close';
14860
14903
  var OPEN = 'e-open';
14861
14904
  var TRASITION = 'e-transition';
14862
14905
  var DEFAULTBACKDROP = 'e-sidebar-overlay';
14863
- var CONTEXTBACKDROP = 'e-backdrop';
14864
14906
  var RTL$2 = 'e-rtl';
14865
14907
  var RIGHT = 'e-right';
14866
14908
  var LEFT = 'e-left';
@@ -15032,7 +15074,7 @@ var Sidebar = /** @__PURE__ @class */ (function (_super) {
15032
15074
  Sidebar.prototype.destroyBackDrop = function () {
15033
15075
  var sibling = document.querySelector('.e-main-content') || this.targetEle;
15034
15076
  if (this.target && this.showBackdrop && sibling) {
15035
- removeClass([sibling], CONTEXTBACKDROP);
15077
+ removeClass([this.defaultBackdropDiv], DEFAULTBACKDROP);
15036
15078
  }
15037
15079
  else if (this.showBackdrop && this.modal) {
15038
15080
  this.modal.style.display = 'none';
@@ -15170,8 +15212,12 @@ var Sidebar = /** @__PURE__ @class */ (function (_super) {
15170
15212
  };
15171
15213
  Sidebar.prototype.createBackDrop = function () {
15172
15214
  if (this.target && this.showBackdrop && this.getState()) {
15215
+ var targetString = this.target;
15173
15216
  var sibling = document.querySelector('.e-main-content') || this.targetEle;
15174
- addClass([sibling], CONTEXTBACKDROP);
15217
+ this.defaultBackdropDiv = this.createElement('div');
15218
+ addClass([this.defaultBackdropDiv], DEFAULTBACKDROP);
15219
+ setStyleAttribute(this.defaultBackdropDiv, { height: targetString.style.height });
15220
+ sibling.appendChild(this.defaultBackdropDiv);
15175
15221
  }
15176
15222
  else if (this.showBackdrop && !this.modal && this.getState()) {
15177
15223
  this.modal = this.createElement('div');
@@ -15784,11 +15830,13 @@ var Breadcrumb = /** @__PURE__ @class */ (function (_super) {
15784
15830
  }
15785
15831
  if (args.curData.isEmptyUrl) {
15786
15832
  args.item.children[0].removeAttribute('href');
15787
- if ((!isLastItem || (isLastItem && _this.enableActiveItemNavigation)) && !(eventArgs.item.disabled || _this.disabled)) {
15833
+ if ((!isLastItem || (isLastItem && _this.enableActiveItemNavigation)) && !(eventArgs.item.disabled
15834
+ || _this.disabled)) {
15788
15835
  args.item.children[0].setAttribute(TABINDEX, '0');
15789
15836
  EventHandler.add(args.item.children[0], 'keydown', _this.keyDownHandler, _this);
15790
15837
  }
15791
15838
  }
15839
+ args.item.removeAttribute('role');
15792
15840
  if (isLastItem) {
15793
15841
  args.item.setAttribute('data-active-item', '');
15794
15842
  }
@@ -15798,7 +15846,8 @@ var Breadcrumb = /** @__PURE__ @class */ (function (_super) {
15798
15846
  }
15799
15847
  };
15800
15848
  for (var i = 0; i < len; i % 2 && j_1++, i++) {
15801
- isActiveItem = (this.activeItem && (this.activeItem === items[j_1].url || this.activeItem === items[j_1].text));
15849
+ isActiveItem = (this.activeItem && (this.activeItem === items[j_1].url ||
15850
+ this.activeItem === items[j_1].text));
15802
15851
  if (isCollasped && i > 1 && i < len - 2) {
15803
15852
  continue;
15804
15853
  }
@@ -15824,7 +15873,8 @@ var Breadcrumb = /** @__PURE__ @class */ (function (_super) {
15824
15873
  else {
15825
15874
  isSingleLevel = true;
15826
15875
  }
15827
- item = [extend({}, items[j_1].properties ? items[j_1].properties
15876
+ item = [extend({}, items[j_1].properties ?
15877
+ items[j_1].properties
15828
15878
  : items[j_1])];
15829
15879
  if (!item[0].url && !this.itemTemplate) {
15830
15880
  item = [extend({}, item[0], { isEmptyUrl: true, url: '#' })];
@@ -15912,7 +15962,8 @@ var Breadcrumb = /** @__PURE__ @class */ (function (_super) {
15912
15962
  for (var i = 0; i < liElems.length - 2; i++) {
15913
15963
  if (liWidth > width) {
15914
15964
  maxItems = Math.ceil((i - 1) / 2) + ((this.overflowMode === 'Menu' && i <= 2) ? 0 : 1);
15915
- if (((this.maxItems > maxItems && !(this.maxItems > -1 && maxItems == -1)) || this.maxItems == -1) && this._maxItems != maxItems) {
15965
+ if (((this.maxItems > maxItems && !(this.maxItems > -1 && maxItems === -1)) ||
15966
+ this.maxItems === -1) && this._maxItems !== maxItems) {
15916
15967
  this._maxItems = maxItems;
15917
15968
  this.initPvtProps();
15918
15969
  return this.reRenderItems();
@@ -15955,7 +16006,7 @@ var Breadcrumb = /** @__PURE__ @class */ (function (_super) {
15955
16006
  };
15956
16007
  Breadcrumb.prototype.hasField = function (items, field) {
15957
16008
  for (var i = 0, len = items.length; i < len; i++) {
15958
- if (items[i][field]) {
16009
+ if (items[i]["" + field]) {
15959
16010
  return true;
15960
16011
  }
15961
16012
  }
@@ -16857,15 +16908,15 @@ var Carousel = /** @__PURE__ @class */ (function (_super) {
16857
16908
  if (isNullOrUndefined(activeSlide) && this.showIndicators) {
16858
16909
  var activeIndicator = this.element.querySelector("." + CLS_INDICATOR_BAR + "." + CLS_ACTIVE$2);
16859
16910
  var activeIndex_1 = parseInt(activeIndicator.dataset.index, 10);
16860
- addClass([allSlides[activeIndex_1]], CLS_ACTIVE$2);
16911
+ addClass([allSlides[parseInt(activeIndex_1.toString(), 10)]], CLS_ACTIVE$2);
16861
16912
  return;
16862
16913
  }
16863
16914
  else if (isNullOrUndefined(activeSlide)) {
16864
- addClass([allSlides[currentIndex]], CLS_ACTIVE$2);
16915
+ addClass([allSlides[parseInt(currentIndex.toString(), 10)]], CLS_ACTIVE$2);
16865
16916
  return;
16866
16917
  }
16867
16918
  var activeIndex = parseInt(activeSlide.dataset.index, 10);
16868
- var currentSlide = allSlides[currentIndex];
16919
+ var currentSlide = allSlides[parseInt(currentIndex.toString(), 10)];
16869
16920
  var eventArgs = {
16870
16921
  currentIndex: activeIndex,
16871
16922
  nextIndex: currentIndex,
@@ -16884,10 +16935,10 @@ var Carousel = /** @__PURE__ @class */ (function (_super) {
16884
16935
  attributes(args.nextSlide, { 'aria-hidden': 'false' });
16885
16936
  var slideIndicators = [].slice.call(_this.element.querySelectorAll("." + CLS_INDICATOR_BAR));
16886
16937
  if (slideIndicators.length > 0) {
16887
- attributes(slideIndicators[activeIndex], { 'aria-current': 'false' });
16888
- attributes(slideIndicators[currentIndex], { 'aria-current': 'true' });
16938
+ attributes(slideIndicators[parseInt(activeIndex.toString(), 10)], { 'aria-current': 'false' });
16939
+ attributes(slideIndicators[parseInt(currentIndex.toString(), 10)], { 'aria-current': 'true' });
16889
16940
  removeClass(slideIndicators, CLS_ACTIVE$2);
16890
- addClass([slideIndicators[currentIndex]], CLS_ACTIVE$2);
16941
+ addClass([slideIndicators[parseInt(currentIndex.toString(), 10)]], CLS_ACTIVE$2);
16891
16942
  }
16892
16943
  _this.slideChangedEventArgs = {
16893
16944
  currentIndex: args.nextIndex,
@@ -16899,7 +16950,7 @@ var Carousel = /** @__PURE__ @class */ (function (_super) {
16899
16950
  };
16900
16951
  if (_this.partialVisible) {
16901
16952
  var container = _this.element.querySelector('.' + CLS_ITEMS$2);
16902
- var slideWidth = allSlides[currentIndex].clientWidth;
16953
+ var slideWidth = allSlides[parseInt(currentIndex.toString(), 10)].clientWidth;
16903
16954
  container.style.transitionProperty = 'transform';
16904
16955
  if (_this.loop) {
16905
16956
  if (_this.slideChangedEventArgs.currentIndex === 0 && _this.slideChangedEventArgs.slideDirection === 'Next') {
@@ -16973,10 +17024,10 @@ var Carousel = /** @__PURE__ @class */ (function (_super) {
16973
17024
  for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
16974
17025
  var key = keys_1[_i];
16975
17026
  if (key === 'class') {
16976
- addClass([element], attribute[key]);
17027
+ addClass([element], attribute["" + key]);
16977
17028
  }
16978
17029
  else {
16979
- element.setAttribute(key, attribute[key]);
17030
+ element.setAttribute(key, attribute["" + key]);
16980
17031
  }
16981
17032
  }
16982
17033
  };
@@ -17091,7 +17142,7 @@ var Carousel = /** @__PURE__ @class */ (function (_super) {
17091
17142
  }
17092
17143
  };
17093
17144
  Carousel.prototype.swipeHandler = function (e) {
17094
- if (this.element.classList.contains(CLS_HOVER)) {
17145
+ if (this.element.classList.contains(CLS_HOVER) || isNullOrUndefined(this.slideItems) || this.slideItems.length <= 1) {
17095
17146
  return;
17096
17147
  }
17097
17148
  var direction = (e.swipeDirection === 'Right') ? 'Previous' : 'Next';
@@ -17515,7 +17566,7 @@ var AppBar = /** @__PURE__ @class */ (function (_super) {
17515
17566
  for (var _b = 0, keys_1 = keys; _b < keys_1.length; _b++) {
17516
17567
  var key = keys_1[_b];
17517
17568
  if (key === 'class') {
17518
- removeClass([this.element], oldProp.htmlAttributes[key]);
17569
+ removeClass([this.element], oldProp.htmlAttributes["" + key]);
17519
17570
  }
17520
17571
  else {
17521
17572
  this.element.removeAttribute(key);
@@ -17545,10 +17596,10 @@ var AppBar = /** @__PURE__ @class */ (function (_super) {
17545
17596
  for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {
17546
17597
  var key = keys_2[_i];
17547
17598
  if (key === 'class') {
17548
- addClass([element], attribute[key]);
17599
+ addClass([element], attribute["" + key]);
17549
17600
  }
17550
17601
  else {
17551
- element.setAttribute(key, attribute[key]);
17602
+ element.setAttribute(key, attribute["" + key]);
17552
17603
  }
17553
17604
  }
17554
17605
  };