@syncfusion/ej2-navigations 16.4.47 → 16.4.52-46585

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 (910) hide show
  1. package/.eslintrc.json +259 -0
  2. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +63 -0
  3. package/.github/PULL_REQUEST_TEMPLATE/feature.md +39 -0
  4. package/CHANGELOG.md +1419 -0
  5. package/README.md +226 -112
  6. package/appbar.d.ts +4 -0
  7. package/appbar.js +4 -0
  8. package/breadcrumb.d.ts +4 -0
  9. package/breadcrumb.js +4 -0
  10. package/carousel.d.ts +4 -0
  11. package/carousel.js +4 -0
  12. package/dist/ej2-navigations.min.js +1 -0
  13. package/dist/ej2-navigations.umd.min.js +1 -10
  14. package/dist/ej2-navigations.umd.min.js.map +1 -1
  15. package/dist/es6/ej2-navigations.es2015.js +8469 -2261
  16. package/dist/es6/ej2-navigations.es2015.js.map +1 -1
  17. package/dist/es6/ej2-navigations.es5.js +8157 -1833
  18. package/dist/es6/ej2-navigations.es5.js.map +1 -1
  19. package/dist/global/ej2-navigations.min.js +1 -10
  20. package/dist/global/ej2-navigations.min.js.map +1 -1
  21. package/dist/global/index.d.ts +0 -9
  22. package/helpers/e2e/accordionHelper.d.ts +56 -0
  23. package/helpers/e2e/accordionHelper.js +71 -0
  24. package/helpers/e2e/contextmenuHelper.d.ts +37 -0
  25. package/helpers/e2e/contextmenuHelper.js +53 -0
  26. package/helpers/e2e/index.d.ts +7 -0
  27. package/helpers/e2e/index.js +14 -0
  28. package/helpers/e2e/menuHelper.d.ts +37 -0
  29. package/helpers/e2e/menuHelper.js +53 -0
  30. package/helpers/e2e/sidebarHelper.d.ts +94 -0
  31. package/helpers/e2e/sidebarHelper.js +110 -0
  32. package/helpers/e2e/tabHelper.d.ts +60 -0
  33. package/helpers/e2e/tabHelper.js +74 -0
  34. package/helpers/e2e/toolbarHelper.d.ts +60 -0
  35. package/helpers/e2e/toolbarHelper.js +74 -0
  36. package/helpers/e2e/treeview.d.ts +50 -0
  37. package/helpers/e2e/treeview.js +80 -0
  38. package/package.json +105 -105
  39. package/src/accordion/accordion-model.d.ts +122 -45
  40. package/src/accordion/accordion.d.ts +169 -48
  41. package/src/accordion/accordion.js +530 -230
  42. package/src/appbar/appbar-model.d.ts +76 -0
  43. package/src/appbar/appbar.d.ts +115 -0
  44. package/src/appbar/appbar.js +220 -0
  45. package/src/appbar/index.d.ts +3 -0
  46. package/src/appbar/index.js +2 -0
  47. package/src/breadcrumb/breadcrumb-model.d.ts +161 -0
  48. package/src/breadcrumb/breadcrumb.d.ts +285 -0
  49. package/src/breadcrumb/breadcrumb.js +789 -0
  50. package/src/breadcrumb/index.d.ts +5 -0
  51. package/src/breadcrumb/index.js +4 -0
  52. package/src/carousel/carousel-model.d.ts +223 -0
  53. package/src/carousel/carousel.d.ts +344 -0
  54. package/src/carousel/carousel.js +1100 -0
  55. package/src/carousel/index.d.ts +3 -0
  56. package/src/carousel/index.js +2 -0
  57. package/src/common/h-scroll-model.d.ts +1 -0
  58. package/src/common/h-scroll.d.ts +21 -10
  59. package/src/common/h-scroll.js +58 -36
  60. package/src/common/index.d.ts +2 -0
  61. package/src/common/index.js +2 -0
  62. package/src/common/menu-base-model.d.ts +77 -22
  63. package/src/common/menu-base.d.ts +192 -41
  64. package/src/common/menu-base.js +1104 -366
  65. package/src/common/menu-scroll.d.ts +29 -0
  66. package/src/common/menu-scroll.js +103 -0
  67. package/src/common/v-scroll-model.d.ts +1 -0
  68. package/src/common/v-scroll.d.ts +20 -9
  69. package/src/common/v-scroll.js +47 -20
  70. package/src/context-menu/context-menu-model.d.ts +7 -3
  71. package/src/context-menu/context-menu.d.ts +25 -10
  72. package/src/context-menu/context-menu.js +27 -15
  73. package/src/index.d.ts +3 -0
  74. package/src/index.js +3 -0
  75. package/src/menu/menu-model.d.ts +34 -1
  76. package/src/menu/menu.d.ts +60 -6
  77. package/src/menu/menu.js +144 -18
  78. package/src/sidebar/sidebar-model.d.ts +54 -25
  79. package/src/sidebar/sidebar.d.ts +117 -22
  80. package/src/sidebar/sidebar.js +250 -120
  81. package/src/tab/tab-model.d.ts +156 -37
  82. package/src/tab/tab.d.ts +286 -61
  83. package/src/tab/tab.js +1136 -331
  84. package/src/toolbar/toolbar-model.d.ts +110 -29
  85. package/src/toolbar/toolbar.d.ts +185 -55
  86. package/src/toolbar/toolbar.js +595 -234
  87. package/src/treeview/treeview-model.d.ts +269 -83
  88. package/src/treeview/treeview.d.ts +497 -74
  89. package/src/treeview/treeview.js +2006 -409
  90. package/styles/accordion/_all.scss +0 -1
  91. package/styles/accordion/_bootstrap-dark-definition.scss +171 -67
  92. package/styles/accordion/_bootstrap-definition.scss +115 -11
  93. package/styles/accordion/_bootstrap4-definition.scss +182 -0
  94. package/styles/accordion/_bootstrap5-dark-definition.scss +1 -0
  95. package/styles/accordion/_bootstrap5-definition.scss +180 -0
  96. package/styles/accordion/_fabric-dark-definition.scss +171 -69
  97. package/styles/accordion/_fabric-definition.scss +119 -15
  98. package/styles/accordion/_fluent-dark-definition.scss +1 -0
  99. package/styles/accordion/_fluent-definition.scss +179 -0
  100. package/styles/accordion/_fusionnew-definition.scss +180 -0
  101. package/styles/accordion/_highcontrast-definition.scss +122 -23
  102. package/styles/accordion/_highcontrast-light-definition.scss +192 -95
  103. package/styles/accordion/_layout.scss +100 -162
  104. package/styles/accordion/_material-dark-definition.scss +173 -70
  105. package/styles/accordion/_material-definition.scss +115 -11
  106. package/styles/accordion/_tailwind-dark-definition.scss +1 -0
  107. package/styles/accordion/_tailwind-definition.scss +178 -0
  108. package/styles/accordion/_theme.scss +219 -224
  109. package/styles/accordion/bootstrap-dark.css +267 -181
  110. package/styles/accordion/bootstrap-dark.scss +1 -0
  111. package/styles/accordion/bootstrap.css +258 -172
  112. package/styles/accordion/bootstrap.scss +1 -0
  113. package/styles/accordion/bootstrap4.css +525 -0
  114. package/styles/accordion/bootstrap4.scss +4 -0
  115. package/styles/accordion/bootstrap5-dark.css +527 -0
  116. package/styles/accordion/bootstrap5-dark.scss +4 -0
  117. package/styles/accordion/bootstrap5.css +527 -0
  118. package/styles/accordion/bootstrap5.scss +4 -0
  119. package/styles/accordion/fabric-dark.css +266 -164
  120. package/styles/accordion/fabric-dark.scss +1 -0
  121. package/styles/accordion/fabric.css +266 -164
  122. package/styles/accordion/fabric.scss +1 -0
  123. package/styles/accordion/fluent-dark.css +526 -0
  124. package/styles/accordion/fluent-dark.scss +4 -0
  125. package/styles/accordion/fluent.css +526 -0
  126. package/styles/accordion/fluent.scss +4 -0
  127. package/styles/accordion/highcontrast-light.css +525 -0
  128. package/styles/accordion/highcontrast-light.scss +4 -0
  129. package/styles/accordion/highcontrast.css +243 -232
  130. package/styles/accordion/highcontrast.scss +1 -0
  131. package/styles/accordion/{_icons.scss → icons/_bootstrap-dark.scss} +3 -3
  132. package/styles/accordion/icons/_bootstrap.scss +17 -0
  133. package/styles/accordion/icons/_bootstrap4.scss +17 -0
  134. package/styles/accordion/icons/_bootstrap5-dark.scss +1 -0
  135. package/styles/accordion/icons/_bootstrap5.scss +17 -0
  136. package/styles/accordion/icons/_fabric-dark.scss +17 -0
  137. package/styles/accordion/icons/_fabric.scss +17 -0
  138. package/styles/accordion/icons/_fluent-dark.scss +1 -0
  139. package/styles/accordion/icons/_fluent.scss +17 -0
  140. package/styles/accordion/icons/_fusionnew.scss +17 -0
  141. package/styles/accordion/icons/_highcontrast-light.scss +17 -0
  142. package/styles/accordion/icons/_highcontrast.scss +17 -0
  143. package/styles/accordion/icons/_material-dark.scss +17 -0
  144. package/styles/accordion/icons/_material.scss +17 -0
  145. package/styles/accordion/icons/_material3.scss +17 -0
  146. package/styles/accordion/icons/_tailwind-dark.scss +1 -0
  147. package/styles/accordion/icons/_tailwind.scss +17 -0
  148. package/styles/accordion/material-dark.css +268 -173
  149. package/styles/accordion/material-dark.scss +1 -0
  150. package/styles/accordion/material.css +264 -169
  151. package/styles/accordion/material.scss +1 -0
  152. package/styles/accordion/tailwind-dark.css +527 -0
  153. package/styles/accordion/tailwind-dark.scss +4 -0
  154. package/styles/accordion/tailwind.css +527 -0
  155. package/styles/accordion/tailwind.scss +4 -0
  156. package/styles/appbar/_all.scss +2 -0
  157. package/styles/appbar/_bootstrap-dark-definition.scss +8 -0
  158. package/styles/appbar/_bootstrap-definition.scss +8 -0
  159. package/styles/appbar/_bootstrap4-definition.scss +8 -0
  160. package/styles/appbar/_bootstrap5-dark-definition.scss +1 -0
  161. package/styles/appbar/_bootstrap5-definition.scss +8 -0
  162. package/styles/appbar/_fabric-dark-definition.scss +8 -0
  163. package/styles/appbar/_fabric-definition.scss +8 -0
  164. package/styles/appbar/_fluent-dark-definition.scss +1 -0
  165. package/styles/appbar/_fluent-definition.scss +8 -0
  166. package/styles/appbar/_fusionnew-definition.scss +8 -0
  167. package/styles/appbar/_highcontrast-definition.scss +8 -0
  168. package/styles/appbar/_highcontrast-light-definition.scss +8 -0
  169. package/styles/appbar/_layout.scss +84 -0
  170. package/styles/appbar/_material-dark-definition.scss +8 -0
  171. package/styles/appbar/_material-definition.scss +8 -0
  172. package/styles/appbar/_tailwind-dark-definition.scss +1 -0
  173. package/styles/appbar/_tailwind-definition.scss +8 -0
  174. package/styles/appbar/_theme.scss +208 -0
  175. package/styles/appbar/bootstrap-dark.css +247 -0
  176. package/styles/appbar/bootstrap-dark.scss +3 -0
  177. package/styles/appbar/bootstrap.css +247 -0
  178. package/styles/appbar/bootstrap.scss +3 -0
  179. package/styles/appbar/bootstrap4.css +247 -0
  180. package/styles/appbar/bootstrap4.scss +3 -0
  181. package/styles/appbar/bootstrap5-dark.css +247 -0
  182. package/styles/appbar/bootstrap5-dark.scss +3 -0
  183. package/styles/appbar/bootstrap5.css +247 -0
  184. package/styles/appbar/bootstrap5.scss +3 -0
  185. package/styles/appbar/fabric-dark.css +247 -0
  186. package/styles/appbar/fabric-dark.scss +3 -0
  187. package/styles/appbar/fabric.css +247 -0
  188. package/styles/appbar/fabric.scss +3 -0
  189. package/styles/appbar/fluent-dark.css +247 -0
  190. package/styles/appbar/fluent-dark.scss +3 -0
  191. package/styles/appbar/fluent.css +247 -0
  192. package/styles/appbar/fluent.scss +3 -0
  193. package/styles/appbar/highcontrast-light.css +247 -0
  194. package/styles/appbar/highcontrast-light.scss +3 -0
  195. package/styles/appbar/highcontrast.css +247 -0
  196. package/styles/appbar/highcontrast.scss +3 -0
  197. package/styles/appbar/material-dark.css +248 -0
  198. package/styles/appbar/material-dark.scss +3 -0
  199. package/styles/appbar/material.css +248 -0
  200. package/styles/appbar/material.scss +3 -0
  201. package/styles/appbar/tailwind-dark.css +248 -0
  202. package/styles/appbar/tailwind-dark.scss +3 -0
  203. package/styles/appbar/tailwind.css +248 -0
  204. package/styles/appbar/tailwind.scss +3 -0
  205. package/styles/bootstrap-dark.css +5500 -3485
  206. package/styles/bootstrap-dark.scss +4 -0
  207. package/styles/bootstrap.css +5417 -3557
  208. package/styles/bootstrap.scss +4 -0
  209. package/styles/bootstrap4.css +10166 -0
  210. package/styles/bootstrap4.scss +13 -0
  211. package/styles/bootstrap5-dark.css +10207 -0
  212. package/styles/bootstrap5-dark.scss +13 -0
  213. package/styles/bootstrap5.css +10207 -0
  214. package/styles/bootstrap5.scss +13 -0
  215. package/styles/breadcrumb/_all.scss +3 -0
  216. package/styles/breadcrumb/_bootstrap-dark-definition.scss +54 -0
  217. package/styles/breadcrumb/_bootstrap-definition.scss +54 -0
  218. package/styles/breadcrumb/_bootstrap4-definition.scss +54 -0
  219. package/styles/breadcrumb/_bootstrap5-dark-definition.scss +1 -0
  220. package/styles/breadcrumb/_bootstrap5-definition.scss +59 -0
  221. package/styles/breadcrumb/_fabric-dark-definition.scss +59 -0
  222. package/styles/breadcrumb/_fabric-definition.scss +59 -0
  223. package/styles/breadcrumb/_fluent-dark-definition.scss +1 -0
  224. package/styles/breadcrumb/_fluent-definition.scss +62 -0
  225. package/styles/breadcrumb/_fusionnew-definition.scss +59 -0
  226. package/styles/breadcrumb/_highcontrast-definition.scss +61 -0
  227. package/styles/breadcrumb/_highcontrast-light-definition.scss +61 -0
  228. package/styles/breadcrumb/_layout.scss +491 -0
  229. package/styles/breadcrumb/_material-dark-definition.scss +50 -0
  230. package/styles/breadcrumb/_material-definition.scss +50 -0
  231. package/styles/breadcrumb/_tailwind-dark-definition.scss +1 -0
  232. package/styles/breadcrumb/_tailwind-definition.scss +60 -0
  233. package/styles/breadcrumb/_theme.scss +176 -0
  234. package/styles/breadcrumb/bootstrap-dark.css +395 -0
  235. package/styles/breadcrumb/bootstrap-dark.scss +4 -0
  236. package/styles/breadcrumb/bootstrap.css +395 -0
  237. package/styles/breadcrumb/bootstrap.scss +4 -0
  238. package/styles/breadcrumb/bootstrap4.css +395 -0
  239. package/styles/breadcrumb/bootstrap4.scss +4 -0
  240. package/styles/breadcrumb/bootstrap5-dark.css +409 -0
  241. package/styles/breadcrumb/bootstrap5-dark.scss +4 -0
  242. package/styles/breadcrumb/bootstrap5.css +409 -0
  243. package/styles/breadcrumb/bootstrap5.scss +4 -0
  244. package/styles/breadcrumb/fabric-dark.css +395 -0
  245. package/styles/breadcrumb/fabric-dark.scss +4 -0
  246. package/styles/breadcrumb/fabric.css +395 -0
  247. package/styles/breadcrumb/fabric.scss +4 -0
  248. package/styles/breadcrumb/fluent-dark.css +371 -0
  249. package/styles/breadcrumb/fluent-dark.scss +4 -0
  250. package/styles/breadcrumb/fluent.css +371 -0
  251. package/styles/breadcrumb/fluent.scss +4 -0
  252. package/styles/breadcrumb/highcontrast-light.css +402 -0
  253. package/styles/breadcrumb/highcontrast-light.scss +4 -0
  254. package/styles/breadcrumb/highcontrast.css +402 -0
  255. package/styles/breadcrumb/highcontrast.scss +4 -0
  256. package/styles/breadcrumb/icons/_bootstrap-dark.scss +14 -0
  257. package/styles/breadcrumb/icons/_bootstrap.scss +14 -0
  258. package/styles/breadcrumb/icons/_bootstrap4.scss +14 -0
  259. package/styles/breadcrumb/icons/_bootstrap5-dark.scss +1 -0
  260. package/styles/breadcrumb/icons/_bootstrap5.scss +25 -0
  261. package/styles/breadcrumb/icons/_fabric-dark.scss +14 -0
  262. package/styles/breadcrumb/icons/_fabric.scss +14 -0
  263. package/styles/breadcrumb/icons/_fluent-dark.scss +1 -0
  264. package/styles/breadcrumb/icons/_fluent.scss +25 -0
  265. package/styles/breadcrumb/icons/_fusionnew.scss +25 -0
  266. package/styles/breadcrumb/icons/_highcontrast-light.scss +14 -0
  267. package/styles/breadcrumb/icons/_highcontrast.scss +14 -0
  268. package/styles/breadcrumb/icons/_material-dark.scss +25 -0
  269. package/styles/breadcrumb/icons/_material.scss +25 -0
  270. package/styles/breadcrumb/icons/_material3.scss +25 -0
  271. package/styles/breadcrumb/icons/_tailwind-dark.scss +25 -0
  272. package/styles/breadcrumb/icons/_tailwind.scss +25 -0
  273. package/styles/breadcrumb/material-dark.css +379 -0
  274. package/styles/breadcrumb/material-dark.scss +4 -0
  275. package/styles/breadcrumb/material.css +379 -0
  276. package/styles/breadcrumb/material.scss +4 -0
  277. package/styles/breadcrumb/tailwind-dark.css +402 -0
  278. package/styles/breadcrumb/tailwind-dark.scss +4 -0
  279. package/styles/breadcrumb/tailwind.css +402 -0
  280. package/styles/breadcrumb/tailwind.scss +4 -0
  281. package/styles/carousel/_all.scss +2 -0
  282. package/styles/carousel/_bootstrap-dark-definition.scss +22 -0
  283. package/styles/carousel/_bootstrap-definition.scss +22 -0
  284. package/styles/carousel/_bootstrap4-definition.scss +22 -0
  285. package/styles/carousel/_bootstrap5-dark-definition.scss +1 -0
  286. package/styles/carousel/_bootstrap5-definition.scss +22 -0
  287. package/styles/carousel/_fabric-dark-definition.scss +22 -0
  288. package/styles/carousel/_fabric-definition.scss +22 -0
  289. package/styles/carousel/_fluent-dark-definition.scss +1 -0
  290. package/styles/carousel/_fluent-definition.scss +22 -0
  291. package/styles/carousel/_fusionnew-definition.scss +22 -0
  292. package/styles/carousel/_highcontrast-definition.scss +22 -0
  293. package/styles/carousel/_highcontrast-light-definition.scss +22 -0
  294. package/styles/carousel/_layout.scss +225 -0
  295. package/styles/carousel/_material-dark-definition.scss +22 -0
  296. package/styles/carousel/_material-definition.scss +22 -0
  297. package/styles/carousel/_tailwind-dark-definition.scss +1 -0
  298. package/styles/carousel/_tailwind-definition.scss +22 -0
  299. package/styles/carousel/_theme.scss +56 -0
  300. package/styles/carousel/bootstrap-dark.css +264 -0
  301. package/styles/carousel/bootstrap-dark.scss +5 -0
  302. package/styles/carousel/bootstrap.css +264 -0
  303. package/styles/carousel/bootstrap.scss +5 -0
  304. package/styles/carousel/bootstrap4.css +264 -0
  305. package/styles/carousel/bootstrap4.scss +5 -0
  306. package/styles/carousel/bootstrap5-dark.css +264 -0
  307. package/styles/carousel/bootstrap5-dark.scss +5 -0
  308. package/styles/carousel/bootstrap5.css +264 -0
  309. package/styles/carousel/bootstrap5.scss +5 -0
  310. package/styles/carousel/fabric-dark.css +264 -0
  311. package/styles/carousel/fabric-dark.scss +5 -0
  312. package/styles/carousel/fabric.css +264 -0
  313. package/styles/carousel/fabric.scss +5 -0
  314. package/styles/carousel/fluent-dark.css +264 -0
  315. package/styles/carousel/fluent-dark.scss +5 -0
  316. package/styles/carousel/fluent.css +264 -0
  317. package/styles/carousel/fluent.scss +5 -0
  318. package/styles/carousel/highcontrast-light.css +264 -0
  319. package/styles/carousel/highcontrast-light.scss +5 -0
  320. package/styles/carousel/highcontrast.css +264 -0
  321. package/styles/carousel/highcontrast.scss +5 -0
  322. package/styles/carousel/icons/_bootstrap-dark.scss +30 -0
  323. package/styles/carousel/icons/_bootstrap.scss +30 -0
  324. package/styles/carousel/icons/_bootstrap4.scss +30 -0
  325. package/styles/carousel/icons/_bootstrap5-dark.scss +1 -0
  326. package/styles/carousel/icons/_bootstrap5.scss +30 -0
  327. package/styles/carousel/icons/_fabric-dark.scss +30 -0
  328. package/styles/carousel/icons/_fabric.scss +30 -0
  329. package/styles/carousel/icons/_fluent-dark.scss +1 -0
  330. package/styles/carousel/icons/_fluent.scss +30 -0
  331. package/styles/carousel/icons/_fusionnew.scss +30 -0
  332. package/styles/carousel/icons/_highcontrast-light.scss +30 -0
  333. package/styles/carousel/icons/_highcontrast.scss +30 -0
  334. package/styles/carousel/icons/_material-dark.scss +30 -0
  335. package/styles/carousel/icons/_material.scss +30 -0
  336. package/styles/carousel/icons/_material3.scss +30 -0
  337. package/styles/carousel/icons/_tailwind-dark.scss +1 -0
  338. package/styles/carousel/icons/_tailwind.scss +30 -0
  339. package/styles/carousel/material-dark.css +265 -0
  340. package/styles/carousel/material-dark.scss +5 -0
  341. package/styles/carousel/material.css +265 -0
  342. package/styles/carousel/material.scss +5 -0
  343. package/styles/carousel/tailwind-dark.css +265 -0
  344. package/styles/carousel/tailwind-dark.scss +5 -0
  345. package/styles/carousel/tailwind.css +265 -0
  346. package/styles/carousel/tailwind.scss +5 -0
  347. package/styles/context-menu/_bootstrap-dark-definition.scss +49 -50
  348. package/styles/context-menu/_bootstrap-definition.scss +1 -3
  349. package/styles/context-menu/_bootstrap4-definition.scss +50 -0
  350. package/styles/context-menu/_bootstrap5-dark-definition.scss +1 -0
  351. package/styles/context-menu/_bootstrap5-definition.scss +52 -0
  352. package/styles/context-menu/_fabric-dark-definition.scss +49 -50
  353. package/styles/context-menu/_fabric-definition.scss +0 -2
  354. package/styles/context-menu/_fluent-dark-definition.scss +1 -0
  355. package/styles/context-menu/_fluent-definition.scss +52 -0
  356. package/styles/context-menu/_fusionnew-definition.scss +52 -0
  357. package/styles/context-menu/_highcontrast-definition.scss +0 -2
  358. package/styles/context-menu/_highcontrast-light-definition.scss +2 -3
  359. package/styles/context-menu/_layout-mixin.scss +19 -14
  360. package/styles/context-menu/_layout.scss +88 -5
  361. package/styles/context-menu/_material-dark-definition.scss +49 -50
  362. package/styles/context-menu/_material-definition.scss +3 -5
  363. package/styles/context-menu/_tailwind-dark-definition.scss +1 -0
  364. package/styles/context-menu/_tailwind-definition.scss +53 -0
  365. package/styles/context-menu/_theme-mixin.scss +16 -12
  366. package/styles/context-menu/_theme.scss +15 -1
  367. package/styles/context-menu/bootstrap-dark.css +203 -112
  368. package/styles/context-menu/bootstrap-dark.scss +3 -0
  369. package/styles/context-menu/bootstrap.css +203 -111
  370. package/styles/context-menu/bootstrap.scss +3 -0
  371. package/styles/context-menu/bootstrap4.css +367 -0
  372. package/styles/context-menu/bootstrap4.scss +7 -0
  373. package/styles/context-menu/bootstrap5-dark.css +355 -0
  374. package/styles/context-menu/bootstrap5-dark.scss +7 -0
  375. package/styles/context-menu/bootstrap5.css +355 -0
  376. package/styles/context-menu/bootstrap5.scss +7 -0
  377. package/styles/context-menu/fabric-dark.css +204 -113
  378. package/styles/context-menu/fabric-dark.scss +3 -0
  379. package/styles/context-menu/fabric.css +202 -110
  380. package/styles/context-menu/fabric.scss +3 -0
  381. package/styles/context-menu/fluent-dark.css +363 -0
  382. package/styles/context-menu/fluent-dark.scss +7 -0
  383. package/styles/context-menu/fluent.css +363 -0
  384. package/styles/context-menu/fluent.scss +7 -0
  385. package/styles/context-menu/highcontrast-light.css +366 -0
  386. package/styles/context-menu/highcontrast-light.scss +7 -0
  387. package/styles/context-menu/highcontrast.css +202 -110
  388. package/styles/context-menu/highcontrast.scss +3 -0
  389. package/styles/context-menu/icons/_bootstrap-dark.scss +5 -2
  390. package/styles/context-menu/icons/_bootstrap.scss +5 -2
  391. package/styles/context-menu/icons/_bootstrap4.scss +33 -0
  392. package/styles/context-menu/icons/_bootstrap5-dark.scss +1 -0
  393. package/styles/context-menu/icons/_bootstrap5.scss +33 -0
  394. package/styles/context-menu/icons/_fabric-dark.scss +5 -2
  395. package/styles/context-menu/icons/_fabric.scss +5 -2
  396. package/styles/context-menu/icons/_fluent-dark.scss +1 -0
  397. package/styles/context-menu/icons/_fluent.scss +33 -0
  398. package/styles/context-menu/icons/_fusionnew.scss +33 -0
  399. package/styles/context-menu/icons/_highcontrast-light.scss +5 -2
  400. package/styles/context-menu/icons/_highcontrast.scss +5 -2
  401. package/styles/context-menu/icons/_material-dark.scss +5 -2
  402. package/styles/context-menu/icons/_material.scss +5 -2
  403. package/styles/context-menu/icons/_material3.scss +33 -0
  404. package/styles/context-menu/icons/_tailwind-dark.scss +33 -0
  405. package/styles/context-menu/icons/_tailwind.scss +33 -0
  406. package/styles/context-menu/material-dark.css +221 -112
  407. package/styles/context-menu/material-dark.scss +3 -0
  408. package/styles/context-menu/material.css +225 -114
  409. package/styles/context-menu/material.scss +3 -0
  410. package/styles/context-menu/tailwind-dark.css +380 -0
  411. package/styles/context-menu/tailwind-dark.scss +7 -0
  412. package/styles/context-menu/tailwind.css +380 -0
  413. package/styles/context-menu/tailwind.scss +7 -0
  414. package/styles/fabric-dark.css +6281 -4215
  415. package/styles/fabric-dark.scss +4 -0
  416. package/styles/fabric.css +5956 -4045
  417. package/styles/fabric.scss +4 -0
  418. package/styles/fluent-dark.css +10172 -0
  419. package/styles/fluent-dark.scss +13 -0
  420. package/styles/fluent.css +10172 -0
  421. package/styles/fluent.scss +13 -0
  422. package/styles/h-scroll/_all.scss +1 -1
  423. package/styles/h-scroll/_bootstrap-dark-definition.scss +46 -40
  424. package/styles/h-scroll/_bootstrap-definition.scss +14 -7
  425. package/styles/h-scroll/_bootstrap4-definition.scss +56 -0
  426. package/styles/h-scroll/_bootstrap5-dark-definition.scss +1 -0
  427. package/styles/h-scroll/_bootstrap5-definition.scss +83 -0
  428. package/styles/h-scroll/_fabric-dark-definition.scss +48 -42
  429. package/styles/h-scroll/_fabric-definition.scss +17 -9
  430. package/styles/h-scroll/_fluent-dark-definition.scss +1 -0
  431. package/styles/h-scroll/_fluent-definition.scss +83 -0
  432. package/styles/h-scroll/_fusionnew-definition.scss +83 -0
  433. package/styles/h-scroll/_highcontrast-definition.scss +15 -17
  434. package/styles/h-scroll/_highcontrast-light-definition.scss +49 -46
  435. package/styles/h-scroll/_layout.scss +15 -15
  436. package/styles/h-scroll/_material-dark-definition.scss +56 -51
  437. package/styles/h-scroll/_material-definition.scss +21 -15
  438. package/styles/h-scroll/_tailwind-dark-definition.scss +1 -0
  439. package/styles/h-scroll/_tailwind-definition.scss +83 -0
  440. package/styles/h-scroll/_theme.scss +15 -29
  441. package/styles/h-scroll/bootstrap-dark.css +53 -66
  442. package/styles/h-scroll/bootstrap-dark.scss +1 -0
  443. package/styles/h-scroll/bootstrap.css +32 -80
  444. package/styles/h-scroll/bootstrap4.css +260 -0
  445. package/styles/h-scroll/bootstrap4.scss +4 -0
  446. package/styles/h-scroll/bootstrap5-dark.css +280 -0
  447. package/styles/h-scroll/bootstrap5-dark.scss +4 -0
  448. package/styles/h-scroll/bootstrap5.css +280 -0
  449. package/styles/h-scroll/bootstrap5.scss +4 -0
  450. package/styles/h-scroll/fabric-dark.css +54 -67
  451. package/styles/h-scroll/fabric-dark.scss +1 -0
  452. package/styles/h-scroll/fabric.css +32 -80
  453. package/styles/h-scroll/fluent-dark.css +280 -0
  454. package/styles/h-scroll/fluent-dark.scss +4 -0
  455. package/styles/h-scroll/fluent.css +280 -0
  456. package/styles/h-scroll/fluent.scss +4 -0
  457. package/styles/h-scroll/highcontrast-light.css +259 -0
  458. package/styles/h-scroll/highcontrast-light.scss +4 -0
  459. package/styles/h-scroll/highcontrast.css +26 -89
  460. package/styles/h-scroll/{_icons.scss → icons/_bootstrap-dark.scss} +13 -13
  461. package/styles/h-scroll/icons/_bootstrap.scss +3 -4
  462. package/styles/h-scroll/icons/_bootstrap4.scss +49 -0
  463. package/styles/h-scroll/icons/_bootstrap5-dark.scss +1 -0
  464. package/styles/h-scroll/icons/_bootstrap5.scss +49 -0
  465. package/styles/h-scroll/icons/_fabric-dark.scss +49 -0
  466. package/styles/h-scroll/icons/_fabric.scss +5 -5
  467. package/styles/h-scroll/icons/_fluent-dark.scss +1 -0
  468. package/styles/h-scroll/icons/_fluent.scss +49 -0
  469. package/styles/h-scroll/icons/_fusionnew.scss +49 -0
  470. package/styles/h-scroll/icons/_highcontrast-light.scss +49 -0
  471. package/styles/h-scroll/icons/_highcontrast.scss +5 -5
  472. package/styles/h-scroll/icons/_material-dark.scss +49 -0
  473. package/styles/h-scroll/icons/_material.scss +3 -3
  474. package/styles/h-scroll/icons/_material3.scss +49 -0
  475. package/styles/h-scroll/icons/_tailwind-dark.scss +1 -0
  476. package/styles/h-scroll/icons/_tailwind.scss +49 -0
  477. package/styles/h-scroll/material-dark.css +56 -70
  478. package/styles/h-scroll/material-dark.scss +1 -0
  479. package/styles/h-scroll/material.css +33 -82
  480. package/styles/h-scroll/tailwind-dark.css +281 -0
  481. package/styles/h-scroll/tailwind-dark.scss +4 -0
  482. package/styles/h-scroll/tailwind.css +281 -0
  483. package/styles/h-scroll/tailwind.scss +4 -0
  484. package/styles/highcontrast-light.css +10029 -0
  485. package/styles/highcontrast-light.scss +13 -0
  486. package/styles/highcontrast.css +6035 -4466
  487. package/styles/highcontrast.scss +4 -0
  488. package/styles/material-dark.css +7913 -5586
  489. package/styles/material-dark.scss +4 -0
  490. package/styles/material.css +5982 -3808
  491. package/styles/material.scss +4 -0
  492. package/styles/menu/_bootstrap-dark-definition.scss +29 -21
  493. package/styles/menu/_bootstrap-definition.scss +8 -1
  494. package/styles/menu/_bootstrap4-definition.scss +64 -0
  495. package/styles/menu/_bootstrap5-dark-definition.scss +1 -0
  496. package/styles/menu/_bootstrap5-definition.scss +67 -0
  497. package/styles/menu/_fabric-dark-definition.scss +30 -22
  498. package/styles/menu/_fabric-definition.scss +8 -1
  499. package/styles/menu/_fluent-dark-definition.scss +1 -0
  500. package/styles/menu/_fluent-definition.scss +67 -0
  501. package/styles/menu/_fusionnew-definition.scss +67 -0
  502. package/styles/menu/_highcontrast-definition.scss +9 -2
  503. package/styles/menu/_highcontrast-light-definition.scss +8 -1
  504. package/styles/menu/_layout.scss +360 -39
  505. package/styles/menu/_material-dark-definition.scss +27 -19
  506. package/styles/menu/_material-definition.scss +7 -0
  507. package/styles/menu/_tailwind-dark-definition.scss +1 -0
  508. package/styles/menu/_tailwind-definition.scss +66 -0
  509. package/styles/menu/_theme.scss +199 -15
  510. package/styles/menu/bootstrap-dark.css +715 -320
  511. package/styles/menu/bootstrap.css +696 -302
  512. package/styles/menu/bootstrap.scss +1 -0
  513. package/styles/menu/bootstrap4.css +1126 -0
  514. package/styles/menu/bootstrap4.scss +8 -0
  515. package/styles/menu/bootstrap5-dark.css +1083 -0
  516. package/styles/menu/bootstrap5-dark.scss +8 -0
  517. package/styles/menu/bootstrap5.css +1083 -0
  518. package/styles/menu/bootstrap5.scss +8 -0
  519. package/styles/menu/fabric-dark.css +714 -319
  520. package/styles/menu/fabric.css +694 -299
  521. package/styles/menu/fabric.scss +1 -0
  522. package/styles/menu/fluent-dark.css +1106 -0
  523. package/styles/menu/fluent-dark.scss +8 -0
  524. package/styles/menu/fluent.css +1106 -0
  525. package/styles/menu/fluent.scss +8 -0
  526. package/styles/menu/highcontrast-light.css +1088 -0
  527. package/styles/menu/highcontrast-light.scss +8 -0
  528. package/styles/menu/highcontrast.css +696 -301
  529. package/styles/menu/highcontrast.scss +1 -0
  530. package/styles/menu/icons/_bootstrap-dark.scss +58 -3
  531. package/styles/menu/icons/_bootstrap.scss +58 -3
  532. package/styles/menu/icons/_bootstrap4.scss +134 -0
  533. package/styles/menu/icons/_bootstrap5-dark.scss +1 -0
  534. package/styles/menu/icons/_bootstrap5.scss +134 -0
  535. package/styles/menu/icons/_fabric-dark.scss +62 -7
  536. package/styles/menu/icons/_fabric.scss +62 -7
  537. package/styles/menu/icons/_fluent-dark.scss +1 -0
  538. package/styles/menu/icons/_fluent.scss +134 -0
  539. package/styles/menu/icons/_fusionnew.scss +134 -0
  540. package/styles/menu/icons/_highcontrast-light.scss +58 -3
  541. package/styles/menu/icons/_highcontrast.scss +58 -3
  542. package/styles/menu/icons/_material-dark.scss +58 -3
  543. package/styles/menu/icons/_material.scss +58 -3
  544. package/styles/menu/icons/_material3.scss +134 -0
  545. package/styles/menu/icons/_tailwind-dark.scss +134 -0
  546. package/styles/menu/icons/_tailwind.scss +134 -0
  547. package/styles/menu/material-dark.css +713 -320
  548. package/styles/menu/material.css +697 -304
  549. package/styles/menu/material.scss +1 -0
  550. package/styles/menu/tailwind-dark.css +1102 -0
  551. package/styles/menu/tailwind-dark.scss +8 -0
  552. package/styles/menu/tailwind.css +1102 -0
  553. package/styles/menu/tailwind.scss +8 -0
  554. package/styles/pager/_all.scss +2 -0
  555. package/styles/pager/_bootstrap-dark-definition.scss +131 -0
  556. package/styles/pager/_bootstrap-definition.scss +131 -0
  557. package/styles/pager/_bootstrap4-definition.scss +131 -0
  558. package/styles/pager/_bootstrap5-dark-definition.scss +1 -0
  559. package/styles/pager/_bootstrap5-definition.scss +146 -0
  560. package/styles/pager/_fabric-dark-definition.scss +131 -0
  561. package/styles/pager/_fabric-definition.scss +129 -0
  562. package/styles/pager/_fluent-dark-definition.scss +1 -0
  563. package/styles/pager/_fluent-definition.scss +133 -0
  564. package/styles/pager/_fusionnew-definition.scss +146 -0
  565. package/styles/pager/_highcontrast-definition.scss +129 -0
  566. package/styles/pager/_highcontrast-light-definition.scss +131 -0
  567. package/styles/pager/_layout.scss +896 -0
  568. package/styles/pager/_material-dark-definition.scss +132 -0
  569. package/styles/pager/_material-definition.scss +130 -0
  570. package/styles/pager/_tailwind-dark-definition.scss +1 -0
  571. package/styles/pager/_tailwind-definition.scss +132 -0
  572. package/styles/pager/_theme.scss +152 -0
  573. package/styles/pager/bootstrap-dark.css +688 -0
  574. package/styles/pager/bootstrap-dark.scss +4 -0
  575. package/styles/pager/bootstrap.css +688 -0
  576. package/styles/pager/bootstrap.scss +4 -0
  577. package/styles/pager/bootstrap4.css +688 -0
  578. package/styles/pager/bootstrap4.scss +4 -0
  579. package/styles/pager/bootstrap5-dark.css +723 -0
  580. package/styles/pager/bootstrap5-dark.scss +4 -0
  581. package/styles/pager/bootstrap5.css +723 -0
  582. package/styles/pager/bootstrap5.scss +4 -0
  583. package/styles/pager/fabric-dark.css +688 -0
  584. package/styles/pager/fabric-dark.scss +4 -0
  585. package/styles/pager/fabric.css +688 -0
  586. package/styles/pager/fabric.scss +4 -0
  587. package/styles/pager/fluent-dark.css +690 -0
  588. package/styles/pager/fluent-dark.scss +4 -0
  589. package/styles/pager/fluent.css +690 -0
  590. package/styles/pager/fluent.scss +4 -0
  591. package/styles/pager/highcontrast-light.css +688 -0
  592. package/styles/pager/highcontrast-light.scss +4 -0
  593. package/styles/pager/highcontrast.css +688 -0
  594. package/styles/pager/highcontrast.scss +4 -0
  595. package/styles/pager/icons/_bootstrap-dark.scss +50 -0
  596. package/styles/pager/icons/_bootstrap.scss +50 -0
  597. package/styles/pager/icons/_bootstrap4.scss +50 -0
  598. package/styles/pager/icons/_bootstrap5-dark.scss +1 -0
  599. package/styles/pager/icons/_bootstrap5.scss +50 -0
  600. package/styles/pager/icons/_fabric-dark.scss +50 -0
  601. package/styles/pager/icons/_fabric.scss +50 -0
  602. package/styles/pager/icons/_fluent-dark.scss +1 -0
  603. package/styles/pager/icons/_fluent.scss +50 -0
  604. package/styles/pager/icons/_fusionnew.scss +50 -0
  605. package/styles/pager/icons/_highcontrast-light.scss +50 -0
  606. package/styles/pager/icons/_highcontrast.scss +46 -0
  607. package/styles/pager/icons/_material-dark.scss +50 -0
  608. package/styles/pager/icons/_material.scss +46 -0
  609. package/styles/pager/icons/_material3.scss +50 -0
  610. package/styles/pager/icons/_tailwind-dark.scss +1 -0
  611. package/styles/pager/icons/_tailwind.scss +50 -0
  612. package/styles/pager/material-dark.css +689 -0
  613. package/styles/pager/material-dark.scss +4 -0
  614. package/styles/pager/material.css +689 -0
  615. package/styles/pager/material.scss +4 -0
  616. package/styles/pager/tailwind-dark.css +815 -0
  617. package/styles/pager/tailwind-dark.scss +4 -0
  618. package/styles/pager/tailwind.css +815 -0
  619. package/styles/pager/tailwind.scss +4 -0
  620. package/styles/sidebar/_bootstrap4-definition.scss +4 -0
  621. package/styles/sidebar/_bootstrap5-dark-definition.scss +1 -0
  622. package/styles/sidebar/_bootstrap5-definition.scss +6 -0
  623. package/styles/sidebar/_fabric-definition.scss +0 -2
  624. package/styles/sidebar/_fluent-dark-definition.scss +1 -0
  625. package/styles/sidebar/_fluent-definition.scss +6 -0
  626. package/styles/sidebar/_fusionnew-definition.scss +6 -0
  627. package/styles/sidebar/_highcontrast-definition.scss +1 -1
  628. package/styles/sidebar/_icons.scss +1 -1
  629. package/styles/sidebar/_layout.scss +1 -0
  630. package/styles/sidebar/_tailwind-dark-definition.scss +1 -0
  631. package/styles/sidebar/_tailwind-definition.scss +6 -0
  632. package/styles/sidebar/_theme.scss +56 -34
  633. package/styles/sidebar/bootstrap-dark.css +29 -25
  634. package/styles/sidebar/bootstrap.css +29 -25
  635. package/styles/sidebar/bootstrap4.css +149 -0
  636. package/styles/sidebar/bootstrap4.scss +3 -0
  637. package/styles/sidebar/bootstrap5-dark.css +147 -0
  638. package/styles/sidebar/bootstrap5-dark.scss +3 -0
  639. package/styles/sidebar/bootstrap5.css +147 -0
  640. package/styles/sidebar/bootstrap5.scss +3 -0
  641. package/styles/sidebar/fabric-dark.css +29 -25
  642. package/styles/sidebar/fabric.css +29 -25
  643. package/styles/sidebar/fluent-dark.css +147 -0
  644. package/styles/sidebar/fluent-dark.scss +3 -0
  645. package/styles/sidebar/fluent.css +147 -0
  646. package/styles/sidebar/fluent.scss +3 -0
  647. package/styles/sidebar/highcontrast-light.css +149 -0
  648. package/styles/sidebar/highcontrast-light.scss +3 -0
  649. package/styles/sidebar/highcontrast.css +30 -26
  650. package/styles/sidebar/material-dark.css +29 -25
  651. package/styles/sidebar/material.css +29 -25
  652. package/styles/sidebar/tailwind-dark.css +148 -0
  653. package/styles/sidebar/tailwind-dark.scss +3 -0
  654. package/styles/sidebar/tailwind.css +148 -0
  655. package/styles/sidebar/tailwind.scss +3 -0
  656. package/styles/tab/_bootstrap-dark-definition.scss +632 -374
  657. package/styles/tab/_bootstrap-definition.scss +279 -13
  658. package/styles/tab/_bootstrap4-definition.scss +666 -0
  659. package/styles/tab/_bootstrap5-dark-definition.scss +1 -0
  660. package/styles/tab/_bootstrap5-definition.scss +656 -0
  661. package/styles/tab/_fabric-dark-definition.scss +644 -385
  662. package/styles/tab/_fabric-definition.scss +281 -15
  663. package/styles/tab/_fluent-dark-definition.scss +1 -0
  664. package/styles/tab/_fluent-definition.scss +664 -0
  665. package/styles/tab/_fusionnew-definition.scss +656 -0
  666. package/styles/tab/_highcontrast-definition.scss +283 -17
  667. package/styles/tab/_highcontrast-light-definition.scss +667 -411
  668. package/styles/tab/_icons.scss +1 -0
  669. package/styles/tab/_layout.scss +697 -753
  670. package/styles/tab/_material-dark-definition.scss +627 -370
  671. package/styles/tab/_material-definition.scss +277 -11
  672. package/styles/tab/_tailwind-dark-definition.scss +1 -0
  673. package/styles/tab/_tailwind-definition.scss +685 -0
  674. package/styles/tab/_theme.scss +402 -537
  675. package/styles/tab/bootstrap-dark.css +1226 -1067
  676. package/styles/tab/bootstrap-dark.scss +1 -0
  677. package/styles/tab/bootstrap.css +1173 -1106
  678. package/styles/tab/bootstrap4.css +4031 -0
  679. package/styles/tab/bootstrap4.scss +5 -0
  680. package/styles/tab/bootstrap5-dark.css +4029 -0
  681. package/styles/tab/bootstrap5-dark.scss +5 -0
  682. package/styles/tab/bootstrap5.css +4029 -0
  683. package/styles/tab/bootstrap5.scss +5 -0
  684. package/styles/tab/fabric-dark.css +1212 -1096
  685. package/styles/tab/fabric-dark.scss +1 -0
  686. package/styles/tab/fabric.css +1173 -1148
  687. package/styles/tab/fluent-dark.css +4031 -0
  688. package/styles/tab/fluent-dark.scss +5 -0
  689. package/styles/tab/fluent.css +4031 -0
  690. package/styles/tab/fluent.scss +5 -0
  691. package/styles/tab/highcontrast-light.css +4022 -0
  692. package/styles/tab/highcontrast-light.scss +5 -0
  693. package/styles/tab/highcontrast.css +1086 -1215
  694. package/styles/tab/icons/_bootstrap-dark.scss +108 -0
  695. package/styles/tab/icons/_bootstrap.scss +11 -35
  696. package/styles/tab/icons/_bootstrap4.scss +115 -0
  697. package/styles/tab/icons/_bootstrap5-dark.scss +1 -0
  698. package/styles/tab/icons/_bootstrap5.scss +104 -0
  699. package/styles/tab/icons/_fabric-dark.scss +108 -0
  700. package/styles/tab/icons/_fabric.scss +11 -35
  701. package/styles/tab/icons/_fluent-dark.scss +1 -0
  702. package/styles/tab/icons/_fluent.scss +108 -0
  703. package/styles/tab/icons/_fusionnew.scss +104 -0
  704. package/styles/tab/icons/_highcontrast-light.scss +104 -0
  705. package/styles/tab/icons/_highcontrast.scss +11 -28
  706. package/styles/tab/icons/_material-dark.scss +104 -0
  707. package/styles/tab/icons/_material.scss +9 -37
  708. package/styles/tab/icons/_material3.scss +104 -0
  709. package/styles/tab/icons/_tailwind-dark.scss +1 -0
  710. package/styles/tab/icons/_tailwind.scss +104 -0
  711. package/styles/tab/material-dark.css +1334 -955
  712. package/styles/tab/material-dark.scss +1 -0
  713. package/styles/tab/material.css +1280 -992
  714. package/styles/tab/tailwind-dark.css +4046 -0
  715. package/styles/tab/tailwind-dark.scss +5 -0
  716. package/styles/tab/tailwind.css +4046 -0
  717. package/styles/tab/tailwind.scss +5 -0
  718. package/styles/tailwind-dark.css +10351 -0
  719. package/styles/tailwind-dark.scss +13 -0
  720. package/styles/tailwind.css +10351 -0
  721. package/styles/tailwind.scss +13 -0
  722. package/styles/toolbar/_all.scss +1 -1
  723. package/styles/toolbar/_bootstrap-dark-definition.scss +193 -121
  724. package/styles/toolbar/_bootstrap-definition.scss +107 -34
  725. package/styles/toolbar/_bootstrap4-definition.scss +211 -0
  726. package/styles/toolbar/_bootstrap5-dark-definition.scss +1 -0
  727. package/styles/toolbar/_bootstrap5-definition.scss +220 -0
  728. package/styles/toolbar/_fabric-dark-definition.scss +208 -140
  729. package/styles/toolbar/_fabric-definition.scss +97 -28
  730. package/styles/toolbar/_fluent-dark-definition.scss +1 -0
  731. package/styles/toolbar/_fluent-definition.scss +210 -0
  732. package/styles/toolbar/_fusionnew-definition.scss +220 -0
  733. package/styles/toolbar/_highcontrast-definition.scss +99 -30
  734. package/styles/toolbar/_highcontrast-light-definition.scss +219 -149
  735. package/styles/toolbar/_layout.scss +690 -1087
  736. package/styles/toolbar/_material-dark-definition.scss +216 -148
  737. package/styles/toolbar/_material-definition.scss +117 -46
  738. package/styles/toolbar/_tailwind-dark-definition.scss +1 -0
  739. package/styles/toolbar/_tailwind-definition.scss +210 -0
  740. package/styles/toolbar/_theme.scss +246 -263
  741. package/styles/toolbar/bootstrap-dark.css +768 -1105
  742. package/styles/toolbar/bootstrap-dark.scss +1 -0
  743. package/styles/toolbar/bootstrap.css +761 -1111
  744. package/styles/toolbar/bootstrap.scss +1 -0
  745. package/styles/toolbar/bootstrap4.css +1071 -0
  746. package/styles/toolbar/bootstrap4.scss +8 -0
  747. package/styles/toolbar/bootstrap5-dark.css +1082 -0
  748. package/styles/toolbar/bootstrap5-dark.scss +8 -0
  749. package/styles/toolbar/bootstrap5.css +1082 -0
  750. package/styles/toolbar/bootstrap5.scss +8 -0
  751. package/styles/toolbar/fabric-dark.css +779 -1042
  752. package/styles/toolbar/fabric-dark.scss +1 -0
  753. package/styles/toolbar/fabric.css +767 -1041
  754. package/styles/toolbar/fabric.scss +1 -0
  755. package/styles/toolbar/fluent-dark.css +1081 -0
  756. package/styles/toolbar/fluent-dark.scss +8 -0
  757. package/styles/toolbar/fluent.css +1081 -0
  758. package/styles/toolbar/fluent.scss +8 -0
  759. package/styles/toolbar/highcontrast-light.css +1070 -0
  760. package/styles/toolbar/highcontrast-light.scss +8 -0
  761. package/styles/toolbar/highcontrast.css +744 -1089
  762. package/styles/toolbar/highcontrast.scss +1 -0
  763. package/styles/toolbar/icons/_bootstrap-dark.scss +16 -0
  764. package/styles/toolbar/icons/_bootstrap.scss +1 -1
  765. package/styles/toolbar/icons/_bootstrap4.scss +16 -0
  766. package/styles/toolbar/icons/_bootstrap5-dark.scss +1 -0
  767. package/styles/toolbar/icons/_bootstrap5.scss +16 -0
  768. package/styles/toolbar/icons/_fabric-dark.scss +16 -0
  769. package/styles/toolbar/icons/_fabric.scss +1 -1
  770. package/styles/toolbar/icons/_fluent-dark.scss +1 -0
  771. package/styles/toolbar/icons/_fluent.scss +16 -0
  772. package/styles/toolbar/icons/_fusionnew.scss +16 -0
  773. package/styles/toolbar/icons/_highcontrast-light.scss +16 -0
  774. package/styles/toolbar/icons/_highcontrast.scss +1 -1
  775. package/styles/toolbar/icons/_material-dark.scss +16 -0
  776. package/styles/toolbar/icons/_material.scss +1 -1
  777. package/styles/toolbar/icons/_material3.scss +16 -0
  778. package/styles/toolbar/icons/_tailwind-dark.scss +1 -0
  779. package/styles/toolbar/icons/_tailwind.scss +16 -0
  780. package/styles/toolbar/material-dark.css +747 -1010
  781. package/styles/toolbar/material-dark.scss +1 -0
  782. package/styles/toolbar/material.css +753 -1027
  783. package/styles/toolbar/material.scss +1 -0
  784. package/styles/toolbar/tailwind-dark.css +1082 -0
  785. package/styles/toolbar/tailwind-dark.scss +8 -0
  786. package/styles/toolbar/tailwind.css +1082 -0
  787. package/styles/toolbar/tailwind.scss +8 -0
  788. package/styles/treeview/_all.scss +1 -1
  789. package/styles/treeview/_bootstrap-dark-definition.scss +104 -117
  790. package/styles/treeview/_bootstrap-definition.scss +24 -38
  791. package/styles/treeview/_bootstrap4-definition.scss +141 -0
  792. package/styles/treeview/_bootstrap5-dark-definition.scss +1 -0
  793. package/styles/treeview/_bootstrap5-definition.scss +120 -0
  794. package/styles/treeview/_fabric-dark-definition.scss +102 -116
  795. package/styles/treeview/_fabric-definition.scss +24 -38
  796. package/styles/treeview/_fluent-dark-definition.scss +1 -0
  797. package/styles/treeview/_fluent-definition.scss +120 -0
  798. package/styles/treeview/_fusionnew-definition.scss +120 -0
  799. package/styles/treeview/_highcontrast-definition.scss +24 -38
  800. package/styles/treeview/_highcontrast-light-definition.scss +112 -126
  801. package/styles/treeview/_layout.scss +619 -28
  802. package/styles/treeview/_material-dark-definition.scss +104 -116
  803. package/styles/treeview/_material-definition.scss +25 -39
  804. package/styles/treeview/_tailwind-dark-definition.scss +1 -0
  805. package/styles/treeview/_tailwind-definition.scss +124 -0
  806. package/styles/treeview/_theme.scss +128 -27
  807. package/styles/treeview/bootstrap-dark.css +230 -172
  808. package/styles/treeview/bootstrap.css +230 -168
  809. package/styles/treeview/bootstrap4.css +829 -0
  810. package/styles/treeview/bootstrap4.scss +6 -0
  811. package/styles/treeview/bootstrap5-dark.css +847 -0
  812. package/styles/treeview/bootstrap5-dark.scss +6 -0
  813. package/styles/treeview/bootstrap5.css +847 -0
  814. package/styles/treeview/bootstrap5.scss +6 -0
  815. package/styles/treeview/fabric-dark.css +230 -168
  816. package/styles/treeview/fabric.css +230 -168
  817. package/styles/treeview/fluent-dark.css +852 -0
  818. package/styles/treeview/fluent-dark.scss +6 -0
  819. package/styles/treeview/fluent.css +852 -0
  820. package/styles/treeview/fluent.scss +6 -0
  821. package/styles/treeview/highcontrast-light.css +736 -0
  822. package/styles/treeview/highcontrast-light.scss +6 -0
  823. package/styles/treeview/highcontrast.css +230 -171
  824. package/styles/treeview/icons/_bootstrap-dark.scss +2 -2
  825. package/styles/treeview/icons/_bootstrap.scss +2 -2
  826. package/styles/treeview/icons/_bootstrap4.scss +39 -0
  827. package/styles/treeview/icons/_bootstrap5-dark.scss +1 -0
  828. package/styles/treeview/icons/_bootstrap5.scss +43 -0
  829. package/styles/treeview/icons/_fabric-dark.scss +2 -2
  830. package/styles/treeview/icons/_fabric.scss +2 -2
  831. package/styles/treeview/icons/_fluent-dark.scss +1 -0
  832. package/styles/treeview/icons/_fluent.scss +43 -0
  833. package/styles/treeview/icons/_fusionnew.scss +43 -0
  834. package/styles/treeview/icons/_highcontrast-light.scss +2 -2
  835. package/styles/treeview/icons/_highcontrast.scss +2 -2
  836. package/styles/treeview/icons/_material-dark.scss +2 -2
  837. package/styles/treeview/icons/_material.scss +2 -2
  838. package/styles/treeview/icons/_material3.scss +43 -0
  839. package/styles/treeview/icons/_tailwind-dark.scss +43 -0
  840. package/styles/treeview/icons/_tailwind.scss +43 -0
  841. package/styles/treeview/material-dark.css +242 -172
  842. package/styles/treeview/material.css +238 -167
  843. package/styles/treeview/tailwind-dark.css +840 -0
  844. package/styles/treeview/tailwind-dark.scss +6 -0
  845. package/styles/treeview/tailwind.css +840 -0
  846. package/styles/treeview/tailwind.scss +6 -0
  847. package/styles/v-scroll/_all.scss +1 -1
  848. package/styles/v-scroll/_bootstrap-dark-definition.scss +39 -38
  849. package/styles/v-scroll/_bootstrap-definition.scss +8 -8
  850. package/styles/v-scroll/_bootstrap4-definition.scss +49 -0
  851. package/styles/v-scroll/_bootstrap5-dark-definition.scss +1 -0
  852. package/styles/v-scroll/_bootstrap5-definition.scss +49 -0
  853. package/styles/v-scroll/_fabric-dark-definition.scss +41 -40
  854. package/styles/v-scroll/_fabric-definition.scss +10 -10
  855. package/styles/v-scroll/_fluent-dark-definition.scss +1 -0
  856. package/styles/v-scroll/_fluent-definition.scss +49 -0
  857. package/styles/v-scroll/_fusionnew-definition.scss +49 -0
  858. package/styles/v-scroll/_highcontrast-definition.scss +10 -11
  859. package/styles/v-scroll/_highcontrast-light-definition.scss +41 -41
  860. package/styles/v-scroll/_layout.scss +4 -4
  861. package/styles/v-scroll/_material-dark-definition.scss +46 -45
  862. package/styles/v-scroll/_material-definition.scss +10 -10
  863. package/styles/v-scroll/_tailwind-dark-definition.scss +1 -0
  864. package/styles/v-scroll/_tailwind-definition.scss +49 -0
  865. package/styles/v-scroll/_theme.scss +2 -27
  866. package/styles/v-scroll/bootstrap-dark.css +25 -51
  867. package/styles/v-scroll/bootstrap-dark.scss +1 -0
  868. package/styles/v-scroll/bootstrap.css +13 -58
  869. package/styles/v-scroll/bootstrap4.css +202 -0
  870. package/styles/v-scroll/bootstrap4.scss +4 -0
  871. package/styles/v-scroll/bootstrap5-dark.css +202 -0
  872. package/styles/v-scroll/bootstrap5-dark.scss +4 -0
  873. package/styles/v-scroll/bootstrap5.css +202 -0
  874. package/styles/v-scroll/bootstrap5.scss +4 -0
  875. package/styles/v-scroll/fabric-dark.css +26 -52
  876. package/styles/v-scroll/fabric-dark.scss +1 -0
  877. package/styles/v-scroll/fabric.css +14 -59
  878. package/styles/v-scroll/fluent-dark.css +202 -0
  879. package/styles/v-scroll/fluent-dark.scss +4 -0
  880. package/styles/v-scroll/fluent.css +202 -0
  881. package/styles/v-scroll/fluent.scss +4 -0
  882. package/styles/v-scroll/highcontrast-light.css +201 -0
  883. package/styles/v-scroll/highcontrast-light.scss +4 -0
  884. package/styles/v-scroll/highcontrast.css +14 -74
  885. package/styles/v-scroll/icons/_bootstrap-dark.scss +27 -0
  886. package/styles/v-scroll/icons/_bootstrap.scss +1 -1
  887. package/styles/v-scroll/icons/_bootstrap4.scss +27 -0
  888. package/styles/v-scroll/icons/_bootstrap5-dark.scss +1 -0
  889. package/styles/v-scroll/icons/_bootstrap5.scss +27 -0
  890. package/styles/v-scroll/icons/_fabric-dark.scss +27 -0
  891. package/styles/v-scroll/icons/_fabric.scss +3 -2
  892. package/styles/v-scroll/icons/_fluent-dark.scss +1 -0
  893. package/styles/v-scroll/icons/_fluent.scss +27 -0
  894. package/styles/v-scroll/icons/_fusionnew.scss +27 -0
  895. package/styles/v-scroll/icons/_highcontrast-light.scss +27 -0
  896. package/styles/v-scroll/icons/_highcontrast.scss +3 -2
  897. package/styles/v-scroll/{_icons.scss → icons/_material-dark.scss} +4 -3
  898. package/styles/v-scroll/icons/_material.scss +1 -0
  899. package/styles/v-scroll/icons/_material3.scss +27 -0
  900. package/styles/v-scroll/icons/_tailwind-dark.scss +1 -0
  901. package/styles/v-scroll/icons/_tailwind.scss +27 -0
  902. package/styles/v-scroll/material-dark.css +23 -50
  903. package/styles/v-scroll/material-dark.scss +1 -0
  904. package/styles/v-scroll/material.css +12 -58
  905. package/styles/v-scroll/tailwind-dark.css +203 -0
  906. package/styles/v-scroll/tailwind-dark.scss +4 -0
  907. package/styles/v-scroll/tailwind.css +203 -0
  908. package/styles/v-scroll/tailwind.scss +4 -0
  909. package/tslint.json +111 -0
  910. package/styles/toolbar/_icons.scss +0 -35
@@ -4,7 +4,7 @@ var __extends = (this && this.__extends) || (function () {
4
4
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
5
  function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
6
  return extendStatics(d, b);
7
- }
7
+ };
8
8
  return function (d, b) {
9
9
  extendStatics(d, b);
10
10
  function __() { this.constructor = d; }
@@ -17,12 +17,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
17
17
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  };
20
+ /* eslint-disable @typescript-eslint/no-explicit-any */
20
21
  import { Component, EventHandler, Property, Event, KeyboardEvents, rippleEffect } from '@syncfusion/ej2-base';
21
22
  import { getUniqueID, compile as templateCompiler } from '@syncfusion/ej2-base';
22
- import { addClass, isVisible, closest, attributes, classList, detach, select } from '@syncfusion/ej2-base';
23
+ import { isVisible, closest, attributes, detach, select, addClass, removeClass, append } from '@syncfusion/ej2-base';
23
24
  import { NotifyPropertyChanges, ChildProperty, Collection, Animation } from '@syncfusion/ej2-base';
24
25
  import { setStyleAttribute as setStyle, Complex } from '@syncfusion/ej2-base';
25
- import { isNullOrUndefined as isNOU, formatUnit, selectAll } from '@syncfusion/ej2-base';
26
+ import { isNullOrUndefined as isNOU, formatUnit, selectAll, SanitizeHtmlHelper, isRippleEnabled } from '@syncfusion/ej2-base';
26
27
  var CLS_ACRDN_ROOT = 'e-acrdn-root';
27
28
  var CLS_ROOT = 'e-accordion';
28
29
  var CLS_ITEM = 'e-acrdn-item';
@@ -46,6 +47,10 @@ var CLS_DISABLE = 'e-overlay';
46
47
  var CLS_TOGANIMATE = 'e-toggle-animation';
47
48
  var CLS_NEST = 'e-nested';
48
49
  var CLS_EXPANDSTATE = 'e-expand-state';
50
+ var CLS_CONTAINER = 'e-accordion-container';
51
+ /**
52
+ * Objects used for configuring the Accordion expanding item action properties.
53
+ */
49
54
  var AccordionActionSettings = /** @class */ (function (_super) {
50
55
  __extends(AccordionActionSettings, _super);
51
56
  function AccordionActionSettings() {
@@ -63,6 +68,9 @@ var AccordionActionSettings = /** @class */ (function (_super) {
63
68
  return AccordionActionSettings;
64
69
  }(ChildProperty));
65
70
  export { AccordionActionSettings };
71
+ /**
72
+ * Objects used for configuring the Accordion animation properties.
73
+ */
66
74
  var AccordionAnimationSettings = /** @class */ (function (_super) {
67
75
  __extends(AccordionAnimationSettings, _super);
68
76
  function AccordionAnimationSettings() {
@@ -86,20 +94,29 @@ var AccordionItem = /** @class */ (function (_super) {
86
94
  return _super !== null && _super.apply(this, arguments) || this;
87
95
  }
88
96
  __decorate([
89
- Property(undefined)
97
+ Property(null)
90
98
  ], AccordionItem.prototype, "content", void 0);
91
99
  __decorate([
92
- Property(undefined)
100
+ Property(null)
93
101
  ], AccordionItem.prototype, "header", void 0);
94
102
  __decorate([
95
- Property(undefined)
103
+ Property(null)
96
104
  ], AccordionItem.prototype, "cssClass", void 0);
97
105
  __decorate([
98
- Property(undefined)
106
+ Property(null)
99
107
  ], AccordionItem.prototype, "iconCss", void 0);
100
108
  __decorate([
101
109
  Property(false)
102
110
  ], AccordionItem.prototype, "expanded", void 0);
111
+ __decorate([
112
+ Property(true)
113
+ ], AccordionItem.prototype, "visible", void 0);
114
+ __decorate([
115
+ Property(false)
116
+ ], AccordionItem.prototype, "disabled", void 0);
117
+ __decorate([
118
+ Property()
119
+ ], AccordionItem.prototype, "id", void 0);
103
120
  return AccordionItem;
104
121
  }(ChildProperty));
105
122
  export { AccordionItem };
@@ -117,8 +134,9 @@ var Accordion = /** @class */ (function (_super) {
117
134
  __extends(Accordion, _super);
118
135
  /**
119
136
  * Initializes a new instance of the Accordion class.
120
- * @param options - Specifies Accordion model properties as options.
121
- * @param element - Specifies the element that is rendered as an Accordion.
137
+ *
138
+ * @param {AccordionModel} options - Specifies Accordion model properties as options.
139
+ * @param {string | HTMLElement} element - Specifies the element that is rendered as an Accordion.
122
140
  */
123
141
  function Accordion(options, element) {
124
142
  var _this = _super.call(this, options, element) || this;
@@ -131,38 +149,40 @@ var Accordion = /** @class */ (function (_super) {
131
149
  enter: 'enter',
132
150
  space: 'space',
133
151
  home: 'home',
134
- end: 'end',
152
+ end: 'end'
135
153
  };
136
154
  return _this;
137
155
  }
138
156
  /**
139
157
  * Removes the control from the DOM and also removes all its related events.
140
- * @returns void
158
+ *
159
+ * @returns {void}
141
160
  */
142
161
  Accordion.prototype.destroy = function () {
143
- var _this = this;
162
+ if (this.isReact || this.isAngular || this.isVue) {
163
+ this.clearTemplate();
164
+ }
144
165
  var ele = this.element;
145
166
  _super.prototype.destroy.call(this);
146
167
  this.unwireEvents();
147
168
  this.isDestroy = true;
148
- this.templateEle.forEach(function (eleStr) {
149
- if (!isNOU(_this.element.querySelector(eleStr))) {
150
- document.body.appendChild(_this.element.querySelector(eleStr)).style.display = 'none';
151
- }
169
+ this.restoreContent(null);
170
+ [].slice.call(ele.children).forEach(function (el) {
171
+ ele.removeChild(el);
152
172
  });
153
- while (ele.firstChild) {
154
- ele.removeChild(ele.firstChild);
155
- }
156
173
  if (this.trgtEle) {
157
- while (this.ctrlTem.firstChild) {
158
- ele.appendChild(this.ctrlTem.firstChild);
174
+ this.trgtEle = null;
175
+ while (this.ctrlTem.firstElementChild) {
176
+ ele.appendChild(this.ctrlTem.firstElementChild);
159
177
  }
178
+ this.ctrlTem = null;
160
179
  }
161
180
  ele.classList.remove(CLS_ACRDN_ROOT);
162
181
  ele.removeAttribute('style');
163
- ['aria-disabled', 'aria-multiselectable', 'role', 'data-ripple'].forEach(function (attrb) {
164
- _this.element.removeAttribute(attrb);
165
- });
182
+ this.element.removeAttribute('data-ripple');
183
+ if (!this.isNested && isRippleEnabled) {
184
+ this.removeRippleEffect();
185
+ }
166
186
  };
167
187
  Accordion.prototype.preRender = function () {
168
188
  var nested = closest(this.element, '.' + CLS_CONTENT);
@@ -171,9 +191,11 @@ var Accordion = /** @class */ (function (_super) {
171
191
  if (!this.isDestroy) {
172
192
  this.isDestroy = false;
173
193
  }
174
- if (!isNOU(nested)) {
175
- nested.classList.add(CLS_NEST);
176
- this.isNested = true;
194
+ if (nested && nested.firstElementChild && nested.firstElementChild.firstElementChild) {
195
+ if (nested.firstElementChild.firstElementChild.classList.contains(CLS_ROOT)) {
196
+ nested.classList.add(CLS_NEST);
197
+ this.isNested = true;
198
+ }
177
199
  }
178
200
  else {
179
201
  this.element.classList.add(CLS_ACRDN_ROOT);
@@ -181,9 +203,6 @@ var Accordion = /** @class */ (function (_super) {
181
203
  if (this.enableRtl) {
182
204
  this.add(this.element, CLS_RTL);
183
205
  }
184
- if (!this.enablePersistence || isNOU(this.expandedItems)) {
185
- this.expandedItems = [];
186
- }
187
206
  };
188
207
  Accordion.prototype.add = function (ele, val) {
189
208
  ele.classList.add(val);
@@ -193,26 +212,27 @@ var Accordion = /** @class */ (function (_super) {
193
212
  };
194
213
  /**
195
214
  * To initialize the control rendering
215
+ *
196
216
  * @private
217
+ * @returns {void}
197
218
  */
198
219
  Accordion.prototype.render = function () {
220
+ this.initializeHeaderTemplate();
221
+ this.initializeItemTemplate();
199
222
  this.initialize();
200
223
  this.renderControl();
201
224
  this.wireEvents();
225
+ this.renderComplete();
202
226
  };
203
227
  Accordion.prototype.initialize = function () {
204
228
  var width = formatUnit(this.width);
205
229
  var height = formatUnit(this.height);
206
230
  setStyle(this.element, { 'width': width, 'height': height });
207
- var ariaAttr = {
208
- 'aria-disabled': 'false', 'role': 'presentation', 'aria-multiselectable': 'true'
209
- };
210
- if (this.expandedItems.length > 0) {
211
- this.initExpand = this.expandedItems;
231
+ if (isNOU(this.initExpand)) {
232
+ this.initExpand = [];
212
233
  }
213
- attributes(this.element, ariaAttr);
214
- if (this.expandMode === 'Single') {
215
- this.element.setAttribute('aria-multiselectable', 'false');
234
+ if (this.expandedIndices.length > 0) {
235
+ this.initExpand = this.expandedIndices;
216
236
  }
217
237
  };
218
238
  Accordion.prototype.renderControl = function () {
@@ -220,6 +240,18 @@ var Accordion = /** @class */ (function (_super) {
220
240
  this.renderItems();
221
241
  this.initItemExpand();
222
242
  };
243
+ Accordion.prototype.wireFocusEvents = function () {
244
+ var acrdItem = [].slice.call(this.element.querySelectorAll('.' + CLS_ITEM));
245
+ for (var _i = 0, acrdItem_1 = acrdItem; _i < acrdItem_1.length; _i++) {
246
+ var item = acrdItem_1[_i];
247
+ var headerEle = item.querySelector('.' + CLS_HEADER);
248
+ if (item.childElementCount > 0 && headerEle) {
249
+ EventHandler.clearEvents(headerEle);
250
+ EventHandler.add(headerEle, 'focus', this.focusIn, this);
251
+ EventHandler.add(headerEle, 'blur', this.focusOut, this);
252
+ }
253
+ }
254
+ };
223
255
  Accordion.prototype.unwireEvents = function () {
224
256
  EventHandler.remove(this.element, 'click', this.clickHandler);
225
257
  if (!isNOU(this.keyModule)) {
@@ -229,7 +261,7 @@ var Accordion = /** @class */ (function (_super) {
229
261
  Accordion.prototype.wireEvents = function () {
230
262
  EventHandler.add(this.element, 'click', this.clickHandler, this);
231
263
  if (!this.isNested && !this.isDestroy) {
232
- rippleEffect(this.element, { selector: '.' + CLS_HEADER });
264
+ this.removeRippleEffect = rippleEffect(this.element, { selector: '.' + CLS_HEADER });
233
265
  }
234
266
  if (!this.isNested) {
235
267
  this.keyModule = new KeyboardEvents(this.element, {
@@ -239,6 +271,38 @@ var Accordion = /** @class */ (function (_super) {
239
271
  });
240
272
  }
241
273
  };
274
+ Accordion.prototype.templateParser = function (template) {
275
+ if (template) {
276
+ try {
277
+ if (document.querySelectorAll(template).length) {
278
+ return templateCompiler(document.querySelector(template).innerHTML.trim());
279
+ }
280
+ else {
281
+ return templateCompiler(template);
282
+ }
283
+ }
284
+ catch (error) {
285
+ return templateCompiler(template);
286
+ }
287
+ }
288
+ return undefined;
289
+ };
290
+ Accordion.prototype.initializeHeaderTemplate = function () {
291
+ if (this.headerTemplate) {
292
+ this.headerTemplateFn = this.templateParser(this.headerTemplate);
293
+ }
294
+ };
295
+ Accordion.prototype.initializeItemTemplate = function () {
296
+ if (this.itemTemplate) {
297
+ this.itemTemplateFn = this.templateParser(this.itemTemplate);
298
+ }
299
+ };
300
+ Accordion.prototype.getHeaderTemplate = function () {
301
+ return this.headerTemplateFn;
302
+ };
303
+ Accordion.prototype.getItemTemplate = function () {
304
+ return this.itemTemplateFn;
305
+ };
242
306
  Accordion.prototype.focusIn = function (e) {
243
307
  e.target.parentElement.classList.add(CLS_ITEMFOCUS);
244
308
  };
@@ -246,41 +310,27 @@ var Accordion = /** @class */ (function (_super) {
246
310
  e.target.parentElement.classList.remove(CLS_ITEMFOCUS);
247
311
  };
248
312
  Accordion.prototype.ctrlTemplate = function () {
249
- var _this = this;
250
313
  this.ctrlTem = this.element.cloneNode(true);
251
- var innerEles = this.element.children;
252
- var content;
253
- addClass([].slice.call(innerEles), [CLS_ITEM]);
314
+ var innerEles;
315
+ var rootEle = select('.' + CLS_CONTAINER, this.element);
316
+ if (rootEle) {
317
+ innerEles = rootEle.children;
318
+ }
319
+ else {
320
+ innerEles = this.element.children;
321
+ }
322
+ var items = [];
254
323
  [].slice.call(innerEles).forEach(function (el) {
255
- el.id = getUniqueID('acrdn_item');
256
- if (el.children.length > 0) {
257
- _this.add(el.children[0], CLS_HEADER);
258
- var header = el.children[0];
259
- attributes(header, { 'tabindex': '0', 'role': 'heading', 'aria-level': innerEles.length.toString() });
260
- header.id = getUniqueID('acrdn_header');
261
- EventHandler.add(header, 'focus', _this.focusIn, _this);
262
- EventHandler.add(header, 'blur', _this.focusOut, _this);
263
- var headerEle = header.firstElementChild;
264
- if (headerEle) {
265
- headerEle.classList.add(CLS_HEADERCTN);
266
- }
267
- content = el.children[1];
268
- if (content) {
269
- content.id = getUniqueID('acrdn_panel');
270
- header.setAttribute('aria-controls', content.id);
271
- content.style.display = '';
272
- el.classList.add(CLS_SLCT);
273
- el.children[0].appendChild(_this.toggleIconGenerate());
274
- classList(content, [CLS_CONTENT, CLS_CTNHIDE], []);
275
- attributes(content, { 'aria-labelledby': header.id, 'aria-hidden': 'true' });
276
- content = content.firstElementChild;
277
- if (content) {
278
- content.classList.add(CLS_CTENT);
279
- content.style.display = '';
280
- }
281
- }
282
- }
324
+ items.push({
325
+ header: (el.childElementCount > 0 && el.children[0]) ? (el.children[0]) : '',
326
+ content: (el.childElementCount > 1 && el.children[1]) ? (el.children[1]) : ''
327
+ });
328
+ el.parentNode.removeChild(el);
283
329
  });
330
+ if (rootEle) {
331
+ this.element.removeChild(rootEle);
332
+ }
333
+ this.setProperties({ items: items }, true);
284
334
  };
285
335
  Accordion.prototype.toggleIconGenerate = function () {
286
336
  var tglIcon = this.createElement('div', { className: CLS_TOOGLEICN });
@@ -298,37 +348,52 @@ var Accordion = /** @class */ (function (_super) {
298
348
  }
299
349
  else {
300
350
  for (var i = 0; i < len; i++) {
301
- this.expandItem(true, this.initExpand[i]);
351
+ this.expandItem(true, this.initExpand[parseInt(i.toString(), 10)]);
302
352
  }
303
353
  }
354
+ if (this.isReact) {
355
+ this.renderReactTemplates();
356
+ }
304
357
  };
305
358
  Accordion.prototype.renderItems = function () {
306
359
  var _this = this;
307
360
  var ele = this.element;
308
361
  var innerItem;
309
- if (isNOU(this.initExpand)) {
310
- this.initExpand = [];
311
- }
312
- var items = this.items;
362
+ var innerDataSourceItem;
313
363
  if (!isNOU(this.trgtEle)) {
314
364
  this.ctrlTemplate();
315
365
  }
316
- else if (ele && items.length > 0) {
317
- items.forEach(function (item, index) {
318
- innerItem = _this.renderInnerItem(item, index);
319
- ele.appendChild(innerItem);
320
- if (innerItem.childElementCount > 0) {
321
- EventHandler.add(innerItem.querySelector('.' + CLS_HEADER), 'focus', _this.focusIn, _this);
322
- EventHandler.add(innerItem.querySelector('.' + CLS_HEADER), 'blur', _this.focusOut, _this);
366
+ if (this.dataSource.length > 0) {
367
+ this.dataSource.forEach(function (item, index) {
368
+ innerDataSourceItem = _this.renderInnerItem(item, index);
369
+ ele.appendChild(innerDataSourceItem);
370
+ if (innerDataSourceItem.childElementCount > 0) {
371
+ EventHandler.add(innerDataSourceItem.querySelector('.' + CLS_HEADER), 'focus', _this.focusIn, _this);
372
+ EventHandler.add(innerDataSourceItem.querySelector('.' + CLS_HEADER), 'blur', _this.focusOut, _this);
323
373
  }
324
374
  });
325
375
  }
376
+ else {
377
+ var items = this.items;
378
+ if (ele && items.length > 0) {
379
+ items.forEach(function (item, index) {
380
+ innerItem = _this.renderInnerItem(item, index);
381
+ ele.appendChild(innerItem);
382
+ if (innerItem.childElementCount > 0) {
383
+ EventHandler.add(innerItem.querySelector('.' + CLS_HEADER), 'focus', _this.focusIn, _this);
384
+ EventHandler.add(innerItem.querySelector('.' + CLS_HEADER), 'blur', _this.focusOut, _this);
385
+ }
386
+ });
387
+ }
388
+ }
389
+ if (this.isReact) {
390
+ this.renderReactTemplates();
391
+ }
326
392
  };
327
393
  Accordion.prototype.clickHandler = function (e) {
328
- var _this = this;
329
394
  var trgt = e.target;
395
+ var items = this.getItems();
330
396
  var eventArgs = {};
331
- var index;
332
397
  var tglIcon;
333
398
  var acrdEle = closest(trgt, '.' + CLS_ROOT);
334
399
  if (acrdEle !== this.element) {
@@ -346,20 +411,33 @@ var Accordion = /** @class */ (function (_super) {
346
411
  tglIcon = select('.' + CLS_TOOGLEICN, acrdnHdr);
347
412
  }
348
413
  var acrdnCtnItem;
349
- if (acrdnCtn) {
414
+ if (acrdnHdr) {
415
+ acrdnCtnItem = closest(acrdnHdr, '.' + CLS_ITEM);
416
+ }
417
+ else if (acrdnCtn) {
350
418
  acrdnCtnItem = closest(acrdnCtn, '.' + CLS_ITEM);
351
419
  }
352
- var acrdActive = [];
353
- index = this.getIndexByItem(acrdnItem);
420
+ var index = this.getIndexByItem(acrdnItem);
354
421
  if (acrdnCtnItem) {
355
- eventArgs.item = this.items[this.getIndexByItem(acrdnCtnItem)];
422
+ eventArgs.item = items[this.getIndexByItem(acrdnCtnItem)];
356
423
  }
357
424
  eventArgs.originalEvent = e;
358
- var ctnCheck = !isNOU(tglIcon) && isNOU(this.trgtEle) && acrdnItem.childElementCount <= 1;
425
+ var ctnCheck = !isNOU(tglIcon) && acrdnItem.childElementCount <= 1;
359
426
  if (ctnCheck && (isNOU(acrdnCtn) || !isNOU(select('.' + CLS_HEADER + ' .' + CLS_TOOGLEICN, acrdnCtnItem)))) {
360
427
  acrdnItem.appendChild(this.contentRendering(index));
361
428
  this.ariaAttrUpdate(acrdnItem);
429
+ this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
362
430
  }
431
+ else {
432
+ this.afterContentRender(trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem);
433
+ }
434
+ if (this.isReact) {
435
+ this.renderReactTemplates();
436
+ }
437
+ };
438
+ Accordion.prototype.afterContentRender = function (trgt, eventArgs, acrdnItem, acrdnHdr, acrdnCtn, acrdnCtnItem) {
439
+ var _this = this;
440
+ var acrdActive = [];
363
441
  this.trigger('clicked', eventArgs);
364
442
  var cntclkCheck = (acrdnCtn && !isNOU(select('.e-target', acrdnCtn)));
365
443
  var inlineAcrdnSel = '.' + CLS_CONTENT + ' .' + CLS_ROOT;
@@ -370,7 +448,9 @@ var Accordion = /** @class */ (function (_super) {
370
448
  if (trgt.classList.contains(CLS_CONTENT) || trgt.classList.contains(CLS_CTENT) || cntclkCheck) {
371
449
  return;
372
450
  }
373
- [].slice.call(this.element.children).forEach(function (el) {
451
+ var acrdcontainer = this.element.querySelector('.' + CLS_CONTAINER);
452
+ var acrdnchild = (acrdcontainer) ? acrdcontainer.children : this.element.children;
453
+ [].slice.call(acrdnchild).forEach(function (el) {
374
454
  if (el.classList.contains(CLS_ACTIVE)) {
375
455
  acrdActive.push(el);
376
456
  }
@@ -452,28 +532,42 @@ var Accordion = /** @class */ (function (_super) {
452
532
  else {
453
533
  trgt.click();
454
534
  }
535
+ e.preventDefault();
455
536
  break;
456
537
  case 'home':
457
538
  case 'end':
458
539
  clst = e.action === 'home' ? root.firstElementChild.children[0] : root.lastElementChild.children[0];
459
540
  clst.focus();
541
+ e.preventDefault();
460
542
  break;
461
543
  }
462
544
  };
463
545
  Accordion.prototype.headerEleGenerate = function () {
464
546
  var header = this.createElement('div', { className: CLS_HEADER, id: getUniqueID('acrdn_header') });
465
547
  var ariaAttr = {
466
- 'tabindex': '0', 'role': 'heading', 'aria-expanded': 'false', 'aria-selected': 'false',
467
- 'aria-disabled': 'false', 'aria-level': this.items.length.toString()
548
+ 'tabindex': '0', 'role': 'button', 'aria-disabled': 'false', 'aria-expanded': 'false'
468
549
  };
469
550
  attributes(header, ariaAttr);
470
551
  return header;
471
552
  };
472
553
  Accordion.prototype.renderInnerItem = function (item, index) {
473
- var innerEle;
474
- innerEle = this.createElement('div', { className: CLS_ITEM });
475
- innerEle.id = getUniqueID('acrdn_item');
554
+ var innerEle = this.createElement('div', {
555
+ className: CLS_ITEM, id: item.id || getUniqueID('acrdn_item')
556
+ });
557
+ if (this.headerTemplate) {
558
+ var ctnEle = this.headerEleGenerate();
559
+ var hdrEle = this.createElement('div', { className: CLS_HEADERCTN });
560
+ ctnEle.appendChild(hdrEle);
561
+ append(this.getHeaderTemplate()(item, this, 'headerTemplate', this.element.id + '_headerTemplate', false), hdrEle);
562
+ innerEle.appendChild(ctnEle);
563
+ ctnEle.appendChild(this.toggleIconGenerate());
564
+ this.add(innerEle, CLS_SLCT);
565
+ return innerEle;
566
+ }
476
567
  if (item.header && this.angularnativeCondiCheck(item, 'header')) {
568
+ if (this.enableHtmlSanitizer && typeof (item.header) === 'string') {
569
+ item.header = SanitizeHtmlHelper.sanitize(item.header);
570
+ }
477
571
  var ctnEle = this.headerEleGenerate();
478
572
  var hdrEle = this.createElement('div', { className: CLS_HEADERCTN });
479
573
  ctnEle.appendChild(hdrEle);
@@ -487,7 +581,13 @@ var Accordion = /** @class */ (function (_super) {
487
581
  }
488
582
  }
489
583
  if (item.cssClass) {
490
- innerEle.classList.add(item.cssClass);
584
+ addClass([innerEle], item.cssClass.split(' '));
585
+ }
586
+ if (item.disabled) {
587
+ addClass([innerEle], CLS_DISABLE);
588
+ }
589
+ if (item.visible === false) {
590
+ addClass([innerEle], CLS_ITEMHIDE);
491
591
  }
492
592
  if (item.iconCss) {
493
593
  var hdrIcnEle = this.createElement('div', { className: CLS_HEADERICN });
@@ -533,23 +633,49 @@ var Accordion = /** @class */ (function (_super) {
533
633
  return true;
534
634
  }
535
635
  };
636
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
536
637
  Accordion.prototype.fetchElement = function (ele, value, index, isHeader) {
537
638
  var templateFn;
538
639
  var temString;
539
640
  try {
540
- if (document.querySelectorAll(value).length) {
641
+ if (document.querySelectorAll(value).length && value !== 'Button') {
541
642
  var eleVal = document.querySelector(value);
542
643
  temString = eleVal.outerHTML.trim();
543
644
  ele.appendChild(eleVal);
544
645
  eleVal.style.display = '';
545
646
  }
647
+ else {
648
+ templateFn = templateCompiler(value);
649
+ }
546
650
  }
547
651
  catch (e) {
548
- templateFn = templateCompiler(value);
652
+ if (typeof (value) === 'string') {
653
+ ele.innerHTML = SanitizeHtmlHelper.sanitize(value);
654
+ }
655
+ else if (!isNOU(this.trgtEle) && (value instanceof (HTMLElement))) {
656
+ ele.appendChild(value);
657
+ ele.firstElementChild.style.display = '';
658
+ }
659
+ else {
660
+ templateFn = templateCompiler(value);
661
+ }
549
662
  }
550
663
  var tempArray;
551
664
  if (!isNOU(templateFn)) {
552
- tempArray = templateFn();
665
+ if (this.isReact) {
666
+ this.renderReactTemplates();
667
+ }
668
+ var templateProps = void 0;
669
+ var templateName = void 0;
670
+ if (ele.classList.contains(CLS_HEADERCTN)) {
671
+ templateProps = this.element.id + index + '_header';
672
+ templateName = 'header';
673
+ }
674
+ else if (ele.classList.contains(CLS_CTENT)) {
675
+ templateProps = this.element.id + index + '_content';
676
+ templateName = 'content';
677
+ }
678
+ tempArray = templateFn({}, this, templateName, templateProps, this.isStringTemplate);
553
679
  }
554
680
  if (!isNOU(tempArray) && tempArray.length > 0 && !(isNOU(tempArray[0].tagName) && tempArray.length === 1)) {
555
681
  [].slice.call(tempArray).forEach(function (el) {
@@ -560,10 +686,12 @@ var Accordion = /** @class */ (function (_super) {
560
686
  });
561
687
  }
562
688
  else if (ele.childElementCount === 0) {
563
- ele.innerHTML = value;
689
+ ele.innerHTML = SanitizeHtmlHelper.sanitize(value);
564
690
  }
565
691
  if (!isNOU(temString)) {
566
- this.templateEle.push(value);
692
+ if (this.templateEle.indexOf(value) === -1) {
693
+ this.templateEle.push(value);
694
+ }
567
695
  }
568
696
  return ele;
569
697
  };
@@ -572,17 +700,31 @@ var Accordion = /** @class */ (function (_super) {
572
700
  var content = select('.' + CLS_CONTENT, itemEle);
573
701
  header.setAttribute('aria-controls', content.id);
574
702
  content.setAttribute('aria-labelledby', header.id);
703
+ content.setAttribute('role', 'region');
575
704
  };
576
705
  Accordion.prototype.contentRendering = function (index) {
577
- var content = this.items[index].content;
578
706
  var itemcnt = this.createElement('div', { className: CLS_CONTENT + ' ' + CLS_CTNHIDE, id: getUniqueID('acrdn_panel') });
579
707
  attributes(itemcnt, { 'aria-hidden': 'true' });
580
708
  var ctn = this.createElement('div', { className: CLS_CTENT });
581
- itemcnt.appendChild(this.fetchElement(ctn, content, index, false));
709
+ if (this.dataSource.length > 0) {
710
+ if (this.isReact) {
711
+ this.renderReactTemplates();
712
+ }
713
+ append(this.getItemTemplate()(this.dataSource[parseInt(index.toString(), 10)], this, 'itemTemplate', this.element.id + '_itemTemplate', false), ctn);
714
+ itemcnt.appendChild(ctn);
715
+ }
716
+ else {
717
+ if (this.enableHtmlSanitizer && typeof (this.items[parseInt(index.toString(), 10)].content)) {
718
+ this.items[parseInt(index.toString(), 10)].content =
719
+ SanitizeHtmlHelper.sanitize(this.items[parseInt(index.toString(), 10)].content);
720
+ }
721
+ itemcnt.appendChild(this.fetchElement(ctn, this.items[parseInt(index.toString(), 10)].content, index, false));
722
+ }
582
723
  return itemcnt;
583
724
  };
584
725
  Accordion.prototype.expand = function (trgt) {
585
- var eventArgs;
726
+ var _this = this;
727
+ var items = this.getItems();
586
728
  var trgtItemEle = closest(trgt, '.' + CLS_ITEM);
587
729
  if (isNOU(trgt) || (isVisible(trgt) && trgt.getAttribute('e-animate') !== 'true') || trgtItemEle.classList.contains(CLS_DISABLE)) {
588
730
  return;
@@ -595,40 +737,40 @@ var Accordion = /** @class */ (function (_super) {
595
737
  timingFunction: this.animation.expand.easing
596
738
  };
597
739
  var icon = select('.' + CLS_TOOGLEICN, trgtItemEle).firstElementChild;
598
- eventArgs = { element: trgtItemEle,
599
- item: this.items[this.getIndexByItem(trgtItemEle)],
740
+ var eventArgs = {
741
+ element: trgtItemEle,
742
+ item: items[this.getIndexByItem(trgtItemEle)],
600
743
  index: this.getIndexByItem(trgtItemEle),
601
744
  content: trgtItemEle.querySelector('.' + CLS_CONTENT),
602
- isExpanded: true };
603
- var eff = animation.name;
604
- this.trigger('expanding', eventArgs);
605
- if (eventArgs.cancel) {
606
- return;
607
- }
608
- icon.classList.add(CLS_TOGANIMATE);
609
- this.expandedItemsPush(trgtItemEle);
610
- if (!isNOU(expandState)) {
611
- expandState.classList.remove(CLS_EXPANDSTATE);
612
- }
613
- trgtItemEle.classList.add(CLS_EXPANDSTATE);
614
- if ((animation.name === 'None')) {
615
- this.expandProgress('begin', icon, trgt, trgtItemEle, eventArgs);
616
- this.expandProgress('end', icon, trgt, trgtItemEle, eventArgs);
617
- return;
618
- }
619
- this.expandAnimation(eff, icon, trgt, trgtItemEle, animation, eventArgs);
745
+ isExpanded: true
746
+ };
747
+ this.trigger('expanding', eventArgs, function (expandArgs) {
748
+ if (!expandArgs.cancel) {
749
+ icon.classList.add(CLS_TOGANIMATE);
750
+ _this.expandedItemsPush(trgtItemEle);
751
+ if (!isNOU(expandState)) {
752
+ expandState.classList.remove(CLS_EXPANDSTATE);
753
+ }
754
+ trgtItemEle.classList.add(CLS_EXPANDSTATE);
755
+ if ((animation.name === 'None')) {
756
+ _this.expandProgress('begin', icon, trgt, trgtItemEle, expandArgs);
757
+ _this.expandProgress('end', icon, trgt, trgtItemEle, expandArgs);
758
+ }
759
+ else {
760
+ _this.expandAnimation(animation.name, icon, trgt, trgtItemEle, animation, expandArgs);
761
+ }
762
+ }
763
+ });
620
764
  };
621
765
  Accordion.prototype.expandAnimation = function (ef, icn, trgt, trgtItemEle, animate, args) {
622
766
  var _this = this;
623
767
  var height;
624
- var trgtHgt;
625
768
  this.lastActiveItemId = trgtItemEle.id;
626
769
  if (ef === 'SlideDown') {
627
770
  animate.begin = function () {
628
771
  _this.expandProgress('begin', icn, trgt, trgtItemEle, args);
629
772
  trgt.style.position = 'absolute';
630
773
  height = trgtItemEle.offsetHeight;
631
- trgtHgt = trgt.offsetHeight;
632
774
  trgt.style.maxHeight = (trgt.offsetHeight) + 'px';
633
775
  trgtItemEle.style.maxHeight = '';
634
776
  };
@@ -658,26 +800,42 @@ var Accordion = /** @class */ (function (_super) {
658
800
  if (progress === 'end') {
659
801
  this.add(trgtItemEle, CLS_ACTIVE);
660
802
  trgt.setAttribute('aria-hidden', 'false');
661
- attributes(trgt.previousElementSibling, { 'aria-selected': 'true', 'aria-expanded': 'true' });
803
+ attributes(trgt.previousElementSibling, { 'aria-expanded': 'true' });
662
804
  icon.classList.remove(CLS_TOGANIMATE);
663
805
  this.trigger('expanded', eventArgs);
664
806
  }
665
807
  };
666
808
  Accordion.prototype.expandedItemsPush = function (item) {
667
809
  var index = this.getIndexByItem(item);
668
- if (this.expandedItems.indexOf(index) === -1) {
669
- this.expandedItems.push(index);
810
+ if (this.expandedIndices.indexOf(index) === -1) {
811
+ var temp = [].slice.call(this.expandedIndices);
812
+ temp.push(index);
813
+ this.setProperties({ expandedIndices: temp }, true);
670
814
  }
671
815
  };
672
816
  Accordion.prototype.getIndexByItem = function (item) {
673
- return [].slice.call(this.element.children).indexOf(item);
817
+ var itemEle = this.getItemElements();
818
+ return [].slice.call(itemEle).indexOf(item);
819
+ };
820
+ Accordion.prototype.getItemElements = function () {
821
+ var itemEle = [];
822
+ var itemCollection = this.element.children;
823
+ [].slice.call(itemCollection).forEach(function (el) {
824
+ if (el.classList.contains(CLS_ITEM)) {
825
+ itemEle.push(el);
826
+ }
827
+ });
828
+ return itemEle;
674
829
  };
675
830
  Accordion.prototype.expandedItemsPop = function (item) {
676
831
  var index = this.getIndexByItem(item);
677
- this.expandedItems.splice(this.expandedItems.indexOf(index), 1);
832
+ var temp = [].slice.call(this.expandedIndices);
833
+ temp.splice(temp.indexOf(index), 1);
834
+ this.setProperties({ expandedIndices: temp }, true);
678
835
  };
679
836
  Accordion.prototype.collapse = function (trgt) {
680
- var eventArgs;
837
+ var _this = this;
838
+ var items = this.getItems();
681
839
  var trgtItemEle = closest(trgt, '.' + CLS_ITEM);
682
840
  if (isNOU(trgt) || !isVisible(trgt) || trgtItemEle.classList.contains(CLS_DISABLE)) {
683
841
  return;
@@ -685,28 +843,30 @@ var Accordion = /** @class */ (function (_super) {
685
843
  var animation = {
686
844
  name: this.animation.collapse.effect,
687
845
  duration: this.animation.collapse.duration,
688
- timingFunction: this.animation.collapse.easing,
846
+ timingFunction: this.animation.collapse.easing
689
847
  };
690
848
  var icon = select('.' + CLS_TOOGLEICN, trgtItemEle).firstElementChild;
691
- eventArgs = { element: trgtItemEle,
692
- item: this.items[this.getIndexByItem(trgtItemEle)],
849
+ var eventArgs = {
850
+ element: trgtItemEle,
851
+ item: items[this.getIndexByItem(trgtItemEle)],
693
852
  index: this.getIndexByItem(trgtItemEle),
694
853
  content: trgtItemEle.querySelector('.' + CLS_CONTENT),
695
- isExpanded: false };
696
- var eff = animation.name;
697
- this.trigger('expanding', eventArgs);
698
- if (eventArgs.cancel) {
699
- return;
700
- }
701
- this.expandedItemsPop(trgtItemEle);
702
- trgtItemEle.classList.add(CLS_EXPANDSTATE);
703
- icon.classList.add(CLS_TOGANIMATE);
704
- if ((animation.name === 'None')) {
705
- this.collapseProgress('begin', icon, trgt, trgtItemEle, eventArgs);
706
- this.collapseProgress('end', icon, trgt, trgtItemEle, eventArgs);
707
- return;
708
- }
709
- this.collapseAnimation(eff, trgt, trgtItemEle, icon, animation, eventArgs);
854
+ isExpanded: false
855
+ };
856
+ this.trigger('expanding', eventArgs, function (expandArgs) {
857
+ if (!expandArgs.cancel) {
858
+ _this.expandedItemsPop(trgtItemEle);
859
+ trgtItemEle.classList.remove(CLS_EXPANDSTATE);
860
+ icon.classList.add(CLS_TOGANIMATE);
861
+ if ((animation.name === 'None')) {
862
+ _this.collapseProgress('begin', icon, trgt, trgtItemEle, expandArgs);
863
+ _this.collapseProgress('end', icon, trgt, trgtItemEle, expandArgs);
864
+ }
865
+ else {
866
+ _this.collapseAnimation(animation.name, trgt, trgtItemEle, icon, animation, expandArgs);
867
+ }
868
+ }
869
+ });
710
870
  };
711
871
  Accordion.prototype.collapseAnimation = function (ef, trgt, trgtItEl, icn, animate, args) {
712
872
  var _this = this;
@@ -756,59 +916,75 @@ var Accordion = /** @class */ (function (_super) {
756
916
  icon.classList.remove(CLS_TOGANIMATE);
757
917
  this.remove(trgtItemEle, CLS_ACTIVE);
758
918
  trgt.setAttribute('aria-hidden', 'true');
759
- attributes(trgt.previousElementSibling, { 'aria-selected': 'false', 'aria-expanded': 'false' });
919
+ attributes(trgt.previousElementSibling, { 'aria-expanded': 'false' });
760
920
  this.trigger('expanded', eventArgs);
761
921
  }
762
922
  };
763
923
  /**
764
924
  * Returns the current module name.
765
- * @returns string
925
+ *
926
+ * @returns {string} - It returns the current module name.
766
927
  * @private
767
928
  */
768
929
  Accordion.prototype.getModuleName = function () {
769
930
  return 'accordion';
770
931
  };
771
- Accordion.prototype.itemAttribUpdate = function () {
772
- var itemEle = [].slice.call(this.element.children);
773
- var itemLen = this.items.length;
774
- itemEle.forEach(function (ele) {
775
- select('.' + CLS_HEADER, ele).setAttribute('aria-level', '' + itemLen);
776
- });
932
+ Accordion.prototype.getItems = function () {
933
+ var items;
934
+ if (this.itemTemplate && this.headerTemplate) {
935
+ items = this.dataSource;
936
+ }
937
+ else {
938
+ items = this.items;
939
+ }
940
+ return items;
777
941
  };
778
942
  /**
779
943
  * Adds new item to the Accordion with the specified index of the Accordion.
780
- * @param {AccordionItemModel} item - Item array that is to be added to the Accordion.
944
+ *
945
+ * @param {AccordionItemModel | AccordionItemModel[] | Object | Object[]} item - Item array that is to be added to the Accordion.
781
946
  * @param {number} index - Number value that determines where the item should be added.
782
947
  * By default, item is added at the last index if the index is not specified.
783
- * @returns void
948
+ * @returns {void}
784
949
  */
785
950
  Accordion.prototype.addItem = function (item, index) {
951
+ var _this = this;
786
952
  var ele = this.element;
953
+ var itemEle = this.getItemElements();
954
+ var items = this.getItems();
787
955
  if (isNOU(index)) {
788
- index = this.items.length;
956
+ index = items.length;
789
957
  }
790
958
  if (ele.childElementCount >= index) {
791
- this.items.splice(index, 0, item);
792
- var innerItemEle = this.renderInnerItem(item, index);
793
- if (ele.childElementCount === index) {
794
- ele.appendChild(innerItemEle);
795
- }
796
- else {
797
- ele.insertBefore(innerItemEle, ele.children[index]);
798
- }
799
- EventHandler.add(innerItemEle.querySelector('.' + CLS_HEADER), 'focus', this.focusIn, this);
800
- EventHandler.add(innerItemEle.querySelector('.' + CLS_HEADER), 'blur', this.focusOut, this);
801
- this.itemAttribUpdate();
959
+ var addItems = (item instanceof Array) ? item : [item];
960
+ addItems.forEach(function (addItem, i) {
961
+ var itemIndex = index + i;
962
+ items.splice(itemIndex, 0, addItem);
963
+ var innerItemEle = _this.renderInnerItem(addItem, itemIndex);
964
+ if (ele.childElementCount === itemIndex) {
965
+ ele.appendChild(innerItemEle);
966
+ }
967
+ else {
968
+ ele.insertBefore(innerItemEle, itemEle[parseInt(itemIndex.toString(), 10)]);
969
+ }
970
+ EventHandler.add(innerItemEle.querySelector('.' + CLS_HEADER), 'focus', _this.focusIn, _this);
971
+ EventHandler.add(innerItemEle.querySelector('.' + CLS_HEADER), 'blur', _this.focusOut, _this);
972
+ _this.expandedIndices = [];
973
+ _this.expandedItemRefresh(ele);
974
+ if (addItem && addItem.expanded) {
975
+ _this.expandItem(true, itemIndex);
976
+ }
977
+ });
802
978
  }
803
- this.expandedItems = [];
804
- this.expandedItemRefresh(ele);
805
- if (item.expanded) {
806
- this.expandItem(true, index);
979
+ if (this.isReact) {
980
+ this.renderReactTemplates();
807
981
  }
808
982
  };
983
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
809
984
  Accordion.prototype.expandedItemRefresh = function (ele) {
810
985
  var _this = this;
811
- [].slice.call(ele.children).forEach(function (el) {
986
+ var itemEle = this.getItemElements();
987
+ [].slice.call(itemEle).forEach(function (el) {
812
988
  if (el.classList.contains(CLS_SLCTED)) {
813
989
  _this.expandedItemsPush(el);
814
990
  }
@@ -816,27 +992,35 @@ var Accordion = /** @class */ (function (_super) {
816
992
  };
817
993
  /**
818
994
  * Dynamically removes item from Accordion.
995
+ *
819
996
  * @param {number} index - Number value that determines which item should be removed.
820
- * @returns void.
997
+ * @returns {void}.
821
998
  */
822
999
  Accordion.prototype.removeItem = function (index) {
823
- var ele = this.element.children[index];
1000
+ if (this.isReact) {
1001
+ this.clearTemplate(['headerTemplate', 'itemTemplate'], index);
1002
+ }
1003
+ var itemEle = this.getItemElements();
1004
+ var ele = itemEle[parseInt(index.toString(), 10)];
1005
+ var items = this.getItems();
824
1006
  if (isNOU(ele)) {
825
1007
  return;
826
1008
  }
1009
+ this.restoreContent(index);
827
1010
  detach(ele);
828
- this.items.splice(index, 1);
829
- this.itemAttribUpdate();
830
- this.expandedItems = [];
1011
+ items.splice(index, 1);
1012
+ this.expandedIndices = [];
831
1013
  this.expandedItemRefresh(this.element);
832
1014
  };
833
1015
  /**
834
1016
  * Sets focus to the specified index item header in Accordion.
1017
+ *
835
1018
  * @param {number} index - Number value that determines which item should be focused.
836
- * @returns void.
1019
+ * @returns {void}.
837
1020
  */
838
1021
  Accordion.prototype.select = function (index) {
839
- var ele = this.element.children[index];
1022
+ var itemEle = this.getItemElements();
1023
+ var ele = itemEle[parseInt(index.toString(), 10)];
840
1024
  if (isNOU(ele) || isNOU(select('.' + CLS_HEADER, ele))) {
841
1025
  return;
842
1026
  }
@@ -844,30 +1028,39 @@ var Accordion = /** @class */ (function (_super) {
844
1028
  };
845
1029
  /**
846
1030
  * Shows or hides the specified item from Accordion.
1031
+ *
847
1032
  * @param {number} index - Number value that determines which item should be hidden/shown.
848
- * @param {Boolean} isHidden - Boolean value that determines the action either hide (true) or show (false). Default value is false.
849
- * If the `isHidden` value is false, the item is shown or else item it is hidden.
850
- * @returns void.
1033
+ * @param {boolean} isHidden - Boolean value that determines the action either hide (true) or show (false). Default value is false.
1034
+ * If the `isHidden` value is false, the item is shown or else item it is hidden.
1035
+ * @returns {void}.
851
1036
  */
852
1037
  Accordion.prototype.hideItem = function (index, isHidden) {
853
- var ele = this.element.children[index];
1038
+ var itemEle = this.getItemElements();
1039
+ var ele = itemEle[parseInt(index.toString(), 10)];
854
1040
  if (isNOU(ele)) {
855
1041
  return;
856
1042
  }
857
1043
  if (isNOU(isHidden)) {
858
1044
  isHidden = true;
859
1045
  }
860
- isHidden ? this.add(ele, CLS_ITEMHIDE) : this.remove(ele, CLS_ITEMHIDE);
1046
+ if (isHidden) {
1047
+ this.add(ele, CLS_ITEMHIDE);
1048
+ }
1049
+ else {
1050
+ this.remove(ele, CLS_ITEMHIDE);
1051
+ }
861
1052
  };
862
1053
  /**
863
1054
  * Enables/Disables the specified Accordion item.
1055
+ *
864
1056
  * @param {number} index - Number value that determines which item should be enabled/disabled.
865
1057
  * @param {boolean} isEnable - Boolean value that determines the action as enable (true) or disable (false).
866
1058
  * If the `isEnable` value is true, the item is enabled or else it is disabled.
867
- * @returns void.
1059
+ * @returns {void}.
868
1060
  */
869
1061
  Accordion.prototype.enableItem = function (index, isEnable) {
870
- var ele = this.element.children[index];
1062
+ var itemEle = this.getItemElements();
1063
+ var ele = itemEle[parseInt(index.toString(), 10)];
871
1064
  if (isNOU(ele)) {
872
1065
  return;
873
1066
  }
@@ -889,22 +1082,23 @@ var Accordion = /** @class */ (function (_super) {
889
1082
  };
890
1083
  /**
891
1084
  * Expands/Collapses the specified Accordion item.
1085
+ *
892
1086
  * @param {boolean} isExpand - Boolean value that determines the action as expand or collapse.
893
1087
  * @param {number} index - Number value that determines which item should be expanded/collapsed.`index` is optional parameter.
894
- * Without Specifying index, based on the `isExpand` value all Accordion item can be expanded or collapsed.
895
- * @returns void.
1088
+ * Without Specifying index, based on the `isExpand` value all Accordion item can be expanded or collapsed.
1089
+ * @returns {void}.
896
1090
  */
897
1091
  Accordion.prototype.expandItem = function (isExpand, index) {
898
1092
  var _this = this;
899
- var root = this.element;
1093
+ var itemEle = this.getItemElements();
900
1094
  if (isNOU(index)) {
901
1095
  if (this.expandMode === 'Single' && isExpand) {
902
- var ele = root.children[root.childElementCount - 1];
1096
+ var ele = itemEle[itemEle.length - 1];
903
1097
  this.itemExpand(isExpand, ele, this.getIndexByItem(ele));
904
1098
  }
905
1099
  else {
906
1100
  var item = select('#' + this.lastActiveItemId, this.element);
907
- [].slice.call(this.element.children).forEach(function (el) {
1101
+ [].slice.call(itemEle).forEach(function (el) {
908
1102
  _this.itemExpand(isExpand, el, _this.getIndexByItem(el));
909
1103
  el.classList.remove(CLS_EXPANDSTATE);
910
1104
  });
@@ -918,7 +1112,7 @@ var Accordion = /** @class */ (function (_super) {
918
1112
  }
919
1113
  }
920
1114
  else {
921
- var ele = this.element.children[index];
1115
+ var ele = itemEle[parseInt(index.toString(), 10)];
922
1116
  if (isNOU(ele) || !ele.classList.contains(CLS_SLCT) || (ele.classList.contains(CLS_ACTIVE) && isExpand)) {
923
1117
  return;
924
1118
  }
@@ -939,36 +1133,84 @@ var Accordion = /** @class */ (function (_super) {
939
1133
  ctn = this.contentRendering(index);
940
1134
  ele.appendChild(ctn);
941
1135
  this.ariaAttrUpdate(ele);
1136
+ this.expand(ctn);
942
1137
  }
943
- else if (isNOU(ctn)) {
944
- return;
1138
+ else if (!isNOU(ctn)) {
1139
+ if (isExpand) {
1140
+ this.expand(ctn);
1141
+ }
1142
+ else {
1143
+ this.collapse(ctn);
1144
+ }
1145
+ }
1146
+ if (this.isReact) {
1147
+ this.renderReactTemplates();
945
1148
  }
946
- isExpand ? this.expand(ctn) : this.collapse(ctn);
947
1149
  };
948
1150
  Accordion.prototype.destroyItems = function () {
949
- [].slice.call(this.element.querySelectorAll('.' + CLS_ITEM)).forEach(function (el) { detach(el); });
1151
+ this.restoreContent(null);
1152
+ if (this.isReact || this.isAngular || this.isVue) {
1153
+ this.clearTemplate();
1154
+ }
1155
+ [].slice.call(this.element.querySelectorAll('.' + CLS_ITEM)).forEach(function (el) {
1156
+ detach(el);
1157
+ });
1158
+ };
1159
+ Accordion.prototype.restoreContent = function (index) {
1160
+ var ctnElePos;
1161
+ if (isNOU(index)) {
1162
+ ctnElePos = this.element;
1163
+ }
1164
+ else {
1165
+ ctnElePos = this.element.querySelectorAll('.' + CLS_ITEM)[parseInt(index.toString(), 10)];
1166
+ }
1167
+ this.templateEle.forEach(function (eleStr) {
1168
+ if (!isNOU(ctnElePos.querySelector(eleStr))) {
1169
+ document.body.appendChild(ctnElePos.querySelector(eleStr)).style.display = 'none';
1170
+ }
1171
+ });
950
1172
  };
951
1173
  Accordion.prototype.updateItem = function (item, index) {
952
1174
  if (!isNOU(item)) {
953
- var itemObj = this.items[index];
954
- this.items.splice(index, 1);
1175
+ var items = this.getItems();
1176
+ var itemObj = items[parseInt(index.toString(), 10)];
1177
+ items.splice(index, 1);
1178
+ this.restoreContent(index);
955
1179
  detach(item);
956
1180
  this.addItem(itemObj, index);
957
1181
  }
958
1182
  };
1183
+ Accordion.prototype.setTemplate = function (template, toElement, index) {
1184
+ toElement.innerHTML = '';
1185
+ this.templateCompile(toElement, template, index);
1186
+ if (this.isReact) {
1187
+ this.renderReactTemplates();
1188
+ }
1189
+ };
1190
+ Accordion.prototype.templateCompile = function (ele, cnt, index) {
1191
+ var tempEle = this.createElement('div');
1192
+ this.fetchElement(tempEle, cnt, index, false);
1193
+ if (tempEle.childNodes.length !== 0) {
1194
+ [].slice.call(tempEle.childNodes).forEach(function (childEle) {
1195
+ ele.appendChild(childEle);
1196
+ });
1197
+ }
1198
+ };
959
1199
  Accordion.prototype.getPersistData = function () {
960
- var keyEntity = ['expandedItems'];
1200
+ var keyEntity = ['expandedIndices'];
961
1201
  return this.addOnPersist(keyEntity);
962
1202
  };
963
1203
  /**
964
1204
  * Gets called when the model property changes.The data that describes the old and new values of the property that changed.
965
- * @param {AccordionModel} newProp
966
- * @param {AccordionModel} oldProp
967
- * @returns void
1205
+ *
1206
+ * @param {AccordionModel} newProp - It contains the new value of data.
1207
+ * @param {AccordionModel} oldProp - It contains the old value of data.
1208
+ * @returns {void}
968
1209
  * @private
969
1210
  */
970
1211
  Accordion.prototype.onPropertyChanged = function (newProp, oldProp) {
971
1212
  var acrdn = this.element;
1213
+ var isRefresh = false;
972
1214
  for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {
973
1215
  var prop = _a[_i];
974
1216
  switch (prop) {
@@ -976,35 +1218,75 @@ var Accordion = /** @class */ (function (_super) {
976
1218
  if (!(newProp.items instanceof Array && oldProp.items instanceof Array)) {
977
1219
  var changedProp = Object.keys(newProp.items);
978
1220
  for (var j = 0; j < changedProp.length; j++) {
979
- var index = parseInt(Object.keys(newProp.items)[j], 10);
980
- var property = Object.keys(newProp.items[index])[0];
981
- var item = selectAll('.' + CLS_ITEM, this.element)[index];
982
- var oldVal = Object(oldProp.items[index])[property];
983
- var newVal = Object(newProp.items[index])[property];
1221
+ var index = parseInt(Object.keys(newProp.items)[parseInt(j.toString(), 10)], 10);
1222
+ var property = Object.keys(newProp.items[parseInt(index.toString(), 10)])[0];
1223
+ var item = selectAll('.' + CLS_ITEM, this.element)[parseInt(index.toString(), 10)];
1224
+ var oldVal = Object(oldProp.items[parseInt(index.toString(), 10)])["" + property];
1225
+ var newVal = Object(newProp.items[parseInt(index.toString(), 10)])["" + property];
984
1226
  var temp = property;
985
1227
  if (temp === 'header' || temp === 'iconCss' || temp === 'expanded' || ((temp === 'content') && (oldVal === ''))) {
986
1228
  this.updateItem(item, index);
987
1229
  }
988
1230
  if (property === 'cssClass' && !isNOU(item)) {
989
- item.classList.remove(oldVal);
990
- item.classList.add(newVal);
1231
+ if (oldVal) {
1232
+ removeClass([item], oldVal.split(' '));
1233
+ }
1234
+ if (newVal) {
1235
+ addClass([item], newVal.split(' '));
1236
+ }
1237
+ }
1238
+ if (property === 'visible' && !isNOU(item)) {
1239
+ if (Object(newProp.items[parseInt(index.toString(), 10)])["" + property] === false) {
1240
+ item.classList.add(CLS_ITEMHIDE);
1241
+ }
1242
+ else {
1243
+ item.classList.remove(CLS_ITEMHIDE);
1244
+ }
1245
+ }
1246
+ if (property === 'disabled' && !isNOU(item)) {
1247
+ this.enableItem(index, !newVal);
991
1248
  }
992
1249
  if (property === 'content' && !isNOU(item) && item.children.length === 2) {
993
- if (item.classList.contains(CLS_SLCTED)) {
994
- this.expandItem(false, index);
1250
+ if (typeof newVal === 'function') {
1251
+ var activeContent = item.querySelector('.' + CLS_CTENT);
1252
+ activeContent.innerHTML = '';
1253
+ this.setTemplate(newVal, activeContent, index);
1254
+ }
1255
+ else {
1256
+ if (item.classList.contains(CLS_SLCTED)) {
1257
+ this.expandItem(false, index);
1258
+ }
1259
+ detach(item.querySelector('.' + CLS_CONTENT));
995
1260
  }
996
- detach(item.querySelector('.' + CLS_CONTENT));
997
1261
  }
998
1262
  }
999
1263
  }
1000
1264
  else {
1001
- this.destroyItems();
1002
- this.renderItems();
1003
- this.initItemExpand();
1265
+ isRefresh = true;
1266
+ }
1267
+ break;
1268
+ case 'dataSource':
1269
+ case 'expandedIndices':
1270
+ if (this.expandedIndices === null) {
1271
+ this.expandedIndices = [];
1004
1272
  }
1273
+ isRefresh = true;
1274
+ break;
1275
+ case 'headerTemplate':
1276
+ this.initializeHeaderTemplate();
1277
+ isRefresh = true;
1278
+ break;
1279
+ case 'itemTemplate':
1280
+ this.initializeItemTemplate();
1281
+ isRefresh = true;
1005
1282
  break;
1006
1283
  case 'enableRtl':
1007
- newProp.enableRtl ? this.add(acrdn, CLS_RTL) : this.remove(acrdn, CLS_RTL);
1284
+ if (newProp.enableRtl) {
1285
+ this.add(acrdn, CLS_RTL);
1286
+ }
1287
+ else {
1288
+ this.remove(acrdn, CLS_RTL);
1289
+ }
1008
1290
  break;
1009
1291
  case 'height':
1010
1292
  setStyle(this.element, { 'height': formatUnit(newProp.height) });
@@ -1013,31 +1295,49 @@ var Accordion = /** @class */ (function (_super) {
1013
1295
  setStyle(this.element, { 'width': formatUnit(newProp.width) });
1014
1296
  break;
1015
1297
  case 'expandMode':
1016
- if (newProp.expandMode === 'Single') {
1017
- this.element.setAttribute('aria-multiselectable', 'false');
1018
- if (this.expandedItems.length > 1) {
1019
- this.expandItem(false);
1020
- }
1021
- }
1022
- else {
1023
- this.element.setAttribute('aria-multiselectable', 'true');
1298
+ if (newProp.expandMode === 'Single' && this.expandedIndices.length > 1) {
1299
+ this.expandItem(false);
1024
1300
  }
1025
1301
  break;
1026
1302
  }
1027
1303
  }
1304
+ if (isRefresh) {
1305
+ this.initExpand = [];
1306
+ if (this.expandedIndices.length > 0) {
1307
+ this.initExpand = this.expandedIndices;
1308
+ }
1309
+ this.destroyItems();
1310
+ this.renderItems();
1311
+ this.initItemExpand();
1312
+ }
1028
1313
  };
1029
1314
  __decorate([
1030
1315
  Collection([], AccordionItem)
1031
1316
  ], Accordion.prototype, "items", void 0);
1317
+ __decorate([
1318
+ Property([])
1319
+ ], Accordion.prototype, "dataSource", void 0);
1320
+ __decorate([
1321
+ Property()
1322
+ ], Accordion.prototype, "itemTemplate", void 0);
1323
+ __decorate([
1324
+ Property()
1325
+ ], Accordion.prototype, "headerTemplate", void 0);
1032
1326
  __decorate([
1033
1327
  Property('100%')
1034
1328
  ], Accordion.prototype, "width", void 0);
1035
1329
  __decorate([
1036
1330
  Property('auto')
1037
1331
  ], Accordion.prototype, "height", void 0);
1332
+ __decorate([
1333
+ Property([])
1334
+ ], Accordion.prototype, "expandedIndices", void 0);
1038
1335
  __decorate([
1039
1336
  Property('Multiple')
1040
1337
  ], Accordion.prototype, "expandMode", void 0);
1338
+ __decorate([
1339
+ Property(false)
1340
+ ], Accordion.prototype, "enableHtmlSanitizer", void 0);
1041
1341
  __decorate([
1042
1342
  Complex({}, AccordionAnimationSettings)
1043
1343
  ], Accordion.prototype, "animation", void 0);