@syncfusion/ej2-navigations 17.2.55-1205479 → 17.3.14-96615

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 (316) hide show
  1. package/.eslintrc.json +244 -0
  2. package/CHANGELOG.md +898 -786
  3. package/README.md +163 -163
  4. package/dist/ej2-navigations.umd.min.js +1 -10
  5. package/dist/ej2-navigations.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-navigations.es2015.js +512 -255
  7. package/dist/es6/ej2-navigations.es2015.js.map +1 -1
  8. package/dist/es6/ej2-navigations.es5.js +642 -385
  9. package/dist/es6/ej2-navigations.es5.js.map +1 -1
  10. package/dist/global/ej2-navigations.min.js +1 -10
  11. package/dist/global/ej2-navigations.min.js.map +1 -1
  12. package/dist/global/index.d.ts +0 -9
  13. package/dist/ts/accordion/accordion.ts +1312 -0
  14. package/dist/ts/common/h-scroll.ts +459 -0
  15. package/dist/ts/common/menu-base.ts +2131 -0
  16. package/dist/ts/common/v-scroll.ts +430 -0
  17. package/dist/ts/context-menu/context-menu.ts +119 -0
  18. package/dist/ts/menu/menu.ts +270 -0
  19. package/dist/ts/sidebar/sidebar.ts +817 -0
  20. package/dist/ts/tab/tab.ts +1761 -0
  21. package/dist/ts/toolbar/toolbar.ts +2076 -0
  22. package/dist/ts/treeview/treeview.ts +5050 -0
  23. package/helpers/e2e/index.js +3 -3
  24. package/license +10 -10
  25. package/package.json +135 -145
  26. package/src/accordion/accordion-model.d.ts +162 -143
  27. package/src/accordion/accordion.d.ts +35 -6
  28. package/src/accordion/accordion.js +193 -71
  29. package/src/common/h-scroll-model.d.ts +5 -5
  30. package/src/common/h-scroll.js +19 -20
  31. package/src/common/index.d.ts +1 -0
  32. package/src/common/index.js +1 -0
  33. package/src/common/menu-base-model.d.ts +157 -157
  34. package/src/common/menu-base.d.ts +19 -0
  35. package/src/common/menu-base.js +97 -24
  36. package/src/common/v-scroll-model.d.ts +5 -5
  37. package/src/common/v-scroll.js +19 -19
  38. package/src/context-menu/context-menu-model.d.ts +15 -15
  39. package/src/context-menu/context-menu.js +19 -19
  40. package/src/menu/menu-model.d.ts +30 -30
  41. package/src/menu/menu.js +19 -19
  42. package/src/sidebar/sidebar-model.d.ts +136 -136
  43. package/src/sidebar/sidebar.js +19 -19
  44. package/src/tab/tab-model.d.ts +215 -215
  45. package/src/tab/tab.d.ts +3 -0
  46. package/src/tab/tab.js +120 -83
  47. package/src/toolbar/toolbar-model.d.ts +175 -175
  48. package/src/toolbar/toolbar.d.ts +2 -1
  49. package/src/toolbar/toolbar.js +30 -24
  50. package/src/treeview/treeview-model.d.ts +323 -323
  51. package/src/treeview/treeview.d.ts +3 -1
  52. package/src/treeview/treeview.js +107 -87
  53. package/styles/accordion/_all.scss +2 -2
  54. package/styles/accordion/_bootstrap-dark-definition.scss +69 -69
  55. package/styles/accordion/_bootstrap-definition.scss +76 -76
  56. package/styles/accordion/_bootstrap4-definition.scss +82 -82
  57. package/styles/accordion/_fabric-dark-definition.scss +74 -74
  58. package/styles/accordion/_fabric-definition.scss +78 -78
  59. package/styles/accordion/_highcontrast-definition.scss +106 -106
  60. package/styles/accordion/_highcontrast-light-definition.scss +104 -104
  61. package/styles/accordion/_layout.scss +447 -447
  62. package/styles/accordion/_material-dark-definition.scss +75 -75
  63. package/styles/accordion/_material-definition.scss +72 -72
  64. package/styles/accordion/_theme.scss +479 -479
  65. package/styles/accordion/icons/_bootstrap-dark.scss +17 -17
  66. package/styles/accordion/icons/_bootstrap.scss +17 -17
  67. package/styles/accordion/icons/_bootstrap4.scss +17 -17
  68. package/styles/accordion/icons/_fabric-dark.scss +17 -17
  69. package/styles/accordion/icons/_fabric.scss +17 -17
  70. package/styles/accordion/icons/_highcontrast-light.scss +17 -17
  71. package/styles/accordion/icons/_highcontrast.scss +17 -17
  72. package/styles/accordion/icons/_material-dark.scss +17 -17
  73. package/styles/accordion/icons/_material.scss +17 -17
  74. package/styles/accordion/material-dark.css +2 -2
  75. package/styles/bootstrap-dark.css +10 -9
  76. package/styles/bootstrap.css +10 -9
  77. package/styles/bootstrap4.css +10 -9
  78. package/styles/bootstrap5-dark.css +0 -0
  79. package/styles/bootstrap5-dark.scss +0 -0
  80. package/styles/bootstrap5.css +0 -0
  81. package/styles/bootstrap5.scss +0 -0
  82. package/styles/context-menu/_all.scss +2 -2
  83. package/styles/context-menu/_bootstrap-dark-definition.scss +54 -54
  84. package/styles/context-menu/_bootstrap-definition.scss +52 -52
  85. package/styles/context-menu/_bootstrap4-definition.scss +52 -52
  86. package/styles/context-menu/_fabric-dark-definition.scss +54 -54
  87. package/styles/context-menu/_fabric-definition.scss +52 -52
  88. package/styles/context-menu/_highcontrast-definition.scss +52 -52
  89. package/styles/context-menu/_highcontrast-light-definition.scss +54 -54
  90. package/styles/context-menu/_layout-mixin.scss +175 -174
  91. package/styles/context-menu/_layout.scss +70 -70
  92. package/styles/context-menu/_material-dark-definition.scss +54 -54
  93. package/styles/context-menu/_material-definition.scss +52 -52
  94. package/styles/context-menu/_theme-mixin.scss +59 -59
  95. package/styles/context-menu/_theme.scss +36 -36
  96. package/styles/context-menu/bootstrap-dark.css +1 -1
  97. package/styles/context-menu/bootstrap.css +1 -1
  98. package/styles/context-menu/bootstrap4.css +1 -1
  99. package/styles/context-menu/fabric-dark.css +1 -1
  100. package/styles/context-menu/fabric.css +1 -1
  101. package/styles/context-menu/highcontrast-light.css +1 -1
  102. package/styles/context-menu/highcontrast.css +1 -1
  103. package/styles/context-menu/icons/_bootstrap-dark.scss +30 -30
  104. package/styles/context-menu/icons/_bootstrap.scss +30 -30
  105. package/styles/context-menu/icons/_bootstrap4.scss +30 -30
  106. package/styles/context-menu/icons/_fabric-dark.scss +30 -30
  107. package/styles/context-menu/icons/_fabric.scss +30 -30
  108. package/styles/context-menu/icons/_highcontrast-light.scss +30 -30
  109. package/styles/context-menu/icons/_highcontrast.scss +30 -30
  110. package/styles/context-menu/icons/_material-dark.scss +30 -30
  111. package/styles/context-menu/icons/_material.scss +30 -30
  112. package/styles/context-menu/material-dark.css +1 -1
  113. package/styles/context-menu/material.css +4 -4
  114. package/styles/fabric-dark.css +10 -9
  115. package/styles/fabric.css +10 -9
  116. package/styles/h-scroll/_all.scss +2 -2
  117. package/styles/h-scroll/_bootstrap-dark-definition.scss +49 -49
  118. package/styles/h-scroll/_bootstrap-definition.scss +50 -50
  119. package/styles/h-scroll/_bootstrap4-definition.scss +49 -49
  120. package/styles/h-scroll/_fabric-dark-definition.scss +50 -50
  121. package/styles/h-scroll/_fabric-definition.scss +48 -48
  122. package/styles/h-scroll/_highcontrast-definition.scss +52 -52
  123. package/styles/h-scroll/_highcontrast-light-definition.scss +54 -54
  124. package/styles/h-scroll/_layout.scss +198 -198
  125. package/styles/h-scroll/_material-dark-definition.scss +77 -77
  126. package/styles/h-scroll/_material-definition.scss +77 -77
  127. package/styles/h-scroll/_theme.scss +157 -157
  128. package/styles/h-scroll/icons/_bootstrap-dark.scss +49 -49
  129. package/styles/h-scroll/icons/_bootstrap.scss +49 -49
  130. package/styles/h-scroll/icons/_bootstrap4.scss +49 -49
  131. package/styles/h-scroll/icons/_fabric-dark.scss +49 -49
  132. package/styles/h-scroll/icons/_fabric.scss +49 -49
  133. package/styles/h-scroll/icons/_highcontrast-light.scss +49 -49
  134. package/styles/h-scroll/icons/_highcontrast.scss +49 -49
  135. package/styles/h-scroll/icons/_material-dark.scss +49 -49
  136. package/styles/h-scroll/icons/_material.scss +49 -49
  137. package/styles/highcontrast-light.css +10 -9
  138. package/styles/highcontrast.css +10 -9
  139. package/styles/material-dark.css +12 -11
  140. package/styles/material.css +24 -14
  141. package/styles/menu/_all.scss +2 -2
  142. package/styles/menu/_bootstrap-dark-definition.scss +63 -63
  143. package/styles/menu/_bootstrap-definition.scss +65 -65
  144. package/styles/menu/_bootstrap4-definition.scss +64 -64
  145. package/styles/menu/_fabric-dark-definition.scss +63 -63
  146. package/styles/menu/_fabric-definition.scss +64 -64
  147. package/styles/menu/_highcontrast-definition.scss +65 -65
  148. package/styles/menu/_highcontrast-light-definition.scss +61 -61
  149. package/styles/menu/_layout.scss +638 -637
  150. package/styles/menu/_material-dark-definition.scss +63 -63
  151. package/styles/menu/_material-definition.scss +64 -64
  152. package/styles/menu/_theme.scss +243 -243
  153. package/styles/menu/bootstrap-dark.css +2 -1
  154. package/styles/menu/bootstrap.css +2 -1
  155. package/styles/menu/bootstrap.scss +1 -0
  156. package/styles/menu/bootstrap4.css +2 -1
  157. package/styles/menu/fabric-dark.css +2 -1
  158. package/styles/menu/fabric.css +2 -1
  159. package/styles/menu/fabric.scss +1 -0
  160. package/styles/menu/highcontrast-light.css +2 -1
  161. package/styles/menu/highcontrast.css +2 -1
  162. package/styles/menu/highcontrast.scss +1 -0
  163. package/styles/menu/icons/_bootstrap-dark.scss +127 -127
  164. package/styles/menu/icons/_bootstrap.scss +127 -127
  165. package/styles/menu/icons/_bootstrap4.scss +127 -127
  166. package/styles/menu/icons/_fabric-dark.scss +127 -127
  167. package/styles/menu/icons/_fabric.scss +127 -127
  168. package/styles/menu/icons/_highcontrast-light.scss +127 -127
  169. package/styles/menu/icons/_highcontrast.scss +127 -127
  170. package/styles/menu/icons/_material-dark.scss +127 -127
  171. package/styles/menu/icons/_material.scss +127 -127
  172. package/styles/menu/material-dark.css +2 -1
  173. package/styles/menu/material.css +4 -3
  174. package/styles/menu/material.scss +1 -0
  175. package/styles/sidebar/_all.scss +3 -3
  176. package/styles/sidebar/_bootstrap-dark-definition.scss +4 -4
  177. package/styles/sidebar/_bootstrap-definition.scss +4 -4
  178. package/styles/sidebar/_bootstrap4-definition.scss +4 -4
  179. package/styles/sidebar/_fabric-dark-definition.scss +4 -4
  180. package/styles/sidebar/_fabric-definition.scss +6 -6
  181. package/styles/sidebar/_highcontrast-definition.scss +4 -4
  182. package/styles/sidebar/_highcontrast-light-definition.scss +4 -4
  183. package/styles/sidebar/_icons.scss +1 -1
  184. package/styles/sidebar/_material-dark-definition.scss +4 -4
  185. package/styles/sidebar/_material-definition.scss +6 -6
  186. package/styles/sidebar/_theme.scss +168 -168
  187. package/styles/sidebar/bootstrap-dark.css +0 -1
  188. package/styles/sidebar/bootstrap.css +0 -1
  189. package/styles/sidebar/bootstrap4.css +0 -1
  190. package/styles/sidebar/fabric-dark.css +0 -1
  191. package/styles/sidebar/fabric.css +0 -1
  192. package/styles/sidebar/highcontrast-light.css +0 -1
  193. package/styles/sidebar/highcontrast.css +0 -1
  194. package/styles/sidebar/material-dark.css +0 -1
  195. package/styles/sidebar/material.css +0 -1
  196. package/styles/tab/_all.scss +2 -2
  197. package/styles/tab/_bootstrap-dark-definition.scss +386 -386
  198. package/styles/tab/_bootstrap-definition.scss +396 -396
  199. package/styles/tab/_bootstrap4-definition.scss +401 -401
  200. package/styles/tab/_fabric-dark-definition.scss +394 -394
  201. package/styles/tab/_fabric-definition.scss +410 -410
  202. package/styles/tab/_highcontrast-definition.scss +434 -434
  203. package/styles/tab/_highcontrast-light-definition.scss +423 -423
  204. package/styles/tab/_icons.scss +43 -43
  205. package/styles/tab/_layout.scss +3528 -3521
  206. package/styles/tab/_material-dark-definition.scss +407 -407
  207. package/styles/tab/_material-definition.scss +416 -416
  208. package/styles/tab/_theme.scss +1751 -1751
  209. package/styles/tab/bootstrap-dark.css +7 -2
  210. package/styles/tab/bootstrap.css +7 -2
  211. package/styles/tab/bootstrap4.css +7 -2
  212. package/styles/tab/fabric-dark.css +7 -2
  213. package/styles/tab/fabric.css +7 -2
  214. package/styles/tab/highcontrast-light.css +7 -2
  215. package/styles/tab/highcontrast.css +7 -2
  216. package/styles/tab/icons/_bootstrap-dark.scss +132 -132
  217. package/styles/tab/icons/_bootstrap.scss +132 -132
  218. package/styles/tab/icons/_bootstrap4.scss +132 -132
  219. package/styles/tab/icons/_fabric-dark.scss +132 -132
  220. package/styles/tab/icons/_fabric.scss +132 -132
  221. package/styles/tab/icons/_highcontrast-light.scss +132 -132
  222. package/styles/tab/icons/_highcontrast.scss +132 -132
  223. package/styles/tab/icons/_material-dark.scss +132 -132
  224. package/styles/tab/icons/_material.scss +132 -132
  225. package/styles/tab/material-dark.css +7 -2
  226. package/styles/tab/material.css +7 -2
  227. package/styles/tailwind-dark.css +0 -0
  228. package/styles/tailwind-dark.scss +0 -0
  229. package/styles/tailwind.css +0 -0
  230. package/styles/tailwind.scss +0 -0
  231. package/styles/toolbar/_all.scss +2 -2
  232. package/styles/toolbar/_bootstrap-dark-definition.scss +135 -135
  233. package/styles/toolbar/_bootstrap-definition.scss +134 -134
  234. package/styles/toolbar/_bootstrap4-definition.scss +139 -139
  235. package/styles/toolbar/_fabric-dark-definition.scss +155 -155
  236. package/styles/toolbar/_fabric-definition.scss +139 -139
  237. package/styles/toolbar/_highcontrast-definition.scss +149 -149
  238. package/styles/toolbar/_highcontrast-light-definition.scss +164 -164
  239. package/styles/toolbar/_layout.scss +1460 -1460
  240. package/styles/toolbar/_material-dark-definition.scss +180 -180
  241. package/styles/toolbar/_material-definition.scss +164 -164
  242. package/styles/toolbar/_theme.scss +451 -451
  243. package/styles/toolbar/bootstrap-dark.css +0 -1
  244. package/styles/toolbar/bootstrap.css +0 -1
  245. package/styles/toolbar/bootstrap.scss +1 -0
  246. package/styles/toolbar/bootstrap4.css +0 -1
  247. package/styles/toolbar/fabric-dark.css +0 -1
  248. package/styles/toolbar/fabric.css +0 -1
  249. package/styles/toolbar/fabric.scss +1 -0
  250. package/styles/toolbar/highcontrast-light.css +0 -1
  251. package/styles/toolbar/highcontrast.css +0 -1
  252. package/styles/toolbar/highcontrast.scss +1 -0
  253. package/styles/toolbar/icons/_bootstrap-dark.scss +16 -16
  254. package/styles/toolbar/icons/_bootstrap.scss +16 -16
  255. package/styles/toolbar/icons/_bootstrap4.scss +16 -16
  256. package/styles/toolbar/icons/_fabric-dark.scss +16 -16
  257. package/styles/toolbar/icons/_fabric.scss +16 -16
  258. package/styles/toolbar/icons/_highcontrast-light.scss +16 -16
  259. package/styles/toolbar/icons/_highcontrast.scss +16 -16
  260. package/styles/toolbar/icons/_material-dark.scss +16 -16
  261. package/styles/toolbar/icons/_material.scss +16 -16
  262. package/styles/toolbar/material-dark.css +0 -1
  263. package/styles/toolbar/material.css +0 -1
  264. package/styles/toolbar/material.scss +1 -0
  265. package/styles/treeview/_all.scss +2 -2
  266. package/styles/treeview/_bootstrap-dark-definition.scss +131 -131
  267. package/styles/treeview/_bootstrap-definition.scss +127 -127
  268. package/styles/treeview/_bootstrap4-definition.scss +153 -153
  269. package/styles/treeview/_fabric-dark-definition.scss +130 -130
  270. package/styles/treeview/_fabric-definition.scss +126 -126
  271. package/styles/treeview/_highcontrast-definition.scss +132 -132
  272. package/styles/treeview/_highcontrast-light-definition.scss +137 -137
  273. package/styles/treeview/_layout.scss +551 -551
  274. package/styles/treeview/_material-dark-definition.scss +126 -126
  275. package/styles/treeview/_material-definition.scss +126 -126
  276. package/styles/treeview/_theme.scss +331 -331
  277. package/styles/treeview/bootstrap-dark.css +0 -3
  278. package/styles/treeview/bootstrap.css +0 -3
  279. package/styles/treeview/bootstrap4.css +0 -3
  280. package/styles/treeview/fabric-dark.css +0 -3
  281. package/styles/treeview/fabric.css +0 -3
  282. package/styles/treeview/highcontrast-light.css +0 -3
  283. package/styles/treeview/highcontrast.css +0 -3
  284. package/styles/treeview/icons/_bootstrap-dark.scss +39 -39
  285. package/styles/treeview/icons/_bootstrap.scss +39 -39
  286. package/styles/treeview/icons/_bootstrap4.scss +39 -39
  287. package/styles/treeview/icons/_fabric-dark.scss +43 -43
  288. package/styles/treeview/icons/_fabric.scss +43 -43
  289. package/styles/treeview/icons/_highcontrast-light.scss +43 -43
  290. package/styles/treeview/icons/_highcontrast.scss +43 -43
  291. package/styles/treeview/icons/_material-dark.scss +43 -43
  292. package/styles/treeview/icons/_material.scss +43 -43
  293. package/styles/treeview/material-dark.css +0 -3
  294. package/styles/treeview/material.css +9 -3
  295. package/styles/v-scroll/_all.scss +2 -2
  296. package/styles/v-scroll/_bootstrap-dark-definition.scss +50 -50
  297. package/styles/v-scroll/_bootstrap-definition.scss +49 -49
  298. package/styles/v-scroll/_bootstrap4-definition.scss +49 -49
  299. package/styles/v-scroll/_fabric-dark-definition.scss +51 -51
  300. package/styles/v-scroll/_fabric-definition.scss +50 -50
  301. package/styles/v-scroll/_highcontrast-definition.scss +51 -51
  302. package/styles/v-scroll/_highcontrast-light-definition.scss +52 -52
  303. package/styles/v-scroll/_layout.scss +162 -162
  304. package/styles/v-scroll/_material-dark-definition.scss +78 -78
  305. package/styles/v-scroll/_material-definition.scss +77 -77
  306. package/styles/v-scroll/_theme.scss +133 -133
  307. package/styles/v-scroll/icons/_bootstrap-dark.scss +26 -26
  308. package/styles/v-scroll/icons/_bootstrap.scss +26 -26
  309. package/styles/v-scroll/icons/_bootstrap4.scss +26 -26
  310. package/styles/v-scroll/icons/_fabric-dark.scss +26 -26
  311. package/styles/v-scroll/icons/_fabric.scss +26 -26
  312. package/styles/v-scroll/icons/_highcontrast-light.scss +26 -26
  313. package/styles/v-scroll/icons/_highcontrast.scss +26 -26
  314. package/styles/v-scroll/icons/_material-dark.scss +26 -26
  315. package/styles/v-scroll/icons/_material.scss +26 -26
  316. package/tslint.json +111 -0
package/src/tab/tab.js CHANGED
@@ -1,31 +1,32 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- }
8
- return function (d, b) {
9
- extendStatics(d, b);
10
- function __() { this.constructor = d; }
11
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
- };
13
- })();
14
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
15
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
- return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- };
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ extendStatics(d, b);
10
+ function __() { this.constructor = d; }
11
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
+ };
13
+ })();
14
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
15
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
19
+ };
20
20
  import { Component, Property, Event, closest, Collection, Complex, attributes, detach } from '@syncfusion/ej2-base';
21
21
  import { NotifyPropertyChanges, ChildProperty, select, isVisible } from '@syncfusion/ej2-base';
22
22
  import { KeyboardEvents, Browser, formatUnit, L10n } from '@syncfusion/ej2-base';
23
23
  import { setStyleAttribute as setStyle, isNullOrUndefined as isNOU, selectAll, addClass, removeClass, remove } from '@syncfusion/ej2-base';
24
24
  import { EventHandler, rippleEffect, Touch, compile, Animation } from '@syncfusion/ej2-base';
25
- import { updateBlazorTemplate, isBlazor } from '@syncfusion/ej2-base';
25
+ import { updateBlazorTemplate, resetBlazorTemplate, isBlazor, getRandomId } from '@syncfusion/ej2-base';
26
26
  import { Toolbar } from '../toolbar/toolbar';
27
27
  var CLS_TAB = 'e-tab';
28
28
  var CLS_HEADER = 'e-tab-header';
29
+ var CLS_BLA_TEM = 'blazor-template';
29
30
  var CLS_CONTENT = 'e-content';
30
31
  var CLS_NEST = 'e-nested';
31
32
  var CLS_ITEMS = 'e-items';
@@ -64,6 +65,7 @@ var CLS_VERTICAL = 'e-vertical';
64
65
  var CLS_VLEFT = 'e-vertical-left';
65
66
  var CLS_VRIGHT = 'e-vertical-right';
66
67
  var CLS_HBOTTOM = 'e-horizontal-bottom';
68
+ var CLS_FILL = 'e-fill-mode';
67
69
  var TabActionSettings = /** @class */ (function (_super) {
68
70
  __extends(TabActionSettings, _super);
69
71
  function TabActionSettings() {
@@ -248,6 +250,7 @@ var Tab = /** @class */ (function (_super) {
248
250
  */
249
251
  Tab.prototype.render = function () {
250
252
  this.btnCls = this.createElement('span', { className: CLS_ICONS + ' ' + CLS_ICON_CLOSE, attrs: { title: this.title } });
253
+ this.tabId = this.element.id.length > 0 ? ('-' + this.element.id) : getRandomId();
251
254
  this.renderContainer();
252
255
  this.wireEvents();
253
256
  this.initRender = false;
@@ -298,7 +301,7 @@ var Tab = /** @class */ (function (_super) {
298
301
  var _this = this;
299
302
  var hdrPlace = this.headerPlacement;
300
303
  var tabItems = [];
301
- this.hdrEle = select('.' + CLS_HEADER, this.element);
304
+ this.hdrEle = this.getTabHeader();
302
305
  this.addVerticalClass();
303
306
  if (!this.isTemplate) {
304
307
  tabItems = this.parseObject(this.items, 0);
@@ -316,12 +319,13 @@ var Tab = /** @class */ (function (_super) {
316
319
  while (this.hdrEle.firstElementChild) {
317
320
  detach(this.hdrEle.firstElementChild);
318
321
  }
319
- this.hdrEle.appendChild(this.createElement('div', { className: CLS_ITEMS }));
322
+ var tabItems_1 = this.createElement('div', { className: CLS_ITEMS });
323
+ this.hdrEle.appendChild(tabItems_1);
320
324
  hdrItems.forEach(function (item, index) {
321
325
  _this.lastIndex = index;
322
326
  var attr = {
323
- className: CLS_ITEM, id: CLS_ITEM + '_' + index,
324
- attrs: { role: 'tab', 'aria-controls': CLS_CONTENT + '_' + index, 'aria-selected': 'false' }
327
+ className: CLS_ITEM, id: CLS_ITEM + _this.tabId + '_' + index,
328
+ attrs: { role: 'tab', 'aria-controls': CLS_CONTENT + _this.tabId + '_' + index, 'aria-selected': 'false' }
325
329
  };
326
330
  var txt = _this.createElement('span', {
327
331
  className: CLS_TEXT, innerHTML: item, attrs: { 'role': 'presentation' }
@@ -330,8 +334,8 @@ var Tab = /** @class */ (function (_super) {
330
334
  className: CLS_TEXT_WRAP, innerHTML: txt + _this.btnCls.outerHTML
331
335
  }).outerHTML;
332
336
  var wrap = _this.createElement('div', { className: CLS_WRAP, innerHTML: cont, attrs: { tabIndex: '-1' } });
333
- select('.' + CLS_ITEMS, _this.element).appendChild(_this.createElement('div', attr));
334
- selectAll('.' + CLS_ITEM, _this.element)[index].appendChild(wrap);
337
+ tabItems_1.appendChild(_this.createElement('div', attr));
338
+ selectAll('.' + CLS_ITEM, tabItems_1)[index].appendChild(wrap);
335
339
  });
336
340
  }
337
341
  }
@@ -346,6 +350,7 @@ var Tab = /** @class */ (function (_super) {
346
350
  this.tbObj.isStringTemplate = true;
347
351
  this.tbObj.createElement = this.createElement;
348
352
  this.tbObj.appendTo(this.hdrEle);
353
+ attributes(this.hdrEle, { 'aria-label': 'tab-header' });
349
354
  for (var i = 0; i < this.items.length; i++) {
350
355
  var item = this.items[i];
351
356
  if (item.headerTemplate && isBlazor() && !this.isStringTemplate &&
@@ -365,8 +370,8 @@ var Tab = /** @class */ (function (_super) {
365
370
  for (var i = 0; i < hdrItem.length; i++) {
366
371
  if (contents.length - 1 >= i) {
367
372
  contents.item(i).className += CLS_ITEM;
368
- attributes(contents.item(i), { 'role': 'tabpanel', 'aria-labelledby': CLS_ITEM + '_' + i });
369
- contents.item(i).id = CLS_CONTENT + '_' + i;
373
+ attributes(contents.item(i), { 'role': 'tabpanel', 'aria-labelledby': CLS_ITEM + this.tabId + '_' + i });
374
+ contents.item(i).id = CLS_CONTENT + this.tabId + '_' + i;
370
375
  }
371
376
  }
372
377
  }
@@ -433,13 +438,13 @@ var Tab = /** @class */ (function (_super) {
433
438
  var wrap = _this.createElement('div', { className: CLS_WRAP, attrs: wrapAttrs });
434
439
  wrap.appendChild(tCont);
435
440
  if (_this.itemIndexArray === []) {
436
- _this.itemIndexArray.push(CLS_ITEM + '_' + _this.lastIndex);
441
+ _this.itemIndexArray.push(CLS_ITEM + _this.tabId + '_' + _this.lastIndex);
437
442
  }
438
443
  else {
439
- _this.itemIndexArray.splice((index + i), 0, CLS_ITEM + '_' + _this.lastIndex);
444
+ _this.itemIndexArray.splice((index + i), 0, CLS_ITEM + _this.tabId + '_' + _this.lastIndex);
440
445
  }
441
446
  var attrObj = {
442
- id: CLS_ITEM + '_' + _this.lastIndex, role: 'tab', 'aria-selected': 'false'
447
+ id: CLS_ITEM + _this.tabId + '_' + _this.lastIndex, role: 'tab', 'aria-selected': 'false'
443
448
  };
444
449
  var tItem = { htmlAttributes: attrObj, template: wrap };
445
450
  tItem.cssClass = item.cssClass + ' ' + disabled + ' ' + ((css !== '') ? 'e-i' + pos : '') + ' ' + ((!txtEmpty) ? CLS_ICON : '');
@@ -457,14 +462,11 @@ var Tab = /** @class */ (function (_super) {
457
462
  (this.isIconAlone) ? this.element.classList.add(CLS_ICON_TAB) : this.element.classList.remove(CLS_ICON_TAB);
458
463
  return tItems;
459
464
  };
460
- Tab.prototype.removeActiveClass = function (id) {
461
- var hdrActEle = selectAll(':root .' + CLS_HEADER + ' .' + CLS_TB_ITEM + '.' + CLS_ACTIVE, this.element)[0];
462
- var selectEle = select('.' + CLS_HEADER, this.element);
463
- if (this.headerPlacement === 'Bottom') {
464
- hdrActEle = selectAll(':root .' + CLS_HEADER + ' .' + CLS_TB_ITEM + '.' + CLS_ACTIVE, selectEle)[0];
465
- }
466
- if (!isNOU(hdrActEle)) {
467
- hdrActEle.classList.remove(CLS_ACTIVE);
465
+ Tab.prototype.removeActiveClass = function () {
466
+ var tabHeader = this.getTabHeader();
467
+ if (tabHeader) {
468
+ var tabItems = selectAll('.' + CLS_TB_ITEM + '.' + CLS_ACTIVE, tabHeader);
469
+ [].slice.call(tabItems).forEach(function (node) { return node.classList.remove(CLS_ACTIVE); });
468
470
  }
469
471
  };
470
472
  Tab.prototype.checkPopupOverflow = function (ele) {
@@ -523,8 +525,10 @@ var Tab = /** @class */ (function (_super) {
523
525
  var checkRTL = this.enableRtl || this.element.classList.contains(CLS_RTL);
524
526
  if (this.isPopup || prev <= current) {
525
527
  if (this.animation.previous.effect === 'SlideLeftIn') {
526
- animation = { name: 'SlideLeftOut',
527
- duration: this.animation.previous.duration, timingFunction: this.animation.previous.easing };
528
+ animation = {
529
+ name: 'SlideLeftOut',
530
+ duration: this.animation.previous.duration, timingFunction: this.animation.previous.easing
531
+ };
528
532
  }
529
533
  else {
530
534
  animation = null;
@@ -532,8 +536,10 @@ var Tab = /** @class */ (function (_super) {
532
536
  }
533
537
  else {
534
538
  if (this.animation.next.effect === 'SlideRightIn') {
535
- animation = { name: 'SlideRightOut',
536
- duration: this.animation.next.duration, timingFunction: this.animation.next.easing };
539
+ animation = {
540
+ name: 'SlideRightOut',
541
+ duration: this.animation.next.duration, timingFunction: this.animation.next.easing
542
+ };
537
543
  }
538
544
  else {
539
545
  animation = null;
@@ -645,11 +651,24 @@ var Tab = /** @class */ (function (_super) {
645
651
  }
646
652
  }
647
653
  };
654
+ Tab.prototype.getTabHeader = function () {
655
+ var headers = [].slice.call(this.element.children).filter(function (e) { return e.classList.contains(CLS_HEADER); });
656
+ if (headers.length > 0) {
657
+ return headers[0];
658
+ }
659
+ else {
660
+ var wrap = [].slice.call(this.element.children).filter(function (e) { return !e.classList.contains(CLS_BLA_TEM); })[0];
661
+ if (!wrap) {
662
+ return undefined;
663
+ }
664
+ return [].slice.call(wrap.children).filter(function (e) { return e.classList.contains(CLS_HEADER); })[0];
665
+ }
666
+ };
648
667
  Tab.prototype.getEleIndex = function (item) {
649
- return Array.prototype.indexOf.call(selectAll('.' + CLS_HEADER + ' .' + CLS_TB_ITEM, this.element), item);
668
+ return Array.prototype.indexOf.call(selectAll('.' + CLS_TB_ITEM, this.getTabHeader()), item);
650
669
  };
651
670
  Tab.prototype.extIndex = function (id) {
652
- return id.replace(CLS_ITEM + '_', '');
671
+ return id.replace(CLS_ITEM + this.tabId + '_', '');
653
672
  };
654
673
  Tab.prototype.expTemplateContent = function () {
655
674
  var _this = this;
@@ -734,10 +753,10 @@ var Tab = /** @class */ (function (_super) {
734
753
  Tab.prototype.getTrgContent = function (cntEle, no) {
735
754
  var ele;
736
755
  if (this.element.classList.contains(CLS_NEST)) {
737
- ele = select('.' + CLS_NEST + '> .' + CLS_CONTENT + ' > #' + CLS_CONTENT + '_' + no, this.element);
756
+ ele = select('.' + CLS_NEST + '> .' + CLS_CONTENT + ' > #' + CLS_CONTENT + this.tabId + '_' + no, this.element);
738
757
  }
739
758
  else {
740
- ele = this.findEle(cntEle.children, CLS_CONTENT + '_' + no);
759
+ ele = this.findEle(cntEle.children, CLS_CONTENT + this.tabId + '_' + no);
741
760
  }
742
761
  return ele;
743
762
  };
@@ -785,7 +804,9 @@ var Tab = /** @class */ (function (_super) {
785
804
  this.select(this.selectedItem);
786
805
  };
787
806
  Tab.prototype.setOrientation = function (place, ele) {
788
- if (place === 'Bottom' && Array.prototype.indexOf.call(this.element.children, ele) !== 1) {
807
+ var headerPos = Array.prototype.indexOf.call(this.element.children, ele);
808
+ var contentPos = Array.prototype.indexOf.call(this.element.children, this.element.querySelector('.' + CLS_CONTENT));
809
+ if (place === 'Bottom' && (contentPos > headerPos)) {
789
810
  this.element.appendChild(ele);
790
811
  }
791
812
  else {
@@ -807,10 +828,13 @@ var Tab = /** @class */ (function (_super) {
807
828
  }
808
829
  };
809
830
  Tab.prototype.setContentHeight = function (val) {
831
+ if (this.element.classList.contains(CLS_FILL)) {
832
+ removeClass([this.element], [CLS_FILL]);
833
+ }
810
834
  if (isNOU(this.cntEle)) {
811
835
  return;
812
836
  }
813
- var hdrEle = select('.' + CLS_HEADER, this.element);
837
+ var hdrEle = this.getTabHeader();
814
838
  if (this.heightAdjustMode === 'None') {
815
839
  if (this.height === 'auto') {
816
840
  return;
@@ -822,8 +846,9 @@ var Tab = /** @class */ (function (_super) {
822
846
  }
823
847
  }
824
848
  else if (this.heightAdjustMode === 'Fill') {
849
+ addClass([this.element], [CLS_FILL]);
825
850
  setStyle(this.element, { 'height': '100%' });
826
- setStyle(this.cntEle, { 'height': 'auto' });
851
+ setStyle(this.cntEle, { 'height': '100%' });
827
852
  }
828
853
  else if (this.heightAdjustMode === 'Auto') {
829
854
  var cnt = selectAll('.' + CLS_CONTENT + ' > .' + CLS_ITEM, this.element);
@@ -839,8 +864,8 @@ var Tab = /** @class */ (function (_super) {
839
864
  this.cntEle = select('.' + CLS_CONTENT, this.element);
840
865
  if (val === true) {
841
866
  this.cntEle.appendChild(this.createElement('div', {
842
- id: (CLS_CONTENT + '_' + 0), className: CLS_ITEM + ' ' + CLS_ACTIVE,
843
- attrs: { 'role': 'tabpanel', 'aria-labelledby': CLS_ITEM + '_' + 0 }
867
+ id: (CLS_CONTENT + this.tabId + '_' + 0), className: CLS_ITEM + ' ' + CLS_ACTIVE,
868
+ attrs: { 'role': 'tabpanel', 'aria-labelledby': CLS_ITEM + this.tabId + '_' + 0 }
844
869
  }));
845
870
  }
846
871
  var ele = this.cntEle.children.item(0);
@@ -868,18 +893,10 @@ var Tab = /** @class */ (function (_super) {
868
893
  parseFloat(cs.getPropertyValue('margin-top')) + parseFloat(cs.getPropertyValue('margin-bottom'));
869
894
  };
870
895
  Tab.prototype.setActiveBorder = function () {
871
- var trg;
872
896
  var bar;
873
897
  var scrollCnt;
874
- var trgHdrEle;
875
- if (this.headerPlacement === 'Bottom') {
876
- trgHdrEle = select('.' + CLS_HEADER, this.element);
877
- trg = select('.' + CLS_TB_ITEM + '.' + CLS_ACTIVE, trgHdrEle);
878
- }
879
- else {
880
- trgHdrEle = select('.' + CLS_HEADER, this.element);
881
- trg = select('.' + CLS_TB_ITEM + '.' + CLS_ACTIVE, this.element);
882
- }
898
+ var trgHdrEle = this.getTabHeader();
899
+ var trg = select('.' + CLS_TB_ITEM + '.' + CLS_ACTIVE, trgHdrEle);
883
900
  if (trg === null) {
884
901
  return;
885
902
  }
@@ -915,7 +932,7 @@ var Tab = /** @class */ (function (_super) {
915
932
  }
916
933
  };
917
934
  Tab.prototype.setActive = function (value) {
918
- this.tbItem = selectAll('.' + CLS_HEADER + ' .' + CLS_TB_ITEM, this.element);
935
+ this.tbItem = selectAll('.' + CLS_TB_ITEM, this.getTabHeader());
919
936
  var trg = this.tbItem[value];
920
937
  if (value >= 0) {
921
938
  this.setProperties({ selectedItem: value }, true);
@@ -932,20 +949,20 @@ var Tab = /** @class */ (function (_super) {
932
949
  if (!isNOU(prev)) {
933
950
  prev.removeAttribute('aria-controls');
934
951
  }
935
- attributes(trg, { 'aria-controls': CLS_CONTENT + '_' + value });
952
+ attributes(trg, { 'aria-controls': CLS_CONTENT + this.tabId + '_' + value });
936
953
  }
937
954
  var id = trg.id;
938
- this.removeActiveClass(id);
955
+ this.removeActiveClass();
939
956
  trg.classList.add(CLS_ACTIVE);
940
957
  trg.setAttribute('aria-selected', 'true');
941
958
  var no = Number(this.extIndex(id));
942
959
  if (isNOU(this.prevActiveEle)) {
943
- this.prevActiveEle = CLS_CONTENT + '_' + no;
960
+ this.prevActiveEle = CLS_CONTENT + this.tabId + '_' + no;
944
961
  }
945
962
  attributes(this.element, { 'aria-activedescendant': id });
946
963
  if (this.isTemplate) {
947
964
  if (select('.' + CLS_CONTENT, this.element).children.length > 0) {
948
- var trg_1 = this.findEle(select('.' + CLS_CONTENT, this.element).children, CLS_CONTENT + '_' + no);
965
+ var trg_1 = this.findEle(select('.' + CLS_CONTENT, this.element).children, CLS_CONTENT + this.tabId + '_' + no);
949
966
  if (!isNOU(trg_1)) {
950
967
  trg_1.classList.add(CLS_ACTIVE);
951
968
  }
@@ -957,8 +974,8 @@ var Tab = /** @class */ (function (_super) {
957
974
  var item = this.getTrgContent(this.cntEle, this.extIndex(id));
958
975
  if (isNOU(item)) {
959
976
  this.cntEle.appendChild(this.createElement('div', {
960
- id: CLS_CONTENT + '_' + this.extIndex(id), className: CLS_ITEM + ' ' + CLS_ACTIVE,
961
- attrs: { role: 'tabpanel', 'aria-labelledby': CLS_ITEM + '_' + this.extIndex(id) }
977
+ id: CLS_CONTENT + this.tabId + '_' + this.extIndex(id), className: CLS_ITEM + ' ' + CLS_ACTIVE,
978
+ attrs: { role: 'tabpanel', 'aria-labelledby': CLS_ITEM + this.tabId + '_' + this.extIndex(id) }
962
979
  }));
963
980
  var eleTrg = this.getTrgContent(this.cntEle, this.extIndex(id));
964
981
  var itemIndex = Array.prototype.indexOf.call(this.itemIndexArray, trg.id);
@@ -980,7 +997,7 @@ var Tab = /** @class */ (function (_super) {
980
997
  previousIndex: this.prevIndex,
981
998
  selectedItem: trg,
982
999
  selectedIndex: value,
983
- selectedContent: select('#' + CLS_CONTENT + '_' + this.selectingID, this.content),
1000
+ selectedContent: select('#' + CLS_CONTENT + this.tabId + '_' + this.selectingID, this.content),
984
1001
  isSwiped: this.isSwipeed
985
1002
  };
986
1003
  if (!this.initRender || this.selectedItem !== 0) {
@@ -989,7 +1006,7 @@ var Tab = /** @class */ (function (_super) {
989
1006
  };
990
1007
  Tab.prototype.setItems = function (items) {
991
1008
  this.isReplace = true;
992
- this.tbItems = select('.' + CLS_HEADER + ' .' + CLS_TB_ITEMS, this.element);
1009
+ this.tbItems = select('.' + CLS_TB_ITEMS, this.getTabHeader());
993
1010
  this.tbObj.items = this.parseObject(items, 0);
994
1011
  this.tbObj.dataBind();
995
1012
  this.isReplace = false;
@@ -1096,9 +1113,9 @@ var Tab = /** @class */ (function (_super) {
1096
1113
  }
1097
1114
  this.element.classList.add(CLS_FOCUS);
1098
1115
  var trg = e.target;
1099
- var actEle = select('.' + CLS_HEADER + ' .' + CLS_ACTIVE, this.element);
1100
- var tabItem = selectAll('.' + CLS_TB_ITEM + ':not(.' + CLS_TB_POPUP + ')', this.element);
1101
- this.popEle = select('.' + CLS_HEADER + ' .' + CLS_TB_POP, this.element);
1116
+ var tabHeader = this.getTabHeader();
1117
+ var actEle = select('.' + CLS_ACTIVE, tabHeader);
1118
+ this.popEle = select('.' + CLS_TB_POP, tabHeader);
1102
1119
  if (!isNOU(this.popEle)) {
1103
1120
  this.popObj = this.popEle.ej2_instances[0];
1104
1121
  }
@@ -1196,8 +1213,8 @@ var Tab = /** @class */ (function (_super) {
1196
1213
  var property = Object.keys(newProp.items[index])[0];
1197
1214
  var oldVal = Object(oldProp.items[index])[property];
1198
1215
  var newVal = Object(newProp.items[index])[property];
1199
- var hdrItem = select('.' + CLS_TB_ITEMS + ' #' + CLS_ITEM + '_' + index, this.element);
1200
- var cntItem = select('.' + CLS_CONTENT + ' #' + CLS_CONTENT + '_' + index, this.element);
1216
+ var hdrItem = select('.' + CLS_TB_ITEMS + ' #' + CLS_ITEM + this.tabId + '_' + index, this.element);
1217
+ var cntItem = select('.' + CLS_CONTENT + ' #' + CLS_CONTENT + this.tabId + '_' + index, this.element);
1201
1218
  if (property === 'header' || property === 'headerTemplate') {
1202
1219
  var icon = (isNOU(this.items[index].header) ||
1203
1220
  isNOU(this.items[index].header.iconCss)) ? '' : this.items[index].header.iconCss;
@@ -1257,6 +1274,10 @@ var Tab = /** @class */ (function (_super) {
1257
1274
  this.reRenderItems();
1258
1275
  }
1259
1276
  else {
1277
+ var items = newProp.items;
1278
+ for (var i = 0; i < items.length; i++) {
1279
+ this.resetBlazorTemplates(items[i], i);
1280
+ }
1260
1281
  this.setItems(newProp.items);
1261
1282
  if (this.templateEle.length > 0) {
1262
1283
  this.expTemplateContent();
@@ -1270,6 +1291,17 @@ var Tab = /** @class */ (function (_super) {
1270
1291
  }
1271
1292
  }
1272
1293
  };
1294
+ Tab.prototype.resetBlazorTemplates = function (item, index) {
1295
+ if (!isBlazor()) {
1296
+ return;
1297
+ }
1298
+ if (item.headerTemplate && !this.isStringTemplate && (item.headerTemplate).indexOf('<div>Blazor') === 0) {
1299
+ resetBlazorTemplate(this.element.id + index + '_' + 'headerTemplate', 'HeaderTemplate');
1300
+ }
1301
+ if (item.content && !this.isStringTemplate && item.content.indexOf('<div>Blazor') === 0) {
1302
+ resetBlazorTemplate(this.element.id + index + '_' + 'content', 'ContentTemplate');
1303
+ }
1304
+ };
1273
1305
  /**
1274
1306
  * Enables or disables the specified Tab item. On passing value as `false`, the item will be disabled.
1275
1307
  * @param {number} index - Index value of target Tab item.
@@ -1344,7 +1376,7 @@ var Tab = /** @class */ (function (_super) {
1344
1376
  if (!isNOU(this.bdrLine)) {
1345
1377
  this.bdrLine.classList.add(CLS_HIDDEN);
1346
1378
  }
1347
- this.tbItems = select('.' + CLS_HEADER + ' .' + CLS_TB_ITEMS, this.element);
1379
+ this.tbItems = select('.' + CLS_TB_ITEMS, this.getTabHeader());
1348
1380
  this.isAdd = true;
1349
1381
  var tabItems = this.parseObject(items, index);
1350
1382
  this.isAdd = false;
@@ -1360,7 +1392,8 @@ var Tab = /** @class */ (function (_super) {
1360
1392
  if (_this.isTemplate && !isNOU(item.header) && !isNOU(item.header.text)) {
1361
1393
  var no = lastEleIndex + place;
1362
1394
  var ele = _this.createElement('div', {
1363
- id: CLS_CONTENT + '_' + no, className: CLS_ITEM, attrs: { role: 'tabpanel', 'aria-labelledby': CLS_ITEM + '_' + no }
1395
+ id: CLS_CONTENT + _this.tabId + '_' + no, className: CLS_ITEM,
1396
+ attrs: { role: 'tabpanel', 'aria-labelledby': CLS_ITEM + _this.tabId + '_' + no }
1364
1397
  });
1365
1398
  _this.cntEle.insertBefore(ele, _this.cntEle.children[(index + place)]);
1366
1399
  var eleTrg = _this.getTrgContent(_this.cntEle, no.toString());
@@ -1393,11 +1426,12 @@ var Tab = /** @class */ (function (_super) {
1393
1426
  var removeArgs = { removedItem: trg, removedIndex: index, cancel: false };
1394
1427
  this.trigger('removing', removeArgs, function (tabRemovingArgs) {
1395
1428
  if (!tabRemovingArgs.cancel) {
1429
+ _this.resetBlazorTemplates(_this.items[index], index);
1396
1430
  _this.tbObj.removeItems(index);
1397
1431
  _this.items.splice(index, 1);
1398
1432
  _this.itemIndexArray.splice(index, 1);
1399
1433
  _this.refreshActiveBorder();
1400
- var cntTrg = select('#' + CLS_CONTENT + '_' + _this.extIndex(trg.id), select('.' + CLS_CONTENT, _this.element));
1434
+ var cntTrg = select('#' + CLS_CONTENT + _this.tabId + '_' + _this.extIndex(trg.id), select('.' + CLS_CONTENT, _this.element));
1401
1435
  if (!isNOU(cntTrg)) {
1402
1436
  detach(cntTrg);
1403
1437
  }
@@ -1483,8 +1517,9 @@ var Tab = /** @class */ (function (_super) {
1483
1517
  */
1484
1518
  Tab.prototype.select = function (args) {
1485
1519
  var _this = this;
1486
- this.tbItems = select('.' + CLS_HEADER + ' .' + CLS_TB_ITEMS, this.element);
1487
- this.tbItem = selectAll('.' + CLS_HEADER + ' .' + CLS_TB_ITEM, this.element);
1520
+ var tabHeader = this.getTabHeader();
1521
+ this.tbItems = select('.' + CLS_TB_ITEMS, tabHeader);
1522
+ this.tbItem = selectAll('.' + CLS_TB_ITEM, tabHeader);
1488
1523
  this.content = select('.' + CLS_CONTENT, this.element);
1489
1524
  this.prevItem = this.tbItem[this.prevIndex];
1490
1525
  if (isNOU(this.selectedItem) || (this.selectedItem < 0) || (this.tbItem.length <= this.selectedItem) || isNaN(this.selectedItem)) {
@@ -1508,10 +1543,12 @@ var Tab = /** @class */ (function (_super) {
1508
1543
  previousIndex: this.prevIndex,
1509
1544
  selectedItem: this.tbItem[this.selectedItem],
1510
1545
  selectedIndex: this.selectedItem,
1511
- selectedContent: !isNOU(this.content) ? select('#' + CLS_CONTENT + '_' + this.selectedID, this.content) : null,
1546
+ selectedContent: !isNOU(this.content) ?
1547
+ select('#' + CLS_CONTENT + this.tabId + '_' + this.selectedID, this.content) : null,
1512
1548
  selectingItem: trg,
1513
1549
  selectingIndex: args,
1514
- selectingContent: !isNOU(this.content) ? select('#' + CLS_CONTENT + '_' + this.selectingID, this.content) : null,
1550
+ selectingContent: !isNOU(this.content) ?
1551
+ select('#' + CLS_CONTENT + this.tabId + '_' + this.selectingID, this.content) : null,
1515
1552
  isSwiped: this.isSwipeed,
1516
1553
  cancel: false
1517
1554
  };