@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
@@ -5073,7 +5073,7 @@ let Toolbar = class Toolbar extends Component {
5073
5073
  for (const prop of Object.keys(newProp)) {
5074
5074
  switch (prop) {
5075
5075
  case 'items':
5076
- if (!(newProp.items instanceof Array && oldProp.items instanceof Array) && !this.isServerRendered) {
5076
+ if (!(newProp.items instanceof Array && oldProp.items instanceof Array)) {
5077
5077
  const changedProb = Object.keys(newProp.items);
5078
5078
  for (let i = 0; i < changedProb.length; i++) {
5079
5079
  const index = parseInt(Object.keys(newProp.items)[i], 10);
@@ -5464,15 +5464,10 @@ let Accordion = class Accordion extends Component {
5464
5464
  * @returns {void}
5465
5465
  */
5466
5466
  render() {
5467
- if (!this.isServerRendered) {
5468
- this.initializeheaderTemplate();
5469
- this.initializeItemTemplate();
5470
- this.initialize();
5471
- this.renderControl();
5472
- }
5473
- else {
5474
- this.wireFocusEvents();
5475
- }
5467
+ this.initializeHeaderTemplate();
5468
+ this.initializeItemTemplate();
5469
+ this.initialize();
5470
+ this.renderControl();
5476
5471
  this.wireEvents();
5477
5472
  this.renderComplete();
5478
5473
  }
@@ -5542,7 +5537,7 @@ let Accordion = class Accordion extends Component {
5542
5537
  }
5543
5538
  return undefined;
5544
5539
  }
5545
- initializeheaderTemplate() {
5540
+ initializeHeaderTemplate() {
5546
5541
  if (this.headerTemplate) {
5547
5542
  this.headerTemplateFn = this.templateParser(this.headerTemplate);
5548
5543
  }
@@ -5553,7 +5548,7 @@ let Accordion = class Accordion extends Component {
5553
5548
  }
5554
5549
  }
5555
5550
  /* eslint-disable */
5556
- getheaderTemplate() {
5551
+ getHeaderTemplate() {
5557
5552
  return this.headerTemplateFn;
5558
5553
  }
5559
5554
  /* eslint-disable */
@@ -5684,32 +5679,9 @@ let Accordion = class Accordion extends Component {
5684
5679
  eventArgs.originalEvent = e;
5685
5680
  const ctnCheck = !isNullOrUndefined(tglIcon) && acrdnItem.childElementCount <= 1;
5686
5681
  if (ctnCheck && (isNullOrUndefined(acrdnCtn) || !isNullOrUndefined(select('.' + CLS_HEADER + ' .' + CLS_TOOGLEICN, acrdnCtnItem)))) {
5687
- if (!this.isServerRendered) {
5688
- acrdnItem.appendChild(this.contentRendering(index));
5689
- this.ariaAttrUpdate(acrdnItem);
5690
- this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
5691
- }
5692
- else {
5693
- const id = acrdnItem.id;
5694
- if (this.items.length > 0) {
5695
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5696
- this.interopAdaptor.invokeMethodAsync('OnItemClick', index).then(() => {
5697
- if (this.isDestroyed) {
5698
- return;
5699
- }
5700
- this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
5701
- });
5702
- }
5703
- else {
5704
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5705
- this.interopAdaptor.invokeMethodAsync('OnDataClick', id).then(() => {
5706
- if (this.isDestroyed) {
5707
- return;
5708
- }
5709
- this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
5710
- });
5711
- }
5712
- }
5682
+ acrdnItem.appendChild(this.contentRendering(index));
5683
+ this.ariaAttrUpdate(acrdnItem);
5684
+ this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
5713
5685
  }
5714
5686
  else {
5715
5687
  this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
@@ -5843,7 +5815,7 @@ let Accordion = class Accordion extends Component {
5843
5815
  const ctnEle = this.headerEleGenerate();
5844
5816
  const hdrEle = this.createElement('div', { className: CLS_HEADERCTN });
5845
5817
  ctnEle.appendChild(hdrEle);
5846
- append(this.getheaderTemplate()(item, this, 'headerTemplate', this.element.id + '_headerTemplate', false), hdrEle);
5818
+ append(this.getHeaderTemplate()(item, this, 'headerTemplate', this.element.id + '_headerTemplate', false), hdrEle);
5847
5819
  innerEle.appendChild(ctnEle);
5848
5820
  ctnEle.appendChild(this.toggleIconGenerate());
5849
5821
  this.add(innerEle, CLS_SLCT);
@@ -6374,16 +6346,6 @@ let Accordion = class Accordion extends Component {
6374
6346
  eleHeader.removeAttribute('tabindex');
6375
6347
  }
6376
6348
  }
6377
- /**
6378
- * Refresh the Accordion component.
6379
- *
6380
- * @returns {void}.
6381
- */
6382
- refresh() {
6383
- if (!this.isServerRendered) {
6384
- super.refresh();
6385
- }
6386
- }
6387
6349
  /**
6388
6350
  * Expands/Collapses the specified Accordion item.
6389
6351
  *
@@ -6433,35 +6395,10 @@ let Accordion = class Accordion extends Component {
6433
6395
  return;
6434
6396
  }
6435
6397
  if (isNullOrUndefined(ctn) && isExpand) {
6436
- if (!this.isServerRendered) {
6437
- ctn = this.contentRendering(index);
6438
- ele.appendChild(ctn);
6439
- this.ariaAttrUpdate(ele);
6440
- this.expand(ctn);
6441
- }
6442
- else {
6443
- const id = ele.id;
6444
- if (this.items.length > 0) {
6445
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6446
- this.interopAdaptor.invokeMethodAsync('OnItemClick', index).then(() => {
6447
- if (this.isDestroyed) {
6448
- return;
6449
- }
6450
- ctn = ele.children[1];
6451
- this.expand(ctn);
6452
- });
6453
- }
6454
- else {
6455
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6456
- this.interopAdaptor.invokeMethodAsync('OnDataClick', id).then(() => {
6457
- if (this.isDestroyed) {
6458
- return;
6459
- }
6460
- ctn = ele.children[1];
6461
- this.expand(ctn);
6462
- });
6463
- }
6464
- }
6398
+ ctn = this.contentRendering(index);
6399
+ ele.appendChild(ctn);
6400
+ this.ariaAttrUpdate(ele);
6401
+ this.expand(ctn);
6465
6402
  }
6466
6403
  else if (!isNullOrUndefined(ctn)) {
6467
6404
  if (isExpand) {
@@ -6546,10 +6483,6 @@ let Accordion = class Accordion extends Component {
6546
6483
  for (const prop of Object.keys(newProp)) {
6547
6484
  switch (prop) {
6548
6485
  case 'items':
6549
- if (this.isServerRendered) {
6550
- this.wireFocusEvents();
6551
- break;
6552
- }
6553
6486
  if (!(newProp.items instanceof Array && oldProp.items instanceof Array)) {
6554
6487
  const changedProp = Object.keys(newProp.items);
6555
6488
  for (let j = 0; j < changedProp.length; j++) {
@@ -6604,7 +6537,7 @@ let Accordion = class Accordion extends Component {
6604
6537
  isRefresh = true;
6605
6538
  break;
6606
6539
  case 'headerTemplate':
6607
- this.initializeheaderTemplate();
6540
+ this.initializeHeaderTemplate();
6608
6541
  isRefresh = true;
6609
6542
  break;
6610
6543
  case 'itemTemplate':
@@ -6638,7 +6571,7 @@ let Accordion = class Accordion extends Component {
6638
6571
  break;
6639
6572
  }
6640
6573
  }
6641
- if (isRefresh && !this.isServerRendered) {
6574
+ if (isRefresh) {
6642
6575
  this.initExpand = [];
6643
6576
  if (this.expandedIndices.length > 0) {
6644
6577
  this.initExpand = this.expandedIndices;
@@ -7285,12 +7218,7 @@ let Tab = class Tab extends Component {
7285
7218
  if (this.isReact) {
7286
7219
  this.clearTemplate();
7287
7220
  }
7288
- if (!this.isServerRendered) {
7289
- super.refresh();
7290
- }
7291
- else if (this.isServerRendered && this.loadOn !== 'Dynamic') {
7292
- this.setActiveBorder();
7293
- }
7221
+ super.refresh();
7294
7222
  if (this.isReact) {
7295
7223
  this.renderReactTemplates();
7296
7224
  }
@@ -7336,10 +7264,6 @@ let Tab = class Tab extends Component {
7336
7264
  this.initRender = false;
7337
7265
  }
7338
7266
  renderContainer() {
7339
- if (this.isServerRendered) {
7340
- this.isTemplate = false;
7341
- return;
7342
- }
7343
7267
  const ele = this.element;
7344
7268
  this.items.forEach((item, index) => {
7345
7269
  if (isNullOrUndefined(item.id) && !isNullOrUndefined(item.setProperties)) {
@@ -7545,7 +7469,17 @@ let Tab = class Tab extends Component {
7545
7469
  if (typeof txt === 'string' && this.enableHtmlSanitizer) {
7546
7470
  txt = SanitizeHtmlHelper.sanitize(txt);
7547
7471
  }
7548
- this.lastIndex = ((tbCount === 0) ? i : ((this.isReplace) ? (index + i) : (this.lastIndex + 1)));
7472
+ let itemIndex;
7473
+ if (this.isReplace && !isNullOrUndefined(this.tbId) && this.tbId !== '') {
7474
+ const num = (this.tbId.indexOf('_'));
7475
+ itemIndex = parseInt(this.tbId.substring(num + 1), 10);
7476
+ this.tbId = '';
7477
+ }
7478
+ else {
7479
+ itemIndex = index + i;
7480
+ }
7481
+ const addIndex = this.isAdd ? tbCount + i : this.lastIndex + 1;
7482
+ this.lastIndex = ((tbCount === 0) ? i : ((this.isReplace) ? (itemIndex) : (addIndex)));
7549
7483
  const disabled = (item.disabled) ? ' ' + CLS_DISABLE$4 + ' ' + CLS_OVERLAY$2 : '';
7550
7484
  const hidden = (item.visible === false) ? ' ' + CLS_HIDDEN$1 : '';
7551
7485
  txtWrapEle = this.createElement('div', { className: CLS_TEXT, attrs: { 'role': 'presentation' } });
@@ -7731,23 +7665,17 @@ let Tab = class Tab extends Component {
7731
7665
  triggerAnimation(id, value) {
7732
7666
  const prevIndex = this.prevIndex;
7733
7667
  let oldCnt;
7734
- let newCnt;
7735
- if (!this.isServerRendered || (this.isServerRendered && this.loadOn !== 'Dynamic')) {
7736
- const itemCollection = [].slice.call(this.element.querySelector('.' + CLS_CONTENT$1).children);
7737
- itemCollection.forEach((item) => {
7738
- if (item.id === this.prevActiveEle) {
7739
- oldCnt = item;
7740
- }
7741
- });
7742
- const prevEle = this.tbItem[prevIndex];
7743
- newCnt = this.getTrgContent(this.cntEle, this.extIndex(id));
7744
- if (isNullOrUndefined(oldCnt) && !isNullOrUndefined(prevEle)) {
7745
- const idNo = this.extIndex(prevEle.id);
7746
- oldCnt = this.getTrgContent(this.cntEle, idNo);
7668
+ const itemCollection = [].slice.call(this.element.querySelector('.' + CLS_CONTENT$1).children);
7669
+ itemCollection.forEach((item) => {
7670
+ if (item.id === this.prevActiveEle) {
7671
+ oldCnt = item;
7747
7672
  }
7748
- }
7749
- else {
7750
- newCnt = this.cntEle.firstElementChild;
7673
+ });
7674
+ const prevEle = this.tbItem[prevIndex];
7675
+ const newCnt = this.getTrgContent(this.cntEle, this.extIndex(id));
7676
+ if (isNullOrUndefined(oldCnt) && !isNullOrUndefined(prevEle)) {
7677
+ const idNo = this.extIndex(prevEle.id);
7678
+ oldCnt = this.getTrgContent(this.cntEle, idNo);
7751
7679
  }
7752
7680
  if (!isNullOrUndefined(newCnt)) {
7753
7681
  this.prevActiveEle = newCnt.id;
@@ -7976,21 +7904,6 @@ let Tab = class Tab extends Component {
7976
7904
  curActItem.firstElementChild.focus();
7977
7905
  }
7978
7906
  }
7979
- serverChangeOrientation(newProp, oldProp) {
7980
- this.setOrientation(newProp, this.hdrEle);
7981
- removeClass([this.element], [CLS_VTAB]);
7982
- const newValue = newProp === 'Left' || newProp === 'Right';
7983
- const oldValue = oldProp === 'Left' || oldProp === 'Right';
7984
- if (newValue !== oldValue) {
7985
- this.changeToolbarOrientation();
7986
- }
7987
- if (this.isVertical()) {
7988
- addClass([this.element], [CLS_VTAB]);
7989
- }
7990
- this.updateOrientationAttribute();
7991
- this.setActiveBorder();
7992
- this.focusItem();
7993
- }
7994
7907
  changeToolbarOrientation() {
7995
7908
  this.tbObj.setProperties({ height: (this.isVertical() ? '100%' : 'auto'), width: (this.isVertical() ? 'auto' : '100%') }, true);
7996
7909
  this.tbObj.changeOrientation();
@@ -8075,6 +7988,9 @@ let Tab = class Tab extends Component {
8075
7988
  }
8076
7989
  this.templateEle = [];
8077
7990
  this.getContent(ele, this.items[0].content, 'render', 0);
7991
+ if (this.prevIndex !== this.selectedItem) {
7992
+ ele.classList.remove(CLS_ACTIVE$1);
7993
+ }
8078
7994
  }
8079
7995
  setStyleAttribute(this.cntEle, { 'height': this.maxHeight + 'px' });
8080
7996
  }
@@ -8093,9 +8009,6 @@ let Tab = class Tab extends Component {
8093
8009
  if (trg === null) {
8094
8010
  return;
8095
8011
  }
8096
- if (this.isServerRendered && trg.classList.contains(CLS_TB_POPUP)) {
8097
- this.popupHandler(trg);
8098
- }
8099
8012
  const root = closest(trg, '.' + CLS_TAB);
8100
8013
  if (this.element !== root) {
8101
8014
  return;
@@ -8136,9 +8049,6 @@ let Tab = class Tab extends Component {
8136
8049
  setActive(value, skipDataBind = false) {
8137
8050
  this.tbItem = selectAll('.' + CLS_TB_ITEM, this.getTabHeader());
8138
8051
  const trg = this.tbItem[value];
8139
- if (this.isServerRendered && trg) {
8140
- value = parseInt(trg.getAttribute('data-index'), 10);
8141
- }
8142
8052
  if (value < 0 || isNaN(value) || this.tbItem.length === 0) {
8143
8053
  return;
8144
8054
  }
@@ -8180,7 +8090,7 @@ let Tab = class Tab extends Component {
8180
8090
  this.triggerAnimation(id, this.enableAnimation);
8181
8091
  }
8182
8092
  }
8183
- else if (!this.isServerRendered || (this.isServerRendered && this.loadOn === 'Init')) {
8093
+ else {
8184
8094
  this.cntEle = select('.' + CLS_TAB + ' > .' + CLS_CONTENT$1, this.element);
8185
8095
  const item = this.getTrgContent(this.cntEle, this.extIndex(id));
8186
8096
  if (isNullOrUndefined(item)) {
@@ -8297,12 +8207,7 @@ let Tab = class Tab extends Component {
8297
8207
  }
8298
8208
  else {
8299
8209
  this.isPopup = false;
8300
- if (this.isServerRendered && !isNullOrUndefined(trgParent)) {
8301
- if (parseInt(trgParent.getAttribute('data-index'), 10) !== this.selectedItem) {
8302
- this.select(trgIndex);
8303
- }
8304
- }
8305
- else if (!isNullOrUndefined(trgParent) && (trgIndex !== this.selectedItem || trgIndex !== this.prevIndex)) {
8210
+ if (!isNullOrUndefined(trgParent) && (trgIndex !== this.selectedItem || trgIndex !== this.prevIndex)) {
8306
8211
  this.select(trgIndex, args.originalEvent);
8307
8212
  }
8308
8213
  }
@@ -8447,8 +8352,17 @@ let Tab = class Tab extends Component {
8447
8352
  const property = Object.keys(newProp.items[index])[0];
8448
8353
  const oldVal = Object(oldProp.items[index])[property];
8449
8354
  const newVal = Object(newProp.items[index])[property];
8450
- const hdrItem = select('.' + CLS_TB_ITEMS + ' #' + CLS_ITEM$2 + this.tabId + '_' + index, this.element);
8451
- const cntItem = select('.' + CLS_CONTENT$1 + ' #' + CLS_CONTENT$1 + this.tabId + '_' + index, this.element);
8355
+ const hdr = this.element.querySelectorAll('.' + CLS_TB_ITEM)[index];
8356
+ let itemIndex;
8357
+ if (hdr && !isNullOrUndefined(hdr.id) && hdr.id !== '') {
8358
+ const num = (hdr.id.indexOf('_'));
8359
+ itemIndex = parseInt(hdr.id.substring(num + 1), 10);
8360
+ }
8361
+ else {
8362
+ itemIndex = index;
8363
+ }
8364
+ const hdrItem = select('.' + CLS_TB_ITEMS + ' #' + CLS_ITEM$2 + this.tabId + '_' + itemIndex, this.element);
8365
+ const cntItem = select('.' + CLS_CONTENT$1 + ' #' + CLS_CONTENT$1 + this.tabId + '_' + itemIndex, this.element);
8452
8366
  if (property === 'header' || property === 'headerTemplate') {
8453
8367
  const icon = (isNullOrUndefined(this.items[index].header) ||
8454
8368
  isNullOrUndefined(this.items[index].header.iconCss)) ? '' : this.items[index].header.iconCss;
@@ -8457,6 +8371,7 @@ let Tab = class Tab extends Component {
8457
8371
  this.removeTab(index);
8458
8372
  }
8459
8373
  else {
8374
+ this.tbId = hdr.id;
8460
8375
  const arr = [];
8461
8376
  arr.push(this.items[index]);
8462
8377
  this.items.splice(index, 1);
@@ -8585,10 +8500,7 @@ let Tab = class Tab extends Component {
8585
8500
  }
8586
8501
  }
8587
8502
  this.cloneElement.style.pointerEvents = 'none';
8588
- let x = this.cloneElement.getBoundingClientRect().left;
8589
- let y = this.cloneElement.getBoundingClientRect().top;
8590
- let ele = document.elementFromPoint(x, y);
8591
- dropItem = closest(ele, '.' + CLS_TB_ITEM + '.e-draggable');
8503
+ dropItem = closest(e.target, '.' + CLS_TB_ITEM + '.e-draggable');
8592
8504
  let scrollContentWidth = 0;
8593
8505
  if (this.overflowMode === 'Scrollable' && !isNullOrUndefined(this.element.querySelector('.e-hscroll'))) {
8594
8506
  scrollContentWidth = this.element.querySelector('.e-hscroll-content').offsetWidth;
@@ -8953,7 +8865,7 @@ let Tab = class Tab extends Component {
8953
8865
  }
8954
8866
  this.setActiveBorder();
8955
8867
  item.setAttribute('aria-hidden', '' + value);
8956
- if (!this.isServerRendered && this.overflowMode === 'Popup' && this.tbObj) {
8868
+ if (this.overflowMode === 'Popup' && this.tbObj) {
8957
8869
  this.tbObj.refreshOverflow();
8958
8870
  }
8959
8871
  }
@@ -9110,12 +9022,10 @@ let Tab = class Tab extends Component {
9110
9022
  break;
9111
9023
  case 'height':
9112
9024
  setStyleAttribute(this.element, { height: formatUnit(newProp.height) });
9113
- if (!this.isServerRendered) {
9114
- this.setContentHeight(false);
9115
- }
9025
+ this.setContentHeight(false);
9116
9026
  break;
9117
9027
  case 'cssClass':
9118
- if (oldProp.cssClass !== '') {
9028
+ if (oldProp.cssClass !== '' && !isNullOrUndefined(oldProp.cssClass)) {
9119
9029
  this.setCssClass(this.element, oldProp.cssClass, false);
9120
9030
  this.setCssClass(this.element, newProp.cssClass, true);
9121
9031
  }
@@ -9124,26 +9034,17 @@ let Tab = class Tab extends Component {
9124
9034
  }
9125
9035
  break;
9126
9036
  case 'items':
9127
- if (!this.isServerRendered) {
9128
- this.evalOnPropertyChangeItems(newProp, oldProp);
9129
- }
9037
+ this.evalOnPropertyChangeItems(newProp, oldProp);
9130
9038
  break;
9131
9039
  case 'showCloseButton':
9132
9040
  this.setCloseButton(newProp.showCloseButton);
9133
9041
  break;
9134
9042
  case 'selectedItem':
9135
- if (!this.isServerRendered) {
9136
- this.selectedItem = oldProp.selectedItem;
9137
- this.select(newProp.selectedItem);
9138
- }
9043
+ this.selectedItem = oldProp.selectedItem;
9044
+ this.select(newProp.selectedItem);
9139
9045
  break;
9140
9046
  case 'headerPlacement':
9141
- if (this.isServerRendered) {
9142
- this.serverChangeOrientation(newProp.headerPlacement, oldProp.headerPlacement);
9143
- }
9144
- else {
9145
- this.changeOrientation(newProp.headerPlacement);
9146
- }
9047
+ this.changeOrientation(newProp.headerPlacement);
9147
9048
  break;
9148
9049
  case 'enableRtl':
9149
9050
  this.setRTL(newProp.enableRtl);
@@ -9154,10 +9055,8 @@ let Tab = class Tab extends Component {
9154
9055
  this.refreshActElePosition();
9155
9056
  break;
9156
9057
  case 'heightAdjustMode':
9157
- if (!this.isServerRendered) {
9158
- this.setContentHeight(false);
9159
- this.select(this.selectedItem);
9160
- }
9058
+ this.setContentHeight(false);
9059
+ this.select(this.selectedItem);
9161
9060
  break;
9162
9061
  case 'scrollStep':
9163
9062
  if (this.tbObj) {
@@ -14702,10 +14601,10 @@ let Sidebar = class Sidebar extends Component {
14702
14601
  }
14703
14602
  wireEvents() {
14704
14603
  this.setEnableGestures();
14705
- window.addEventListener('resize', this.resize.bind(this));
14604
+ EventHandler.add(window, 'resize', this.resize, this);
14706
14605
  }
14707
14606
  unWireEvents() {
14708
- window.removeEventListener('resize', this.resize.bind(this));
14607
+ EventHandler.remove(window, 'resize', this.resize);
14709
14608
  EventHandler.remove(document, 'mousedown touchstart', this.documentclickHandler);
14710
14609
  if (this.mainContentEle) {
14711
14610
  this.mainContentEle.destroy();
@@ -14979,9 +14878,485 @@ Sidebar = __decorate$9([
14979
14878
  * Sidebar modules
14980
14879
  */
14981
14880
 
14881
+ var __decorate$10 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
14882
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14883
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
14884
+ 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;
14885
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14886
+ };
14887
+ const ICONRIGHT = 'e-icon-right';
14888
+ const ITEMTEXTCLASS = 'e-breadcrumb-text';
14889
+ const ICONCLASS = 'e-breadcrumb-icon';
14890
+ class BreadcrumbItem extends ChildProperty {
14891
+ }
14892
+ __decorate$10([
14893
+ Property('')
14894
+ ], BreadcrumbItem.prototype, "text", void 0);
14895
+ __decorate$10([
14896
+ Property('')
14897
+ ], BreadcrumbItem.prototype, "url", void 0);
14898
+ __decorate$10([
14899
+ Property(null)
14900
+ ], BreadcrumbItem.prototype, "iconCss", void 0);
14901
+ /**
14902
+ * Breadcrumb is a graphical user interface that helps to identify or highlight the current location within a hierarchical structure of websites.
14903
+ * The aim is to make the user aware of their current position in a hierarchy of website links.
14904
+ * ```html
14905
+ * <nav id='breadcrumb'></nav>
14906
+ * ```
14907
+ * ```typescript
14908
+ * <script>
14909
+ * var breadcrumbObj = new Breadcrumb({ items: [{ text: 'Home', url: '/' }, { text: 'Index', url: './index.html }]});
14910
+ * breadcrumbObj.appendTo("#breadcrumb");
14911
+ * </script>
14912
+ * ```
14913
+ */
14914
+ let Breadcrumb = class Breadcrumb extends Component {
14915
+ /**
14916
+ * Constructor for creating the widget.
14917
+ *
14918
+ * @private
14919
+ * @param {BreadcrumbModel} options - Specifies the Breadcrumb model.
14920
+ * @param {string | HTMLElement} element - Specifies the element.
14921
+ */
14922
+ constructor(options, element) {
14923
+ super(options, element);
14924
+ }
14925
+ /**
14926
+ * @private
14927
+ * @returns {void}
14928
+ */
14929
+ preRender() {
14930
+ // pre render code
14931
+ }
14932
+ /**
14933
+ * Initialize the control rendering.
14934
+ *
14935
+ * @private
14936
+ * @returns {void}
14937
+ */
14938
+ render() {
14939
+ this.initialize();
14940
+ this.renderItems(this.items);
14941
+ this.wireEvents();
14942
+ }
14943
+ initialize() {
14944
+ this._maxItems = this.maxItems;
14945
+ this.element.setAttribute('aria-label', 'breadcrumb');
14946
+ if (this.cssClass) {
14947
+ addClass([this.element], this.cssClass.split(' '));
14948
+ }
14949
+ this.setWidth();
14950
+ this.initItems();
14951
+ this.initPvtProps();
14952
+ }
14953
+ initPvtProps() {
14954
+ if (this.overflowMode === 'Default' && this._maxItems > 0) {
14955
+ this.startIndex = this.items.length - (this._maxItems - 1);
14956
+ this.endIndex = this.items.length - 1;
14957
+ }
14958
+ }
14959
+ setWidth() {
14960
+ if (this.width) {
14961
+ this.element.style.width = this.width;
14962
+ }
14963
+ }
14964
+ initItems() {
14965
+ if (!this.items.length) {
14966
+ let baseUri;
14967
+ let uri;
14968
+ const items = [];
14969
+ if (this.url) {
14970
+ const url = new URL(this.url);
14971
+ baseUri = url.origin + '/';
14972
+ uri = url.href.split(baseUri)[1].split('/');
14973
+ }
14974
+ else {
14975
+ baseUri = window.location.origin + '/';
14976
+ uri = window.location.href.split(baseUri)[1].split('/');
14977
+ }
14978
+ items.push({ iconCss: 'e-icons e-home', url: baseUri });
14979
+ for (let i = 0; i < uri.length; i++) {
14980
+ items.push({ text: uri[i], url: baseUri + uri[i] });
14981
+ baseUri += uri[i] + '/';
14982
+ }
14983
+ this.setProperties({ items: items }, true);
14984
+ }
14985
+ }
14986
+ renderItems(items) {
14987
+ let item;
14988
+ let isSingleLevel;
14989
+ const isIconRight = this.element.classList.contains(ICONRIGHT);
14990
+ const itemsLength = items.length;
14991
+ if (itemsLength) {
14992
+ let isActiveItem;
14993
+ let isLastItem;
14994
+ let j = 0;
14995
+ const len = (itemsLength * 2) - 1;
14996
+ const ol = this.createElement('ol');
14997
+ const showIcon = this.hasField(items, 'iconCss');
14998
+ const isDisabled = this.element.classList.contains('e-disabled');
14999
+ const isCollasped = (this.overflowMode === 'Collapsed' && this._maxItems > 0 && itemsLength > this.maxItems && !this.isExpanded);
15000
+ const isDefaultOverflowMode = (this.overflowMode === 'Default' && this._maxItems > 0);
15001
+ const listBaseOptions = {
15002
+ moduleName: this.getModuleName(),
15003
+ showIcon: showIcon,
15004
+ itemNavigable: true,
15005
+ itemCreated: (args) => {
15006
+ const isLastItem = args.curData.isLastItem;
15007
+ if (args.curData.isEmptyUrl) {
15008
+ args.item.children[0].removeAttribute('href');
15009
+ if (!isLastItem || (isLastItem && this.enableActiveItemNavigation)) {
15010
+ args.item.children[0].setAttribute('tabindex', '0');
15011
+ EventHandler.add(args.item.children[0], 'keydown', this.keyDownHandler, this);
15012
+ }
15013
+ }
15014
+ if (isLastItem && args.item.children.length && !this.itemTemplate) {
15015
+ delete args.curData.isLastItem;
15016
+ args.item.innerHTML = this.createElement('span', { className: ITEMTEXTCLASS, innerHTML: args.item.children[0].innerHTML }).outerHTML;
15017
+ }
15018
+ if (args.curData.iconCss && !args.curData.text && !this.itemTemplate) {
15019
+ args.item.classList.add('e-icon-item');
15020
+ }
15021
+ if (isDefaultOverflowMode) {
15022
+ args.item.setAttribute('item-index', j.toString());
15023
+ }
15024
+ if (args.item.querySelector('.' + ITEMTEXTCLASS)) {
15025
+ EventHandler.add(args.item.querySelector('.' + ITEMTEXTCLASS), 'focus', () => {
15026
+ args.item.classList.add('e-focus');
15027
+ }, this);
15028
+ EventHandler.add(args.item.querySelector('.' + ITEMTEXTCLASS), 'focusout', () => {
15029
+ args.item.classList.remove('e-focus');
15030
+ }, this);
15031
+ }
15032
+ const eventArgs = {
15033
+ item: extend({}, args.curData.properties ?
15034
+ args.curData.properties : args.curData), element: args.item
15035
+ };
15036
+ this.trigger('beforeItemRender', eventArgs);
15037
+ const containsRightIcon = (isIconRight || eventArgs.element.classList.contains(ICONRIGHT));
15038
+ if (containsRightIcon && args.curData.iconCss && !this.itemTemplate) {
15039
+ args.item.querySelector('.e-anchor-wrap').append(args.item.querySelector('.' + ICONCLASS));
15040
+ }
15041
+ if (isDisabled || eventArgs.element.classList.contains('e-disabled')) {
15042
+ args.item.setAttribute('aria-disabled', 'true');
15043
+ }
15044
+ if (!this.itemTemplate) {
15045
+ this.beforeItemRenderChanges(args.curData, eventArgs.item, args.item, containsRightIcon);
15046
+ }
15047
+ }
15048
+ };
15049
+ for (let i = 0; i < len; i % 2 && j++, i++) {
15050
+ isActiveItem = (this.activeItem && this.activeItem === items[j].url);
15051
+ if (isCollasped && i > 1 && i < len - 2) {
15052
+ continue;
15053
+ }
15054
+ else if (isDefaultOverflowMode && ((j < this.startIndex || j > this.endIndex)
15055
+ && (i % 2 ? j !== this.startIndex - 1 : true)) && j !== 0) {
15056
+ continue;
15057
+ }
15058
+ if (i % 2) {
15059
+ // separator item
15060
+ listBaseOptions.template = this.separatorTemplate ? this.separatorTemplate : '/';
15061
+ listBaseOptions.itemClass = 'e-breadcrumb-separator';
15062
+ isSingleLevel = false;
15063
+ item = [{ previousItem: item.pop(), nextItem: items[j] }];
15064
+ }
15065
+ else {
15066
+ // list item
15067
+ listBaseOptions.itemClass = '';
15068
+ if (this.itemTemplate) {
15069
+ listBaseOptions.template = this.itemTemplate;
15070
+ isSingleLevel = false;
15071
+ }
15072
+ else {
15073
+ isSingleLevel = true;
15074
+ }
15075
+ item = [extend({}, items[j].properties ? items[j].properties
15076
+ : items[j])];
15077
+ if (!item[0].url && !this.itemTemplate) {
15078
+ item = [extend({}, item[0], { isEmptyUrl: true, url: '#' })];
15079
+ }
15080
+ isLastItem = isDefaultOverflowMode && (j === this.endIndex);
15081
+ if ((((i === len - 1 || isLastItem) && !this.itemTemplate) || isActiveItem) && !this.enableActiveItemNavigation) {
15082
+ item[0].isLastItem = true;
15083
+ }
15084
+ }
15085
+ append(ListBase.createList(this.createElement, item, listBaseOptions, isSingleLevel, this)
15086
+ .childNodes, ol);
15087
+ if (isCollasped && i === 1) {
15088
+ const li = this.createElement('li', { className: 'e-icons e-breadcrumb-collapsed', attrs: { 'tabindex': '0' } });
15089
+ EventHandler.add(li, 'keyup', this.expandHandler, this);
15090
+ ol.append(li);
15091
+ }
15092
+ if (isActiveItem || isLastItem) {
15093
+ break;
15094
+ }
15095
+ }
15096
+ if (this.isReact) {
15097
+ this.renderReactTemplates();
15098
+ }
15099
+ this.element.append(ol);
15100
+ this.calculateMaxItems();
15101
+ }
15102
+ }
15103
+ calculateMaxItems() {
15104
+ if (!this._maxItems) {
15105
+ if (this.overflowMode === 'Default' || this.overflowMode === 'Collapsed') {
15106
+ const width = this.element.offsetWidth;
15107
+ let liWidth = this.element.children[0].children[0].offsetWidth;
15108
+ const liElems = [].slice.call(this.element.children[0].children).reverse();
15109
+ for (let i = 0; i < liElems.length; i++) {
15110
+ if (liWidth > width) {
15111
+ this._maxItems = Math.ceil((i - 1) / 2) + 1;
15112
+ this.initPvtProps();
15113
+ return this.reRenderItems();
15114
+ }
15115
+ else {
15116
+ liWidth += liElems[i].offsetWidth;
15117
+ }
15118
+ }
15119
+ }
15120
+ }
15121
+ }
15122
+ hasField(items, field) {
15123
+ for (let i = 0, len = items.length; i < len; i++) {
15124
+ if (items[i][field]) {
15125
+ return true;
15126
+ }
15127
+ }
15128
+ return false;
15129
+ }
15130
+ beforeItemRenderChanges(prevItem, currItem, elem, isRightIcon) {
15131
+ const wrapElem = elem.querySelector('.e-anchor-wrap');
15132
+ if (currItem.text !== prevItem.text) {
15133
+ wrapElem.childNodes.forEach((child) => {
15134
+ if (child.nodeType === Node.TEXT_NODE) {
15135
+ child.textContent = currItem.text;
15136
+ }
15137
+ });
15138
+ }
15139
+ if (currItem.iconCss !== prevItem.iconCss) {
15140
+ const iconElem = elem.querySelector('.' + ICONCLASS);
15141
+ if (iconElem) {
15142
+ if (currItem.iconCss) {
15143
+ removeClass([iconElem], prevItem.iconCss.split(' '));
15144
+ addClass([iconElem], currItem.iconCss.split(' '));
15145
+ }
15146
+ else {
15147
+ iconElem.remove();
15148
+ }
15149
+ }
15150
+ else if (currItem.iconCss) {
15151
+ const iconElem = this.createElement('span', { className: ICONCLASS + ' ' + currItem.iconCss });
15152
+ if (isRightIcon) {
15153
+ append([iconElem], wrapElem);
15154
+ }
15155
+ else {
15156
+ wrapElem.insertBefore(iconElem, wrapElem.childNodes[0]);
15157
+ }
15158
+ }
15159
+ }
15160
+ if (currItem.url !== prevItem.url && this.enableNavigation) {
15161
+ const anchor = elem.querySelector('a.' + ITEMTEXTCLASS);
15162
+ if (anchor) {
15163
+ if (currItem.url) {
15164
+ anchor.setAttribute('href', currItem.url);
15165
+ }
15166
+ else {
15167
+ anchor.removeAttribute('href');
15168
+ }
15169
+ }
15170
+ }
15171
+ }
15172
+ reRenderItems() {
15173
+ this.element.innerHTML = '';
15174
+ this.renderItems(this.items);
15175
+ }
15176
+ clickHandler(e) {
15177
+ const li = closest(e.target, '.e-breadcrumb-item');
15178
+ if (li && (closest(e.target, '.' + ITEMTEXTCLASS) || this.itemTemplate)) {
15179
+ let idx = [].slice.call(li.parentElement.children).indexOf(li);
15180
+ idx = Math.floor(idx / 2);
15181
+ if (this.overflowMode === 'Default' && this._maxItems > 0 && this.endIndex !== 0) {
15182
+ idx = parseInt(li.getAttribute('item-index'), 10);
15183
+ if (this.startIndex > 1) {
15184
+ this.startIndex -= (this.endIndex - idx);
15185
+ }
15186
+ this.endIndex = idx;
15187
+ this.reRenderItems();
15188
+ }
15189
+ this.trigger('itemClick', { element: li, item: this.items[idx], event: e });
15190
+ if (this.items[idx].url) {
15191
+ this.activeItem = this.items[idx].url;
15192
+ this.dataBind();
15193
+ }
15194
+ }
15195
+ if (!this.enableNavigation) {
15196
+ e.preventDefault();
15197
+ }
15198
+ if (e.target.classList.contains('e-breadcrumb-collapsed')) {
15199
+ this.isExpanded = true;
15200
+ this.reRenderItems();
15201
+ }
15202
+ }
15203
+ resize() {
15204
+ this._maxItems = this.maxItems;
15205
+ this.initPvtProps();
15206
+ this.reRenderItems();
15207
+ }
15208
+ expandHandler(e) {
15209
+ if (e.key === 'Enter') {
15210
+ this.isExpanded = true;
15211
+ this.reRenderItems();
15212
+ }
15213
+ }
15214
+ keyDownHandler(e) {
15215
+ if (e.key === 'Enter') {
15216
+ this.clickHandler(e);
15217
+ }
15218
+ }
15219
+ /**
15220
+ * Called internally if any of the property value changed.
15221
+ *
15222
+ * @private
15223
+ * @param {BreadcrumbModel} newProp - Specifies the new properties.
15224
+ * @param {BreadcrumbModel} oldProp - Specifies the old properties.
15225
+ * @returns {void}
15226
+ */
15227
+ onPropertyChanged(newProp, oldProp) {
15228
+ for (const prop of Object.keys(newProp)) {
15229
+ switch (prop) {
15230
+ case 'activeItem':
15231
+ case 'items':
15232
+ case 'enableActiveItemNavigation':
15233
+ this.reRenderItems();
15234
+ break;
15235
+ case 'overflowMode':
15236
+ case 'maxItems':
15237
+ this.initPvtProps();
15238
+ this.reRenderItems();
15239
+ break;
15240
+ case 'url':
15241
+ this.initItems();
15242
+ this.reRenderItems();
15243
+ break;
15244
+ case 'width':
15245
+ this.setWidth();
15246
+ this._maxItems = this.maxItems;
15247
+ this.initPvtProps();
15248
+ this.reRenderItems();
15249
+ break;
15250
+ case 'cssClass':
15251
+ if (oldProp.cssClass) {
15252
+ removeClass([this.element], oldProp.cssClass.split(' '));
15253
+ }
15254
+ if (newProp.cssClass) {
15255
+ addClass([this.element], newProp.cssClass.split(' '));
15256
+ }
15257
+ if ((oldProp.cssClass && oldProp.cssClass.indexOf(ICONRIGHT) > -1) && !(newProp.cssClass &&
15258
+ newProp.cssClass.indexOf(ICONRIGHT) > -1) || !(oldProp.cssClass && oldProp.cssClass.indexOf(ICONRIGHT) > -1) &&
15259
+ (newProp.cssClass && newProp.cssClass.indexOf(ICONRIGHT) > -1)) {
15260
+ this.reRenderItems();
15261
+ }
15262
+ break;
15263
+ }
15264
+ }
15265
+ }
15266
+ wireEvents() {
15267
+ EventHandler.add(this.element, 'click', this.clickHandler, this);
15268
+ window.addEventListener('resize', this.resize.bind(this));
15269
+ }
15270
+ unWireEvents() {
15271
+ EventHandler.remove(this.element, 'click', this.clickHandler);
15272
+ window.removeEventListener('resize', this.resize.bind(this));
15273
+ }
15274
+ /**
15275
+ * Get the properties to be maintained in the persisted state.
15276
+ *
15277
+ * @returns {string} - Persist data
15278
+ */
15279
+ getPersistData() {
15280
+ return this.addOnPersist(['activeItem']);
15281
+ }
15282
+ /**
15283
+ * Get module name.
15284
+ *
15285
+ * @private
15286
+ * @returns {string} - Module Name
15287
+ */
15288
+ getModuleName() {
15289
+ return 'breadcrumb';
15290
+ }
15291
+ /**
15292
+ * Destroys the widget.
15293
+ *
15294
+ * @returns {void}
15295
+ */
15296
+ destroy() {
15297
+ this.unWireEvents();
15298
+ this.element.innerHTML = '';
15299
+ if (this.cssClass) {
15300
+ removeClass([this.element], this.cssClass.split(' '));
15301
+ }
15302
+ }
15303
+ };
15304
+ __decorate$10([
15305
+ Property('')
15306
+ ], Breadcrumb.prototype, "url", void 0);
15307
+ __decorate$10([
15308
+ Collection([], BreadcrumbItem)
15309
+ ], Breadcrumb.prototype, "items", void 0);
15310
+ __decorate$10([
15311
+ Property('')
15312
+ ], Breadcrumb.prototype, "activeItem", void 0);
15313
+ __decorate$10([
15314
+ Property(0)
15315
+ ], Breadcrumb.prototype, "maxItems", void 0);
15316
+ __decorate$10([
15317
+ Property('Default')
15318
+ ], Breadcrumb.prototype, "overflowMode", void 0);
15319
+ __decorate$10([
15320
+ Property('')
15321
+ ], Breadcrumb.prototype, "cssClass", void 0);
15322
+ __decorate$10([
15323
+ Property('')
15324
+ ], Breadcrumb.prototype, "width", void 0);
15325
+ __decorate$10([
15326
+ Property(null)
15327
+ ], Breadcrumb.prototype, "itemTemplate", void 0);
15328
+ __decorate$10([
15329
+ Property('/')
15330
+ ], Breadcrumb.prototype, "separatorTemplate", void 0);
15331
+ __decorate$10([
15332
+ Property(true)
15333
+ ], Breadcrumb.prototype, "enableNavigation", void 0);
15334
+ __decorate$10([
15335
+ Property(false)
15336
+ ], Breadcrumb.prototype, "enableActiveItemNavigation", void 0);
15337
+ __decorate$10([
15338
+ Property('')
15339
+ ], Breadcrumb.prototype, "locale", void 0);
15340
+ __decorate$10([
15341
+ Event()
15342
+ ], Breadcrumb.prototype, "beforeItemRender", void 0);
15343
+ __decorate$10([
15344
+ Event()
15345
+ ], Breadcrumb.prototype, "itemClick", void 0);
15346
+ __decorate$10([
15347
+ Event()
15348
+ ], Breadcrumb.prototype, "created", void 0);
15349
+ Breadcrumb = __decorate$10([
15350
+ NotifyPropertyChanges
15351
+ ], Breadcrumb);
15352
+
15353
+ /**
15354
+ * Breadcrumb modules
15355
+ */
15356
+
14982
15357
  /**
14983
15358
  * Navigation all modules
14984
15359
  */
14985
15360
 
14986
- 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 };
15361
+ 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 };
14987
15362
  //# sourceMappingURL=ej2-navigations.es2015.js.map