@syncfusion/ej2-navigations 16.4.45 → 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 +1421 -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 +5503 -3478
  206. package/styles/bootstrap-dark.scss +4 -0
  207. package/styles/bootstrap.css +5420 -3550
  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 -16
  360. package/styles/context-menu/_layout.scss +96 -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 +206 -108
  368. package/styles/context-menu/bootstrap-dark.scss +3 -0
  369. package/styles/context-menu/bootstrap.css +206 -107
  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 +207 -109
  378. package/styles/context-menu/fabric-dark.scss +3 -0
  379. package/styles/context-menu/fabric.css +205 -106
  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 +205 -106
  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 +223 -107
  407. package/styles/context-menu/material-dark.scss +3 -0
  408. package/styles/context-menu/material.css +228 -110
  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 +5766 -3690
  415. package/styles/fabric-dark.scss +4 -0
  416. package/styles/fabric.css +5959 -4038
  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 +6039 -4460
  487. package/styles/highcontrast.scss +4 -0
  488. package/styles/material-dark.css +6282 -3945
  489. package/styles/material-dark.scss +4 -0
  490. package/styles/material.css +6210 -4026
  491. package/styles/material.scss +4 -0
  492. package/styles/menu/_bootstrap-dark-definition.scss +32 -21
  493. package/styles/menu/_bootstrap-definition.scss +12 -2
  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 +33 -22
  498. package/styles/menu/_fabric-definition.scss +11 -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 +12 -2
  503. package/styles/menu/_highcontrast-light-definition.scss +11 -1
  504. package/styles/menu/_layout.scss +363 -37
  505. package/styles/menu/_material-dark-definition.scss +30 -19
  506. package/styles/menu/_material-definition.scss +10 -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 +201 -17
  510. package/styles/menu/bootstrap-dark.css +717 -319
  511. package/styles/menu/bootstrap.css +701 -304
  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 +716 -318
  520. package/styles/menu/fabric.css +696 -298
  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 +698 -300
  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 +715 -319
  548. package/styles/menu/material.css +699 -303
  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,11 +17,12 @@ 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 } from '@syncfusion/ej2-base';
21
22
  import { addClass, removeClass, isVisible, closest, attributes, detach, classList, KeyboardEvents } from '@syncfusion/ej2-base';
22
- import { selectAll, setStyleAttribute as setStyle } from '@syncfusion/ej2-base';
23
+ import { selectAll, setStyleAttribute as setStyle, select } from '@syncfusion/ej2-base';
23
24
  import { isNullOrUndefined as isNOU, getUniqueID, formatUnit, Collection, compile as templateCompiler } from '@syncfusion/ej2-base';
24
- import { NotifyPropertyChanges, ChildProperty, Browser } from '@syncfusion/ej2-base';
25
+ import { NotifyPropertyChanges, ChildProperty, Browser, SanitizeHtmlHelper } from '@syncfusion/ej2-base';
25
26
  import { Popup } from '@syncfusion/ej2-popups';
26
27
  import { calculatePosition } from '@syncfusion/ej2-popups';
27
28
  import { Button } from '@syncfusion/ej2-buttons';
@@ -34,6 +35,7 @@ var CLS_RTL = 'e-rtl';
34
35
  var CLS_SEPARATOR = 'e-separator';
35
36
  var CLS_POPUPICON = 'e-popup-up-icon';
36
37
  var CLS_POPUPDOWN = 'e-popup-down-icon';
38
+ var CLS_POPUPOPEN = 'e-popup-open';
37
39
  var CLS_TEMPLATE = 'e-template';
38
40
  var CLS_DISABLE = 'e-overlay';
39
41
  var CLS_POPUPTEXT = 'e-toolbar-text';
@@ -49,6 +51,7 @@ var CLS_TBARCENTER = 'e-toolbar-center';
49
51
  var CLS_TBARPOS = 'e-tbar-pos';
50
52
  var CLS_HSCROLLCNT = 'e-hscroll-content';
51
53
  var CLS_VSCROLLCNT = 'e-vscroll-content';
54
+ var CLS_HSCROLLBAR = 'e-hscroll-bar';
52
55
  var CLS_POPUPNAV = 'e-hor-nav';
53
56
  var CLS_POPUPCLASS = 'e-toolbar-pop';
54
57
  var CLS_POPUP = 'e-toolbar-popup';
@@ -60,7 +63,6 @@ var CLS_HIDDEN = 'e-hidden';
60
63
  var CLS_MULTIROW = 'e-toolbar-multirow';
61
64
  var CLS_MULTIROWPOS = 'e-multirow-pos';
62
65
  var CLS_MULTIROW_SEPARATOR = 'e-multirow-separator';
63
- var CLS_EXTENDABLE_ITEM = 'e-extended-item';
64
66
  var CLS_EXTENDABLE_SEPARATOR = 'e-extended-separator';
65
67
  var CLS_EXTEANDABLE_TOOLBAR = 'e-extended-toolbar';
66
68
  var CLS_EXTENDABLECLASS = 'e-toolbar-extended';
@@ -89,12 +91,18 @@ var Item = /** @class */ (function (_super) {
89
91
  __decorate([
90
92
  Property(false)
91
93
  ], Item.prototype, "showAlwaysInPopup", void 0);
94
+ __decorate([
95
+ Property(false)
96
+ ], Item.prototype, "disabled", void 0);
92
97
  __decorate([
93
98
  Property('')
94
99
  ], Item.prototype, "prefixIcon", void 0);
95
100
  __decorate([
96
101
  Property('')
97
102
  ], Item.prototype, "suffixIcon", void 0);
103
+ __decorate([
104
+ Property(true)
105
+ ], Item.prototype, "visible", void 0);
98
106
  __decorate([
99
107
  Property('None')
100
108
  ], Item.prototype, "overflow", void 0);
@@ -119,6 +127,9 @@ var Item = /** @class */ (function (_super) {
119
127
  __decorate([
120
128
  Event()
121
129
  ], Item.prototype, "click", void 0);
130
+ __decorate([
131
+ Property(-1)
132
+ ], Item.prototype, "tabIndex", void 0);
122
133
  return Item;
123
134
  }(ChildProperty));
124
135
  export { Item };
@@ -136,8 +147,9 @@ var Toolbar = /** @class */ (function (_super) {
136
147
  __extends(Toolbar, _super);
137
148
  /**
138
149
  * Initializes a new instance of the Toolbar class.
139
- * @param options - Specifies Toolbar model properties as options.
140
- * @param element - Specifies the element that is rendered as a Toolbar.
150
+ *
151
+ * @param {ToolbarModel} options - Specifies Toolbar model properties as options.
152
+ * @param { string | HTMLElement} element - Specifies the element that is rendered as a Toolbar.
141
153
  */
142
154
  function Toolbar(options, element) {
143
155
  var _this = _super.call(this, options, element) || this;
@@ -154,45 +166,69 @@ var Toolbar = /** @class */ (function (_super) {
154
166
  popupClose: 'escape',
155
167
  tab: 'tab',
156
168
  home: 'home',
157
- end: 'end',
169
+ end: 'end'
158
170
  };
159
171
  return _this;
160
172
  }
161
173
  /**
162
174
  * Removes the control from the DOM and also removes all its related events.
163
- * @returns void.
175
+ *
176
+ * @returns {void}.
164
177
  */
165
178
  Toolbar.prototype.destroy = function () {
166
179
  var _this = this;
167
- var ele = this.element;
168
- _super.prototype.destroy.call(this);
180
+ if (this.isReact || this.isAngular) {
181
+ this.clearTemplate();
182
+ }
183
+ var btnItems = this.element.querySelectorAll('.e-control.e-btn');
184
+ [].slice.call(btnItems).forEach(function (el) {
185
+ if (!isNOU(el) && !isNOU(el.ej2_instances) && !isNOU(el.ej2_instances[0]) && !(el.ej2_instances[0].isDestroyed)) {
186
+ el.ej2_instances[0].destroy();
187
+ }
188
+ });
169
189
  this.unwireEvents();
170
190
  this.tempId.forEach(function (ele) {
171
191
  if (!isNOU(_this.element.querySelector(ele))) {
172
192
  document.body.appendChild(_this.element.querySelector(ele)).style.display = 'none';
173
193
  }
174
194
  });
175
- while (ele.firstChild) {
176
- ele.removeChild(ele.firstChild);
195
+ this.destroyItems();
196
+ while (this.element.lastElementChild) {
197
+ this.element.removeChild(this.element.lastElementChild);
177
198
  }
178
199
  if (this.trgtEle) {
179
- ele.appendChild(this.ctrlTem);
200
+ this.element.appendChild(this.ctrlTem);
201
+ this.trgtEle = null;
202
+ this.ctrlTem = null;
203
+ }
204
+ if (this.popObj) {
205
+ this.popObj.destroy();
206
+ detach(this.popObj.element);
207
+ }
208
+ if (this.activeEle) {
209
+ this.activeEle = null;
180
210
  }
181
- this.clearProperty();
182
211
  this.popObj = null;
183
212
  this.tbarAlign = null;
213
+ this.tbarItemsCol = [];
184
214
  this.remove(this.element, 'e-toolpop');
185
- ele.removeAttribute('style');
186
- ['aria-disabled', 'aria-orientation', 'aria-haspopup', 'role'].forEach(function (attrb) {
187
- _this.element.removeAttribute(attrb);
215
+ if (this.cssClass) {
216
+ removeClass([this.element], this.cssClass.split(' '));
217
+ }
218
+ this.element.removeAttribute('style');
219
+ ['aria-disabled', 'aria-orientation', 'role'].forEach(function (attrb) {
220
+ return _this.element.removeAttribute(attrb);
188
221
  });
222
+ _super.prototype.destroy.call(this);
189
223
  };
190
224
  /**
191
225
  * Initialize the event handler
226
+ *
192
227
  * @private
228
+ * @returns {void}
193
229
  */
194
230
  Toolbar.prototype.preRender = function () {
195
- var eventArgs = { enableCollision: true, scrollStep: this.scrollStep };
231
+ var eventArgs = { enableCollision: this.enableCollision, scrollStep: this.scrollStep };
196
232
  this.trigger('beforeCreate', eventArgs);
197
233
  this.enableCollision = eventArgs.enableCollision;
198
234
  this.scrollStep = eventArgs.scrollStep;
@@ -201,6 +237,7 @@ var Toolbar = /** @class */ (function (_super) {
201
237
  this.tempId = [];
202
238
  this.tbarItemsCol = this.items;
203
239
  this.isVertical = this.element.classList.contains(CLS_VERTICAL) ? true : false;
240
+ this.isExtendedOpen = false;
204
241
  this.popupPriCount = 0;
205
242
  if (this.enableRtl) {
206
243
  this.add(this.element, CLS_RTL);
@@ -209,12 +246,33 @@ var Toolbar = /** @class */ (function (_super) {
209
246
  Toolbar.prototype.wireEvents = function () {
210
247
  EventHandler.add(this.element, 'click', this.clickHandler, this);
211
248
  window.addEventListener('resize', this.resizeContext);
249
+ if (this.allowKeyboard) {
250
+ this.wireKeyboardEvent();
251
+ }
252
+ };
253
+ Toolbar.prototype.wireKeyboardEvent = function () {
212
254
  this.keyModule = new KeyboardEvents(this.element, {
213
255
  keyAction: this.keyActionHandler.bind(this),
214
256
  keyConfigs: this.keyConfigs
215
257
  });
216
258
  EventHandler.add(this.element, 'keydown', this.docKeyDown, this);
217
- this.element.setAttribute('tabIndex', '0');
259
+ this.updateTabIndex('0');
260
+ };
261
+ Toolbar.prototype.updateTabIndex = function (tabIndex) {
262
+ var ele = this.element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_DISABLE + ' ):not(.' + CLS_SEPARATOR + ' ):not(.' + CLS_HIDDEN + ' )');
263
+ if (!isNOU(ele) && !isNOU(ele.firstElementChild)) {
264
+ var dataTabIndex = ele.firstElementChild.getAttribute('data-tabindex');
265
+ if (dataTabIndex && dataTabIndex === '-1' && ele.firstElementChild.tagName !== 'INPUT') {
266
+ ele.firstElementChild.setAttribute('tabindex', tabIndex);
267
+ }
268
+ }
269
+ };
270
+ Toolbar.prototype.unwireKeyboardEvent = function () {
271
+ if (this.keyModule) {
272
+ EventHandler.remove(this.element, 'keydown', this.docKeyDown);
273
+ this.keyModule.destroy();
274
+ this.keyModule = null;
275
+ }
218
276
  };
219
277
  Toolbar.prototype.docKeyDown = function (e) {
220
278
  if (e.target.tagName === 'INPUT') {
@@ -232,10 +290,9 @@ var Toolbar = /** @class */ (function (_super) {
232
290
  Toolbar.prototype.unwireEvents = function () {
233
291
  EventHandler.remove(this.element, 'click', this.clickHandler);
234
292
  this.destroyScroll();
235
- this.keyModule.destroy();
293
+ this.unwireKeyboardEvent();
236
294
  window.removeEventListener('resize', this.resizeContext);
237
295
  EventHandler.remove(document, 'scroll', this.docEvent);
238
- EventHandler.remove(this.element, 'keydown', this.docKeyDown);
239
296
  EventHandler.remove(document, 'click', this.docEvent);
240
297
  };
241
298
  Toolbar.prototype.clearProperty = function () {
@@ -258,11 +315,11 @@ var Toolbar = /** @class */ (function (_super) {
258
315
  }
259
316
  };
260
317
  Toolbar.prototype.destroyItems = function () {
261
- [].slice.call(this.element.querySelectorAll('.' + CLS_ITEM)).forEach(function (el) {
262
- detach(el);
263
- });
264
- var tbarItems = this.element.querySelector('.' + CLS_ITEMS);
318
+ if (this.element) {
319
+ [].slice.call(this.element.querySelectorAll('.' + CLS_ITEM)).forEach(function (el) { detach(el); });
320
+ }
265
321
  if (this.tbarAlign) {
322
+ var tbarItems = this.element.querySelector('.' + CLS_ITEMS);
266
323
  [].slice.call(tbarItems.children).forEach(function (el) {
267
324
  detach(el);
268
325
  });
@@ -308,7 +365,7 @@ var Toolbar = /** @class */ (function (_super) {
308
365
  clst = this.popObj.element.querySelector('.' + CLS_ITEM);
309
366
  }
310
367
  else if (this.element === trgt || tbrNavChk) {
311
- clst = this.element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_DISABLE + ' ):not(.' + CLS_SEPARATOR + ' )');
368
+ clst = this.element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_DISABLE + ' ):not(.' + CLS_SEPARATOR + ' ):not(.' + CLS_HIDDEN + ' )');
312
369
  }
313
370
  else {
314
371
  clst = closest(trgt, '.' + CLS_ITEM);
@@ -319,6 +376,9 @@ var Toolbar = /** @class */ (function (_super) {
319
376
  var popObj = this.popObj;
320
377
  var rootEle = this.element;
321
378
  var popAnimate = { name: 'FadeOut', duration: 100 };
379
+ var value = e.action === 'moveUp' ? 'previous' : 'next';
380
+ var ele;
381
+ var nodes;
322
382
  switch (e.action) {
323
383
  case 'moveRight':
324
384
  if (this.isVertical) {
@@ -341,10 +401,12 @@ var Toolbar = /** @class */ (function (_super) {
341
401
  break;
342
402
  case 'home':
343
403
  case 'end':
344
- var ele = void 0;
345
- var nodes = void 0;
346
404
  if (clst) {
347
405
  var popupCheck = closest(clst, '.e-popup');
406
+ var extendedPopup = this.element.querySelector('.' + CLS_EXTENDABLECLASS);
407
+ if (this.overflowMode === 'Extended' && extendedPopup && extendedPopup.classList.contains('e-popup-open')) {
408
+ popupCheck = e.action === 'end' ? extendedPopup : null;
409
+ }
348
410
  if (popupCheck) {
349
411
  if (isVisible(this.popObj.element)) {
350
412
  nodes = [].slice.call(popupCheck.children);
@@ -357,7 +419,7 @@ var Toolbar = /** @class */ (function (_super) {
357
419
  }
358
420
  }
359
421
  else {
360
- nodes = this.element.querySelectorAll('.' + CLS_ITEMS + ' .' + CLS_ITEM);
422
+ nodes = this.element.querySelectorAll('.' + CLS_ITEMS + ' .' + CLS_ITEM + ':not(.' + CLS_SEPARATOR + ')');
361
423
  if (e.action === 'home') {
362
424
  ele = nodes[0];
363
425
  }
@@ -372,13 +434,15 @@ var Toolbar = /** @class */ (function (_super) {
372
434
  break;
373
435
  case 'moveUp':
374
436
  case 'moveDown':
375
- var value = e.action === 'moveUp' ? 'previous' : 'next';
376
437
  if (!this.isVertical) {
377
438
  if (popObj && closest(trgt, '.e-popup')) {
378
439
  var popEle = popObj.element;
379
440
  var popFrstEle = popEle.firstElementChild;
380
- if ((value === 'previous' && popFrstEle === clst) || (value === 'next' && popEle.lastElementChild === clst)) {
381
- return;
441
+ if ((value === 'previous' && popFrstEle === clst)) {
442
+ popEle.lastElementChild.firstChild.focus();
443
+ }
444
+ else if (value === 'next' && popEle.lastElementChild === clst) {
445
+ popFrstEle.firstChild.focus();
382
446
  }
383
447
  else {
384
448
  this.eleFocus(clst, value);
@@ -408,7 +472,6 @@ var Toolbar = /** @class */ (function (_super) {
408
472
  this.activeEleRemove(ele_1);
409
473
  ele_1.focus();
410
474
  }
411
- this.element.removeAttribute('tabindex');
412
475
  }
413
476
  }
414
477
  break;
@@ -437,10 +500,9 @@ var Toolbar = /** @class */ (function (_super) {
437
500
  return;
438
501
  }
439
502
  e.preventDefault();
440
- var clst;
441
503
  var tbrNavChk = trgt.classList.contains(CLS_TBARNAV);
442
504
  var tbarScrollChk = trgt.classList.contains(CLS_TBARSCRLNAV);
443
- clst = this.clstElement(tbrNavChk, trgt);
505
+ var clst = this.clstElement(tbrNavChk, trgt);
444
506
  if (clst || tbarScrollChk) {
445
507
  this.keyHandling(clst, e, trgt, tbrNavChk, tbarScrollChk);
446
508
  }
@@ -448,15 +510,20 @@ var Toolbar = /** @class */ (function (_super) {
448
510
  /**
449
511
  * Specifies the value to disable/enable the Toolbar component.
450
512
  * When set to `true`, the component will be disabled.
513
+ *
451
514
  * @param {boolean} value - Based on this Boolean value, Toolbar will be enabled (false) or disabled (true).
452
- * @returns void.
515
+ * @returns {void}.
453
516
  */
454
517
  Toolbar.prototype.disable = function (value) {
455
518
  var rootEle = this.element;
456
- value ? rootEle.classList.add(CLS_DISABLE) : rootEle.classList.remove(CLS_DISABLE);
457
- rootEle.setAttribute('tabindex', !value ? '0' : '-1');
519
+ if (value) {
520
+ rootEle.classList.add(CLS_DISABLE);
521
+ }
522
+ else {
523
+ rootEle.classList.remove(CLS_DISABLE);
524
+ }
458
525
  if (this.activeEle) {
459
- this.activeEle.setAttribute('tabindex', !value ? '0' : '-1');
526
+ this.activeEle.setAttribute('tabindex', this.activeEle.getAttribute('data-tabindex'));
460
527
  }
461
528
  if (this.scrollModule) {
462
529
  this.scrollModule.disable(value);
@@ -468,25 +535,16 @@ var Toolbar = /** @class */ (function (_super) {
468
535
  rootEle.querySelector('#' + rootEle.id + '_nav').setAttribute('tabindex', !value ? '0' : '-1');
469
536
  }
470
537
  };
538
+ Toolbar.prototype.eleContains = function (el) {
539
+ return el.classList.contains(CLS_SEPARATOR) || el.classList.contains(CLS_DISABLE) || el.getAttribute('disabled') || el.classList.contains(CLS_HIDDEN) || !isVisible(el) || !el.classList.contains(CLS_ITEM);
540
+ };
471
541
  Toolbar.prototype.eleFocus = function (closest, pos) {
472
542
  var sib = Object(closest)[pos + 'ElementSibling'];
473
- var contains = function (el) {
474
- return el.classList.contains(CLS_SEPARATOR) || el.classList.contains(CLS_DISABLE);
475
- };
476
543
  if (sib) {
477
- var skipEle = contains(sib);
544
+ var skipEle = this.eleContains(sib);
478
545
  if (skipEle) {
479
- if (Object(sib)[pos + 'ElementSibling']) {
480
- sib = Object(sib)[pos + 'ElementSibling'];
481
- skipEle = contains(sib);
482
- if (skipEle) {
483
- this.eleFocus(sib, pos);
484
- return;
485
- }
486
- }
487
- else {
488
- return;
489
- }
546
+ this.eleFocus(sib, pos);
547
+ return;
490
548
  }
491
549
  this.elementFocus(sib);
492
550
  }
@@ -498,7 +556,7 @@ var Toolbar = /** @class */ (function (_super) {
498
556
  if (!isNOU(elem) && elem.children.length > 0) {
499
557
  if (pos === 'next') {
500
558
  var el = elem.querySelector('.' + CLS_ITEM);
501
- if (contains(el)) {
559
+ if (this.eleContains(el)) {
502
560
  this.eleFocus(el, pos);
503
561
  }
504
562
  else {
@@ -508,7 +566,7 @@ var Toolbar = /** @class */ (function (_super) {
508
566
  }
509
567
  else {
510
568
  var el = elem.lastElementChild;
511
- if (contains(el)) {
569
+ if (this.eleContains(el)) {
512
570
  this.eleFocus(el, pos);
513
571
  }
514
572
  else {
@@ -517,12 +575,22 @@ var Toolbar = /** @class */ (function (_super) {
517
575
  }
518
576
  }
519
577
  }
578
+ else if (!isNOU(closest)) {
579
+ var tbrItems = this.element.querySelectorAll('.' + CLS_ITEMS + ' .' + CLS_ITEM + ':not(.' + CLS_SEPARATOR + ')' + ':not(.' + CLS_DISABLE + ')' + ':not(.' + CLS_HIDDEN + ')');
580
+ if (pos === 'next' && tbrItems) {
581
+ this.elementFocus(tbrItems[0]);
582
+ }
583
+ else if (pos === 'previous' && tbrItems) {
584
+ this.elementFocus(tbrItems[tbrItems.length - 1]);
585
+ }
586
+ }
520
587
  };
521
588
  Toolbar.prototype.clickHandler = function (e) {
589
+ var _this = this;
522
590
  var trgt = e.target;
523
- var clsList = trgt.classList;
524
591
  var ele = this.element;
525
592
  var isPopupElement = !isNOU(closest(trgt, '.' + CLS_POPUPCLASS));
593
+ var clsList = trgt.classList;
526
594
  var popupNav = closest(trgt, ('.' + CLS_TBARNAV));
527
595
  if (!popupNav) {
528
596
  popupNav = trgt;
@@ -540,20 +608,22 @@ var Toolbar = /** @class */ (function (_super) {
540
608
  return;
541
609
  }
542
610
  if (clst) {
543
- itemObj = this.items[this.tbarEle.indexOf(clst)];
611
+ var tempItem = this.items[this.tbarEle.indexOf(clst)];
612
+ itemObj = tempItem;
544
613
  }
545
614
  var eventArgs = { originalEvent: e, item: itemObj };
546
615
  if (itemObj && !isNOU(itemObj.click)) {
547
616
  this.trigger('items[' + this.tbarEle.indexOf(clst) + '].click', eventArgs);
548
617
  }
549
618
  if (!eventArgs.cancel) {
550
- this.trigger('clicked', eventArgs);
551
- }
552
- if (!isNOU(this.popObj) && isPopupElement && !eventArgs.cancel && this.overflowMode === 'Popup') {
553
- this.popObj.hide({ name: 'FadeOut', duration: 100 });
619
+ this.trigger('clicked', eventArgs, function (clickedArgs) {
620
+ if (!isNOU(_this.popObj) && isPopupElement && !clickedArgs.cancel && _this.overflowMode === 'Popup' &&
621
+ clickedArgs.item && clickedArgs.item.type !== 'Input') {
622
+ _this.popObj.hide({ name: 'FadeOut', duration: 100 });
623
+ }
624
+ });
554
625
  }
555
626
  };
556
- ;
557
627
  Toolbar.prototype.popupClickHandler = function (ele, popupNav, CLS_RTL) {
558
628
  var popObj = this.popObj;
559
629
  if (isVisible(popObj.element)) {
@@ -581,13 +651,15 @@ var Toolbar = /** @class */ (function (_super) {
581
651
  };
582
652
  /**
583
653
  * To Initialize the control rendering
654
+ *
584
655
  * @private
656
+ * @returns {void}
585
657
  */
586
658
  Toolbar.prototype.render = function () {
587
659
  this.initialize();
588
660
  this.renderControl();
589
- this.separator();
590
661
  this.wireEvents();
662
+ this.renderComplete();
591
663
  };
592
664
  Toolbar.prototype.initialize = function () {
593
665
  var width = formatUnit(this.width);
@@ -597,15 +669,22 @@ var Toolbar = /** @class */ (function (_super) {
597
669
  }
598
670
  setStyle(this.element, { 'width': width });
599
671
  var ariaAttr = {
600
- 'role': 'toolbar', 'aria-disabled': 'false', 'aria-haspopup': 'false',
601
- 'aria-orientation': !this.isVertical ? 'horizontal' : 'vertical',
672
+ 'role': 'toolbar', 'aria-disabled': 'false',
673
+ 'aria-orientation': !this.isVertical ? 'horizontal' : 'vertical'
602
674
  };
603
675
  attributes(this.element, ariaAttr);
676
+ if (this.cssClass) {
677
+ addClass([this.element], this.cssClass.split(' '));
678
+ }
604
679
  };
605
680
  Toolbar.prototype.renderControl = function () {
606
- this.trgtEle = (this.element.children.length > 0) ? this.element.querySelector('div') : null;
681
+ var ele = this.element;
682
+ this.trgtEle = (ele.children.length > 0) ? ele.querySelector('div') : null;
607
683
  this.tbarAlgEle = { lefts: [], centers: [], rights: [] };
608
684
  this.renderItems();
685
+ this.renderLayout();
686
+ };
687
+ Toolbar.prototype.renderLayout = function () {
609
688
  this.renderOverflowMode();
610
689
  if (this.tbarAlign) {
611
690
  this.itemPositioning();
@@ -613,8 +692,43 @@ var Toolbar = /** @class */ (function (_super) {
613
692
  if (this.popObj && this.popObj.element.childElementCount > 1 && this.checkPopupRefresh(this.element, this.popObj.element)) {
614
693
  this.popupRefresh(this.popObj.element, false);
615
694
  }
695
+ this.separator();
696
+ };
697
+ Toolbar.prototype.itemsAlign = function (items, itemEleDom) {
698
+ var innerItem;
699
+ var innerPos;
700
+ if (!this.tbarEle) {
701
+ this.tbarEle = [];
702
+ }
703
+ for (var i = 0; i < items.length; i++) {
704
+ innerItem = this.renderSubComponent(items[parseInt(i.toString(), 10)], i);
705
+ if (this.tbarEle.indexOf(innerItem) === -1) {
706
+ this.tbarEle.push(innerItem);
707
+ }
708
+ if (!this.tbarAlign) {
709
+ this.tbarItemAlign(items[parseInt(i.toString(), 10)], itemEleDom, i);
710
+ }
711
+ innerPos = itemEleDom.querySelector('.e-toolbar-' + items[parseInt(i.toString(), 10)].align.toLowerCase());
712
+ if (innerPos) {
713
+ if (!(items[parseInt(i.toString(), 10)].showAlwaysInPopup && items[parseInt(i.toString(), 10)].overflow !== 'Show')) {
714
+ this.tbarAlgEle[(items[parseInt(i.toString(), 10)].align + 's').toLowerCase()].push(innerItem);
715
+ }
716
+ innerPos.appendChild(innerItem);
717
+ }
718
+ else {
719
+ itemEleDom.appendChild(innerItem);
720
+ }
721
+ }
722
+ if (this.isReact) {
723
+ var portals = 'portals';
724
+ this.notify('render-react-toolbar-template', this["" + portals]);
725
+ this.renderReactTemplates();
726
+ }
616
727
  };
617
- /** @hidden */
728
+ /**
729
+ * @hidden
730
+ * @returns {void}
731
+ */
618
732
  Toolbar.prototype.changeOrientation = function () {
619
733
  var ele = this.element;
620
734
  if (this.isVertical) {
@@ -645,6 +759,9 @@ var Toolbar = /** @class */ (function (_super) {
645
759
  else {
646
760
  this.scrollModule = new HScroll({ scrollStep: this.scrollStep, enableRtl: this.enableRtl }, innerItems[0]);
647
761
  }
762
+ if (this.cssClass) {
763
+ addClass([innerItems[0]], this.cssClass.split(' '));
764
+ }
648
765
  this.remove(this.scrollModule.element, CLS_TBARPOS);
649
766
  setStyle(this.element, { overflow: 'hidden' });
650
767
  }
@@ -696,11 +813,18 @@ var Toolbar = /** @class */ (function (_super) {
696
813
  * Refresh the whole Toolbar component without re-rendering.
697
814
  * - It is used to manually refresh the Toolbar overflow modes such as scrollable, popup, multi row, and extended.
698
815
  * - It will refresh the Toolbar component after loading items dynamically.
699
- * @returns void.
816
+ *
817
+ * @returns {void}.
700
818
  */
701
819
  Toolbar.prototype.refreshOverflow = function () {
702
820
  this.resize();
703
821
  };
822
+ Toolbar.prototype.toolbarAlign = function (innerItems) {
823
+ if (this.tbarAlign) {
824
+ this.add(innerItems, CLS_TBARPOS);
825
+ this.itemPositioning();
826
+ }
827
+ };
704
828
  Toolbar.prototype.renderOverflowMode = function () {
705
829
  var ele = this.element;
706
830
  var innerItems = ele.querySelector('.' + CLS_ITEMS);
@@ -714,7 +838,7 @@ var Toolbar = /** @class */ (function (_super) {
714
838
  switch (this.overflowMode) {
715
839
  case 'Scrollable':
716
840
  if (isNOU(this.scrollModule)) {
717
- this.initScroll(ele, ele.getElementsByClassName(CLS_ITEMS));
841
+ this.initScroll(ele, [].slice.call(ele.getElementsByClassName(CLS_ITEMS)));
718
842
  }
719
843
  break;
720
844
  case 'Popup':
@@ -723,13 +847,9 @@ var Toolbar = /** @class */ (function (_super) {
723
847
  this.removePositioning();
724
848
  }
725
849
  if (this.checkOverflow(ele, innerItems) || priorityCheck) {
726
- this.createPopupEle(ele, [].slice.call(selectAll('.' + CLS_ITEMS + ' .' + CLS_ITEM, ele)));
727
- this.element.querySelector('.' + CLS_TBARNAV).setAttribute('tabIndex', '0');
728
- }
729
- if (this.tbarAlign) {
730
- this.add(innerItems, CLS_TBARPOS);
731
- this.itemPositioning();
850
+ this.setOverflowAttributes(ele);
732
851
  }
852
+ this.toolbarAlign(innerItems);
733
853
  break;
734
854
  case 'MultiRow':
735
855
  this.add(innerItems, CLS_MULTIROW);
@@ -750,19 +870,26 @@ var Toolbar = /** @class */ (function (_super) {
750
870
  if (this.tbarAlign) {
751
871
  this.removePositioning();
752
872
  }
753
- this.createPopupEle(ele, [].slice.call(selectAll('.' + CLS_ITEMS + ' .' + CLS_ITEM, ele)));
754
- this.element.querySelector('.' + CLS_TBARNAV).setAttribute('tabIndex', '0');
873
+ this.setOverflowAttributes(ele);
755
874
  }
875
+ this.toolbarAlign(innerItems);
756
876
  }
757
877
  }
758
878
  };
879
+ Toolbar.prototype.setOverflowAttributes = function (ele) {
880
+ this.createPopupEle(ele, [].slice.call(selectAll('.' + CLS_ITEMS + ' .' + CLS_ITEM, ele)));
881
+ var ariaAttr = {
882
+ 'tabindex': '0', 'role': 'button', 'aria-haspopup': 'true',
883
+ 'aria-label': 'overflow'
884
+ };
885
+ attributes(this.element.querySelector('.' + CLS_TBARNAV), ariaAttr);
886
+ };
759
887
  Toolbar.prototype.separator = function () {
760
888
  var element = this.element;
761
889
  var eleItem = [].slice.call(element.querySelectorAll('.' + CLS_SEPARATOR));
762
- var eleInlineItem;
763
890
  var multiVar = element.querySelector('.' + CLS_MULTIROW_SEPARATOR);
764
891
  var extendVar = element.querySelector('.' + CLS_EXTENDABLE_SEPARATOR);
765
- eleInlineItem = this.overflowMode === 'MultiRow' ? multiVar : extendVar;
892
+ var eleInlineItem = this.overflowMode === 'MultiRow' ? multiVar : extendVar;
766
893
  if (eleInlineItem !== null) {
767
894
  if (this.overflowMode === 'MultiRow') {
768
895
  eleInlineItem.classList.remove(CLS_MULTIROW_SEPARATOR);
@@ -772,12 +899,12 @@ var Toolbar = /** @class */ (function (_super) {
772
899
  }
773
900
  }
774
901
  for (var i = 0; i <= eleItem.length - 1; i++) {
775
- if (eleItem[i].offsetLeft < 30 && eleItem[i].offsetLeft !== 0) {
902
+ if (eleItem[parseInt(i.toString(), 10)].offsetLeft < 30 && eleItem[parseInt(i.toString(), 10)].offsetLeft !== 0) {
776
903
  if (this.overflowMode === 'MultiRow') {
777
- eleItem[i].classList.add(CLS_MULTIROW_SEPARATOR);
904
+ eleItem[parseInt(i.toString(), 10)].classList.add(CLS_MULTIROW_SEPARATOR);
778
905
  }
779
906
  else if (this.overflowMode === 'Extended') {
780
- eleItem[i].classList.add(CLS_EXTENDABLE_SEPARATOR);
907
+ eleItem[parseInt(i.toString(), 10)].classList.add(CLS_EXTENDABLE_SEPARATOR);
781
908
  }
782
909
  }
783
910
  }
@@ -802,15 +929,15 @@ var Toolbar = /** @class */ (function (_super) {
802
929
  };
803
930
  Toolbar.prototype.pushingPoppedEle = function (tbarObj, popupPri, ele, eleHeight, sepHeight) {
804
931
  var element = tbarObj.element;
932
+ var poppedEle = [].slice.call(selectAll('.' + CLS_POPUP, element.querySelector('.' + CLS_ITEMS)));
805
933
  var nodes = selectAll('.' + CLS_TBAROVERFLOW, ele);
806
934
  var nodeIndex = 0;
807
- var poppedEle = [].slice.call(selectAll('.' + CLS_POPUP, element.querySelector('.' + CLS_ITEMS)));
808
935
  var nodePri = 0;
809
936
  poppedEle.forEach(function (el, index) {
810
937
  nodes = selectAll('.' + CLS_TBAROVERFLOW, ele);
811
938
  if (el.classList.contains(CLS_TBAROVERFLOW) && nodes.length > 0) {
812
939
  if (tbarObj.tbResize && nodes.length > index) {
813
- ele.insertBefore(el, nodes[index]);
940
+ ele.insertBefore(el, nodes[parseInt(index.toString(), 10)]);
814
941
  ++nodePri;
815
942
  }
816
943
  else {
@@ -848,7 +975,7 @@ var Toolbar = /** @class */ (function (_super) {
848
975
  });
849
976
  var tbarEle = selectAll('.' + CLS_ITEM, element.querySelector('.' + CLS_ITEMS));
850
977
  for (var i = tbarEle.length - 1; i >= 0; i--) {
851
- var tbarElement = tbarEle[i];
978
+ var tbarElement = tbarEle[parseInt(i.toString(), 10)];
852
979
  if (tbarElement.classList.contains(CLS_SEPARATOR) && this.overflowMode !== 'Extended') {
853
980
  setStyle(tbarElement, { display: 'none' });
854
981
  }
@@ -859,20 +986,18 @@ var Toolbar = /** @class */ (function (_super) {
859
986
  };
860
987
  Toolbar.prototype.createPopup = function () {
861
988
  var element = this.element;
862
- var eleHeight;
863
- var eleItem;
864
989
  var sepHeight;
865
990
  var sepItem;
866
991
  if (this.overflowMode === 'Extended') {
867
992
  sepItem = element.querySelector('.' + CLS_SEPARATOR + ':not(.' + CLS_POPUP + ')');
868
993
  sepHeight = (element.style.height === 'auto' || element.style.height === '') ? null : sepItem.offsetHeight;
869
994
  }
870
- eleItem = element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_SEPARATOR + '):not(.' + CLS_POPUP + ')');
871
- eleHeight = (element.style.height === 'auto' || element.style.height === '') ? null : (eleItem && eleItem.offsetHeight);
995
+ var eleItem = element.querySelector('.' + CLS_ITEM + ':not(.' + CLS_SEPARATOR + '):not(.' + CLS_POPUP + ')');
996
+ var eleHeight = (element.style.height === 'auto' || element.style.height === '') ? null : (eleItem && eleItem.offsetHeight);
872
997
  var ele;
873
998
  var popupPri = [];
874
- if (element.querySelector('#' + element.id + '_popup.' + CLS_POPUPCLASS)) {
875
- ele = element.querySelector('#' + element.id + '_popup.' + CLS_POPUPCLASS);
999
+ if (select('#' + element.id + '_popup.' + CLS_POPUPCLASS, element)) {
1000
+ ele = select('#' + element.id + '_popup.' + CLS_POPUPCLASS, element);
876
1001
  }
877
1002
  else {
878
1003
  var extendEle = this.createElement('div', {
@@ -891,6 +1016,9 @@ var Toolbar = /** @class */ (function (_super) {
891
1016
  Toolbar.prototype.popupInit = function (element, ele) {
892
1017
  if (!this.popObj) {
893
1018
  element.appendChild(ele);
1019
+ if (this.cssClass) {
1020
+ addClass([ele], this.cssClass.split(' '));
1021
+ }
894
1022
  setStyle(this.element, { overflow: '' });
895
1023
  var eleStyles = window.getComputedStyle(this.element);
896
1024
  var popup = new Popup(null, {
@@ -902,20 +1030,27 @@ var Toolbar = /** @class */ (function (_super) {
902
1030
  collision: { Y: this.enableCollision ? 'flip' : 'none' },
903
1031
  position: this.enableRtl ? { X: 'left', Y: 'top' } : { X: 'right', Y: 'top' }
904
1032
  });
905
- popup.appendTo(ele);
906
1033
  if (this.overflowMode === 'Extended') {
907
1034
  popup.width = parseFloat(eleStyles.width) + ((parseFloat(eleStyles.borderRightWidth)) * 2);
908
1035
  popup.offsetX = 0;
909
1036
  }
1037
+ popup.appendTo(ele);
910
1038
  EventHandler.add(document, 'scroll', this.docEvent.bind(this));
911
1039
  EventHandler.add(document, 'click ', this.docEvent.bind(this));
912
1040
  popup.element.style.maxHeight = popup.element.offsetHeight + 'px';
913
1041
  if (this.isVertical) {
914
1042
  popup.element.style.visibility = 'hidden';
915
1043
  }
916
- popup.hide();
1044
+ if (this.isExtendedOpen) {
1045
+ var popupNav = this.element.querySelector('.' + CLS_TBARNAV);
1046
+ popupNav.classList.add(CLS_TBARNAVACT);
1047
+ classList(popupNav.firstElementChild, [CLS_POPUPICON], [CLS_POPUPDOWN]);
1048
+ this.element.querySelector('.' + CLS_EXTENDABLECLASS).classList.add(CLS_POPUPOPEN);
1049
+ }
1050
+ else {
1051
+ popup.hide();
1052
+ }
917
1053
  this.popObj = popup;
918
- this.element.setAttribute('aria-haspopup', 'true');
919
1054
  }
920
1055
  else {
921
1056
  var popupEle = this.popObj.element;
@@ -925,9 +1060,15 @@ var Toolbar = /** @class */ (function (_super) {
925
1060
  };
926
1061
  Toolbar.prototype.tbarPopupHandler = function (isOpen) {
927
1062
  if (this.overflowMode === 'Extended') {
928
- isOpen ? this.add(this.element, CLS_EXTENDEDPOPOPEN) : this.remove(this.element, CLS_EXTENDEDPOPOPEN);
1063
+ if (isOpen) {
1064
+ this.add(this.element, CLS_EXTENDEDPOPOPEN);
1065
+ }
1066
+ else {
1067
+ this.remove(this.element, CLS_EXTENDEDPOPOPEN);
1068
+ }
929
1069
  }
930
1070
  };
1071
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
931
1072
  Toolbar.prototype.popupOpen = function (e) {
932
1073
  var popObj = this.popObj;
933
1074
  if (!this.isVertical) {
@@ -937,6 +1078,7 @@ var Toolbar = /** @class */ (function (_super) {
937
1078
  var popupEle = this.popObj.element;
938
1079
  var toolEle = this.popObj.element.parentElement;
939
1080
  var popupNav = toolEle.querySelector('.' + CLS_TBARNAV);
1081
+ popupNav.setAttribute('aria-expanded', 'true');
940
1082
  setStyle(popObj.element, { height: 'auto', maxHeight: '' });
941
1083
  popObj.element.style.maxHeight = popObj.element.offsetHeight + 'px';
942
1084
  if (this.overflowMode === 'Extended') {
@@ -952,7 +1094,7 @@ var Toolbar = /** @class */ (function (_super) {
952
1094
  var overflowHeight = (popupEle.offsetHeight - ((popupElePos - window.innerHeight - scrollVal) + 5));
953
1095
  popObj.height = overflowHeight + 'px';
954
1096
  for (var i = 0; i <= popupEle.childElementCount; i++) {
955
- var ele = popupEle.children[i];
1097
+ var ele = popupEle.children[parseInt(i.toString(), 10)];
956
1098
  if (ele.offsetTop + ele.offsetHeight > overflowHeight) {
957
1099
  overflowHeight = ele.offsetTop;
958
1100
  break;
@@ -964,10 +1106,20 @@ var Toolbar = /** @class */ (function (_super) {
964
1106
  var tbEleData = this.element.getBoundingClientRect();
965
1107
  setStyle(popObj.element, { maxHeight: (tbEleData.top + this.element.offsetHeight) + 'px', bottom: 0, visibility: '' });
966
1108
  }
1109
+ if (popObj) {
1110
+ var popupOffset = popupEle.getBoundingClientRect();
1111
+ if (popupOffset.right > document.documentElement.clientWidth && popupOffset.width > toolEle.getBoundingClientRect().width) {
1112
+ popObj.collision = { Y: 'none' };
1113
+ popObj.dataBind();
1114
+ }
1115
+ popObj.refreshPosition();
1116
+ }
967
1117
  };
1118
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
968
1119
  Toolbar.prototype.popupClose = function (e) {
969
1120
  var element = this.element;
970
1121
  var popupNav = element.querySelector('.' + CLS_TBARNAV);
1122
+ popupNav.setAttribute('aria-expanded', 'false');
971
1123
  var popIcon = popupNav.firstElementChild;
972
1124
  popupNav.classList.remove(CLS_TBARNAVACT);
973
1125
  classList(popIcon, [CLS_POPUPDOWN], [CLS_POPUPICON]);
@@ -993,7 +1145,7 @@ var Toolbar = /** @class */ (function (_super) {
993
1145
  };
994
1146
  for (var i = len - 1; i >= 0; i--) {
995
1147
  var mrgn = void 0;
996
- var compuStyle = window.getComputedStyle(inEle[i]);
1148
+ var compuStyle = window.getComputedStyle(inEle[parseInt(i.toString(), 10)]);
997
1149
  if (this.isVertical) {
998
1150
  mrgn = parseFloat((compuStyle).marginTop);
999
1151
  mrgn += parseFloat((compuStyle).marginBottom);
@@ -1002,35 +1154,37 @@ var Toolbar = /** @class */ (function (_super) {
1002
1154
  mrgn = parseFloat((compuStyle).marginRight);
1003
1155
  mrgn += parseFloat((compuStyle).marginLeft);
1004
1156
  }
1005
- var fstEleCheck = inEle[i] === this.tbarEle[0];
1157
+ var fstEleCheck = inEle[parseInt(i.toString(), 10)] === this.tbarEle[0];
1006
1158
  if (fstEleCheck) {
1007
1159
  this.tbarEleMrgn = mrgn;
1008
1160
  }
1009
- eleOffset = this.isVertical ? inEle[i].offsetHeight : inEle[i].offsetWidth;
1161
+ eleOffset = this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight : inEle[parseInt(i.toString(), 10)].offsetWidth;
1010
1162
  var eleWid_1 = fstEleCheck ? (eleOffset + mrgn) : eleOffset;
1011
- if (checkClass(inEle[i], [CLS_POPPRI]) && popPriority) {
1012
- inEle[i].classList.add(CLS_POPUP);
1163
+ if (checkClass(inEle[parseInt(i.toString(), 10)], [CLS_POPPRI]) && popPriority) {
1164
+ inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);
1013
1165
  if (this.isVertical) {
1014
- setStyle(inEle[i], { display: 'none', minHeight: eleWid_1 + 'px' });
1166
+ setStyle(inEle[parseInt(i.toString(), 10)], { display: 'none', minHeight: eleWid_1 + 'px' });
1015
1167
  }
1016
1168
  else {
1017
- setStyle(inEle[i], { display: 'none', minWidth: eleWid_1 + 'px' });
1169
+ setStyle(inEle[parseInt(i.toString(), 10)], { display: 'none', minWidth: eleWid_1 + 'px' });
1018
1170
  }
1019
1171
  itemPopCount++;
1020
1172
  }
1021
1173
  if (this.isVertical) {
1022
- checkoffset = (inEle[i].offsetTop + inEle[i].offsetHeight + mrgn) > eleWidth;
1174
+ checkoffset =
1175
+ (inEle[parseInt(i.toString(), 10)].offsetTop + inEle[parseInt(i.toString(), 10)].offsetHeight + mrgn) > eleWidth;
1023
1176
  }
1024
1177
  else {
1025
- checkoffset = (inEle[i].offsetLeft + inEle[i].offsetWidth + mrgn) > eleWidth;
1178
+ checkoffset =
1179
+ (inEle[parseInt(i.toString(), 10)].offsetLeft + inEle[parseInt(i.toString(), 10)].offsetWidth + mrgn) > eleWidth;
1026
1180
  }
1027
1181
  if (checkoffset) {
1028
- if (inEle[i].classList.contains(CLS_SEPARATOR)) {
1182
+ if (inEle[parseInt(i.toString(), 10)].classList.contains(CLS_SEPARATOR)) {
1029
1183
  if (this.overflowMode === 'Extended') {
1030
1184
  if (itemCount === itemPopCount) {
1031
- var sepEle = inEle[i];
1185
+ var sepEle = inEle[parseInt(i.toString(), 10)];
1032
1186
  if (checkClass(sepEle, [CLS_SEPARATOR, CLS_TBARIGNORE])) {
1033
- inEle[i].classList.add(CLS_POPUP);
1187
+ inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);
1034
1188
  itemPopCount++;
1035
1189
  }
1036
1190
  }
@@ -1051,21 +1205,23 @@ var Toolbar = /** @class */ (function (_super) {
1051
1205
  else {
1052
1206
  itemCount++;
1053
1207
  }
1054
- if (inEle[i].classList.contains(CLS_TBAROVERFLOW) && pre) {
1055
- eleWidth -= ((this.isVertical ? inEle[i].offsetHeight : inEle[i].offsetWidth) + (mrgn));
1208
+ if (inEle[parseInt(i.toString(), 10)].classList.contains(CLS_TBAROVERFLOW) && pre) {
1209
+ eleWidth -= ((this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight :
1210
+ inEle[parseInt(i.toString(), 10)].offsetWidth) + (mrgn));
1056
1211
  }
1057
- else if (!checkClass(inEle[i], [CLS_SEPARATOR, CLS_TBARIGNORE])) {
1058
- inEle[i].classList.add(CLS_POPUP);
1212
+ else if (!checkClass(inEle[parseInt(i.toString(), 10)], [CLS_SEPARATOR, CLS_TBARIGNORE])) {
1213
+ inEle[parseInt(i.toString(), 10)].classList.add(CLS_POPUP);
1059
1214
  if (this.isVertical) {
1060
- setStyle(inEle[i], { display: 'none', minHeight: eleWid_1 + 'px' });
1215
+ setStyle(inEle[parseInt(i.toString(), 10)], { display: 'none', minHeight: eleWid_1 + 'px' });
1061
1216
  }
1062
1217
  else {
1063
- setStyle(inEle[i], { display: 'none', minWidth: eleWid_1 + 'px' });
1218
+ setStyle(inEle[parseInt(i.toString(), 10)], { display: 'none', minWidth: eleWid_1 + 'px' });
1064
1219
  }
1065
1220
  itemPopCount++;
1066
1221
  }
1067
1222
  else {
1068
- eleWidth -= ((this.isVertical ? inEle[i].offsetHeight : inEle[i].offsetWidth) + (mrgn));
1223
+ eleWidth -= ((this.isVertical ? inEle[parseInt(i.toString(), 10)].offsetHeight :
1224
+ inEle[parseInt(i.toString(), 10)].offsetWidth) + (mrgn));
1069
1225
  }
1070
1226
  }
1071
1227
  }
@@ -1085,6 +1241,7 @@ var Toolbar = /** @class */ (function (_super) {
1085
1241
  var navItem = this.createElement('div', { className: CLS_POPUPDOWN + ' e-icons' });
1086
1242
  nav.appendChild(navItem);
1087
1243
  nav.setAttribute('tabindex', '0');
1244
+ nav.setAttribute('role', 'button');
1088
1245
  element.appendChild(nav);
1089
1246
  };
1090
1247
  Toolbar.prototype.tbarPriRef = function (inEle, indx, sepPri, el, des, elWid, wid, ig) {
@@ -1128,8 +1285,8 @@ var Toolbar = /** @class */ (function (_super) {
1128
1285
  var _this = this;
1129
1286
  var ele = this.element;
1130
1287
  var isVer = this.isVertical;
1131
- var popNav = ele.querySelector('.' + CLS_TBARNAV);
1132
1288
  var innerEle = ele.querySelector('.' + CLS_ITEMS);
1289
+ var popNav = ele.querySelector('.' + CLS_TBARNAV);
1133
1290
  if (isNOU(popNav)) {
1134
1291
  return;
1135
1292
  }
@@ -1158,8 +1315,6 @@ var Toolbar = /** @class */ (function (_super) {
1158
1315
  this.popObj.destroy();
1159
1316
  detach(this.popObj.element);
1160
1317
  this.popObj = null;
1161
- ele.setAttribute('aria-haspopup', 'false');
1162
- ele.classList.remove('e-toolpop');
1163
1318
  }
1164
1319
  };
1165
1320
  Toolbar.prototype.ignoreEleFetch = function (index, innerEle) {
@@ -1220,7 +1375,6 @@ var Toolbar = /** @class */ (function (_super) {
1220
1375
  var eleSplice = this.tbarEle;
1221
1376
  var priEleCnt;
1222
1377
  var index;
1223
- var checkOverflow;
1224
1378
  var innerEle = this.element.querySelector('.' + CLS_ITEMS);
1225
1379
  var ignoreCount = 0;
1226
1380
  var _loop_1 = function (el) {
@@ -1239,7 +1393,7 @@ var Toolbar = /** @class */ (function (_super) {
1239
1393
  }
1240
1394
  index = this_1.tbarEle.indexOf(el);
1241
1395
  if (this_1.tbarAlign) {
1242
- var pos = this_1.items[index].align;
1396
+ var pos = this_1.items[parseInt(index.toString(), 10)].align;
1243
1397
  index = this_1.tbarAlgEle[(pos + 's').toLowerCase()].indexOf(el);
1244
1398
  eleSplice = this_1.tbarAlgEle[(pos + 's').toLowerCase()];
1245
1399
  innerEle = this_1.element.querySelector('.' + CLS_ITEMS + ' .' + 'e-toolbar-' + pos.toLowerCase());
@@ -1283,7 +1437,7 @@ var Toolbar = /** @class */ (function (_super) {
1283
1437
  if (state_1 === "break")
1284
1438
  break;
1285
1439
  }
1286
- checkOverflow = this.checkOverflow(this.element, this.element.getElementsByClassName(CLS_ITEMS)[0]);
1440
+ var checkOverflow = this.checkOverflow(this.element, this.element.getElementsByClassName(CLS_ITEMS)[0]);
1287
1441
  if (checkOverflow && !destroy) {
1288
1442
  this.renderOverflowMode();
1289
1443
  }
@@ -1330,10 +1484,20 @@ var Toolbar = /** @class */ (function (_super) {
1330
1484
  var popWid = (this.isVertical ? popupNav.offsetHeight : popupNav.offsetWidth) + 'px';
1331
1485
  innerItem[2].removeAttribute('style');
1332
1486
  if (this.isVertical) {
1333
- this.enableRtl ? innerItem[2].style.top = popWid : innerItem[2].style.bottom = popWid;
1487
+ if (this.enableRtl) {
1488
+ innerItem[2].style.top = popWid;
1489
+ }
1490
+ else {
1491
+ innerItem[2].style.bottom = popWid;
1492
+ }
1334
1493
  }
1335
1494
  else {
1336
- this.enableRtl ? innerItem[2].style.left = popWid : innerItem[2].style.right = popWid;
1495
+ if (this.enableRtl) {
1496
+ innerItem[2].style.left = popWid;
1497
+ }
1498
+ else {
1499
+ innerItem[2].style.right = popWid;
1500
+ }
1337
1501
  }
1338
1502
  }
1339
1503
  if (tbarWid <= margin) {
@@ -1343,10 +1507,20 @@ var Toolbar = /** @class */ (function (_super) {
1343
1507
  innerItem[1].removeAttribute('style');
1344
1508
  var mrgn = ((!this.isVertical ? innerItem[0].offsetWidth : innerItem[0].offsetHeight) + value) + 'px';
1345
1509
  if (this.isVertical) {
1346
- this.enableRtl ? innerItem[1].style.marginBottom = mrgn : innerItem[1].style.marginTop = mrgn;
1510
+ if (this.enableRtl) {
1511
+ innerItem[1].style.marginBottom = mrgn;
1512
+ }
1513
+ else {
1514
+ innerItem[1].style.marginTop = mrgn;
1515
+ }
1347
1516
  }
1348
1517
  else {
1349
- this.enableRtl ? innerItem[1].style.marginRight = mrgn : innerItem[1].style.marginLeft = mrgn;
1518
+ if (this.enableRtl) {
1519
+ innerItem[1].style.marginRight = mrgn;
1520
+ }
1521
+ else {
1522
+ innerItem[1].style.marginLeft = mrgn;
1523
+ }
1350
1524
  }
1351
1525
  };
1352
1526
  Toolbar.prototype.tbarItemAlign = function (item, itemEle, pos) {
@@ -1388,46 +1562,28 @@ var Toolbar = /** @class */ (function (_super) {
1388
1562
  innerEle.forEach(function (ele) {
1389
1563
  if (ele.tagName === 'DIV') {
1390
1564
  _this.tbarEle.push(ele);
1391
- ele.setAttribute('aria-disabled', 'false');
1565
+ if (!isNOU(ele.firstElementChild)) {
1566
+ ele.firstElementChild.setAttribute('aria-disabled', 'false');
1567
+ }
1392
1568
  _this.add(ele, CLS_ITEM);
1393
1569
  }
1394
1570
  });
1395
1571
  };
1396
1572
  Toolbar.prototype.renderItems = function () {
1397
1573
  var ele = this.element;
1398
- var itemEleDom;
1399
- var innerItem;
1400
- var innerPos;
1401
1574
  var items = this.items;
1402
- if (ele && ele.children.length > 0) {
1403
- itemEleDom = ele.querySelector('.' + CLS_ITEMS);
1404
- }
1405
1575
  if (this.trgtEle != null) {
1406
1576
  this.ctrlTemplate();
1407
1577
  }
1408
1578
  else if (ele && items.length > 0) {
1579
+ var itemEleDom = void 0;
1580
+ if (ele && ele.children.length > 0) {
1581
+ itemEleDom = ele.querySelector('.' + CLS_ITEMS);
1582
+ }
1409
1583
  if (!itemEleDom) {
1410
1584
  itemEleDom = this.createElement('div', { className: CLS_ITEMS });
1411
1585
  }
1412
- for (var i = 0; i < items.length; i++) {
1413
- innerItem = this.renderSubComponent(items[i], i);
1414
- if (this.tbarEle.indexOf(innerItem) === -1) {
1415
- this.tbarEle.push(innerItem);
1416
- }
1417
- if (!this.tbarAlign) {
1418
- this.tbarItemAlign(items[i], itemEleDom, i);
1419
- }
1420
- innerPos = itemEleDom.querySelector('.e-toolbar-' + items[i].align.toLowerCase());
1421
- if (innerPos) {
1422
- if (!(items[i].showAlwaysInPopup && items[i].overflow !== 'Show')) {
1423
- this.tbarAlgEle[(items[i].align + 's').toLowerCase()].push(innerItem);
1424
- }
1425
- innerPos.appendChild(innerItem);
1426
- }
1427
- else {
1428
- itemEleDom.appendChild(innerItem);
1429
- }
1430
- }
1586
+ this.itemsAlign(items, itemEleDom);
1431
1587
  ele.appendChild(itemEleDom);
1432
1588
  }
1433
1589
  };
@@ -1435,54 +1591,97 @@ var Toolbar = /** @class */ (function (_super) {
1435
1591
  var key = Object.keys(attr);
1436
1592
  var keyVal;
1437
1593
  for (var i = 0; i < key.length; i++) {
1438
- keyVal = key[i];
1439
- keyVal === 'class' ? this.add(element, attr[keyVal]) : element.setAttribute(keyVal, attr[keyVal]);
1594
+ keyVal = key[parseInt(i.toString(), 10)];
1595
+ if (keyVal === 'class') {
1596
+ this.add(element, attr["" + keyVal]);
1597
+ }
1598
+ else {
1599
+ element.setAttribute(keyVal, attr["" + keyVal]);
1600
+ }
1440
1601
  }
1441
1602
  };
1442
1603
  /**
1443
1604
  * Enables or disables the specified Toolbar item.
1444
- * @param {HTMLElement|NodeList} items - DOM element or an array of items to be enabled or disabled.
1605
+ *
1606
+ * @param {number|HTMLElement|NodeList} items - DOM element or an array of items to be enabled or disabled.
1445
1607
  * @param {boolean} isEnable - Boolean value that determines whether the command should be enabled or disabled.
1446
1608
  * By default, `isEnable` is set to true.
1447
- * @returns void.
1609
+ * @returns {void}.
1448
1610
  */
1449
1611
  Toolbar.prototype.enableItems = function (items, isEnable) {
1450
1612
  var elements = items;
1451
1613
  var len = elements.length;
1614
+ var ele;
1452
1615
  if (isNOU(isEnable)) {
1453
1616
  isEnable = true;
1454
1617
  }
1455
1618
  var enable = function (isEnable, ele) {
1456
1619
  if (isEnable) {
1457
1620
  ele.classList.remove(CLS_DISABLE);
1458
- ele.setAttribute('aria-disabled', 'false');
1621
+ if (!isNOU(ele.firstElementChild)) {
1622
+ ele.firstElementChild.setAttribute('aria-disabled', 'false');
1623
+ }
1459
1624
  }
1460
1625
  else {
1461
1626
  ele.classList.add(CLS_DISABLE);
1462
- ele.setAttribute('aria-disabled', 'true');
1627
+ if (!isNOU(ele.firstElementChild)) {
1628
+ ele.firstElementChild.setAttribute('aria-disabled', 'true');
1629
+ }
1463
1630
  }
1464
1631
  };
1465
- if (len && len > 1) {
1466
- for (var _i = 0, _a = [].slice.call(elements); _i < _a.length; _i++) {
1467
- var ele = _a[_i];
1632
+ if (!isNOU(len) && len >= 1) {
1633
+ for (var a = 0, element = [].slice.call(elements); a < len; a++) {
1634
+ var itemElement = element[parseInt(a.toString(), 10)];
1635
+ if (typeof (itemElement) === 'number') {
1636
+ ele = this.getElementByIndex(itemElement);
1637
+ if (isNOU(ele)) {
1638
+ return;
1639
+ }
1640
+ else {
1641
+ elements[parseInt(a.toString(), 10)] = ele;
1642
+ }
1643
+ }
1644
+ else {
1645
+ ele = itemElement;
1646
+ }
1468
1647
  enable(isEnable, ele);
1469
1648
  }
1470
- isEnable ? removeClass(elements, CLS_DISABLE) : addClass(elements, CLS_DISABLE);
1649
+ if (isEnable) {
1650
+ removeClass(elements, CLS_DISABLE);
1651
+ }
1652
+ else {
1653
+ addClass(elements, CLS_DISABLE);
1654
+ }
1471
1655
  }
1472
1656
  else {
1473
- var ele = void 0;
1474
- ele = (len && len === 1) ? elements[0] : items;
1657
+ if (typeof (elements) === 'number') {
1658
+ ele = this.getElementByIndex(elements);
1659
+ if (isNOU(ele)) {
1660
+ return;
1661
+ }
1662
+ }
1663
+ else {
1664
+ ele = items;
1665
+ }
1475
1666
  enable(isEnable, ele);
1476
1667
  }
1477
1668
  };
1669
+ Toolbar.prototype.getElementByIndex = function (index) {
1670
+ if (this.tbarEle[parseInt(index.toString(), 10)]) {
1671
+ return this.tbarEle[parseInt(index.toString(), 10)];
1672
+ }
1673
+ return null;
1674
+ };
1478
1675
  /**
1479
1676
  * Adds new items to the Toolbar that accepts an array as Toolbar items.
1480
- * @param {ItemsModel[]} items - DOM element or an array of items to be added to the Toolbar.
1677
+ *
1678
+ * @param {ItemModel[]} items - DOM element or an array of items to be added to the Toolbar.
1481
1679
  * @param {number} index - Number value that determines where the command is to be added. By default, index is 0.
1482
- * @returns void.
1680
+ * @returns {void}.
1483
1681
  */
1484
1682
  Toolbar.prototype.addItems = function (items, index) {
1485
1683
  var innerItems;
1684
+ this.extendedOpen();
1486
1685
  var itemsDiv = this.element.querySelector('.' + CLS_ITEMS);
1487
1686
  if (isNOU(itemsDiv)) {
1488
1687
  this.itemsRerender(items);
@@ -1515,14 +1714,14 @@ var Toolbar = /** @class */ (function (_super) {
1515
1714
  if (!this.tbarAlign && itemAgn !== 'Left') {
1516
1715
  this.tbarItemAlign(item, itemsDiv, 1);
1517
1716
  this.tbarAlign = true;
1518
- ele = closest(innerItems[0], '.' + CLS_ITEMS).children[algIndex];
1717
+ ele = closest(innerItems[0], '.' + CLS_ITEMS).children[parseInt(algIndex.toString(), 10)];
1519
1718
  ele.appendChild(innerEle);
1520
1719
  this.tbarAlgEle[(item.align + 's').toLowerCase()].push(innerEle);
1521
1720
  this.refreshPositioning();
1522
1721
  }
1523
1722
  else if (this.tbarAlign) {
1524
- ele = closest(innerItems[0], '.' + CLS_ITEMS).children[algIndex];
1525
- ele.insertBefore(innerEle, ele.children[index]);
1723
+ ele = closest(innerItems[0], '.' + CLS_ITEMS).children[parseInt(algIndex.toString(), 10)];
1724
+ ele.insertBefore(innerEle, ele.children[parseInt(index.toString(), 10)]);
1526
1725
  this.tbarAlgEle[(item.align + 's').toLowerCase()].splice(index, 0, innerEle);
1527
1726
  this.refreshPositioning();
1528
1727
  }
@@ -1531,9 +1730,12 @@ var Toolbar = /** @class */ (function (_super) {
1531
1730
  innerItems[0].appendChild(innerEle);
1532
1731
  }
1533
1732
  else {
1534
- innerItems[0].parentNode.insertBefore(innerEle, innerItems[index]);
1733
+ innerItems[0].parentNode.insertBefore(innerEle, innerItems[parseInt(index.toString(), 10)]);
1535
1734
  }
1536
1735
  this.items.splice(index, 0, item);
1736
+ if (item.template) {
1737
+ this.tbarEle.splice(this.tbarEle.length - 1, 1);
1738
+ }
1537
1739
  this.tbarEle.splice(index, 0, innerEle);
1538
1740
  index++;
1539
1741
  this.offsetWid = itemsDiv.offsetWidth;
@@ -1541,12 +1743,16 @@ var Toolbar = /** @class */ (function (_super) {
1541
1743
  }
1542
1744
  itemsDiv.style.width = '';
1543
1745
  this.renderOverflowMode();
1746
+ if (this.isReact) {
1747
+ this.renderReactTemplates();
1748
+ }
1544
1749
  };
1545
1750
  /**
1546
1751
  * Removes the items from the Toolbar. Acceptable arguments are index of item/HTMLElement/node list.
1752
+ *
1547
1753
  * @param {number|HTMLElement|NodeList|HTMLElement[]} args
1548
1754
  * Index or DOM element or an Array of item which is to be removed from the Toolbar.
1549
- * @returns void.
1755
+ * @returns {void}.
1550
1756
  */
1551
1757
  Toolbar.prototype.removeItems = function (args) {
1552
1758
  var elements = args;
@@ -1574,14 +1780,20 @@ var Toolbar = /** @class */ (function (_super) {
1574
1780
  this.resize();
1575
1781
  };
1576
1782
  Toolbar.prototype.removeItemByIndex = function (index, innerItems) {
1577
- if (this.tbarEle[index] && innerItems[index]) {
1578
- var eleIdx = this.tbarEle.indexOf(innerItems[index]);
1783
+ if (this.tbarEle[parseInt(index.toString(), 10)] && innerItems[parseInt(index.toString(), 10)]) {
1784
+ var eleIdx = this.tbarEle.indexOf(innerItems[parseInt(index.toString(), 10)]);
1579
1785
  if (this.tbarAlign) {
1580
- var indexAgn = void 0;
1581
- indexAgn = this.tbarAlgEle[(this.items[eleIdx].align + 's').toLowerCase()].indexOf(this.tbarEle[eleIdx]);
1582
- this.tbarAlgEle[(this.items[eleIdx].align + 's').toLowerCase()].splice(indexAgn, 1);
1786
+ var indexAgn = this.tbarAlgEle[(this.items[parseInt(eleIdx.toString(), 10)].align + 's').toLowerCase()].indexOf(this.tbarEle[parseInt(eleIdx.toString(), 10)]);
1787
+ this.tbarAlgEle[(this.items[parseInt(eleIdx.toString(), 10)].align + 's').toLowerCase()].splice(parseInt(indexAgn.toString(), 10), 1);
1788
+ }
1789
+ if (this.isReact) {
1790
+ this.clearTemplate();
1583
1791
  }
1584
- detach(innerItems[index]);
1792
+ var btnItem = innerItems[parseInt(index.toString(), 10)].querySelector('.e-control.e-btn');
1793
+ if (!isNOU(btnItem) && !isNOU(btnItem.ej2_instances[0]) && !(btnItem.ej2_instances[0].isDestroyed)) {
1794
+ btnItem.ej2_instances[0].destroy();
1795
+ }
1796
+ detach(innerItems[parseInt(index.toString(), 10)]);
1585
1797
  this.items.splice(eleIdx, 1);
1586
1798
  this.tbarEle.splice(eleIdx, 1);
1587
1799
  }
@@ -1596,12 +1808,15 @@ var Toolbar = /** @class */ (function (_super) {
1596
1808
  if (typeof (templateProp) === 'string' || !isComponent) {
1597
1809
  var templateFn = void 0;
1598
1810
  var val = templateProp;
1811
+ var regEx = new RegExp(/<(?=.*? .*?\/ ?>|br|hr|input|!--|wbr)[a-z]+.*?>|<([a-z]+).*?<\/\1>/i);
1599
1812
  val = (typeof (templateProp) === 'string') ? templateProp.trim() : templateProp;
1600
- var e = void 0;
1601
1813
  try {
1602
1814
  if (typeof (templateProp) === 'object' && !isNOU(templateProp.tagName)) {
1603
1815
  innerEle.appendChild(templateProp);
1604
1816
  }
1817
+ else if (typeof (templateProp) === 'string' && regEx.test(val)) {
1818
+ innerEle.innerHTML = val;
1819
+ }
1605
1820
  else if (document.querySelectorAll(val).length) {
1606
1821
  var ele = document.querySelector(val);
1607
1822
  var tempStr = ele.outerHTML.trim();
@@ -1611,13 +1826,17 @@ var Toolbar = /** @class */ (function (_super) {
1611
1826
  this.tempId.push(val);
1612
1827
  }
1613
1828
  }
1829
+ else {
1830
+ templateFn = templateCompiler(val);
1831
+ }
1614
1832
  }
1615
1833
  catch (e) {
1616
1834
  templateFn = templateCompiler(val);
1617
1835
  }
1618
1836
  var tempArray = void 0;
1619
1837
  if (!isNOU(templateFn)) {
1620
- tempArray = templateFn({}, this, 'template');
1838
+ var toolbarTemplateID = this.element.id + index + '_template';
1839
+ tempArray = templateFn({}, this, 'template', toolbarTemplateID, this.isStringTemplate);
1621
1840
  }
1622
1841
  if (!isNOU(tempArray) && tempArray.length > 0) {
1623
1842
  [].slice.call(tempArray).forEach(function (ele) {
@@ -1630,7 +1849,12 @@ var Toolbar = /** @class */ (function (_super) {
1630
1849
  }
1631
1850
  else if (itemType === 'Input') {
1632
1851
  var ele = this.createElement('input');
1633
- item.id ? (ele.id = item.id) : (ele.id = getUniqueID('tbr-ipt'));
1852
+ if (item.id) {
1853
+ ele.id = item.id;
1854
+ }
1855
+ else {
1856
+ ele.id = getUniqueID('tbr-ipt');
1857
+ }
1634
1858
  innerEle.appendChild(ele);
1635
1859
  eleObj.appendTo(ele);
1636
1860
  }
@@ -1643,10 +1867,15 @@ var Toolbar = /** @class */ (function (_super) {
1643
1867
  var textStr = item.text;
1644
1868
  var iconCss;
1645
1869
  var iconPos;
1646
- item.id ? (dom.id = item.id) : dom.id = getUniqueID('e-tbr-btn');
1647
- var btnTxt = this.createElement('div', { className: 'e-tbar-btn-text' });
1870
+ if (item.id) {
1871
+ dom.id = item.id;
1872
+ }
1873
+ else {
1874
+ dom.id = getUniqueID('e-tbr-btn');
1875
+ }
1876
+ var btnTxt = this.createElement('span', { className: 'e-tbar-btn-text' });
1648
1877
  if (textStr) {
1649
- btnTxt.innerHTML = textStr;
1878
+ btnTxt.innerHTML = this.enableHtmlSanitizer ? SanitizeHtmlHelper.sanitize(textStr) : textStr;
1650
1879
  dom.appendChild(btnTxt);
1651
1880
  dom.classList.add('e-tbtn-txt');
1652
1881
  }
@@ -1672,10 +1901,11 @@ var Toolbar = /** @class */ (function (_super) {
1672
1901
  return dom;
1673
1902
  };
1674
1903
  Toolbar.prototype.renderSubComponent = function (item, index) {
1675
- var innerEle;
1676
1904
  var dom;
1677
- innerEle = this.createElement('div', { className: CLS_ITEM });
1678
- innerEle.setAttribute('aria-disabled', 'false');
1905
+ var innerEle = this.createElement('div', { className: CLS_ITEM });
1906
+ var tempDom = this.createElement('div', {
1907
+ innerHTML: this.enableHtmlSanitizer ? SanitizeHtmlHelper.sanitize(item.tooltipText) : item.tooltipText
1908
+ });
1679
1909
  if (!this.tbarEle) {
1680
1910
  this.tbarEle = [];
1681
1911
  }
@@ -1683,7 +1913,6 @@ var Toolbar = /** @class */ (function (_super) {
1683
1913
  this.setAttr(item.htmlAttributes, innerEle);
1684
1914
  }
1685
1915
  if (item.tooltipText) {
1686
- var tempDom = this.createElement('div', { innerHTML: item.tooltipText });
1687
1916
  innerEle.setAttribute('title', tempDom.textContent);
1688
1917
  }
1689
1918
  if (item.cssClass) {
@@ -1696,7 +1925,10 @@ var Toolbar = /** @class */ (function (_super) {
1696
1925
  switch (item.type) {
1697
1926
  case 'Button':
1698
1927
  dom = this.buttonRendering(item, innerEle);
1699
- dom.setAttribute('tabindex', '-1');
1928
+ dom.setAttribute('tabindex', isNOU(item.tabIndex) ? '-1' : item.tabIndex.toString());
1929
+ dom.setAttribute('data-tabindex', isNOU(item.tabIndex) ? '-1' : item.tabIndex.toString());
1930
+ dom.setAttribute('aria-label', (item.text || item.tooltipText));
1931
+ dom.setAttribute('aria-disabled', 'false');
1700
1932
  innerEle.appendChild(dom);
1701
1933
  innerEle.addEventListener('click', this.itemClick.bind(this));
1702
1934
  break;
@@ -1730,8 +1962,17 @@ var Toolbar = /** @class */ (function (_super) {
1730
1962
  this.add(innerEle, CLS_POPPRI);
1731
1963
  this.popupPriCount++;
1732
1964
  }
1965
+ if (item.disabled) {
1966
+ this.add(innerEle, CLS_DISABLE);
1967
+ }
1968
+ if (item.visible === false) {
1969
+ this.add(innerEle, CLS_HIDDEN);
1970
+ }
1733
1971
  return innerEle;
1734
1972
  };
1973
+ Toolbar.prototype.getDataTabindex = function (ele) {
1974
+ return isNOU(ele.getAttribute('data-tabindex')) ? '-1' : ele.getAttribute('data-tabindex');
1975
+ };
1735
1976
  Toolbar.prototype.itemClick = function (e) {
1736
1977
  this.activeEleSwitch(e.currentTarget);
1737
1978
  };
@@ -1741,14 +1982,17 @@ var Toolbar = /** @class */ (function (_super) {
1741
1982
  };
1742
1983
  Toolbar.prototype.activeEleRemove = function (curEle) {
1743
1984
  if (!isNOU(this.activeEle)) {
1744
- this.activeEle.setAttribute('tabindex', '-1');
1985
+ this.activeEle.setAttribute('tabindex', this.getDataTabindex(this.activeEle));
1745
1986
  }
1746
1987
  this.activeEle = curEle;
1747
- if (isNOU(this.trgtEle) && !curEle.parentElement.classList.contains(CLS_TEMPLATE)) {
1748
- curEle.removeAttribute('tabindex');
1749
- }
1750
- else {
1751
- this.activeEle.setAttribute('tabindex', '0');
1988
+ if (this.getDataTabindex(this.activeEle) === '-1') {
1989
+ if (isNOU(this.trgtEle) && !curEle.parentElement.classList.contains(CLS_TEMPLATE)) {
1990
+ this.updateTabIndex('-1');
1991
+ curEle.removeAttribute('tabindex');
1992
+ }
1993
+ else {
1994
+ this.activeEle.setAttribute('tabindex', this.getDataTabindex(this.activeEle));
1995
+ }
1752
1996
  }
1753
1997
  };
1754
1998
  Toolbar.prototype.getPersistData = function () {
@@ -1756,7 +2000,8 @@ var Toolbar = /** @class */ (function (_super) {
1756
2000
  };
1757
2001
  /**
1758
2002
  * Returns the current module name.
1759
- * @returns string
2003
+ *
2004
+ * @returns {string} - Returns the module name as string.
1760
2005
  * @private
1761
2006
  */
1762
2007
  Toolbar.prototype.getModuleName = function () {
@@ -1764,12 +2009,18 @@ var Toolbar = /** @class */ (function (_super) {
1764
2009
  };
1765
2010
  Toolbar.prototype.itemsRerender = function (newProp) {
1766
2011
  this.items = this.tbarItemsCol;
2012
+ if (this.isReact || this.isAngular) {
2013
+ this.clearTemplate();
2014
+ }
1767
2015
  this.destroyMode();
1768
2016
  this.destroyItems();
1769
2017
  this.items = newProp;
1770
2018
  this.tbarItemsCol = this.items;
1771
2019
  this.renderItems();
1772
2020
  this.renderOverflowMode();
2021
+ if (this.isReact) {
2022
+ this.renderReactTemplates();
2023
+ }
1773
2024
  };
1774
2025
  Toolbar.prototype.resize = function () {
1775
2026
  var ele = this.element;
@@ -1810,19 +2061,51 @@ var Toolbar = /** @class */ (function (_super) {
1810
2061
  this.refreshPositioning();
1811
2062
  }
1812
2063
  }
2064
+ if (this.element.querySelector('.' + CLS_HSCROLLBAR)) {
2065
+ this.scrollStep = this.element.querySelector('.' + CLS_HSCROLLBAR).offsetWidth;
2066
+ }
1813
2067
  this.offsetWid = ele.offsetWidth;
1814
2068
  this.tbResize = false;
1815
2069
  this.separator();
1816
2070
  };
2071
+ Toolbar.prototype.extendedOpen = function () {
2072
+ var sib = this.element.querySelector('.' + CLS_EXTENDABLECLASS);
2073
+ if (this.overflowMode === 'Extended' && sib) {
2074
+ this.isExtendedOpen = sib.classList.contains(CLS_POPUPOPEN);
2075
+ }
2076
+ };
2077
+ Toolbar.prototype.updateHideEleTabIndex = function (ele, isHidden, isElement, eleIndex, innerItems) {
2078
+ if (isElement) {
2079
+ eleIndex = innerItems.indexOf(ele);
2080
+ }
2081
+ var nextEle = innerItems[++eleIndex];
2082
+ while (nextEle) {
2083
+ var skipEle = this.eleContains(nextEle);
2084
+ if (!skipEle) {
2085
+ var dataTabIndex = nextEle.firstElementChild.getAttribute('data-tabindex');
2086
+ if (isHidden && dataTabIndex === '-1') {
2087
+ nextEle.firstElementChild.setAttribute('tabindex', '0');
2088
+ }
2089
+ else if (dataTabIndex !== nextEle.firstElementChild.getAttribute('tabindex')) {
2090
+ nextEle.firstElementChild.setAttribute('tabindex', dataTabIndex);
2091
+ }
2092
+ break;
2093
+ }
2094
+ nextEle = innerItems[++eleIndex];
2095
+ }
2096
+ };
1817
2097
  /**
1818
2098
  * Gets called when the model property changes.The data that describes the old and new values of the property that changed.
1819
- * @param {ToolbarModel} newProp
1820
- * @param {ToolbarModel} oldProp
1821
- * @returns void
2099
+ *
2100
+ * @param {ToolbarModel} newProp - It contains new value of the data.
2101
+ * @param {ToolbarModel} oldProp - It contains old value of the data.
2102
+ * @returns {void}
1822
2103
  * @private
1823
2104
  */
1824
2105
  Toolbar.prototype.onPropertyChanged = function (newProp, oldProp) {
1825
2106
  var tEle = this.element;
2107
+ var wid = tEle.offsetWidth;
2108
+ this.extendedOpen();
1826
2109
  for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {
1827
2110
  var prop = _a[_i];
1828
2111
  switch (prop) {
@@ -1830,29 +2113,34 @@ var Toolbar = /** @class */ (function (_super) {
1830
2113
  if (!(newProp.items instanceof Array && oldProp.items instanceof Array)) {
1831
2114
  var changedProb = Object.keys(newProp.items);
1832
2115
  for (var i = 0; i < changedProb.length; i++) {
1833
- var index = parseInt(Object.keys(newProp.items)[i], 10);
1834
- var property = Object.keys(newProp.items[index])[0];
1835
- var oldProperty = Object(oldProp.items[index])[property];
1836
- var newProperty = Object(newProp.items[index])[property];
1837
- if (this.tbarAlign || property === 'align') {
1838
- this.refresh();
1839
- break;
1840
- }
1841
- var popupPriCheck = property === 'showAlwaysInPopup' && !newProperty;
1842
- var booleanCheck = property === 'overflow' && this.popupPriCount !== 0;
1843
- if ((popupPriCheck) || (this.items[index].showAlwaysInPopup) && booleanCheck) {
1844
- --this.popupPriCount;
1845
- }
1846
- if (isNOU(this.scrollModule)) {
1847
- this.destroyMode();
1848
- }
1849
- var itemCol = [].slice.call(selectAll('.' + CLS_ITEMS + ' .' + CLS_ITEM, tEle));
1850
- detach(itemCol[index]);
1851
- this.tbarEle.splice(index, 1);
1852
- this.addItems([this.items[index]], index);
1853
- this.items.splice(index, 1);
1854
- if (this.items[index].template) {
1855
- this.tbarEle.splice(this.items.length, 1);
2116
+ var index = parseInt(Object.keys(newProp.items)[parseInt(i.toString(), 10)], 10);
2117
+ var property = Object.keys(newProp.items[parseInt(index.toString(), 10)])[0];
2118
+ var newProperty = Object(newProp.items[parseInt(index.toString(), 10)])["" + property];
2119
+ if (typeof newProperty !== 'function') {
2120
+ if (this.tbarAlign || property === 'align') {
2121
+ this.refresh();
2122
+ this.trigger('created');
2123
+ break;
2124
+ }
2125
+ var popupPriCheck = property === 'showAlwaysInPopup' && !newProperty;
2126
+ var booleanCheck = property === 'overflow' && this.popupPriCount !== 0;
2127
+ if ((popupPriCheck) || (this.items[parseInt(index.toString(), 10)].showAlwaysInPopup) && booleanCheck) {
2128
+ --this.popupPriCount;
2129
+ }
2130
+ if (isNOU(this.scrollModule)) {
2131
+ this.destroyMode();
2132
+ }
2133
+ var itemCol = [].slice.call(selectAll('.' + CLS_ITEMS + ' .' + CLS_ITEM, tEle));
2134
+ if (this.isReact && this.items[parseInt(index.toString(), 10)].template) {
2135
+ this.clearTemplate();
2136
+ }
2137
+ detach(itemCol[parseInt(index.toString(), 10)]);
2138
+ this.tbarEle.splice(index, 1);
2139
+ this.addItems([this.items[parseInt(index.toString(), 10)]], index);
2140
+ this.items.splice(index, 1);
2141
+ if (this.items[parseInt(index.toString(), 10)].template) {
2142
+ this.tbarEle.splice(this.items.length, 1);
2143
+ }
1856
2144
  }
1857
2145
  }
1858
2146
  }
@@ -1861,7 +2149,6 @@ var Toolbar = /** @class */ (function (_super) {
1861
2149
  }
1862
2150
  break;
1863
2151
  case 'width':
1864
- var wid = tEle.offsetWidth;
1865
2152
  setStyle(tEle, { 'width': formatUnit(newProp.width) });
1866
2153
  this.renderOverflowMode();
1867
2154
  if (this.popObj && wid < tEle.offsetWidth) {
@@ -1880,34 +2167,96 @@ var Toolbar = /** @class */ (function (_super) {
1880
2167
  this.refreshOverflow();
1881
2168
  break;
1882
2169
  case 'enableRtl':
1883
- newProp.enableRtl ? this.add(tEle, CLS_RTL) : this.remove(tEle, CLS_RTL);
2170
+ if (newProp.enableRtl) {
2171
+ this.add(tEle, CLS_RTL);
2172
+ }
2173
+ else {
2174
+ this.remove(tEle, CLS_RTL);
2175
+ }
1884
2176
  if (!isNOU(this.scrollModule)) {
1885
- newProp.enableRtl ? this.add(this.scrollModule.element, CLS_RTL) : this.remove(this.scrollModule.element, CLS_RTL);
2177
+ if (newProp.enableRtl) {
2178
+ this.add(this.scrollModule.element, CLS_RTL);
2179
+ }
2180
+ else {
2181
+ this.remove(this.scrollModule.element, CLS_RTL);
2182
+ }
1886
2183
  }
1887
2184
  if (!isNOU(this.popObj)) {
1888
- newProp.enableRtl ? this.add(this.popObj.element, CLS_RTL) : this.remove(this.popObj.element, CLS_RTL);
2185
+ if (newProp.enableRtl) {
2186
+ this.add(this.popObj.element, CLS_RTL);
2187
+ }
2188
+ else {
2189
+ this.remove(this.popObj.element, CLS_RTL);
2190
+ }
1889
2191
  }
1890
2192
  if (this.tbarAlign) {
1891
2193
  this.itemPositioning();
1892
2194
  }
1893
2195
  break;
2196
+ case 'scrollStep':
2197
+ if (this.scrollModule) {
2198
+ this.scrollModule.scrollStep = this.scrollStep;
2199
+ }
2200
+ break;
2201
+ case 'enableCollision':
2202
+ if (this.popObj) {
2203
+ this.popObj.collision = { Y: this.enableCollision ? 'flip' : 'none' };
2204
+ }
2205
+ break;
2206
+ case 'cssClass':
2207
+ if (oldProp.cssClass) {
2208
+ removeClass([this.element], oldProp.cssClass.split(' '));
2209
+ }
2210
+ if (newProp.cssClass) {
2211
+ addClass([this.element], newProp.cssClass.split(' '));
2212
+ }
2213
+ break;
2214
+ case 'allowKeyboard':
2215
+ this.unwireKeyboardEvent();
2216
+ if (newProp.allowKeyboard) {
2217
+ this.wireKeyboardEvent();
2218
+ }
2219
+ break;
1894
2220
  }
1895
2221
  }
1896
2222
  };
1897
2223
  /**
1898
2224
  * Shows or hides the Toolbar item that is in the specified index.
1899
- * @param {number} index - Index value of target item.
2225
+ *
2226
+ * @param {number | HTMLElement} index - Index value of target item or DOM element of items to be hidden or shown.
1900
2227
  * @param {boolean} value - Based on this Boolean value, item will be hide (true) or show (false). By default, value is false.
1901
- * @returns void.
2228
+ * @returns {void}.
1902
2229
  */
1903
2230
  Toolbar.prototype.hideItem = function (index, value) {
1904
- if (this.tbarEle[index]) {
1905
- var innerItems = [].slice.call(selectAll('.' + CLS_ITEM, this.element));
1906
- if (value === true) {
1907
- innerItems[index].classList.add(CLS_HIDDEN);
2231
+ var isElement = (typeof (index) === 'object') ? true : false;
2232
+ var eleIndex = index;
2233
+ var ele;
2234
+ if (!isElement && isNOU(eleIndex)) {
2235
+ return;
2236
+ }
2237
+ var innerItems = [].slice.call(selectAll('.' + CLS_ITEM, this.element));
2238
+ if (isElement) {
2239
+ ele = index;
2240
+ }
2241
+ else if (this.tbarEle[parseInt(eleIndex.toString(), 10)]) {
2242
+ var innerItems_1 = [].slice.call(selectAll('.' + CLS_ITEM, this.element));
2243
+ ele = innerItems_1[parseInt(eleIndex.toString(), 10)];
2244
+ }
2245
+ if (ele) {
2246
+ if (value) {
2247
+ ele.classList.add(CLS_HIDDEN);
2248
+ if (!ele.classList.contains(CLS_SEPARATOR)) {
2249
+ if (isNOU(ele.firstElementChild.getAttribute('tabindex')) ||
2250
+ ele.firstElementChild.getAttribute('tabindex') !== '-1') {
2251
+ this.updateHideEleTabIndex(ele, value, isElement, eleIndex, innerItems);
2252
+ }
2253
+ }
1908
2254
  }
1909
2255
  else {
1910
- innerItems[index].classList.remove(CLS_HIDDEN);
2256
+ ele.classList.remove(CLS_HIDDEN);
2257
+ if (!ele.classList.contains(CLS_SEPARATOR)) {
2258
+ this.updateHideEleTabIndex(ele, value, isElement, eleIndex, innerItems);
2259
+ }
1911
2260
  }
1912
2261
  this.refreshOverflow();
1913
2262
  }
@@ -1921,12 +2270,24 @@ var Toolbar = /** @class */ (function (_super) {
1921
2270
  __decorate([
1922
2271
  Property('auto')
1923
2272
  ], Toolbar.prototype, "height", void 0);
2273
+ __decorate([
2274
+ Property('')
2275
+ ], Toolbar.prototype, "cssClass", void 0);
1924
2276
  __decorate([
1925
2277
  Property('Scrollable')
1926
2278
  ], Toolbar.prototype, "overflowMode", void 0);
1927
2279
  __decorate([
1928
- Property(false)
1929
- ], Toolbar.prototype, "enableRtl", void 0);
2280
+ Property()
2281
+ ], Toolbar.prototype, "scrollStep", void 0);
2282
+ __decorate([
2283
+ Property(true)
2284
+ ], Toolbar.prototype, "enableCollision", void 0);
2285
+ __decorate([
2286
+ Property(true)
2287
+ ], Toolbar.prototype, "enableHtmlSanitizer", void 0);
2288
+ __decorate([
2289
+ Property(true)
2290
+ ], Toolbar.prototype, "allowKeyboard", void 0);
1930
2291
  __decorate([
1931
2292
  Event()
1932
2293
  ], Toolbar.prototype, "clicked", void 0);