@syncfusion/ej2-splitbuttons 32.1.22 → 32.2.3

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 (608) hide show
  1. package/dist/ej2-splitbuttons.min.js +2 -2
  2. package/dist/ej2-splitbuttons.umd.min.js +2 -2
  3. package/dist/ej2-splitbuttons.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-splitbuttons.es2015.js +6 -2
  5. package/dist/es6/ej2-splitbuttons.es2015.js.map +1 -1
  6. package/dist/es6/ej2-splitbuttons.es5.js +6 -2
  7. package/dist/es6/ej2-splitbuttons.es5.js.map +1 -1
  8. package/dist/global/ej2-splitbuttons.min.js +2 -2
  9. package/dist/global/ej2-splitbuttons.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +3 -3
  12. package/src/drop-down-button/drop-down-button.d.ts +1 -0
  13. package/src/drop-down-button/drop-down-button.js +6 -2
  14. package/styles/bds-lite.css +684 -0
  15. package/styles/bds-lite.scss +4 -4
  16. package/styles/bds.css +1050 -24
  17. package/styles/bds.scss +8 -8
  18. package/styles/bootstrap-dark-lite.scss +4 -4
  19. package/styles/bootstrap-dark.scss +8 -8
  20. package/styles/bootstrap-lite.scss +4 -4
  21. package/styles/bootstrap.scss +8 -8
  22. package/styles/bootstrap4-lite.scss +4 -4
  23. package/styles/bootstrap4.scss +8 -8
  24. package/styles/bootstrap5-dark-lite.scss +4 -4
  25. package/styles/bootstrap5-dark.scss +8 -8
  26. package/styles/bootstrap5-lite.scss +4 -4
  27. package/styles/bootstrap5.3-lite.css +672 -0
  28. package/styles/bootstrap5.3-lite.scss +4 -4
  29. package/styles/bootstrap5.3.css +1008 -0
  30. package/styles/bootstrap5.3.scss +8 -8
  31. package/styles/bootstrap5.scss +8 -8
  32. package/styles/button-group/_all.bds.scss +2 -0
  33. package/styles/button-group/_all.bootstrap-dark.scss +2 -0
  34. package/styles/button-group/_all.bootstrap.scss +2 -0
  35. package/styles/button-group/_all.bootstrap4.scss +2 -0
  36. package/styles/button-group/_all.bootstrap5-dark.scss +2 -0
  37. package/styles/button-group/_all.bootstrap5.3.scss +2 -0
  38. package/styles/button-group/_all.bootstrap5.scss +2 -0
  39. package/styles/button-group/_all.fabric-dark.scss +2 -0
  40. package/styles/button-group/_all.fabric.scss +2 -0
  41. package/styles/button-group/_all.fluent-dark.scss +2 -0
  42. package/styles/button-group/_all.fluent.scss +2 -0
  43. package/styles/button-group/_all.fluent2.scss +2 -0
  44. package/styles/button-group/_all.highcontrast-light.scss +2 -0
  45. package/styles/button-group/_all.highcontrast.scss +2 -0
  46. package/styles/button-group/_all.material-dark.scss +2 -0
  47. package/styles/button-group/_all.material.scss +2 -0
  48. package/styles/button-group/_all.material3-dark.scss +2 -0
  49. package/styles/button-group/_all.material3.scss +2 -0
  50. package/styles/button-group/_all.tailwind-dark.scss +2 -0
  51. package/styles/button-group/_all.tailwind.scss +2 -0
  52. package/styles/button-group/_all.tailwind3.scss +2 -0
  53. package/styles/button-group/_bigger.bds.scss +4 -0
  54. package/styles/button-group/_bigger.bootstrap-dark.scss +4 -0
  55. package/styles/button-group/_bigger.bootstrap.scss +4 -0
  56. package/styles/button-group/_bigger.bootstrap4.scss +4 -0
  57. package/styles/button-group/_bigger.bootstrap5-dark.scss +4 -0
  58. package/styles/button-group/_bigger.bootstrap5.3.scss +4 -0
  59. package/styles/button-group/_bigger.bootstrap5.scss +4 -0
  60. package/styles/button-group/_bigger.fabric-dark.scss +4 -0
  61. package/styles/button-group/_bigger.fabric.scss +4 -0
  62. package/styles/button-group/_bigger.fluent-dark.scss +4 -0
  63. package/styles/button-group/_bigger.fluent.scss +4 -0
  64. package/styles/button-group/_bigger.fluent2.scss +4 -0
  65. package/styles/button-group/_bigger.highcontrast-light.scss +4 -0
  66. package/styles/button-group/_bigger.highcontrast.scss +4 -0
  67. package/styles/button-group/_bigger.material-dark.scss +4 -0
  68. package/styles/button-group/_bigger.material.scss +4 -0
  69. package/styles/button-group/_bigger.material3-dark.scss +4 -0
  70. package/styles/button-group/_bigger.material3.scss +4 -0
  71. package/styles/button-group/_bigger.scss +1 -1
  72. package/styles/button-group/_bigger.tailwind-dark.scss +4 -0
  73. package/styles/button-group/_bigger.tailwind.scss +4 -0
  74. package/styles/button-group/_bigger.tailwind3.scss +4 -0
  75. package/styles/button-group/_group-button-mixin.scss +0 -2
  76. package/styles/button-group/_layout.bds.scss +4 -0
  77. package/styles/button-group/_layout.bootstrap-dark.scss +4 -0
  78. package/styles/button-group/_layout.bootstrap.scss +4 -0
  79. package/styles/button-group/_layout.bootstrap4.scss +4 -0
  80. package/styles/button-group/_layout.bootstrap5-dark.scss +4 -0
  81. package/styles/button-group/_layout.bootstrap5.3.scss +4 -0
  82. package/styles/button-group/_layout.bootstrap5.scss +4 -0
  83. package/styles/button-group/_layout.fabric-dark.scss +4 -0
  84. package/styles/button-group/_layout.fabric.scss +4 -0
  85. package/styles/button-group/_layout.fluent-dark.scss +4 -0
  86. package/styles/button-group/_layout.fluent.scss +4 -0
  87. package/styles/button-group/_layout.fluent2.scss +4 -0
  88. package/styles/button-group/_layout.highcontrast-light.scss +4 -0
  89. package/styles/button-group/_layout.highcontrast.scss +4 -0
  90. package/styles/button-group/_layout.material-dark.scss +4 -0
  91. package/styles/button-group/_layout.material.scss +4 -0
  92. package/styles/button-group/_layout.material3-dark.scss +4 -0
  93. package/styles/button-group/_layout.material3.scss +4 -0
  94. package/styles/button-group/_layout.scss +1 -1
  95. package/styles/button-group/_layout.tailwind-dark.scss +4 -0
  96. package/styles/button-group/_layout.tailwind.scss +4 -0
  97. package/styles/button-group/_layout.tailwind3.scss +4 -0
  98. package/styles/button-group/_theme-variables.bds.scss +1 -0
  99. package/styles/button-group/_theme-variables.bootstrap-dark.scss +1 -0
  100. package/styles/button-group/_theme-variables.bootstrap.scss +1 -0
  101. package/styles/button-group/_theme-variables.bootstrap4.scss +1 -0
  102. package/styles/button-group/_theme-variables.bootstrap5-dark.scss +1 -0
  103. package/styles/button-group/_theme-variables.bootstrap5.3.scss +1 -0
  104. package/styles/button-group/_theme-variables.bootstrap5.scss +1 -0
  105. package/styles/button-group/_theme-variables.fabric-dark.scss +1 -0
  106. package/styles/button-group/_theme-variables.fabric.scss +1 -0
  107. package/styles/button-group/_theme-variables.fluent-dark.scss +1 -0
  108. package/styles/button-group/_theme-variables.fluent.scss +1 -0
  109. package/styles/button-group/_theme-variables.fluent2.scss +1 -0
  110. package/styles/button-group/_theme-variables.highcontrast-light.scss +1 -0
  111. package/styles/button-group/_theme-variables.highcontrast.scss +1 -0
  112. package/styles/button-group/_theme-variables.material-dark.scss +1 -0
  113. package/styles/button-group/_theme-variables.material.scss +1 -0
  114. package/styles/button-group/_theme-variables.material3-dark.scss +1 -0
  115. package/styles/button-group/_theme-variables.material3.scss +1 -0
  116. package/styles/button-group/_theme-variables.tailwind-dark.scss +1 -0
  117. package/styles/button-group/_theme-variables.tailwind.scss +1 -0
  118. package/styles/button-group/_theme.bds.scss +6 -0
  119. package/styles/button-group/_theme.bootstrap-dark.scss +6 -0
  120. package/styles/button-group/_theme.bootstrap.scss +6 -0
  121. package/styles/button-group/_theme.bootstrap4.scss +6 -0
  122. package/styles/button-group/_theme.bootstrap5-dark.scss +6 -0
  123. package/styles/button-group/_theme.bootstrap5.3.scss +6 -0
  124. package/styles/button-group/_theme.bootstrap5.scss +6 -0
  125. package/styles/button-group/_theme.fabric-dark.scss +6 -0
  126. package/styles/button-group/_theme.fabric.scss +6 -0
  127. package/styles/button-group/_theme.fluent-dark.scss +6 -0
  128. package/styles/button-group/_theme.fluent.scss +6 -0
  129. package/styles/button-group/_theme.fluent2.scss +6 -0
  130. package/styles/button-group/_theme.highcontrast-light.scss +6 -0
  131. package/styles/button-group/_theme.highcontrast.scss +6 -0
  132. package/styles/button-group/_theme.material-dark.scss +6 -0
  133. package/styles/button-group/_theme.material.scss +6 -0
  134. package/styles/button-group/_theme.material3-dark.scss +6 -0
  135. package/styles/button-group/_theme.material3.scss +6 -0
  136. package/styles/button-group/_theme.scss +1 -3
  137. package/styles/button-group/_theme.tailwind-dark.scss +6 -0
  138. package/styles/button-group/_theme.tailwind.scss +6 -0
  139. package/styles/button-group/_theme.tailwind3.scss +6 -0
  140. package/styles/button-group/bds.css +189 -0
  141. package/styles/button-group/bds.scss +2 -2
  142. package/styles/button-group/bootstrap-dark.scss +2 -2
  143. package/styles/button-group/bootstrap.scss +2 -2
  144. package/styles/button-group/bootstrap4.scss +2 -2
  145. package/styles/button-group/bootstrap5-dark.scss +2 -2
  146. package/styles/button-group/bootstrap5.3.css +252 -0
  147. package/styles/button-group/bootstrap5.3.scss +2 -2
  148. package/styles/button-group/bootstrap5.scss +2 -2
  149. package/styles/button-group/fabric-dark.scss +2 -2
  150. package/styles/button-group/fabric.scss +2 -2
  151. package/styles/button-group/fluent-dark.scss +2 -2
  152. package/styles/button-group/fluent.scss +2 -2
  153. package/styles/button-group/fluent2.css +258 -0
  154. package/styles/button-group/fluent2.scss +2 -2
  155. package/styles/button-group/highcontrast-light.scss +2 -2
  156. package/styles/button-group/highcontrast.scss +2 -2
  157. package/styles/button-group/material-dark.scss +2 -2
  158. package/styles/button-group/material.scss +2 -2
  159. package/styles/button-group/material3-dark.css +246 -0
  160. package/styles/button-group/material3-dark.scss +2 -2
  161. package/styles/button-group/material3.css +252 -0
  162. package/styles/button-group/material3.scss +2 -2
  163. package/styles/button-group/tailwind-dark.scss +2 -2
  164. package/styles/button-group/tailwind.scss +2 -2
  165. package/styles/button-group/tailwind3.css +222 -0
  166. package/styles/button-group/tailwind3.scss +2 -2
  167. package/styles/drop-down-button/_all.bds.scss +2 -0
  168. package/styles/drop-down-button/_all.bootstrap-dark.scss +2 -0
  169. package/styles/drop-down-button/_all.bootstrap.scss +2 -0
  170. package/styles/drop-down-button/_all.bootstrap4.scss +2 -0
  171. package/styles/drop-down-button/_all.bootstrap5-dark.scss +2 -0
  172. package/styles/drop-down-button/_all.bootstrap5.3.scss +2 -0
  173. package/styles/drop-down-button/_all.bootstrap5.scss +2 -0
  174. package/styles/drop-down-button/_all.fabric-dark.scss +2 -0
  175. package/styles/drop-down-button/_all.fabric.scss +2 -0
  176. package/styles/drop-down-button/_all.fluent-dark.scss +2 -0
  177. package/styles/drop-down-button/_all.fluent.scss +2 -0
  178. package/styles/drop-down-button/_all.fluent2.scss +2 -0
  179. package/styles/drop-down-button/_all.highcontrast-light.scss +2 -0
  180. package/styles/drop-down-button/_all.highcontrast.scss +2 -0
  181. package/styles/drop-down-button/_all.material-dark.scss +2 -0
  182. package/styles/drop-down-button/_all.material.scss +2 -0
  183. package/styles/drop-down-button/_all.material3-dark.scss +2 -0
  184. package/styles/drop-down-button/_all.material3.scss +2 -0
  185. package/styles/drop-down-button/_all.tailwind-dark.scss +2 -0
  186. package/styles/drop-down-button/_all.tailwind.scss +2 -0
  187. package/styles/drop-down-button/_all.tailwind3.scss +2 -0
  188. package/styles/drop-down-button/_bigger.bds.scss +3 -0
  189. package/styles/drop-down-button/_bigger.bootstrap-dark.scss +3 -0
  190. package/styles/drop-down-button/_bigger.bootstrap.scss +3 -0
  191. package/styles/drop-down-button/_bigger.bootstrap4.scss +3 -0
  192. package/styles/drop-down-button/_bigger.bootstrap5-dark.scss +3 -0
  193. package/styles/drop-down-button/_bigger.bootstrap5.3.scss +3 -0
  194. package/styles/drop-down-button/_bigger.bootstrap5.scss +3 -0
  195. package/styles/drop-down-button/_bigger.fabric-dark.scss +3 -0
  196. package/styles/drop-down-button/_bigger.fabric.scss +3 -0
  197. package/styles/drop-down-button/_bigger.fluent-dark.scss +3 -0
  198. package/styles/drop-down-button/_bigger.fluent.scss +3 -0
  199. package/styles/drop-down-button/_bigger.fluent2.scss +3 -0
  200. package/styles/drop-down-button/_bigger.highcontrast-light.scss +3 -0
  201. package/styles/drop-down-button/_bigger.highcontrast.scss +3 -0
  202. package/styles/drop-down-button/_bigger.material-dark.scss +3 -0
  203. package/styles/drop-down-button/_bigger.material.scss +3 -0
  204. package/styles/drop-down-button/_bigger.material3-dark.scss +3 -0
  205. package/styles/drop-down-button/_bigger.material3.scss +3 -0
  206. package/styles/drop-down-button/_bigger.scss +1 -1
  207. package/styles/drop-down-button/_bigger.tailwind-dark.scss +3 -0
  208. package/styles/drop-down-button/_bigger.tailwind.scss +3 -0
  209. package/styles/drop-down-button/_bigger.tailwind3.scss +3 -0
  210. package/styles/drop-down-button/_layout.bds.scss +3 -0
  211. package/styles/drop-down-button/_layout.bootstrap-dark.scss +3 -0
  212. package/styles/drop-down-button/_layout.bootstrap.scss +3 -0
  213. package/styles/drop-down-button/_layout.bootstrap4.scss +3 -0
  214. package/styles/drop-down-button/_layout.bootstrap5-dark.scss +3 -0
  215. package/styles/drop-down-button/_layout.bootstrap5.3.scss +3 -0
  216. package/styles/drop-down-button/_layout.bootstrap5.scss +3 -0
  217. package/styles/drop-down-button/_layout.fabric-dark.scss +3 -0
  218. package/styles/drop-down-button/_layout.fabric.scss +3 -0
  219. package/styles/drop-down-button/_layout.fluent-dark.scss +3 -0
  220. package/styles/drop-down-button/_layout.fluent.scss +3 -0
  221. package/styles/drop-down-button/_layout.fluent2.scss +3 -0
  222. package/styles/drop-down-button/_layout.highcontrast-light.scss +3 -0
  223. package/styles/drop-down-button/_layout.highcontrast.scss +3 -0
  224. package/styles/drop-down-button/_layout.material-dark.scss +3 -0
  225. package/styles/drop-down-button/_layout.material.scss +3 -0
  226. package/styles/drop-down-button/_layout.material3-dark.scss +3 -0
  227. package/styles/drop-down-button/_layout.material3.scss +3 -0
  228. package/styles/drop-down-button/_layout.scss +1 -1
  229. package/styles/drop-down-button/_layout.tailwind-dark.scss +3 -0
  230. package/styles/drop-down-button/_layout.tailwind.scss +3 -0
  231. package/styles/drop-down-button/_layout.tailwind3.scss +3 -0
  232. package/styles/drop-down-button/_theme-variables.bds.scss +1 -0
  233. package/styles/drop-down-button/_theme-variables.bootstrap-dark.scss +1 -0
  234. package/styles/drop-down-button/_theme-variables.bootstrap.scss +1 -0
  235. package/styles/drop-down-button/_theme-variables.bootstrap4.scss +1 -0
  236. package/styles/drop-down-button/_theme-variables.bootstrap5-dark.scss +1 -0
  237. package/styles/drop-down-button/_theme-variables.bootstrap5.3.scss +1 -0
  238. package/styles/drop-down-button/_theme-variables.bootstrap5.scss +1 -0
  239. package/styles/drop-down-button/_theme-variables.fabric-dark.scss +1 -0
  240. package/styles/drop-down-button/_theme-variables.fabric.scss +1 -0
  241. package/styles/drop-down-button/_theme-variables.fluent-dark.scss +1 -0
  242. package/styles/drop-down-button/_theme-variables.fluent.scss +1 -0
  243. package/styles/drop-down-button/_theme-variables.fluent2.scss +1 -0
  244. package/styles/drop-down-button/_theme-variables.highcontrast-light.scss +1 -0
  245. package/styles/drop-down-button/_theme-variables.highcontrast.scss +1 -0
  246. package/styles/drop-down-button/_theme-variables.material-dark.scss +1 -0
  247. package/styles/drop-down-button/_theme-variables.material.scss +1 -0
  248. package/styles/drop-down-button/_theme-variables.material3-dark.scss +1 -0
  249. package/styles/drop-down-button/_theme-variables.material3.scss +1 -0
  250. package/styles/drop-down-button/_theme-variables.tailwind-dark.scss +1 -0
  251. package/styles/drop-down-button/_theme-variables.tailwind.scss +1 -0
  252. package/styles/drop-down-button/_theme.bds.scss +4 -0
  253. package/styles/drop-down-button/_theme.bootstrap-dark.scss +4 -0
  254. package/styles/drop-down-button/_theme.bootstrap.scss +4 -0
  255. package/styles/drop-down-button/_theme.bootstrap4.scss +4 -0
  256. package/styles/drop-down-button/_theme.bootstrap5-dark.scss +4 -0
  257. package/styles/drop-down-button/_theme.bootstrap5.3.scss +4 -0
  258. package/styles/drop-down-button/_theme.bootstrap5.scss +4 -0
  259. package/styles/drop-down-button/_theme.fabric-dark.scss +4 -0
  260. package/styles/drop-down-button/_theme.fabric.scss +4 -0
  261. package/styles/drop-down-button/_theme.fluent-dark.scss +4 -0
  262. package/styles/drop-down-button/_theme.fluent.scss +4 -0
  263. package/styles/drop-down-button/_theme.fluent2.scss +4 -0
  264. package/styles/drop-down-button/_theme.highcontrast-light.scss +4 -0
  265. package/styles/drop-down-button/_theme.highcontrast.scss +4 -0
  266. package/styles/drop-down-button/_theme.material-dark.scss +4 -0
  267. package/styles/drop-down-button/_theme.material.scss +4 -0
  268. package/styles/drop-down-button/_theme.material3-dark.scss +4 -0
  269. package/styles/drop-down-button/_theme.material3.scss +4 -0
  270. package/styles/drop-down-button/_theme.scss +1 -1
  271. package/styles/drop-down-button/_theme.tailwind-dark.scss +4 -0
  272. package/styles/drop-down-button/_theme.tailwind.scss +4 -0
  273. package/styles/drop-down-button/_theme.tailwind3.scss +4 -0
  274. package/styles/drop-down-button/bds.css +324 -0
  275. package/styles/drop-down-button/bds.scss +2 -2
  276. package/styles/drop-down-button/bootstrap-dark.scss +2 -2
  277. package/styles/drop-down-button/bootstrap.scss +2 -2
  278. package/styles/drop-down-button/bootstrap4.scss +2 -2
  279. package/styles/drop-down-button/bootstrap5-dark.scss +2 -2
  280. package/styles/drop-down-button/bootstrap5.3.css +252 -0
  281. package/styles/drop-down-button/bootstrap5.3.scss +2 -2
  282. package/styles/drop-down-button/bootstrap5.scss +2 -2
  283. package/styles/drop-down-button/fabric-dark.scss +2 -2
  284. package/styles/drop-down-button/fabric.scss +2 -2
  285. package/styles/drop-down-button/fluent-dark.scss +2 -2
  286. package/styles/drop-down-button/fluent.scss +2 -2
  287. package/styles/drop-down-button/fluent2.css +258 -0
  288. package/styles/drop-down-button/fluent2.scss +2 -2
  289. package/styles/drop-down-button/highcontrast-light.scss +2 -2
  290. package/styles/drop-down-button/highcontrast.scss +2 -2
  291. package/styles/drop-down-button/material-dark.scss +2 -2
  292. package/styles/drop-down-button/material.scss +2 -2
  293. package/styles/drop-down-button/material3-dark.css +246 -0
  294. package/styles/drop-down-button/material3-dark.scss +2 -2
  295. package/styles/drop-down-button/material3.css +252 -0
  296. package/styles/drop-down-button/material3.scss +2 -2
  297. package/styles/drop-down-button/tailwind-dark.scss +2 -2
  298. package/styles/drop-down-button/tailwind.scss +2 -2
  299. package/styles/drop-down-button/tailwind3.css +222 -0
  300. package/styles/drop-down-button/tailwind3.scss +2 -2
  301. package/styles/fabric-dark-lite.scss +4 -4
  302. package/styles/fabric-dark.scss +8 -8
  303. package/styles/fabric-lite.scss +4 -4
  304. package/styles/fabric.scss +8 -8
  305. package/styles/fluent-dark-lite.scss +4 -4
  306. package/styles/fluent-dark.scss +8 -8
  307. package/styles/fluent-lite.scss +4 -4
  308. package/styles/fluent.scss +8 -8
  309. package/styles/fluent2-lite.css +688 -0
  310. package/styles/fluent2-lite.scss +4 -4
  311. package/styles/fluent2.css +1079 -47
  312. package/styles/fluent2.scss +8 -8
  313. package/styles/highcontrast-light-lite.scss +4 -4
  314. package/styles/highcontrast-light.scss +8 -8
  315. package/styles/highcontrast-lite.scss +4 -4
  316. package/styles/highcontrast.scss +8 -8
  317. package/styles/material-dark-lite.scss +4 -4
  318. package/styles/material-dark.scss +8 -8
  319. package/styles/material-lite.scss +4 -4
  320. package/styles/material.scss +8 -8
  321. package/styles/material3-dark-lite.css +656 -0
  322. package/styles/material3-dark-lite.scss +4 -4
  323. package/styles/material3-dark.css +984 -0
  324. package/styles/material3-dark.scss +8 -8
  325. package/styles/material3-lite.css +672 -0
  326. package/styles/material3-lite.scss +4 -4
  327. package/styles/material3.css +1008 -0
  328. package/styles/material3.scss +8 -8
  329. package/styles/progress-button/_all.bds.scss +2 -0
  330. package/styles/progress-button/_all.bootstrap-dark.scss +2 -0
  331. package/styles/progress-button/_all.bootstrap.scss +2 -0
  332. package/styles/progress-button/_all.bootstrap4.scss +2 -0
  333. package/styles/progress-button/_all.bootstrap5-dark.scss +2 -0
  334. package/styles/progress-button/_all.bootstrap5.3.scss +2 -0
  335. package/styles/progress-button/_all.bootstrap5.scss +2 -0
  336. package/styles/progress-button/_all.fabric-dark.scss +2 -0
  337. package/styles/progress-button/_all.fabric.scss +2 -0
  338. package/styles/progress-button/_all.fluent-dark.scss +2 -0
  339. package/styles/progress-button/_all.fluent.scss +2 -0
  340. package/styles/progress-button/_all.fluent2.scss +2 -0
  341. package/styles/progress-button/_all.highcontrast-light.scss +2 -0
  342. package/styles/progress-button/_all.highcontrast.scss +2 -0
  343. package/styles/progress-button/_all.material-dark.scss +2 -0
  344. package/styles/progress-button/_all.material.scss +2 -0
  345. package/styles/progress-button/_all.material3-dark.scss +2 -0
  346. package/styles/progress-button/_all.material3.scss +2 -0
  347. package/styles/progress-button/_all.tailwind-dark.scss +2 -0
  348. package/styles/progress-button/_all.tailwind.scss +2 -0
  349. package/styles/progress-button/_all.tailwind3.scss +2 -0
  350. package/styles/progress-button/_bigger.bds.scss +3 -0
  351. package/styles/progress-button/_bigger.bootstrap-dark.scss +3 -0
  352. package/styles/progress-button/_bigger.bootstrap.scss +3 -0
  353. package/styles/progress-button/_bigger.bootstrap4.scss +3 -0
  354. package/styles/progress-button/_bigger.bootstrap5-dark.scss +3 -0
  355. package/styles/progress-button/_bigger.bootstrap5.3.scss +3 -0
  356. package/styles/progress-button/_bigger.bootstrap5.scss +3 -0
  357. package/styles/progress-button/_bigger.fabric-dark.scss +3 -0
  358. package/styles/progress-button/_bigger.fabric.scss +3 -0
  359. package/styles/progress-button/_bigger.fluent-dark.scss +3 -0
  360. package/styles/progress-button/_bigger.fluent.scss +3 -0
  361. package/styles/progress-button/_bigger.fluent2.scss +3 -0
  362. package/styles/progress-button/_bigger.highcontrast-light.scss +3 -0
  363. package/styles/progress-button/_bigger.highcontrast.scss +3 -0
  364. package/styles/progress-button/_bigger.material-dark.scss +3 -0
  365. package/styles/progress-button/_bigger.material.scss +3 -0
  366. package/styles/progress-button/_bigger.material3-dark.scss +3 -0
  367. package/styles/progress-button/_bigger.material3.scss +3 -0
  368. package/styles/progress-button/_bigger.scss +1 -1
  369. package/styles/progress-button/_bigger.tailwind-dark.scss +3 -0
  370. package/styles/progress-button/_bigger.tailwind.scss +3 -0
  371. package/styles/progress-button/_bigger.tailwind3.scss +3 -0
  372. package/styles/progress-button/_layout.bds.scss +3 -0
  373. package/styles/progress-button/_layout.bootstrap-dark.scss +3 -0
  374. package/styles/progress-button/_layout.bootstrap.scss +3 -0
  375. package/styles/progress-button/_layout.bootstrap4.scss +3 -0
  376. package/styles/progress-button/_layout.bootstrap5-dark.scss +3 -0
  377. package/styles/progress-button/_layout.bootstrap5.3.scss +3 -0
  378. package/styles/progress-button/_layout.bootstrap5.scss +3 -0
  379. package/styles/progress-button/_layout.fabric-dark.scss +3 -0
  380. package/styles/progress-button/_layout.fabric.scss +3 -0
  381. package/styles/progress-button/_layout.fluent-dark.scss +3 -0
  382. package/styles/progress-button/_layout.fluent.scss +3 -0
  383. package/styles/progress-button/_layout.fluent2.scss +3 -0
  384. package/styles/progress-button/_layout.highcontrast-light.scss +3 -0
  385. package/styles/progress-button/_layout.highcontrast.scss +3 -0
  386. package/styles/progress-button/_layout.material-dark.scss +3 -0
  387. package/styles/progress-button/_layout.material.scss +3 -0
  388. package/styles/progress-button/_layout.material3-dark.scss +3 -0
  389. package/styles/progress-button/_layout.material3.scss +3 -0
  390. package/styles/progress-button/_layout.scss +0 -1
  391. package/styles/progress-button/_layout.tailwind-dark.scss +3 -0
  392. package/styles/progress-button/_layout.tailwind.scss +3 -0
  393. package/styles/progress-button/_layout.tailwind3.scss +3 -0
  394. package/styles/progress-button/_theme-variables.bds.scss +1 -0
  395. package/styles/progress-button/_theme-variables.bootstrap-dark.scss +1 -0
  396. package/styles/progress-button/_theme-variables.bootstrap.scss +1 -0
  397. package/styles/progress-button/_theme-variables.bootstrap4.scss +1 -0
  398. package/styles/progress-button/_theme-variables.bootstrap5-dark.scss +1 -0
  399. package/styles/progress-button/_theme-variables.bootstrap5.3.scss +1 -0
  400. package/styles/progress-button/_theme-variables.bootstrap5.scss +1 -0
  401. package/styles/progress-button/_theme-variables.fabric-dark.scss +1 -0
  402. package/styles/progress-button/_theme-variables.fabric.scss +1 -0
  403. package/styles/progress-button/_theme-variables.fluent-dark.scss +1 -0
  404. package/styles/progress-button/_theme-variables.fluent.scss +1 -0
  405. package/styles/progress-button/_theme-variables.fluent2.scss +1 -0
  406. package/styles/progress-button/_theme-variables.highcontrast-light.scss +1 -0
  407. package/styles/progress-button/_theme-variables.highcontrast.scss +1 -0
  408. package/styles/progress-button/_theme-variables.material-dark.scss +1 -0
  409. package/styles/progress-button/_theme-variables.material.scss +1 -0
  410. package/styles/progress-button/_theme-variables.material3-dark.scss +1 -0
  411. package/styles/progress-button/_theme-variables.material3.scss +1 -0
  412. package/styles/progress-button/_theme-variables.tailwind-dark.scss +1 -0
  413. package/styles/progress-button/_theme-variables.tailwind.scss +1 -0
  414. package/styles/progress-button/_theme.bds.scss +4 -0
  415. package/styles/progress-button/_theme.bootstrap-dark.scss +4 -0
  416. package/styles/progress-button/_theme.bootstrap.scss +4 -0
  417. package/styles/progress-button/_theme.bootstrap4.scss +4 -0
  418. package/styles/progress-button/_theme.bootstrap5-dark.scss +4 -0
  419. package/styles/progress-button/_theme.bootstrap5.3.scss +4 -0
  420. package/styles/progress-button/_theme.bootstrap5.scss +4 -0
  421. package/styles/progress-button/_theme.fabric-dark.scss +4 -0
  422. package/styles/progress-button/_theme.fabric.scss +4 -0
  423. package/styles/progress-button/_theme.fluent-dark.scss +4 -0
  424. package/styles/progress-button/_theme.fluent.scss +4 -0
  425. package/styles/progress-button/_theme.fluent2.scss +4 -0
  426. package/styles/progress-button/_theme.highcontrast-light.scss +4 -0
  427. package/styles/progress-button/_theme.highcontrast.scss +4 -0
  428. package/styles/progress-button/_theme.material-dark.scss +4 -0
  429. package/styles/progress-button/_theme.material.scss +4 -0
  430. package/styles/progress-button/_theme.material3-dark.scss +4 -0
  431. package/styles/progress-button/_theme.material3.scss +4 -0
  432. package/styles/progress-button/_theme.scss +0 -1
  433. package/styles/progress-button/_theme.tailwind-dark.scss +4 -0
  434. package/styles/progress-button/_theme.tailwind.scss +4 -0
  435. package/styles/progress-button/_theme.tailwind3.scss +4 -0
  436. package/styles/progress-button/bds.css +189 -0
  437. package/styles/progress-button/bds.scss +2 -2
  438. package/styles/progress-button/bootstrap-dark.scss +2 -2
  439. package/styles/progress-button/bootstrap.scss +2 -2
  440. package/styles/progress-button/bootstrap4.scss +2 -2
  441. package/styles/progress-button/bootstrap5-dark.scss +2 -2
  442. package/styles/progress-button/bootstrap5.3.css +252 -0
  443. package/styles/progress-button/bootstrap5.3.scss +2 -2
  444. package/styles/progress-button/bootstrap5.scss +2 -2
  445. package/styles/progress-button/fabric-dark.scss +2 -2
  446. package/styles/progress-button/fabric.scss +2 -2
  447. package/styles/progress-button/fluent-dark.scss +2 -2
  448. package/styles/progress-button/fluent.scss +2 -2
  449. package/styles/progress-button/fluent2.css +258 -0
  450. package/styles/progress-button/fluent2.scss +2 -2
  451. package/styles/progress-button/highcontrast-light.scss +2 -2
  452. package/styles/progress-button/highcontrast.scss +2 -2
  453. package/styles/progress-button/material-dark.scss +2 -2
  454. package/styles/progress-button/material.scss +2 -2
  455. package/styles/progress-button/material3-dark.css +246 -0
  456. package/styles/progress-button/material3-dark.scss +2 -2
  457. package/styles/progress-button/material3.css +252 -0
  458. package/styles/progress-button/material3.scss +2 -2
  459. package/styles/progress-button/tailwind-dark.scss +2 -2
  460. package/styles/progress-button/tailwind.scss +2 -2
  461. package/styles/progress-button/tailwind3.css +222 -0
  462. package/styles/progress-button/tailwind3.scss +2 -2
  463. package/styles/split-button/_all.bds.scss +2 -0
  464. package/styles/split-button/_all.bootstrap-dark.scss +2 -0
  465. package/styles/split-button/_all.bootstrap.scss +2 -0
  466. package/styles/split-button/_all.bootstrap4.scss +2 -0
  467. package/styles/split-button/_all.bootstrap5-dark.scss +2 -0
  468. package/styles/split-button/_all.bootstrap5.3.scss +2 -0
  469. package/styles/split-button/_all.bootstrap5.scss +2 -0
  470. package/styles/split-button/_all.fabric-dark.scss +2 -0
  471. package/styles/split-button/_all.fabric.scss +2 -0
  472. package/styles/split-button/_all.fluent-dark.scss +2 -0
  473. package/styles/split-button/_all.fluent.scss +2 -0
  474. package/styles/split-button/_all.fluent2.scss +2 -0
  475. package/styles/split-button/_all.highcontrast-light.scss +2 -0
  476. package/styles/split-button/_all.highcontrast.scss +2 -0
  477. package/styles/split-button/_all.material-dark.scss +2 -0
  478. package/styles/split-button/_all.material.scss +2 -0
  479. package/styles/split-button/_all.material3-dark.scss +2 -0
  480. package/styles/split-button/_all.material3.scss +2 -0
  481. package/styles/split-button/_all.tailwind-dark.scss +2 -0
  482. package/styles/split-button/_all.tailwind.scss +2 -0
  483. package/styles/split-button/_all.tailwind3.scss +2 -0
  484. package/styles/split-button/_bigger.bds.scss +3 -0
  485. package/styles/split-button/_bigger.bootstrap-dark.scss +3 -0
  486. package/styles/split-button/_bigger.bootstrap.scss +3 -0
  487. package/styles/split-button/_bigger.bootstrap4.scss +3 -0
  488. package/styles/split-button/_bigger.bootstrap5-dark.scss +3 -0
  489. package/styles/split-button/_bigger.bootstrap5.3.scss +3 -0
  490. package/styles/split-button/_bigger.bootstrap5.scss +3 -0
  491. package/styles/split-button/_bigger.fabric-dark.scss +3 -0
  492. package/styles/split-button/_bigger.fabric.scss +3 -0
  493. package/styles/split-button/_bigger.fluent-dark.scss +3 -0
  494. package/styles/split-button/_bigger.fluent.scss +3 -0
  495. package/styles/split-button/_bigger.fluent2.scss +3 -0
  496. package/styles/split-button/_bigger.highcontrast-light.scss +3 -0
  497. package/styles/split-button/_bigger.highcontrast.scss +3 -0
  498. package/styles/split-button/_bigger.material-dark.scss +3 -0
  499. package/styles/split-button/_bigger.material.scss +3 -0
  500. package/styles/split-button/_bigger.material3-dark.scss +3 -0
  501. package/styles/split-button/_bigger.material3.scss +3 -0
  502. package/styles/split-button/_bigger.scss +1 -1
  503. package/styles/split-button/_bigger.tailwind-dark.scss +3 -0
  504. package/styles/split-button/_bigger.tailwind.scss +3 -0
  505. package/styles/split-button/_bigger.tailwind3.scss +3 -0
  506. package/styles/split-button/_layout.bds.scss +3 -0
  507. package/styles/split-button/_layout.bootstrap-dark.scss +3 -0
  508. package/styles/split-button/_layout.bootstrap.scss +3 -0
  509. package/styles/split-button/_layout.bootstrap4.scss +3 -0
  510. package/styles/split-button/_layout.bootstrap5-dark.scss +3 -0
  511. package/styles/split-button/_layout.bootstrap5.3.scss +3 -0
  512. package/styles/split-button/_layout.bootstrap5.scss +3 -0
  513. package/styles/split-button/_layout.fabric-dark.scss +3 -0
  514. package/styles/split-button/_layout.fabric.scss +3 -0
  515. package/styles/split-button/_layout.fluent-dark.scss +3 -0
  516. package/styles/split-button/_layout.fluent.scss +3 -0
  517. package/styles/split-button/_layout.fluent2.scss +3 -0
  518. package/styles/split-button/_layout.highcontrast-light.scss +3 -0
  519. package/styles/split-button/_layout.highcontrast.scss +3 -0
  520. package/styles/split-button/_layout.material-dark.scss +3 -0
  521. package/styles/split-button/_layout.material.scss +3 -0
  522. package/styles/split-button/_layout.material3-dark.scss +3 -0
  523. package/styles/split-button/_layout.material3.scss +3 -0
  524. package/styles/split-button/_layout.scss +1 -1
  525. package/styles/split-button/_layout.tailwind-dark.scss +3 -0
  526. package/styles/split-button/_layout.tailwind.scss +3 -0
  527. package/styles/split-button/_layout.tailwind3.scss +3 -0
  528. package/styles/split-button/_theme-variables.bds.scss +1 -0
  529. package/styles/split-button/_theme-variables.bootstrap-dark.scss +1 -0
  530. package/styles/split-button/_theme-variables.bootstrap.scss +1 -0
  531. package/styles/split-button/_theme-variables.bootstrap4.scss +1 -0
  532. package/styles/split-button/_theme-variables.bootstrap5-dark.scss +1 -0
  533. package/styles/split-button/_theme-variables.bootstrap5.3.scss +1 -0
  534. package/styles/split-button/_theme-variables.bootstrap5.scss +1 -0
  535. package/styles/split-button/_theme-variables.fabric-dark.scss +1 -0
  536. package/styles/split-button/_theme-variables.fabric.scss +1 -0
  537. package/styles/split-button/_theme-variables.fluent-dark.scss +1 -0
  538. package/styles/split-button/_theme-variables.fluent.scss +1 -0
  539. package/styles/split-button/_theme-variables.fluent2.scss +1 -0
  540. package/styles/split-button/_theme-variables.highcontrast-light.scss +1 -0
  541. package/styles/split-button/_theme-variables.highcontrast.scss +1 -0
  542. package/styles/split-button/_theme-variables.material-dark.scss +1 -0
  543. package/styles/split-button/_theme-variables.material.scss +1 -0
  544. package/styles/split-button/_theme-variables.material3-dark.scss +1 -0
  545. package/styles/split-button/_theme-variables.material3.scss +1 -0
  546. package/styles/split-button/_theme-variables.tailwind-dark.scss +1 -0
  547. package/styles/split-button/_theme-variables.tailwind.scss +1 -0
  548. package/styles/split-button/_theme.bds.scss +4 -0
  549. package/styles/split-button/_theme.bootstrap-dark.scss +4 -0
  550. package/styles/split-button/_theme.bootstrap.scss +4 -0
  551. package/styles/split-button/_theme.bootstrap4.scss +4 -0
  552. package/styles/split-button/_theme.bootstrap5-dark.scss +4 -0
  553. package/styles/split-button/_theme.bootstrap5.3.scss +4 -0
  554. package/styles/split-button/_theme.bootstrap5.scss +4 -0
  555. package/styles/split-button/_theme.fabric-dark.scss +4 -0
  556. package/styles/split-button/_theme.fabric.scss +4 -0
  557. package/styles/split-button/_theme.fluent-dark.scss +4 -0
  558. package/styles/split-button/_theme.fluent.scss +4 -0
  559. package/styles/split-button/_theme.fluent2.scss +4 -0
  560. package/styles/split-button/_theme.highcontrast-light.scss +4 -0
  561. package/styles/split-button/_theme.highcontrast.scss +4 -0
  562. package/styles/split-button/_theme.material-dark.scss +4 -0
  563. package/styles/split-button/_theme.material.scss +4 -0
  564. package/styles/split-button/_theme.material3-dark.scss +4 -0
  565. package/styles/split-button/_theme.material3.scss +4 -0
  566. package/styles/split-button/_theme.scss +1 -1
  567. package/styles/split-button/_theme.tailwind-dark.scss +4 -0
  568. package/styles/split-button/_theme.tailwind.scss +4 -0
  569. package/styles/split-button/_theme.tailwind3.scss +4 -0
  570. package/styles/split-button/bds.css +324 -0
  571. package/styles/split-button/bds.scss +2 -2
  572. package/styles/split-button/bootstrap-dark.scss +2 -2
  573. package/styles/split-button/bootstrap.scss +2 -2
  574. package/styles/split-button/bootstrap4.scss +2 -2
  575. package/styles/split-button/bootstrap5-dark.scss +2 -2
  576. package/styles/split-button/bootstrap5.3.css +252 -0
  577. package/styles/split-button/bootstrap5.3.scss +2 -2
  578. package/styles/split-button/bootstrap5.scss +2 -2
  579. package/styles/split-button/fabric-dark.scss +2 -2
  580. package/styles/split-button/fabric.scss +2 -2
  581. package/styles/split-button/fluent-dark.scss +2 -2
  582. package/styles/split-button/fluent.scss +2 -2
  583. package/styles/split-button/fluent2.css +258 -0
  584. package/styles/split-button/fluent2.scss +2 -2
  585. package/styles/split-button/highcontrast-light.scss +2 -2
  586. package/styles/split-button/highcontrast.scss +2 -2
  587. package/styles/split-button/material-dark.scss +2 -2
  588. package/styles/split-button/material.scss +2 -2
  589. package/styles/split-button/material3-dark.css +246 -0
  590. package/styles/split-button/material3-dark.scss +2 -2
  591. package/styles/split-button/material3.css +252 -0
  592. package/styles/split-button/material3.scss +2 -2
  593. package/styles/split-button/tailwind-dark.scss +2 -2
  594. package/styles/split-button/tailwind.scss +2 -2
  595. package/styles/split-button/tailwind3.css +222 -0
  596. package/styles/split-button/tailwind3.scss +2 -2
  597. package/styles/tailwind-dark-lite.scss +4 -4
  598. package/styles/tailwind-dark.scss +8 -8
  599. package/styles/tailwind-lite.scss +4 -4
  600. package/styles/tailwind.scss +8 -8
  601. package/styles/tailwind3-lite.css +592 -0
  602. package/styles/tailwind3-lite.scss +4 -4
  603. package/styles/tailwind3.css +888 -0
  604. package/styles/tailwind3.scss +8 -8
  605. /package/styles/button-group/{_theme-variables.scss → _theme-variables.tailwind3.scss} +0 -0
  606. /package/styles/drop-down-button/{_theme-variables.scss → _theme-variables.tailwind3.scss} +0 -0
  607. /package/styles/progress-button/{_theme-variables.scss → _theme-variables.tailwind3.scss} +0 -0
  608. /package/styles/split-button/{_theme-variables.scss → _theme-variables.tailwind3.scss} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ej2-splitbuttons.umd.min.js","sources":["../src/common/common.js","../src/drop-down-button/drop-down-button.js","../src/split-button/split-button.js","../src/progress-button/progress-button.js","../src/button-group/button-group.js"],"sourcesContent":["var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n 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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ChildProperty, extend, deleteObject, Property, addClass, isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * @param {Object} props - Specifies the properties\n * @param {string[]} model - Specifies the model\n * @returns {Object} Component Model\n */\nexport function getModel(props, model) {\n var obj = extend({}, props);\n for (var _i = 0, _a = Object.keys(obj); _i < _a.length; _i++) {\n var prop = _a[_i];\n if ((model).indexOf(prop) < 0) {\n deleteObject(obj, prop);\n }\n }\n return obj;\n}\n/** @hidden\n * @param {HTMLElement} ul - Specifies the UL element\n * @param {number} keyCode - Specifies the keycode\n * @returns {void}\n */\nexport function upDownKeyHandler(ul, keyCode) {\n var defaultIdx = keyCode === 40 ? 0 : ul.childElementCount - 1;\n var liIdx = defaultIdx;\n var li;\n var selectedLi = ul.querySelector('.e-selected');\n if (selectedLi) {\n selectedLi.classList.remove('e-selected');\n }\n for (var i = 0, len = ul.children.length; i < len; i++) {\n if (ul.children[i].classList.contains('e-focused')) {\n li = ul.children[i];\n liIdx = i;\n li.classList.remove('e-focused');\n if (keyCode === 40) {\n liIdx++;\n }\n else {\n liIdx--;\n }\n if (liIdx === (keyCode === 40 ? ul.childElementCount : -1)) {\n liIdx = defaultIdx;\n }\n }\n }\n li = ul.children[liIdx];\n liIdx = isValidLI(ul, li, liIdx, keyCode);\n if (liIdx !== -1) {\n addClass([ul.children[liIdx]], 'e-focused');\n ul.children[liIdx].focus();\n }\n}\n/**\n * Get Valid LI element\n *\n * @param {HTMLElement} ul - Specifies the UL element\n * @param {Element} li - Specifies the LI element\n * @param {number} index - Specifies the index\n * @param {number} keyCode - Specifies the keycode\n * @param {number} count - Specifies the count\n * @returns {number} - Index\n */\nfunction isValidLI(ul, li, index, keyCode, count) {\n if (count === void 0) { count = 0; }\n if (li.classList.contains('e-separator') || li.classList.contains('e-disabled')) {\n if (index === (keyCode === 40 ? ul.childElementCount - 1 : 0)) {\n index = keyCode === 40 ? 0 : ul.childElementCount - 1;\n }\n else {\n if (keyCode === 40) {\n index++;\n }\n else {\n index--;\n }\n }\n }\n li = ul.children[index];\n if (li.classList.contains('e-separator') || li.classList.contains('e-disabled')) {\n count++;\n if (count === ul.childElementCount) {\n return index = -1;\n }\n index = isValidLI(ul, li, index, keyCode, count);\n }\n return index;\n}\n/** @hidden\n * @param {HTMLElement} popup - Specifies the popup element.\n * @param {boolean} blankIcon - Specifies the blankIcon value.\n * @returns {void}\n */\nexport function setBlankIconStyle(popup, blankIcon) {\n var blankIconList = [].slice.call(popup.getElementsByClassName('e-blank-icon'));\n if (blankIcon) {\n var menuItem = [].slice.call(popup.getElementsByClassName('e-item'));\n menuItem.forEach(function (li) {\n if (li.style.paddingLeft || li.style.paddingRight) {\n li.removeAttribute('style');\n }\n });\n }\n if (!blankIconList.length) {\n return;\n }\n var iconLi = popup.querySelector('.e-item:not(.e-blank-icon):not(.e-separator)');\n if (isNullOrUndefined(iconLi)) {\n return;\n }\n if (iconLi.classList.contains('e-url')) {\n iconLi = iconLi.querySelector('.e-menu-url');\n }\n var icon = iconLi.querySelector('.e-menu-icon');\n var cssProp;\n var enableRtl = popup.classList.contains('e-rtl');\n if (enableRtl) {\n cssProp = { padding: 'paddingRight', margin: 'marginLeft' };\n }\n else {\n cssProp = { padding: 'paddingLeft', margin: 'marginRight' };\n }\n /* eslint-disable */\n var size = parseInt(getComputedStyle(icon).fontSize, 10) + parseInt((enableRtl ? getComputedStyle(icon)[cssProp.margin] : getComputedStyle(icon)[cssProp.margin]), 10)\n + parseInt(getComputedStyle(iconLi).paddingLeft, 10) + \"px\";\n blankIconList.forEach(function (li) {\n if (li.classList.contains('e-url') && li.querySelector('.e-menu-url')) {\n li.querySelector('.e-menu-url').style[cssProp.padding] = size;\n }\n else {\n li.style[cssProp.padding] = size;\n }\n });\n /* eslint-enable */\n}\n/**\n * Defines the items of Split Button/DropDownButton.\n */\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n Property('')\n ], Item.prototype, \"iconCss\", void 0);\n __decorate([\n Property('')\n ], Item.prototype, \"id\", void 0);\n __decorate([\n Property(false)\n ], Item.prototype, \"separator\", void 0);\n __decorate([\n Property('')\n ], Item.prototype, \"text\", void 0);\n __decorate([\n Property('')\n ], Item.prototype, \"url\", void 0);\n __decorate([\n Property(false)\n ], Item.prototype, \"disabled\", void 0);\n return Item;\n}(ChildProperty));\nexport { Item };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n 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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Collection, Event, NotifyPropertyChanges, detach, Property, EventHandler, isRippleEnabled, isNullOrUndefined, append, formatUnit, Animation } from '@syncfusion/ej2-base';\nimport { addClass, getUniqueID, rippleEffect, getComponent, ChildProperty, Complex } from '@syncfusion/ej2-base';\nimport { attributes, Component, closest, select, SanitizeHtmlHelper } from '@syncfusion/ej2-base';\nimport { classList, removeClass, compile } from '@syncfusion/ej2-base';\nimport { Button } from '@syncfusion/ej2-buttons';\nimport { Popup } from '@syncfusion/ej2-popups';\nimport { upDownKeyHandler } from './../common/common';\nimport { getModel, Item, setBlankIconStyle } from './../common/common';\nvar classNames = {\n DISABLED: 'e-disabled',\n FOCUS: 'e-focused',\n ICON: 'e-menu-icon',\n ITEM: 'e-item',\n POPUP: 'e-dropdown-popup',\n RTL: 'e-rtl',\n SEPARATOR: 'e-separator',\n VERTICAL: 'e-vertical',\n POPUPWIDTH: 'e-dropdown-popup-width'\n};\n/**\n * Animation configuration settings.\n */\nvar DropDownMenuAnimationSettings = /** @class */ (function (_super) {\n __extends(DropDownMenuAnimationSettings, _super);\n function DropDownMenuAnimationSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n Property('SlideDown')\n ], DropDownMenuAnimationSettings.prototype, \"effect\", void 0);\n __decorate([\n Property(400)\n ], DropDownMenuAnimationSettings.prototype, \"duration\", void 0);\n __decorate([\n Property('ease')\n ], DropDownMenuAnimationSettings.prototype, \"easing\", void 0);\n return DropDownMenuAnimationSettings;\n}(ChildProperty));\nexport { DropDownMenuAnimationSettings };\n/**\n * DropDownButton component is used to toggle contextual overlays for displaying list of action items.\n * It can contain both text and images.\n * ```html\n * <button id=\"element\">DropDownButton</button>\n * ```\n * ```typescript\n * <script>\n * var dropDownButtonObj = new DropDownButton({items: [{ text: 'Action1' }, { text: 'Action2' },{ text: 'Action3' }]);\n * dropDownButtonObj.appendTo(\"#element\");\n * </script>\n * ```\n */\nvar DropDownButton = /** @class */ (function (_super) {\n __extends(DropDownButton, _super);\n /**\n * Constructor for creating the widget\n *\n * @param {DropDownButtonModel} options - Specifies dropdown button model\n * @param {string|HTMLButtonElement} element - Specifies element\n * @hidden\n */\n function DropDownButton(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.isPopupCreated = true;\n return _this;\n }\n DropDownButton.prototype.preRender = function () {\n /** */\n };\n /**\n * Get the properties to be maintained in the persisted state.\n *\n * @returns {string} - Persist data\n */\n DropDownButton.prototype.getPersistData = function () {\n return this.addOnPersist([]);\n };\n /**\n * To open/close DropDownButton popup based on current state of the DropDownButton.\n *\n * @returns {void}\n */\n DropDownButton.prototype.toggle = function () {\n if (this.canOpen()) {\n this.openPopUp();\n }\n else if (this.createPopupOnClick && !this.isPopupCreated) {\n this.createPopup();\n this.openPopUp();\n }\n else {\n this.closePopup();\n }\n };\n /**\n * Initialize the Component rendering\n *\n * @returns {void}\n * @private\n */\n DropDownButton.prototype.render = function () {\n this.initialize();\n if (!this.disabled) {\n this.wireEvents();\n }\n this.renderComplete();\n };\n /**\n * Adds a new item to the menu. By default, new item appends to the list as the last item,\n * but you can insert based on the text parameter.\n *\n * @param { ItemModel[] } items - Specifies an array of JSON data.\n * @param { string } text - Specifies the text to insert the newly added item in the menu.\n * @returns {void}.\n */\n DropDownButton.prototype.addItems = function (items, text) {\n var newItem;\n var idx = this.items.length;\n for (var j = 0, len = this.items.length; j < len; j++) {\n if (text === this.items[j].text) {\n idx = j;\n break;\n }\n }\n for (var i = items.length - 1; i >= 0; i--) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n newItem = new Item(this, 'items', items[i], true);\n this.items.splice(idx, 0, newItem);\n }\n if (!this.canOpen()) {\n this.createItems();\n }\n };\n /**\n * Removes the items from the menu.\n *\n * @param { string[] } items - Specifies an array of string to remove the items.\n * @param { string } isUniqueId - Set `true` if specified items is a collection of unique id.\n * @returns {void}.\n */\n DropDownButton.prototype.removeItems = function (items, isUniqueId) {\n var refresh = false;\n for (var i = 0, len = items.length; i < len; i++) {\n for (var j = 0, len_1 = this.items.length; j < len_1; j++) {\n if (items[i] === (isUniqueId ? this.items[j].id : this.items[j].text)) {\n this.items.splice(j, 1);\n refresh = true;\n break;\n }\n }\n }\n if (refresh && this.getULElement()) {\n this.createItems();\n }\n };\n DropDownButton.prototype.createPopup = function () {\n var _a;\n var div = this.createElement('div', {\n className: this.popupWidth !== 'auto' ? classNames.POPUP + \" \" + classNames.POPUPWIDTH : classNames.POPUP,\n id: this.element.id + '-popup'\n });\n document.body.appendChild(div);\n this.dropDown = new Popup(div, {\n width: this.popupWidth,\n relateTo: this.element,\n collision: { X: 'fit', Y: 'flip' },\n position: { X: 'left', Y: 'bottom' },\n targetType: 'relative',\n content: this.target ? this.getTargetElement() : '',\n enableRtl: this.enableRtl\n });\n this.dropDown.element.setAttribute('role', 'dialog');\n this.dropDown.element.setAttribute('aria-label', 'dropdown menu');\n if (!isNullOrUndefined(this.popupContent)) {\n this.popupContent.style.display = '';\n }\n if (this.dropDown.element.style.position === 'fixed') {\n this.dropDown.refreshPosition(this.element);\n }\n this.dropDown.hide();\n attributes(this.element, (_a = {},\n _a['aria-haspopup'] = this.items.length || this.target ? 'true' : 'false',\n _a['aria-expanded'] = 'false',\n _a['type'] = 'button',\n _a));\n if (this.cssClass) {\n addClass([div], this.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n this.isPopupCreated = true;\n if (this.createPopupOnClick) {\n var splitButton = getComponent(this.activeElem[0], 'split-btn');\n if (splitButton) {\n splitButton.isPopupCreated = true;\n }\n }\n };\n DropDownButton.prototype.getTargetElement = function () {\n if (this.createPopupOnClick && !this.isColorPicker() && !isNullOrUndefined(this.popupContent)) {\n return this.popupContent;\n }\n return typeof (this.target) === 'string' ? select(this.target) : this.target;\n };\n DropDownButton.prototype.createItems = function (appendItems) {\n var _this = this;\n var items = this.items;\n var showIcon = this.hasIcon(this.items, 'iconCss');\n var span;\n var item;\n var li;\n var eventArgs;\n var ul = this.getULElement();\n if (ul) {\n ul.innerHTML = '';\n }\n else {\n ul = this.createElement('ul', {\n attrs: { 'role': 'menu', 'tabindex': '0' }\n });\n }\n if (this.itemTemplate) {\n var compiledTemplate_1 = this.compiletemplate(this.itemTemplate);\n items.forEach(function (item) {\n var li = _this.createElement('li', {\n className: item.separator ? classNames.ITEM + ' ' + classNames.SEPARATOR : classNames.ITEM,\n attrs: item.separator\n ? { 'role': 'separator', 'tabindex': '-1', 'aria-label': 'separator', 'aria-hidden': 'true' }\n : { 'role': 'menuitem', 'tabindex': '-1', 'aria-label': item.text },\n id: item.id ? item.id : getUniqueID('e-' + _this.getModuleName() + '-item')\n });\n var compiledElement = compiledTemplate_1(item, _this, 'template', null, false, null, li);\n if (compiledElement) {\n append(compiledElement, li);\n }\n if (item.disabled) {\n li.classList.add('e-disabled');\n }\n var eventArgs = { item: item, element: li };\n _this.trigger('beforeItemRender', eventArgs);\n if (eventArgs.item.disabled !== item.disabled) {\n li.classList[eventArgs.item.disabled ? 'add' : 'remove']('e-disabled');\n }\n ul.appendChild(li);\n });\n if (this.isReact) {\n this.renderReactTemplates();\n }\n }\n else {\n for (var i = 0; i < items.length; i++) {\n item = items[i];\n if (this.enableHtmlSanitizer) {\n item.text = SanitizeHtmlHelper.sanitize(item.text);\n }\n var tempItem = item.text;\n li = this.createElement('li', {\n innerHTML: item.url ? '' : tempItem,\n className: item.separator ? classNames.ITEM + ' ' + classNames.SEPARATOR : classNames.ITEM,\n attrs: item.separator ? { 'role': 'separator', 'tabindex': '-1', 'aria-label': 'separator', 'aria-hidden': 'true' } : { 'role': 'menuitem', 'tabindex': '-1', 'aria-label': tempItem },\n id: item.id ? item.id : getUniqueID('e-' + this.getModuleName() + '-item')\n });\n if (this.enableHtmlSanitizer) {\n li.textContent = item.url ? '' : tempItem;\n }\n else {\n li.innerHTML = item.url ? '' : tempItem;\n }\n if (item.url) {\n li.appendChild(this.createAnchor(item));\n li.classList.add('e-url');\n }\n if (item.iconCss) {\n span = this.createElement('span', { className: classNames.ICON + ' ' + item.iconCss });\n if (item.url) {\n li.childNodes[0].appendChild(span);\n }\n else {\n li.insertBefore(span, li.childNodes[0]);\n }\n }\n else {\n if (showIcon && !item.separator) {\n li.classList.add('e-blank-icon');\n }\n }\n var beforeDisabled = item.disabled;\n if (item.disabled) {\n li.classList.add('e-disabled');\n }\n eventArgs = { item: item, element: li };\n this.trigger('beforeItemRender', eventArgs);\n var afterDisabled = eventArgs.item.disabled;\n if (beforeDisabled !== afterDisabled) {\n if (eventArgs.item.disabled) {\n li.classList.add('e-disabled');\n }\n else {\n li.classList.remove('e-disabled');\n }\n }\n ul.appendChild(li);\n }\n }\n if (appendItems) {\n this.getPopUpElement().appendChild(ul);\n }\n if (showIcon) {\n setBlankIconStyle(this.getPopUpElement());\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n DropDownButton.prototype.compiletemplate = function (template) {\n if (!this.itemTemplate) {\n return undefined;\n }\n try {\n if (typeof this.itemTemplate !== 'function') {\n var templateElement = document.querySelector(this.itemTemplate);\n if (templateElement) {\n return compile(templateElement.innerHTML.trim());\n }\n }\n return compile(template);\n }\n catch (_a) {\n return compile(template);\n }\n };\n DropDownButton.prototype.hasIcon = function (items, field) {\n for (var i = 0, len = items.length; i < len; i++) {\n if (items[i][\"\" + field]) {\n return true;\n }\n }\n return false;\n };\n DropDownButton.prototype.createAnchor = function (item) {\n var tempItem = item.text;\n var anchor = this.createElement('a', { className: 'e-menu-text e-menu-url', attrs: { 'href': item.url } });\n if (this.enableHtmlSanitizer) {\n anchor.textContent = tempItem;\n }\n else {\n anchor.innerHTML = tempItem;\n }\n return anchor;\n };\n DropDownButton.prototype.initialize = function () {\n this.button = new Button({\n iconCss: this.iconCss, iconPosition: this.iconPosition, cssClass: this.cssClass, content: this.content,\n disabled: this.disabled, enableRtl: this.enableRtl, enablePersistence: this.enablePersistence\n });\n this.button.createElement = this.createElement;\n this.button.appendTo(this.element);\n if (!this.element.id) {\n this.element.id = getUniqueID('e-' + this.getModuleName());\n }\n this.appendArrowSpan();\n this.setActiveElem([this.element]);\n this.element.setAttribute('tabindex', '0');\n this.element.setAttribute('aria-label', this.element.textContent ? this.element.textContent : 'dropdownbutton');\n if ((this.target && !this.isColorPicker() && !this.createPopupOnClick) || !this.createPopupOnClick) {\n this.createPopup();\n }\n else {\n this.isPopupCreated = false;\n if (this.target && !this.isColorPicker() && this.createPopupOnClick) {\n this.popupContent = this.getTargetElement();\n this.popupContent.style.display = 'none';\n }\n }\n };\n DropDownButton.prototype.isColorPicker = function () {\n if (!this.element) {\n return false;\n }\n var prevElem = this.element.previousSibling;\n if (prevElem && prevElem.classList && prevElem.classList.contains('e-split-colorpicker')) {\n return true;\n }\n return false;\n };\n DropDownButton.prototype.appendArrowSpan = function () {\n this.cssClass = isNullOrUndefined(this.cssClass) ? '' : this.cssClass;\n this.element.appendChild(this.createElement('span', {\n className: 'e-btn-icon e-icons ' + 'e-icon-' + (this.cssClass.indexOf(classNames.VERTICAL) > -1\n ? 'bottom' : 'right') + ' e-caret'\n }));\n };\n DropDownButton.prototype.setActiveElem = function (elem) {\n this.activeElem = elem;\n };\n /**\n * Get component name.\n *\n * @returns {string} - Module Name\n * @private\n */\n DropDownButton.prototype.getModuleName = function () {\n return 'dropdown-btn';\n };\n DropDownButton.prototype.canOpen = function () {\n var val = false;\n if (this.isPopupCreated) {\n val = this.getPopUpElement().classList.contains('e-popup-close');\n }\n return val;\n };\n /**\n * Destroys the widget.\n *\n * @returns {void}\n */\n DropDownButton.prototype.destroy = function () {\n var _this = this;\n _super.prototype.destroy.call(this);\n if (this.getModuleName() === 'dropdown-btn') {\n var classList_1;\n if (this.element.querySelector('span.e-caret')) {\n detach(this.element.querySelector('span.e-caret'));\n }\n if (this.cssClass) {\n classList_1 = this.cssClass.split(' ');\n }\n this.button.destroy();\n if (classList_1) {\n removeClass([this.element], classList_1);\n }\n removeClass(this.activeElem, ['e-active']);\n var attrList = this.element.getAttribute('class') ? ['aria-haspopup', 'aria-expanded', 'aria-owns', 'type']\n : ['aria-haspopup', 'aria-expanded', 'aria-owns', 'type', 'class'];\n attrList.forEach(function (key) {\n _this.element.removeAttribute(key);\n });\n this.popupUnWireEvents();\n this.destroyPopup();\n this.isPopupCreated = false;\n if (!this.disabled) {\n this.unWireEvents();\n }\n }\n };\n DropDownButton.prototype.destroyPopup = function () {\n if (this.isPopupCreated) {\n this.dropDown.destroy();\n if (this.getPopUpElement()) {\n var popupEle = document.getElementById(this.getPopUpElement().id);\n if (popupEle) {\n removeClass([popupEle], ['e-popup-open', 'e-popup-close']);\n detach(popupEle);\n }\n }\n EventHandler.remove(this.getPopUpElement(), 'click', this.clickHandler);\n EventHandler.remove(this.getPopUpElement(), 'keydown', this.keyBoardHandler);\n if (this.isPopupCreated && this.dropDown) {\n this.dropDown.element = null;\n this.dropDown = undefined;\n }\n }\n this.isPopupCreated = false;\n var splitButton = getComponent(this.activeElem[0], 'split-btn');\n if (this.createPopupOnClick && splitButton) {\n var dropDownButton = getComponent(this.activeElem[1], 'dropdown-btn');\n if (dropDownButton) {\n dropDownButton.isPopupCreated = false;\n }\n }\n };\n DropDownButton.prototype.getPopUpElement = function () {\n var val = null;\n if (!this.dropDown && this.activeElem[0].classList.contains('e-split-btn')) {\n var dropDownBtn = getComponent(this.activeElem[1], 'dropdown-btn');\n if (dropDownBtn) {\n this.dropDown = dropDownBtn.dropDown;\n }\n }\n if (this.dropDown) {\n val = this.dropDown.element;\n }\n return val;\n };\n DropDownButton.prototype.getULElement = function () {\n var val = null;\n if (this.getPopUpElement()) {\n val = this.getPopUpElement().children[0];\n }\n return val;\n };\n DropDownButton.prototype.wireEvents = function () {\n this.delegateMousedownHandler = this.mousedownHandler.bind(this);\n if (!this.createPopupOnClick) {\n EventHandler.add(document, 'mousedown touchstart', this.delegateMousedownHandler, this);\n }\n EventHandler.add(this.element, 'click', this.clickHandler, this);\n EventHandler.add(this.element, 'keydown', this.keyBoardHandler, this);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n EventHandler.add(window, 'resize', this.windowResize, this);\n };\n DropDownButton.prototype.windowResize = function () {\n if (!this.canOpen() && this.dropDown) {\n this.dropDown.refreshPosition(this.element);\n }\n };\n DropDownButton.prototype.popupWireEvents = function () {\n if (!this.delegateMousedownHandler) {\n this.delegateMousedownHandler = this.mousedownHandler.bind(this);\n }\n var popupElement = this.getPopUpElement();\n if (this.createPopupOnClick) {\n EventHandler.add(document, 'mousedown touchstart', this.delegateMousedownHandler, this);\n }\n if (popupElement) {\n EventHandler.add(popupElement, 'click', this.clickHandler, this);\n EventHandler.add(popupElement, 'keydown', this.keyBoardHandler, this);\n if (this.closeActionEvents) {\n EventHandler.add(popupElement, this.closeActionEvents, this.focusoutHandler, this);\n }\n }\n this.rippleFn = rippleEffect(popupElement, { selector: '.' + classNames.ITEM });\n };\n DropDownButton.prototype.popupUnWireEvents = function () {\n var popupElement = this.getPopUpElement();\n if (this.createPopupOnClick) {\n EventHandler.remove(document, 'mousedown touchstart', this.delegateMousedownHandler);\n }\n if (popupElement && popupElement.parentElement) {\n EventHandler.remove(popupElement, 'click', this.clickHandler);\n EventHandler.remove(popupElement, 'keydown', this.keyBoardHandler);\n if (this.closeActionEvents) {\n EventHandler.remove(popupElement, this.closeActionEvents, this.focusoutHandler);\n }\n }\n if (isRippleEnabled && this.rippleFn) {\n this.rippleFn();\n }\n };\n /**\n * Handles the keyboard interactions.\n *\n * @param {KeyboardEventArgs} e - Specifies keyboard event args.\n * @returns {void}\n * @hidden\n */\n DropDownButton.prototype.keyBoardHandler = function (e) {\n if (e.target === this.element && (e.keyCode === 9 || (!e.altKey && e.keyCode === 40) || e.keyCode === 38)) {\n return;\n }\n if (e.target && (e.target.classList.contains('e-item') || (e.target.parentElement && e.target.parentElement.classList.contains('e-split-btn-wrapper'))) && e.keyCode === 13) {\n e.preventDefault();\n }\n switch (e.keyCode) {\n case 38:\n case 40:\n if (e.altKey && (e.keyCode === 38 || e.keyCode === 40)) {\n this.keyEventHandler(e);\n }\n else {\n this.upDownKeyHandler(e);\n }\n break;\n case 9:\n case 13:\n case 27:\n case 32:\n this.keyEventHandler(e);\n break;\n }\n };\n DropDownButton.prototype.isSafari = function () {\n return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n };\n DropDownButton.prototype.upDownKeyHandler = function (e) {\n if (this.target && (e.keyCode === 38 || e.keyCode === 40)) {\n return;\n }\n e.preventDefault();\n upDownKeyHandler(this.getULElement(), e.keyCode);\n };\n DropDownButton.prototype.keyEventHandler = function (e) {\n if (this.target && (e.keyCode === 13 || e.keyCode === 9)) {\n return;\n }\n if (e.keyCode === 13 && this.activeElem[0].classList.contains('e-split-btn')) {\n this.triggerSelect(e);\n this.activeElem[0].focus();\n return;\n }\n if (e.target && e.target.className.indexOf('e-edit-template') > -1 && e.keyCode === 32) {\n return;\n }\n if (e.keyCode !== 9) {\n e.preventDefault();\n }\n if (e.keyCode === 27 || e.keyCode === 38 || e.keyCode === 9) {\n if (!this.canOpen()) {\n this.closePopup(e, this.element);\n }\n }\n else {\n this.clickHandler(e);\n }\n };\n DropDownButton.prototype.getLI = function (elem) {\n return elem.tagName === 'LI' ? elem : closest(elem, 'li');\n };\n DropDownButton.prototype.mousedownHandler = function (e) {\n var trgt = e.target;\n if (this.dropDown && !this.canOpen() && this.getPopUpElement() && !(closest(trgt, '[id=\"' + this.getPopUpElement().id + '\"]')\n || closest(trgt, '[id=\"' + this.element.id + '\"]'))) {\n this.closePopup(e);\n }\n };\n DropDownButton.prototype.focusoutHandler = function (e) {\n if (this.isPopupCreated && !this.canOpen()) {\n var liTarget = (e.relatedTarget || e.target);\n if (liTarget && liTarget.className.indexOf('e-item') > -1) {\n var li = this.getLI(liTarget);\n if (li) {\n var liIdx = Array.prototype.indexOf.call(this.getULElement().children, li);\n var item = this.items[liIdx];\n if (item) {\n var selectEventArgs = { element: li, item: item, event: e };\n this.trigger('select', selectEventArgs);\n }\n }\n }\n this.closePopup(e);\n }\n };\n DropDownButton.prototype.clickHandler = function (e) {\n var trgt = e.target;\n if (closest(trgt, '[id=\"' + this.element.id + '\"]')) {\n if (!this.createPopupOnClick || (this.target && this.target !== '' && !this.isColorPicker() && !this.createPopupOnClick)) {\n if (this.getPopUpElement().classList.contains('e-popup-close')) {\n this.openPopUp(e);\n }\n else {\n this.closePopup(e);\n }\n }\n else if (this.isPopupCreated) {\n this.closePopup(e, this.activeElem[0]);\n }\n else {\n this.createPopup();\n this.openPopUp(e);\n }\n }\n else {\n if (closest(trgt, '[id=\"' + this.getPopUpElement().id + '\"]')) {\n var li = this.getLI(e.target);\n if (li) {\n this.triggerSelect(e);\n this.closePopup(e, this.activeElem[0]);\n }\n }\n }\n };\n DropDownButton.prototype.triggerSelect = function (e) {\n var eventArgs;\n var liIdx;\n var item;\n var li = this.getLI(e.target);\n if (li) {\n liIdx = Array.prototype.indexOf.call(this.getULElement().children, li);\n item = this.items[liIdx];\n if (item) {\n eventArgs = { element: li, item: item, event: e };\n this.trigger('select', eventArgs);\n }\n }\n };\n DropDownButton.prototype.openPopUp = function (e) {\n var _this = this;\n if (e === void 0) { e = null; }\n var isReact = false;\n var popupElem = this.getPopUpElement();\n if (this.activeElem[0] && this.activeElem[0].classList.contains('e-dropdown-btn') && popupElem.style.width && popupElem.style.width !== 'auto') {\n this.setWidth(popupElem);\n }\n if (!this.target) {\n this.createItems(true);\n }\n else {\n if (this.activeElem.length > 1) {\n var splitButton = getComponent(this.activeElem[0], 'split-btn');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (splitButton.isReact && popupElem.childNodes.length < 1) {\n isReact = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (splitButton.appendReactElement) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n splitButton.appendReactElement(this.getTargetElement(), this.getPopUpElement());\n }\n this.renderReactTemplates();\n }\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.isReact && popupElem.childNodes.length < 1) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n isReact = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.appendReactElement) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.appendReactElement(this.getTargetElement(), this.getPopUpElement());\n }\n this.renderReactTemplates();\n }\n }\n }\n var ul = this.getULElement();\n this.popupWireEvents();\n var beforeOpenArgs = { element: ul, items: this.items, event: e, cancel: false };\n this.trigger('beforeOpen', beforeOpenArgs, function (observedArgs) {\n if (!observedArgs.cancel) {\n var ul_1 = _this.getULElement();\n var animationOptions = _this.animationSettings.effect !== 'None' ? {\n name: _this.animationSettings.effect, duration: _this.animationSettings.duration,\n timingFunction: _this.animationSettings.easing\n } : null;\n if (animationOptions) {\n _this.animatePopup(animationOptions, ul_1);\n }\n _this.dropDown.show(null, _this.element);\n addClass([_this.element], 'e-active');\n _this.element.setAttribute('aria-expanded', 'true');\n _this.element.setAttribute('aria-owns', _this.getPopUpElement().id);\n if (ul_1 && !_this.isSafari()) {\n ul_1.focus();\n }\n if (_this.enableRtl && ul_1.parentElement.style.left !== '0px') {\n var wrapperWidth = void 0;\n if (_this.element.parentElement && _this.element.parentElement.classList.contains('e-split-btn-wrapper')) {\n wrapperWidth = _this.element.parentElement.offsetWidth;\n }\n else {\n wrapperWidth = _this.element.offsetWidth;\n }\n var popupRect = ul_1.parentElement.offsetWidth - wrapperWidth;\n var popupLeft = parseFloat(ul_1.parentElement.style.left) - popupRect;\n if (popupLeft < 0) {\n popupLeft = 0;\n }\n ul_1.parentElement.style.left = popupLeft + 'px';\n }\n var openArgs = { element: ul_1, items: _this.items };\n _this.trigger('open', openArgs);\n if (ul_1 && _this.isSafari()) {\n ul_1.focus();\n }\n }\n });\n };\n DropDownButton.prototype.animatePopup = function (animationOptions, element) {\n new Animation(animationOptions).animate(element, {\n begin: function (args) {\n args.element.parentElement.style.height = args.element.parentElement.offsetHeight + 'px';\n }\n });\n };\n DropDownButton.prototype.setWidth = function (popupElem) {\n var width = formatUnit(popupElem.style.width);\n if (width.indexOf('%') > -1) {\n var btnWidth = this.element.offsetWidth * parseFloat(width) / 100;\n popupElem.style.width = btnWidth + \"px\";\n }\n };\n DropDownButton.prototype.closePopup = function (e, focusEle) {\n var _this = this;\n if (e === void 0) { e = null; }\n var ul = this.getULElement();\n var beforeCloseArgs = { element: ul, items: this.items, event: e, cancel: false };\n this.trigger('beforeClose', beforeCloseArgs, function (observedArgs) {\n if (!observedArgs.cancel) {\n var popupElement = _this.getPopUpElement();\n if (popupElement) {\n EventHandler.remove(popupElement, 'keydown', _this.keyBoardHandler);\n }\n _this.popupUnWireEvents();\n var ul_2 = _this.getULElement();\n var selectedLi = void 0;\n if (ul_2) {\n selectedLi = ul_2.querySelector('.e-selected');\n }\n if (selectedLi) {\n selectedLi.classList.remove('e-selected');\n }\n if (_this.dropDown) {\n _this.dropDown.hide();\n }\n removeClass(_this.activeElem, 'e-active');\n _this.element.setAttribute('aria-expanded', 'false');\n _this.element.removeAttribute('aria-owns');\n if (focusEle) {\n if (!_this.isSafari()) {\n if (!(_this.isColorPicker() && e.keyCode === 27)) {\n focusEle.focus();\n }\n }\n else {\n focusEle.focus({ preventScroll: true });\n }\n }\n var closeArgs = { element: ul_2, items: _this.items };\n _this.trigger('close', closeArgs);\n if (!_this.target && ul_2) {\n detach(ul_2);\n }\n if (!_this.target || _this.isColorPicker() || (_this.target && !_this.isColorPicker())) {\n if (_this.createPopupOnClick) {\n _this.destroyPopup();\n }\n }\n }\n else {\n if (observedArgs.element) {\n ul.focus();\n }\n }\n });\n };\n DropDownButton.prototype.unWireEvents = function () {\n if (!this.createPopupOnClick) {\n EventHandler.remove(document, 'mousedown touchstart', this.delegateMousedownHandler);\n }\n EventHandler.remove(this.element, 'click', this.clickHandler);\n EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);\n if (this.isPopupCreated) {\n EventHandler.remove(this.getPopUpElement(), 'click', this.clickHandler);\n EventHandler.remove(this.getPopUpElement(), 'keydown', this.keyBoardHandler);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n EventHandler.remove(window, 'resize', this.windowResize.bind(this));\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @param {DropDownButtonModel} newProp - Specifies new properties\n * @param {DropDownButtonModel} oldProp - Specifies old properties\n * @returns {void}\n * @private\n */\n DropDownButton.prototype.onPropertyChanged = function (newProp, oldProp) {\n var btnModel = ['content', 'cssClass', 'iconCss', 'iconPosition', 'disabled', 'enableRtl'];\n this.button.setProperties(getModel(newProp, btnModel));\n var popupElement;\n if (this.isPopupCreated) {\n popupElement = this.getPopUpElement();\n this.dropDown.setProperties(getModel(newProp, ['enableRtl']));\n }\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'content':\n if (!this.element.querySelector('span.e-caret')) {\n this.appendArrowSpan();\n }\n break;\n case 'disabled':\n if (newProp.disabled) {\n this.unWireEvents();\n if (this.isPopupCreated && !this.canOpen()) {\n this.closePopup();\n }\n }\n else {\n this.wireEvents();\n }\n break;\n case 'cssClass':\n oldProp.cssClass = isNullOrUndefined(oldProp.cssClass) ? '' : oldProp.cssClass;\n if (newProp.cssClass.indexOf(classNames.VERTICAL) > -1 || oldProp.cssClass.indexOf(classNames.VERTICAL) > -1) {\n if (!this.element.querySelector('span.e-caret')) {\n this.appendArrowSpan();\n }\n var arrowSpan = this.element.querySelector('span.e-caret');\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n newProp.cssClass.indexOf(classNames.VERTICAL) > -1 ? classList(arrowSpan, ['e-icon-bottom'], ['e-icon-right'])\n : classList(arrowSpan, ['e-icon-right'], ['e-icon-bottom']);\n }\n if (this.isPopupCreated) {\n if (oldProp.cssClass) {\n removeClass([popupElement], oldProp.cssClass.split(' '));\n }\n if (newProp.cssClass) {\n addClass([popupElement], newProp.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n }\n break;\n case 'target':\n this.dropDown.content = this.getTargetElement();\n this.dropDown.dataBind();\n break;\n case 'items':\n if (this.isPopupCreated && this.getULElement()) {\n this.createItems();\n }\n break;\n case 'createPopupOnClick':\n if (newProp.createPopupOnClick) {\n this.destroyPopup();\n }\n else {\n this.createPopup();\n }\n break;\n }\n }\n };\n /**\n * Sets the focus to DropDownButton\n * its native method\n *\n * @public\n * @returns {void}\n */\n DropDownButton.prototype.focusIn = function () {\n this.element.focus();\n };\n __decorate([\n Property('')\n ], DropDownButton.prototype, \"content\", void 0);\n __decorate([\n Property('')\n ], DropDownButton.prototype, \"cssClass\", void 0);\n __decorate([\n Property(false)\n ], DropDownButton.prototype, \"disabled\", void 0);\n __decorate([\n Property('')\n ], DropDownButton.prototype, \"iconCss\", void 0);\n __decorate([\n Property('Left')\n ], DropDownButton.prototype, \"iconPosition\", void 0);\n __decorate([\n Property(true)\n ], DropDownButton.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n Collection([], Item)\n ], DropDownButton.prototype, \"items\", void 0);\n __decorate([\n Property(false)\n ], DropDownButton.prototype, \"createPopupOnClick\", void 0);\n __decorate([\n Property('')\n ], DropDownButton.prototype, \"target\", void 0);\n __decorate([\n Property('')\n ], DropDownButton.prototype, \"closeActionEvents\", void 0);\n __decorate([\n Property(null)\n ], DropDownButton.prototype, \"itemTemplate\", void 0);\n __decorate([\n Property('auto')\n ], DropDownButton.prototype, \"popupWidth\", void 0);\n __decorate([\n Complex({ effect: 'None' }, DropDownMenuAnimationSettings)\n ], DropDownButton.prototype, \"animationSettings\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"beforeItemRender\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"beforeOpen\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"beforeClose\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"close\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"open\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"select\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"created\", void 0);\n DropDownButton = __decorate([\n NotifyPropertyChanges\n ], DropDownButton);\n return DropDownButton;\n}(Component));\nexport { DropDownButton };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n 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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path='../drop-down-button/drop-down-button-model.d.ts'/>\nimport { Event, remove, addClass, removeClass, detach, getValue, setValue } from '@syncfusion/ej2-base';\nimport { EventHandler, Collection, NotifyPropertyChanges, Property } from '@syncfusion/ej2-base';\nimport { attributes, getUniqueID, getInstance, KeyboardEvents } from '@syncfusion/ej2-base';\nimport { Button } from '@syncfusion/ej2-buttons';\nimport { getModel, Item } from './../common/common';\nimport { DropDownButton } from '../drop-down-button/drop-down-button';\nvar RTL = 'e-rtl';\nvar TAGNAME = 'EJS-SPLITBUTTON';\n/**\n * SplitButton component has primary and secondary button. Primary button is used to select\n * default action and secondary button is used to toggle contextual overlays for displaying list of\n * action items. It can contain both text and images.\n * ```html\n * <button id=\"element\"></button>\n * ```\n * ```typescript\n * <script>\n * var splitBtnObj = new SplitButton({content: 'SplitButton'});\n * splitBtnObj.appendTo(\"#element\");\n * </script>\n * ```\n */\nvar SplitButton = /** @class */ (function (_super) {\n __extends(SplitButton, _super);\n /**\n * Constructor for creating the widget\n *\n * @param {SplitButtonModel} options - Specifies the splitbutton model\n * @param {string|HTMLButtonElement} element - Specifies the element\n * @hidden\n */\n function SplitButton(options, element) {\n return _super.call(this, options, element) || this;\n }\n /**\n * Initialize Angular support.\n *\n * @private\n * @returns {void}\n */\n SplitButton.prototype.preRender = function () {\n var ele = this.element;\n if (ele.tagName === TAGNAME) {\n var ejInstance = getValue('ej2_instances', ele);\n var btn = this.createElement('button', { attrs: { 'type': 'button' } });\n var wrapper = this.createElement(TAGNAME, { className: 'e-' + this.getModuleName() + '-wrapper' });\n for (var idx = 0, len = ele.attributes.length; idx < len; idx++) {\n btn.setAttribute(ele.attributes[idx].nodeName, ele.attributes[idx].nodeValue);\n }\n ele.parentNode.insertBefore(wrapper, ele);\n detach(ele);\n ele = btn;\n wrapper.appendChild(ele);\n setValue('ej2_instances', ejInstance, ele);\n this.wrapper = wrapper;\n this.element = ele;\n }\n if (!this.element.id) {\n this.element.id = getUniqueID('e-' + this.getModuleName());\n }\n };\n /**\n * Initialize the Component rendering.\n *\n * @returns {void}\n * @private\n */\n SplitButton.prototype.render = function () {\n this.initWrapper();\n this.createPrimaryButton();\n this.renderControl();\n };\n SplitButton.prototype.renderControl = function () {\n this.createSecondaryButton();\n this.setActiveElem([this.element, this.secondaryBtnObj.element]);\n this.setAria();\n this.wireEvents();\n this.renderComplete();\n };\n /**\n * Adds a new item to the menu. By default, new item appends to the list as the last item,\n * but you can insert based on the text parameter.\n *\n * @param { ItemModel[] } items - Specifies an array of JSON data.\n * @param { string } text - Specifies the text to insert the newly added item in the menu.\n * @returns {void}.\n */\n SplitButton.prototype.addItems = function (items, text) {\n _super.prototype.addItems.call(this, items, text);\n this.secondaryBtnObj.items = this.items;\n };\n /**\n * Removes the items from the menu.\n *\n * @param { string[] } items - Specifies an array of string to remove the items.\n * @param { string } isUniqueId - Set `true` if specified items is a collection of unique id.\n * @returns {void}.\n */\n SplitButton.prototype.removeItems = function (items, isUniqueId) {\n _super.prototype.removeItems.call(this, items, isUniqueId);\n this.secondaryBtnObj.items = this.items;\n };\n SplitButton.prototype.initWrapper = function () {\n if (!this.wrapper) {\n this.wrapper = this.createElement('div', { className: 'e-' + this.getModuleName() + '-wrapper' });\n this.element.parentNode.insertBefore(this.wrapper, this.element);\n }\n this.element.classList.remove('e-' + this.getModuleName());\n if (this.enableRtl) {\n this.wrapper.classList.add(RTL);\n }\n if (this.cssClass) {\n addClass([this.wrapper], this.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n };\n SplitButton.prototype.createPrimaryButton = function () {\n var btnModel = {\n cssClass: this.cssClass,\n enableRtl: this.enableRtl,\n iconCss: this.iconCss,\n iconPosition: this.iconPosition,\n content: this.content,\n disabled: this.disabled\n };\n this.primaryBtnObj = new Button(btnModel);\n this.primaryBtnObj.createElement = this.createElement;\n this.primaryBtnObj.appendTo(this.element);\n this.element.classList.add('e-' + this.getModuleName());\n this.element.type = 'button';\n this.wrapper.appendChild(this.element);\n };\n SplitButton.prototype.createSecondaryButton = function () {\n var _this = this;\n var btnElem = this.createElement('button', {\n className: 'e-icon-btn',\n attrs: { 'tabindex': '-1' },\n id: this.element.id + '_dropdownbtn'\n });\n this.wrapper.appendChild(btnElem);\n var dropDownBtnModel = {\n cssClass: this.cssClass,\n disabled: this.disabled,\n enableRtl: this.enableRtl,\n items: this.items,\n target: this.target,\n createPopupOnClick: this.createPopupOnClick\n };\n dropDownBtnModel.beforeItemRender = function (args) {\n if (_this.createPopupOnClick) {\n _this.secondaryBtnObj.dropDown.relateTo = _this.wrapper;\n _this.dropDown = _this.secondaryBtnObj.dropDown;\n }\n _this.trigger('beforeItemRender', args);\n };\n dropDownBtnModel.open = function (args) {\n _this.trigger('open', args);\n };\n dropDownBtnModel.close = function (args) {\n _this.trigger('close', args);\n };\n dropDownBtnModel.select = function (args) {\n _this.trigger('select', args);\n };\n dropDownBtnModel.beforeOpen = function (args) {\n if (_this.createPopupOnClick && _this.items.length === 0) {\n _this.secondaryBtnObj.dropDown.relateTo = _this.wrapper;\n _this.dropDown = _this.secondaryBtnObj.dropDown;\n }\n var callBackPromise = new Deferred();\n _this.trigger('beforeOpen', args, function (observedArgs) {\n callBackPromise.resolve(observedArgs);\n });\n return callBackPromise;\n };\n dropDownBtnModel.beforeClose = function (args) {\n var callBackPromise = new Deferred();\n _this.trigger('beforeClose', args, function (observedArgs) {\n callBackPromise.resolve(observedArgs);\n });\n return callBackPromise;\n };\n this.secondaryBtnObj = new DropDownButton(dropDownBtnModel);\n this.secondaryBtnObj.createElement = this.createElement;\n this.secondaryBtnObj.appendTo(btnElem);\n if (!this.createPopupOnClick) {\n this.secondaryBtnObj.dropDown.relateTo = this.wrapper;\n this.dropDown = this.secondaryBtnObj.dropDown;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.isPopupCreated = this.secondaryBtnObj.isPopupCreated;\n this.secondaryBtnObj.activeElem = [this.element, this.secondaryBtnObj.element];\n this.secondaryBtnObj.element.querySelector('.e-btn-icon').classList.remove('e-icon-right');\n if (this.disabled) {\n this.wrapper.classList.add('e-splitbtn-disabled');\n }\n };\n SplitButton.prototype.setAria = function () {\n attributes(this.element, {\n 'aria-expanded': 'false', 'aria-haspopup': 'true',\n 'aria-label': this.element.textContent ? this.element.textContent + ' splitbutton' : 'splitbutton', 'aria-owns': this.element.id + '_dropdownbtn-popup'\n });\n };\n /**\n * Get component name.\n *\n * @returns {string} - Module Name\n * @private\n */\n SplitButton.prototype.getModuleName = function () {\n return 'split-btn';\n };\n /**\n * To open/close SplitButton popup based on current state of the SplitButton.\n *\n * @returns {void}\n */\n SplitButton.prototype.toggle = function () {\n this.secondaryBtnObj.toggle();\n };\n SplitButton.prototype.destroy = function () {\n var _this = this;\n var classList = [RTL];\n if (this.cssClass) {\n classList = classList.concat(this.cssClass.split(' '));\n }\n if (this.element) {\n var element = document.getElementById(this.element.id);\n if (element && element.parentElement === this.wrapper) {\n if (this.wrapper.tagName === TAGNAME) {\n this.wrapper.innerHTML = '';\n removeClass([this.wrapper], ['e-rtl', 'e-' + this.getModuleName() + '-wrapper']);\n removeClass([this.wrapper], this.cssClass.split(' '));\n }\n else {\n removeClass([this.element], classList);\n ['aria-label', 'aria-haspopup', 'aria-expanded', 'aria-owns', 'type'].forEach(function (key) {\n _this.element.removeAttribute(key);\n });\n this.wrapper.parentNode.insertBefore(this.element, this.wrapper);\n remove(this.wrapper);\n }\n this.unWireEvents();\n }\n }\n this.primaryBtnObj.destroy();\n this.secondaryBtnObj.destroy();\n _super.prototype.destroy.call(this);\n if (this.element && !this.element.getAttribute('class')) {\n this.element.removeAttribute('class');\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.refreshing && this.isAngular) {\n this.element = this.wrapper;\n ['e-control', 'e-split-btn', 'e-lib'].forEach(function (key) {\n _this.element.classList.add(key);\n });\n setValue('ej2_instances', [this], this.element);\n }\n this.wrapper = null;\n };\n SplitButton.prototype.wireEvents = function () {\n EventHandler.add(this.element, 'click', this.primaryBtnClickHandler, this);\n new KeyboardEvents(this.element, {\n keyAction: this.btnKeyBoardHandler.bind(this),\n keyConfigs: {\n altdownarrow: 'alt+downarrow',\n enter: 'enter'\n }\n });\n };\n SplitButton.prototype.unWireEvents = function () {\n EventHandler.remove(this.element, 'click', this.primaryBtnClickHandler);\n getInstance(this.element, KeyboardEvents).destroy();\n };\n SplitButton.prototype.primaryBtnClickHandler = function () {\n this.trigger('click', { element: this.element });\n };\n SplitButton.prototype.btnKeyBoardHandler = function (e) {\n switch (e.action) {\n case 'altdownarrow':\n this.clickHandler(e);\n break;\n case 'enter':\n this.clickHandler(e);\n if (this.getPopUpElement() && !this.getPopUpElement().classList.contains('e-popup-close')) {\n this.element.classList.remove('e-active');\n this.secondaryBtnObj.element.classList.add('e-active');\n }\n else {\n this.secondaryBtnObj.element.classList.remove('e-active');\n }\n break;\n }\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @param {SplitButtonModel} newProp - Specifies new properties\n * @param {SplitButtonModel} oldProp - Specifies old properties\n * @returns {void}\n */\n SplitButton.prototype.onPropertyChanged = function (newProp, oldProp) {\n var model = ['content', 'iconCss', 'iconPosition', 'cssClass', 'disabled', 'enableRtl'];\n this.primaryBtnObj.setProperties(getModel(newProp, model));\n model = ['beforeOpen', 'beforeItemRender', 'select', 'open',\n 'close', 'cssClass', 'disabled', 'enableRtl', 'createPopupOnClick'];\n if (Object.keys(newProp).indexOf('items') > -1) {\n this.secondaryBtnObj.items = newProp.items;\n this.secondaryBtnObj.dataBind();\n }\n this.secondaryBtnObj.setProperties(getModel(newProp, model));\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'cssClass':\n if (oldProp.cssClass) {\n removeClass([this.wrapper], oldProp.cssClass.split(' '));\n }\n addClass([this.wrapper], newProp.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n break;\n case 'enableRtl':\n if (newProp.enableRtl) {\n addClass([this.wrapper], RTL);\n }\n else {\n removeClass([this.wrapper], RTL);\n }\n break;\n case 'disabled':\n if (newProp.disabled) {\n addClass([this.wrapper], 'e-splitbtn-disabled');\n }\n else {\n removeClass([this.wrapper], 'e-splitbtn-disabled');\n }\n }\n }\n };\n /**\n * Sets the focus to SplitButton\n * its native method\n *\n * @public\n * @returns {void}\n */\n SplitButton.prototype.focusIn = function () {\n this.element.focus();\n };\n __decorate([\n Property('')\n ], SplitButton.prototype, \"content\", void 0);\n __decorate([\n Property('')\n ], SplitButton.prototype, \"cssClass\", void 0);\n __decorate([\n Property(false)\n ], SplitButton.prototype, \"disabled\", void 0);\n __decorate([\n Property('')\n ], SplitButton.prototype, \"iconCss\", void 0);\n __decorate([\n Property('Left')\n ], SplitButton.prototype, \"iconPosition\", void 0);\n __decorate([\n Property(false)\n ], SplitButton.prototype, \"createPopupOnClick\", void 0);\n __decorate([\n Collection([], Item)\n ], SplitButton.prototype, \"items\", void 0);\n __decorate([\n Property('')\n ], SplitButton.prototype, \"target\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"beforeItemRender\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"beforeOpen\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"beforeClose\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"click\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"close\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"open\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"select\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"created\", void 0);\n SplitButton = __decorate([\n NotifyPropertyChanges\n ], SplitButton);\n return SplitButton;\n}(DropDownButton));\nexport { SplitButton };\n/**\n * Deferred is used to handle asynchronous operation.\n */\nvar Deferred = /** @class */ (function () {\n function Deferred() {\n var _this = this;\n /**\n * Promise is an object that represents a value that may not be available yet, but will be resolved at some point in the future.\n */\n this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n /**\n * Defines the callback function triggers when the Deferred object is rejected.\n */\n this.catch = this.promise.catch.bind(this.promise);\n /**\n * Defines the callback function triggers when the Deferred object is resolved.\n */\n this.then = this.promise.then.bind(this.promise);\n }\n return Deferred;\n}());\nexport { Deferred };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n 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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Button } from '@syncfusion/ej2-buttons';\nimport { EventHandler, Property, NotifyPropertyChanges, Animation, attributes, animationMode } from '@syncfusion/ej2-base';\nimport { Event, remove, removeClass } from '@syncfusion/ej2-base';\nimport { Complex, ChildProperty, SanitizeHtmlHelper } from '@syncfusion/ej2-base';\nimport { createSpinner, showSpinner, hideSpinner } from '@syncfusion/ej2-popups';\nvar HIDESPINNER = 'e-hide-spinner';\nvar PROGRESS = 'e-progress';\nvar PROGRESSACTIVE = 'e-progress-active';\nvar CONTENTCLS = 'e-btn-content';\n/**\n * Defines the spin settings.\n */\nvar SpinSettings = /** @class */ (function (_super) {\n __extends(SpinSettings, _super);\n function SpinSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n Property(null)\n ], SpinSettings.prototype, \"template\", void 0);\n __decorate([\n Property(16)\n ], SpinSettings.prototype, \"width\", void 0);\n __decorate([\n Property('Left')\n ], SpinSettings.prototype, \"position\", void 0);\n return SpinSettings;\n}(ChildProperty));\nexport { SpinSettings };\n/**\n * Defines the animation settings.\n */\nvar AnimationSettings = /** @class */ (function (_super) {\n __extends(AnimationSettings, _super);\n function AnimationSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n Property(400)\n ], AnimationSettings.prototype, \"duration\", void 0);\n __decorate([\n Property('None')\n ], AnimationSettings.prototype, \"effect\", void 0);\n __decorate([\n Property('ease')\n ], AnimationSettings.prototype, \"easing\", void 0);\n return AnimationSettings;\n}(ChildProperty));\nexport { AnimationSettings };\n/**\n * The ProgressButton visualizes the progression of an operation to indicate the user\n * that a process is happening in the background with visual representation.\n * ```html\n * <button id=\"element\"></button>\n * ```\n * ```typescript\n * <script>\n * var progressButtonObj = new ProgressButton({ content: 'Progress Button' });\n * progressButtonObj.appendTo(\"#element\");\n * </script>\n * ```\n */\nvar ProgressButton = /** @class */ (function (_super) {\n __extends(ProgressButton, _super);\n /**\n * Constructor for creating the widget.\n *\n * @param {ProgressButtonModel} options - Specifies progress button model\n * @param {string|HTMLButtonElement} element - Specifies element\n */\n function ProgressButton(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.step = 1;\n return _this;\n }\n ProgressButton.prototype.preRender = function () {\n _super.prototype.preRender.call(this);\n };\n /**\n * Initialize the Component rendering\n *\n * @returns {void}\n * @private\n */\n ProgressButton.prototype.render = function () {\n _super.prototype.render.call(this);\n this.init();\n this.wireEvents();\n this.setAria();\n this.renderComplete();\n };\n /**\n * Starts the button progress at the specified percent.\n *\n * @param {number} percent - Starts the button progress at this percent.\n * @returns {void}\n */\n ProgressButton.prototype.start = function (percent) {\n this.isPaused = false;\n this.startProgress(percent ? percent : this.percent, this.progressTime);\n };\n /**\n * Stops the button progress.\n *\n * @returns {void}\n */\n ProgressButton.prototype.stop = function () {\n this.isPaused = true;\n cancelAnimationFrame(this.timerId);\n };\n /**\n * Complete the button progress.\n *\n * @returns {void}\n */\n ProgressButton.prototype.progressComplete = function () {\n this.isPaused = false;\n this.finishProgress();\n };\n /**\n * Get component name.\n *\n * @returns {string} - Module Name\n * @private\n */\n ProgressButton.prototype.getModuleName = function () {\n return 'progress-btn';\n };\n /**\n * Destroys the widget.\n *\n * @returns {void}\n */\n ProgressButton.prototype.destroy = function () {\n var _this = this;\n var classList = [HIDESPINNER, PROGRESSACTIVE, 'e-round-corner', 'e-' + _super.prototype.getModuleName.call(this)];\n if (this.spinSettings.position) {\n classList.push('e-spin-' + this.spinSettings.position.toLowerCase());\n }\n _super.prototype.destroy.call(this);\n this.unWireEvents();\n this.element.innerHTML = '';\n if (this.cssClass) {\n classList = classList.concat(this.cssClass.split(' '));\n }\n removeClass([this.element], classList);\n var css = this.element.getAttribute('class') ? ['aria-label', 'aria-valuemin', 'aria-valuemax', 'aria-valuenow']\n : ['aria-label', 'aria-valuemin', 'aria-valuemax', 'aria-valuenow', 'class'];\n css.forEach(function (key) {\n _this.element.removeAttribute(key);\n });\n if (this.disabled) {\n this.element.removeAttribute('disabled');\n }\n };\n ProgressButton.prototype.init = function () {\n this.element.classList.add('e-' + _super.prototype.getModuleName.call(this));\n this.setContent();\n this.createSpinner();\n if (this.enableProgress) {\n this.createProgress();\n }\n };\n ProgressButton.prototype.createSpinner = function () {\n var spinner = this.createElement('span', { className: 'e-spinner' });\n this.setSpinPosition(spinner);\n createSpinner({\n target: spinner, width: this.spinSettings.width || 16, template: this.spinSettings.template\n }, this.createElement);\n };\n ProgressButton.prototype.getSpinner = function () {\n return this.element.getElementsByClassName('e-spinner')[0];\n };\n ProgressButton.prototype.getProgress = function () {\n return this.element.getElementsByClassName(PROGRESS)[0];\n };\n ProgressButton.prototype.setSpinPosition = function (ele) {\n var position = this.spinSettings.position || 'Left';\n if (position === 'Left' || position === 'Top') {\n this.element.insertBefore(ele, this.element.getElementsByClassName(CONTENTCLS)[0]);\n }\n else {\n this.element.appendChild(ele);\n }\n this.element.classList.add('e-spin-' + position.toLowerCase());\n };\n ProgressButton.prototype.createProgress = function () {\n this.element.appendChild(this.createElement('span', { className: PROGRESS }));\n };\n ProgressButton.prototype.setContent = function () {\n var cont;\n cont = this.element.innerHTML;\n if (this.enableHtmlSanitizer) {\n cont = SanitizeHtmlHelper.sanitize(this.element.innerHTML);\n }\n this.element.innerHTML = '';\n this.element.appendChild(this.createElement('span', { className: CONTENTCLS, innerHTML: cont }));\n };\n ProgressButton.prototype.clickHandler = function () {\n if (this.element.classList.contains(PROGRESSACTIVE)) {\n return;\n }\n this.startProgress();\n };\n ProgressButton.prototype.startProgress = function (percent, progressTime) {\n var clsList = this.element.classList;\n var isVertical = clsList.contains('e-vertical');\n clsList.add(PROGRESSACTIVE);\n if (!(clsList.contains(HIDESPINNER))) {\n showSpinner(this.element.querySelector('.e-spinner'));\n }\n this.startAnimate(Date.now(), progressTime ? progressTime : 0, progressTime ? Date.now() - (this.duration * 1 / 100) : Date.now(), percent ? percent : 0, 0, this.step, 0, isVertical);\n this.startContAnimate();\n };\n ProgressButton.prototype.startAnimate = function (timestamp, progressTime, prevTime, percent, prevPercent, step, prevProgressTime, isVertical) {\n var _this = this;\n try {\n var timeDiff = timestamp - prevTime;\n var stepTime = this.duration * step / 100;\n var timeDiffBuffer_1 = timeDiff ? (timeDiff < stepTime ? timeDiff - stepTime : timeDiff % stepTime) : 0;\n this.progressTime = progressTime = progressTime + timeDiff - timeDiffBuffer_1;\n prevTime = timestamp - timeDiffBuffer_1;\n percent = percent + (timeDiff - timeDiffBuffer_1) / this.duration * 100;\n prevPercent = ((progressTime - prevProgressTime) % stepTime === 0 || percent === 100) ? percent : prevPercent;\n var args = { percent: prevPercent, currentDuration: progressTime, step: step };\n this.eIsVertical = isVertical;\n if (percent === 0) {\n this.trigger('begin', args, function (observedArgs) {\n _this.successCallback(observedArgs, percent, prevPercent, progressTime, prevProgressTime, timeDiffBuffer_1, prevTime);\n });\n }\n else if (percent === 100 || progressTime === this.duration) {\n this.trigger('end', args, function (observedArgs) {\n _this.successCallback(observedArgs, percent, prevPercent, progressTime, prevProgressTime, timeDiffBuffer_1, prevTime);\n });\n }\n else {\n this.trigger('progress', args, function (observedArgs) {\n _this.successCallback(observedArgs, percent, prevPercent, progressTime, prevProgressTime, timeDiffBuffer_1, prevTime);\n });\n }\n }\n catch (e) {\n cancelAnimationFrame(this.timerId);\n this.trigger('fail', e);\n }\n };\n ProgressButton.prototype.successCallback = function (args, perc, pPerc, prgTim, pPrgTim, timDif, pTim) {\n var _this = this;\n var percent = perc;\n var prevPercent = pPerc;\n var timeDiffBuffer = timDif;\n var progressTime = prgTim;\n var prevProgressTime = pPrgTim;\n var prevTime = pTim;\n var isVertical = this.eIsVertical;\n if (percent !== args.percent && args.percent !== prevPercent) {\n percent = args.percent;\n }\n this.percent = percent;\n this.step = args.step;\n if ((progressTime - prevProgressTime) % (this.duration * args.step / 100) === 0 || percent === 100) {\n this.timerId = requestAnimationFrame(function () {\n if (_this.enableProgress && _this.getProgress()) {\n _this.getProgress().style[isVertical ? 'height' : 'width'] = percent + '%';\n }\n _this.element.setAttribute('aria-valuenow', percent.toString());\n });\n prevPercent = percent;\n prevProgressTime = progressTime;\n }\n if (!this.isPaused) {\n if (progressTime < this.duration && percent < 100) {\n this.interval = window.setTimeout(function () {\n _this.startAnimate(Date.now(), progressTime, prevTime, percent, prevPercent, args.step, prevProgressTime, isVertical);\n }, (this.duration / 100) - timeDiffBuffer);\n }\n else {\n this.interval = window.setTimeout(function () {\n _this.progressTime = _this.percent = 0;\n if (_this.enableProgress && _this.getProgress()) {\n _this.getProgress().style[isVertical ? 'height' : 'width'] = '0%';\n }\n _this.element.setAttribute('aria-valuenow', '0');\n _this.hideSpin();\n }, 100);\n }\n }\n };\n ProgressButton.prototype.startContAnimate = function () {\n var _this = this;\n var ele = this.element.getElementsByClassName(CONTENTCLS)[0];\n if (this.animationSettings.effect !== 'None') {\n (new Animation({})).animate(ele, {\n duration: (this.animationSettings.duration === 0 && animationMode === 'Enable') ? 400 : this.animationSettings.duration,\n name: 'Progress' + this.animationSettings.effect,\n timingFunction: this.animationSettings.easing,\n begin: function () {\n if (_this.spinSettings.position === 'Center') {\n _this.setSpinnerSize();\n }\n },\n end: function () {\n ele.classList.add('e-animate-end');\n }\n });\n }\n else if (this.spinSettings.position === 'Center') {\n this.setSpinnerSize();\n }\n };\n ProgressButton.prototype.finishProgress = function () {\n var clsList = this.element.classList;\n var isVertical = clsList.contains('e-vertical');\n clsList.add(PROGRESSACTIVE);\n var count = 100;\n for (var i = this.percent; i < count; i++) {\n i += 10;\n if (i > 100) {\n i = 100;\n }\n if (this.enableProgress && this.getProgress()) {\n this.getProgress().style[isVertical ? 'height' : 'width'] = (this.percent < 100) ? (i + '%') : '100%';\n }\n }\n this.element.setAttribute('aria-valuenow', '0');\n this.hideSpin();\n var args = { step: this.step, currentDuration: this.progressTime, percent: 100 };\n clearTimeout(this.interval);\n this.trigger('end', args);\n this.progressTime = this.percent = 0;\n };\n ProgressButton.prototype.setSpinnerSize = function () {\n var ele = this.element.getElementsByClassName(CONTENTCLS)[0];\n var spinner = this.getSpinner();\n spinner.style.width = Math.max(spinner.offsetWidth, ele.offsetWidth) + 'px';\n spinner.style.height = Math.max(spinner.offsetHeight, ele.offsetHeight) + 'px';\n ele.classList.add('e-cont-animate');\n };\n ProgressButton.prototype.hideSpin = function () {\n var cont = this.element.getElementsByClassName(CONTENTCLS)[0];\n if (!(this.element.classList.contains(HIDESPINNER))) {\n hideSpinner(this.element.querySelector('.e-spinner'));\n }\n this.element.classList.remove(PROGRESSACTIVE);\n if (this.animationSettings.effect !== 'None') {\n cont.classList.remove('e-animate-end');\n }\n if (this.spinSettings.position === 'Center') {\n var ele = this.getSpinner();\n cont.classList.remove('e-cont-animate');\n ele.style.width = 'auto';\n ele.style.height = 'auto';\n }\n };\n ProgressButton.prototype.setIconSpan = function () {\n var cont = this.element.getElementsByClassName(CONTENTCLS)[0];\n var iconSpan = this.element.getElementsByClassName('e-btn-icon')[0];\n if (cont.childNodes[0] && (this.iconPosition === 'Left' || this.iconPosition === 'Top')) {\n cont.insertBefore(iconSpan, cont.childNodes[0]);\n }\n else {\n cont.appendChild(iconSpan);\n }\n };\n ProgressButton.prototype.setAria = function () {\n attributes(this.element, {\n 'aria-label': this.element.textContent + ' progress'\n });\n };\n ProgressButton.prototype.wireEvents = function () {\n EventHandler.add(this.element, 'click', this.clickHandler, this);\n };\n ProgressButton.prototype.unWireEvents = function () {\n EventHandler.remove(this.element, 'click', this.clickHandler);\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @param {ProgressButtonModel} newProp - Specifies new properties\n * @param {ProgressButtonModel} oldProp - Specifies old properties\n * @returns {void}\n * @private\n */\n ProgressButton.prototype.onPropertyChanged = function (newProp, oldProp) {\n var ele = this.element;\n var isSpinning = false;\n var clsList = this.element.querySelector('.e-spinner-pane').classList;\n if (clsList.contains('e-spin-show')) {\n isSpinning = true;\n }\n _super.prototype.onPropertyChanged.call(this, newProp, oldProp);\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'content':\n this.setContent();\n this.createSpinner();\n if (isSpinning) {\n showSpinner(this.element.querySelector('.e-spinner'));\n isSpinning = false;\n }\n if (this.enableProgress) {\n this.createProgress();\n }\n ele.setAttribute('aria-label', ele.textContent + ' progress');\n break;\n case 'iconCss':\n if (!oldProp.iconCss) {\n this.setIconSpan();\n }\n break;\n case 'iconPosition':\n this.setIconSpan();\n break;\n case 'enableProgress':\n if (newProp.enableProgress) {\n this.createProgress();\n }\n else {\n remove(this.getProgress());\n }\n break;\n case 'spinSettings':\n if (newProp.spinSettings.position) {\n ele.classList.remove('e-spin-' + oldProp.spinSettings.position.toLowerCase());\n this.setSpinPosition(this.getSpinner());\n }\n if (newProp.spinSettings.template || newProp.spinSettings.width) {\n ele.removeChild(this.getSpinner());\n this.createSpinner();\n }\n break;\n }\n }\n };\n /**\n * Sets the focus to ProgressButton\n * its native method\n *\n * @public\n * @returns {void}\n */\n ProgressButton.prototype.focusIn = function () {\n this.element.focus();\n };\n __decorate([\n Property(false)\n ], ProgressButton.prototype, \"enableProgress\", void 0);\n __decorate([\n Property(2000)\n ], ProgressButton.prototype, \"duration\", void 0);\n __decorate([\n Property('Left')\n ], ProgressButton.prototype, \"iconPosition\", void 0);\n __decorate([\n Property('')\n ], ProgressButton.prototype, \"iconCss\", void 0);\n __decorate([\n Property(false)\n ], ProgressButton.prototype, \"disabled\", void 0);\n __decorate([\n Property(false)\n ], ProgressButton.prototype, \"isPrimary\", void 0);\n __decorate([\n Property('')\n ], ProgressButton.prototype, \"cssClass\", void 0);\n __decorate([\n Property('')\n ], ProgressButton.prototype, \"content\", void 0);\n __decorate([\n Property(false)\n ], ProgressButton.prototype, \"isToggle\", void 0);\n __decorate([\n Property(true)\n ], ProgressButton.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n Complex({}, SpinSettings)\n ], ProgressButton.prototype, \"spinSettings\", void 0);\n __decorate([\n Complex({}, AnimationSettings)\n ], ProgressButton.prototype, \"animationSettings\", void 0);\n __decorate([\n Event()\n ], ProgressButton.prototype, \"created\", void 0);\n __decorate([\n Event()\n ], ProgressButton.prototype, \"begin\", void 0);\n __decorate([\n Event()\n ], ProgressButton.prototype, \"progress\", void 0);\n __decorate([\n Event()\n ], ProgressButton.prototype, \"end\", void 0);\n __decorate([\n Event()\n ], ProgressButton.prototype, \"fail\", void 0);\n ProgressButton = __decorate([\n NotifyPropertyChanges\n ], ProgressButton);\n return ProgressButton;\n}(Button));\nexport { ProgressButton };\n","import { addClass, createElement as internalCreateElement, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { Button } from '@syncfusion/ej2-buttons';\n/**\n * Initialize ButtonGroup CSS component with specified properties.\n * ```html\n * <div id='buttongroup'>\n * <button></button>\n * <button></button>\n * <button></button>\n * </div>\n * ```\n * ```typescript\n * createButtonGroup('#buttongroup', {\n * cssClass: 'e-outline',\n * buttons: [\n * { content: 'Day' },\n * { content: 'Week' },\n * { content: 'Work Week'}\n * ]\n * });\n * ```\n *\n * @param {string} selector\n * @param {CreateButtonGroupModel} options\n * @returns HTMLElement\n */\n/**\n * Creates button group.\n *\n * @param {string} selector - Specifies the selector.\n * @param {CreateButtonGroupModel} options - Specifies the button group model.\n * @param {Function} createElement - Specifies the element.\n * @returns {HTMLElement} - Button group element.\n */\nexport function createButtonGroup(selector, options, createElement) {\n if (options === void 0) { options = {}; }\n var child;\n var btnElem;\n var nextChild;\n var btnModel;\n if (isNullOrUndefined(createElement)) {\n createElement = internalCreateElement;\n }\n var wrapper = document.querySelector(selector);\n addClass([wrapper], ['e-btn-group', 'e-css']);\n wrapper.setAttribute('role', 'group');\n var childs = wrapper.children;\n options.buttons = options.buttons || [];\n for (var i = 0, j = 0; j < childs.length; i++, j++) {\n child = childs[j];\n btnModel = options.buttons[i];\n if (btnModel !== null) {\n if (child.tagName === 'BUTTON') {\n btnElem = child;\n }\n else {\n btnElem = createElement('label');\n nextChild = childs[j + 1];\n if (nextChild) {\n wrapper.insertBefore(btnElem, nextChild);\n }\n else {\n wrapper.appendChild(btnElem);\n }\n if (child.id) {\n btnElem.setAttribute('for', child.id);\n }\n if (btnModel && btnModel.disabled) {\n child.disabled = true;\n }\n j++;\n }\n if (options.cssClass && btnModel && !btnModel.cssClass) {\n btnModel.cssClass = options.cssClass;\n }\n new Button(btnModel || {}, btnElem);\n }\n }\n return wrapper;\n}\n"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","getModel","props","model","obj","extend","_i","_a","keys","prop","indexOf","deleteObject","upDownKeyHandler","ul","keyCode","defaultIdx","childElementCount","liIdx","selectedLi","querySelector","classList","remove","len","children","contains","isValidLI","li","index","count","addClass","focus","setBlankIconStyle","popup","blankIcon","icon","cssProp","size","blankIconList","slice","call","getElementsByClassName","forEach","style","paddingLeft","paddingRight","removeAttribute","iconLi","isNullOrUndefined","enableRtl","padding","margin","parseInt","getComputedStyle","fontSize","_super","ChildProperty","Item","Property","apply","classNames","DropDownMenuAnimationSettings","Component","DropDownButton","preRender","getPersistData","addOnPersist","toggle","canOpen","openPopUp","createPopupOnClick","isPopupCreated","createPopup","closePopup","render","initialize","disabled","wireEvents","renderComplete","addItems","items","text","newItem","idx","j","splice","createItems","removeItems","isUniqueId","refresh","len_1","id","getULElement","splitButton","div","createElement","className","popupWidth","element","document","body","appendChild","dropDown","Popup","width","relateTo","collision","X","Y","position","targetType","content","getTargetElement","setAttribute","popupContent","display","refreshPosition","hide","attributes","cssClass","replace","trim","split","getComponent","activeElem","isColorPicker","select","appendItems","eventArgs","_this","showIcon","hasIcon","innerHTML","attrs","role","tabindex","itemTemplate","compiledTemplate_1","compiletemplate","item","separator","aria-label","aria-hidden","getUniqueID","getModuleName","compiledElement","append","add","trigger","isReact","renderReactTemplates","enableHtmlSanitizer","SanitizeHtmlHelper","sanitize","tempItem","url","beforeDisabled","textContent","createAnchor","iconCss","span","childNodes","insertBefore","getPopUpElement","template","templateElement","compile","field","anchor","href","button","Button","iconPosition","enablePersistence","appendTo","appendArrowSpan","setActiveElem","prevElem","previousSibling","elem","val","destroy","classList_1","detach","removeClass","getAttribute","popupUnWireEvents","destroyPopup","unWireEvents","popupEle","getElementById","EventHandler","clickHandler","keyBoardHandler","undefined","dropDownButton","dropDownBtn","delegateMousedownHandler","mousedownHandler","bind","window","windowResize","popupWireEvents","popupElement","closeActionEvents","focusoutHandler","rippleFn","rippleEffect","selector","parentElement","isRippleEnabled","e","altKey","preventDefault","keyEventHandler","isSafari","test","navigator","userAgent","triggerSelect","getLI","tagName","closest","trgt","liTarget","relatedTarget","event","popupElem","setWidth","appendReactElement","beforeOpenArgs","cancel","observedArgs","openArgs","ul_1","animationOptions","animationSettings","effect","name","duration","timingFunction","easing","animatePopup","show","left","wrapperWidth","offsetWidth","popupRect","popupLeft","parseFloat","Animation","animate","begin","args","height","offsetHeight","formatUnit","btnWidth","focusEle","beforeCloseArgs","ul_2","preventScroll","closeArgs","onPropertyChanged","newProp","oldProp","setProperties","arrowSpan","dataBind","focusIn","Collection","Complex","Event","NotifyPropertyChanges","options","RTL","TAGNAME","SplitButton","ele","ejInstance","getValue","btn","type","wrapper","nodeName","nodeValue","parentNode","setValue","initWrapper","createPrimaryButton","renderControl","createSecondaryButton","secondaryBtnObj","setAria","btnModel","primaryBtnObj","btnElem","dropDownBtnModel","beforeItemRender","open","close","beforeOpen","callBackPromise","Deferred","resolve","beforeClose","aria-expanded","aria-haspopup","aria-owns","concat","refreshing","isAngular","primaryBtnClickHandler","KeyboardEvents","keyAction","btnKeyBoardHandler","keyConfigs","altdownarrow","enter","getInstance","action","promise","Promise","reject","catch","then","HIDESPINNER","PROGRESS","PROGRESSACTIVE","CONTENTCLS","SpinSettings","AnimationSettings","ProgressButton","init","start","percent","isPaused","startProgress","progressTime","stop","cancelAnimationFrame","timerId","progressComplete","finishProgress","spinSettings","push","toLowerCase","setContent","createSpinner","enableProgress","createProgress","spinner","setSpinPosition","getSpinner","getProgress","cont","clsList","isVertical","showSpinner","startAnimate","Date","now","step","startContAnimate","timestamp","prevTime","prevPercent","prevProgressTime","timeDiff","stepTime","timeDiffBuffer_1","currentDuration","eIsVertical","successCallback","perc","pPerc","prgTim","pPrgTim","timDif","pTim","timeDiffBuffer","requestAnimationFrame","toString","interval","setTimeout","hideSpin","animationMode","setSpinnerSize","end","clearTimeout","Math","max","hideSpinner","setIconSpan","iconSpan","isSpinning","removeChild","internalCreateElement","child","nextChild","childs","buttons"],"mappings":"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"}
1
+ {"version":3,"file":"ej2-splitbuttons.umd.min.js","sources":["../src/common/common.js","../src/drop-down-button/drop-down-button.js","../src/split-button/split-button.js","../src/progress-button/progress-button.js","../src/button-group/button-group.js"],"sourcesContent":["var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n 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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { ChildProperty, extend, deleteObject, Property, addClass, isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * @param {Object} props - Specifies the properties\n * @param {string[]} model - Specifies the model\n * @returns {Object} Component Model\n */\nexport function getModel(props, model) {\n var obj = extend({}, props);\n for (var _i = 0, _a = Object.keys(obj); _i < _a.length; _i++) {\n var prop = _a[_i];\n if ((model).indexOf(prop) < 0) {\n deleteObject(obj, prop);\n }\n }\n return obj;\n}\n/** @hidden\n * @param {HTMLElement} ul - Specifies the UL element\n * @param {number} keyCode - Specifies the keycode\n * @returns {void}\n */\nexport function upDownKeyHandler(ul, keyCode) {\n var defaultIdx = keyCode === 40 ? 0 : ul.childElementCount - 1;\n var liIdx = defaultIdx;\n var li;\n var selectedLi = ul.querySelector('.e-selected');\n if (selectedLi) {\n selectedLi.classList.remove('e-selected');\n }\n for (var i = 0, len = ul.children.length; i < len; i++) {\n if (ul.children[i].classList.contains('e-focused')) {\n li = ul.children[i];\n liIdx = i;\n li.classList.remove('e-focused');\n if (keyCode === 40) {\n liIdx++;\n }\n else {\n liIdx--;\n }\n if (liIdx === (keyCode === 40 ? ul.childElementCount : -1)) {\n liIdx = defaultIdx;\n }\n }\n }\n li = ul.children[liIdx];\n liIdx = isValidLI(ul, li, liIdx, keyCode);\n if (liIdx !== -1) {\n addClass([ul.children[liIdx]], 'e-focused');\n ul.children[liIdx].focus();\n }\n}\n/**\n * Get Valid LI element\n *\n * @param {HTMLElement} ul - Specifies the UL element\n * @param {Element} li - Specifies the LI element\n * @param {number} index - Specifies the index\n * @param {number} keyCode - Specifies the keycode\n * @param {number} count - Specifies the count\n * @returns {number} - Index\n */\nfunction isValidLI(ul, li, index, keyCode, count) {\n if (count === void 0) { count = 0; }\n if (li.classList.contains('e-separator') || li.classList.contains('e-disabled')) {\n if (index === (keyCode === 40 ? ul.childElementCount - 1 : 0)) {\n index = keyCode === 40 ? 0 : ul.childElementCount - 1;\n }\n else {\n if (keyCode === 40) {\n index++;\n }\n else {\n index--;\n }\n }\n }\n li = ul.children[index];\n if (li.classList.contains('e-separator') || li.classList.contains('e-disabled')) {\n count++;\n if (count === ul.childElementCount) {\n return index = -1;\n }\n index = isValidLI(ul, li, index, keyCode, count);\n }\n return index;\n}\n/** @hidden\n * @param {HTMLElement} popup - Specifies the popup element.\n * @param {boolean} blankIcon - Specifies the blankIcon value.\n * @returns {void}\n */\nexport function setBlankIconStyle(popup, blankIcon) {\n var blankIconList = [].slice.call(popup.getElementsByClassName('e-blank-icon'));\n if (blankIcon) {\n var menuItem = [].slice.call(popup.getElementsByClassName('e-item'));\n menuItem.forEach(function (li) {\n if (li.style.paddingLeft || li.style.paddingRight) {\n li.removeAttribute('style');\n }\n });\n }\n if (!blankIconList.length) {\n return;\n }\n var iconLi = popup.querySelector('.e-item:not(.e-blank-icon):not(.e-separator)');\n if (isNullOrUndefined(iconLi)) {\n return;\n }\n if (iconLi.classList.contains('e-url')) {\n iconLi = iconLi.querySelector('.e-menu-url');\n }\n var icon = iconLi.querySelector('.e-menu-icon');\n var cssProp;\n var enableRtl = popup.classList.contains('e-rtl');\n if (enableRtl) {\n cssProp = { padding: 'paddingRight', margin: 'marginLeft' };\n }\n else {\n cssProp = { padding: 'paddingLeft', margin: 'marginRight' };\n }\n /* eslint-disable */\n var size = parseInt(getComputedStyle(icon).fontSize, 10) + parseInt((enableRtl ? getComputedStyle(icon)[cssProp.margin] : getComputedStyle(icon)[cssProp.margin]), 10)\n + parseInt(getComputedStyle(iconLi).paddingLeft, 10) + \"px\";\n blankIconList.forEach(function (li) {\n if (li.classList.contains('e-url') && li.querySelector('.e-menu-url')) {\n li.querySelector('.e-menu-url').style[cssProp.padding] = size;\n }\n else {\n li.style[cssProp.padding] = size;\n }\n });\n /* eslint-enable */\n}\n/**\n * Defines the items of Split Button/DropDownButton.\n */\nvar Item = /** @class */ (function (_super) {\n __extends(Item, _super);\n function Item() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n Property('')\n ], Item.prototype, \"iconCss\", void 0);\n __decorate([\n Property('')\n ], Item.prototype, \"id\", void 0);\n __decorate([\n Property(false)\n ], Item.prototype, \"separator\", void 0);\n __decorate([\n Property('')\n ], Item.prototype, \"text\", void 0);\n __decorate([\n Property('')\n ], Item.prototype, \"url\", void 0);\n __decorate([\n Property(false)\n ], Item.prototype, \"disabled\", void 0);\n return Item;\n}(ChildProperty));\nexport { Item };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n 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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Collection, Event, NotifyPropertyChanges, detach, Property, EventHandler, isRippleEnabled, isNullOrUndefined, append, formatUnit, Animation } from '@syncfusion/ej2-base';\nimport { addClass, getUniqueID, rippleEffect, getComponent, ChildProperty, Complex } from '@syncfusion/ej2-base';\nimport { attributes, Component, closest, select, SanitizeHtmlHelper } from '@syncfusion/ej2-base';\nimport { classList, removeClass, compile } from '@syncfusion/ej2-base';\nimport { Button } from '@syncfusion/ej2-buttons';\nimport { Popup } from '@syncfusion/ej2-popups';\nimport { upDownKeyHandler } from './../common/common';\nimport { getModel, Item, setBlankIconStyle } from './../common/common';\nvar classNames = {\n DISABLED: 'e-disabled',\n FOCUS: 'e-focused',\n ICON: 'e-menu-icon',\n ITEM: 'e-item',\n POPUP: 'e-dropdown-popup',\n RTL: 'e-rtl',\n SEPARATOR: 'e-separator',\n VERTICAL: 'e-vertical',\n POPUPWIDTH: 'e-dropdown-popup-width'\n};\n/**\n * Animation configuration settings.\n */\nvar DropDownMenuAnimationSettings = /** @class */ (function (_super) {\n __extends(DropDownMenuAnimationSettings, _super);\n function DropDownMenuAnimationSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n Property('SlideDown')\n ], DropDownMenuAnimationSettings.prototype, \"effect\", void 0);\n __decorate([\n Property(400)\n ], DropDownMenuAnimationSettings.prototype, \"duration\", void 0);\n __decorate([\n Property('ease')\n ], DropDownMenuAnimationSettings.prototype, \"easing\", void 0);\n return DropDownMenuAnimationSettings;\n}(ChildProperty));\nexport { DropDownMenuAnimationSettings };\n/**\n * DropDownButton component is used to toggle contextual overlays for displaying list of action items.\n * It can contain both text and images.\n * ```html\n * <button id=\"element\">DropDownButton</button>\n * ```\n * ```typescript\n * <script>\n * var dropDownButtonObj = new DropDownButton({items: [{ text: 'Action1' }, { text: 'Action2' },{ text: 'Action3' }]);\n * dropDownButtonObj.appendTo(\"#element\");\n * </script>\n * ```\n */\nvar DropDownButton = /** @class */ (function (_super) {\n __extends(DropDownButton, _super);\n /**\n * Constructor for creating the widget\n *\n * @param {DropDownButtonModel} options - Specifies dropdown button model\n * @param {string|HTMLButtonElement} element - Specifies element\n * @hidden\n */\n function DropDownButton(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.isPopupCreated = true;\n return _this;\n }\n DropDownButton.prototype.preRender = function () {\n /** */\n };\n /**\n * Get the properties to be maintained in the persisted state.\n *\n * @returns {string} - Persist data\n */\n DropDownButton.prototype.getPersistData = function () {\n return this.addOnPersist([]);\n };\n /**\n * To open/close DropDownButton popup based on current state of the DropDownButton.\n *\n * @returns {void}\n */\n DropDownButton.prototype.toggle = function () {\n if (this.canOpen()) {\n this.openPopUp();\n }\n else if (this.createPopupOnClick && !this.isPopupCreated) {\n this.createPopup();\n this.openPopUp();\n }\n else {\n this.closePopup();\n }\n };\n /**\n * Initialize the Component rendering\n *\n * @returns {void}\n * @private\n */\n DropDownButton.prototype.render = function () {\n this.initialize();\n if (!this.disabled) {\n this.wireEvents();\n }\n this.renderComplete();\n };\n /**\n * Adds a new item to the menu. By default, new item appends to the list as the last item,\n * but you can insert based on the text parameter.\n *\n * @param { ItemModel[] } items - Specifies an array of JSON data.\n * @param { string } text - Specifies the text to insert the newly added item in the menu.\n * @returns {void}.\n */\n DropDownButton.prototype.addItems = function (items, text) {\n var newItem;\n var idx = this.items.length;\n for (var j = 0, len = this.items.length; j < len; j++) {\n if (text === this.items[j].text) {\n idx = j;\n break;\n }\n }\n for (var i = items.length - 1; i >= 0; i--) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n newItem = new Item(this, 'items', items[i], true);\n this.items.splice(idx, 0, newItem);\n }\n if (!this.canOpen()) {\n this.createItems();\n }\n };\n /**\n * Removes the items from the menu.\n *\n * @param { string[] } items - Specifies an array of string to remove the items.\n * @param { string } isUniqueId - Set `true` if specified items is a collection of unique id.\n * @returns {void}.\n */\n DropDownButton.prototype.removeItems = function (items, isUniqueId) {\n var refresh = false;\n for (var i = 0, len = items.length; i < len; i++) {\n for (var j = 0, len_1 = this.items.length; j < len_1; j++) {\n if (items[i] === (isUniqueId ? this.items[j].id : this.items[j].text)) {\n this.items.splice(j, 1);\n refresh = true;\n break;\n }\n }\n }\n if (refresh && this.getULElement()) {\n this.createItems();\n }\n };\n DropDownButton.prototype.createPopup = function () {\n var _a;\n var div = this.createElement('div', {\n className: this.popupWidth !== 'auto' ? classNames.POPUP + \" \" + classNames.POPUPWIDTH : classNames.POPUP,\n id: this.element.id + '-popup'\n });\n document.body.appendChild(div);\n this.dropDown = new Popup(div, {\n width: this.popupWidth,\n relateTo: this.element,\n collision: { X: 'fit', Y: 'flip' },\n position: { X: 'left', Y: 'bottom' },\n targetType: 'relative',\n content: this.target ? this.getTargetElement() : '',\n enableRtl: this.enableRtl\n });\n this.dropDown.element.setAttribute('role', 'dialog');\n this.dropDown.element.setAttribute('aria-label', 'dropdown menu');\n if (!isNullOrUndefined(this.popupContent)) {\n this.popupContent.style.display = '';\n }\n if (this.dropDown.element.style.position === 'fixed') {\n this.dropDown.refreshPosition(this.element);\n }\n this.dropDown.hide();\n attributes(this.element, (_a = {},\n _a['aria-haspopup'] = this.items.length || this.target ? 'true' : 'false',\n _a['aria-expanded'] = 'false',\n _a['type'] = 'button',\n _a));\n if (this.cssClass) {\n addClass([div], this.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n this.isPopupCreated = true;\n if (this.createPopupOnClick) {\n var splitButton = getComponent(this.activeElem[0], 'split-btn');\n if (splitButton) {\n splitButton.isPopupCreated = true;\n }\n }\n };\n DropDownButton.prototype.getTargetElement = function () {\n if (this.createPopupOnClick && !this.isColorPicker() && !isNullOrUndefined(this.popupContent)) {\n return this.popupContent;\n }\n return typeof (this.target) === 'string' ? select(this.target) : this.target;\n };\n DropDownButton.prototype.createItems = function (appendItems) {\n var _this = this;\n var items = this.items;\n var showIcon = this.hasIcon(this.items, 'iconCss');\n var span;\n var item;\n var li;\n var eventArgs;\n var ul = this.getULElement();\n if (ul) {\n ul.innerHTML = '';\n }\n else {\n ul = this.createElement('ul', {\n attrs: { 'role': 'menu', 'tabindex': '0' }\n });\n }\n if (this.itemTemplate) {\n var compiledTemplate_1 = this.compiletemplate(this.itemTemplate);\n items.forEach(function (item) {\n var li = _this.createElement('li', {\n className: item.separator ? classNames.ITEM + ' ' + classNames.SEPARATOR : classNames.ITEM,\n attrs: item.separator\n ? { 'role': 'separator', 'tabindex': '-1', 'aria-label': 'separator', 'aria-hidden': 'true' }\n : { 'role': 'menuitem', 'tabindex': '-1', 'aria-label': item.text },\n id: item.id ? item.id : getUniqueID('e-' + _this.getModuleName() + '-item')\n });\n var compiledElement = compiledTemplate_1(item, _this, 'template', null, false, null, li);\n if (compiledElement) {\n append(compiledElement, li);\n }\n if (item.disabled) {\n li.classList.add('e-disabled');\n }\n var eventArgs = { item: item, element: li };\n _this.trigger('beforeItemRender', eventArgs);\n if (eventArgs.item.disabled !== item.disabled) {\n li.classList[eventArgs.item.disabled ? 'add' : 'remove']('e-disabled');\n }\n ul.appendChild(li);\n });\n if (this.isReact) {\n this.renderReactTemplates();\n }\n }\n else {\n for (var i = 0; i < items.length; i++) {\n item = items[i];\n if (this.enableHtmlSanitizer) {\n item.text = SanitizeHtmlHelper.sanitize(item.text);\n }\n var tempItem = item.text;\n li = this.createElement('li', {\n innerHTML: item.url ? '' : tempItem,\n className: item.separator ? classNames.ITEM + ' ' + classNames.SEPARATOR : classNames.ITEM,\n attrs: item.separator ? { 'role': 'separator', 'tabindex': '-1', 'aria-label': 'separator', 'aria-hidden': 'true' } : { 'role': 'menuitem', 'tabindex': '-1', 'aria-label': tempItem },\n id: item.id ? item.id : getUniqueID('e-' + this.getModuleName() + '-item')\n });\n if (this.enableHtmlSanitizer) {\n li.textContent = item.url ? '' : tempItem;\n }\n else {\n li.innerHTML = item.url ? '' : tempItem;\n }\n if (item.url) {\n li.appendChild(this.createAnchor(item));\n li.classList.add('e-url');\n }\n if (item.iconCss) {\n span = this.createElement('span', { className: classNames.ICON + ' ' + item.iconCss });\n if (item.url) {\n li.childNodes[0].appendChild(span);\n }\n else {\n li.insertBefore(span, li.childNodes[0]);\n }\n }\n else {\n if (showIcon && !item.separator) {\n li.classList.add('e-blank-icon');\n }\n }\n var beforeDisabled = item.disabled;\n if (item.disabled) {\n li.classList.add('e-disabled');\n }\n eventArgs = { item: item, element: li };\n this.trigger('beforeItemRender', eventArgs);\n var afterDisabled = eventArgs.item.disabled;\n if (beforeDisabled !== afterDisabled) {\n if (eventArgs.item.disabled) {\n li.classList.add('e-disabled');\n }\n else {\n li.classList.remove('e-disabled');\n }\n }\n ul.appendChild(li);\n }\n }\n if (appendItems) {\n this.getPopUpElement().appendChild(ul);\n }\n if (showIcon) {\n setBlankIconStyle(this.getPopUpElement());\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n DropDownButton.prototype.compiletemplate = function (template) {\n if (!this.itemTemplate) {\n return undefined;\n }\n try {\n if (typeof this.itemTemplate !== 'function') {\n var templateElement = document.querySelector(this.itemTemplate);\n if (templateElement) {\n return compile(templateElement.innerHTML.trim());\n }\n }\n return compile(template);\n }\n catch (_a) {\n return compile(template);\n }\n };\n DropDownButton.prototype.hasIcon = function (items, field) {\n for (var i = 0, len = items.length; i < len; i++) {\n if (items[i][\"\" + field]) {\n return true;\n }\n }\n return false;\n };\n DropDownButton.prototype.createAnchor = function (item) {\n var tempItem = item.text;\n var anchor = this.createElement('a', { className: 'e-menu-text e-menu-url', attrs: { 'href': item.url } });\n if (this.enableHtmlSanitizer) {\n anchor.textContent = tempItem;\n }\n else {\n anchor.innerHTML = tempItem;\n }\n return anchor;\n };\n DropDownButton.prototype.initialize = function () {\n this.button = new Button({\n iconCss: this.iconCss, iconPosition: this.iconPosition, cssClass: this.cssClass, content: this.content,\n disabled: this.disabled, enableRtl: this.enableRtl, enablePersistence: this.enablePersistence\n });\n this.button.createElement = this.createElement;\n this.button.appendTo(this.element);\n if (!this.element.id) {\n this.element.id = getUniqueID('e-' + this.getModuleName());\n }\n this.appendArrowSpan();\n this.setActiveElem([this.element]);\n this.element.setAttribute('tabindex', '0');\n this.element.setAttribute('aria-label', this.element.textContent ? this.element.textContent : 'dropdownbutton');\n if ((this.target && !this.isColorPicker() && !this.createPopupOnClick) || !this.createPopupOnClick) {\n this.createPopup();\n }\n else {\n this.isPopupCreated = false;\n if (this.target && !this.isColorPicker() && this.createPopupOnClick) {\n this.popupContent = this.getTargetElement();\n this.popupContent.style.display = 'none';\n }\n }\n };\n DropDownButton.prototype.isColorPicker = function () {\n if (!this.element) {\n return false;\n }\n var prevElem = this.element.previousSibling;\n if (prevElem && prevElem.classList && prevElem.classList.contains('e-split-colorpicker')) {\n return true;\n }\n return false;\n };\n DropDownButton.prototype.appendArrowSpan = function () {\n this.cssClass = isNullOrUndefined(this.cssClass) ? '' : this.cssClass;\n this.element.appendChild(this.createElement('span', {\n className: 'e-btn-icon e-icons ' + 'e-icon-' + (this.cssClass.indexOf(classNames.VERTICAL) > -1\n ? 'bottom' : 'right') + ' e-caret'\n }));\n };\n DropDownButton.prototype.setActiveElem = function (elem) {\n this.activeElem = elem;\n };\n /**\n * Get component name.\n *\n * @returns {string} - Module Name\n * @private\n */\n DropDownButton.prototype.getModuleName = function () {\n return 'dropdown-btn';\n };\n DropDownButton.prototype.canOpen = function () {\n var val = false;\n if (this.isPopupCreated) {\n val = this.getPopUpElement().classList.contains('e-popup-close');\n }\n return val;\n };\n /**\n * Destroys the widget.\n *\n * @returns {void}\n */\n DropDownButton.prototype.destroy = function () {\n var _this = this;\n _super.prototype.destroy.call(this);\n if (this.getModuleName() === 'dropdown-btn') {\n var classList_1;\n if (this.element.querySelector('span.e-caret')) {\n detach(this.element.querySelector('span.e-caret'));\n }\n if (this.cssClass) {\n classList_1 = this.cssClass.split(' ');\n }\n this.button.destroy();\n if (classList_1) {\n removeClass([this.element], classList_1);\n }\n removeClass(this.activeElem, ['e-active']);\n var attrList = this.element.getAttribute('class') ? ['aria-haspopup', 'aria-expanded', 'aria-owns', 'type']\n : ['aria-haspopup', 'aria-expanded', 'aria-owns', 'type', 'class'];\n attrList.forEach(function (key) {\n _this.element.removeAttribute(key);\n });\n this.popupUnWireEvents();\n this.destroyPopup();\n this.isPopupCreated = false;\n if (!this.disabled) {\n this.unWireEvents();\n }\n }\n };\n DropDownButton.prototype.destroyPopup = function () {\n if (this.isPopupCreated) {\n this.dropDown.destroy();\n if (this.getPopUpElement()) {\n var popupEle = document.getElementById(this.getPopUpElement().id);\n if (popupEle) {\n removeClass([popupEle], ['e-popup-open', 'e-popup-close']);\n detach(popupEle);\n }\n }\n EventHandler.remove(this.getPopUpElement(), 'click', this.clickHandler);\n EventHandler.remove(this.getPopUpElement(), 'keydown', this.keyBoardHandler);\n if (this.isPopupCreated && this.dropDown) {\n this.dropDown.element = null;\n this.dropDown = undefined;\n }\n }\n this.isPopupCreated = false;\n var splitButton = getComponent(this.activeElem[0], 'split-btn');\n if (this.createPopupOnClick && splitButton) {\n var dropDownButton = getComponent(this.activeElem[1], 'dropdown-btn');\n if (dropDownButton) {\n dropDownButton.isPopupCreated = false;\n }\n }\n };\n DropDownButton.prototype.getPopUpElement = function () {\n var val = null;\n if (!this.dropDown && this.activeElem[0].classList.contains('e-split-btn')) {\n var dropDownBtn = getComponent(this.activeElem[1], 'dropdown-btn');\n if (dropDownBtn) {\n this.dropDown = dropDownBtn.dropDown;\n }\n }\n if (this.dropDown) {\n val = this.dropDown.element;\n }\n return val;\n };\n DropDownButton.prototype.getULElement = function () {\n var val = null;\n if (this.getPopUpElement()) {\n val = this.getPopUpElement().children[0];\n }\n return val;\n };\n DropDownButton.prototype.wireEvents = function () {\n this.delegateMousedownHandler = this.mousedownHandler.bind(this);\n if (!this.createPopupOnClick) {\n EventHandler.add(document, 'mousedown touchstart', this.delegateMousedownHandler, this);\n }\n EventHandler.add(this.element, 'click', this.clickHandler, this);\n EventHandler.add(this.element, 'keydown', this.keyBoardHandler, this);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.windowResizeBound = this.windowResize.bind(this);\n window.addEventListener('resize', this.windowResizeBound);\n };\n DropDownButton.prototype.windowResize = function () {\n if (!this.canOpen() && this.dropDown) {\n this.dropDown.refreshPosition(this.element);\n }\n };\n DropDownButton.prototype.popupWireEvents = function () {\n if (!this.delegateMousedownHandler) {\n this.delegateMousedownHandler = this.mousedownHandler.bind(this);\n }\n var popupElement = this.getPopUpElement();\n if (this.createPopupOnClick) {\n EventHandler.add(document, 'mousedown touchstart', this.delegateMousedownHandler, this);\n }\n if (popupElement) {\n EventHandler.add(popupElement, 'click', this.clickHandler, this);\n EventHandler.add(popupElement, 'keydown', this.keyBoardHandler, this);\n if (this.closeActionEvents) {\n EventHandler.add(popupElement, this.closeActionEvents, this.focusoutHandler, this);\n }\n }\n this.rippleFn = rippleEffect(popupElement, { selector: '.' + classNames.ITEM });\n };\n DropDownButton.prototype.popupUnWireEvents = function () {\n var popupElement = this.getPopUpElement();\n if (this.createPopupOnClick) {\n EventHandler.remove(document, 'mousedown touchstart', this.delegateMousedownHandler);\n }\n if (popupElement && popupElement.parentElement) {\n EventHandler.remove(popupElement, 'click', this.clickHandler);\n EventHandler.remove(popupElement, 'keydown', this.keyBoardHandler);\n if (this.closeActionEvents) {\n EventHandler.remove(popupElement, this.closeActionEvents, this.focusoutHandler);\n }\n }\n if (isRippleEnabled && this.rippleFn) {\n this.rippleFn();\n }\n };\n /**\n * Handles the keyboard interactions.\n *\n * @param {KeyboardEventArgs} e - Specifies keyboard event args.\n * @returns {void}\n * @hidden\n */\n DropDownButton.prototype.keyBoardHandler = function (e) {\n if (e.target === this.element && (e.keyCode === 9 || (!e.altKey && e.keyCode === 40) || e.keyCode === 38)) {\n return;\n }\n if (e.target && (e.target.classList.contains('e-item') || (e.target.parentElement && e.target.parentElement.classList.contains('e-split-btn-wrapper'))) && e.keyCode === 13) {\n e.preventDefault();\n }\n switch (e.keyCode) {\n case 38:\n case 40:\n if (e.altKey && (e.keyCode === 38 || e.keyCode === 40)) {\n this.keyEventHandler(e);\n }\n else {\n this.upDownKeyHandler(e);\n }\n break;\n case 9:\n case 13:\n case 27:\n case 32:\n this.keyEventHandler(e);\n break;\n }\n };\n DropDownButton.prototype.isSafari = function () {\n return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n };\n DropDownButton.prototype.upDownKeyHandler = function (e) {\n if (this.target && (e.keyCode === 38 || e.keyCode === 40)) {\n return;\n }\n e.preventDefault();\n upDownKeyHandler(this.getULElement(), e.keyCode);\n };\n DropDownButton.prototype.keyEventHandler = function (e) {\n if (this.target && (e.keyCode === 13 || e.keyCode === 9)) {\n return;\n }\n if (e.keyCode === 13 && this.activeElem[0].classList.contains('e-split-btn')) {\n this.triggerSelect(e);\n this.activeElem[0].focus();\n return;\n }\n if (e.target && e.target.className.indexOf('e-edit-template') > -1 && e.keyCode === 32) {\n return;\n }\n if (e.keyCode !== 9) {\n e.preventDefault();\n }\n if (e.keyCode === 27 || e.keyCode === 38 || e.keyCode === 9) {\n if (!this.canOpen()) {\n this.closePopup(e, this.element);\n }\n }\n else {\n this.clickHandler(e);\n }\n };\n DropDownButton.prototype.getLI = function (elem) {\n return elem.tagName === 'LI' ? elem : closest(elem, 'li');\n };\n DropDownButton.prototype.mousedownHandler = function (e) {\n var trgt = e.target;\n if (this.dropDown && !this.canOpen() && this.getPopUpElement() && !(closest(trgt, '[id=\"' + this.getPopUpElement().id + '\"]')\n || closest(trgt, '[id=\"' + this.element.id + '\"]'))) {\n this.closePopup(e);\n }\n };\n DropDownButton.prototype.focusoutHandler = function (e) {\n if (this.isPopupCreated && !this.canOpen()) {\n var liTarget = (e.relatedTarget || e.target);\n if (liTarget && liTarget.className.indexOf('e-item') > -1) {\n var li = this.getLI(liTarget);\n if (li) {\n var liIdx = Array.prototype.indexOf.call(this.getULElement().children, li);\n var item = this.items[liIdx];\n if (item) {\n var selectEventArgs = { element: li, item: item, event: e };\n this.trigger('select', selectEventArgs);\n }\n }\n }\n this.closePopup(e);\n }\n };\n DropDownButton.prototype.clickHandler = function (e) {\n var trgt = e.target;\n if (closest(trgt, '[id=\"' + this.element.id + '\"]')) {\n if (!this.createPopupOnClick || (this.target && this.target !== '' && !this.isColorPicker() && !this.createPopupOnClick)) {\n if (this.getPopUpElement().classList.contains('e-popup-close')) {\n this.openPopUp(e);\n }\n else {\n this.closePopup(e);\n }\n }\n else if (this.isPopupCreated) {\n this.closePopup(e, this.activeElem[0]);\n }\n else {\n this.createPopup();\n this.openPopUp(e);\n }\n }\n else {\n if (closest(trgt, '[id=\"' + this.getPopUpElement().id + '\"]')) {\n var li = this.getLI(e.target);\n if (li) {\n this.triggerSelect(e);\n this.closePopup(e, this.activeElem[0]);\n }\n }\n }\n };\n DropDownButton.prototype.triggerSelect = function (e) {\n var eventArgs;\n var liIdx;\n var item;\n var li = this.getLI(e.target);\n if (li) {\n liIdx = Array.prototype.indexOf.call(this.getULElement().children, li);\n item = this.items[liIdx];\n if (item) {\n eventArgs = { element: li, item: item, event: e };\n this.trigger('select', eventArgs);\n }\n }\n };\n DropDownButton.prototype.openPopUp = function (e) {\n var _this = this;\n if (e === void 0) { e = null; }\n var isReact = false;\n var popupElem = this.getPopUpElement();\n if (this.activeElem[0] && this.activeElem[0].classList.contains('e-dropdown-btn') && popupElem.style.width && popupElem.style.width !== 'auto') {\n this.setWidth(popupElem);\n }\n if (!this.target) {\n this.createItems(true);\n }\n else {\n if (this.activeElem.length > 1) {\n var splitButton = getComponent(this.activeElem[0], 'split-btn');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (splitButton.isReact && popupElem.childNodes.length < 1) {\n isReact = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (splitButton.appendReactElement) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n splitButton.appendReactElement(this.getTargetElement(), this.getPopUpElement());\n }\n this.renderReactTemplates();\n }\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.isReact && popupElem.childNodes.length < 1) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n isReact = true;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.appendReactElement) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.appendReactElement(this.getTargetElement(), this.getPopUpElement());\n }\n this.renderReactTemplates();\n }\n }\n }\n var ul = this.getULElement();\n this.popupWireEvents();\n var beforeOpenArgs = { element: ul, items: this.items, event: e, cancel: false };\n this.trigger('beforeOpen', beforeOpenArgs, function (observedArgs) {\n if (!observedArgs.cancel) {\n var ul_1 = _this.getULElement();\n var animationOptions = _this.animationSettings.effect !== 'None' ? {\n name: _this.animationSettings.effect, duration: _this.animationSettings.duration,\n timingFunction: _this.animationSettings.easing\n } : null;\n if (animationOptions) {\n _this.animatePopup(animationOptions, ul_1);\n }\n _this.dropDown.show(null, _this.element);\n addClass([_this.element], 'e-active');\n _this.element.setAttribute('aria-expanded', 'true');\n _this.element.setAttribute('aria-owns', _this.getPopUpElement().id);\n if (ul_1 && !_this.isSafari()) {\n ul_1.focus();\n }\n if (_this.enableRtl && ul_1.parentElement.style.left !== '0px') {\n var wrapperWidth = void 0;\n if (_this.element.parentElement && _this.element.parentElement.classList.contains('e-split-btn-wrapper')) {\n wrapperWidth = _this.element.parentElement.offsetWidth;\n }\n else {\n wrapperWidth = _this.element.offsetWidth;\n }\n var popupRect = ul_1.parentElement.offsetWidth - wrapperWidth;\n var popupLeft = parseFloat(ul_1.parentElement.style.left) - popupRect;\n if (popupLeft < 0) {\n popupLeft = 0;\n }\n ul_1.parentElement.style.left = popupLeft + 'px';\n }\n var openArgs = { element: ul_1, items: _this.items };\n _this.trigger('open', openArgs);\n if (ul_1 && _this.isSafari()) {\n ul_1.focus();\n }\n }\n });\n };\n DropDownButton.prototype.animatePopup = function (animationOptions, element) {\n new Animation(animationOptions).animate(element, {\n begin: function (args) {\n args.element.parentElement.style.height = args.element.parentElement.offsetHeight + 'px';\n }\n });\n };\n DropDownButton.prototype.setWidth = function (popupElem) {\n var width = formatUnit(popupElem.style.width);\n if (width.indexOf('%') > -1) {\n var btnWidth = this.element.offsetWidth * parseFloat(width) / 100;\n popupElem.style.width = btnWidth + \"px\";\n }\n };\n DropDownButton.prototype.closePopup = function (e, focusEle) {\n var _this = this;\n if (e === void 0) { e = null; }\n var ul = this.getULElement();\n var beforeCloseArgs = { element: ul, items: this.items, event: e, cancel: false };\n this.trigger('beforeClose', beforeCloseArgs, function (observedArgs) {\n if (!observedArgs.cancel) {\n var popupElement = _this.getPopUpElement();\n if (popupElement) {\n EventHandler.remove(popupElement, 'keydown', _this.keyBoardHandler);\n }\n _this.popupUnWireEvents();\n var ul_2 = _this.getULElement();\n var selectedLi = void 0;\n if (ul_2) {\n selectedLi = ul_2.querySelector('.e-selected');\n }\n if (selectedLi) {\n selectedLi.classList.remove('e-selected');\n }\n if (_this.dropDown) {\n _this.dropDown.hide();\n }\n removeClass(_this.activeElem, 'e-active');\n _this.element.setAttribute('aria-expanded', 'false');\n _this.element.removeAttribute('aria-owns');\n if (focusEle) {\n if (!_this.isSafari()) {\n if (!(_this.isColorPicker() && e.keyCode === 27)) {\n focusEle.focus();\n }\n }\n else {\n focusEle.focus({ preventScroll: true });\n }\n }\n var closeArgs = { element: ul_2, items: _this.items };\n _this.trigger('close', closeArgs);\n if (!_this.target && ul_2) {\n detach(ul_2);\n }\n if (!_this.target || _this.isColorPicker() || (_this.target && !_this.isColorPicker())) {\n if (_this.createPopupOnClick) {\n _this.destroyPopup();\n }\n }\n }\n else {\n if (observedArgs.element) {\n ul.focus();\n }\n }\n });\n };\n DropDownButton.prototype.unWireEvents = function () {\n if (!this.createPopupOnClick) {\n EventHandler.remove(document, 'mousedown touchstart', this.delegateMousedownHandler);\n }\n EventHandler.remove(this.element, 'click', this.clickHandler);\n EventHandler.remove(this.element, 'keydown', this.keyBoardHandler);\n if (this.isPopupCreated) {\n EventHandler.remove(this.getPopUpElement(), 'click', this.clickHandler);\n EventHandler.remove(this.getPopUpElement(), 'keydown', this.keyBoardHandler);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.windowResizeBound) {\n window.removeEventListener('resize', this.windowResizeBound);\n this.windowResizeBound = null;\n }\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @param {DropDownButtonModel} newProp - Specifies new properties\n * @param {DropDownButtonModel} oldProp - Specifies old properties\n * @returns {void}\n * @private\n */\n DropDownButton.prototype.onPropertyChanged = function (newProp, oldProp) {\n var btnModel = ['content', 'cssClass', 'iconCss', 'iconPosition', 'disabled', 'enableRtl'];\n this.button.setProperties(getModel(newProp, btnModel));\n var popupElement;\n if (this.isPopupCreated) {\n popupElement = this.getPopUpElement();\n this.dropDown.setProperties(getModel(newProp, ['enableRtl']));\n }\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'content':\n if (!this.element.querySelector('span.e-caret')) {\n this.appendArrowSpan();\n }\n break;\n case 'disabled':\n if (newProp.disabled) {\n this.unWireEvents();\n if (this.isPopupCreated && !this.canOpen()) {\n this.closePopup();\n }\n }\n else {\n this.wireEvents();\n }\n break;\n case 'cssClass':\n oldProp.cssClass = isNullOrUndefined(oldProp.cssClass) ? '' : oldProp.cssClass;\n if (newProp.cssClass.indexOf(classNames.VERTICAL) > -1 || oldProp.cssClass.indexOf(classNames.VERTICAL) > -1) {\n if (!this.element.querySelector('span.e-caret')) {\n this.appendArrowSpan();\n }\n var arrowSpan = this.element.querySelector('span.e-caret');\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n newProp.cssClass.indexOf(classNames.VERTICAL) > -1 ? classList(arrowSpan, ['e-icon-bottom'], ['e-icon-right'])\n : classList(arrowSpan, ['e-icon-right'], ['e-icon-bottom']);\n }\n if (this.isPopupCreated) {\n if (oldProp.cssClass) {\n removeClass([popupElement], oldProp.cssClass.split(' '));\n }\n if (newProp.cssClass) {\n addClass([popupElement], newProp.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n }\n break;\n case 'target':\n this.dropDown.content = this.getTargetElement();\n this.dropDown.dataBind();\n break;\n case 'items':\n if (this.isPopupCreated && this.getULElement()) {\n this.createItems();\n }\n break;\n case 'createPopupOnClick':\n if (newProp.createPopupOnClick) {\n this.destroyPopup();\n }\n else {\n this.createPopup();\n }\n break;\n }\n }\n };\n /**\n * Sets the focus to DropDownButton\n * its native method\n *\n * @public\n * @returns {void}\n */\n DropDownButton.prototype.focusIn = function () {\n this.element.focus();\n };\n __decorate([\n Property('')\n ], DropDownButton.prototype, \"content\", void 0);\n __decorate([\n Property('')\n ], DropDownButton.prototype, \"cssClass\", void 0);\n __decorate([\n Property(false)\n ], DropDownButton.prototype, \"disabled\", void 0);\n __decorate([\n Property('')\n ], DropDownButton.prototype, \"iconCss\", void 0);\n __decorate([\n Property('Left')\n ], DropDownButton.prototype, \"iconPosition\", void 0);\n __decorate([\n Property(true)\n ], DropDownButton.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n Collection([], Item)\n ], DropDownButton.prototype, \"items\", void 0);\n __decorate([\n Property(false)\n ], DropDownButton.prototype, \"createPopupOnClick\", void 0);\n __decorate([\n Property('')\n ], DropDownButton.prototype, \"target\", void 0);\n __decorate([\n Property('')\n ], DropDownButton.prototype, \"closeActionEvents\", void 0);\n __decorate([\n Property(null)\n ], DropDownButton.prototype, \"itemTemplate\", void 0);\n __decorate([\n Property('auto')\n ], DropDownButton.prototype, \"popupWidth\", void 0);\n __decorate([\n Complex({ effect: 'None' }, DropDownMenuAnimationSettings)\n ], DropDownButton.prototype, \"animationSettings\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"beforeItemRender\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"beforeOpen\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"beforeClose\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"close\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"open\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"select\", void 0);\n __decorate([\n Event()\n ], DropDownButton.prototype, \"created\", void 0);\n DropDownButton = __decorate([\n NotifyPropertyChanges\n ], DropDownButton);\n return DropDownButton;\n}(Component));\nexport { DropDownButton };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n 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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path='../drop-down-button/drop-down-button-model.d.ts'/>\nimport { Event, remove, addClass, removeClass, detach, getValue, setValue } from '@syncfusion/ej2-base';\nimport { EventHandler, Collection, NotifyPropertyChanges, Property } from '@syncfusion/ej2-base';\nimport { attributes, getUniqueID, getInstance, KeyboardEvents } from '@syncfusion/ej2-base';\nimport { Button } from '@syncfusion/ej2-buttons';\nimport { getModel, Item } from './../common/common';\nimport { DropDownButton } from '../drop-down-button/drop-down-button';\nvar RTL = 'e-rtl';\nvar TAGNAME = 'EJS-SPLITBUTTON';\n/**\n * SplitButton component has primary and secondary button. Primary button is used to select\n * default action and secondary button is used to toggle contextual overlays for displaying list of\n * action items. It can contain both text and images.\n * ```html\n * <button id=\"element\"></button>\n * ```\n * ```typescript\n * <script>\n * var splitBtnObj = new SplitButton({content: 'SplitButton'});\n * splitBtnObj.appendTo(\"#element\");\n * </script>\n * ```\n */\nvar SplitButton = /** @class */ (function (_super) {\n __extends(SplitButton, _super);\n /**\n * Constructor for creating the widget\n *\n * @param {SplitButtonModel} options - Specifies the splitbutton model\n * @param {string|HTMLButtonElement} element - Specifies the element\n * @hidden\n */\n function SplitButton(options, element) {\n return _super.call(this, options, element) || this;\n }\n /**\n * Initialize Angular support.\n *\n * @private\n * @returns {void}\n */\n SplitButton.prototype.preRender = function () {\n var ele = this.element;\n if (ele.tagName === TAGNAME) {\n var ejInstance = getValue('ej2_instances', ele);\n var btn = this.createElement('button', { attrs: { 'type': 'button' } });\n var wrapper = this.createElement(TAGNAME, { className: 'e-' + this.getModuleName() + '-wrapper' });\n for (var idx = 0, len = ele.attributes.length; idx < len; idx++) {\n btn.setAttribute(ele.attributes[idx].nodeName, ele.attributes[idx].nodeValue);\n }\n ele.parentNode.insertBefore(wrapper, ele);\n detach(ele);\n ele = btn;\n wrapper.appendChild(ele);\n setValue('ej2_instances', ejInstance, ele);\n this.wrapper = wrapper;\n this.element = ele;\n }\n if (!this.element.id) {\n this.element.id = getUniqueID('e-' + this.getModuleName());\n }\n };\n /**\n * Initialize the Component rendering.\n *\n * @returns {void}\n * @private\n */\n SplitButton.prototype.render = function () {\n this.initWrapper();\n this.createPrimaryButton();\n this.renderControl();\n };\n SplitButton.prototype.renderControl = function () {\n this.createSecondaryButton();\n this.setActiveElem([this.element, this.secondaryBtnObj.element]);\n this.setAria();\n this.wireEvents();\n this.renderComplete();\n };\n /**\n * Adds a new item to the menu. By default, new item appends to the list as the last item,\n * but you can insert based on the text parameter.\n *\n * @param { ItemModel[] } items - Specifies an array of JSON data.\n * @param { string } text - Specifies the text to insert the newly added item in the menu.\n * @returns {void}.\n */\n SplitButton.prototype.addItems = function (items, text) {\n _super.prototype.addItems.call(this, items, text);\n this.secondaryBtnObj.items = this.items;\n };\n /**\n * Removes the items from the menu.\n *\n * @param { string[] } items - Specifies an array of string to remove the items.\n * @param { string } isUniqueId - Set `true` if specified items is a collection of unique id.\n * @returns {void}.\n */\n SplitButton.prototype.removeItems = function (items, isUniqueId) {\n _super.prototype.removeItems.call(this, items, isUniqueId);\n this.secondaryBtnObj.items = this.items;\n };\n SplitButton.prototype.initWrapper = function () {\n if (!this.wrapper) {\n this.wrapper = this.createElement('div', { className: 'e-' + this.getModuleName() + '-wrapper' });\n this.element.parentNode.insertBefore(this.wrapper, this.element);\n }\n this.element.classList.remove('e-' + this.getModuleName());\n if (this.enableRtl) {\n this.wrapper.classList.add(RTL);\n }\n if (this.cssClass) {\n addClass([this.wrapper], this.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n }\n };\n SplitButton.prototype.createPrimaryButton = function () {\n var btnModel = {\n cssClass: this.cssClass,\n enableRtl: this.enableRtl,\n iconCss: this.iconCss,\n iconPosition: this.iconPosition,\n content: this.content,\n disabled: this.disabled\n };\n this.primaryBtnObj = new Button(btnModel);\n this.primaryBtnObj.createElement = this.createElement;\n this.primaryBtnObj.appendTo(this.element);\n this.element.classList.add('e-' + this.getModuleName());\n this.element.type = 'button';\n this.wrapper.appendChild(this.element);\n };\n SplitButton.prototype.createSecondaryButton = function () {\n var _this = this;\n var btnElem = this.createElement('button', {\n className: 'e-icon-btn',\n attrs: { 'tabindex': '-1' },\n id: this.element.id + '_dropdownbtn'\n });\n this.wrapper.appendChild(btnElem);\n var dropDownBtnModel = {\n cssClass: this.cssClass,\n disabled: this.disabled,\n enableRtl: this.enableRtl,\n items: this.items,\n target: this.target,\n createPopupOnClick: this.createPopupOnClick\n };\n dropDownBtnModel.beforeItemRender = function (args) {\n if (_this.createPopupOnClick) {\n _this.secondaryBtnObj.dropDown.relateTo = _this.wrapper;\n _this.dropDown = _this.secondaryBtnObj.dropDown;\n }\n _this.trigger('beforeItemRender', args);\n };\n dropDownBtnModel.open = function (args) {\n _this.trigger('open', args);\n };\n dropDownBtnModel.close = function (args) {\n _this.trigger('close', args);\n };\n dropDownBtnModel.select = function (args) {\n _this.trigger('select', args);\n };\n dropDownBtnModel.beforeOpen = function (args) {\n if (_this.createPopupOnClick && _this.items.length === 0) {\n _this.secondaryBtnObj.dropDown.relateTo = _this.wrapper;\n _this.dropDown = _this.secondaryBtnObj.dropDown;\n }\n var callBackPromise = new Deferred();\n _this.trigger('beforeOpen', args, function (observedArgs) {\n callBackPromise.resolve(observedArgs);\n });\n return callBackPromise;\n };\n dropDownBtnModel.beforeClose = function (args) {\n var callBackPromise = new Deferred();\n _this.trigger('beforeClose', args, function (observedArgs) {\n callBackPromise.resolve(observedArgs);\n });\n return callBackPromise;\n };\n this.secondaryBtnObj = new DropDownButton(dropDownBtnModel);\n this.secondaryBtnObj.createElement = this.createElement;\n this.secondaryBtnObj.appendTo(btnElem);\n if (!this.createPopupOnClick) {\n this.secondaryBtnObj.dropDown.relateTo = this.wrapper;\n this.dropDown = this.secondaryBtnObj.dropDown;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.isPopupCreated = this.secondaryBtnObj.isPopupCreated;\n this.secondaryBtnObj.activeElem = [this.element, this.secondaryBtnObj.element];\n this.secondaryBtnObj.element.querySelector('.e-btn-icon').classList.remove('e-icon-right');\n if (this.disabled) {\n this.wrapper.classList.add('e-splitbtn-disabled');\n }\n };\n SplitButton.prototype.setAria = function () {\n attributes(this.element, {\n 'aria-expanded': 'false', 'aria-haspopup': 'true',\n 'aria-label': this.element.textContent ? this.element.textContent + ' splitbutton' : 'splitbutton', 'aria-owns': this.element.id + '_dropdownbtn-popup'\n });\n };\n /**\n * Get component name.\n *\n * @returns {string} - Module Name\n * @private\n */\n SplitButton.prototype.getModuleName = function () {\n return 'split-btn';\n };\n /**\n * To open/close SplitButton popup based on current state of the SplitButton.\n *\n * @returns {void}\n */\n SplitButton.prototype.toggle = function () {\n this.secondaryBtnObj.toggle();\n };\n SplitButton.prototype.destroy = function () {\n var _this = this;\n var classList = [RTL];\n if (this.cssClass) {\n classList = classList.concat(this.cssClass.split(' '));\n }\n if (this.element) {\n var element = document.getElementById(this.element.id);\n if (element && element.parentElement === this.wrapper) {\n if (this.wrapper.tagName === TAGNAME) {\n this.wrapper.innerHTML = '';\n removeClass([this.wrapper], ['e-rtl', 'e-' + this.getModuleName() + '-wrapper']);\n removeClass([this.wrapper], this.cssClass.split(' '));\n }\n else {\n removeClass([this.element], classList);\n ['aria-label', 'aria-haspopup', 'aria-expanded', 'aria-owns', 'type'].forEach(function (key) {\n _this.element.removeAttribute(key);\n });\n this.wrapper.parentNode.insertBefore(this.element, this.wrapper);\n remove(this.wrapper);\n }\n this.unWireEvents();\n }\n }\n this.primaryBtnObj.destroy();\n this.secondaryBtnObj.destroy();\n _super.prototype.destroy.call(this);\n if (this.element && !this.element.getAttribute('class')) {\n this.element.removeAttribute('class');\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (this.refreshing && this.isAngular) {\n this.element = this.wrapper;\n ['e-control', 'e-split-btn', 'e-lib'].forEach(function (key) {\n _this.element.classList.add(key);\n });\n setValue('ej2_instances', [this], this.element);\n }\n this.wrapper = null;\n };\n SplitButton.prototype.wireEvents = function () {\n EventHandler.add(this.element, 'click', this.primaryBtnClickHandler, this);\n new KeyboardEvents(this.element, {\n keyAction: this.btnKeyBoardHandler.bind(this),\n keyConfigs: {\n altdownarrow: 'alt+downarrow',\n enter: 'enter'\n }\n });\n };\n SplitButton.prototype.unWireEvents = function () {\n EventHandler.remove(this.element, 'click', this.primaryBtnClickHandler);\n getInstance(this.element, KeyboardEvents).destroy();\n };\n SplitButton.prototype.primaryBtnClickHandler = function () {\n this.trigger('click', { element: this.element });\n };\n SplitButton.prototype.btnKeyBoardHandler = function (e) {\n switch (e.action) {\n case 'altdownarrow':\n this.clickHandler(e);\n break;\n case 'enter':\n this.clickHandler(e);\n if (this.getPopUpElement() && !this.getPopUpElement().classList.contains('e-popup-close')) {\n this.element.classList.remove('e-active');\n this.secondaryBtnObj.element.classList.add('e-active');\n }\n else {\n this.secondaryBtnObj.element.classList.remove('e-active');\n }\n break;\n }\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @param {SplitButtonModel} newProp - Specifies new properties\n * @param {SplitButtonModel} oldProp - Specifies old properties\n * @returns {void}\n */\n SplitButton.prototype.onPropertyChanged = function (newProp, oldProp) {\n var model = ['content', 'iconCss', 'iconPosition', 'cssClass', 'disabled', 'enableRtl'];\n this.primaryBtnObj.setProperties(getModel(newProp, model));\n model = ['beforeOpen', 'beforeItemRender', 'select', 'open',\n 'close', 'cssClass', 'disabled', 'enableRtl', 'createPopupOnClick'];\n if (Object.keys(newProp).indexOf('items') > -1) {\n this.secondaryBtnObj.items = newProp.items;\n this.secondaryBtnObj.dataBind();\n }\n this.secondaryBtnObj.setProperties(getModel(newProp, model));\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'cssClass':\n if (oldProp.cssClass) {\n removeClass([this.wrapper], oldProp.cssClass.split(' '));\n }\n addClass([this.wrapper], newProp.cssClass.replace(/\\s+/g, ' ').trim().split(' '));\n break;\n case 'enableRtl':\n if (newProp.enableRtl) {\n addClass([this.wrapper], RTL);\n }\n else {\n removeClass([this.wrapper], RTL);\n }\n break;\n case 'disabled':\n if (newProp.disabled) {\n addClass([this.wrapper], 'e-splitbtn-disabled');\n }\n else {\n removeClass([this.wrapper], 'e-splitbtn-disabled');\n }\n }\n }\n };\n /**\n * Sets the focus to SplitButton\n * its native method\n *\n * @public\n * @returns {void}\n */\n SplitButton.prototype.focusIn = function () {\n this.element.focus();\n };\n __decorate([\n Property('')\n ], SplitButton.prototype, \"content\", void 0);\n __decorate([\n Property('')\n ], SplitButton.prototype, \"cssClass\", void 0);\n __decorate([\n Property(false)\n ], SplitButton.prototype, \"disabled\", void 0);\n __decorate([\n Property('')\n ], SplitButton.prototype, \"iconCss\", void 0);\n __decorate([\n Property('Left')\n ], SplitButton.prototype, \"iconPosition\", void 0);\n __decorate([\n Property(false)\n ], SplitButton.prototype, \"createPopupOnClick\", void 0);\n __decorate([\n Collection([], Item)\n ], SplitButton.prototype, \"items\", void 0);\n __decorate([\n Property('')\n ], SplitButton.prototype, \"target\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"beforeItemRender\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"beforeOpen\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"beforeClose\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"click\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"close\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"open\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"select\", void 0);\n __decorate([\n Event()\n ], SplitButton.prototype, \"created\", void 0);\n SplitButton = __decorate([\n NotifyPropertyChanges\n ], SplitButton);\n return SplitButton;\n}(DropDownButton));\nexport { SplitButton };\n/**\n * Deferred is used to handle asynchronous operation.\n */\nvar Deferred = /** @class */ (function () {\n function Deferred() {\n var _this = this;\n /**\n * Promise is an object that represents a value that may not be available yet, but will be resolved at some point in the future.\n */\n this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n /**\n * Defines the callback function triggers when the Deferred object is rejected.\n */\n this.catch = this.promise.catch.bind(this.promise);\n /**\n * Defines the callback function triggers when the Deferred object is resolved.\n */\n this.then = this.promise.then.bind(this.promise);\n }\n return Deferred;\n}());\nexport { Deferred };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n 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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { Button } from '@syncfusion/ej2-buttons';\nimport { EventHandler, Property, NotifyPropertyChanges, Animation, attributes, animationMode } from '@syncfusion/ej2-base';\nimport { Event, remove, removeClass } from '@syncfusion/ej2-base';\nimport { Complex, ChildProperty, SanitizeHtmlHelper } from '@syncfusion/ej2-base';\nimport { createSpinner, showSpinner, hideSpinner } from '@syncfusion/ej2-popups';\nvar HIDESPINNER = 'e-hide-spinner';\nvar PROGRESS = 'e-progress';\nvar PROGRESSACTIVE = 'e-progress-active';\nvar CONTENTCLS = 'e-btn-content';\n/**\n * Defines the spin settings.\n */\nvar SpinSettings = /** @class */ (function (_super) {\n __extends(SpinSettings, _super);\n function SpinSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n Property(null)\n ], SpinSettings.prototype, \"template\", void 0);\n __decorate([\n Property(16)\n ], SpinSettings.prototype, \"width\", void 0);\n __decorate([\n Property('Left')\n ], SpinSettings.prototype, \"position\", void 0);\n return SpinSettings;\n}(ChildProperty));\nexport { SpinSettings };\n/**\n * Defines the animation settings.\n */\nvar AnimationSettings = /** @class */ (function (_super) {\n __extends(AnimationSettings, _super);\n function AnimationSettings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n __decorate([\n Property(400)\n ], AnimationSettings.prototype, \"duration\", void 0);\n __decorate([\n Property('None')\n ], AnimationSettings.prototype, \"effect\", void 0);\n __decorate([\n Property('ease')\n ], AnimationSettings.prototype, \"easing\", void 0);\n return AnimationSettings;\n}(ChildProperty));\nexport { AnimationSettings };\n/**\n * The ProgressButton visualizes the progression of an operation to indicate the user\n * that a process is happening in the background with visual representation.\n * ```html\n * <button id=\"element\"></button>\n * ```\n * ```typescript\n * <script>\n * var progressButtonObj = new ProgressButton({ content: 'Progress Button' });\n * progressButtonObj.appendTo(\"#element\");\n * </script>\n * ```\n */\nvar ProgressButton = /** @class */ (function (_super) {\n __extends(ProgressButton, _super);\n /**\n * Constructor for creating the widget.\n *\n * @param {ProgressButtonModel} options - Specifies progress button model\n * @param {string|HTMLButtonElement} element - Specifies element\n */\n function ProgressButton(options, element) {\n var _this = _super.call(this, options, element) || this;\n _this.step = 1;\n return _this;\n }\n ProgressButton.prototype.preRender = function () {\n _super.prototype.preRender.call(this);\n };\n /**\n * Initialize the Component rendering\n *\n * @returns {void}\n * @private\n */\n ProgressButton.prototype.render = function () {\n _super.prototype.render.call(this);\n this.init();\n this.wireEvents();\n this.setAria();\n this.renderComplete();\n };\n /**\n * Starts the button progress at the specified percent.\n *\n * @param {number} percent - Starts the button progress at this percent.\n * @returns {void}\n */\n ProgressButton.prototype.start = function (percent) {\n this.isPaused = false;\n this.startProgress(percent ? percent : this.percent, this.progressTime);\n };\n /**\n * Stops the button progress.\n *\n * @returns {void}\n */\n ProgressButton.prototype.stop = function () {\n this.isPaused = true;\n cancelAnimationFrame(this.timerId);\n };\n /**\n * Complete the button progress.\n *\n * @returns {void}\n */\n ProgressButton.prototype.progressComplete = function () {\n this.isPaused = false;\n this.finishProgress();\n };\n /**\n * Get component name.\n *\n * @returns {string} - Module Name\n * @private\n */\n ProgressButton.prototype.getModuleName = function () {\n return 'progress-btn';\n };\n /**\n * Destroys the widget.\n *\n * @returns {void}\n */\n ProgressButton.prototype.destroy = function () {\n var _this = this;\n var classList = [HIDESPINNER, PROGRESSACTIVE, 'e-round-corner', 'e-' + _super.prototype.getModuleName.call(this)];\n if (this.spinSettings.position) {\n classList.push('e-spin-' + this.spinSettings.position.toLowerCase());\n }\n _super.prototype.destroy.call(this);\n this.unWireEvents();\n this.element.innerHTML = '';\n if (this.cssClass) {\n classList = classList.concat(this.cssClass.split(' '));\n }\n removeClass([this.element], classList);\n var css = this.element.getAttribute('class') ? ['aria-label', 'aria-valuemin', 'aria-valuemax', 'aria-valuenow']\n : ['aria-label', 'aria-valuemin', 'aria-valuemax', 'aria-valuenow', 'class'];\n css.forEach(function (key) {\n _this.element.removeAttribute(key);\n });\n if (this.disabled) {\n this.element.removeAttribute('disabled');\n }\n };\n ProgressButton.prototype.init = function () {\n this.element.classList.add('e-' + _super.prototype.getModuleName.call(this));\n this.setContent();\n this.createSpinner();\n if (this.enableProgress) {\n this.createProgress();\n }\n };\n ProgressButton.prototype.createSpinner = function () {\n var spinner = this.createElement('span', { className: 'e-spinner' });\n this.setSpinPosition(spinner);\n createSpinner({\n target: spinner, width: this.spinSettings.width || 16, template: this.spinSettings.template\n }, this.createElement);\n };\n ProgressButton.prototype.getSpinner = function () {\n return this.element.getElementsByClassName('e-spinner')[0];\n };\n ProgressButton.prototype.getProgress = function () {\n return this.element.getElementsByClassName(PROGRESS)[0];\n };\n ProgressButton.prototype.setSpinPosition = function (ele) {\n var position = this.spinSettings.position || 'Left';\n if (position === 'Left' || position === 'Top') {\n this.element.insertBefore(ele, this.element.getElementsByClassName(CONTENTCLS)[0]);\n }\n else {\n this.element.appendChild(ele);\n }\n this.element.classList.add('e-spin-' + position.toLowerCase());\n };\n ProgressButton.prototype.createProgress = function () {\n this.element.appendChild(this.createElement('span', { className: PROGRESS }));\n };\n ProgressButton.prototype.setContent = function () {\n var cont;\n cont = this.element.innerHTML;\n if (this.enableHtmlSanitizer) {\n cont = SanitizeHtmlHelper.sanitize(this.element.innerHTML);\n }\n this.element.innerHTML = '';\n this.element.appendChild(this.createElement('span', { className: CONTENTCLS, innerHTML: cont }));\n };\n ProgressButton.prototype.clickHandler = function () {\n if (this.element.classList.contains(PROGRESSACTIVE)) {\n return;\n }\n this.startProgress();\n };\n ProgressButton.prototype.startProgress = function (percent, progressTime) {\n var clsList = this.element.classList;\n var isVertical = clsList.contains('e-vertical');\n clsList.add(PROGRESSACTIVE);\n if (!(clsList.contains(HIDESPINNER))) {\n showSpinner(this.element.querySelector('.e-spinner'));\n }\n this.startAnimate(Date.now(), progressTime ? progressTime : 0, progressTime ? Date.now() - (this.duration * 1 / 100) : Date.now(), percent ? percent : 0, 0, this.step, 0, isVertical);\n this.startContAnimate();\n };\n ProgressButton.prototype.startAnimate = function (timestamp, progressTime, prevTime, percent, prevPercent, step, prevProgressTime, isVertical) {\n var _this = this;\n try {\n var timeDiff = timestamp - prevTime;\n var stepTime = this.duration * step / 100;\n var timeDiffBuffer_1 = timeDiff ? (timeDiff < stepTime ? timeDiff - stepTime : timeDiff % stepTime) : 0;\n this.progressTime = progressTime = progressTime + timeDiff - timeDiffBuffer_1;\n prevTime = timestamp - timeDiffBuffer_1;\n percent = percent + (timeDiff - timeDiffBuffer_1) / this.duration * 100;\n prevPercent = ((progressTime - prevProgressTime) % stepTime === 0 || percent === 100) ? percent : prevPercent;\n var args = { percent: prevPercent, currentDuration: progressTime, step: step };\n this.eIsVertical = isVertical;\n if (percent === 0) {\n this.trigger('begin', args, function (observedArgs) {\n _this.successCallback(observedArgs, percent, prevPercent, progressTime, prevProgressTime, timeDiffBuffer_1, prevTime);\n });\n }\n else if (percent === 100 || progressTime === this.duration) {\n this.trigger('end', args, function (observedArgs) {\n _this.successCallback(observedArgs, percent, prevPercent, progressTime, prevProgressTime, timeDiffBuffer_1, prevTime);\n });\n }\n else {\n this.trigger('progress', args, function (observedArgs) {\n _this.successCallback(observedArgs, percent, prevPercent, progressTime, prevProgressTime, timeDiffBuffer_1, prevTime);\n });\n }\n }\n catch (e) {\n cancelAnimationFrame(this.timerId);\n this.trigger('fail', e);\n }\n };\n ProgressButton.prototype.successCallback = function (args, perc, pPerc, prgTim, pPrgTim, timDif, pTim) {\n var _this = this;\n var percent = perc;\n var prevPercent = pPerc;\n var timeDiffBuffer = timDif;\n var progressTime = prgTim;\n var prevProgressTime = pPrgTim;\n var prevTime = pTim;\n var isVertical = this.eIsVertical;\n if (percent !== args.percent && args.percent !== prevPercent) {\n percent = args.percent;\n }\n this.percent = percent;\n this.step = args.step;\n if ((progressTime - prevProgressTime) % (this.duration * args.step / 100) === 0 || percent === 100) {\n this.timerId = requestAnimationFrame(function () {\n if (_this.enableProgress && _this.getProgress()) {\n _this.getProgress().style[isVertical ? 'height' : 'width'] = percent + '%';\n }\n _this.element.setAttribute('aria-valuenow', percent.toString());\n });\n prevPercent = percent;\n prevProgressTime = progressTime;\n }\n if (!this.isPaused) {\n if (progressTime < this.duration && percent < 100) {\n this.interval = window.setTimeout(function () {\n _this.startAnimate(Date.now(), progressTime, prevTime, percent, prevPercent, args.step, prevProgressTime, isVertical);\n }, (this.duration / 100) - timeDiffBuffer);\n }\n else {\n this.interval = window.setTimeout(function () {\n _this.progressTime = _this.percent = 0;\n if (_this.enableProgress && _this.getProgress()) {\n _this.getProgress().style[isVertical ? 'height' : 'width'] = '0%';\n }\n _this.element.setAttribute('aria-valuenow', '0');\n _this.hideSpin();\n }, 100);\n }\n }\n };\n ProgressButton.prototype.startContAnimate = function () {\n var _this = this;\n var ele = this.element.getElementsByClassName(CONTENTCLS)[0];\n if (this.animationSettings.effect !== 'None') {\n (new Animation({})).animate(ele, {\n duration: (this.animationSettings.duration === 0 && animationMode === 'Enable') ? 400 : this.animationSettings.duration,\n name: 'Progress' + this.animationSettings.effect,\n timingFunction: this.animationSettings.easing,\n begin: function () {\n if (_this.spinSettings.position === 'Center') {\n _this.setSpinnerSize();\n }\n },\n end: function () {\n ele.classList.add('e-animate-end');\n }\n });\n }\n else if (this.spinSettings.position === 'Center') {\n this.setSpinnerSize();\n }\n };\n ProgressButton.prototype.finishProgress = function () {\n var clsList = this.element.classList;\n var isVertical = clsList.contains('e-vertical');\n clsList.add(PROGRESSACTIVE);\n var count = 100;\n for (var i = this.percent; i < count; i++) {\n i += 10;\n if (i > 100) {\n i = 100;\n }\n if (this.enableProgress && this.getProgress()) {\n this.getProgress().style[isVertical ? 'height' : 'width'] = (this.percent < 100) ? (i + '%') : '100%';\n }\n }\n this.element.setAttribute('aria-valuenow', '0');\n this.hideSpin();\n var args = { step: this.step, currentDuration: this.progressTime, percent: 100 };\n clearTimeout(this.interval);\n this.trigger('end', args);\n this.progressTime = this.percent = 0;\n };\n ProgressButton.prototype.setSpinnerSize = function () {\n var ele = this.element.getElementsByClassName(CONTENTCLS)[0];\n var spinner = this.getSpinner();\n spinner.style.width = Math.max(spinner.offsetWidth, ele.offsetWidth) + 'px';\n spinner.style.height = Math.max(spinner.offsetHeight, ele.offsetHeight) + 'px';\n ele.classList.add('e-cont-animate');\n };\n ProgressButton.prototype.hideSpin = function () {\n var cont = this.element.getElementsByClassName(CONTENTCLS)[0];\n if (!(this.element.classList.contains(HIDESPINNER))) {\n hideSpinner(this.element.querySelector('.e-spinner'));\n }\n this.element.classList.remove(PROGRESSACTIVE);\n if (this.animationSettings.effect !== 'None') {\n cont.classList.remove('e-animate-end');\n }\n if (this.spinSettings.position === 'Center') {\n var ele = this.getSpinner();\n cont.classList.remove('e-cont-animate');\n ele.style.width = 'auto';\n ele.style.height = 'auto';\n }\n };\n ProgressButton.prototype.setIconSpan = function () {\n var cont = this.element.getElementsByClassName(CONTENTCLS)[0];\n var iconSpan = this.element.getElementsByClassName('e-btn-icon')[0];\n if (cont.childNodes[0] && (this.iconPosition === 'Left' || this.iconPosition === 'Top')) {\n cont.insertBefore(iconSpan, cont.childNodes[0]);\n }\n else {\n cont.appendChild(iconSpan);\n }\n };\n ProgressButton.prototype.setAria = function () {\n attributes(this.element, {\n 'aria-label': this.element.textContent + ' progress'\n });\n };\n ProgressButton.prototype.wireEvents = function () {\n EventHandler.add(this.element, 'click', this.clickHandler, this);\n };\n ProgressButton.prototype.unWireEvents = function () {\n EventHandler.remove(this.element, 'click', this.clickHandler);\n };\n /**\n * Called internally if any of the property value changed.\n *\n * @param {ProgressButtonModel} newProp - Specifies new properties\n * @param {ProgressButtonModel} oldProp - Specifies old properties\n * @returns {void}\n * @private\n */\n ProgressButton.prototype.onPropertyChanged = function (newProp, oldProp) {\n var ele = this.element;\n var isSpinning = false;\n var clsList = this.element.querySelector('.e-spinner-pane').classList;\n if (clsList.contains('e-spin-show')) {\n isSpinning = true;\n }\n _super.prototype.onPropertyChanged.call(this, newProp, oldProp);\n for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {\n var prop = _a[_i];\n switch (prop) {\n case 'content':\n this.setContent();\n this.createSpinner();\n if (isSpinning) {\n showSpinner(this.element.querySelector('.e-spinner'));\n isSpinning = false;\n }\n if (this.enableProgress) {\n this.createProgress();\n }\n ele.setAttribute('aria-label', ele.textContent + ' progress');\n break;\n case 'iconCss':\n if (!oldProp.iconCss) {\n this.setIconSpan();\n }\n break;\n case 'iconPosition':\n this.setIconSpan();\n break;\n case 'enableProgress':\n if (newProp.enableProgress) {\n this.createProgress();\n }\n else {\n remove(this.getProgress());\n }\n break;\n case 'spinSettings':\n if (newProp.spinSettings.position) {\n ele.classList.remove('e-spin-' + oldProp.spinSettings.position.toLowerCase());\n this.setSpinPosition(this.getSpinner());\n }\n if (newProp.spinSettings.template || newProp.spinSettings.width) {\n ele.removeChild(this.getSpinner());\n this.createSpinner();\n }\n break;\n }\n }\n };\n /**\n * Sets the focus to ProgressButton\n * its native method\n *\n * @public\n * @returns {void}\n */\n ProgressButton.prototype.focusIn = function () {\n this.element.focus();\n };\n __decorate([\n Property(false)\n ], ProgressButton.prototype, \"enableProgress\", void 0);\n __decorate([\n Property(2000)\n ], ProgressButton.prototype, \"duration\", void 0);\n __decorate([\n Property('Left')\n ], ProgressButton.prototype, \"iconPosition\", void 0);\n __decorate([\n Property('')\n ], ProgressButton.prototype, \"iconCss\", void 0);\n __decorate([\n Property(false)\n ], ProgressButton.prototype, \"disabled\", void 0);\n __decorate([\n Property(false)\n ], ProgressButton.prototype, \"isPrimary\", void 0);\n __decorate([\n Property('')\n ], ProgressButton.prototype, \"cssClass\", void 0);\n __decorate([\n Property('')\n ], ProgressButton.prototype, \"content\", void 0);\n __decorate([\n Property(false)\n ], ProgressButton.prototype, \"isToggle\", void 0);\n __decorate([\n Property(true)\n ], ProgressButton.prototype, \"enableHtmlSanitizer\", void 0);\n __decorate([\n Complex({}, SpinSettings)\n ], ProgressButton.prototype, \"spinSettings\", void 0);\n __decorate([\n Complex({}, AnimationSettings)\n ], ProgressButton.prototype, \"animationSettings\", void 0);\n __decorate([\n Event()\n ], ProgressButton.prototype, \"created\", void 0);\n __decorate([\n Event()\n ], ProgressButton.prototype, \"begin\", void 0);\n __decorate([\n Event()\n ], ProgressButton.prototype, \"progress\", void 0);\n __decorate([\n Event()\n ], ProgressButton.prototype, \"end\", void 0);\n __decorate([\n Event()\n ], ProgressButton.prototype, \"fail\", void 0);\n ProgressButton = __decorate([\n NotifyPropertyChanges\n ], ProgressButton);\n return ProgressButton;\n}(Button));\nexport { ProgressButton };\n","import { addClass, createElement as internalCreateElement, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { Button } from '@syncfusion/ej2-buttons';\n/**\n * Initialize ButtonGroup CSS component with specified properties.\n * ```html\n * <div id='buttongroup'>\n * <button></button>\n * <button></button>\n * <button></button>\n * </div>\n * ```\n * ```typescript\n * createButtonGroup('#buttongroup', {\n * cssClass: 'e-outline',\n * buttons: [\n * { content: 'Day' },\n * { content: 'Week' },\n * { content: 'Work Week'}\n * ]\n * });\n * ```\n *\n * @param {string} selector\n * @param {CreateButtonGroupModel} options\n * @returns HTMLElement\n */\n/**\n * Creates button group.\n *\n * @param {string} selector - Specifies the selector.\n * @param {CreateButtonGroupModel} options - Specifies the button group model.\n * @param {Function} createElement - Specifies the element.\n * @returns {HTMLElement} - Button group element.\n */\nexport function createButtonGroup(selector, options, createElement) {\n if (options === void 0) { options = {}; }\n var child;\n var btnElem;\n var nextChild;\n var btnModel;\n if (isNullOrUndefined(createElement)) {\n createElement = internalCreateElement;\n }\n var wrapper = document.querySelector(selector);\n addClass([wrapper], ['e-btn-group', 'e-css']);\n wrapper.setAttribute('role', 'group');\n var childs = wrapper.children;\n options.buttons = options.buttons || [];\n for (var i = 0, j = 0; j < childs.length; i++, j++) {\n child = childs[j];\n btnModel = options.buttons[i];\n if (btnModel !== null) {\n if (child.tagName === 'BUTTON') {\n btnElem = child;\n }\n else {\n btnElem = createElement('label');\n nextChild = childs[j + 1];\n if (nextChild) {\n wrapper.insertBefore(btnElem, nextChild);\n }\n else {\n wrapper.appendChild(btnElem);\n }\n if (child.id) {\n btnElem.setAttribute('for', child.id);\n }\n if (btnModel && btnModel.disabled) {\n child.disabled = true;\n }\n j++;\n }\n if (options.cssClass && btnModel && !btnModel.cssClass) {\n btnModel.cssClass = options.cssClass;\n }\n new Button(btnModel || {}, btnElem);\n }\n }\n return wrapper;\n}\n"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","getModel","props","model","obj","extend","_i","_a","keys","prop","indexOf","deleteObject","upDownKeyHandler","ul","keyCode","defaultIdx","childElementCount","liIdx","selectedLi","querySelector","classList","remove","len","children","contains","isValidLI","li","index","count","addClass","focus","setBlankIconStyle","popup","blankIcon","icon","cssProp","size","blankIconList","slice","call","getElementsByClassName","forEach","style","paddingLeft","paddingRight","removeAttribute","iconLi","isNullOrUndefined","enableRtl","padding","margin","parseInt","getComputedStyle","fontSize","_super","ChildProperty","Item","Property","apply","classNames","DropDownMenuAnimationSettings","Component","DropDownButton","preRender","getPersistData","addOnPersist","toggle","canOpen","openPopUp","createPopupOnClick","isPopupCreated","createPopup","closePopup","render","initialize","disabled","wireEvents","renderComplete","addItems","items","text","newItem","idx","j","splice","createItems","removeItems","isUniqueId","refresh","len_1","id","getULElement","splitButton","div","createElement","className","popupWidth","element","document","body","appendChild","dropDown","Popup","width","relateTo","collision","X","Y","position","targetType","content","getTargetElement","setAttribute","popupContent","display","refreshPosition","hide","attributes","cssClass","replace","trim","split","getComponent","activeElem","isColorPicker","select","appendItems","eventArgs","_this","showIcon","hasIcon","innerHTML","attrs","role","tabindex","itemTemplate","compiledTemplate_1","compiletemplate","item","separator","aria-label","aria-hidden","getUniqueID","getModuleName","compiledElement","append","add","trigger","isReact","renderReactTemplates","enableHtmlSanitizer","SanitizeHtmlHelper","sanitize","tempItem","url","beforeDisabled","textContent","createAnchor","iconCss","span","childNodes","insertBefore","getPopUpElement","template","templateElement","compile","field","anchor","href","button","Button","iconPosition","enablePersistence","appendTo","appendArrowSpan","setActiveElem","prevElem","previousSibling","elem","val","destroy","classList_1","detach","removeClass","getAttribute","popupUnWireEvents","destroyPopup","unWireEvents","popupEle","getElementById","EventHandler","clickHandler","keyBoardHandler","undefined","dropDownButton","dropDownBtn","delegateMousedownHandler","mousedownHandler","bind","windowResizeBound","windowResize","window","addEventListener","popupWireEvents","popupElement","closeActionEvents","focusoutHandler","rippleFn","rippleEffect","selector","parentElement","isRippleEnabled","e","altKey","preventDefault","keyEventHandler","isSafari","test","navigator","userAgent","triggerSelect","getLI","tagName","closest","trgt","liTarget","relatedTarget","event","popupElem","setWidth","appendReactElement","beforeOpenArgs","cancel","observedArgs","openArgs","ul_1","animationOptions","animationSettings","effect","name","duration","timingFunction","easing","animatePopup","show","left","wrapperWidth","offsetWidth","popupRect","popupLeft","parseFloat","Animation","animate","begin","args","height","offsetHeight","formatUnit","btnWidth","focusEle","beforeCloseArgs","ul_2","preventScroll","closeArgs","removeEventListener","onPropertyChanged","newProp","oldProp","setProperties","arrowSpan","dataBind","focusIn","Collection","Complex","Event","NotifyPropertyChanges","options","RTL","TAGNAME","SplitButton","ele","ejInstance","getValue","btn","type","wrapper","nodeName","nodeValue","parentNode","setValue","initWrapper","createPrimaryButton","renderControl","createSecondaryButton","secondaryBtnObj","setAria","btnModel","primaryBtnObj","btnElem","dropDownBtnModel","beforeItemRender","open","close","beforeOpen","callBackPromise","Deferred","resolve","beforeClose","aria-expanded","aria-haspopup","aria-owns","concat","refreshing","isAngular","primaryBtnClickHandler","KeyboardEvents","keyAction","btnKeyBoardHandler","keyConfigs","altdownarrow","enter","getInstance","action","promise","Promise","reject","catch","then","HIDESPINNER","PROGRESS","PROGRESSACTIVE","CONTENTCLS","SpinSettings","AnimationSettings","ProgressButton","init","start","percent","isPaused","startProgress","progressTime","stop","cancelAnimationFrame","timerId","progressComplete","finishProgress","spinSettings","push","toLowerCase","setContent","createSpinner","enableProgress","createProgress","spinner","setSpinPosition","getSpinner","getProgress","cont","clsList","isVertical","showSpinner","startAnimate","Date","now","step","startContAnimate","timestamp","prevTime","prevPercent","prevProgressTime","timeDiff","stepTime","timeDiffBuffer_1","currentDuration","eIsVertical","successCallback","perc","pPerc","prgTim","pPrgTim","timDif","pTim","timeDiffBuffer","requestAnimationFrame","toString","interval","setTimeout","hideSpin","animationMode","setSpinnerSize","end","clearTimeout","Math","max","hideSpinner","setIconSpan","iconSpan","isSpinning","removeChild","internalCreateElement","child","nextChild","childs","buttons"],"mappings":"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"}