@syncfusion/ej2-navigations 19.2.59 → 19.3.44

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 (292) hide show
  1. package/.eslintrc.json +1 -1
  2. package/CHANGELOG.md +32 -0
  3. package/README.md +15 -0
  4. package/breadcrumb.d.ts +4 -0
  5. package/breadcrumb.js +4 -0
  6. package/dist/ej2-navigations.umd.min.js +2 -2
  7. package/dist/ej2-navigations.umd.min.js.map +1 -1
  8. package/dist/es6/ej2-navigations.es2015.js +545 -170
  9. package/dist/es6/ej2-navigations.es2015.js.map +1 -1
  10. package/dist/es6/ej2-navigations.es5.js +567 -172
  11. package/dist/es6/ej2-navigations.es5.js.map +1 -1
  12. package/dist/global/ej2-navigations.min.js +2 -2
  13. package/dist/global/ej2-navigations.min.js.map +1 -1
  14. package/dist/global/index.d.ts +1 -1
  15. package/package.json +13 -12
  16. package/src/accordion/accordion.d.ts +2 -8
  17. package/src/accordion/accordion.js +16 -85
  18. package/src/breadcrumb/breadcrumb-model.d.ts +147 -0
  19. package/src/breadcrumb/breadcrumb.d.ts +232 -0
  20. package/src/breadcrumb/breadcrumb.js +497 -0
  21. package/src/breadcrumb/index.d.ts +5 -0
  22. package/src/breadcrumb/index.js +4 -0
  23. package/src/index.d.ts +1 -0
  24. package/src/index.js +1 -0
  25. package/src/sidebar/sidebar.js +2 -2
  26. package/src/tab/tab-model.d.ts +1 -1
  27. package/src/tab/tab.d.ts +1 -1
  28. package/src/tab/tab.js +50 -84
  29. package/src/toolbar/toolbar.js +1 -1
  30. package/styles/accordion/_bootstrap5-dark-definition.scss +1 -0
  31. package/styles/accordion/_bootstrap5-definition.scss +81 -0
  32. package/styles/accordion/_fabric-dark-definition.scss +1 -0
  33. package/styles/accordion/_fabric-definition.scss +1 -0
  34. package/styles/accordion/_highcontrast-definition.scss +1 -1
  35. package/styles/accordion/_layout.scss +6 -8
  36. package/styles/accordion/_tailwind-dark-definition.scss +1 -77
  37. package/styles/accordion/_tailwind-definition.scss +79 -79
  38. package/styles/accordion/_theme.scss +57 -17
  39. package/styles/accordion/bootstrap5-dark.css +428 -0
  40. package/styles/accordion/bootstrap5-dark.scss +4 -0
  41. package/styles/accordion/bootstrap5.css +428 -0
  42. package/styles/accordion/bootstrap5.scss +4 -0
  43. package/styles/accordion/highcontrast-light.css +0 -1
  44. package/styles/accordion/highcontrast.css +0 -1
  45. package/styles/accordion/icons/_bootstrap4.scss +1 -1
  46. package/styles/accordion/icons/_bootstrap5-dark.scss +1 -0
  47. package/styles/accordion/icons/_bootstrap5.scss +18 -0
  48. package/styles/accordion/icons/_tailwind-dark.scss +1 -17
  49. package/styles/accordion/icons/_tailwind.scss +17 -17
  50. package/styles/accordion/material-dark.css +2 -2
  51. package/styles/accordion/tailwind-dark.css +1 -1
  52. package/styles/bootstrap-dark.css +352 -60
  53. package/styles/bootstrap-dark.scss +1 -0
  54. package/styles/bootstrap.css +349 -57
  55. package/styles/bootstrap.scss +1 -0
  56. package/styles/bootstrap4.css +351 -60
  57. package/styles/bootstrap4.scss +1 -0
  58. package/styles/bootstrap5-dark.css +9922 -0
  59. package/styles/bootstrap5-dark.scss +10 -0
  60. package/styles/bootstrap5.css +9922 -0
  61. package/styles/bootstrap5.scss +10 -0
  62. package/styles/breadcrumb/_all.scss +2 -0
  63. package/styles/breadcrumb/_bootstrap-dark-definition.scss +41 -0
  64. package/styles/breadcrumb/_bootstrap-definition.scss +41 -0
  65. package/styles/breadcrumb/_bootstrap4-definition.scss +41 -0
  66. package/styles/breadcrumb/_bootstrap5-dark-definition.scss +1 -0
  67. package/styles/breadcrumb/_bootstrap5-definition.scss +46 -0
  68. package/styles/breadcrumb/_fabric-dark-definition.scss +46 -0
  69. package/styles/breadcrumb/_fabric-definition.scss +46 -0
  70. package/styles/breadcrumb/_highcontrast-definition.scss +48 -0
  71. package/styles/breadcrumb/_highcontrast-light-definition.scss +48 -0
  72. package/styles/breadcrumb/_layout.scss +291 -0
  73. package/styles/breadcrumb/_material-dark-definition.scss +37 -0
  74. package/styles/breadcrumb/_material-definition.scss +37 -0
  75. package/styles/breadcrumb/_tailwind-dark-definition.scss +47 -0
  76. package/styles/breadcrumb/_tailwind-definition.scss +47 -0
  77. package/styles/breadcrumb/_theme.scss +134 -0
  78. package/styles/breadcrumb/bootstrap-dark.css +279 -0
  79. package/styles/breadcrumb/bootstrap-dark.scss +4 -0
  80. package/styles/breadcrumb/bootstrap.css +279 -0
  81. package/styles/breadcrumb/bootstrap.scss +4 -0
  82. package/styles/breadcrumb/bootstrap4.css +279 -0
  83. package/styles/breadcrumb/bootstrap4.scss +4 -0
  84. package/styles/breadcrumb/bootstrap5-dark.css +297 -0
  85. package/styles/breadcrumb/bootstrap5-dark.scss +4 -0
  86. package/styles/breadcrumb/bootstrap5.css +297 -0
  87. package/styles/breadcrumb/bootstrap5.scss +4 -0
  88. package/styles/breadcrumb/fabric-dark.css +277 -0
  89. package/styles/breadcrumb/fabric-dark.scss +4 -0
  90. package/styles/breadcrumb/fabric.css +277 -0
  91. package/styles/breadcrumb/fabric.scss +4 -0
  92. package/styles/breadcrumb/highcontrast-light.css +285 -0
  93. package/styles/breadcrumb/highcontrast-light.scss +4 -0
  94. package/styles/breadcrumb/highcontrast.css +285 -0
  95. package/styles/breadcrumb/highcontrast.scss +4 -0
  96. package/styles/breadcrumb/icons/_bootstrap-dark.scss +13 -0
  97. package/styles/breadcrumb/icons/_bootstrap.scss +13 -0
  98. package/styles/breadcrumb/icons/_bootstrap4.scss +13 -0
  99. package/styles/breadcrumb/icons/_bootstrap5-dark.scss +1 -0
  100. package/styles/breadcrumb/icons/_bootstrap5.scss +24 -0
  101. package/styles/breadcrumb/icons/_fabric-dark.scss +13 -0
  102. package/styles/breadcrumb/icons/_fabric.scss +13 -0
  103. package/styles/breadcrumb/icons/_highcontrast-light.scss +13 -0
  104. package/styles/breadcrumb/icons/_highcontrast.scss +13 -0
  105. package/styles/breadcrumb/icons/_material-dark.scss +24 -0
  106. package/styles/breadcrumb/icons/_material.scss +24 -0
  107. package/styles/breadcrumb/icons/_tailwind-dark.scss +13 -0
  108. package/styles/breadcrumb/icons/_tailwind.scss +13 -0
  109. package/styles/breadcrumb/material-dark.css +259 -0
  110. package/styles/breadcrumb/material-dark.scss +4 -0
  111. package/styles/breadcrumb/material.css +259 -0
  112. package/styles/breadcrumb/material.scss +4 -0
  113. package/styles/breadcrumb/tailwind-dark.css +280 -0
  114. package/styles/breadcrumb/tailwind-dark.scss +4 -0
  115. package/styles/breadcrumb/tailwind.css +280 -0
  116. package/styles/breadcrumb/tailwind.scss +4 -0
  117. package/styles/context-menu/_bootstrap5-dark-definition.scss +1 -0
  118. package/styles/context-menu/_bootstrap5-definition.scss +52 -0
  119. package/styles/context-menu/_tailwind-dark-definition.scss +1 -53
  120. package/styles/context-menu/_tailwind-definition.scss +52 -51
  121. package/styles/context-menu/bootstrap5-dark.css +382 -0
  122. package/styles/context-menu/bootstrap5-dark.scss +4 -0
  123. package/styles/context-menu/bootstrap5.css +382 -0
  124. package/styles/context-menu/bootstrap5.scss +4 -0
  125. package/styles/context-menu/icons/_bootstrap5-dark.scss +1 -0
  126. package/styles/context-menu/icons/_bootstrap5.scss +32 -0
  127. package/styles/context-menu/icons/_tailwind-dark.scss +32 -32
  128. package/styles/context-menu/icons/_tailwind.scss +32 -32
  129. package/styles/fabric-dark.css +352 -78
  130. package/styles/fabric-dark.scss +1 -0
  131. package/styles/fabric.css +346 -72
  132. package/styles/fabric.scss +1 -0
  133. package/styles/h-scroll/_bootstrap5-dark-definition.scss +1 -0
  134. package/styles/h-scroll/_bootstrap5-definition.scss +78 -0
  135. package/styles/h-scroll/_fabric-dark-definition.scss +1 -1
  136. package/styles/h-scroll/_highcontrast-definition.scss +1 -1
  137. package/styles/h-scroll/_layout.scss +1 -1
  138. package/styles/h-scroll/_tailwind-dark-definition.scss +1 -78
  139. package/styles/h-scroll/bootstrap5-dark.css +328 -0
  140. package/styles/h-scroll/bootstrap5-dark.scss +4 -0
  141. package/styles/h-scroll/bootstrap5.css +328 -0
  142. package/styles/h-scroll/bootstrap5.scss +4 -0
  143. package/styles/h-scroll/fabric-dark.css +1 -1
  144. package/styles/h-scroll/highcontrast.css +1 -1
  145. package/styles/h-scroll/icons/_bootstrap4.scss +1 -1
  146. package/styles/h-scroll/icons/_bootstrap5-dark.scss +1 -0
  147. package/styles/h-scroll/icons/_bootstrap5.scss +49 -0
  148. package/styles/h-scroll/icons/_tailwind-dark.scss +1 -49
  149. package/styles/highcontrast-light.css +354 -73
  150. package/styles/highcontrast-light.scss +1 -0
  151. package/styles/highcontrast.css +356 -75
  152. package/styles/highcontrast.scss +1 -0
  153. package/styles/material-dark.css +360 -105
  154. package/styles/material-dark.scss +1 -0
  155. package/styles/material.css +324 -69
  156. package/styles/material.scss +1 -0
  157. package/styles/menu/_bootstrap5-dark-definition.scss +1 -0
  158. package/styles/menu/_bootstrap5-definition.scss +68 -0
  159. package/styles/menu/_layout.scss +12 -2
  160. package/styles/menu/_tailwind-dark-definition.scss +1 -66
  161. package/styles/menu/_tailwind-definition.scss +66 -64
  162. package/styles/menu/_theme.scss +1 -1
  163. package/styles/menu/bootstrap-dark.css +36 -36
  164. package/styles/menu/bootstrap.css +36 -36
  165. package/styles/menu/bootstrap4.css +34 -34
  166. package/styles/menu/bootstrap5-dark.css +1251 -0
  167. package/styles/menu/bootstrap5-dark.scss +8 -0
  168. package/styles/menu/bootstrap5.css +1251 -0
  169. package/styles/menu/bootstrap5.scss +8 -0
  170. package/styles/menu/fabric-dark.css +36 -36
  171. package/styles/menu/fabric.css +36 -36
  172. package/styles/menu/highcontrast-light.css +36 -36
  173. package/styles/menu/highcontrast.css +36 -36
  174. package/styles/menu/icons/_bootstrap5-dark.scss +1 -0
  175. package/styles/menu/icons/_bootstrap5.scss +133 -0
  176. package/styles/menu/icons/_tailwind-dark.scss +133 -133
  177. package/styles/menu/icons/_tailwind.scss +133 -133
  178. package/styles/menu/material-dark.css +36 -36
  179. package/styles/menu/material.css +36 -36
  180. package/styles/menu/tailwind-dark.css +36 -36
  181. package/styles/menu/tailwind.css +36 -36
  182. package/styles/sidebar/_bootstrap5-dark-definition.scss +1 -0
  183. package/styles/sidebar/_bootstrap5-definition.scss +5 -0
  184. package/styles/sidebar/_highcontrast-definition.scss +1 -1
  185. package/styles/sidebar/_tailwind-dark-definition.scss +1 -4
  186. package/styles/sidebar/_tailwind-definition.scss +2 -1
  187. package/styles/sidebar/_theme.scss +3 -3
  188. package/styles/sidebar/bootstrap5-dark.css +155 -0
  189. package/styles/sidebar/bootstrap5-dark.scss +3 -0
  190. package/styles/sidebar/bootstrap5.css +155 -0
  191. package/styles/sidebar/bootstrap5.scss +3 -0
  192. package/styles/sidebar/highcontrast.css +1 -1
  193. package/styles/tab/_bootstrap-dark-definition.scss +2 -2
  194. package/styles/tab/_bootstrap-definition.scss +1 -1
  195. package/styles/tab/_bootstrap4-definition.scss +2 -2
  196. package/styles/tab/_bootstrap5-dark-definition.scss +1 -0
  197. package/styles/tab/_bootstrap5-definition.scss +401 -0
  198. package/styles/tab/_layout.scss +45 -51
  199. package/styles/tab/_material-dark-definition.scss +0 -1
  200. package/styles/tab/_tailwind-dark-definition.scss +1 -420
  201. package/styles/tab/_tailwind-definition.scss +420 -420
  202. package/styles/tab/_theme.scss +166 -53
  203. package/styles/tab/bootstrap-dark.css +15 -14
  204. package/styles/tab/bootstrap.css +12 -11
  205. package/styles/tab/bootstrap4.css +15 -14
  206. package/styles/tab/bootstrap5-dark.css +4442 -0
  207. package/styles/tab/bootstrap5-dark.scss +5 -0
  208. package/styles/tab/bootstrap5.css +4442 -0
  209. package/styles/tab/bootstrap5.scss +5 -0
  210. package/styles/tab/fabric-dark.css +16 -15
  211. package/styles/tab/fabric.css +14 -13
  212. package/styles/tab/highcontrast-light.css +14 -13
  213. package/styles/tab/highcontrast.css +14 -13
  214. package/styles/tab/icons/_bootstrap-dark.scss +2 -2
  215. package/styles/tab/icons/_bootstrap5-dark.scss +1 -0
  216. package/styles/tab/icons/_bootstrap5.scss +141 -0
  217. package/styles/tab/icons/_fabric-dark.scss +2 -2
  218. package/styles/tab/icons/_tailwind-dark.scss +1 -140
  219. package/styles/tab/icons/_tailwind.scss +140 -140
  220. package/styles/tab/material-dark.css +36 -35
  221. package/styles/tab/material.css +11 -10
  222. package/styles/tab/tailwind-dark.css +27 -39
  223. package/styles/tab/tailwind.css +22 -34
  224. package/styles/tailwind-dark.css +379 -111
  225. package/styles/tailwind-dark.scss +1 -0
  226. package/styles/tailwind.css +364 -96
  227. package/styles/tailwind.scss +1 -0
  228. package/styles/toolbar/_bootstrap5-dark-definition.scss +1 -0
  229. package/styles/toolbar/_bootstrap5-definition.scss +143 -0
  230. package/styles/toolbar/_fabric-dark-definition.scss +1 -3
  231. package/styles/toolbar/_layout.scss +18 -9
  232. package/styles/toolbar/_material-dark-definition.scss +0 -1
  233. package/styles/toolbar/_tailwind-dark-definition.scss +1 -143
  234. package/styles/toolbar/_tailwind-definition.scss +143 -143
  235. package/styles/toolbar/_theme.scss +98 -16
  236. package/styles/toolbar/bootstrap-dark.css +13 -10
  237. package/styles/toolbar/bootstrap.css +13 -10
  238. package/styles/toolbar/bootstrap4.css +14 -12
  239. package/styles/toolbar/bootstrap5-dark.css +1409 -0
  240. package/styles/toolbar/bootstrap5-dark.scss +8 -0
  241. package/styles/toolbar/bootstrap5.css +1409 -0
  242. package/styles/toolbar/bootstrap5.scss +8 -0
  243. package/styles/toolbar/fabric-dark.css +13 -26
  244. package/styles/toolbar/fabric.css +10 -23
  245. package/styles/toolbar/highcontrast-light.css +10 -23
  246. package/styles/toolbar/highcontrast.css +10 -23
  247. package/styles/toolbar/icons/_bootstrap5-dark.scss +1 -0
  248. package/styles/toolbar/icons/_bootstrap5.scss +17 -0
  249. package/styles/toolbar/icons/_tailwind-dark.scss +1 -16
  250. package/styles/toolbar/icons/_tailwind.scss +16 -16
  251. package/styles/toolbar/material-dark.css +11 -24
  252. package/styles/toolbar/material.css +10 -23
  253. package/styles/toolbar/tailwind-dark.css +20 -29
  254. package/styles/toolbar/tailwind.css +16 -25
  255. package/styles/treeview/_bootstrap4-definition.scss +3 -3
  256. package/styles/treeview/_bootstrap5-dark-definition.scss +1 -0
  257. package/styles/treeview/_bootstrap5-definition.scss +109 -0
  258. package/styles/treeview/_layout.scss +64 -17
  259. package/styles/treeview/_tailwind-dark-definition.scss +1 -110
  260. package/styles/treeview/_tailwind-definition.scss +30 -28
  261. package/styles/treeview/_theme.scss +26 -6
  262. package/styles/treeview/bootstrap-dark.css +8 -0
  263. package/styles/treeview/bootstrap.css +8 -0
  264. package/styles/treeview/bootstrap4.css +8 -0
  265. package/styles/treeview/bootstrap5-dark.css +974 -0
  266. package/styles/treeview/bootstrap5-dark.scss +6 -0
  267. package/styles/treeview/bootstrap5.css +974 -0
  268. package/styles/treeview/bootstrap5.scss +6 -0
  269. package/styles/treeview/fabric-dark.css +8 -0
  270. package/styles/treeview/fabric.css +8 -0
  271. package/styles/treeview/highcontrast-light.css +8 -0
  272. package/styles/treeview/highcontrast.css +8 -0
  273. package/styles/treeview/icons/_bootstrap5-dark.scss +1 -0
  274. package/styles/treeview/icons/_bootstrap5.scss +43 -0
  275. package/styles/treeview/icons/_tailwind-dark.scss +43 -43
  276. package/styles/treeview/material-dark.css +15 -7
  277. package/styles/treeview/material.css +8 -0
  278. package/styles/treeview/tailwind-dark.css +10 -2
  279. package/styles/treeview/tailwind.css +9 -1
  280. package/styles/v-scroll/_bootstrap5-dark-definition.scss +1 -0
  281. package/styles/v-scroll/_bootstrap5-definition.scss +49 -0
  282. package/styles/v-scroll/_tailwind-dark-definition.scss +1 -49
  283. package/styles/v-scroll/bootstrap5-dark.css +247 -0
  284. package/styles/v-scroll/bootstrap5-dark.scss +4 -0
  285. package/styles/v-scroll/bootstrap5.css +247 -0
  286. package/styles/v-scroll/bootstrap5.scss +4 -0
  287. package/styles/v-scroll/icons/_bootstrap4.scss +1 -1
  288. package/styles/v-scroll/icons/_bootstrap5-dark.scss +1 -0
  289. package/styles/v-scroll/icons/_bootstrap5.scss +27 -0
  290. package/styles/v-scroll/icons/_tailwind-dark.scss +1 -26
  291. package/styles/v-scroll/material-dark.css +1 -1
  292. package/styles/v-scroll/tailwind-dark.css +4 -4
@@ -5226,7 +5226,7 @@ var Toolbar = /** @__PURE__ @class */ (function (_super) {
5226
5226
  var prop = _a[_i];
5227
5227
  switch (prop) {
5228
5228
  case 'items':
5229
- if (!(newProp.items instanceof Array && oldProp.items instanceof Array) && !this.isServerRendered) {
5229
+ if (!(newProp.items instanceof Array && oldProp.items instanceof Array)) {
5230
5230
  var changedProb = Object.keys(newProp.items);
5231
5231
  for (var i = 0; i < changedProb.length; i++) {
5232
5232
  var index = parseInt(Object.keys(newProp.items)[i], 10);
@@ -5649,15 +5649,10 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
5649
5649
  * @returns {void}
5650
5650
  */
5651
5651
  Accordion.prototype.render = function () {
5652
- if (!this.isServerRendered) {
5653
- this.initializeheaderTemplate();
5654
- this.initializeItemTemplate();
5655
- this.initialize();
5656
- this.renderControl();
5657
- }
5658
- else {
5659
- this.wireFocusEvents();
5660
- }
5652
+ this.initializeHeaderTemplate();
5653
+ this.initializeItemTemplate();
5654
+ this.initialize();
5655
+ this.renderControl();
5661
5656
  this.wireEvents();
5662
5657
  this.renderComplete();
5663
5658
  };
@@ -5728,7 +5723,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
5728
5723
  }
5729
5724
  return undefined;
5730
5725
  };
5731
- Accordion.prototype.initializeheaderTemplate = function () {
5726
+ Accordion.prototype.initializeHeaderTemplate = function () {
5732
5727
  if (this.headerTemplate) {
5733
5728
  this.headerTemplateFn = this.templateParser(this.headerTemplate);
5734
5729
  }
@@ -5739,7 +5734,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
5739
5734
  }
5740
5735
  };
5741
5736
  /* eslint-disable */
5742
- Accordion.prototype.getheaderTemplate = function () {
5737
+ Accordion.prototype.getHeaderTemplate = function () {
5743
5738
  return this.headerTemplateFn;
5744
5739
  };
5745
5740
  /* eslint-disable */
@@ -5838,7 +5833,6 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
5838
5833
  }
5839
5834
  };
5840
5835
  Accordion.prototype.clickHandler = function (e) {
5841
- var _this = this;
5842
5836
  var trgt = e.target;
5843
5837
  var items = this.getItems();
5844
5838
  var eventArgs = {};
@@ -5872,32 +5866,9 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
5872
5866
  eventArgs.originalEvent = e;
5873
5867
  var ctnCheck = !isNullOrUndefined(tglIcon) && acrdnItem.childElementCount <= 1;
5874
5868
  if (ctnCheck && (isNullOrUndefined(acrdnCtn) || !isNullOrUndefined(select('.' + CLS_HEADER + ' .' + CLS_TOOGLEICN, acrdnCtnItem)))) {
5875
- if (!this.isServerRendered) {
5876
- acrdnItem.appendChild(this.contentRendering(index));
5877
- this.ariaAttrUpdate(acrdnItem);
5878
- this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
5879
- }
5880
- else {
5881
- var id = acrdnItem.id;
5882
- if (this.items.length > 0) {
5883
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5884
- this.interopAdaptor.invokeMethodAsync('OnItemClick', index).then(function () {
5885
- if (_this.isDestroyed) {
5886
- return;
5887
- }
5888
- _this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
5889
- });
5890
- }
5891
- else {
5892
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5893
- this.interopAdaptor.invokeMethodAsync('OnDataClick', id).then(function () {
5894
- if (_this.isDestroyed) {
5895
- return;
5896
- }
5897
- _this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
5898
- });
5899
- }
5900
- }
5869
+ acrdnItem.appendChild(this.contentRendering(index));
5870
+ this.ariaAttrUpdate(acrdnItem);
5871
+ this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
5901
5872
  }
5902
5873
  else {
5903
5874
  this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
@@ -6033,7 +6004,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6033
6004
  var ctnEle = this.headerEleGenerate();
6034
6005
  var hdrEle = this.createElement('div', { className: CLS_HEADERCTN });
6035
6006
  ctnEle.appendChild(hdrEle);
6036
- append(this.getheaderTemplate()(item, this, 'headerTemplate', this.element.id + '_headerTemplate', false), hdrEle);
6007
+ append(this.getHeaderTemplate()(item, this, 'headerTemplate', this.element.id + '_headerTemplate', false), hdrEle);
6037
6008
  innerEle.appendChild(ctnEle);
6038
6009
  ctnEle.appendChild(this.toggleIconGenerate());
6039
6010
  this.add(innerEle, CLS_SLCT);
@@ -6570,16 +6541,6 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6570
6541
  eleHeader.removeAttribute('tabindex');
6571
6542
  }
6572
6543
  };
6573
- /**
6574
- * Refresh the Accordion component.
6575
- *
6576
- * @returns {void}.
6577
- */
6578
- Accordion.prototype.refresh = function () {
6579
- if (!this.isServerRendered) {
6580
- _super.prototype.refresh.call(this);
6581
- }
6582
- };
6583
6544
  /**
6584
6545
  * Expands/Collapses the specified Accordion item.
6585
6546
  *
@@ -6625,41 +6586,15 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6625
6586
  }
6626
6587
  };
6627
6588
  Accordion.prototype.itemExpand = function (isExpand, ele, index) {
6628
- var _this = this;
6629
6589
  var ctn = ele.children[1];
6630
6590
  if (ele.classList.contains(CLS_DISABLE$3)) {
6631
6591
  return;
6632
6592
  }
6633
6593
  if (isNullOrUndefined(ctn) && isExpand) {
6634
- if (!this.isServerRendered) {
6635
- ctn = this.contentRendering(index);
6636
- ele.appendChild(ctn);
6637
- this.ariaAttrUpdate(ele);
6638
- this.expand(ctn);
6639
- }
6640
- else {
6641
- var id = ele.id;
6642
- if (this.items.length > 0) {
6643
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6644
- this.interopAdaptor.invokeMethodAsync('OnItemClick', index).then(function () {
6645
- if (_this.isDestroyed) {
6646
- return;
6647
- }
6648
- ctn = ele.children[1];
6649
- _this.expand(ctn);
6650
- });
6651
- }
6652
- else {
6653
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6654
- this.interopAdaptor.invokeMethodAsync('OnDataClick', id).then(function () {
6655
- if (_this.isDestroyed) {
6656
- return;
6657
- }
6658
- ctn = ele.children[1];
6659
- _this.expand(ctn);
6660
- });
6661
- }
6662
- }
6594
+ ctn = this.contentRendering(index);
6595
+ ele.appendChild(ctn);
6596
+ this.ariaAttrUpdate(ele);
6597
+ this.expand(ctn);
6663
6598
  }
6664
6599
  else if (!isNullOrUndefined(ctn)) {
6665
6600
  if (isExpand) {
@@ -6745,10 +6680,6 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6745
6680
  var prop = _a[_i];
6746
6681
  switch (prop) {
6747
6682
  case 'items':
6748
- if (this.isServerRendered) {
6749
- this.wireFocusEvents();
6750
- break;
6751
- }
6752
6683
  if (!(newProp.items instanceof Array && oldProp.items instanceof Array)) {
6753
6684
  var changedProp = Object.keys(newProp.items);
6754
6685
  for (var j = 0; j < changedProp.length; j++) {
@@ -6803,7 +6734,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6803
6734
  isRefresh = true;
6804
6735
  break;
6805
6736
  case 'headerTemplate':
6806
- this.initializeheaderTemplate();
6737
+ this.initializeHeaderTemplate();
6807
6738
  isRefresh = true;
6808
6739
  break;
6809
6740
  case 'itemTemplate':
@@ -6837,7 +6768,7 @@ var Accordion = /** @__PURE__ @class */ (function (_super) {
6837
6768
  break;
6838
6769
  }
6839
6770
  }
6840
- if (isRefresh && !this.isServerRendered) {
6771
+ if (isRefresh) {
6841
6772
  this.initExpand = [];
6842
6773
  if (this.expandedIndices.length > 0) {
6843
6774
  this.initExpand = this.expandedIndices;
@@ -7555,12 +7486,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
7555
7486
  if (this.isReact) {
7556
7487
  this.clearTemplate();
7557
7488
  }
7558
- if (!this.isServerRendered) {
7559
- _super.prototype.refresh.call(this);
7560
- }
7561
- else if (this.isServerRendered && this.loadOn !== 'Dynamic') {
7562
- this.setActiveBorder();
7563
- }
7489
+ _super.prototype.refresh.call(this);
7564
7490
  if (this.isReact) {
7565
7491
  this.renderReactTemplates();
7566
7492
  }
@@ -7606,10 +7532,6 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
7606
7532
  this.initRender = false;
7607
7533
  };
7608
7534
  Tab.prototype.renderContainer = function () {
7609
- if (this.isServerRendered) {
7610
- this.isTemplate = false;
7611
- return;
7612
- }
7613
7535
  var ele = this.element;
7614
7536
  this.items.forEach(function (item, index) {
7615
7537
  if (isNullOrUndefined(item.id) && !isNullOrUndefined(item.setProperties)) {
@@ -7817,7 +7739,17 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
7817
7739
  if (typeof txt === 'string' && _this.enableHtmlSanitizer) {
7818
7740
  txt = SanitizeHtmlHelper.sanitize(txt);
7819
7741
  }
7820
- _this.lastIndex = ((tbCount === 0) ? i : ((_this.isReplace) ? (index + i) : (_this.lastIndex + 1)));
7742
+ var itemIndex;
7743
+ if (_this.isReplace && !isNullOrUndefined(_this.tbId) && _this.tbId !== '') {
7744
+ var num = (_this.tbId.indexOf('_'));
7745
+ itemIndex = parseInt(_this.tbId.substring(num + 1), 10);
7746
+ _this.tbId = '';
7747
+ }
7748
+ else {
7749
+ itemIndex = index + i;
7750
+ }
7751
+ var addIndex = _this.isAdd ? tbCount + i : _this.lastIndex + 1;
7752
+ _this.lastIndex = ((tbCount === 0) ? i : ((_this.isReplace) ? (itemIndex) : (addIndex)));
7821
7753
  var disabled = (item.disabled) ? ' ' + CLS_DISABLE$4 + ' ' + CLS_OVERLAY$2 : '';
7822
7754
  var hidden = (item.visible === false) ? ' ' + CLS_HIDDEN$1 : '';
7823
7755
  txtWrapEle = _this.createElement('div', { className: CLS_TEXT, attrs: { 'role': 'presentation' } });
@@ -8005,23 +7937,17 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8005
7937
  var _this = this;
8006
7938
  var prevIndex = this.prevIndex;
8007
7939
  var oldCnt;
8008
- var newCnt;
8009
- if (!this.isServerRendered || (this.isServerRendered && this.loadOn !== 'Dynamic')) {
8010
- var itemCollection = [].slice.call(this.element.querySelector('.' + CLS_CONTENT$1).children);
8011
- itemCollection.forEach(function (item) {
8012
- if (item.id === _this.prevActiveEle) {
8013
- oldCnt = item;
8014
- }
8015
- });
8016
- var prevEle = this.tbItem[prevIndex];
8017
- newCnt = this.getTrgContent(this.cntEle, this.extIndex(id));
8018
- if (isNullOrUndefined(oldCnt) && !isNullOrUndefined(prevEle)) {
8019
- var idNo = this.extIndex(prevEle.id);
8020
- oldCnt = this.getTrgContent(this.cntEle, idNo);
7940
+ var itemCollection = [].slice.call(this.element.querySelector('.' + CLS_CONTENT$1).children);
7941
+ itemCollection.forEach(function (item) {
7942
+ if (item.id === _this.prevActiveEle) {
7943
+ oldCnt = item;
8021
7944
  }
8022
- }
8023
- else {
8024
- newCnt = this.cntEle.firstElementChild;
7945
+ });
7946
+ var prevEle = this.tbItem[prevIndex];
7947
+ var newCnt = this.getTrgContent(this.cntEle, this.extIndex(id));
7948
+ if (isNullOrUndefined(oldCnt) && !isNullOrUndefined(prevEle)) {
7949
+ var idNo = this.extIndex(prevEle.id);
7950
+ oldCnt = this.getTrgContent(this.cntEle, idNo);
8025
7951
  }
8026
7952
  if (!isNullOrUndefined(newCnt)) {
8027
7953
  this.prevActiveEle = newCnt.id;
@@ -8251,21 +8177,6 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8251
8177
  curActItem.firstElementChild.focus();
8252
8178
  }
8253
8179
  };
8254
- Tab.prototype.serverChangeOrientation = function (newProp, oldProp) {
8255
- this.setOrientation(newProp, this.hdrEle);
8256
- removeClass([this.element], [CLS_VTAB]);
8257
- var newValue = newProp === 'Left' || newProp === 'Right';
8258
- var oldValue = oldProp === 'Left' || oldProp === 'Right';
8259
- if (newValue !== oldValue) {
8260
- this.changeToolbarOrientation();
8261
- }
8262
- if (this.isVertical()) {
8263
- addClass([this.element], [CLS_VTAB]);
8264
- }
8265
- this.updateOrientationAttribute();
8266
- this.setActiveBorder();
8267
- this.focusItem();
8268
- };
8269
8180
  Tab.prototype.changeToolbarOrientation = function () {
8270
8181
  this.tbObj.setProperties({ height: (this.isVertical() ? '100%' : 'auto'), width: (this.isVertical() ? 'auto' : '100%') }, true);
8271
8182
  this.tbObj.changeOrientation();
@@ -8350,6 +8261,9 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8350
8261
  }
8351
8262
  this.templateEle = [];
8352
8263
  this.getContent(ele, this.items[0].content, 'render', 0);
8264
+ if (this.prevIndex !== this.selectedItem) {
8265
+ ele.classList.remove(CLS_ACTIVE$1);
8266
+ }
8353
8267
  }
8354
8268
  setStyleAttribute(this.cntEle, { 'height': this.maxHeight + 'px' });
8355
8269
  }
@@ -8368,9 +8282,6 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8368
8282
  if (trg === null) {
8369
8283
  return;
8370
8284
  }
8371
- if (this.isServerRendered && trg.classList.contains(CLS_TB_POPUP)) {
8372
- this.popupHandler(trg);
8373
- }
8374
8285
  var root = closest(trg, '.' + CLS_TAB);
8375
8286
  if (this.element !== root) {
8376
8287
  return;
@@ -8412,9 +8323,6 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8412
8323
  if (skipDataBind === void 0) { skipDataBind = false; }
8413
8324
  this.tbItem = selectAll('.' + CLS_TB_ITEM, this.getTabHeader());
8414
8325
  var trg = this.tbItem[value];
8415
- if (this.isServerRendered && trg) {
8416
- value = parseInt(trg.getAttribute('data-index'), 10);
8417
- }
8418
8326
  if (value < 0 || isNaN(value) || this.tbItem.length === 0) {
8419
8327
  return;
8420
8328
  }
@@ -8456,7 +8364,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8456
8364
  this.triggerAnimation(id, this.enableAnimation);
8457
8365
  }
8458
8366
  }
8459
- else if (!this.isServerRendered || (this.isServerRendered && this.loadOn === 'Init')) {
8367
+ else {
8460
8368
  this.cntEle = select('.' + CLS_TAB + ' > .' + CLS_CONTENT$1, this.element);
8461
8369
  var item = this.getTrgContent(this.cntEle, this.extIndex(id));
8462
8370
  if (isNullOrUndefined(item)) {
@@ -8574,12 +8482,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8574
8482
  }
8575
8483
  else {
8576
8484
  this.isPopup = false;
8577
- if (this.isServerRendered && !isNullOrUndefined(trgParent)) {
8578
- if (parseInt(trgParent.getAttribute('data-index'), 10) !== this.selectedItem) {
8579
- this.select(trgIndex);
8580
- }
8581
- }
8582
- else if (!isNullOrUndefined(trgParent) && (trgIndex !== this.selectedItem || trgIndex !== this.prevIndex)) {
8485
+ if (!isNullOrUndefined(trgParent) && (trgIndex !== this.selectedItem || trgIndex !== this.prevIndex)) {
8583
8486
  this.select(trgIndex, args.originalEvent);
8584
8487
  }
8585
8488
  }
@@ -8724,8 +8627,17 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8724
8627
  var property = Object.keys(newProp.items[index])[0];
8725
8628
  var oldVal = Object(oldProp.items[index])[property];
8726
8629
  var newVal = Object(newProp.items[index])[property];
8727
- var hdrItem = select('.' + CLS_TB_ITEMS + ' #' + CLS_ITEM$2 + this.tabId + '_' + index, this.element);
8728
- var cntItem = select('.' + CLS_CONTENT$1 + ' #' + CLS_CONTENT$1 + this.tabId + '_' + index, this.element);
8630
+ var hdr = this.element.querySelectorAll('.' + CLS_TB_ITEM)[index];
8631
+ var itemIndex = void 0;
8632
+ if (hdr && !isNullOrUndefined(hdr.id) && hdr.id !== '') {
8633
+ var num = (hdr.id.indexOf('_'));
8634
+ itemIndex = parseInt(hdr.id.substring(num + 1), 10);
8635
+ }
8636
+ else {
8637
+ itemIndex = index;
8638
+ }
8639
+ var hdrItem = select('.' + CLS_TB_ITEMS + ' #' + CLS_ITEM$2 + this.tabId + '_' + itemIndex, this.element);
8640
+ var cntItem = select('.' + CLS_CONTENT$1 + ' #' + CLS_CONTENT$1 + this.tabId + '_' + itemIndex, this.element);
8729
8641
  if (property === 'header' || property === 'headerTemplate') {
8730
8642
  var icon = (isNullOrUndefined(this.items[index].header) ||
8731
8643
  isNullOrUndefined(this.items[index].header.iconCss)) ? '' : this.items[index].header.iconCss;
@@ -8734,6 +8646,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8734
8646
  this.removeTab(index);
8735
8647
  }
8736
8648
  else {
8649
+ this.tbId = hdr.id;
8737
8650
  var arr = [];
8738
8651
  arr.push(this.items[index]);
8739
8652
  this.items.splice(index, 1);
@@ -8863,10 +8776,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
8863
8776
  }
8864
8777
  }
8865
8778
  _this.cloneElement.style.pointerEvents = 'none';
8866
- var x = _this.cloneElement.getBoundingClientRect().left;
8867
- var y = _this.cloneElement.getBoundingClientRect().top;
8868
- var ele = document.elementFromPoint(x, y);
8869
- dropItem = closest(ele, '.' + CLS_TB_ITEM + '.e-draggable');
8779
+ dropItem = closest(e.target, '.' + CLS_TB_ITEM + '.e-draggable');
8870
8780
  var scrollContentWidth = 0;
8871
8781
  if (_this.overflowMode === 'Scrollable' && !isNullOrUndefined(_this.element.querySelector('.e-hscroll'))) {
8872
8782
  scrollContentWidth = _this.element.querySelector('.e-hscroll-content').offsetWidth;
@@ -9236,7 +9146,7 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9236
9146
  }
9237
9147
  this.setActiveBorder();
9238
9148
  item.setAttribute('aria-hidden', '' + value);
9239
- if (!this.isServerRendered && this.overflowMode === 'Popup' && this.tbObj) {
9149
+ if (this.overflowMode === 'Popup' && this.tbObj) {
9240
9150
  this.tbObj.refreshOverflow();
9241
9151
  }
9242
9152
  };
@@ -9396,12 +9306,10 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9396
9306
  break;
9397
9307
  case 'height':
9398
9308
  setStyleAttribute(this.element, { height: formatUnit(newProp.height) });
9399
- if (!this.isServerRendered) {
9400
- this.setContentHeight(false);
9401
- }
9309
+ this.setContentHeight(false);
9402
9310
  break;
9403
9311
  case 'cssClass':
9404
- if (oldProp.cssClass !== '') {
9312
+ if (oldProp.cssClass !== '' && !isNullOrUndefined(oldProp.cssClass)) {
9405
9313
  this.setCssClass(this.element, oldProp.cssClass, false);
9406
9314
  this.setCssClass(this.element, newProp.cssClass, true);
9407
9315
  }
@@ -9410,26 +9318,17 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9410
9318
  }
9411
9319
  break;
9412
9320
  case 'items':
9413
- if (!this.isServerRendered) {
9414
- this.evalOnPropertyChangeItems(newProp, oldProp);
9415
- }
9321
+ this.evalOnPropertyChangeItems(newProp, oldProp);
9416
9322
  break;
9417
9323
  case 'showCloseButton':
9418
9324
  this.setCloseButton(newProp.showCloseButton);
9419
9325
  break;
9420
9326
  case 'selectedItem':
9421
- if (!this.isServerRendered) {
9422
- this.selectedItem = oldProp.selectedItem;
9423
- this.select(newProp.selectedItem);
9424
- }
9327
+ this.selectedItem = oldProp.selectedItem;
9328
+ this.select(newProp.selectedItem);
9425
9329
  break;
9426
9330
  case 'headerPlacement':
9427
- if (this.isServerRendered) {
9428
- this.serverChangeOrientation(newProp.headerPlacement, oldProp.headerPlacement);
9429
- }
9430
- else {
9431
- this.changeOrientation(newProp.headerPlacement);
9432
- }
9331
+ this.changeOrientation(newProp.headerPlacement);
9433
9332
  break;
9434
9333
  case 'enableRtl':
9435
9334
  this.setRTL(newProp.enableRtl);
@@ -9440,10 +9339,8 @@ var Tab = /** @__PURE__ @class */ (function (_super) {
9440
9339
  this.refreshActElePosition();
9441
9340
  break;
9442
9341
  case 'heightAdjustMode':
9443
- if (!this.isServerRendered) {
9444
- this.setContentHeight(false);
9445
- this.select(this.selectedItem);
9446
- }
9342
+ this.setContentHeight(false);
9343
+ this.select(this.selectedItem);
9447
9344
  break;
9448
9345
  case 'scrollStep':
9449
9346
  if (this.tbObj) {
@@ -15064,10 +14961,10 @@ var Sidebar = /** @__PURE__ @class */ (function (_super) {
15064
14961
  };
15065
14962
  Sidebar.prototype.wireEvents = function () {
15066
14963
  this.setEnableGestures();
15067
- window.addEventListener('resize', this.resize.bind(this));
14964
+ EventHandler.add(window, 'resize', this.resize, this);
15068
14965
  };
15069
14966
  Sidebar.prototype.unWireEvents = function () {
15070
- window.removeEventListener('resize', this.resize.bind(this));
14967
+ EventHandler.remove(window, 'resize', this.resize);
15071
14968
  EventHandler.remove(document, 'mousedown touchstart', this.documentclickHandler);
15072
14969
  if (this.mainContentEle) {
15073
14970
  this.mainContentEle.destroy();
@@ -15343,9 +15240,507 @@ var Sidebar = /** @__PURE__ @class */ (function (_super) {
15343
15240
  * Sidebar modules
15344
15241
  */
15345
15242
 
15243
+ var __extends$10 = (undefined && undefined.__extends) || (function () {
15244
+ var extendStatics = function (d, b) {
15245
+ extendStatics = Object.setPrototypeOf ||
15246
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
15247
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
15248
+ return extendStatics(d, b);
15249
+ };
15250
+ return function (d, b) {
15251
+ extendStatics(d, b);
15252
+ function __() { this.constructor = d; }
15253
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15254
+ };
15255
+ })();
15256
+ var __decorate$10 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
15257
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15258
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15259
+ 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;
15260
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
15261
+ };
15262
+ var ICONRIGHT = 'e-icon-right';
15263
+ var ITEMTEXTCLASS = 'e-breadcrumb-text';
15264
+ var ICONCLASS = 'e-breadcrumb-icon';
15265
+ var BreadcrumbItem = /** @__PURE__ @class */ (function (_super) {
15266
+ __extends$10(BreadcrumbItem, _super);
15267
+ function BreadcrumbItem() {
15268
+ return _super !== null && _super.apply(this, arguments) || this;
15269
+ }
15270
+ __decorate$10([
15271
+ Property('')
15272
+ ], BreadcrumbItem.prototype, "text", void 0);
15273
+ __decorate$10([
15274
+ Property('')
15275
+ ], BreadcrumbItem.prototype, "url", void 0);
15276
+ __decorate$10([
15277
+ Property(null)
15278
+ ], BreadcrumbItem.prototype, "iconCss", void 0);
15279
+ return BreadcrumbItem;
15280
+ }(ChildProperty));
15281
+ /**
15282
+ * Breadcrumb is a graphical user interface that helps to identify or highlight the current location within a hierarchical structure of websites.
15283
+ * The aim is to make the user aware of their current position in a hierarchy of website links.
15284
+ * ```html
15285
+ * <nav id='breadcrumb'></nav>
15286
+ * ```
15287
+ * ```typescript
15288
+ * <script>
15289
+ * var breadcrumbObj = new Breadcrumb({ items: [{ text: 'Home', url: '/' }, { text: 'Index', url: './index.html }]});
15290
+ * breadcrumbObj.appendTo("#breadcrumb");
15291
+ * </script>
15292
+ * ```
15293
+ */
15294
+ var Breadcrumb = /** @__PURE__ @class */ (function (_super) {
15295
+ __extends$10(Breadcrumb, _super);
15296
+ /**
15297
+ * Constructor for creating the widget.
15298
+ *
15299
+ * @private
15300
+ * @param {BreadcrumbModel} options - Specifies the Breadcrumb model.
15301
+ * @param {string | HTMLElement} element - Specifies the element.
15302
+ */
15303
+ function Breadcrumb(options, element) {
15304
+ return _super.call(this, options, element) || this;
15305
+ }
15306
+ /**
15307
+ * @private
15308
+ * @returns {void}
15309
+ */
15310
+ Breadcrumb.prototype.preRender = function () {
15311
+ // pre render code
15312
+ };
15313
+ /**
15314
+ * Initialize the control rendering.
15315
+ *
15316
+ * @private
15317
+ * @returns {void}
15318
+ */
15319
+ Breadcrumb.prototype.render = function () {
15320
+ this.initialize();
15321
+ this.renderItems(this.items);
15322
+ this.wireEvents();
15323
+ };
15324
+ Breadcrumb.prototype.initialize = function () {
15325
+ this._maxItems = this.maxItems;
15326
+ this.element.setAttribute('aria-label', 'breadcrumb');
15327
+ if (this.cssClass) {
15328
+ addClass([this.element], this.cssClass.split(' '));
15329
+ }
15330
+ this.setWidth();
15331
+ this.initItems();
15332
+ this.initPvtProps();
15333
+ };
15334
+ Breadcrumb.prototype.initPvtProps = function () {
15335
+ if (this.overflowMode === 'Default' && this._maxItems > 0) {
15336
+ this.startIndex = this.items.length - (this._maxItems - 1);
15337
+ this.endIndex = this.items.length - 1;
15338
+ }
15339
+ };
15340
+ Breadcrumb.prototype.setWidth = function () {
15341
+ if (this.width) {
15342
+ this.element.style.width = this.width;
15343
+ }
15344
+ };
15345
+ Breadcrumb.prototype.initItems = function () {
15346
+ if (!this.items.length) {
15347
+ var baseUri = void 0;
15348
+ var uri = void 0;
15349
+ var items = [];
15350
+ if (this.url) {
15351
+ var url = new URL(this.url);
15352
+ baseUri = url.origin + '/';
15353
+ uri = url.href.split(baseUri)[1].split('/');
15354
+ }
15355
+ else {
15356
+ baseUri = window.location.origin + '/';
15357
+ uri = window.location.href.split(baseUri)[1].split('/');
15358
+ }
15359
+ items.push({ iconCss: 'e-icons e-home', url: baseUri });
15360
+ for (var i = 0; i < uri.length; i++) {
15361
+ items.push({ text: uri[i], url: baseUri + uri[i] });
15362
+ baseUri += uri[i] + '/';
15363
+ }
15364
+ this.setProperties({ items: items }, true);
15365
+ }
15366
+ };
15367
+ Breadcrumb.prototype.renderItems = function (items) {
15368
+ var _this = this;
15369
+ var item;
15370
+ var isSingleLevel;
15371
+ var isIconRight = this.element.classList.contains(ICONRIGHT);
15372
+ var itemsLength = items.length;
15373
+ if (itemsLength) {
15374
+ var isActiveItem = void 0;
15375
+ var isLastItem = void 0;
15376
+ var j_1 = 0;
15377
+ var len = (itemsLength * 2) - 1;
15378
+ var ol = this.createElement('ol');
15379
+ var showIcon = this.hasField(items, 'iconCss');
15380
+ var isDisabled_1 = this.element.classList.contains('e-disabled');
15381
+ var isCollasped = (this.overflowMode === 'Collapsed' && this._maxItems > 0 && itemsLength > this.maxItems && !this.isExpanded);
15382
+ var isDefaultOverflowMode_1 = (this.overflowMode === 'Default' && this._maxItems > 0);
15383
+ var listBaseOptions = {
15384
+ moduleName: this.getModuleName(),
15385
+ showIcon: showIcon,
15386
+ itemNavigable: true,
15387
+ itemCreated: function (args) {
15388
+ var isLastItem = args.curData.isLastItem;
15389
+ if (args.curData.isEmptyUrl) {
15390
+ args.item.children[0].removeAttribute('href');
15391
+ if (!isLastItem || (isLastItem && _this.enableActiveItemNavigation)) {
15392
+ args.item.children[0].setAttribute('tabindex', '0');
15393
+ EventHandler.add(args.item.children[0], 'keydown', _this.keyDownHandler, _this);
15394
+ }
15395
+ }
15396
+ if (isLastItem && args.item.children.length && !_this.itemTemplate) {
15397
+ delete args.curData.isLastItem;
15398
+ args.item.innerHTML = _this.createElement('span', { className: ITEMTEXTCLASS, innerHTML: args.item.children[0].innerHTML }).outerHTML;
15399
+ }
15400
+ if (args.curData.iconCss && !args.curData.text && !_this.itemTemplate) {
15401
+ args.item.classList.add('e-icon-item');
15402
+ }
15403
+ if (isDefaultOverflowMode_1) {
15404
+ args.item.setAttribute('item-index', j_1.toString());
15405
+ }
15406
+ if (args.item.querySelector('.' + ITEMTEXTCLASS)) {
15407
+ EventHandler.add(args.item.querySelector('.' + ITEMTEXTCLASS), 'focus', function () {
15408
+ args.item.classList.add('e-focus');
15409
+ }, _this);
15410
+ EventHandler.add(args.item.querySelector('.' + ITEMTEXTCLASS), 'focusout', function () {
15411
+ args.item.classList.remove('e-focus');
15412
+ }, _this);
15413
+ }
15414
+ var eventArgs = {
15415
+ item: extend({}, args.curData.properties ?
15416
+ args.curData.properties : args.curData), element: args.item
15417
+ };
15418
+ _this.trigger('beforeItemRender', eventArgs);
15419
+ var containsRightIcon = (isIconRight || eventArgs.element.classList.contains(ICONRIGHT));
15420
+ if (containsRightIcon && args.curData.iconCss && !_this.itemTemplate) {
15421
+ args.item.querySelector('.e-anchor-wrap').append(args.item.querySelector('.' + ICONCLASS));
15422
+ }
15423
+ if (isDisabled_1 || eventArgs.element.classList.contains('e-disabled')) {
15424
+ args.item.setAttribute('aria-disabled', 'true');
15425
+ }
15426
+ if (!_this.itemTemplate) {
15427
+ _this.beforeItemRenderChanges(args.curData, eventArgs.item, args.item, containsRightIcon);
15428
+ }
15429
+ }
15430
+ };
15431
+ for (var i = 0; i < len; i % 2 && j_1++, i++) {
15432
+ isActiveItem = (this.activeItem && this.activeItem === items[j_1].url);
15433
+ if (isCollasped && i > 1 && i < len - 2) {
15434
+ continue;
15435
+ }
15436
+ else if (isDefaultOverflowMode_1 && ((j_1 < this.startIndex || j_1 > this.endIndex)
15437
+ && (i % 2 ? j_1 !== this.startIndex - 1 : true)) && j_1 !== 0) {
15438
+ continue;
15439
+ }
15440
+ if (i % 2) {
15441
+ // separator item
15442
+ listBaseOptions.template = this.separatorTemplate ? this.separatorTemplate : '/';
15443
+ listBaseOptions.itemClass = 'e-breadcrumb-separator';
15444
+ isSingleLevel = false;
15445
+ item = [{ previousItem: item.pop(), nextItem: items[j_1] }];
15446
+ }
15447
+ else {
15448
+ // list item
15449
+ listBaseOptions.itemClass = '';
15450
+ if (this.itemTemplate) {
15451
+ listBaseOptions.template = this.itemTemplate;
15452
+ isSingleLevel = false;
15453
+ }
15454
+ else {
15455
+ isSingleLevel = true;
15456
+ }
15457
+ item = [extend({}, items[j_1].properties ? items[j_1].properties
15458
+ : items[j_1])];
15459
+ if (!item[0].url && !this.itemTemplate) {
15460
+ item = [extend({}, item[0], { isEmptyUrl: true, url: '#' })];
15461
+ }
15462
+ isLastItem = isDefaultOverflowMode_1 && (j_1 === this.endIndex);
15463
+ if ((((i === len - 1 || isLastItem) && !this.itemTemplate) || isActiveItem) && !this.enableActiveItemNavigation) {
15464
+ item[0].isLastItem = true;
15465
+ }
15466
+ }
15467
+ append(ListBase.createList(this.createElement, item, listBaseOptions, isSingleLevel, this)
15468
+ .childNodes, ol);
15469
+ if (isCollasped && i === 1) {
15470
+ var li = this.createElement('li', { className: 'e-icons e-breadcrumb-collapsed', attrs: { 'tabindex': '0' } });
15471
+ EventHandler.add(li, 'keyup', this.expandHandler, this);
15472
+ ol.append(li);
15473
+ }
15474
+ if (isActiveItem || isLastItem) {
15475
+ break;
15476
+ }
15477
+ }
15478
+ if (this.isReact) {
15479
+ this.renderReactTemplates();
15480
+ }
15481
+ this.element.append(ol);
15482
+ this.calculateMaxItems();
15483
+ }
15484
+ };
15485
+ Breadcrumb.prototype.calculateMaxItems = function () {
15486
+ if (!this._maxItems) {
15487
+ if (this.overflowMode === 'Default' || this.overflowMode === 'Collapsed') {
15488
+ var width = this.element.offsetWidth;
15489
+ var liWidth = this.element.children[0].children[0].offsetWidth;
15490
+ var liElems = [].slice.call(this.element.children[0].children).reverse();
15491
+ for (var i = 0; i < liElems.length; i++) {
15492
+ if (liWidth > width) {
15493
+ this._maxItems = Math.ceil((i - 1) / 2) + 1;
15494
+ this.initPvtProps();
15495
+ return this.reRenderItems();
15496
+ }
15497
+ else {
15498
+ liWidth += liElems[i].offsetWidth;
15499
+ }
15500
+ }
15501
+ }
15502
+ }
15503
+ };
15504
+ Breadcrumb.prototype.hasField = function (items, field) {
15505
+ for (var i = 0, len = items.length; i < len; i++) {
15506
+ if (items[i][field]) {
15507
+ return true;
15508
+ }
15509
+ }
15510
+ return false;
15511
+ };
15512
+ Breadcrumb.prototype.beforeItemRenderChanges = function (prevItem, currItem, elem, isRightIcon) {
15513
+ var wrapElem = elem.querySelector('.e-anchor-wrap');
15514
+ if (currItem.text !== prevItem.text) {
15515
+ wrapElem.childNodes.forEach(function (child) {
15516
+ if (child.nodeType === Node.TEXT_NODE) {
15517
+ child.textContent = currItem.text;
15518
+ }
15519
+ });
15520
+ }
15521
+ if (currItem.iconCss !== prevItem.iconCss) {
15522
+ var iconElem = elem.querySelector('.' + ICONCLASS);
15523
+ if (iconElem) {
15524
+ if (currItem.iconCss) {
15525
+ removeClass([iconElem], prevItem.iconCss.split(' '));
15526
+ addClass([iconElem], currItem.iconCss.split(' '));
15527
+ }
15528
+ else {
15529
+ iconElem.remove();
15530
+ }
15531
+ }
15532
+ else if (currItem.iconCss) {
15533
+ var iconElem_1 = this.createElement('span', { className: ICONCLASS + ' ' + currItem.iconCss });
15534
+ if (isRightIcon) {
15535
+ append([iconElem_1], wrapElem);
15536
+ }
15537
+ else {
15538
+ wrapElem.insertBefore(iconElem_1, wrapElem.childNodes[0]);
15539
+ }
15540
+ }
15541
+ }
15542
+ if (currItem.url !== prevItem.url && this.enableNavigation) {
15543
+ var anchor = elem.querySelector('a.' + ITEMTEXTCLASS);
15544
+ if (anchor) {
15545
+ if (currItem.url) {
15546
+ anchor.setAttribute('href', currItem.url);
15547
+ }
15548
+ else {
15549
+ anchor.removeAttribute('href');
15550
+ }
15551
+ }
15552
+ }
15553
+ };
15554
+ Breadcrumb.prototype.reRenderItems = function () {
15555
+ this.element.innerHTML = '';
15556
+ this.renderItems(this.items);
15557
+ };
15558
+ Breadcrumb.prototype.clickHandler = function (e) {
15559
+ var li = closest(e.target, '.e-breadcrumb-item');
15560
+ if (li && (closest(e.target, '.' + ITEMTEXTCLASS) || this.itemTemplate)) {
15561
+ var idx = [].slice.call(li.parentElement.children).indexOf(li);
15562
+ idx = Math.floor(idx / 2);
15563
+ if (this.overflowMode === 'Default' && this._maxItems > 0 && this.endIndex !== 0) {
15564
+ idx = parseInt(li.getAttribute('item-index'), 10);
15565
+ if (this.startIndex > 1) {
15566
+ this.startIndex -= (this.endIndex - idx);
15567
+ }
15568
+ this.endIndex = idx;
15569
+ this.reRenderItems();
15570
+ }
15571
+ this.trigger('itemClick', { element: li, item: this.items[idx], event: e });
15572
+ if (this.items[idx].url) {
15573
+ this.activeItem = this.items[idx].url;
15574
+ this.dataBind();
15575
+ }
15576
+ }
15577
+ if (!this.enableNavigation) {
15578
+ e.preventDefault();
15579
+ }
15580
+ if (e.target.classList.contains('e-breadcrumb-collapsed')) {
15581
+ this.isExpanded = true;
15582
+ this.reRenderItems();
15583
+ }
15584
+ };
15585
+ Breadcrumb.prototype.resize = function () {
15586
+ this._maxItems = this.maxItems;
15587
+ this.initPvtProps();
15588
+ this.reRenderItems();
15589
+ };
15590
+ Breadcrumb.prototype.expandHandler = function (e) {
15591
+ if (e.key === 'Enter') {
15592
+ this.isExpanded = true;
15593
+ this.reRenderItems();
15594
+ }
15595
+ };
15596
+ Breadcrumb.prototype.keyDownHandler = function (e) {
15597
+ if (e.key === 'Enter') {
15598
+ this.clickHandler(e);
15599
+ }
15600
+ };
15601
+ /**
15602
+ * Called internally if any of the property value changed.
15603
+ *
15604
+ * @private
15605
+ * @param {BreadcrumbModel} newProp - Specifies the new properties.
15606
+ * @param {BreadcrumbModel} oldProp - Specifies the old properties.
15607
+ * @returns {void}
15608
+ */
15609
+ Breadcrumb.prototype.onPropertyChanged = function (newProp, oldProp) {
15610
+ for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {
15611
+ var prop = _a[_i];
15612
+ switch (prop) {
15613
+ case 'activeItem':
15614
+ case 'items':
15615
+ case 'enableActiveItemNavigation':
15616
+ this.reRenderItems();
15617
+ break;
15618
+ case 'overflowMode':
15619
+ case 'maxItems':
15620
+ this.initPvtProps();
15621
+ this.reRenderItems();
15622
+ break;
15623
+ case 'url':
15624
+ this.initItems();
15625
+ this.reRenderItems();
15626
+ break;
15627
+ case 'width':
15628
+ this.setWidth();
15629
+ this._maxItems = this.maxItems;
15630
+ this.initPvtProps();
15631
+ this.reRenderItems();
15632
+ break;
15633
+ case 'cssClass':
15634
+ if (oldProp.cssClass) {
15635
+ removeClass([this.element], oldProp.cssClass.split(' '));
15636
+ }
15637
+ if (newProp.cssClass) {
15638
+ addClass([this.element], newProp.cssClass.split(' '));
15639
+ }
15640
+ if ((oldProp.cssClass && oldProp.cssClass.indexOf(ICONRIGHT) > -1) && !(newProp.cssClass &&
15641
+ newProp.cssClass.indexOf(ICONRIGHT) > -1) || !(oldProp.cssClass && oldProp.cssClass.indexOf(ICONRIGHT) > -1) &&
15642
+ (newProp.cssClass && newProp.cssClass.indexOf(ICONRIGHT) > -1)) {
15643
+ this.reRenderItems();
15644
+ }
15645
+ break;
15646
+ }
15647
+ }
15648
+ };
15649
+ Breadcrumb.prototype.wireEvents = function () {
15650
+ EventHandler.add(this.element, 'click', this.clickHandler, this);
15651
+ window.addEventListener('resize', this.resize.bind(this));
15652
+ };
15653
+ Breadcrumb.prototype.unWireEvents = function () {
15654
+ EventHandler.remove(this.element, 'click', this.clickHandler);
15655
+ window.removeEventListener('resize', this.resize.bind(this));
15656
+ };
15657
+ /**
15658
+ * Get the properties to be maintained in the persisted state.
15659
+ *
15660
+ * @returns {string} - Persist data
15661
+ */
15662
+ Breadcrumb.prototype.getPersistData = function () {
15663
+ return this.addOnPersist(['activeItem']);
15664
+ };
15665
+ /**
15666
+ * Get module name.
15667
+ *
15668
+ * @private
15669
+ * @returns {string} - Module Name
15670
+ */
15671
+ Breadcrumb.prototype.getModuleName = function () {
15672
+ return 'breadcrumb';
15673
+ };
15674
+ /**
15675
+ * Destroys the widget.
15676
+ *
15677
+ * @returns {void}
15678
+ */
15679
+ Breadcrumb.prototype.destroy = function () {
15680
+ this.unWireEvents();
15681
+ this.element.innerHTML = '';
15682
+ if (this.cssClass) {
15683
+ removeClass([this.element], this.cssClass.split(' '));
15684
+ }
15685
+ };
15686
+ __decorate$10([
15687
+ Property('')
15688
+ ], Breadcrumb.prototype, "url", void 0);
15689
+ __decorate$10([
15690
+ Collection([], BreadcrumbItem)
15691
+ ], Breadcrumb.prototype, "items", void 0);
15692
+ __decorate$10([
15693
+ Property('')
15694
+ ], Breadcrumb.prototype, "activeItem", void 0);
15695
+ __decorate$10([
15696
+ Property(0)
15697
+ ], Breadcrumb.prototype, "maxItems", void 0);
15698
+ __decorate$10([
15699
+ Property('Default')
15700
+ ], Breadcrumb.prototype, "overflowMode", void 0);
15701
+ __decorate$10([
15702
+ Property('')
15703
+ ], Breadcrumb.prototype, "cssClass", void 0);
15704
+ __decorate$10([
15705
+ Property('')
15706
+ ], Breadcrumb.prototype, "width", void 0);
15707
+ __decorate$10([
15708
+ Property(null)
15709
+ ], Breadcrumb.prototype, "itemTemplate", void 0);
15710
+ __decorate$10([
15711
+ Property('/')
15712
+ ], Breadcrumb.prototype, "separatorTemplate", void 0);
15713
+ __decorate$10([
15714
+ Property(true)
15715
+ ], Breadcrumb.prototype, "enableNavigation", void 0);
15716
+ __decorate$10([
15717
+ Property(false)
15718
+ ], Breadcrumb.prototype, "enableActiveItemNavigation", void 0);
15719
+ __decorate$10([
15720
+ Property('')
15721
+ ], Breadcrumb.prototype, "locale", void 0);
15722
+ __decorate$10([
15723
+ Event()
15724
+ ], Breadcrumb.prototype, "beforeItemRender", void 0);
15725
+ __decorate$10([
15726
+ Event()
15727
+ ], Breadcrumb.prototype, "itemClick", void 0);
15728
+ __decorate$10([
15729
+ Event()
15730
+ ], Breadcrumb.prototype, "created", void 0);
15731
+ Breadcrumb = __decorate$10([
15732
+ NotifyPropertyChanges
15733
+ ], Breadcrumb);
15734
+ return Breadcrumb;
15735
+ }(Component));
15736
+
15737
+ /**
15738
+ * Breadcrumb modules
15739
+ */
15740
+
15346
15741
  /**
15347
15742
  * Navigation all modules
15348
15743
  */
15349
15744
 
15350
- export { MenuAnimationSettings, MenuItem, HScroll, VScroll, addScrolling, destroyScroll, Item, Toolbar, AccordionActionSettings, AccordionAnimationSettings, AccordionItem, Accordion, ContextMenu, Menu, TabActionSettings, TabAnimationSettings, Header, TabItem, Tab, FieldsSettings, ActionSettings, NodeAnimationSettings, TreeView, Sidebar };
15745
+ export { MenuAnimationSettings, MenuItem, HScroll, VScroll, addScrolling, destroyScroll, Item, Toolbar, AccordionActionSettings, AccordionAnimationSettings, AccordionItem, Accordion, ContextMenu, Menu, TabActionSettings, TabAnimationSettings, Header, TabItem, Tab, FieldsSettings, ActionSettings, NodeAnimationSettings, TreeView, Sidebar, BreadcrumbItem, Breadcrumb };
15351
15746
  //# sourceMappingURL=ej2-navigations.es5.js.map