smart-webcomponents 15.0.1 → 15.0.11

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 (929) hide show
  1. package/bootstrap/source/smart.element.js +1 -1
  2. package/framework/smart.element.js +1 -1
  3. package/package.json +1 -1
  4. package/source/angular/accordion/index.ts +1 -0
  5. package/source/angular/accordion/public_api.ts +5 -0
  6. package/source/angular/accordion/smart.accordion.module.ts +13 -0
  7. package/source/angular/accordion/smart.accordion.ts +370 -0
  8. package/source/angular/accordion/smart.accordionitem.ts +142 -0
  9. package/source/angular/accordion/smart.element.ts +104 -0
  10. package/source/angular/array/index.ts +1 -0
  11. package/source/angular/array/public_api.ts +3 -0
  12. package/source/angular/array/smart.array.module.ts +12 -0
  13. package/source/angular/array/smart.array.ts +817 -0
  14. package/source/angular/array/smart.element.ts +104 -0
  15. package/source/angular/barcode/index.ts +1 -0
  16. package/source/angular/barcode/public_api.ts +3 -0
  17. package/source/angular/barcode/smart.barcode.module.ts +12 -0
  18. package/source/angular/barcode/smart.barcode.ts +288 -0
  19. package/source/angular/barcode/smart.element.ts +104 -0
  20. package/source/angular/bootstrap/bootstrap.button.ts +160 -0
  21. package/source/angular/bootstrap/bootstrap.checkbox.ts +165 -0
  22. package/source/angular/bootstrap/bootstrap.circular.ts +151 -0
  23. package/source/angular/bootstrap/bootstrap.dropdown.ts +253 -0
  24. package/source/angular/bootstrap/bootstrap.fileinput.ts +133 -0
  25. package/source/angular/bootstrap/bootstrap.input.ts +160 -0
  26. package/source/angular/bootstrap/bootstrap.inputgroup.ts +178 -0
  27. package/source/angular/bootstrap/bootstrap.modal.ts +204 -0
  28. package/source/angular/bootstrap/bootstrap.progressbar.ts +151 -0
  29. package/source/angular/bootstrap/bootstrap.radiobutton.ts +156 -0
  30. package/source/angular/bootstrap/bootstrap.range.ts +133 -0
  31. package/source/angular/bootstrap/bootstrap.splitbutton.ts +253 -0
  32. package/source/angular/bootstrap/bootstrap.switchbutton.ts +165 -0
  33. package/source/angular/bootstrap/bootstrap.tabs.ts +175 -0
  34. package/source/angular/bootstrap/bootstrap.textarea.ts +160 -0
  35. package/source/angular/bootstrap/bootstrap.togglebutton.ts +156 -0
  36. package/source/angular/bootstrap/index.ts +1 -0
  37. package/source/angular/bootstrap/public_api.ts +17 -0
  38. package/source/angular/bootstrap/smart.element.ts +104 -0
  39. package/source/angular/breadcrumb/index.ts +1 -0
  40. package/source/angular/breadcrumb/public_api.ts +3 -0
  41. package/source/angular/breadcrumb/smart.breadcrumb.module.ts +12 -0
  42. package/source/angular/breadcrumb/smart.breadcrumb.ts +306 -0
  43. package/source/angular/breadcrumb/smart.element.ts +104 -0
  44. package/source/angular/button/index.ts +1 -0
  45. package/source/angular/button/public_api.ts +9 -0
  46. package/source/angular/button/smart.button.module.ts +15 -0
  47. package/source/angular/button/smart.button.ts +230 -0
  48. package/source/angular/button/smart.element.ts +104 -0
  49. package/source/angular/button/smart.powerbutton.ts +283 -0
  50. package/source/angular/button/smart.repeatbutton.ts +214 -0
  51. package/source/angular/button/smart.togglebutton.ts +235 -0
  52. package/source/angular/buttongroup/index.ts +1 -0
  53. package/source/angular/buttongroup/public_api.ts +3 -0
  54. package/source/angular/buttongroup/smart.buttongroup.module.ts +12 -0
  55. package/source/angular/buttongroup/smart.buttongroup.ts +229 -0
  56. package/source/angular/buttongroup/smart.element.ts +104 -0
  57. package/source/angular/calendar/index.ts +1 -0
  58. package/source/angular/calendar/public_api.ts +3 -0
  59. package/source/angular/calendar/smart.calendar.module.ts +12 -0
  60. package/source/angular/calendar/smart.calendar.ts +787 -0
  61. package/source/angular/calendar/smart.element.ts +104 -0
  62. package/source/angular/card/index.ts +1 -0
  63. package/source/angular/card/public_api.ts +3 -0
  64. package/source/angular/card/smart.card.module.ts +12 -0
  65. package/source/angular/card/smart.card.ts +220 -0
  66. package/source/angular/card/smart.element.ts +104 -0
  67. package/source/angular/cardview/index.ts +1 -0
  68. package/source/angular/cardview/public_api.ts +3 -0
  69. package/source/angular/cardview/smart.cardview.module.ts +12 -0
  70. package/source/angular/cardview/smart.cardview.ts +573 -0
  71. package/source/angular/cardview/smart.element.ts +104 -0
  72. package/source/angular/carousel/index.ts +1 -0
  73. package/source/angular/carousel/public_api.ts +3 -0
  74. package/source/angular/carousel/smart.carousel.module.ts +12 -0
  75. package/source/angular/carousel/smart.carousel.ts +414 -0
  76. package/source/angular/carousel/smart.element.ts +104 -0
  77. package/source/angular/chart/index.ts +1 -0
  78. package/source/angular/chart/public_api.ts +3 -0
  79. package/source/angular/chart/smart.chart.module.ts +12 -0
  80. package/source/angular/chart/smart.chart.ts +930 -0
  81. package/source/angular/chart/smart.element.ts +104 -0
  82. package/source/angular/checkbox/index.ts +1 -0
  83. package/source/angular/checkbox/public_api.ts +3 -0
  84. package/source/angular/checkbox/smart.checkbox.module.ts +12 -0
  85. package/source/angular/checkbox/smart.checkbox.ts +341 -0
  86. package/source/angular/checkbox/smart.element.ts +104 -0
  87. package/source/angular/checkinput/index.ts +1 -0
  88. package/source/angular/checkinput/public_api.ts +3 -0
  89. package/source/angular/checkinput/smart.checkinput.module.ts +12 -0
  90. package/source/angular/checkinput/smart.checkinput.ts +497 -0
  91. package/source/angular/checkinput/smart.element.ts +104 -0
  92. package/source/angular/chip/index.ts +1 -0
  93. package/source/angular/chip/public_api.ts +3 -0
  94. package/source/angular/chip/smart.chip.module.ts +12 -0
  95. package/source/angular/chip/smart.chip.ts +221 -0
  96. package/source/angular/chip/smart.element.ts +104 -0
  97. package/source/angular/colorinput/index.ts +1 -0
  98. package/source/angular/colorinput/public_api.ts +3 -0
  99. package/source/angular/colorinput/smart.colorinput.module.ts +12 -0
  100. package/source/angular/colorinput/smart.colorinput.ts +456 -0
  101. package/source/angular/colorinput/smart.element.ts +104 -0
  102. package/source/angular/colorpanel/index.ts +1 -0
  103. package/source/angular/colorpanel/public_api.ts +3 -0
  104. package/source/angular/colorpanel/smart.colorpanel.module.ts +12 -0
  105. package/source/angular/colorpanel/smart.colorpanel.ts +501 -0
  106. package/source/angular/colorpanel/smart.element.ts +104 -0
  107. package/source/angular/colorpicker/index.ts +1 -0
  108. package/source/angular/colorpicker/public_api.ts +3 -0
  109. package/source/angular/colorpicker/smart.colorpicker.module.ts +12 -0
  110. package/source/angular/colorpicker/smart.colorpicker.ts +756 -0
  111. package/source/angular/colorpicker/smart.element.ts +104 -0
  112. package/source/angular/columnpanel/index.ts +1 -0
  113. package/source/angular/columnpanel/public_api.ts +3 -0
  114. package/source/angular/columnpanel/smart.columnpanel.module.ts +12 -0
  115. package/source/angular/columnpanel/smart.columnpanel.ts +183 -0
  116. package/source/angular/columnpanel/smart.element.ts +104 -0
  117. package/source/angular/combobox/index.ts +1 -0
  118. package/source/angular/combobox/public_api.ts +7 -0
  119. package/source/angular/combobox/smart.combobox.module.ts +14 -0
  120. package/source/angular/combobox/smart.combobox.ts +1125 -0
  121. package/source/angular/combobox/smart.element.ts +104 -0
  122. package/source/angular/combobox/smart.listitem.ts +162 -0
  123. package/source/angular/combobox/smart.listitemsgroup.ts +72 -0
  124. package/source/angular/countryinput/index.ts +1 -0
  125. package/source/angular/countryinput/public_api.ts +3 -0
  126. package/source/angular/countryinput/smart.countryinput.module.ts +12 -0
  127. package/source/angular/countryinput/smart.countryinput.ts +391 -0
  128. package/source/angular/countryinput/smart.element.ts +104 -0
  129. package/source/angular/customizationdialog/index.ts +1 -0
  130. package/source/angular/customizationdialog/public_api.ts +3 -0
  131. package/source/angular/customizationdialog/smart.customizationdialog.module.ts +12 -0
  132. package/source/angular/customizationdialog/smart.customizationdialog.ts +311 -0
  133. package/source/angular/customizationdialog/smart.element.ts +104 -0
  134. package/source/angular/dateinput/index.ts +1 -0
  135. package/source/angular/dateinput/public_api.ts +3 -0
  136. package/source/angular/dateinput/smart.dateinput.module.ts +12 -0
  137. package/source/angular/dateinput/smart.dateinput.ts +465 -0
  138. package/source/angular/dateinput/smart.element.ts +104 -0
  139. package/source/angular/daterangeinput/index.ts +1 -0
  140. package/source/angular/daterangeinput/public_api.ts +3 -0
  141. package/source/angular/daterangeinput/smart.daterangeinput.module.ts +12 -0
  142. package/source/angular/daterangeinput/smart.daterangeinput.ts +456 -0
  143. package/source/angular/daterangeinput/smart.element.ts +104 -0
  144. package/source/angular/datetimepicker/index.ts +1 -0
  145. package/source/angular/datetimepicker/public_api.ts +3 -0
  146. package/source/angular/datetimepicker/smart.datetimepicker.module.ts +12 -0
  147. package/source/angular/datetimepicker/smart.datetimepicker.ts +835 -0
  148. package/source/angular/datetimepicker/smart.element.ts +104 -0
  149. package/source/angular/dockinglayout/index.ts +1 -0
  150. package/source/angular/dockinglayout/public_api.ts +3 -0
  151. package/source/angular/dockinglayout/smart.dockinglayout.module.ts +12 -0
  152. package/source/angular/dockinglayout/smart.dockinglayout.ts +866 -0
  153. package/source/angular/dockinglayout/smart.element.ts +104 -0
  154. package/source/angular/dropdownbutton/index.ts +1 -0
  155. package/source/angular/dropdownbutton/public_api.ts +3 -0
  156. package/source/angular/dropdownbutton/smart.dropdownbutton.module.ts +12 -0
  157. package/source/angular/dropdownbutton/smart.dropdownbutton.ts +542 -0
  158. package/source/angular/dropdownbutton/smart.element.ts +104 -0
  159. package/source/angular/dropdownlist/index.ts +1 -0
  160. package/source/angular/dropdownlist/public_api.ts +7 -0
  161. package/source/angular/dropdownlist/smart.dropdownlist.module.ts +14 -0
  162. package/source/angular/dropdownlist/smart.dropdownlist.ts +1082 -0
  163. package/source/angular/dropdownlist/smart.element.ts +104 -0
  164. package/source/angular/dropdownlist/smart.listitem.ts +162 -0
  165. package/source/angular/dropdownlist/smart.listitemsgroup.ts +72 -0
  166. package/source/angular/editor/index.ts +1 -0
  167. package/source/angular/editor/public_api.ts +3 -0
  168. package/source/angular/editor/smart.editor.module.ts +12 -0
  169. package/source/angular/editor/smart.editor.ts +1307 -0
  170. package/source/angular/editor/smart.element.ts +104 -0
  171. package/source/angular/element/index.ts +1 -0
  172. package/source/angular/element/public_api.ts +3 -0
  173. package/source/angular/element/smart.element.module.ts +10 -0
  174. package/source/angular/element/smart.element.ts +104 -0
  175. package/source/angular/fileupload/index.ts +1 -0
  176. package/source/angular/fileupload/public_api.ts +3 -0
  177. package/source/angular/fileupload/smart.element.ts +104 -0
  178. package/source/angular/fileupload/smart.fileupload.module.ts +12 -0
  179. package/source/angular/fileupload/smart.fileupload.ts +517 -0
  180. package/source/angular/filterbuilder/index.ts +1 -0
  181. package/source/angular/filterbuilder/public_api.ts +3 -0
  182. package/source/angular/filterbuilder/smart.element.ts +104 -0
  183. package/source/angular/filterbuilder/smart.filterbuilder.module.ts +12 -0
  184. package/source/angular/filterbuilder/smart.filterbuilder.ts +506 -0
  185. package/source/angular/filterpanel/index.ts +1 -0
  186. package/source/angular/filterpanel/public_api.ts +3 -0
  187. package/source/angular/filterpanel/smart.element.ts +104 -0
  188. package/source/angular/filterpanel/smart.filterpanel.module.ts +12 -0
  189. package/source/angular/filterpanel/smart.filterpanel.ts +334 -0
  190. package/source/angular/form/index.ts +1 -0
  191. package/source/angular/form/public_api.ts +7 -0
  192. package/source/angular/form/smart.element.ts +104 -0
  193. package/source/angular/form/smart.form.module.ts +14 -0
  194. package/source/angular/form/smart.form.ts +288 -0
  195. package/source/angular/form/smart.formcontrol.ts +336 -0
  196. package/source/angular/form/smart.formgroup.ts +220 -0
  197. package/source/angular/ganttchart/index.ts +1 -0
  198. package/source/angular/ganttchart/public_api.ts +3 -0
  199. package/source/angular/ganttchart/smart.element.ts +104 -0
  200. package/source/angular/ganttchart/smart.ganttchart.module.ts +12 -0
  201. package/source/angular/ganttchart/smart.ganttchart.ts +2142 -0
  202. package/source/angular/gauge/index.ts +1 -0
  203. package/source/angular/gauge/public_api.ts +3 -0
  204. package/source/angular/gauge/smart.element.ts +104 -0
  205. package/source/angular/gauge/smart.gauge.module.ts +12 -0
  206. package/source/angular/gauge/smart.gauge.ts +650 -0
  207. package/source/angular/grid/index.ts +1 -0
  208. package/source/angular/grid/public_api.ts +3 -0
  209. package/source/angular/grid/smart.element.ts +104 -0
  210. package/source/angular/grid/smart.grid.module.ts +12 -0
  211. package/source/angular/grid/smart.grid.ts +3091 -0
  212. package/source/angular/grouppanel/index.ts +1 -0
  213. package/source/angular/grouppanel/public_api.ts +3 -0
  214. package/source/angular/grouppanel/smart.element.ts +104 -0
  215. package/source/angular/grouppanel/smart.grouppanel.module.ts +12 -0
  216. package/source/angular/grouppanel/smart.grouppanel.ts +220 -0
  217. package/source/angular/index.d.ts +32978 -0
  218. package/source/angular/input/index.ts +1 -0
  219. package/source/angular/input/public_api.ts +3 -0
  220. package/source/angular/input/smart.element.ts +104 -0
  221. package/source/angular/input/smart.input.module.ts +12 -0
  222. package/source/angular/input/smart.input.ts +590 -0
  223. package/source/angular/kanban/index.ts +1 -0
  224. package/source/angular/kanban/public_api.ts +3 -0
  225. package/source/angular/kanban/smart.element.ts +104 -0
  226. package/source/angular/kanban/smart.kanban.module.ts +12 -0
  227. package/source/angular/kanban/smart.kanban.ts +1682 -0
  228. package/source/angular/layout/index.ts +1 -0
  229. package/source/angular/layout/public_api.ts +11 -0
  230. package/source/angular/layout/smart.element.ts +104 -0
  231. package/source/angular/layout/smart.layout.module.ts +16 -0
  232. package/source/angular/layout/smart.layout.ts +363 -0
  233. package/source/angular/layout/smart.layoutgroup.ts +140 -0
  234. package/source/angular/layout/smart.layoutitem.ts +129 -0
  235. package/source/angular/layout/smart.tablayoutgroup.ts +147 -0
  236. package/source/angular/layout/smart.tablayoutitem.ts +138 -0
  237. package/source/angular/led/index.ts +1 -0
  238. package/source/angular/led/public_api.ts +3 -0
  239. package/source/angular/led/smart.element.ts +104 -0
  240. package/source/angular/led/smart.led.module.ts +12 -0
  241. package/source/angular/led/smart.led.ts +280 -0
  242. package/source/angular/listbox/index.ts +1 -0
  243. package/source/angular/listbox/public_api.ts +7 -0
  244. package/source/angular/listbox/smart.element.ts +104 -0
  245. package/source/angular/listbox/smart.listbox.module.ts +14 -0
  246. package/source/angular/listbox/smart.listbox.ts +1007 -0
  247. package/source/angular/listbox/smart.listitem.ts +162 -0
  248. package/source/angular/listbox/smart.listitemsgroup.ts +72 -0
  249. package/source/angular/listmenu/index.ts +1 -0
  250. package/source/angular/listmenu/public_api.ts +7 -0
  251. package/source/angular/listmenu/smart.element.ts +104 -0
  252. package/source/angular/listmenu/smart.listmenu.module.ts +14 -0
  253. package/source/angular/listmenu/smart.listmenu.ts +597 -0
  254. package/source/angular/listmenu/smart.menuitem.ts +126 -0
  255. package/source/angular/listmenu/smart.menuitemsgroup.ts +153 -0
  256. package/source/angular/map/index.ts +1 -0
  257. package/source/angular/map/public_api.ts +3 -0
  258. package/source/angular/map/smart.element.ts +104 -0
  259. package/source/angular/map/smart.map.module.ts +12 -0
  260. package/source/angular/map/smart.map.ts +128 -0
  261. package/source/angular/maskedtextbox/index.ts +1 -0
  262. package/source/angular/maskedtextbox/public_api.ts +3 -0
  263. package/source/angular/maskedtextbox/smart.element.ts +104 -0
  264. package/source/angular/maskedtextbox/smart.maskedtextbox.module.ts +12 -0
  265. package/source/angular/maskedtextbox/smart.maskedtextbox.ts +539 -0
  266. package/source/angular/menu/index.ts +1 -0
  267. package/source/angular/menu/public_api.ts +7 -0
  268. package/source/angular/menu/smart.element.ts +104 -0
  269. package/source/angular/menu/smart.menu.module.ts +14 -0
  270. package/source/angular/menu/smart.menu.ts +695 -0
  271. package/source/angular/menu/smart.menuitem.ts +126 -0
  272. package/source/angular/menu/smart.menuitemsgroup.ts +153 -0
  273. package/source/angular/multicolumnfilterpanel/index.ts +1 -0
  274. package/source/angular/multicolumnfilterpanel/public_api.ts +3 -0
  275. package/source/angular/multicolumnfilterpanel/smart.element.ts +104 -0
  276. package/source/angular/multicolumnfilterpanel/smart.multicolumnfilterpanel.module.ts +12 -0
  277. package/source/angular/multicolumnfilterpanel/smart.multicolumnfilterpanel.ts +256 -0
  278. package/source/angular/multicomboinput/index.ts +1 -0
  279. package/source/angular/multicomboinput/public_api.ts +3 -0
  280. package/source/angular/multicomboinput/smart.element.ts +104 -0
  281. package/source/angular/multicomboinput/smart.multicomboinput.module.ts +12 -0
  282. package/source/angular/multicomboinput/smart.multicomboinput.ts +542 -0
  283. package/source/angular/multiinput/index.ts +1 -0
  284. package/source/angular/multiinput/public_api.ts +3 -0
  285. package/source/angular/multiinput/smart.element.ts +104 -0
  286. package/source/angular/multiinput/smart.multiinput.module.ts +12 -0
  287. package/source/angular/multiinput/smart.multiinput.ts +497 -0
  288. package/source/angular/multilinetextbox/index.ts +1 -0
  289. package/source/angular/multilinetextbox/public_api.ts +7 -0
  290. package/source/angular/multilinetextbox/smart.element.ts +104 -0
  291. package/source/angular/multilinetextbox/smart.listitem.ts +162 -0
  292. package/source/angular/multilinetextbox/smart.listitemsgroup.ts +72 -0
  293. package/source/angular/multilinetextbox/smart.multilinetextbox.module.ts +14 -0
  294. package/source/angular/multilinetextbox/smart.multilinetextbox.ts +561 -0
  295. package/source/angular/multisplitbutton/index.ts +1 -0
  296. package/source/angular/multisplitbutton/public_api.ts +7 -0
  297. package/source/angular/multisplitbutton/smart.element.ts +104 -0
  298. package/source/angular/multisplitbutton/smart.listitem.ts +162 -0
  299. package/source/angular/multisplitbutton/smart.listitemsgroup.ts +72 -0
  300. package/source/angular/multisplitbutton/smart.multisplitbutton.module.ts +14 -0
  301. package/source/angular/multisplitbutton/smart.multisplitbutton.ts +620 -0
  302. package/source/angular/numberinput/index.ts +1 -0
  303. package/source/angular/numberinput/public_api.ts +3 -0
  304. package/source/angular/numberinput/smart.element.ts +104 -0
  305. package/source/angular/numberinput/smart.numberinput.module.ts +12 -0
  306. package/source/angular/numberinput/smart.numberinput.ts +398 -0
  307. package/source/angular/numerictextbox/index.ts +1 -0
  308. package/source/angular/numerictextbox/public_api.ts +3 -0
  309. package/source/angular/numerictextbox/smart.element.ts +104 -0
  310. package/source/angular/numerictextbox/smart.numerictextbox.module.ts +12 -0
  311. package/source/angular/numerictextbox/smart.numerictextbox.ts +644 -0
  312. package/source/angular/pager/index.ts +1 -0
  313. package/source/angular/pager/public_api.ts +3 -0
  314. package/source/angular/pager/smart.element.ts +104 -0
  315. package/source/angular/pager/smart.pager.module.ts +12 -0
  316. package/source/angular/pager/smart.pager.ts +386 -0
  317. package/source/angular/passwordinput/index.ts +1 -0
  318. package/source/angular/passwordinput/public_api.ts +3 -0
  319. package/source/angular/passwordinput/smart.element.ts +104 -0
  320. package/source/angular/passwordinput/smart.passwordinput.module.ts +12 -0
  321. package/source/angular/passwordinput/smart.passwordinput.ts +218 -0
  322. package/source/angular/passwordtextbox/index.ts +1 -0
  323. package/source/angular/passwordtextbox/public_api.ts +3 -0
  324. package/source/angular/passwordtextbox/smart.element.ts +104 -0
  325. package/source/angular/passwordtextbox/smart.passwordtextbox.module.ts +12 -0
  326. package/source/angular/passwordtextbox/smart.passwordtextbox.ts +463 -0
  327. package/source/angular/path/index.ts +1 -0
  328. package/source/angular/path/public_api.ts +3 -0
  329. package/source/angular/path/smart.element.ts +104 -0
  330. package/source/angular/path/smart.path.module.ts +12 -0
  331. package/source/angular/path/smart.path.ts +491 -0
  332. package/source/angular/phoneinput/index.ts +1 -0
  333. package/source/angular/phoneinput/public_api.ts +3 -0
  334. package/source/angular/phoneinput/smart.element.ts +104 -0
  335. package/source/angular/phoneinput/smart.phoneinput.module.ts +12 -0
  336. package/source/angular/phoneinput/smart.phoneinput.ts +493 -0
  337. package/source/angular/pivottable/index.ts +1 -0
  338. package/source/angular/pivottable/public_api.ts +3 -0
  339. package/source/angular/pivottable/smart.element.ts +104 -0
  340. package/source/angular/pivottable/smart.pivottable.module.ts +12 -0
  341. package/source/angular/pivottable/smart.pivottable.ts +840 -0
  342. package/source/angular/progressbar/index.ts +1 -0
  343. package/source/angular/progressbar/public_api.ts +5 -0
  344. package/source/angular/progressbar/smart.circularprogressbar.ts +223 -0
  345. package/source/angular/progressbar/smart.element.ts +104 -0
  346. package/source/angular/progressbar/smart.progressbar.module.ts +13 -0
  347. package/source/angular/progressbar/smart.progressbar.ts +235 -0
  348. package/source/angular/qrcode/index.ts +1 -0
  349. package/source/angular/qrcode/public_api.ts +3 -0
  350. package/source/angular/qrcode/smart.element.ts +104 -0
  351. package/source/angular/qrcode/smart.qrcode.module.ts +12 -0
  352. package/source/angular/qrcode/smart.qrcode.ts +306 -0
  353. package/source/angular/querybuilder/index.ts +1 -0
  354. package/source/angular/querybuilder/public_api.ts +3 -0
  355. package/source/angular/querybuilder/smart.element.ts +104 -0
  356. package/source/angular/querybuilder/smart.querybuilder.module.ts +12 -0
  357. package/source/angular/querybuilder/smart.querybuilder.ts +460 -0
  358. package/source/angular/radiobutton/index.ts +1 -0
  359. package/source/angular/radiobutton/public_api.ts +3 -0
  360. package/source/angular/radiobutton/smart.element.ts +104 -0
  361. package/source/angular/radiobutton/smart.radiobutton.module.ts +12 -0
  362. package/source/angular/radiobutton/smart.radiobutton.ts +350 -0
  363. package/source/angular/rating/index.ts +1 -0
  364. package/source/angular/rating/public_api.ts +3 -0
  365. package/source/angular/rating/smart.element.ts +104 -0
  366. package/source/angular/rating/smart.rating.module.ts +12 -0
  367. package/source/angular/rating/smart.rating.ts +309 -0
  368. package/source/angular/scheduler/index.ts +1 -0
  369. package/source/angular/scheduler/public_api.ts +3 -0
  370. package/source/angular/scheduler/smart.element.ts +104 -0
  371. package/source/angular/scheduler/smart.scheduler.module.ts +12 -0
  372. package/source/angular/scheduler/smart.scheduler.ts +2328 -0
  373. package/source/angular/scrollbar/index.ts +1 -0
  374. package/source/angular/scrollbar/public_api.ts +3 -0
  375. package/source/angular/scrollbar/smart.element.ts +104 -0
  376. package/source/angular/scrollbar/smart.scrollbar.module.ts +12 -0
  377. package/source/angular/scrollbar/smart.scrollbar.ts +260 -0
  378. package/source/angular/slider/index.ts +1 -0
  379. package/source/angular/slider/public_api.ts +3 -0
  380. package/source/angular/slider/smart.element.ts +104 -0
  381. package/source/angular/slider/smart.slider.module.ts +12 -0
  382. package/source/angular/slider/smart.slider.ts +632 -0
  383. package/source/angular/sortable/index.ts +1 -0
  384. package/source/angular/sortable/public_api.ts +3 -0
  385. package/source/angular/sortable/smart.element.ts +104 -0
  386. package/source/angular/sortable/smart.sortable.module.ts +12 -0
  387. package/source/angular/sortable/smart.sortable.ts +217 -0
  388. package/source/angular/sortpanel/index.ts +1 -0
  389. package/source/angular/sortpanel/public_api.ts +3 -0
  390. package/source/angular/sortpanel/smart.element.ts +104 -0
  391. package/source/angular/sortpanel/smart.sortpanel.module.ts +12 -0
  392. package/source/angular/sortpanel/smart.sortpanel.ts +180 -0
  393. package/source/angular/splitter/index.ts +1 -0
  394. package/source/angular/splitter/public_api.ts +7 -0
  395. package/source/angular/splitter/smart.element.ts +104 -0
  396. package/source/angular/splitter/smart.splitter.module.ts +14 -0
  397. package/source/angular/splitter/smart.splitter.ts +530 -0
  398. package/source/angular/splitter/smart.splitterbar.ts +121 -0
  399. package/source/angular/splitter/smart.splitteritem.ts +192 -0
  400. package/source/angular/switchbutton/index.ts +1 -0
  401. package/source/angular/switchbutton/public_api.ts +3 -0
  402. package/source/angular/switchbutton/smart.element.ts +104 -0
  403. package/source/angular/switchbutton/smart.switchbutton.module.ts +12 -0
  404. package/source/angular/switchbutton/smart.switchbutton.ts +386 -0
  405. package/source/angular/table/index.ts +1 -0
  406. package/source/angular/table/public_api.ts +3 -0
  407. package/source/angular/table/smart.element.ts +104 -0
  408. package/source/angular/table/smart.table.module.ts +12 -0
  409. package/source/angular/table/smart.table.ts +1493 -0
  410. package/source/angular/tabs/index.ts +1 -0
  411. package/source/angular/tabs/public_api.ts +7 -0
  412. package/source/angular/tabs/smart.element.ts +104 -0
  413. package/source/angular/tabs/smart.tabitem.ts +126 -0
  414. package/source/angular/tabs/smart.tabitemsgroup.ts +81 -0
  415. package/source/angular/tabs/smart.tabs.module.ts +14 -0
  416. package/source/angular/tabs/smart.tabs.ts +622 -0
  417. package/source/angular/tank/index.ts +1 -0
  418. package/source/angular/tank/public_api.ts +3 -0
  419. package/source/angular/tank/smart.element.ts +104 -0
  420. package/source/angular/tank/smart.tank.module.ts +12 -0
  421. package/source/angular/tank/smart.tank.ts +593 -0
  422. package/source/angular/textarea/index.ts +1 -0
  423. package/source/angular/textarea/public_api.ts +3 -0
  424. package/source/angular/textarea/smart.element.ts +104 -0
  425. package/source/angular/textarea/smart.textarea.module.ts +12 -0
  426. package/source/angular/textarea/smart.textarea.ts +484 -0
  427. package/source/angular/textbox/index.ts +1 -0
  428. package/source/angular/textbox/public_api.ts +7 -0
  429. package/source/angular/textbox/smart.element.ts +104 -0
  430. package/source/angular/textbox/smart.listitem.ts +162 -0
  431. package/source/angular/textbox/smart.listitemsgroup.ts +72 -0
  432. package/source/angular/textbox/smart.textbox.module.ts +14 -0
  433. package/source/angular/textbox/smart.textbox.ts +708 -0
  434. package/source/angular/threedchart/index.ts +1 -0
  435. package/source/angular/threedchart/public_api.ts +3 -0
  436. package/source/angular/threedchart/smart.element.ts +104 -0
  437. package/source/angular/threedchart/smart.threedchart.module.ts +12 -0
  438. package/source/angular/threedchart/smart.threedchart.ts +1043 -0
  439. package/source/angular/timeinput/index.ts +1 -0
  440. package/source/angular/timeinput/public_api.ts +3 -0
  441. package/source/angular/timeinput/smart.element.ts +104 -0
  442. package/source/angular/timeinput/smart.timeinput.module.ts +12 -0
  443. package/source/angular/timeinput/smart.timeinput.ts +427 -0
  444. package/source/angular/timepicker/index.ts +1 -0
  445. package/source/angular/timepicker/public_api.ts +3 -0
  446. package/source/angular/timepicker/smart.element.ts +104 -0
  447. package/source/angular/timepicker/smart.timepicker.module.ts +12 -0
  448. package/source/angular/timepicker/smart.timepicker.ts +370 -0
  449. package/source/angular/toast/index.ts +1 -0
  450. package/source/angular/toast/public_api.ts +3 -0
  451. package/source/angular/toast/smart.element.ts +104 -0
  452. package/source/angular/toast/smart.toast.module.ts +12 -0
  453. package/source/angular/toast/smart.toast.ts +405 -0
  454. package/source/angular/tooltip/index.ts +1 -0
  455. package/source/angular/tooltip/public_api.ts +3 -0
  456. package/source/angular/tooltip/smart.element.ts +104 -0
  457. package/source/angular/tooltip/smart.tooltip.module.ts +12 -0
  458. package/source/angular/tooltip/smart.tooltip.ts +339 -0
  459. package/source/angular/tree/index.ts +1 -0
  460. package/source/angular/tree/public_api.ts +7 -0
  461. package/source/angular/tree/smart.element.ts +104 -0
  462. package/source/angular/tree/smart.tree.module.ts +14 -0
  463. package/source/angular/tree/smart.tree.ts +1042 -0
  464. package/source/angular/tree/smart.treeitem.ts +135 -0
  465. package/source/angular/tree/smart.treeitemsgroup.ts +135 -0
  466. package/source/angular/validator/index.ts +1 -0
  467. package/source/angular/validator/public_api.ts +3 -0
  468. package/source/angular/validator/smart.element.ts +104 -0
  469. package/source/angular/validator/smart.validator.module.ts +12 -0
  470. package/source/angular/validator/smart.validator.ts +124 -0
  471. package/source/angular/window/index.ts +1 -0
  472. package/source/angular/window/public_api.ts +3 -0
  473. package/source/angular/window/smart.element.ts +104 -0
  474. package/source/angular/window/smart.window.module.ts +12 -0
  475. package/source/angular/window/smart.window.ts +1180 -0
  476. package/source/components/smart.ui.chart.js +1 -1
  477. package/source/components/smart.ui.pivottable.js +1 -1
  478. package/source/modules/smart.3dchart.js +1 -1
  479. package/source/modules/smart.accordion.js +1 -1
  480. package/source/modules/smart.array.js +1 -1
  481. package/source/modules/smart.barcode.js +1 -1
  482. package/source/modules/smart.breadcrumb.js +1 -1
  483. package/source/modules/smart.button.js +1 -1
  484. package/source/modules/smart.buttongroup.js +1 -1
  485. package/source/modules/smart.calendar.js +1 -1
  486. package/source/modules/smart.card.js +1 -1
  487. package/source/modules/smart.cardview.js +1 -1
  488. package/source/modules/smart.carousel.js +1 -1
  489. package/source/modules/smart.chart.js +2 -2
  490. package/source/modules/smart.checkbox.js +1 -1
  491. package/source/modules/smart.checkinput.js +1 -1
  492. package/source/modules/smart.chip.js +1 -1
  493. package/source/modules/smart.colorinput.js +1 -1
  494. package/source/modules/smart.colorpanel.js +1 -1
  495. package/source/modules/smart.colorpicker.js +1 -1
  496. package/source/modules/smart.combobox.js +1 -1
  497. package/source/modules/smart.common.js +1 -1
  498. package/source/modules/smart.countryinput.js +1 -1
  499. package/source/modules/smart.dateinput.js +1 -1
  500. package/source/modules/smart.daterangeinput.js +1 -1
  501. package/source/modules/smart.datetimepicker.js +1 -1
  502. package/source/modules/smart.dockinglayout.js +1 -1
  503. package/source/modules/smart.dropdownbutton.js +1 -1
  504. package/source/modules/smart.dropdownlist.js +1 -1
  505. package/source/modules/smart.editor.js +1 -1
  506. package/source/modules/smart.element.js +1 -1
  507. package/source/modules/smart.fileupload.js +1 -1
  508. package/source/modules/smart.form.js +1 -1
  509. package/source/modules/smart.formulaparser.js +1 -1
  510. package/source/modules/smart.ganttchart.js +1 -1
  511. package/source/modules/smart.gauge.js +1 -1
  512. package/source/modules/smart.grid.js +1 -1
  513. package/source/modules/smart.gridpanel.js +1 -1
  514. package/source/modules/smart.input.js +1 -1
  515. package/source/modules/smart.kanban.js +1 -1
  516. package/source/modules/smart.layout.js +1 -1
  517. package/source/modules/smart.led.js +1 -1
  518. package/source/modules/smart.listbox.js +1 -1
  519. package/source/modules/smart.listmenu.js +1 -1
  520. package/source/modules/smart.map.js +1 -1
  521. package/source/modules/smart.maskedtextbox.js +1 -1
  522. package/source/modules/smart.menu.js +1 -1
  523. package/source/modules/smart.multicomboinput.js +1 -1
  524. package/source/modules/smart.multiinput.js +1 -1
  525. package/source/modules/smart.multilinetextbox.js +1 -1
  526. package/source/modules/smart.multisplitbutton.js +1 -1
  527. package/source/modules/smart.numberinput.js +1 -1
  528. package/source/modules/smart.numerictextbox.js +1 -1
  529. package/source/modules/smart.pager.js +1 -1
  530. package/source/modules/smart.passwordinput.js +1 -1
  531. package/source/modules/smart.passwordtextbox.js +1 -1
  532. package/source/modules/smart.path.js +1 -1
  533. package/source/modules/smart.phoneinput.js +1 -1
  534. package/source/modules/smart.pivottable.js +2 -2
  535. package/source/modules/smart.progressbar.js +1 -1
  536. package/source/modules/smart.qrcode.js +1 -1
  537. package/source/modules/smart.querybuilder.js +1 -1
  538. package/source/modules/smart.radiobutton.js +1 -1
  539. package/source/modules/smart.rating.js +1 -1
  540. package/source/modules/smart.router.js +1 -1
  541. package/source/modules/smart.scheduler.js +1 -1
  542. package/source/modules/smart.scrollbar.js +1 -1
  543. package/source/modules/smart.slider.js +1 -1
  544. package/source/modules/smart.sortable.js +1 -1
  545. package/source/modules/smart.splitter.js +1 -1
  546. package/source/modules/smart.switchbutton.js +1 -1
  547. package/source/modules/smart.table.js +1 -1
  548. package/source/modules/smart.tabs.js +1 -1
  549. package/source/modules/smart.tank.js +1 -1
  550. package/source/modules/smart.textarea.js +1 -1
  551. package/source/modules/smart.textbox.js +1 -1
  552. package/source/modules/smart.timeinput.js +1 -1
  553. package/source/modules/smart.timepicker.js +1 -1
  554. package/source/modules/smart.toast.js +1 -1
  555. package/source/modules/smart.tooltip.js +1 -1
  556. package/source/modules/smart.tree.js +1 -1
  557. package/source/modules/smart.validator.js +1 -1
  558. package/source/modules/smart.window.js +1 -1
  559. package/source/react/accordion/accordion.jsx +462 -0
  560. package/source/react/accordion/accordion.tsx +466 -0
  561. package/source/react/accordion/accordionitem.jsx +211 -0
  562. package/source/react/accordion/accordionitem.tsx +229 -0
  563. package/source/react/alertwindow/alertwindow.jsx +1391 -0
  564. package/source/react/alertwindow/alertwindow.tsx +1349 -0
  565. package/source/react/array/array.jsx +907 -0
  566. package/source/react/array/array.tsx +909 -0
  567. package/source/react/barcode/barcode.jsx +372 -0
  568. package/source/react/barcode/barcode.tsx +394 -0
  569. package/source/react/breadcrumb/breadcrumb.jsx +399 -0
  570. package/source/react/breadcrumb/breadcrumb.tsx +405 -0
  571. package/source/react/button/button.jsx +331 -0
  572. package/source/react/button/button.tsx +359 -0
  573. package/source/react/button/powerbutton.jsx +301 -0
  574. package/source/react/button/powerbutton.tsx +323 -0
  575. package/source/react/button/repeatbutton.jsx +325 -0
  576. package/source/react/button/repeatbutton.tsx +347 -0
  577. package/source/react/button/togglebutton.jsx +337 -0
  578. package/source/react/button/togglebutton.tsx +351 -0
  579. package/source/react/buttongroup/buttongroup.jsx +340 -0
  580. package/source/react/buttongroup/buttongroup.tsx +362 -0
  581. package/source/react/calendar/calendar.jsx +868 -0
  582. package/source/react/calendar/calendar.tsx +866 -0
  583. package/source/react/card/card.jsx +313 -0
  584. package/source/react/card/card.tsx +323 -0
  585. package/source/react/cardview/cardview.jsx +664 -0
  586. package/source/react/cardview/cardview.tsx +656 -0
  587. package/source/react/carousel/carousel.jsx +546 -0
  588. package/source/react/carousel/carousel.tsx +556 -0
  589. package/source/react/chart/chart.jsx +1014 -0
  590. package/source/react/chart/chart.tsx +996 -0
  591. package/source/react/checkbox/checkbox.jsx +361 -0
  592. package/source/react/checkbox/checkbox.tsx +375 -0
  593. package/source/react/checkinput/checkinput.jsx +566 -0
  594. package/source/react/checkinput/checkinput.tsx +588 -0
  595. package/source/react/chip/chip.jsx +329 -0
  596. package/source/react/chip/chip.tsx +351 -0
  597. package/source/react/colorinput/colorinput.jsx +516 -0
  598. package/source/react/colorinput/colorinput.tsx +538 -0
  599. package/source/react/colorpanel/colorpanel.jsx +570 -0
  600. package/source/react/colorpanel/colorpanel.tsx +580 -0
  601. package/source/react/colorpicker/colorpicker.jsx +846 -0
  602. package/source/react/colorpicker/colorpicker.tsx +824 -0
  603. package/source/react/columnpanel/columnpanel.jsx +276 -0
  604. package/source/react/columnpanel/columnpanel.tsx +294 -0
  605. package/source/react/combobox/combobox.jsx +1212 -0
  606. package/source/react/combobox/combobox.tsx +1198 -0
  607. package/source/react/combobox/listitem.jsx +279 -0
  608. package/source/react/combobox/listitem.tsx +305 -0
  609. package/source/react/combobox/listitemsgroup.jsx +159 -0
  610. package/source/react/combobox/listitemsgroup.tsx +185 -0
  611. package/source/react/countryinput/countryinput.jsx +409 -0
  612. package/source/react/countryinput/countryinput.tsx +423 -0
  613. package/source/react/customizationdialog/customizationdialog.jsx +425 -0
  614. package/source/react/customizationdialog/customizationdialog.tsx +435 -0
  615. package/source/react/dateinput/dateinput.jsx +513 -0
  616. package/source/react/dateinput/dateinput.tsx +535 -0
  617. package/source/react/daterangeinput/daterangeinput.jsx +516 -0
  618. package/source/react/daterangeinput/daterangeinput.tsx +538 -0
  619. package/source/react/datetimepicker/datetimepicker.jsx +967 -0
  620. package/source/react/datetimepicker/datetimepicker.tsx +973 -0
  621. package/source/react/dialogwindow/dialogwindow.jsx +1391 -0
  622. package/source/react/dialogwindow/dialogwindow.tsx +1349 -0
  623. package/source/react/dockinglayout/dockinglayout.jsx +923 -0
  624. package/source/react/dockinglayout/dockinglayout.tsx +925 -0
  625. package/source/react/dropdownbutton/dropdownbutton.jsx +665 -0
  626. package/source/react/dropdownbutton/dropdownbutton.tsx +659 -0
  627. package/source/react/dropdownlist/dropdownlist.jsx +1148 -0
  628. package/source/react/dropdownlist/dropdownlist.tsx +1130 -0
  629. package/source/react/dropdownlist/listitem.jsx +279 -0
  630. package/source/react/dropdownlist/listitem.tsx +305 -0
  631. package/source/react/dropdownlist/listitemsgroup.jsx +159 -0
  632. package/source/react/dropdownlist/listitemsgroup.tsx +185 -0
  633. package/source/react/editor/editor.jsx +1373 -0
  634. package/source/react/editor/editor.tsx +1287 -0
  635. package/source/react/element/element.jsx +392 -0
  636. package/source/react/element/element.tsx +410 -0
  637. package/source/react/fileupload/fileupload.jsx +643 -0
  638. package/source/react/fileupload/fileupload.tsx +641 -0
  639. package/source/react/filterbuilder/filterbuilder.jsx +608 -0
  640. package/source/react/filterbuilder/filterbuilder.tsx +594 -0
  641. package/source/react/filterpanel/filterpanel.jsx +433 -0
  642. package/source/react/filterpanel/filterpanel.tsx +447 -0
  643. package/source/react/form/form.jsx +383 -0
  644. package/source/react/form/form.tsx +413 -0
  645. package/source/react/form/formcontrol.jsx +495 -0
  646. package/source/react/form/formcontrol.tsx +521 -0
  647. package/source/react/form/formgroup.jsx +310 -0
  648. package/source/react/form/formgroup.tsx +336 -0
  649. package/source/react/ganttchart/ganttchart.jsx +2202 -0
  650. package/source/react/ganttchart/ganttchart.tsx +2116 -0
  651. package/source/react/gauge/gauge.jsx +755 -0
  652. package/source/react/gauge/gauge.tsx +777 -0
  653. package/source/react/grid/grid.jsx +2906 -0
  654. package/source/react/grid/grid.tsx +2782 -0
  655. package/source/react/grouppanel/grouppanel.jsx +313 -0
  656. package/source/react/grouppanel/grouppanel.tsx +323 -0
  657. package/source/react/input/input.jsx +626 -0
  658. package/source/react/input/input.tsx +632 -0
  659. package/source/react/kanban/kanban.jsx +1824 -0
  660. package/source/react/kanban/kanban.tsx +1736 -0
  661. package/source/react/layout/layout.jsx +449 -0
  662. package/source/react/layout/layout.tsx +451 -0
  663. package/source/react/layout/layoutgroup.jsx +233 -0
  664. package/source/react/layout/layoutgroup.tsx +259 -0
  665. package/source/react/layout/layoutitem.jsx +219 -0
  666. package/source/react/layout/layoutitem.tsx +245 -0
  667. package/source/react/layout/tablayoutgroup.jsx +243 -0
  668. package/source/react/layout/tablayoutgroup.tsx +269 -0
  669. package/source/react/layout/tablayoutitem.jsx +231 -0
  670. package/source/react/layout/tablayoutitem.tsx +257 -0
  671. package/source/react/led/led.jsx +412 -0
  672. package/source/react/led/led.tsx +434 -0
  673. package/source/react/listbox/listbox.jsx +1044 -0
  674. package/source/react/listbox/listbox.tsx +1030 -0
  675. package/source/react/listbox/listitem.jsx +279 -0
  676. package/source/react/listbox/listitem.tsx +305 -0
  677. package/source/react/listbox/listitemsgroup.jsx +159 -0
  678. package/source/react/listbox/listitemsgroup.tsx +185 -0
  679. package/source/react/listmenu/listmenu.jsx +740 -0
  680. package/source/react/listmenu/listmenu.tsx +746 -0
  681. package/source/react/listmenu/menuitem.jsx +231 -0
  682. package/source/react/listmenu/menuitem.tsx +257 -0
  683. package/source/react/listmenu/menuitemsgroup.jsx +267 -0
  684. package/source/react/listmenu/menuitemsgroup.tsx +293 -0
  685. package/source/react/map/map.jsx +233 -0
  686. package/source/react/map/map.tsx +259 -0
  687. package/source/react/maskedtextbox/maskedtextbox.jsx +617 -0
  688. package/source/react/maskedtextbox/maskedtextbox.tsx +631 -0
  689. package/source/react/menu/menu.jsx +817 -0
  690. package/source/react/menu/menu.tsx +807 -0
  691. package/source/react/menu/menuitem.jsx +231 -0
  692. package/source/react/menu/menuitem.tsx +257 -0
  693. package/source/react/menu/menuitemsgroup.jsx +267 -0
  694. package/source/react/menu/menuitemsgroup.tsx +293 -0
  695. package/source/react/multicolumnfilterpanel/multicolumnfilterpanel.jsx +361 -0
  696. package/source/react/multicolumnfilterpanel/multicolumnfilterpanel.tsx +371 -0
  697. package/source/react/multicomboinput/multicomboinput.jsx +626 -0
  698. package/source/react/multicomboinput/multicomboinput.tsx +648 -0
  699. package/source/react/multiinput/multiinput.jsx +566 -0
  700. package/source/react/multiinput/multiinput.tsx +588 -0
  701. package/source/react/multilinetextbox/listitem.jsx +279 -0
  702. package/source/react/multilinetextbox/listitem.tsx +305 -0
  703. package/source/react/multilinetextbox/listitemsgroup.jsx +159 -0
  704. package/source/react/multilinetextbox/listitemsgroup.tsx +185 -0
  705. package/source/react/multilinetextbox/multilinetextbox.jsx +638 -0
  706. package/source/react/multilinetextbox/multilinetextbox.tsx +664 -0
  707. package/source/react/multilinewindow/multilinewindow.jsx +1391 -0
  708. package/source/react/multilinewindow/multilinewindow.tsx +1349 -0
  709. package/source/react/multisplitbutton/listitem.jsx +279 -0
  710. package/source/react/multisplitbutton/listitem.tsx +305 -0
  711. package/source/react/multisplitbutton/listitemsgroup.jsx +159 -0
  712. package/source/react/multisplitbutton/listitemsgroup.tsx +185 -0
  713. package/source/react/multisplitbutton/multisplitbutton.jsx +751 -0
  714. package/source/react/multisplitbutton/multisplitbutton.tsx +745 -0
  715. package/source/react/numberinput/numberinput.jsx +413 -0
  716. package/source/react/numberinput/numberinput.tsx +435 -0
  717. package/source/react/numerictextbox/numerictextbox.jsx +721 -0
  718. package/source/react/numerictextbox/numerictextbox.tsx +719 -0
  719. package/source/react/pager/pager.jsx +524 -0
  720. package/source/react/pager/pager.tsx +542 -0
  721. package/source/react/passwordinput/passwordinput.jsx +317 -0
  722. package/source/react/passwordinput/passwordinput.tsx +335 -0
  723. package/source/react/passwordtextbox/passwordtextbox.jsx +523 -0
  724. package/source/react/passwordtextbox/passwordtextbox.tsx +541 -0
  725. package/source/react/path/path.jsx +629 -0
  726. package/source/react/path/path.tsx +623 -0
  727. package/source/react/phoneinput/phoneinput.jsx +481 -0
  728. package/source/react/phoneinput/phoneinput.tsx +495 -0
  729. package/source/react/pivottable/pivottable.jsx +990 -0
  730. package/source/react/pivottable/pivottable.tsx +980 -0
  731. package/source/react/progressbar/circularprogressbar.jsx +337 -0
  732. package/source/react/progressbar/circularprogressbar.tsx +359 -0
  733. package/source/react/progressbar/progressbar.jsx +351 -0
  734. package/source/react/progressbar/progressbar.tsx +375 -0
  735. package/source/react/progresswindow/progresswindow.jsx +1391 -0
  736. package/source/react/progresswindow/progresswindow.tsx +1349 -0
  737. package/source/react/promptwindow/promptwindow.jsx +1391 -0
  738. package/source/react/promptwindow/promptwindow.tsx +1349 -0
  739. package/source/react/qrcode/qrcode.jsx +396 -0
  740. package/source/react/qrcode/qrcode.tsx +418 -0
  741. package/source/react/querybuilder/querybuilder.jsx +589 -0
  742. package/source/react/querybuilder/querybuilder.tsx +587 -0
  743. package/source/react/radiobutton/radiobutton.jsx +373 -0
  744. package/source/react/radiobutton/radiobutton.tsx +387 -0
  745. package/source/react/rating/rating.jsx +315 -0
  746. package/source/react/rating/rating.tsx +337 -0
  747. package/source/react/scheduler/scheduler.jsx +2452 -0
  748. package/source/react/scheduler/scheduler.tsx +2336 -0
  749. package/source/react/scrollbar/scrollbar.jsx +380 -0
  750. package/source/react/scrollbar/scrollbar.tsx +402 -0
  751. package/source/react/slider/slider.jsx +731 -0
  752. package/source/react/slider/slider.tsx +753 -0
  753. package/source/react/sortable/sortable.jsx +319 -0
  754. package/source/react/sortable/sortable.tsx +341 -0
  755. package/source/react/sortpanel/sortpanel.jsx +273 -0
  756. package/source/react/sortpanel/sortpanel.tsx +291 -0
  757. package/source/react/splitter/splitter.jsx +613 -0
  758. package/source/react/splitter/splitter.tsx +627 -0
  759. package/source/react/splitter/splitterbar.jsx +205 -0
  760. package/source/react/splitter/splitterbar.tsx +231 -0
  761. package/source/react/splitter/splitteritem.jsx +288 -0
  762. package/source/react/splitter/splitteritem.tsx +314 -0
  763. package/source/react/switchbutton/switchbutton.jsx +421 -0
  764. package/source/react/switchbutton/switchbutton.tsx +435 -0
  765. package/source/react/table/table.jsx +1628 -0
  766. package/source/react/table/table.tsx +1590 -0
  767. package/source/react/tabs/tabitem.jsx +219 -0
  768. package/source/react/tabs/tabitem.tsx +245 -0
  769. package/source/react/tabs/tabitemsgroup.jsx +171 -0
  770. package/source/react/tabs/tabitemsgroup.tsx +197 -0
  771. package/source/react/tabs/tabs.jsx +720 -0
  772. package/source/react/tabs/tabs.tsx +722 -0
  773. package/source/react/tabswindow/tabswindow.jsx +1391 -0
  774. package/source/react/tabswindow/tabswindow.tsx +1349 -0
  775. package/source/react/tank/tank.jsx +680 -0
  776. package/source/react/tank/tank.tsx +702 -0
  777. package/source/react/textarea/textarea.jsx +541 -0
  778. package/source/react/textarea/textarea.tsx +559 -0
  779. package/source/react/textbox/listitem.jsx +279 -0
  780. package/source/react/textbox/listitem.tsx +305 -0
  781. package/source/react/textbox/listitemsgroup.jsx +159 -0
  782. package/source/react/textbox/listitemsgroup.tsx +185 -0
  783. package/source/react/textbox/textbox.jsx +842 -0
  784. package/source/react/textbox/textbox.tsx +864 -0
  785. package/source/react/threedchart/threedchart.jsx +1124 -0
  786. package/source/react/threedchart/threedchart.tsx +1106 -0
  787. package/source/react/timeinput/timeinput.jsx +463 -0
  788. package/source/react/timeinput/timeinput.tsx +485 -0
  789. package/source/react/timepicker/timepicker.jsx +406 -0
  790. package/source/react/timepicker/timepicker.tsx +428 -0
  791. package/source/react/toast/toast.jsx +510 -0
  792. package/source/react/toast/toast.tsx +508 -0
  793. package/source/react/tooltip/tooltip.jsx +453 -0
  794. package/source/react/tooltip/tooltip.tsx +463 -0
  795. package/source/react/tree/tree.jsx +1176 -0
  796. package/source/react/tree/tree.tsx +1158 -0
  797. package/source/react/tree/treeitem.jsx +243 -0
  798. package/source/react/tree/treeitem.tsx +269 -0
  799. package/source/react/tree/treeitemsgroup.jsx +243 -0
  800. package/source/react/tree/treeitemsgroup.tsx +269 -0
  801. package/source/react/validator/validator.jsx +202 -0
  802. package/source/react/validator/validator.tsx +228 -0
  803. package/source/react/waitwindow/waitwindow.jsx +1391 -0
  804. package/source/react/waitwindow/waitwindow.tsx +1349 -0
  805. package/source/react/window/window.jsx +1375 -0
  806. package/source/react/window/window.tsx +1349 -0
  807. package/source/smart.3dchart.js +6 -0
  808. package/source/smart.accordion.js +6 -0
  809. package/source/smart.ajax.js +5 -0
  810. package/source/smart.array.js +6 -0
  811. package/source/smart.barcode.js +6 -0
  812. package/source/smart.bootstrap.js +6 -0
  813. package/source/smart.breadcrumb.js +6 -0
  814. package/source/smart.button.js +6 -0
  815. package/source/smart.buttongroup.js +6 -0
  816. package/source/smart.calendar.js +6 -0
  817. package/source/smart.card.js +6 -0
  818. package/source/smart.cardview.js +6 -0
  819. package/source/smart.carousel.js +6 -0
  820. package/source/smart.chart.annotations.js +6 -0
  821. package/source/smart.chart.api.js +6 -0
  822. package/source/smart.chart.core.js +6 -0
  823. package/source/smart.chart.js +6 -0
  824. package/source/smart.chart.rangeselector.js +6 -0
  825. package/source/smart.chart.waterfall.js +6 -0
  826. package/source/smart.checkbox.js +6 -0
  827. package/source/smart.checkinput.js +6 -0
  828. package/source/smart.chip.js +6 -0
  829. package/source/smart.colorinput.js +6 -0
  830. package/source/smart.colorpanel.js +6 -0
  831. package/source/smart.colorpicker.js +6 -0
  832. package/source/smart.combobox.js +6 -0
  833. package/source/smart.complex.js +6 -0
  834. package/source/smart.core.js +6 -0
  835. package/source/smart.countryinput.js +6 -0
  836. package/source/smart.data.js +6 -0
  837. package/source/smart.date.js +6 -0
  838. package/source/smart.dateformatpanel.js +6 -0
  839. package/source/smart.dateinput.js +6 -0
  840. package/source/smart.daterangeinput.js +6 -0
  841. package/source/smart.datetimepicker.js +6 -0
  842. package/source/smart.dockinglayout.js +6 -0
  843. package/source/smart.draw.js +6 -0
  844. package/source/smart.dropdownbutton.js +6 -0
  845. package/source/smart.dropdownlist.js +6 -0
  846. package/source/smart.editor.js +6 -0
  847. package/source/smart.element.js +6 -0
  848. package/source/smart.elements.js +3 -3
  849. package/source/smart.export.js +6 -0
  850. package/source/smart.fileupload.js +6 -0
  851. package/source/smart.filter.js +6 -0
  852. package/source/smart.filterbuilder.js +6 -0
  853. package/source/smart.filterpanel.js +6 -0
  854. package/source/smart.form.js +6 -0
  855. package/source/smart.format.js +6 -0
  856. package/source/smart.formulaparser.js +6 -0
  857. package/source/smart.ganttchart.js +6 -0
  858. package/source/smart.gauge.js +6 -0
  859. package/source/smart.grid.cell.js +6 -0
  860. package/source/smart.grid.chart.js +6 -0
  861. package/source/smart.grid.column.js +6 -0
  862. package/source/smart.grid.core.js +6 -0
  863. package/source/smart.grid.dialog.js +6 -0
  864. package/source/smart.grid.edit.js +6 -0
  865. package/source/smart.grid.export.js +6 -0
  866. package/source/smart.grid.filter.js +6 -0
  867. package/source/smart.grid.group.js +6 -0
  868. package/source/smart.grid.js +6 -0
  869. package/source/smart.grid.menu.js +6 -0
  870. package/source/smart.grid.pager.js +6 -0
  871. package/source/smart.grid.reorder.js +6 -0
  872. package/source/smart.grid.resize.js +6 -0
  873. package/source/smart.grid.row.js +6 -0
  874. package/source/smart.grid.select.js +6 -0
  875. package/source/smart.grid.sort.js +6 -0
  876. package/source/smart.grid.toolbar.js +6 -0
  877. package/source/smart.grid.tree.js +6 -0
  878. package/source/smart.grid.view.js +6 -0
  879. package/source/smart.gridpanel.js +6 -0
  880. package/source/smart.input.js +6 -0
  881. package/source/smart.kanban.js +6 -0
  882. package/source/smart.layout.js +6 -0
  883. package/source/smart.led.js +6 -0
  884. package/source/smart.listbox.js +6 -0
  885. package/source/smart.listmenu.js +6 -0
  886. package/source/smart.map.js +6 -0
  887. package/source/smart.maskedtextbox.js +6 -0
  888. package/source/smart.math.js +6 -0
  889. package/source/smart.menu.js +6 -0
  890. package/source/smart.multicomboinput.js +6 -0
  891. package/source/smart.multiinput.js +6 -0
  892. package/source/smart.multilinetextbox.js +6 -0
  893. package/source/smart.multisplitbutton.js +6 -0
  894. package/source/smart.numberformatpanel.js +6 -0
  895. package/source/smart.numberinput.js +6 -0
  896. package/source/smart.numeric.js +6 -0
  897. package/source/smart.numerictextbox.js +6 -0
  898. package/source/smart.pager.js +6 -0
  899. package/source/smart.passwordinput.js +6 -0
  900. package/source/smart.passwordtextbox.js +6 -0
  901. package/source/smart.path.js +6 -0
  902. package/source/smart.phoneinput.js +6 -0
  903. package/source/smart.pivottable.js +6 -0
  904. package/source/smart.powerbutton.js +6 -0
  905. package/source/smart.progressbar.js +6 -0
  906. package/source/smart.qrcode.js +6 -0
  907. package/source/smart.radiobutton.js +6 -0
  908. package/source/smart.rating.js +6 -0
  909. package/source/smart.router.js +6 -0
  910. package/source/smart.scheduler.js +6 -0
  911. package/source/smart.scrollbar.js +6 -0
  912. package/source/smart.slider.js +6 -0
  913. package/source/smart.sortable.js +6 -0
  914. package/source/smart.splitter.js +6 -0
  915. package/source/smart.switchbutton.js +6 -0
  916. package/source/smart.table.js +6 -0
  917. package/source/smart.tabs.js +6 -0
  918. package/source/smart.tank.js +6 -0
  919. package/source/smart.textarea.js +6 -0
  920. package/source/smart.textbox.js +6 -0
  921. package/source/smart.tickintervalhandler.js +6 -0
  922. package/source/smart.timeinput.js +6 -0
  923. package/source/smart.timepicker.js +6 -0
  924. package/source/smart.toast.js +6 -0
  925. package/source/smart.tooltip.js +6 -0
  926. package/source/smart.tree.js +6 -0
  927. package/source/smart.validationpanel.js +6 -0
  928. package/source/smart.validator.js +6 -0
  929. package/source/smart.window.js +6 -0
@@ -0,0 +1,6 @@
1
+
2
+ /* Smart UI v15.0.11 (2023-02-01)
3
+ Copyright (c) 2011-2023 jQWidgets.
4
+ License: https://htmlelements.com/license/ */ //
5
+
6
+ Smart("smart-3d-chart",class extends Smart.BaseElement{static get properties(){return{lightColor:{type:"string",value:"#ffffff"},autoRotate:{type:"boolean",value:!1},autoRotateSpeed:{type:"number",value:1},animationSpeed:{type:"number",value:1},animation:{type:"string",value:""},borderLineColor:{value:null,type:"string?"},borderLineWidth:{value:1,type:"number"},cameraAnimationSpeed:{type:"number",value:1},customModels:{type:"array",value:[]},showConnectionLines:{type:"boolean",value:!1},transitionSpeed:{type:"number",value:1},backgroundColor:{type:"string",value:"#ffffff"},backgroundGradient:{type:"array",value:[]},backgroundTexture:{type:"array",value:[]},backgroundImage:{type:"string",value:""},caption:{type:"string",value:""},colorScheme:{value:"scheme01",type:"string"},cameraPosition:{type:"object",value:{x:{value:5,type:"number"},y:{value:20,type:"number"},z:{value:55,type:"number"}}},messages:{value:{en:{resetCamera:"Reset Camera",cameraMode:"Camera Mode",panMode:"Pan Mode",zoomMode:"Zoom Mode",saveImage:"Save Image",zoomOut:"Zoom Out",zoomIn:"Zoom In",field:"Field",invalidSeries:"smart-chart: Invalid property: each series group must have a 'series' property which must be a valid array.",invalidSeriesGroups:"smart-chart: Invalid property: 'seriesGroups' property is required and must be a valid array.",invalidType:'smart-chart: Invalid serie type "{{type}}".',missingReference:"smart-chart: Missing reference to {{files}}.",missingType:"smart-chart: Invalid property: each series group must have a valid 'type' property."}},type:"object",extend:!0},cameraZoom:{type:"number",value:1},controlsSettings:{type:"object",value:{enablePan:{type:"boolean",value:!0},enableZoom:{type:"boolean",value:!0},enableRotate:{type:"boolean",value:!0},enableDamping:{type:"boolean",value:!0},dampingFactor:{type:"number",value:.15}}},selectMode:{type:"string",value:"multiple",allowedValues:["none","one","multiple"]},legendLayout:{value:{flow:{value:"horizontal",allowedValues:["horizontal","vertical"],type:"string"},height:{value:null,type:"number?"},left:{value:null,type:"number?"},top:{value:null,type:"number?"},width:{value:null,type:"number?"}},type:"object?"},legendIndex:{value:"auto",allowedValues:["auto","group","serie"],type:"string"},seriesGroups:{value:[],type:"any",reflectToAttribute:!1},dataSource:{value:[],type:"object",reflectToAttribute:!1},description:{type:"string",value:"Description"},greyScale:{type:"boolean",value:!1},showBorderLine:{type:"boolean",value:!0},showLegend:{type:"boolean",value:!0},showLegendTable:{type:"boolean",value:!1},showToolTips:{type:"boolean",value:!0},toolTipFormatFunction:{value:null,type:"function?"},toolTipFormatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},toolTipLineColor:{value:null,type:"string?"},gridOptions:{value:{dynamicWidth:{value:!1,type:"boolean"},slotWidthX:{value:16,type:"number?"},slotWidthZ:{value:16,type:"number?"},height:{value:30,type:"number"},width:{value:90,type:"number"},lineColor:{value:"#808080",type:"string?"},orientation:{value:"vertical",type:"string",allowedValues:["vertical","horizontal"]}},type:"object",reflectToAttribute:!1},xAxis:{value:{alternatingBackgroundColor:{value:"",type:"string"},alternatingBackgroundColor2:{value:"",type:"string"},alternatingBackgroundOpacity:{value:1,type:"number"},axisSize:{value:null,type:"any"},bands:{value:null,type:"array?"},baseUnit:{value:null,allowedValues:["year","month","day","hour","minute","second","millisecond",null],type:"string?"},customDraw:{value:!1,type:"boolean"},dataField:{value:"",type:"string"},dateFormat:{value:null,type:"string?"},displayText:{value:null,type:"string?"},flip:{value:!1,type:"boolean"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},gridLines:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},formatFunction:{value:null,type:"function?"},lineWidth:{value:1,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},labels:{value:{angle:{value:0,type:"number"},autoRotate:{value:!1,type:"boolean"},class:{value:null,type:"string?"},custom:{value:null,type:"array?"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},offset:{value:{x:{value:0,type:"number"},y:{value:0,type:"number"}},type:"object"},rotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"any"}},type:"object"},line:{value:{color:{value:"",type:"string"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},visible:{value:!0,type:"any"}},type:"object"},logarithmicScale:{value:!1,type:"boolean"},logarithmicScaleBase:{value:10,type:"number"},maxValue:{value:NaN,type:"any"},minValue:{value:NaN,type:"any"},position:{value:"bottom",allowedValues:["bottom","top","left","right"],type:"string"},rangeSelector:{value:{backgroundColor:{value:null,type:"string?"},backgroundImage:{value:"",type:"string"},baseUnit:{value:null,allowedValues:["year","month","day","hour","minute","second","millisecond",null],type:"string?"},borderLineColor:{value:null,type:"string?"},borderLineWidth:{value:null,type:"number?"},caption:{value:"",type:"string"},colorScheme:{value:null,type:"string?"},columnSeriesOverlap:{value:!1,type:"boolean"},dynamic:{value:!1,type:"boolean"},columnsGapPercent:{value:25,type:"number"},dataField:{value:null,type:"string?"},description:{value:"",type:"string"},greyScale:{value:null,type:"boolean?"},gridLines:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},labels:{value:{angle:{value:0,type:"number"},autoRotate:{value:!1,type:"boolean"},class:{value:null,type:"string?"},custom:{value:null,type:"array?"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},offset:{value:{x:{value:0,type:"number"},y:{value:0,type:"number"}},type:"object"},rotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"any"}},type:"object"},maxValue:{value:150,type:"any"},minValue:{value:50,type:"any"},padding:{value:{bottom:{value:0,type:"number"},left:{value:0,type:"number"},right:{value:0,type:"number"},top:{value:0,type:"number"}},type:"object"},position:{value:null,allowedValues:["bottom","top","left","right"],type:"string?"},renderTo:{value:null,type:"any"},rightToLeft:{value:null,type:"boolean?"},seriesGapPercent:{value:10,type:"number"},seriesGroups:{value:null,type:"array?"},serieType:{value:"area",type:"string"},showBorderLine:{value:null,type:"boolean?"},size:{value:null,type:"number?"},skipOverlappingPoints:{value:!0,type:"boolean"},titlePadding:{value:{bottom:{value:10,type:"number"},left:{value:5,type:"number"},right:{value:5,type:"number"},top:{value:5,type:"number"}},type:"object"},visible:{value:!1,type:"boolean"}},type:"object"},textRotationAngle:{value:null,type:"number?"},textRotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},tickMarks:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},size:{value:4,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},title:{value:{class:{value:null,type:"string?"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},text:{value:"",type:"string"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"boolean"}},type:"object"},type:{value:"auto",allowedValues:["auto","date","basic","linear"],type:"string"},unitInterval:{value:null,type:"number?"},valuesOnTicks:{value:!0,type:"boolean"},visible:{value:!0,type:"boolean"}},type:"object",reflectToAttribute:!1},zAxis:{value:{alternatingBackgroundColor:{value:"",type:"string"},alternatingBackgroundColor2:{value:"",type:"string"},alternatingBackgroundOpacity:{value:1,type:"number"},axisSize:{value:null,type:"any"},bands:{value:null,type:"array?"},baseUnit:{value:null,allowedValues:["year","month","day","hour","minute","second","millisecond",null],type:"string?"},customDraw:{value:!1,type:"boolean"},dataField:{value:"",type:"string"},dateFormat:{value:null,type:"string?"},displayText:{value:null,type:"string?"},flip:{value:!1,type:"boolean"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},gridLines:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},labels:{value:{angle:{value:0,type:"number"},autoRotate:{value:!1,type:"boolean"},class:{value:null,type:"string?"},custom:{value:null,type:"array?"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},offset:{value:{x:{value:0,type:"number"},y:{value:0,type:"number"}},type:"object"},rotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"any"}},type:"object"},line:{value:{color:{value:"",type:"string"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},visible:{value:!0,type:"any"}},type:"object"},logarithmicScale:{value:!1,type:"boolean"},logarithmicScaleBase:{value:10,type:"number"},maxValue:{value:NaN,type:"any"},minValue:{value:NaN,type:"any"},position:{value:"bottom",allowedValues:["bottom","top","left","right"],type:"string"},textRotationAngle:{value:null,type:"number?"},textRotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},tickMarks:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},size:{value:4,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},title:{value:{class:{value:null,type:"string?"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},text:{value:"",type:"string"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"boolean"}},type:"object"},type:{value:"auto",allowedValues:["auto","date","basic","linear"],type:"string"},unitInterval:{value:null,type:"number?"},valuesOnTicks:{value:!0,type:"boolean"},visible:{value:!0,type:"boolean"}},type:"object",reflectToAttribute:!1},valueAxis:{value:{bands:{value:null,type:"array?"},baselineValue:{value:null,type:"any"},customDraw:{value:!1,type:"boolean"},displayText:{value:null,type:"string?"},flip:{value:!1,type:"boolean"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},gridLines:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},labels:{value:{angle:{value:0,type:"number"},autoRotate:{value:!1,type:"boolean"},class:{value:null,type:"string?"},custom:{value:null,type:"array?"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},offset:{value:{x:{value:0,type:"number"},y:{value:0,type:"number"}},type:"object"},rotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"any"}},type:"object"},line:{value:{color:{value:"",type:"string"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},visible:{value:!0,type:"any"}},type:"object"},logarithmicScale:{value:!1,type:"boolean"},logarithmicScaleBase:{value:10,type:"number"},maxValue:{value:NaN,type:"any"},minValue:{value:NaN,type:"any"},position:{value:"left",allowedValues:["left","right","top","bottom"],type:"string"},textRotationAngle:{value:null,type:"number?"},textRotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},tickMarks:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},size:{value:4,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},title:{value:{class:{value:null,type:"string?"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},text:{value:"",type:"string"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"boolean"}},type:"object"},unitInterval:{value:10,type:"number?"},valuesOnTicks:{value:!0,type:"boolean"},visible:{value:!0,type:"boolean"}},type:"object"},enableControlsToolbar:{value:!0,type:"boolean"},controlsToolbarItems:{value:["reset-camera","zoom-in","zoom-out","save-image","camera-control"],reflectToAttribute:!1,type:"array"}}}static get listeners(){return{click:"_clickHandler",down:"_downMoveHandler",mouseleave:"_mouseleaveHandler",move:"_moveHandler",resize:"_resizeHandler","document.move":"_downMoveHandler","document.up":"_documentUpHandler",mousedown:"_documentUpHandler",mouseover:"_mouseoverHandler"}}static get requires(){return{"Smart.DropDownList":"smart.dropdownlist.js","Smart.Tooltip":"smart.tooltip.js"}}static get styleUrls(){return["smart.3dchart.css"]}_setDefaults(){const e=this;e._hiddenIndexes=[],e._inMotionQueue=[],e._inTransitionQueue=[],e._hiddenIndexes=[],e._scaledLabels=[],e._seriesData=[],e._chartObjects=[],e._startPoints=[],e._labels=[],e._rangeSelector={},e._grid=null,e._drawComplete=!1,e.colorSchemes=[{name:"scheme01",colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF"]},{name:"scheme02",colors:["#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8"]},{name:"scheme03",colors:["#E8601A","#FF9639","#F5BD6A","#599994","#115D6E"]},{name:"scheme04",colors:["#D02841","#FF7C41","#FFC051","#5B5F4D","#364651"]},{name:"scheme05",colors:["#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00"]},{name:"scheme06",colors:["#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B"]},{name:"scheme07",colors:["#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63"]},{name:"scheme08",colors:["#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6"]},{name:"scheme09",colors:["#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F"]},{name:"scheme10",colors:["#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825"]},{name:"scheme11",colors:["#993144","#FFA257","#CCA56A","#ADA072","#949681"]},{name:"scheme12",colors:["#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932"]},{name:"scheme13",colors:["#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54"]},{name:"scheme14",colors:["#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3"]},{name:"scheme15",colors:["#444546","#FFBB6E","#F28D00","#D94F00","#7F203B"]},{name:"scheme16",colors:["#583C39","#674E49","#948658","#F0E99A","#564E49"]},{name:"scheme17",colors:["#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17"]},{name:"scheme18",colors:["#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5"]},{name:"scheme19",colors:["#844341","#D5CC92","#BBA146","#897B26","#55591C"]},{name:"scheme20",colors:["#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472"]},{name:"scheme21",colors:["#96003A","#FF7347","#FFBC7B","#FF4154","#642223"]},{name:"scheme22",colors:["#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E"]},{name:"scheme23",colors:["#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7"]},{name:"scheme24",colors:["#7B1A25","#BF5322","#9DA860","#CEA457","#B67818"]},{name:"scheme25",colors:["#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46"]},{name:"scheme26",colors:["#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800"]},{name:"scheme27",colors:["#FF6800","#A0A700","#FF8D00","#678900","#0069A5"]},{name:"scheme28",colors:["#3A43BA","#281E5D","#48AAAD","#0492C2","#1E456E","#59788D","#52B2C0","#82EDFD"]},{name:"scheme29",colors:["#003F5C","#BC5090","#58508D","#FF6361","#FFA600"]},{name:"scheme30",colors:["#16736F","#A2D56A","#1C515C","#62B773","#EEEF63","#1F313F","#309577"]},{name:"scheme31",colors:["#74CC66","#191A4D","#2D867A","#EEE3CD","#224D19","#0D261B","#5771C7","#B6D7E7","#206052","#6B5724","#C3AF4B","#603620","#536722","#B6E7B9","#34819D","#94ACDB"]},{name:"scheme32",colors:["#87C5FF","#5B5B60","#9BE076","#F7A384","#7479D3","#F13A80","#E4D388","#2BC6B2","#F45B14"]}],e._seriesTypes=["line","stackedline","stackedline100","spline","stackedspline","stackedspline100","stepline","stackedstepline","stackedstepline100","area","stackedarea","stackedarea100","splinearea","stackedsplinearea","stackedsplinearea100","steparea","stackedsteparea","stackedsteparea100","rangearea","splinerangearea","steprangearea","column","stackedcolumn","stackedcolumn100","rangecolumn","bar","stackedbar","stackedbar100","rangebar","scatter","stackedscatter","stackedscatter100","bubble","stackedbubble","stackedbubble100","pie","donut","candlestick","ohlc","waterfall","stackedwaterfall"],e._seriesGridTypes=e._seriesTypes.filter((e=>!["pie","donut","pyramid","funnel"].includes(e)))}template(){return'<div class="smart-3d-chart-controls"></div> <div class="smart-3d-chart-container"><div class="smart-3d-chart-tooltip"></div></div> <div class="smart-3d-chart-footer"></div>'}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const r="xAxis_rangeSelector_minValue"===e||"xAxis_rangeSelector_maxValue"===e,n="controlsToolbarItems"===e||"enableControlsToolbar"===e;this.refresh(!1,r,n)}refresh(e=!1,t=!1){this._internalRefresh(e,t)}update(){this._internalRefresh()}_internalRefresh(e=!1,t=!1,a=!1){const r=this;let n;r.$.fireEvent("refreshStart",{}),e||(r._drawComplete=!0),r._camera&&(n=r._camera.position),(a||e)&&r._setControls(),t||(r._setCaption(),r._setLegendTable(),r._setScene(),r._buildSource()),r._setChart(),t||(r._rangeSelector.rangeSelector||r._setRangeSelector(),r._chartResize(r)),e&&r._rangeSelector.rangeSelector&&r._setRangeValues(),n&&r._camera.position.set(n.x,n.y,n.z),r.$.fireEvent("refreshEnd",{})}_setLegendTable(){const e=this;if(e.querySelector(".smart-3d-chart-legend-table")&&e.querySelector(".smart-3d-chart-legend-table").parentNode.removeChild(e.querySelector(".smart-3d-chart-legend-table")),e.showLegendTable){const t=e._getAxisLabels();let a=e._createLegendTable("column",t);a.style.width="100%",e.querySelector(".smart-3d-chart-footer").appendChild(a)}}_setRangeSelector(){const e=this;if(e.querySelector(".smart-3d-chart-range-selector")&&e.querySelector(".smart-3d-chart-range-selector").parentNode.removeChild(e.querySelector(".smart-3d-chart-range-selector")),e.xAxis.rangeSelector.visible){const t=e._getAxisLabels();let a=e._createRangeSelector(t);e.querySelector(".smart-3d-chart-footer").appendChild(a),e._updateResizeHandlers()}}_getRangeChartCoordinates(){const e=this;let t=e._getObjectsByIndexes(0,0).map((e=>{const t=e.userData;return{xAxisValue:t.xAxisField,value:t.value,itemIndex:t.itemIndex,serieIndex:t.serieIndex,groupIndex:t.groupIndex}}));e._rangeSelector.dataPoints=t;const a=e._grid.userData.gridProps.maxValue,r=[];return t.forEach((e=>{r.push({x:e.itemIndex/(t.length-1)*100,y:100-e.value/a*100,xAxisValue:e.xAxisValue})})),r}_initDragElement(e,t){const a=this;var r=0,n=0;function i(i){(i=i||window.event).preventDefault(),r=n-i.clientX,n=i.clientX;let o=t.getBoundingClientRect(),l=e.getBoundingClientRect();l.left-r>o.left&&l.right-r<o.right&&(e.style.left=e.offsetLeft-r+"px",e.classList.contains("smart-3d-chart-range-selector-rect")?a._updateResizeHandlers():a._updateDragRectangle(),a.xAxis.rangeSelector.dynamic&&(clearTimeout(a.dragTimeout),a.dragTimeout=setTimeout((()=>{a._updateRange()}),20)))}function o(){document.onmouseup=null,document.onmousemove=null,a._updateRange()}e.onmousedown=function(e){(e=e||window.event).preventDefault(),n=e.clientX,document.onmousemove=i,document.onmouseup=o}}_setRangeValues(e=!0){const t=this,a=t.xAxis.minValue||t._rangeSelector.dataPoints[0].xAxisValue,r=t.xAxis.maxValue||t._rangeSelector.dataPoints[t._rangeSelector.dataPoints.length-1].xAxisValue;t._rangeSelector.minIndex=t._rangeSelector.dataPoints.findIndex((e=>e.xAxisValue===a)),t._rangeSelector.maxIndex=t._rangeSelector.dataPoints.findIndex((e=>e.xAxisValue===r));const n=t._rangeSelector.rangeSelector.getBoundingClientRect();t._rangeSelector.sliders[0].style.left=t._rangeSelector.minIndex/(t._rangeSelector.dataPoints.length-1)*n.width+"px",t._rangeSelector.sliders[1].style.left=t._rangeSelector.maxIndex/(t._rangeSelector.dataPoints.length-1)*n.width+"px",t._updateDragRectangle(),e&&t.update()}_updateRange(){const e=this,t=e._rangeSelector.rangeSelector.getBoundingClientRect(),a=e._rangeSelector.rangeSelectorRect.getBoundingClientRect(),r=(a.left-t.left)/t.width,n=(a.left-t.left+a.width)/t.width,i=e._rangeSelector.dataPoints[Math.round(r*(e._rangeSelector.dataPoints.length-1))].xAxisValue,o=e._rangeSelector.dataPoints[Math.round(n*(e._rangeSelector.dataPoints.length-1))].xAxisValue;e.$.fireEvent("rangeSelectionChanging",{minValue:i,maxValue:o,oldMinValue:e.xAxis.minValue,oldMaxValue:e.xAxis.maxValue}).defaultPrevented?e._setRangeValues(!1):(e._rangeSelector.minIndex=Math.round(r*(e._rangeSelector.dataPoints.length-1)),e._rangeSelector.maxIndex=Math.round(n*(e._rangeSelector.dataPoints.length-1)),e.xAxis.minValue=e._rangeSelector.dataPoints[Math.round(r*(e._rangeSelector.dataPoints.length-1))].xAxisValue,e.xAxis.maxValue=e._rangeSelector.dataPoints[Math.round(n*(e._rangeSelector.dataPoints.length-1))].xAxisValue,e.$.fireEvent("rangeSelectionChanged",{minValue:e.xAxis.minValue,maxValue:e.xAxis.maxValue}),e.update())}_updateDragRectangle(){const e=this._rangeSelector.rangeSelectorRect,t=this._rangeSelector.sliders,a=parseFloat(t[0].style.left)>parseFloat(t[1].style.left)?t[1]:t[0],r=parseFloat(t[0].style.left)>parseFloat(t[1].style.left)?t[0]:t[1];e.style.left=a.style.left,e.style.width=parseFloat(r.style.left)-parseFloat(a.style.left)+"px"}_initResizeElement(e,t){const a=this,r=document.createElement("div");r.classList.add("smart-3d-chart-range-selector-slider");const n=document.createElement("div");n.classList.add("smart-3d-chart-range-selector-slider"),t.appendChild(r),t.appendChild(n),a._rangeSelector.sliders=[r,n],a._initDragElement(r,t),a._initDragElement(n,t)}_updateResizeHandlers(){const e=this,t=e._rangeSelector.rangeSelectorRect,a=t.getBoundingClientRect();e._rangeSelector.sliders[0].style.left=t.style.left,e._rangeSelector.sliders[1].style.left=parseFloat(t.style.left)+a.width+"px"}_createRangeSelector(){const e=this,t=document.createElement("div");t.classList.add("smart-3d-chart-range-selector-container"),t.style.height="70px",t.style.width="95%",t.style.margin="10px auto";const a=document.createElement("div");a.classList.add("smart-3d-chart-range-selector"),t.appendChild(a),e._rangeSelector.rangeSelector=a;const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("width","100%"),r.setAttribute("height","100%"),r.setAttribute("viewBox","0 0 100 100"),r.setAttribute("preserveAspectRatio","none");const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("width","100%"),n.setAttribute("height","20%"),r.setAttribute("viewBox","0 0 100 100"),r.setAttribute("preserveAspectRatio","none"),n.style.overflow="visible";const i=document.createElementNS("http://www.w3.org/2000/svg","polygon"),o=e._getRangeChartCoordinates();let l="";l+="0,100 ",o.forEach((e=>{l+=`${e.x},${e.y} `})),l+="100,100",i.setAttribute("points",l);let s=e.xAxis.rangeSelector.color||e._getColorFromScheme(e.colorScheme,0),d=e.xAxis.rangeSelector.opacity||.8;i.setAttribute("fill",s),i.setAttribute("opacity",d),r.appendChild(i),a.appendChild(r);let u=e.xAxis.rangeSelector.labels.step||Math.round(o.length/20);for(let e=0;e<o.length;e+=u){const t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("x",o[e].x+.2+"%"),t.setAttribute("y","10"),t.setAttribute("font-size","10px"),t.setAttribute("fill","gray"),t.setAttribute("text-anchor","middle"),t.setAttribute("alignment-baseline","middle"),t.innerHTML=o[e].xAxisValue,n.appendChild(t);const a=document.createElementNS("http://www.w3.org/2000/svg","line");a.setAttribute("x1",o[e].x+.2+"%"),a.setAttribute("y1","0"),a.setAttribute("x2",o[e].x+.2+"%"),a.setAttribute("y2","2"),a.setAttribute("stroke","gray"),a.setAttribute("stroke-width","1"),a.style.position="absolute",n.appendChild(a)}t.appendChild(n);const c=document.createElement("div");return c.classList.add("smart-3d-chart-range-selector-rect"),c.style.left="0px",e._rangeSelector.rangeSelectorRect=c,a.appendChild(c),e._initDragElement(c,a),e._initResizeElement(c,a),t}ready(){super.ready()}beginUpdate(){this._updating=!0}endUpdate(e=!1){const t=this;t._updating=!1,e?t.refresh():t._setChart()}setCameraPosition(e,t,a,r=!0){const n=this;r?n._inMotionQueue.push({obj:n._camera,target:{x:e,y:t,z:a},type:"camera"}):n._camera.position.set(e,t,a)}setCameraZoom(e,t=!0){const a=this,r=a._camera.position,n={x:r.x/e,y:r.y/e,z:r.z/e};t?a.setCameraPosition(n.x,n.y,n.z):a._camera.position.set(n.x,n.y,n.z)}saveAsJPEG(e="chart",t=!0,a=!0){this._saveAsImage(e,"jpeg",t,a)}saveAsPNG(e="chart",t=!0,a=!0){this._saveAsImage(e,"png",t,a)}saveAsPDF(e="chart",t=!0,a=!0){this._saveAsImage(e,"pdf",t,a)}_saveAsImage(e,t,a,r){const n=this,i=n.querySelector(".smart-3d-chart-legend"),o=n.querySelector(".smart-3d-chart-caption");if(!a&&i&&(i.style.display="none"),!r&&o&&(o.style.display="none"),"undefined"!=typeof html2canvas){const a=n.querySelector(".smart-3d-chart-container").getBoundingClientRect();html2canvas(n.querySelector(".smart-3d-chart-container"),{allowTaint:!0,useCORS:!0,logging:!1,width:a.width,height:a.height}).then((function(a){let r;if("jpeg"===t&&(r=a.toDataURL("image/jpeg")),"png"===t&&(r=a.toDataURL("image/png")),"pdf"===t){r=a.toDataURL("application/jpeg");const t={content:{image:r,width:Math.min(a.width/1.35,515)},pageOrientation:"portait"};try{pdfMake.createPdf(t).download(e)}catch(e){n.error(n.localize("missingReference",{files:"pdfmake.min.js"}))}}if(r&&"pdf"!==t){const a=document.createElement("a");a.download=e+"."+t,a.href=r,a.click()}}))}else{const a=n.querySelector("canvas");if(a){let r;if("jpeg"===t&&(r=a.toDataURL("image/jpeg")),"png"===t&&(r=a.toDataURL("image/png")),"pdf"===t){r=a.toDataURL("application/jpeg");const t={content:{image:r,width:Math.min(a.width/1.35,515)},pageOrientation:"portait"};try{pdfMake.createPdf(t).download(e)}catch(e){n.error(n.localize("missingReference",{files:"pdfmake.min.js"}))}}r&&"pdf"!==t&&(document.createElement("a").download=e+"."+t)}}!a&&i&&(i.style.display="block"),!r&&o&&(o.style.display="block")}_getLabelPoint(e,t=0,a=1.5){const r=new window.THREE.Vector3;return e.geometry.computeBoundingBox(),e.geometry.boundingBox.getCenter(r),r.x*=t,r.y+=a,r.z*=t,r}_createDonutSlice(e,t={x:0,y:0,z:0}){const a={curveItems:32,steps:1,curveSegments:32,depth:e.height,bevelEnabled:!1},r=new window.THREE.MeshLambertMaterial({color:e.color,transparent:!0,opacity:e.opacity});let n=new window.THREE.Shape;n.absarc(t.x,t.z,e.radius,e.angleStart,e.angleEnd,!1),n.absarc(t.x,t.z,e.radius-e.width,e.angleEnd,e.angleStart,!0);let i=new window.THREE.ExtrudeGeometry(n,a);return i.rotateX(-Math.PI/2),new window.THREE.Mesh(i,r)}_createPieSlice(e,t={x:0,y:0,z:0}){const a={curveItems:32,steps:1,curveSegments:32,depth:e.height,bevelEnabled:!1},r=new window.THREE.MeshLambertMaterial({color:e.color,transparent:!0,opacity:e.opacity});let n=new window.THREE.Shape;n.moveTo(t.x,t.z),n.absarc(t.x,t.z,e.radius,e.angleStart,e.angleEnd,!1),n.lineTo(t.x,t.z);let i=new window.THREE.ExtrudeGeometry(n,a);return i.rotateX(-Math.PI/2),new window.THREE.Mesh(i,r)}_getItemColor(e,t,a,r,n,i){const o=this.seriesGroups[n],l=o.series[r],s=this._getColorFromScheme(e,t);return o.colorFunction?o.colorFunction(i,a,r,n,s):l.colorFunction?l.colorFunction(i,a,r,n,s):s}_getColorFromScheme(e,t){const a=this;null!=e&&""!==e||(e=this.colorSchemes[0].name);const r=a.colorSchemes.find((t=>t.name===e));if(null==r){const e=a.colorSchemes[0].colors;return e[t%e.length]}{const e=r.colors;return e[t%e.length]}}_clearScene(){const e=this;e._chartObjects.forEach((t=>{t.remove(t.userData.labelObject),e._grid?e._grid.remove(t):e._scene.remove(t)})),e._chartObjects=[],e._grid&&(e._scaledLabels.forEach((t=>{e._grid.remove(t)})),e._scene.remove(e._grid))}_getBaseLog(e,t){return Math.log(t)/Math.log(e)}_getLogValue(e,t){const a=this;return t||(t=a.valueAxis),t.logarithmicScaleBase?a._getBaseLog(t.logarithmicScaleBase,e):Math.log(e)}getValueAxisLabels(){return this.valueAxis._labels}getXAxisLabels(){return this.xAxis._labels}getZAxisLabels(){return this.zAxis._labels}_createCandlestick(e,t,a){const r=new window.THREE.MeshLambertMaterial({color:a.color,transparent:!0,opacity:a.opacity}),n=new window.THREE.BoxGeometry(.2,Math.abs(t.high-t.low),.2),i=new window.THREE.Mesh(n,r);i.position.set(e.low.x,e.low.y,e.low.z);const o=new window.THREE.BoxGeometry(.4,Math.abs(t.open-t.close),.4),l=new window.THREE.Mesh(o,r);return l.position.set(0,t.open-(t.high+t.low)/2,0),i.add(l),i}_createOHLC(e,t,a){const r=new window.THREE.MeshLambertMaterial({color:a.color,transparent:!0,opacity:a.opacity}),n=.2,i=new window.THREE.BoxGeometry(n,Math.abs(t.high-t.low),n),o=new window.THREE.Mesh(i,r);o.position.set(e.low.x,e.low.y,e.low.z);const l=.4,s=new window.THREE.BoxGeometry(l,.1,.1),d=new window.THREE.Mesh(s,r);d.position.set(l,t.open-(t.high+t.low)/2,0),o.add(d);const u=new window.THREE.BoxGeometry(l,.1,.1),c=new window.THREE.Mesh(u,r);return c.position.set(-.4,t.low-(t.high+t.low)/2,0),o.add(c),o}_createColumn(e,t,a){"number"!=typeof t&&(t=t.to-t.from);const r=new window.THREE.MeshLambertMaterial({color:a.color,transparent:!0,opacity:a.opacity}),n=new window.THREE.BoxGeometry(a.width,Math.abs(t),a.depth),i=new window.THREE.Mesh(n,r);if(i.position.set(e.x,e.y+t/2,e.z),a.showOutlineColor){const r=new window.THREE.MeshBasicMaterial({color:a.outlineColor||a.color,transparent:!0,opacity:a.outlineOpacity||a.opacity}),o=new window.THREE.Mesh(n,r);o.position.set(e.x,e.y+t/2,e.z),o.scale.multiplyScalar(1+(a.outlineWidth||.1)),i.add(o)}return i}_createCustomModel(e,t,a,r){const n=this;return(new window.THREE.GLTFLoader).load(e,(function(e){let r=e.scene.children[0];const i=(new window.THREE.Box3).setFromObject(r).getSize(new window.THREE.Vector3);let o=a/i.y;r.scale.set(o,o,o),r.position.set(t.x,t.y,t.z),n._grid.add(r)})),r.opacity=0,this._createColumn(t,a,r)}_createBar(e,t,a){"number"!=typeof t&&(t=t.to-t.from);const r=new window.THREE.CylinderGeometry(a.width,a.width,Math.abs(t),64),n=new window.THREE.MeshLambertMaterial({color:a.color,transparent:!0,opacity:a.opacity}),i=new window.THREE.Mesh(r,n);if(i.position.set(e.x,e.y+t/2,e.z),a.showOutlineColor){const n=new window.THREE.MeshBasicMaterial({color:a.outlineColor||a.color,transparent:!0,opacity:a.outlineOpacity||a.opacity}),o=new window.THREE.Mesh(r,n);o.position.set(e.x,e.y+t/2,e.z),o.scale.multiplyScalar(1+(a.outlineWidth||.1)),i.add(o)}return i}_createAreaSlice(e,t,a,r=1){const n=a=>t[a]+(e[a]-t[a])*r,i=new window.THREE.MeshLambertMaterial({color:a.color,transparent:!0});let o={curveItems:32,steps:1,depth:a.depth,bevelEnabled:!1},l=new window.THREE.Shape;l.moveTo(t.x,Math.max(t.y,t.bottomY)),l.lineTo(n("x"),Math.max(n("y"),n("bottomY"))),l.lineTo(n("x"),Math.min(n("y"),n("bottomY"))),l.lineTo(t.x,Math.min(t.y,t.bottomY));let s=new window.THREE.ExtrudeGeometry(l,o),d=new window.THREE.Mesh(s,i);return d.position.set(0,0,e.z-a.depth/2),d}_createStepAreaSlice(e,t,a){const r=(a,r=1)=>t[a]+(e[a]-t[a])*r,n=new window.THREE.MeshLambertMaterial({color:a.color,transparent:!0});let i={curveItems:32,steps:1,depth:a.depth,bevelEnabled:!1},o=new window.THREE.Shape;o.moveTo(t.x,t.y),o.lineTo(r("x",.5),t.y),o.lineTo(r("x",.5),r("y")),o.lineTo(r("x"),r("y")),o.lineTo(r("x"),r("bottomY")),o.lineTo(r("x",.5)-.5,r("bottomY")),o.lineTo(r("x",.5)-.5,t.bottomY),o.lineTo(t.x,t.bottomY);let l=new window.THREE.ExtrudeGeometry(o,i),s=new window.THREE.Mesh(l,n);return s.position.set(0,0,e.z),s}_createSplineAreaSlice(e,t,a,r=1){const n=a=>t[a]+(e[a]-t[a])*r,i=new window.THREE.MeshLambertMaterial({color:a.color,transparent:!0});let o={curveItems:32,steps:1,depth:a.depth,bevelEnabled:!1};const l=a.nextPosition,s=new window.THREE.SplineCurve([new window.THREE.Vector3(t.x,t.y),new window.THREE.Vector3(n("x"),n("y")),new window.THREE.Vector3(l.x,l.y)]),d=new window.THREE.SplineCurve([new window.THREE.Vector3(t.x,t.bottomY),new window.THREE.Vector3(n("x"),n("bottomY")),new window.THREE.Vector3(l.x,l.bottomY)]),u=s.getPoints(32),c=d.getPoints(32);let p=new window.THREE.Shape;p.moveTo(...u[0]);for(let e=1;e<u.length/2;e++)p.lineTo(...u[e]);for(let e=(c.length-1)/2;e>=0;e--)p.lineTo(...c[e]);let m=new window.THREE.ExtrudeGeometry(p,o),g=new window.THREE.Mesh(m,i);return g.position.set(0,0,e.z),g}_createCube(e,t,a,r,n){const i=new window.THREE.BoxGeometry(t,t,t),o=new window.THREE.MeshLambertMaterial({color:r,transparent:!0}),l=new window.THREE.Mesh(i,o);return l.position.set(e.x,e.y+a+t/2,e.z),"diamond"===n&&l.rotateZ(Math.PI/4),l}_createTriangle(e,t,a,r,n){const i=new window.THREE.ConeGeometry(t,t,3),o=new window.THREE.MeshLambertMaterial({color:r,transparent:!0}),l=new window.THREE.Mesh(i,o);l.position.set(e.x,e.y+a+t/2,e.z);let s=n.slice(n.indexOf("_")+1);return"right"===s&&l.rotateZ(Math.PI/2),"down"===s&&l.rotateZ(Math.PI),"left"===s&&l.rotateZ(-Math.PI/2),l}_createSphere(e,t,a,r){const n=new window.THREE.SphereGeometry(t,32,32),i=new window.THREE.MeshLambertMaterial({color:r,transparent:!0}),o=new window.THREE.Mesh(n,i);return o.position.set(e.x,e.y+a+t/2,e.z),o}_getXAxisLabels(){const e=this;let t=e.dataSource.map(((t,a)=>{if(e.xAxis.dataField){let a=t[e.xAxis.dataField];return"date"!==e.xAxis.type||a instanceof Date||(a=new Date(a)),a}return a}));if(e.rightToLeft&&(t=t.reverse()),e.xAxis.rangeSelector.visible){let a=e._rangeSelector.minIndex||0,r=e._rangeSelector.maxIndex||t.length-1;t=t.slice(a,r+1)}return t}_getZAxisLabels(){const e=this;let t=e.seriesGroups.map((e=>e.displayText));return void 0===t[0]&&(t=[],e.seriesGroups.forEach((e=>{e.series.forEach((e=>t.push(e.displayText)))}))),t}_getAxisLabels(e,t){const a=this;let r={xAxis:a._getXAxisLabels(t),zAxis:a._getZAxisLabels()};return e&&(r.yAxis=e.series.map((e=>e.displayText)),a.seriesGroup.formatFunction&&(r.yAxis=r.yAxis.map((e=>a.seriesGroup.formatFunction(e))))),r}_getSourceValue(e,t,a){return t.includes("ohlc")||t.includes("candlestick")?{open:parseFloat(e[a.dataFieldOpen]),high:parseFloat(e[a.dataFieldHigh]),low:parseFloat(e[a.dataFieldLow]),close:parseFloat(e[a.dataFieldClose])}:t.includes("range")?{from:parseFloat(e[a.dataFieldFrom]),to:parseFloat(e[a.dataFieldTo])}:parseFloat(e[a.dataField])}_getObjectHeight(e,t,a,r){const n=this;let i=e=>(e-this.valueAxis._baseLine)/(a.maxValue-this.valueAxis._baseLine)*(a.height-a.floorHeight);return n.valueAxis.logarithmicScale&&(i=e=>n._getLogValue(e)*(a.height-a.floorHeight)/n._getLogValue(a.maxValue)),t.includes("100")&&(i=e=>0===r?0:e/r*(a.height-a.floorHeight)),t.includes("ohlc")||t.includes("candlestick")?{open:i(e.open),high:i(e.high),low:i(e.low),close:i(e.close)}:t.includes("range")?{from:i(e.from),to:i(e.to)}:i(e)||.1}_getObjectPosition(e,t,a,r,n,i,o,l,s){const d=this.rightToLeft;let u=o.slot.x/2+o.origin.x+(e-(this._rangeSelector.minIndex||0))*o.slot.x,c=(n||0)+o.floorHeight,p=o.origin.z+(t+s)*o.slot.z+o.slot.z/2;return d&&(u=-u),l.includes("stacked")&&(p=o.origin.z+a*o.slot.z+o.slot.z/2),l.includes("waterfall")&&(c+=i),!l.includes("line")&&!l.includes("area")||l.includes("range")||(c+=r),l.includes("ohlc")||l.includes("candlestick")?{open:{x:u,y:c+r.open,z:p},low:{x:u,y:c+r.low,z:p}}:l.includes("range")?l.includes("column")||l.includes("bar")?{x:u,y:c+r.from,bottomY:c+r.from,z:p}:{x:u,y:c+r.to,bottomY:c+r.from,z:p}:{x:u,y:c,z:p,bottomY:l.includes("line")?c:c-r}}_getDimension(e,t,a=""){if(a.includes("bar")&&(t/=1.5),void 0===e||e<=0||""===e)return.5*t;if("string"==typeof e){if(e.includes("%"))return t*(parseFloat(e)/100);e=parseFloat(e)}return Math.min(e,t)}_createBubble(e,t,a,r){const n=this;let i;return i="square"===a||"diamond"===a?n._createCube(e,t,r.height,r.color,a):a.includes("triangle")?n._createTriangle(e,t,r.height,r.color,a):n._createSphere(e,t,r.height,r.color),i}_getDisplayText(e,t){let a=e;return t.formatFunction&&(a=t.formatFunction(e)),t.formatSettings&&t.formatSettings.prefix&&(a=t.formatSettings.prefix+a),t.formatSettings.sufix&&(a+=t.formatSettings.sufix),a}_getFormattedValue(e,t={},a){let r=e;return a?(r=a(e),r):(t.dateFormat&&(r=t.dateFormat(e)),null!==t.decimalPlaces&&void 0!==t.decimalPlaces&&(r=r.toFixed(t.decimalPlaces)),null!==t.decimalSeparator&&void 0!==t.decimalSeparator&&(r=r.toString().replace(".",t.decimalSeparator)),null!==t.thousandsSeparator&&void 0!==t.thousandsSeparator&&(r=r.toString().replace(/\B(?=(\d{3})+(?!\d))/g,t.thousandsSeparator)),t.negativeWithBrackets&&(r=parseFloat(r)<0?"("+r+")":r),t.prefix&&(r=t.prefix+r),t.sufix&&(r+=t.sufix),r)}_createPieLabel(e,t,a){let r=t.labelRadius;const n=document.createElement("div");n.className="smart-3d-chart-label",n.style.marginTop="-1em",n.innerHTML=e.value;const i=new window.THREE.CSS2DObject(n);r||(r=.8*e.pieRadius);const o=Math.cos(e.radians)*r,l=-Math.sin(e.radians)*r;if(i.position.set(o,e.height,l),r>e.pieRadius){const t={x:Math.cos(e.radians)*e.pieRadius,y:e.height/2,z:-Math.sin(e.radians)*e.pieRadius},r=.1;let n;t.x+=t.x>0?r:-r,t.z+=t.z>0?r:-r,n=(new window.THREE.BufferGeometry).setFromPoints([new window.THREE.Vector3(t.x,t.y,t.z),new window.THREE.Vector3(i.position.x,t.y,i.position.z),new window.THREE.Vector3(i.position.x,i.position.y,i.position.z)]);const o=new window.THREE.LineBasicMaterial({color:e.color,transparent:!0}),l=new window.THREE.Line(n,o);a.add(l)}a.add(i),a.userData.labelObject=i}_setPieChartData(e){const t=this,a=t.seriesGroups[e],r=a.series,n=a.dataSource?a.dataSource:t.dataSource,i=a.colorScheme?a.colorScheme:t.colorScheme,o="none"===t.animation||t._drawComplete?100:0,l=!("none"!==t.animation&&!t._drawComplete);for(let s=0;s<r.length;s++){const d=r[s],u=d.dataField,c=n.filter(((a,r)=>!t._objectIsHidden(r,s,e))),p=d.variableHeightField,m=n.reduce(((e,t)=>e+t[u]),0),g=c.reduce(((e,t)=>e+t[u]),0)||.1,h=(a.endAngle||360)/180*Math.PI;let y=(d.initialAngle||0)/180*Math.PI;for(let r=0;r<n.length;r++){const c=n[r],b=c[u],x=t._getItemColor(i,r,r,s,e,b),w=y,_=y+b/g*h||w;t._objectIsHidden(r,s,e)||(y=_);let v,f=d.height||3;d.variableHeight&&(f*=c[p]/t._getMinimumValue(n,p));let E={radius:d.radius||30,color:x,angleStart:w,angleEnd:_,height:f,width:d.width,opacity:a.objectOpacity||1},D={dataField:u,displayText:t._getFormattedValue(c[d.displayText],a.formatSettings,a.formatFunction),displayedValue:t._getFormattedValue(b,d.formatSettings,d.formatFunction),value:b,percentage:b/m*100,visiblePercentage:b/g*100,type:a.type,itemIndex:r,serieIndex:s,groupIndex:e,drawComplete:l,drawProgress:o,hidden:t._objectIsHidden(r,s,e),color:x,labelProps:{}};Object.assign(D,E);let S={text:D.displayText,color:D.color,value:D.displayedValue,radians:(D.angleStart+D.angleEnd)/2,height:D.height,pieRadius:D.radius};D.labelProps=S,"pie"===a.type?v=t._createPieSlice(E):"donut"===a.type&&(v=t._createDonutSlice(E)),a.showLabels&&t._createPieLabel(D.labelProps,d,v),t._setPieItemProperties(v,D),t._chartObjects.push(v),t._drawComplete&&!D.hidden&&t._scene.add(v)}}}_getTotalItemValue(e,t,a,r){const n=this;let i=0;for(let o=0;o<r.series.length;o++)this._objectIsHidden(t,o,a)||(i+=n._getSourceValue(e[t][r.dataField],r.type,r.series[o]));return i}_setBands(e){const t=this;t.seriesGroups[e].bands.forEach((e=>{let a={from:e.minValue,to:e.maxValue};const r=t._getObjectHeight(a,"range",t._grid.userData.gridProps);r.from===r.to&&(r.from-=e.lineWidth/2,r.to+=e.lineWidth/2);const n=t._grid.userData.gridProps,i=t._grid.userData.gridWalls.back,o=t._grid.userData.gridWalls.side,l=new window.THREE.LineBasicMaterial({color:e.color,side:window.THREE.DoubleSide,opacity:e.opacity,transparent:!0}),s=new window.THREE.PlaneGeometry(n.width,Math.abs(r.from-r.to)),d=new window.THREE.Mesh(s,l);d.position.set(0,r.from,-n.depthWidth/2),i.add(d);const u=new window.THREE.PlaneGeometry(n.depthWidth,Math.abs(r.from-r.to)),c=new window.THREE.Mesh(u,l);c.position.set(-n.width/2,r.from,0),c.rotation.set(0,Math.PI/2,0),o.add(c)}))}_createBand(e,t,a,r){const n=new window.THREE.MeshLambertMaterial({color:e.color,transparent:!0,opacity:e.opacity});let i=new window.THREE.Shape;i.moveTo(r.position.x-a/2,t.to),i.lineTo(r.position.x+a/2,t.from);let o=new window.THREE.ExtrudeGeometry(i,{curveItems:32,steps:1,depth:.1,bevelEnabled:!1}),l=new window.THREE.Mesh(o,n);return l.position.set(0,0,0),r.add(l),l}_setGridChartData(e){const t=this,a=t.seriesGroups[e],r=a.series,n=a.dataField,i=t.xAxis.dataField,o=t._grid.userData.gridProps,l=a.colorScheme?a.colorScheme:t.colorScheme;let s=a.dataSource?a.dataSource:t.dataSource;const d=s;t.rightToLeft&&(s=s.slice().reverse());let u=0;if(e>0)for(let a=0;a<e;a++)u+=t.seriesGroups[a].series.length;const c="none"===t.animation||t._drawComplete?100:0,p=!("none"!==t.animation&&!t._drawComplete);let m=new Array(s.length).fill(0);for(let g=0;g<r.length;g++){let h=0,y=0;for(let b=0;b<s.length;b++){let x,w,_,v,f,E,D,S,T,I=s[b],L=b>0?s[b-1]:null,C=s[b+1];n&&(I=I[n],L=b>0?L[n]:null,C=C?C[n]:null);let F=t._getSourceValue(I,a.type,r[g]);a.type.includes("waterfall")&&(b===s.length-1?(F=y,h=0):y+=F),a.type.includes("100")&&(x=t._getTotalItemValue(s,b,e,a));let A=t._getObjectHeight(F,a.type,o,x),R=t._getObjectPosition(b,g,e,A,Math.max(m[b],0),h,o,a.type,u);a.type.includes("waterfall")&&(b===s.length-1?h=0:h+=A),(a.type.includes("line")||a.type.includes("area"))&&(L&&b-(t._rangeSelector.minIndex||0)!=0?(b===s.length-1&&(R.x+=o.slot.x/2*.9),a.type.includes("100")&&(f=t._getTotalItemValue(s,b-1,e,a)),w=t._getSourceValue(L,a.type,r[g]),_=t._getObjectHeight(w,a.type,o,f),v=t._getObjectPosition(b-1,g,e,_,Math.max(m[b-1]-_,0),h,o,a.type,u)):(w=F,_=A,v={x:R.x,y:R.y,z:R.z,bottomY:R.bottomY},v.x-=o.slot.x/2*.9),C&&b-(t._rangeSelector.minIndex||0)!=s.length-1?(a.type.includes("100")&&(T=t._getTotalItemValue(s,b+1,e,a)),E=t._getSourceValue(C,a.type,r[g]),D=t._getObjectHeight(E,a.type,o,T),S=t._getObjectPosition(b+1,g,e,D,Math.max(m[b+1]-D,0),h,o,a.type,u)):(E=F,D=A,S={x:R.x,y:R.y,z:R.z,bottomY:R.bottomY},S.x+=o.slot.x/2*.9));let M=g;!a.type.includes("column")&&!a.type.includes("bar")||a.type.includes("stacked")||1!==a.series.length||(M=b),"serie"===a.colorIndex?M=g:"item"===a.colorIndex&&(M=b);const P=t._getItemColor(l,M,b,g,e,F);let j,H=a.type;"waterfall"===a.type&&(H="column"),["column","bar"].includes(a.objectType)&&(H=a.objectType);let V,z=t.customModels.findIndex((t=>t.groupIndex===e&&t.serieIndex===g&&t.itemIndex===b));-1!==z&&(j=t.customModels[z].model);let O={color:P,width:t._getDimension(a.width,o.slot.x,H),depth:t._getDimension(a.depth,o.slot.z,H),verticalWidth:a.verticalWidth?a.verticalWidth:2,opacity:a.opacity?a.opacity:1,object3DType:H,customModel:j,position:R,height:A,prevHeight:_,nextPosition:S,nextHeight:D},B=d[b][i]||b;"date"!==t.xAxis.type||B instanceof Date||(B=new Date(B)),B=t._getFormattedValue(B,t.xAxis.formatSettings,t.xAxis.formatFunction);let G={groupDisplayText:a.displayText,serieDisplayText:r[g].displayText||"",displayTextFrom:r[g].displayTextFrom||"",displayTextTo:r[g].displayTextTo||"",displayTextOpen:r[g].displayTextOpen||"",displayTextClose:r[g].displayTextClose||"",displayTextHigh:r[g].displayTextHigh||"",displayTextLow:r[g].displayTextLow||"",xAxisField:B,value:F,displayedValue:t._getFormattedValue(F,r[g].formatSettings,r[g].formatFunction),type:a.type,itemIndex:b,serieIndex:g,groupIndex:e,drawComplete:p,drawProgress:j?1:c,hidden:t._objectIsHidden(b,g,e),isStacked:a.type.includes("stacked")};if(Object.assign(G,O),H.includes("column")||H.includes("waterfall")||H.includes("bar"))V=j?t._createCustomModel(j,R,A,G):H.includes("bar")?t._createBar(R,A,O):t._createColumn(R,A,O),t._setColumnProperties(V,G);else if(H.includes("line")||H.includes("area"))H.includes("line")&&(R.bottomY-=O.verticalWidth,v.bottomY-=O.verticalWidth),V=H.includes("spline")?t._createSplineAreaSlice(R,v,O):H.includes("step")?t._createStepAreaSlice(R,v,O):t._createAreaSlice(R,v,O),G.prevObjectPosition=v,t._setAreaProperties(V,G);else if(H.includes("bubble")){const e=r[g].symbolType?r[g].symbolType:"circle",a=t._getDimension(r[g].maxRadius||0,Math.min(o.slot.z,o.slot.x)),n=Math.min(t._getDimension(r[g].minRadius||0,Math.min(o.slot.z,o.slot.x)),3),i=a/t._getMaximumValue(s,r[g].radiusDataField)||1,l=Math.max((I[r[g].radiusDataField]||n)*i,n);G.radius=l,G.symbolType=e,V=t._createBubble(R,l,e,O),t._setBubbleProperties(V,G)}else H.includes("ohlc")?(V=t._createOHLC(R,A,O),t._setFinancialProperties(V,G)):H.includes("candlestick")&&(V=t._createCandlestick(R,A,O),t._setFinancialProperties(V,G));a.type.includes("stacked")&&!G.hidden&&(m[b]+=A),V&&(t._chartObjects.push(V),!G.hidden&&p&&t._validRange(b,s.length-1)&&t._grid.add(V))}}}_setScatterChartData(e){const t=this,a=t.seriesGroups[e],r=a.series,n=t._grid.userData.gridProps,i=a.colorScheme?a.colorScheme:t.colorScheme;let o=a.dataSource?a.dataSource:t.dataSource;t.rightToLeft&&(o=o.slice().reverse());let l=(e,t,a,r)=>(e-t)*r/(a-t);t.valueAxis.logarithmicScale&&(l=(e,a,r,n)=>t._getLogValue(e)*n/t._getLogValue(r));for(let s=0;s<o.length;s++){let d,u=t._getItemColor(i,e,0,0,e,o[s]),c={x:o[s][t.xAxis.dataField],y:o[s][a.series[0].dataField],z:o[s][t.zAxis.dataField]},p={x:l(c.x,t.xAxis._minValue,t.xAxis._maxValue,n.width)-n.width/2,y:l(c.y,t.valueAxis._minValue,t.valueAxis._maxValue,n.height),z:l(c.z,t.zAxis._minValue,t.zAxis._maxValue,n.depthWidth)-n.depthWidth/2},m=r[0].symbolType?r[0].symbolType:"circle",g=r[0].symbolSize;d="square"===m||"diamond"===m?t._createCube(p,g,0,u,m):m.includes("triangle")?t._createTriangle(p,g,0,u,m):t._createSphere(p,g,0,u,m);let h=t._drawComplete||"none"===t.animation,y={serieDisplayText:r[0].displayText,xAxisField:o[s][t.xAxis.dataField],zAxisField:o[s][t.zAxis.dataField],color:u,value:c,type:a.type,groupIndex:e,isStacked:!1,serieIndex:0,itemIndex:s,position:p,width:g,height:0,drawComplete:h,drawProgress:0,radius:g,hidden:t._objectIsHidden(s,0,e),symbol:m};d.material.opacity=r[0].opacity?r[0].opacity:1,t._setBubbleProperties(d,y),t._setScatterProperties(d,y),t._chartObjects.push(d),h&&!y.hidden&&t._grid.add(d)}}_validRange(e,t){return e>=(this._rangeSelector.minIndex||0)&&e<=(this._rangeSelector.maxIndex||t)}_toolTipFormatter(e){return this._getFormattedValue(e,this.toolTipFormatSettings)}_drawLines(e,t){const a=this,r=e.map((e=>new window.THREE.Vector3(e[0],e[1],e[2]))),n=new window.THREE.MeshBasicMaterial({color:t,transparent:!0,opacity:0}),i=new window.THREE.Object3D;for(let e=0;e<r.length-1;e++){const t=new window.THREE.QuadraticBezierCurve3(r[e],r[e],r[e+1]),a=new window.THREE.TubeGeometry(t,32,.5,8,!0),o=new window.THREE.Mesh(a,n);i.add(o)}return void 0===a._grid.userData.vectorColors&&(a._grid.userData.vectorColors=[]),a._grid.userData.vectorColors.push(t),void 0===a._grid.userData.vectorPoints&&(a._grid.userData.vectorPoints=[]),a._grid.userData.vectorPoints.push(e.map((e=>(e[3]=!1,e)))),void 0===a._grid.userData.vectorLines&&(a._grid.userData.vectorLines=[]),a._grid.userData.vectorLines.push(i),i}_createPoint(e,t,a,r,n,i,o){const l=new window.THREE.SphereGeometry(1,32,32),s=new window.THREE.MeshLambertMaterial({color:i,wireframe:!1}),d=new window.THREE.Mesh(l,s);return d.position.set(e,n,a),d.userData=o,d}_setPyramidItemProperties(e,t){const a=this;a._setPieItemProperties(e,t),e.userData.drawAnimate=function(){if(e.userData.tempSlice&&(a._scene.remove(e.userData.tempSlice),e.userData.tempSlice=null),e.userData.drawComplete)return!0;if(0!==e.userData.itemIndex&&!1===a._getObjectByIndexes(e.userData.groupIndex,e.userData.serieIndex,e.userData.itemIndex-1).userData.drawComplete)return;const t=e.userData;t.drawProgress>=1&&(t.drawProgress=1,e.userData.drawComplete=!0,e.material.opacity=1,a._scene.add(e));let r=t.widthStart-(t.widthStart-t.widthEnd)*t.drawProgress,n=t.heightStart-(t.heightStart-t.heightEnd)*t.drawProgress,i=t.heightStart+(n-t.heightStart)/2,o=a._createPyramidItem(n,r,i,t);e.userData.tempSlice=o,a._scene.add(o),e.userData.drawProgress+=.05},e.userData.selectObject=function(){}}_setPieItemProperties(e,t){const a=this;Object.assign(e.userData,t),a._setCommonItemMethods(e);const r=e.userData;e.userData.drawAnimate=function(){if(r.animatedObject&&(a._scene.remove(e.userData.animatedObject),e.userData.animatedObject=null),e.userData.drawComplete)return!0;if(0!==e.userData.itemIndex&&!1===a._getObjectByIndexes(e.userData.groupIndex,e.userData.serieIndex,e.userData.itemIndex-1).userData.drawComplete)return;r.drawProgress>=1&&(r.drawProgress=1,e.userData.drawComplete=!0,e.material.opacity=r.opacity,a._scene.add(e));const t=r.angleStart+(r.angleEnd-r.angleStart)*r.drawProgress;let n,i={radius:r.radius,color:r.color,angleStart:r.angleStart,angleEnd:t,height:r.height,width:r.width,opacity:r.opacity};n="pie"===r.type?a._createPieSlice(i):a._createDonutSlice(i),e.userData.animatedObject=n,a._scene.add(n),e.userData.drawProgress+=.25/(e.userData.angleEnd-e.userData.angleStart)},e.userData.highlightObject=function(t=!1){void 0!==a._mouseIsValid&&(a._inTransitionQueue.push({obj:e,targetValue:1}),e.userData.highlighted=!0,e.userData.dehighlighted=!1,a._getObjectsByIndexes().forEach((t=>{t.uuid!==e.uuid&&t.userData.dehighlightObject()})),t&&!0!==e.userData.hidden&&e.userData.showToolTip())},e.userData.unhighlightObject=function(){a._inTransitionQueue.push({obj:e,targetValue:1}),e.userData.highlighted=!1,e.userData.dehighlighted=!1},e.userData.dehighlightObject=function(){a._inTransitionQueue.push({obj:e,targetValue:.5}),e.userData.highlighted=!1,e.userData.dehighlighted=!0},e.userData.selectObject=function(){if("null"!==a.selectMode){const t=.5*(e.userData.angleEnd+e.userData.angleStart),r=.2*e.userData.angleStart,n=Math.abs(Math.sin(r+1)),i=Math.cos(t)*n,o=-Math.sin(t)*n;a._inMotionQueue.push({obj:e,target:{x:i,z:o}}),e.userData.selected=!0,"one"===a.selectMode&&a._getObjectsByIndexes(e.userData.groupIndex,0).forEach((t=>{t.userData.itemIndex!==e.userData.itemIndex&&t.userData.unselectObject()}))}a.$.fireEvent("select",{groupIndex:e.userData.groupIndex,seriesIndex:e.userData.serieIndex,itemIndex:e.userData.itemIndex})},e.userData.unselectObject=function(){a._inMotionQueue.push({obj:e,target:{x:0,z:0}}),e.userData.selected=!1,a.$.fireEvent("unselect",{groupIndex:e.userData.groupIndex,seriesIndex:e.userData.serieIndex,itemIndex:e.userData.itemIndex})},e.userData.showToolTip=function(){if(!0===e.userData.hidden)return;let t=e.userData.displayText,n=e.userData.dataField+": "+a._toolTipFormatter(e.userData.displayedValue);const i=a.toolTipLineColor||e.userData.color;a.toolTipFormatFunction&&(n=a.toolTipFormatFunction(r.value,r.itemIndex,r.serieIndex,r.groupIndex,r.displayText),t=""),a._setToolTipContent(t,n,i),a._setToolTip()}}_setAreaProperties(e,t){const a=this;Object.assign(e.userData,t),a._setCommonItemMethods(e),e.userData.drawAnimate=function(){const t=e.userData;if(t.drawComplete)return!0;if(t.itemIndex>0&&!1===a._getObjectByIndexes(t.groupIndex,t.serieIndex,t.itemIndex-1).userData.drawComplete)return;if(t.prevObject&&a._grid.remove(t.prevObject),t.drawProgress>=1)return t.drawComplete=!0,void a._grid.add(e);let r;r=t.type.includes("spline")?a._createSplineAreaSlice(t.position,t.prevObjectPosition,t,t.drawProgress):t.type.includes("step")?a._createStepAreaSlice(t.position,t.prevObjectPosition,t,t.drawProgress):a._createAreaSlice(t.position,t.prevObjectPosition,t,t.drawProgress),a._grid.add(r),e.userData.prevObject=r,e.userData.drawProgress+=Math.max(a.dataSource.length/100,.1)},e.userData.highlightObject=function(t=!1){if(t&&void 0===a._mouseIsValid)return;const r=e.userData.color,n=a._shadeHexColor(r,.3);e.material.color=new window.THREE.Color(n),e.userData.highlighted=!0,e.userData.dehighlighted=!1,e.userData.labelObject&&e.add(e.userData.labelObject),a._getObjectsByIndexes().forEach((t=>{t.uuid!==e.uuid&&t.userData.dehighlightObject()}))},e.userData.unhighlightObject=function(){const t=e.userData.color;e.material.color=new window.THREE.Color(t),e.userData.labelObject&&e.remove(e.userData.labelObject),e.userData.highlighted=!1,e.userData.dehighlighted=!1},e.userData.dehighlightObject=function(){const t=e.userData.color;e.material.color=new window.THREE.Color(t),e.userData.labelObject&&e.remove(e.userData.labelObject),e.userData.highlighted=!1,e.userData.dehighlighted=!0},e.userData.selectObject=function(){a.$.fireEvent("select",{groupIndex:e.userData.groupIndex,seriesIndex:e.userData.serieIndex,itemIndex:e.userData.itemIndex})},e.userData.unselectObject=function(){a.$.fireEvent("unselect",{groupIndex:e.userData.groupIndex,seriesIndex:e.userData.serieIndex,itemIndex:e.userData.itemIndex})},e.userData.showToolTip=function(){const t=e.userData;let r=e.userData.serieDisplayText+" "+(e.userData.xAxisField||""),n=a._getFormattedValue(e.userData.value,this.toolTipFormatSettings,this.toolTipFormatFunction);e.userData.value.from&&(n=e.userData.displayTextFrom+": "+a._toolTipFormatter(t.value.from)+"<br>"+e.userData.displayTextTo+": "+a._toolTipFormatter(t.value.to)),a.toolTipFormatFunction&&(n=a.toolTipFormatFunction(t.value,t.itemIndex,t.serieIndex,t.groupIndex,t.displayText),r="");const i=a.toolTipLineColor||e.userData.color;a._setToolTipContent(r,n,i),a._setToolTip()}}_setScatterProperties(e,t){const a=this;a._setBubbleProperties(e,t),e.userData.showToolTip=function(){const t=e.userData;let r=e.userData.serieDisplayText,n=`${a.valueAxis.displayText||"y"}: ${a._toolTipFormatter(t.value.y)}<br>\n ${a.xAxis.displayText||"x"}: ${a._toolTipFormatter(t.value.x)}<br>\n ${a.zAxis.displayText||"z"}: ${a._toolTipFormatter(t.value.z)}`;a.toolTipFormatFunction&&(n=a.toolTipFormatFunction(t.value,t.itemIndex,t.serieIndex,t.groupIndex,t.displayText),r="");const i=a.toolTipLineColor||e.userData.color;a._setToolTipContent(r,n,i),a._setToolTip()}}_setColumnProperties(e,t){const a=this;Object.assign(e.userData,t),a._setCommonItemMethods(e),e.userData.drawAnimate=function(){const t=e.userData;if(t.drawComplete)return!0;if(t.isStacked&&0!==t.serieIndex&&!1===a._getObjectByIndexes(t.groupIndex,t.serieIndex-1,t.itemIndex).userData.drawComplete)return;if(t.prevObject&&a._grid.remove(t.prevObject),t.drawProgress>=1)return t.drawComplete=!0,void a._grid.add(e);let r,n=t.height;"number"!=typeof n&&(n=Math.abs(n.from-n.to)),t.object3DType.includes("column")?r=a._createColumn(t.position,n*t.drawProgress,t):t.object3DType.includes("bar")&&(r=a._createBar(t.position,n*t.drawProgress,t)),a._grid.add(r),e.userData.prevObject=r,t.drawProgress+=.03},e.userData.highlightObject=function(t=!1){if(t&&void 0===a._mouseIsValid)return;const r=e.userData.color,n=a._shadeHexColor(r,.3);e.material.color=new window.THREE.Color(n),e.userData.highlighted=!0,e.userData.dehighlighted=!1,e.userData.sideLine||e.userData.backLine||!a.showConnectionLines||e.userData.drawConnectingLines(),a._getObjectsByIndexes().forEach((t=>{t.userData.itemIndex===e.userData.itemIndex&&t.userData.serieIndex===e.userData.serieIndex&&t.userData.groupIndex===e.userData.groupIndex||t.userData.dehighlightObject()}))},e.userData.unhighlightObject=function(){const t=e.userData.color;e.material.color=new window.THREE.Color(t),e.userData.highlighted=!1,e.userData.dehighlighted=!1,e.userData.selected||e.userData.removeConnectingLines()},e.userData.dehighlightObject=function(){const t=e.userData.color;e.material.color=new window.THREE.Color(t),e.userData.highlighted=!1,e.userData.dehighlighted=!0},e.userData.selectObject=function(){e.userData.selected=!0,a.$.fireEvent("select",{groupIndex:e.userData.groupIndex,seriesIndex:e.userData.serieIndex,itemIndex:e.userData.itemIndex})},e.userData.unselectObject=function(){e.userData.selected=!1,a.$.fireEvent("unselect",{groupIndex:e.userData.groupIndex,seriesIndex:e.userData.serieIndex,itemIndex:e.userData.itemIndex})},e.userData.showToolTip=function(){const t=e.userData;let r=e.userData.serieDisplayText+" "+e.userData.xAxisField,n=a._toolTipFormatter(t.value);"waterfall"!==e.userData.type||e.userData.value||(n="Total: "+e.userData.total),e.userData.value.from&&(n=e.userData.displayTextFrom+": "+a._toolTipFormatter(t.value.from)+"<br>"+e.userData.displayTextTo+": "+a._toolTipFormatter(t.value.to));const i=a.toolTipLineColor||e.userData.color;a.toolTipFormatFunction&&(n=a.toolTipFormatFunction(t.value,t.itemIndex,t.serieIndex,t.groupIndex,t.xAxisField,t.serieDisplayText),r=""),a._setToolTipContent(r,n,i),a._setToolTip()}}_setBubbleProperties(e,t){const a=this;a._setColumnProperties(e,t),e.userData.drawAnimate=function(){const t=e.userData;if(t.drawComplete)return!0;if(0!==t.itemIndex&&!1===a._getObjectByIndexes(t.groupIndex,t.serieIndex,t.itemIndex-1).userData.drawComplete)return;if(t.prevObject&&a._grid.remove(t.prevObject),t.drawProgress>=1)return t.drawComplete=!0,void a._grid.add(e);let r=a._createBubble(t.position,t.radius*t.drawProgress,t.symbolType,t);a._grid.add(r),t.prevObject=r,t.drawProgress+=.1}}_setFinancialProperties(e,t){const a=this;a._setColumnProperties(e,t),e.userData.drawAnimate=function(){const t=e.userData;if(t.drawComplete)return!0;if(t.prevObject&&a._grid.remove(t.prevObject),t.drawProgress>=1)return t.drawComplete=!0,void a._grid.add(e);let r,n={open:t.height.open*t.drawProgress,close:t.height.close*t.drawProgress,high:t.height.high*t.drawProgress,low:t.height.low*t.drawProgress};r="ohlc"===t.type?a._createOHLC(t.position,n,t):a._createCandlestick(t.position,n,t),a._grid.add(r),t.prevObject=r,t.drawProgress+=.1},e.userData.showToolTip=function(){const t=e.userData;let r=e.userData.serieDisplayText+" "+e.userData.xAxisField,n="";n+=e.userData.displayTextOpen+": "+a._toolTipFormatter(t.value.open)+"<br>",n+=e.userData.displayTextClose+": "+a._toolTipFormatter(t.value.close)+"<br>",n+=e.userData.displayTextHigh+": "+a._toolTipFormatter(t.value.high)+"<br>",n+=e.userData.displayTextLow+": "+a._toolTipFormatter(t.value.low)+"<br>";const i=a.toolTipLineColor||e.userData.color;a.toolTipFormatFunction&&(n=a.toolTipFormatFunction(t.value,t.itemIndex,t.serieIndex,t.groupIndex,t.displayText),r=""),a._setToolTipContent(r,n,i),a._setToolTip()}}_setCommonItemMethods(e){const t=this,a=e.userData;e.userData.showObject=function(){let e=a.groupIndex,r=a.serieIndex,n=a.itemIndex,i=t._hiddenIndexes.findIndex((t=>t.groupIndex===e&&t.serieIndex===r&&t.itemIndex===n));-1!==i&&t._hiddenIndexes.splice(i,1),a.hidden=!1,t.$.fireEvent("show",{groupIndex:a.groupIndex,seriesIndex:a.serieIndex,itemIndex:a.itemIndex}),t._setChart()},e.userData.hideObject=function(){a.hidden||(t._hiddenIndexes.push({groupIndex:a.groupIndex,serieIndex:a.serieIndex,itemIndex:a.itemIndex}),a.hidden=!0,t.$.fireEvent("hide",{groupIndex:a.groupIndex,seriesIndex:a.serieIndex,itemIndex:a.itemIndex}),t._setChart())},e.userData.toggleVisibility=function(){!0===a.hidden?a.showObject():a.hideObject()},e.userData.drawConnectingLines=function(){const a=e.position,r=t._grid.userData.gridProps,n=t._grid.userData.gridWalls.back.userData.flipped,i=t._grid.userData.gridWalls.side.userData.flipped,o=new window.THREE.LineBasicMaterial({color:"#545454"}),l=(new window.THREE.BufferGeometry).setFromPoints([new window.THREE.Vector3(a.x,a.y,a.z),new window.THREE.Vector3((i?1:-1)*(r.width/2),a.y,a.z)]),s=new window.THREE.Line(l,o),d=(new window.THREE.BufferGeometry).setFromPoints([new window.THREE.Vector3(a.x,a.y,a.z),new window.THREE.Vector3(a.x,a.y,(n?1:-1)*(r.depthWidth/2))]),u=new window.THREE.Line(d,o),c=(new window.THREE.BufferGeometry).setFromPoints([new window.THREE.Vector3(a.x,a.y,a.z),new window.THREE.Vector3(a.x,0,a.z)]),p=new window.THREE.Line(c,o);e.userData.sideLine=s,e.userData.backLine=u,e.userData.bottomLine=p,t._grid.add(s),t._grid.add(u),t._grid.add(p)},e.userData.removeConnectingLines=function(){a.sideLine&&(t._grid.remove(a.sideLine),a.sideLine=void 0),a.backLine&&(t._grid.remove(a.backLine),a.backLine=void 0),a.bottomLine&&(t._grid.remove(a.bottomLine),a.bottomLine=void 0)}}toggleVisibility(e,t,a){const r=this,n=this._getObjectsByIndexes(e,t,a);let i;n.length>1&&r.beginUpdate(),null===t?i=!r._groupIsShown(e):null===e&&(i=!r._serieIsShown(t)),n.forEach((e=>{!0===i?e.userData.showObject():!1===i?e.userData.hideObject():e.userData.toggleVisibility()})),n.length>1&&r.endUpdate()}_objectIsHidden(e,t,a){return this._hiddenIndexes.some((r=>r.groupIndex===a&&r.serieIndex===t&&r.itemIndex===e))}_createPyramidItem(e,t,a,r){let n=new window.THREE.CylinderGeometry(t/2,r.widthStart/2,e-r.heightStart,4),i=new window.THREE.MeshLambertMaterial({color:r.color,transparent:!0}),o=new window.THREE.Mesh(n,i);return o.rotateY(-Math.PI/4),o.position.set(0,a,0),o}_setPyramidChartData(e){const t=this,a=t.seriesGroups[e],r=a.series,n=a.dataSource?a.dataSource:t.dataSource,i=a.colorScheme?a.colorScheme:t.colorScheme,o="none"===t.animation||t._drawComplete?100:0,l=!("none"!==t.animation&&!t._drawComplete);for(let s=0;s<r.length;s++){const d=r[s],u=d.dataField,c=n.filter(((a,r)=>!t._objectIsHidden(r,s,e))),p=n.reduce(((e,t)=>e+t[u]),0),m=c.reduce(((e,t)=>e+t[u]),0)||.1;let g=-d.height/2,h=d.width;for(let r=0;r<n.length;r++){const c=n[r],y=c[u],b=t._getItemColor(i,r,r,s,e,y);let x=g,w=g+y/m*d.height,_=h,v=_-y/m*d.width;t._objectIsHidden(r,s,e)||(g=w,h=v);let f={color:b,heightStart:x,heightEnd:w,widthStart:_,widthEnd:v,opacity:a.objectOpacity||1,positionY:x+(w-x)/2},E={dataField:u,displayText:t._getFormattedValue(c[d.displayText],a.formatSettings,a.formatFunction),displayedValue:t._getFormattedValue(y,d.formatSettings,a.formatFunction),value:y,percentage:y/p*100,visiblePercentage:t._objectIsHidden(r,s,e)?0:y/m*100,type:a.type,itemIndex:r,serieIndex:s,groupIndex:e,drawComplete:l,drawProgress:o,hidden:t._objectIsHidden(r,s,e),color:b,labelProps:{}};Object.assign(E,f);let D={text:E.displayText,color:E.color,value:E.visiblePercentage.toFixed(2)+"%",height:E.heightEnd-E.heightStart,width:E.widthEnd-E.widthStart};E.labelProps=D;let S=t._createPyramidItem(w,v,f.positionY,f);a.showLabels,t._setPyramidItemProperties(S,E),t._chartObjects.push(S),l&&!E.hidden&&t._scene.add(S)}}}_getMinimumValue(e,t){let a=e[0][t];for(let r=1;r<e.length;r++)e[r][t]<a&&(a=e[r][t]);return a}_getMaximumValue(e,t){let a=e[0][t];for(let r=1;r<e.length;r++)e[r][t]>a&&(a=e[r][t]);return a}_updateLegendToggle(e,t,a){const r=this,n=r.querySelector(`.smart-3d-chart-legend-item .smart-3d-chart-legend-item-color[series-group-index='${e}'][serie-index='${t}'][item-index='${a}']`);r.showLegend&&n&&(r._hiddenIndexes.some((r=>r.itemIndex===a&&r.groupIndex===e&&r.serieIndex===t))?(n.classList.add("smart-3d-chart-legend-item-color-hidden"),n.setAttribute("active","false")):(n.classList.remove("smart-3d-chart-legend-item-color-hidden"),n.setAttribute("active","true")))}_updateLegendMutltiToggles(){const e=this;e.showLegend&&Array.from(document.querySelectorAll('.smart-3d-chart-legend-item .smart-3d-chart-legend-item-color[multi-control="true"]')).forEach((t=>{const a=t.getAttribute("toggle-by");if("series-group-index"===a){const a=t.getAttribute("series-group-index");!1===e._seriesGroupIsShown(a)?(t.classList.add("smart-3d-chart-legend-item-color-hidden"),t.setAttribute("active","false")):(t.classList.remove("smart-3d-chart-legend-item-color-hidden"),t.setAttribute("active","true"))}else if("serie-index"===a){const a=t.getAttribute("series-group-index"),r=t.getAttribute("serie-index");e._serieIsShown(a,r)?(t.classList.remove("smart-3d-chart-legend-item-color-hidden"),t.setAttribute("active","true")):(t.classList.add("smart-3d-chart-legend-item-color-hidden"),t.setAttribute("active","false"))}}))}getHidden(){return this._hiddenIndexes}_toggleLegendItem(e,t,a=null,r=!1){const n=this;let i=n.querySelector(`.smart-3d-chart-legend-item-color[series-group-index='${e}'][serie-index='${t}']`);null!==a&&(i=n.querySelector(`.smart-3d-chart-legend-item-color[series-group-index='${e}'][serie-index='${t}'][item-index='${a}']`)),r?i.classList.add("smart-3d-chart-legend-item-color-hidden"):i.classList.remove("smart-3d-chart-legend-item-color-hidden")}showItem(e=null,t=null,a=null){let r=this._getObjectByIndexes(e,t,a);r&&r.userData.showObject()}unselectItem(e=null,t=null,a=null){let r=this._getObjectByIndexes(e,t,a);r&&r.userData.unselectObject()}selectItem(e=null,t=null,a=null){let r=this._getObjectByIndexes(e,t,a);r&&r.userData.selectObject()}hideItem(e=null,t=null,a=null){let r=this._getObjectByIndexes(e,t,a);r&&r.userData.hideObject()}showSeries(e=null,t=null){this._getObjectsByIndexes(e,t).forEach((e=>e.userData.showObject()))}hideSeries(e=null,t=null){this._getObjectsByIndexes(e,t).forEach((e=>e.userData.hideObject()))}showGroup(e=null){this._getObjectsByIndexes(e).forEach((e=>e.userData.showObject()))}hideGroup(e=null){this._getObjectsByIndexes(e).forEach((e=>e.userData.hideObject()))}getSelection(){return this._getObjectsByIndexes().filter((e=>e.userData.selected)).map((e=>e.userData))}getItemByIndexes(e=null,t=null,a=null){return this._getObjectByIndexes(e,t,a).userData}getItemsByIndexes(e=null,t=null,a=null){return this._getObjectsByIndexes(e,t,a).map((e=>e.userData))}_getObjectByIndexes(e=null,t=null,a=null){return this._getObjectsByIndexes(e,t,a)[0]}_getObjectsByIndexes(e=null,t=null,a=null){return this._chartObjects.filter((r=>!(r.userData.groupIndex!==e&&null!==e||r.userData.serieIndex!==t&&null!==t||r.userData.itemIndex!==a&&null!==a)))}_toggleSeriesGroup(e,t=null){const a=this,r=a._getObjectsByIndexes(e);let n;null===t&&(n=a._seriesGroupIsShown(e)),r.forEach((e=>{n?e.userData.hideObject():e.userData.showObject()}))}_toggleSerie(e,t,a=null){const r=this,n=r._getObjectsByIndexes(e,t);let i;null===a&&(i=r._seriesGroupIsShown(e)),n.forEach((e=>{i?e.userData.hideObject():e.userData.showObject()}))}_seriesGroupIsHidden(e){let t;const a=this._getObjectsByIndexes(e);return t=a.filter((e=>e.userData.hidden)).length===a.length,t}_seriesGroupIsShown(e){const t=this;let a;const r=t._getObjectsByIndexes(e);return a=r.filter((e=>!t._hiddenIndexes.some((t=>t.itemIndex===e.userData.itemIndex&&t.groupIndex===e.userData.groupIndex&&t.serieIndex===e.userData.serieIndex)))).length===r.length,a}_serieIsShown(e,t){let a;const r=this._getObjectsByIndexes(e,t);return a=r.filter((e=>!e.userData.hidden)).length===r.length,a}_serieIsHidden(e,t){let a,r=this._getObjectsByIndexes(e,t),n=r.filter((e=>e.userData.hidden));return n.length===r.length&&(a=!0),0===n.length&&(a=!1),a}_groupIsHidden(e){let t;const a=this._getObjectsByIndexes(e),r=a.filter((e=>e.userData.hidden));return r.length===a.length&&(t=!0),0===r.length&&(t=!1),t}_groupIsShown(e){let t;const a=this._getObjectsByIndexes(e),r=a.filter((e=>!e.userData.hidden));return r.length===a.length&&(t=!0),0===r.length&&(t=!1),t}_createLegendItem(e,t,a,r,n,i,o){const l=this,s=document.createElement("div");s.classList.add("smart-3d-chart-legend-item"),s.innerHTML=`<div class='smart-3d-chart-legend-item-color' group-index='${e}' serie-index='${t}' item-index='${a}'></div>`,i&&(s.innerHTML+=`<div class='smart-3d-chart-legend-item-text'>${i}</div>`),o&&s.classList.add("smart-3d-chart-legend-item-hidden");const d=s.querySelector(".smart-3d-chart-legend-item-color");return d.style.backgroundColor=r,d.style.borderColor=n,d.addEventListener("click",(function(){l.toggleVisibility(e,t,a)})),s}_createLegendTable(e,t){const a=t.xAxis,r=t.zAxis,n=document.createElement("table");n.classList.add("smart-3d-chart-legend-table");const i=document.createElement("thead"),o=document.createElement("tr");i.appendChild(o),o.classList.add("smart-3d-chart-legend-table-header-row"),o.innerHTML="<th class='smart-3d-chart-legend-table-header-cell' scope=\"col\">Field</th>";for(let e=0;e<a.length;e++)o.innerHTML+=`<th class='smart-3d-chart-legend-table-header-cell' scope="col">${a[e]}</th>`;o.innerHTML+="<th class='smart-3d-chart-legend-table-header-cell smart-3d-chart-legend-table-header-checkbox' scope=\"col\"></th>",n.appendChild(i);const l=document.createElement("tbody");for(let e=0;e<r.length;e++){const t=document.createElement("tr");t.classList.add("smart-3d-chart-legend-table-body-row"),t.innerHTML=`<td class='smart-3d-chart-legend-table-body-cell'>${r[e]}</td>`;for(let e=0;e<=a.length;e++){const e=document.createElement("td");e.classList.add("smart-3d-chart-legend-table-body-cell");const a=document.createElement("div");a.classList.add("smart-3d-chart-legend-table-body-cell-flex"),e.appendChild(a),t.appendChild(e)}l.appendChild(t)}return n.appendChild(l),n}_createGridLegend(e,t){const a=this;a.querySelector(".smart-3d-chart-legend")&&a.querySelector(".smart-3d-chart-legend").parentNode.removeChild(a.querySelector(".smart-3d-chart-legend"));const r=document.createElement("div");if(r.classList.add("smart-3d-chart-legend"),"group"===e){const e=document.createElement("div");e.classList.add("smart-3d-chart-legend-column"),r.appendChild(e);for(let t=0;t<a.seriesGroups.length;t++){const r=a.seriesGroups[t].displayText,n=a.seriesGroups[t].legendFillColor||a._getColorFromScheme(a.colorScheme,t),i=a.seriesGroups[t].legendLineColor||a._getColorFromScheme(a.colorScheme,t),o=a._createLegendItem(t,null,null,n,i,r,!a._groupIsShown(t));e.appendChild(o)}}else if("serie"===e){const e=document.createElement("div");e.classList.add("smart-3d-chart-legend-column"),r.appendChild(e);for(let r=0;r<a.seriesGroups.length;r++)for(let n=0;n<a.seriesGroups[r].series.length;n++){const i=a.seriesGroups[r].series[n].displayText,o=a.seriesGroups[r].series[n].legendFillColor||(t?a._getColorFromScheme(a.colorScheme,r):a._getObjectByIndexes(r,n).userData.color),l=a.seriesGroups[r].series[n].legendLineColor||(t?a._getColorFromScheme(a.colorScheme,r):a._getObjectByIndexes(r,n).userData.color),s=a._createLegendItem(r,n,null,o,l,i,!a._serieIsShown(r,n));e.appendChild(s)}}return r}_createPieLegend(e){const t=this;t.querySelector(".smart-3d-chart-legend")&&t.querySelector(".smart-3d-chart-legend").parentNode.removeChild(t.querySelector(".smart-3d-chart-legend"));const a=document.createElement("div");a.classList.add("smart-3d-chart-legend");for(let r=0;r<t.seriesGroups.length;r++){const n=document.createElement("div");n.classList.add("smart-3d-chart-legend-column"),a.appendChild(n),t._getObjectsByIndexes(r).forEach((a=>{const i=a.userData,o=i.displayText+(e?" ("+i.labelProps.value+")":""),l=t._createLegendItem(r,i.serieIndex,i.itemIndex,i.color,i.color,o,i.hidden);n.appendChild(l)}))}return a}_setLegendLayout(e){const t=this,a=t.legendLayout,r=document.querySelector(".smart-3d-chart-container").getBoundingClientRect();"vertical"===a.flow?(e.querySelectorAll(".smart-3d-chart-legend-column").forEach((e=>{e.style.flexDirection="column"})),e.style.width="fit-content",e.style.top=(null!==a.top?a.top:t.remainingHeight/2-100)+"px",e.style.left=(null!==a.left?a.left:t.width-150)+"px"):(e.style.width="fit-content",e.style.flexDirection="column",null!==a.top?e.style.top=a.top+"px":e.style.top=r.height-40+"px",a.left?e.style.left=a.left+"px":(e.style.left="0px",e.style.right="0px",e.style.margin="auto"))}_getGridMinValue(e){const t=this;if(t.seriesGroups.some((e=>e.type.includes("100"))))return 0;if(!isNaN(t.valueAxis.minValue))return t.valueAxis.minValue;if(t.valueAxis.logarithmicScale)return 1;let a;if(e)a=Math.min(...t.seriesGroups.map((e=>e.dataField)).map((e=>Math.min(...t.bindedSource.slice(t._rangeSelector.minIndex||0,t._rangeSelector.maxIndex+1||t.dataSource.length).map((t=>Object.values(t[e]))).sort()[0]))));else{if("waterfall"===t.seriesGroups[0].type)return 0;a=Math.min(...t.seriesGroups[0].series.map((e=>Math.min(...t.dataSource.slice(t._rangeSelector.minIndex||0,t._rangeSelector.maxIndex||t.dataSource.length).map((t=>parseFloat(t[e.dataField])?parseFloat(t[e.dataField]):Number.POSITIVE_INFINITY))))))}return a}_getGridMaxValue(e){const t=this;let a=Number.NEGATIVE_INFINITY;if(t.seriesGroups.some((e=>e.type.includes("100"))))return 100;if(!isNaN(t.valueAxis.maxValue))return t.valueAxis.maxValue;if(e)a=Math.max(...t.seriesGroups.map((e=>e.dataField)).map((e=>Math.max(...t.bindedSource.slice(t._rangeSelector.minIndex||0,t._rangeSelector.maxIndex+1||t.dataSource.length).map((t=>Object.values(t[e]))).map((e=>e.reduce(((e,t)=>e+t))))))));else{if("waterfall"===t.seriesGroups[0].type)return a=Math.max(...t.seriesGroups[0].series.map((e=>t.dataSource.slice(t._rangeSelector.minIndex||0,t._rangeSelector.maxIndex||t.dataSource.length).reduce(((t,a)=>t+(a[e.dataField]?a[e.dataField]:0)),0)))),a;for(let e of t.seriesGroups){let r=Math.max(...e.series.map((e=>Math.max(...t.dataSource.slice(t._rangeSelector.minIndex||0,t._rangeSelector.maxIndex||t.dataSource.length).map((t=>{let a=parseFloat(t[e.dataField])?parseFloat(t[e.dataField]):Number.NEGATIVE_INFINITY,r=parseFloat(t[e.dataFieldHigh])?parseFloat(t[e.dataFieldHigh]):Number.NEGATIVE_INFINITY,n=parseFloat(t[e.dataFieldTo])?parseFloat(t[e.dataFieldTo]):Number.NEGATIVE_INFINITY;return Math.max(a,r,n)}))))));a=Math.max(a,r)}}return a}_getScatterGridMaxValues(){const e=this;let t={x:Math.max(...e.seriesGroups.map((t=>Math.max(...t.dataSource.map((t=>t[e.xAxis.dataField])))))),y:Math.max(...e.seriesGroups.map((e=>Math.max(...e.dataSource.map((t=>t[e.series[0].dataField])))))),z:Math.max(...e.seriesGroups.map((t=>Math.max(...t.dataSource.map((t=>t[e.zAxis.dataField]))))))};return isNaN(e.xAxis.maxValue)||(t.x=e.xAxis.maxValue),isNaN(e.valueAxis.maxValue)||(t.y=e.valueAxis.maxValue),isNaN(e.zAxis.maxValue)||(t.z=e.zAxis.maxValue),t}_getScatterGridMinValues(){const e=this;let t={x:Math.min(...e.seriesGroups.map((t=>Math.min(...t.dataSource.map((t=>t[e.xAxis.dataField])))))),y:Math.min(...e.seriesGroups.map((e=>Math.min(...e.dataSource.map((t=>t[e.series[0].dataField])))))),z:Math.min(...e.seriesGroups.map((t=>Math.min(...t.dataSource.map((t=>t[e.zAxis.dataField]))))))};return isNaN(e.xAxis.minValue)||(t.x=e.xAxis.minValue),isNaN(e.valueAxis.minValue)||(t.y=e.valueAxis.minValue),isNaN(e.zAxis.minValue)||(t.z=e.zAxis.minValue),t}_getGridDepth(){const e=this;let t=e.seriesGroups.filter((e=>["stackedcolumn","stackedbar","stackedarea","stackedcolumn100","stackedbar100","stackedarea100","stackedline","stackedline100"].includes(e.type))).length;return 0===t&&e.seriesGroups.forEach((e=>t+=e.series.length)),t}_getGridRequiredSteps(e,t,a,r,n,i,o){let l;if(r.logarithmicScale){let t=0,a=r.logarithmicScaleBase||10;for(;Math.pow(a,t)<=e;)t++;return l=t,l}return a>0?(l=Math.ceil((e-t)/a),o&&(r._maxValue=t+l*a),l):(l=Math.ceil(n/i),l)}_getGridLinePoints(e,t,a,r=!1,n={}){let i=[];if(n.logarithmicScale){let e=n.logarithmicScaleBase||10,t=-1;for(;Math.pow(e,t)<=n._maxValue;)t++,i.push(Math.pow(e,t));return n._maxValue=i[i.length-1],i}let o=(e-t)/a;o=r?Math.ceil(o):o;let l=t;for(let e=0;e<=a;e++)i.push(l),l+=o;return i}_getGridLines(e,t){let a=[];for(let r=0;r<e.length;r+=t)a.push(e[r]);return a}_getGridValueLabels(e,t){let a=[];for(let r=0;r<e.length;r+=t)a.push(e[r]);return a}_calcGridDimension(e,t,a,r){let n=t*e.slotWidthX,i=a*e.slotWidthZ;!1===e.dynamicWidth&&(n=e.width);let o=n/t,l=e.slotWidthZ;return r&&(i=n,l=o),{height:this.gridOptions.height,widthX:n,widthZ:i,cell:{x:o,z:l}}}_drawLine(e,t,a,r,n){let i=a.color;a.colorFunction&&void 0!==n&&(i=a.colorFunction(n,i));const o=new window.THREE.LineBasicMaterial({color:i||r}),l=(new window.THREE.BufferGeometry).setFromPoints([new window.THREE.Vector3(e.x,e.y,e.z),new window.THREE.Vector3(t.x,t.y,t.z)]);return new window.THREE.Line(l,o)}_createLabel(e,t,a,r,n){const i=document.createElement("div");i.className=t.join(" ");let o=r?`style="transform: rotate(${r}deg)"`:"";i.innerHTML=`<div ${o}>${e}</div>`;const l=new window.THREE.CSS2DObject(i);return l.position.copy(a),n&&Object.keys(n).forEach((e=>{l.userData[e]=n[e]})),l}_drawGrid(e,t,a,r){const n=this,i=n.gridOptions;let o=a=>(a-t._minValue)*e.height/(t._maxValue-t._minValue);if(t.logarithmicScale){const a=t.logarithmicScaleBase||10;o=r=>n._getBaseLog(a,r)*e.height/n._getBaseLog(a,t._maxValue)}const l={x:-e.widthX/2,y:0,z:-e.widthZ/2},s=new window.THREE.Object3D,d=new window.THREE.Object3D,u=new window.THREE.Object3D,c=new window.THREE.Object3D;s.userData.gridWalls={side:d,back:u,floor:c},s.userData.gridLabels={frontLabels:[],sideLabels:[],valueLabels:[]};const p=o(t._baseLine);if(t.gridLines.visible)for(let a=0;a<=2;a++){let r={x:l.x+(1===a)*e.widthX,y:l.y,z:l.z+(2===a)*e.widthZ},o={x:l.x+(1===a)*e.widthX,y:l.y+e.height,z:l.z+(2===a)*e.widthZ};const s=n._drawLine(r,o,t.gridLines,i.lineColor);let c;switch(a){case 0:d.add(s),c=s.clone(),u.add(c);break;case 1:u.add(s);break;case 2:d.add(s)}}if(a.gridLines.visible&&r.gridLines.visible){let a={x:l.x,y:l.y,z:l.z+e.widthZ},r={x:l.x+e.widthX,y:l.y,z:l.z+e.widthZ},o=n._drawLine(a,r,t.gridLines,i.lineColor);c.add(o),a={x:l.x,y:l.y,z:l.z},r={x:l.x+e.widthX,y:l.y,z:l.z},o=n._drawLine(a,r,t.gridLines,i.lineColor),c.add(o);let s={x:l.x+e.widthX,y:l.y,z:l.z},d={x:l.x+e.widthX,y:l.y,z:l.z+e.widthZ},u=n._drawLine(s,d,t.gridLines,i.lineColor);c.add(u),s={x:l.x,y:l.y,z:l.z},d={x:l.x,y:l.y,z:l.z+e.widthZ},u=n._drawLine(s,d,t.gridLines,i.lineColor),c.add(u)}t.gridLines.visible&&t._gridLines.forEach((a=>{const r={x:l.x,y:l.y+o(a),z:l.z},s={x:l.x+e.widthX,y:l.y+o(a),z:l.z},c={x:l.x,y:l.y+o(a),z:l.z+e.widthZ},p=n._drawLine(r,s,t.gridLines,i.lineColor,a),m=n._drawLine(r,c,t.gridLines,i.lineColor,a);u.add(p),d.add(m)})),a.gridLines.visible&&a._gridLines.forEach(((t,r)=>{const o=e.widthX/a._gridLines.length,s={x:l.x+(r+1)*o,y:l.y,z:l.z},d={x:l.x+(r+1)*o,y:l.y,z:l.z+e.widthZ},u=n._drawLine(s,d,a.gridLines,i.lineColor);c.add(u)})),r.gridLines.visible&&r._gridLines.forEach(((t,a)=>{const o={x:l.x,y:l.y,z:l.z+(a+1)*e.cell.z},s={x:l.x+e.widthX,y:l.y,z:l.z+(a+1)*e.cell.z},d=n._drawLine(o,s,r.gridLines,i.lineColor);c.add(d)})),t.labels.visible&&t._labelPoints.forEach(((a,r)=>{const i={x:l.x,y:l.y+o(a)+t.labels.offset.y+.5,z:l.z+e.widthZ},d={positionOne:i,positionTwo:{x:i.x+e.widthX,y:i.y,z:i.z},positionThree:{x:i.x,y:i.y,z:i.z-e.widthZ},positionFour:{x:i.x+e.widthX,y:i.y,z:i.z-e.widthZ}},u=n._createLabel(t._labels[r],["smart-3d-chart-value-axis-label",t.labels.class],i,t.labels.angle,d);s.add(u),n._scaledLabels.push(u),s.userData.gridLabels.valueLabels.push(u)})),a.labels.visible&&a._labelPoints.forEach(((t,r)=>{const i=e.widthX/a._labelPoints.length,o={x:l.x+(r+1)*i-i/2,y:p+(a.labels.offset.y||0),z:l.z+e.widthZ+(a.labels.offset.z||0)},d={positionOne:o,positionTwo:{x:o.x,y:o.y,z:o.z-e.widthZ}},u=n._createLabel(a._labels[r],["smart-3d-chart-x-axis-label",a.labels.class],o,a.labels.angle,d);s.add(u),n._scaledLabels.push(u),s.userData.gridLabels.frontLabels.push(u)})),r.labels.visible&&r._labelPoints.forEach(((t,a)=>{const i=e.widthZ/r._labelPoints.length,o={x:l.x+e.widthX,y:p,z:l.z+(a+1)*i-i/2},d={positionOne:o,positionTwo:{x:o.x-e.widthX,y:o.y,z:o.z}},u=n._createLabel(r._labels[a],["smart-3d-chart-z-axis-label",r.labels.class],o,r.labels.angle,d);s.add(u),n._scaledLabels.push(u),s.userData.gridLabels.sideLabels.push(u)})),d.position.set(0,0,0),u.position.set(0,0,0),c.position.set(0,p,0),s.position.set(0,-e.height/2,0),s.add(d),s.add(u),s.add(c),n._scene.add(s),n._grid=s,s.userData.gridProps={height:e.height,width:e.widthX,depthWidth:e.widthZ,maxValue:t._maxValue,minValue:t._minValue,slot:e.cell,floorHeight:p,origin:{x:l.x,y:l.y-e.height/2,z:l.z}},s.userData.tempObjects=[],s.userData.isInverted=t.isInverted||!1,t.isInverted&&s.rotateX(Math.PI)}_createGrid(e,t){const a=this,r=a._getAxisLabels(),n=t?r.zAxis.lenght:a._getGridDepth();let i,o,l=a._calcGridDimension(a.gridOptions,r.xAxis.length,n,t),s=a.valueAxis,d=a.xAxis,u=a.zAxis;if(t&&(i=a._getScatterGridMaxValues(),o=a._getScatterGridMinValues()),s._maxValue=t?i.y:a._getGridMaxValue(e),s._minValue=t?o.y:a._getGridMinValue(e),s._maxValue===s._minValue&&(s._maxValue+=s.unitInterval||s._maxValue/2,s._minValue-=s.unitInterval||s._maxValue/2),s._baseLine=null===s.baselineValue?s._minValue:s.baselineValue,s._requiredSteps=a._getGridRequiredSteps(s._maxValue,s._minValue,s.unitInterval,s,a.gridOptions.height,3,!0),s._linePoints=a._getGridLinePoints(s._maxValue,s._minValue,s._requiredSteps,!1,s),s._gridLines=a._getGridLines(s._linePoints,s.gridLines.step||1,s),s._labelPoints=a._getGridValueLabels(s._linePoints,s.labels.step||1,s),s._labels=s._labelPoints.map((e=>a._getFormattedValue(e,s.formatSettings,s.formatFunction))),d._elementsCount=r.xAxis.length,d._maxValue=t?i.x:d.maxValue,d._minValue=t?o.x:d.minValue,t)d._requiredSteps=a._getGridRequiredSteps(d._maxValue,d._minValue,d.unitInterval,d,l.widthX,5),d._linePoints=a._getGridLinePoints(d._maxValue,d._minValue,d._requiredSteps),d._gridLines=a._getGridLines(d._linePoints,d.gridLines.step||1),d._labelPoints=a._getGridValueLabels(d._linePoints,d.labels.step||1),d._labels=d._labelPoints.map((e=>a._getFormattedValue(e,d.formatSettings,d.formatFunction,d.type))),l.cell.x=l.widthX/d._linePoints.length;else{for(d._requiredSteps=Math.min(a._getGridRequiredSteps(d._elementsCount,0,d.unitInterval,d,l.widthX,5),d._elementsCount),d._linePoints=a._getGridLinePoints(d._elementsCount,0,d._requiredSteps,!0);d._linePoints[d._linePoints.length-1]>=d._elementsCount;)d._linePoints.pop();d._gridLines=a._getGridLines(d._linePoints,d.gridLines.step||1),d._labelPoints=a._getGridValueLabels(d._linePoints,d.labels.step||1),d._labels=d._labelPoints.map((e=>a._getFormattedValue(r.xAxis[e],d.formatSettings,d.formatFunction,d.type)))}if(u._elementsCount=n,u._maxValue=t?i.z:u.maxValue,u._minValue=t?o.z:u.minValue,t)u._requiredSteps=a._getGridRequiredSteps(u._maxValue,u._minValue,u.unitInterval,u,l.widthZ,5),u._linePoints=a._getGridLinePoints(u._maxValue,u._minValue,u._requiredSteps),u._gridLines=a._getGridLines(u._linePoints,u.gridLines.step||1),u._labelPoints=a._getGridValueLabels(u._linePoints,u.labels.step||1),u._labels=u._labelPoints.map((e=>a._getFormattedValue(e,u.formatSettings,u.formatFunction,u.type))),l.cell.z=l.widthZ/u._linePoints.length;else{for(u._requiredSteps=Math.min(a._getGridRequiredSteps(u._elementsCount,0,u.unitInterval,u,l.widthZ,5),u._elementsCount),u._linePoints=a._getGridLinePoints(u._elementsCount,0,u._requiredSteps,!0);u._linePoints[u._linePoints.length-1]>=u._elementsCount;)u._linePoints.pop();u._gridLines=a._getGridLines(u._linePoints,u.gridLines.step||1),u._labelPoints=a._getGridValueLabels(u._linePoints,u.labels.step||1),u._labels=u._labelPoints.map((e=>a._getFormattedValue(r.zAxis[e],u.formatSettings,u.formatFunction,u.type)))}a._drawGrid(l,s,d,u,t)}_gridNeeded(){const e=this;return e.seriesGroups.filter((t=>e._seriesGridTypes.indexOf(t.type)>-1)).length>0}_setChart(){const e=this,t=e.seriesGroups;if(e._updating)return;e._clearScene();const a=e._gridNeeded(),r=t.filter((e=>e.type.includes("stacked"))).length>0,n=t.filter((e=>e.type.includes("pyramid"))).length>0,i=t.filter((e=>e.type.includes("scatter"))).length>0;a&&e._createGrid(r,i);for(let r=0;r<t.length;r++){let n=t[r];"pie"===n.type||"donut"===n.type?e._setPieChartData(r):"pyramid"===n.type?e._setPyramidChartData(r):a&&(n.type.includes("scatter")?e._setScatterChartData(r):e._setGridChartData(r),n.bands&&e._setBands(r))}let o=e.legendIndex;if("auto"===o&&(o=r?"group":"serie"),e.showLegend){let t=a?e._createGridLegend(o,i):e._createPieLegend(n);e.querySelector(".smart-3d-chart-container").appendChild(t),e._setLegendLayout(t)}e.showLegendTable&&e._fillLegendTable(o)}_fillLegendTable(){const e=this,t=e.querySelector(".smart-3d-chart-legend-table tbody");t.setAttribute("filled","true");for(let a=0;a<e.seriesGroups.length;a++){for(let r=0;r<e.dataSource.length;r++){const n=e._getObjectsByIndexes(a,null,r);for(let i=0;i<n.length;i++){const o=n[i];let l=e._createLegendItem(o.userData.groupIndex,o.userData.serieIndex,o.userData.itemIndex,o.userData.color,o.userData.color,null,o.userData.hidden),s=t.children[a].children[r+1].firstChild;s.appendChild(l),s.children.length>3&&s.removeChild(s.children[0])}}let r=e._createLegendItem(a,null,null,e.seriesGroups[a].legendFillColor||e._getColorFromScheme(e.colorScheme,a),e.seriesGroups[a].legendFillColor||e._getColorFromScheme(e.colorScheme,a),"",!e._groupIsShown(a)),n=t.children[a].children[e.dataSource.length+1];n.children.length>0&&n.removeChild(n.children[0]),n.appendChild(r)}}_animateTo(e,t,a,r){e.progress||(e.progress=0),e.progress+=r?.015*this.cameraAnimationSpeed:.05;const n=new window.THREE.Vector3;return a.y=a.y||0,n.lerpVectors(t.position,a,e.progress),t.position.set(n.x,n.y,n.z),!(e.progress>=1)}_transition(e,t,a,r){const n=this;r/=50;const i="zoom"===a?n._camera.zoom-t:e.material[a]-t;return!i||Math.abs(i)<=r?("zoom"===a?n._camera.zoom=t:e.material[a]=t,!1):("zoom"===a?n._camera.zoom-=r*i/Math.abs(i):e.material[a]-=r*i/Math.abs(i),!0)}setCameraMode(e="default"){const t=this;"default"===e?t._controls.mouseButtons={LEFT:window.THREE.MOUSE.ROTATE,MIDDLE:window.THREE.MOUSE.DOLLY,RIGHT:window.THREE.MOUSE.PAN}:"pan"===e?t._controls.mouseButtons={LEFT:window.THREE.MOUSE.PAN,MIDDLE:window.THREE.MOUSE.DOLLY,RIGHT:window.THREE.MOUSE.ROTATE}:"zoom"===e&&(t._controls.mouseButtons={LEFT:window.THREE.MOUSE.DOLLY,MIDDLE:window.THREE.MOUSE.ROTATE,RIGHT:window.THREE.MOUSE.PAN})}setDefaultPosition(){const e=this;e._controls.target.set(0,0,0),e._camera.position.set(e.cameraPosition.x,e.cameraPosition.y,e.cameraPosition.z);const t=e.querySelector(".smart-3d-chart-control-reset-camera");t&&(t.style.display="none")}_setControls(){const e=this;let t=e.querySelector(".smart-3d-chart-controls");for(;t.firstChild;)t.removeChild(t.firstChild);t&&e.enableControlsToolbar&&e.controlsToolbarItems.forEach((a=>{if("string"==typeof a){let r=document.createElement("div");r.className="smart-3d-chart-control smart-3d-chart-control-"+a,t.appendChild(r);let n=document.createElement("smart-tooltip");n.selector=r,n.position="bottom",n.className="smart-3d-chart-control-tooltip material animation",n.arrow=!0;let i=a.replace(/-([a-z])/g,(function(e){return e[1].toUpperCase()}));if(n.innerHTML=e.localize(i),"camera-control"!==a&&(r.classList.add("smart-3d-chart-control-button"),t.appendChild(n)),"reset-camera"===a)r.addEventListener("click",(()=>{e.setDefaultPosition()})),r.style.display="none";else if("zoom-in"===a){let t;r.addEventListener("mousedown",(()=>{t=setInterval((()=>{e.setCameraZoom(1.03)}),100)})),r.addEventListener("mouseup",(()=>{clearInterval(t)}))}else if("zoom-out"===a){let t;r.addEventListener("mousedown",(()=>{t=setInterval((()=>{e.setCameraZoom(.97)}),100)})),r.addEventListener("mouseup",(()=>{clearInterval(t)}))}else if("save-image"===a)r.addEventListener("click",(()=>{e.saveAsPNG()}));else if("camera-control"===a){let t=`<smart-drop-down-list class="smart-3d-chart-control-drop-down-list">\n <smart-list-item value="default" selected><span class='smart-3d-chart-control-camera-mode smart-3d-chart-control-list-item'></span>${e.localize("cameraMode")}</smart-list-item>\n <smart-list-item value="pan"><span class='smart-3d-chart-control-pan-mode smart-3d-chart-control-list-item'></span>${e.localize("panMode")}</smart-list-item>\n <smart-list-item value="zoom"><span class='smart-3d-chart-control-zoom-mode smart-3d-chart-control-list-item'></span>${e.localize("zoomMode")}</smart-list-item>\n </smart-down-list>`;r.innerHTML=t,r.querySelector("smart-drop-down-list").addEventListener("change",(function(t){e.setCameraMode(t.detail.value)}))}}else{let e=document.createElement("div");if(e.className="smart-3d-chart-control smart-3d-chart-control-"+a.name,e.innerHTML=a.content,t.appendChild(e),a.init&&e.init(e),a.action){let t=e.querySelector("smart-button")||e.querySelector("button")||e.querySelector("smart-toggle-button")||e.querySelector("smart-repeat-button");t?t.addEventListener("click",a.action):e.addEventListener("click",a.action)}}}))}_setCaption(){const e=this;let t=e.querySelector(".smart-3d-chart-caption");t||(t=document.createElement("div"),t.classList.add("smart-3d-chart-caption"),e.querySelector(".smart-3d-chart-container").appendChild(t)),t.innerHTML=`<h3>${e.caption}</h3><p>${e.description}</p>`}_setToolTipContent(e,t,a=""){const r=this.querySelector(".smart-3d-chart-tooltip");let n=`<div class='smart-3d-chart-tooltip-heading'>${e}</div>`;""!==t&&(n+=`<div class='smart-3d-chart-tooltip-body'>${t}</div>`),r.innerHTML=n,r.style.borderColor=a}_setToolTip(){const e=this;if(!e._mouseIsValid)return;e.classList.add("smart-3d-chart-hover");const t=e.querySelector(".smart-3d-chart-tooltip");e.addEventListener("mousemove",(function(e){t.style.left=e.pageX+"px",t.style.top=e.pageY-43+"px"})),setTimeout((function(){t.style.display="block"}),1)}_removeToolTip(){this.querySelector(".smart-3d-chart-tooltip").style.display="none",this.classList.remove("smart-3d-chart-hover")}_shadeHexColor(e,t){var a=parseInt(e.slice(1),16),r=t<0?0:255,n=t<0?-1*t:t,i=a>>16,o=a>>8&255,l=255&a;return"#"+(16777216+65536*(Math.round((r-i)*n)+i)+256*(Math.round((r-o)*n)+o)+(Math.round((r-l)*n)+l)).toString(16).slice(1)}_buildSource(){const e=this;let t=JSON.parse(JSON.stringify(e.dataSource));e.seriesGroups.forEach(((e,a)=>{e.dataSource&&e.dataSource.forEach(((r,n)=>{t[n]||(t[n]={}),t[n][e.dataField||"group-"+a]=r}))})),e.bindedSource=t}_getBackground(){const e=this;if(6===e.backgroundTexture.length)return(new window.THREE.CubeTextureLoader).load(e.backgroundTexture);if(e.backgroundImage)return(new window.THREE.TextureLoader).load(e.backgroundImage);if(e.backgroundGradient.length>0){const t=document.createElement("canvas");t.width=e.width,t.height=e.remainingHeight;const a=t.getContext("2d"),r=a.createLinearGradient(0,0,0,e.remainingHeight);return e.backgroundGradient.forEach((e=>{let t=e.split(", ");r.addColorStop(t[0],t[1])})),a.fillStyle=r,a.fillRect(0,0,e.width,e.remainingHeight),new window.THREE.CanvasTexture(t)}return"dark"===e.theme&&"#ffffff"===e.backgroundColor?e.backgroundColor="#000000":"#000000"===e.backgroundColor&&(e.backgroundColor="#ffffff"),new window.THREE.Color(e.backgroundColor)}_setScene(){const e=this;let t=new window.THREE.Scene;t.background=e._getBackground();let a=new window.THREE.DirectionalLight(e.lightColor,.5);a.position.set(0,15,0),t.add(a);let r=new window.THREE.DirectionalLight(e.lightColor,.2);r.position.set(0,-15,0),t.add(r);let n=new window.THREE.AmbientLight(e.lightColor,.8);t.add(n);let i=new window.THREE.DirectionalLight(e.lightColor,.25);i.position.set(0,0,10),t.add(i);let o=new window.THREE.DirectionalLight(e.lightColor,.1);o.position.set(0,0,-15),t.add(o);var l=new window.THREE.PerspectiveCamera(75,e.width/e.remainingHeight,1,1e3);l.position.set(e.cameraPosition.x,e.cameraPosition.y,e.cameraPosition.z),l.zoom=e.cameraZoom,l.updateProjectionMatrix();let s=e._renderer;s||(s=new window.THREE.WebGLRenderer({alpha:!0,antialias:!0,preserveDrawingBuffer:!0,outputEncoding:window.THREE.sRGBEncoding,physicallyCorrectLights:!0}),s.setPixelRatio(window.devicePixelRatio),s.domElement.classList.add("smart-3d-chart-canvas"),e.querySelector(".smart-3d-chart-container")&&e.querySelector(".smart-3d-chart-container").appendChild(s.domElement)),s.setSize(e.width,e.remainingHeight);let d=e._labelRenderer;d||(d=new window.THREE.CSS2DRenderer,d.domElement.style.position="absolute",d.domElement.style.top="0px",d.domElement.style.pointerEvents="none",d.domElement.style.zIndex="1",e.querySelector(".smart-3d-chart-container")&&e.querySelector(".smart-3d-chart-container").appendChild(d.domElement)),d.setSize(e.width,e.remainingHeight);let u=new window.THREE.OrbitControls(l,s.domElement);u.enableDamping=e.controlsSettings.enableDamping,u.dampingFactor=e.controlsSettings.dampingFactor,u.enableZoom=e.controlsSettings.enableZoom,u.enablePan=e.controlsSettings.enablePan,u.enableKeys=e.controlsSettings.enableKeys,u.enableRotate=e.controlsSettings.enableRotate,u.autoRotate=e.autoRotate,u.autoRotateSpeed=e.autoRotateSpeed,u.currentTarget={x:0,y:0,z:0},u.target.set(0,0,0),e._controls=u;const c=new window.THREE.RoomEnvironment,p=new window.THREE.PMREMGenerator(s);t.environment=p.fromScene(c).texture,c.dispose(),e._scene=t,e._renderer=s,e._labelRenderer=d,e._camera=l,e._controls=u}_updateWalls(e){const t=this,a=t._grid.userData.isInverted;if(e.position.z>=0&&t._grid.userData.gridWalls.back.userData.flipped){t._grid.userData.gridWalls.back.userData.flipped=!1,t._grid.userData.gridWalls.back.rotateX(Math.PI),t._grid.userData.gridWalls.back.rotateZ(Math.PI);for(const e of t._grid.userData.gridLabels.frontLabels)e.position.copy(e.userData.positionOne)}else if(e.position.z<0&&!t._grid.userData.gridWalls.back.userData.flipped){t._grid.userData.gridWalls.back.userData.flipped=!0,t._grid.userData.gridWalls.back.rotateY(Math.PI);for(const e of t._grid.userData.gridLabels.frontLabels)e.position.copy(e.userData.positionTwo)}if(e.position.x>=0&&t._grid.userData.gridWalls.side.userData.flipped&&!1===a||e.position.y>=0&&t._grid.userData.gridWalls.side.userData.flipped&&!0===a){t._grid.userData.gridWalls.side.userData.flipped=!1,t._grid.userData.gridWalls.side.rotateY(Math.PI);for(const e of t._grid.userData.gridLabels.sideLabels)e.position.copy(e.userData.positionOne)}else if(e.position.x<0&&!t._grid.userData.gridWalls.side.userData.flipped&&!1===a||e.position.y<0&&!t._grid.userData.gridWalls.side.userData.flipped&&!0===a){t._grid.userData.gridWalls.side.userData.flipped=!0,t._grid.userData.gridWalls.side.rotateY(Math.PI);for(const e of t._grid.userData.gridLabels.sideLabels)e.position.copy(e.userData.positionTwo)}if(t._grid.userData.gridWalls.back.userData.flipped||t._grid.userData.gridWalls.side.userData.flipped)if(t._grid.userData.gridWalls.back.userData.flipped&&!t._grid.userData.gridWalls.side.userData.flipped)for(const e of t._grid.userData.gridLabels.valueLabels)!1===a?e.position.copy(e.userData.positionTwo):e.position.copy(e.userData.positionThree);else if(!t._grid.userData.gridWalls.back.userData.flipped&&t._grid.userData.gridWalls.side.userData.flipped)for(const e of t._grid.userData.gridLabels.valueLabels)!1===a?e.position.copy(e.userData.positionThree):e.position.copy(e.userData.positionTwo);else for(const e of t._grid.userData.gridLabels.valueLabels)e.position.copy(e.userData.positionFour);else for(const e of t._grid.userData.gridLabels.valueLabels)e.position.copy(e.userData.positionOne)}_animateDrawChart(){const e=this;e._drawComplete=!0,e._chartObjects.forEach((function(t,a){t.userData.drawAnimate()||a!==e._chartObjects.length-1||(e._drawComplete=!1)})),e._drawComplete&&e._grid&&e._grid.userData.tempObjects.forEach((t=>{e._grid.remove(t)}))}_chartResize(e){const t=e.getBoundingClientRect();if(e.width=t.width-2,e.height=t.height-2,e.remainingHeight=e.height,e.$.fireEvent("resizeBegin",{}),e.querySelector(".smart-3d-chart-footer").children.length>0){let t=e.querySelector(".smart-3d-chart-footer").getBoundingClientRect().height;e.remainingHeight-=t}else e.querySelector(".smart-3d-chart-footer").style.display="none";e._camera.aspect=e.width/e.remainingHeight,e._camera.updateProjectionMatrix(),e._renderer.setSize(e.width,e.remainingHeight),e._labelRenderer.setSize(e.width,e.remainingHeight),e.querySelector(".smart-3d-chart-legend")&&e._setLegendLayout(e.querySelector(".smart-3d-chart-legend")),e.querySelector(".smart-3d-chart-range-selector")&&e._setRangeValues(!1),e.$.fireEvent("resizeEnd",{})}addColorScheme(e,t){this.colorSchemes.push({name:e,colors:t})}getColorScheme(e){return this.colorSchemes.find((t=>t.name===e))}removeColorScheme(e){let t=this.colorSchemes.findIndex((t=>t.name===e));t>-1&&this.colorSchemes.splice(t,1)}render(){const e=this;super.render(),e._setDefaults(),e.refresh(!0),"undefined"==typeof THREE&&e.error(e.localize("missingReference",{elementType:e.nodeName.toLowerCase(),files:"three.js"})),window.addEventListener("resize",(function(){e._chartResize(e)}),!1),e.addEventListener("mouseover",(function(){e._mouseEntered=!0})),e.addEventListener("mousemove",(function(){e._mouseEntered&&(e._mouseIsValid=!0)})),e.addEventListener("pointermove",(function(t){const a=e._renderer.domElement.getBoundingClientRect(),r=e._renderer.domElement,n=t.clientX-a.left,o=t.clientY-a.top;i.x=n/r.clientWidth*2-1,i.y=o/r.clientHeight*-2+1})),e.addEventListener("pointerdown",(function(e){a=e.pageX,r=e.pageY,n=Date.now()})),e.addEventListener("pointerup",(function(o){t.setFromCamera(i,e._camera);const l=e._chartObjects,[s]=t.intersectObjects(l,!1);let d=o.pageX-a,u=o.pageY-r;const c=Date.now()-n;if(s&&d<=5&&u<=5&&c<300)for(let t=0;t<l.length;t++){const a=l[t];s.object.uuid===a.uuid&&(a.userData.selected?a.userData.unselectObject():a.userData.selectObject(),e.$.fireEvent("itemClick",{groupIndex:a.userData.groupIndex,seriesIndex:a.userData.serieIndex,itemIndex:a.userData.itemIndex}))}})),e.querySelector(".smart-3d-chart-container").style.height=e.remainingHeight+"px";const t=new window.THREE.Raycaster;let a,r,n,i=new window.THREE.Vector2;!function a(){requestAnimationFrame(a),function(){e._grid&&e._updateWalls(e._camera),t.setFromCamera(i,e._camera);const a=e._chartObjects,r=t.intersectObjects(a);e._animateDrawChart();let n=[];for(let t=e._inMotionQueue.length-1;t>=0;t--){let a=e._inMotionQueue[t];n.includes(a.obj.uuid)?e._inMotionQueue.splice(t,1):(e._animateTo(a,a.obj,a.target,"camera"===a.type)||e._inMotionQueue.splice(t,1),n.push(a.obj.uuid))}let o,l=[],s=Array.from(e._inTransitionQueue).reverse();for(let t=0;t<s.length;t++){let a=s[t];l.includes(a.obj.uuid)?e._inTransitionQueue.splice(t,1):(e._transition(a.obj,a.targetValue,"camera"===a.type?"zoom":"opacity",e.transitionSpeed)||e._inTransitionQueue.splice(t,1),l.push(a.obj.uuid))}for(let t=e._inTransitionQueue.length-1;t>=0;t--){let a=e._inTransitionQueue[t];l.includes(a.obj)||(e._transition(a.obj,a.targetValue,"camera"===a.type?"zoom":"opacity",e.transitionSpeed)||e._inTransitionQueue.splice(t,1),l.push(a.obj))}for(const t of e._scaledLabels){var d=new window.THREE.Vector3;d.copy(t.position);const a=1/d.distanceTo(e._camera.position);t.element.style.fontSize=Math.max(45*a,.5)+"em"}for(let e=0;e<a.length;e++)a[e].userData.highlighted&&a[e].userData.unhighlightObject();if(r.length>0)for(let e=0;e<a.length;e++)r[0].object.uuid===a[e].uuid&&(a[e].userData.highlightObject(!0),o!==a[e].uuid&&a[e].userData.showToolTip(),o=a[e].uuid);else for(let e=0;e<a.length;e++)a[e].userData.unhighlightObject();void 0===o&&!0!==e._colorHovered&&e._removeToolTip(),e.querySelector(".smart-3d-chart-controls")&&(Math.round(e._camera.position.x)===Math.round(e.cameraPosition.x)&&Math.round(e._camera.position.y)===Math.round(e.cameraPosition.y)&&Math.round(e._camera.position.z)===Math.round(e.cameraPosition.z)||e.querySelector(".smart-3d-chart-control-reset-camera")&&(e.querySelector(".smart-3d-chart-control-reset-camera").style.display="block")),e._controls.update(),e._renderer.render(e._scene,e._camera),e._labelRenderer.render(e._scene,e._camera),e._camera.updateProjectionMatrix()}()}()}});
@@ -0,0 +1,6 @@
1
+
2
+ /* Smart UI v15.0.11 (2023-02-01)
3
+ Copyright (c) 2011-2023 jQWidgets.
4
+ License: https://htmlelements.com/license/ */ //
5
+
6
+ Smart("smart-accordion-item",class extends Smart.ContentElement{static get properties(){return{dragged:{value:!1,type:"boolean"},expanded:{value:!1,type:"boolean"},focused:{value:!1,type:"boolean"},index:{value:null,type:"number?"},label:{value:"",type:"string"}}}get enableShadowDOM(){return!1}static get listeners(){return{"accordionItemHeader.mouseenter":"_headerMouseEnterHandler","accordionItemHeader.mouseleave":"_headerMouseLeaveHandler","accordionItemHeader.down":"_ripple"}}template(){return'<div id="container" role="presentation">\n <div id="accordionItemHeader" class="smart-accordion-item-header smart-unselectable" role="heading" aria-level="1">\n <span id="arrow" class="smart-arrow" role="presentation" aria-hidden="true"></span>\n <span id="label" class="smart-label" inner-h-t-m-l=\'[[label]]\' role="button"></span>\n </div>\n <div id="accordionItemContent" class="smart-accordion-item-content">\n <div id="contentContainer" class="smart-content-container" role="presentation"><content></content></div>\n </div>\n </div>'}render(){const e=this;let t;t=e.id?e.id+"Content":e.parentElement&&e.parentElement.parentElement&&e.parentElement.parentElement.id?e.parentElement.parentElement.id+Math.floor(1e4*Math.random())+"Content":"accordion"+Math.floor(1e4*Math.random())+"Content",e.$.accordionItemContent.id=t,e.$.label.setAttribute("aria-controls",t),super.render()}propertyChangedHandler(e,t,n){super.propertyChangedHandler(e,t,n);const a=this;if("expanded"===e){a.$.label.setAttribute("aria-expanded",n);const e=a.parentElement&&a.parentElement.parentElement?a.parentElement.parentElement.expandMode:a.shadowParent.expandMode;if("multiple"===e||"toggle"===e)return;return void(n?a.$.label.setAttribute("aria-disabled",!0):a.$.label.removeAttribute("aria-disabled"))}if(t=parseInt(t),n=parseInt(n),"index"!==e||isNaN(t)||isNaN(n))return;const i=a.parentElement.parentElement._items.length;n<0?n=0:n>=i&&(n=i-1),n!==t&&a.$.fireEvent("indexChange",{newIndex:n,oldIndex:t}),a.index=n}_headerMouseEnterHandler(){this.disabled||this.setAttribute("hover","")}_headerMouseLeaveHandler(){this.disabled||this.removeAttribute("hover")}_ripple(e){const t=this;t.disabled||t.hasRippleAnimation&&Smart.Utilities.Animation.Ripple.animate(t.$.container,e.pageX,e.pageY)}_setIndex(e){const t=this,n=t.context;t.context=t,t.index=e,t.context=n}focus(){super.focus(),this.setAttribute("focus","")}blur(){super.blur(),this.removeAttribute("focus")}}),Smart("smart-accordion",class extends Smart.BaseElement{static get properties(){return{dataSource:{value:null,type:"array?",reflectToAttribute:!1},expandedIndexes:{value:[],type:"array"},expandMode:{allowedValues:["single","singleFitHeight","multiple","toggle","none"],value:"singleFitHeight",type:"string"},messages:{extend:!0,value:{en:{accordionItemRequired:'{{elementType}}: "{{method}}" requires an item from type "smart-accordion-item".',indexOutOfBound:'{{elementType}}: Out of bound index/indexes in "{{method}}" method.',invalidSettings:'{{elementType}}: "{{method}}" method accepts a string or an object as it\'s second parameter.',missingReference:"{{elementType}}: Missing reference to {{files}}.",noItems:"{{elementType}}: No child elements found.",overridingProperties:'{{elementType}}: Overriding properties {{property1}} and {{property2}} applied. The "{{property1}}" property is used by default.'}},type:"object"},reorder:{value:!1,type:"boolean"}}}static get listeners(){return{down:"_downHandler",focus:"_focusHandler",indexChange:"_indexChangeHandler",keydown:"_keyDownHandler",move:"_moveHandler",resize:"_resizeHandler",styleChanged:"_resizeHandler","document.up":"_upHandler","container.move":"_containerMoveHandler"}}template(){return'<div id="container" role="presentation">\n <content></content>\n </div>'}static get styleUrls(){return["smart.accordion.css"]}ready(){super.ready()}render(){this._createElement(),super.render()}propertyChangedHandler(e,t,n){const a=this;if("expandedIndexes"===e){if(t.toString()===n.toString())return;let i=[];if(a._items.length>0)for(let e=0;e<n.length;e++){let t=parseInt(n[e]);if(!isNaN(t)){if(a._expandModeIs(["single","singleFitHeight","toggle"])){i.length<1&&t>=0&&t<a._items.length&&i.push(t);break}t>=0&&t<=a._items.length&&-1===i.indexOf(t)&&i.push(t)}}if(0===i.length&&a._expandModeIs(["single","singleFitHeight"]))return n=t.slice(),a.expandedIndexes=n,void super.propertyChangedHandler(e,t,n);n=i;const o=a._compareExpandedIndexes(t,n);return a._toggleItems("collapse",o.collapse),a._toggleItems("expand",o.expand),a.expandedIndexes=n,void super.propertyChangedHandler(e,t,n)}switch(super.propertyChangedHandler(e,t,n),e){case"dataSource":a.render();break;case"disabled":a._setFocusable(),a._enableDisableHandler();break;case"expandMode":{if(0===a._items.length)break;if("multiple"===t&&"none"!==n||"none"===t&&"multiple"!==n){const e=a.expandedIndexes.slice(1);a._toggleItems("collapse",e),0===a.expandedIndexes.length&&a._expandModeIs(["single","singleFitHeight"])&&i()}else"toggle"===t&&a._expandModeIs(["single","singleFitHeight"])&&0===a.expandedIndexes.length&&i();const e=a.expandedIndexes[0];if(void 0===e)return;a._supportCSSVariables&&a._usedCSSVariables||("singleFitHeight"===t?a._items[e].$.accordionItemContent.style.height="":"singleFitHeight"===n&&(a._items[e].$.accordionItemContent.style.height=a._expandedItemsContainerHeight-1+"px")),"multiple"===n||"toggle"===n?a._items[e].$.label.removeAttribute("aria-disabled"):a._items[e].$.label.setAttribute("aria-disabled",!0);break}case"unfocusable":a._setFocusable()}function i(){a._toggleItems("expand",[0]),a.expandedIndexes=[0]}}appendChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&(e.classList.contains("smart-resize-trigger-container")||e.classList.contains("smart-measure-element"))){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e instanceof Smart.AccordionItem||t.error(t.localize("accordionItemRequired",{method:"appendChild"})),t.insert(t._items.length,e)}collapse(e,t){const n=this;e=n._validateItemsIndex(e,"collapse"),isNaN(e)||!n._items[e].expanded||n._expandModeIs(["single","singleFitHeight"])&&n.expandedIndexes.indexOf(e)>-1||n._collapseItem(e,t)}expand(e,t){const n=this;e=n._validateItemsIndex(e,"expand"),isNaN(e)||n._items[e].expanded||(n._expandModeIs(["single","singleFitHeight","toggle"])&&n._toggleItems("collapse",n.expandedIndexes),n._expandItem(e,t))}insert(e,t){const n=this,a=0===n._items.length;let i,o;if(t||("number"==typeof e?t=[{label:"",content:""}]:(t=[{label:e?e.toString():"",content:e?e.toString():""}],e=0)),t instanceof HTMLElement)t instanceof Smart.AccordionItem?i=t:n.error(n.localize("accordionItemRequired",{method:"insert"}));else if(Array.isArray(t)){o=document.createDocumentFragment();for(let e=0;e<t.length;e++){const a=n._createItem(t[e]);o.appendChild(a)}}else i=t instanceof Object?n._createItem(t):"string"==typeof t||"number"==typeof t?n._createItem({label:t.toString(),content:t.toString()}):n._createItem({label:"",content:""});e>n._items.length?i?n.$.container.appendChild(i):n.$.container.appendChild(o):i?n.$.container.insertBefore(i,n._items[e]):n.$.container.insertBefore(o,n._items[e]),i&&(i.tabIndex=n._tabIndex),n._storeItems(),a&&n._expandModeIs(["single","singleFitHeight"])?n._expandItem(0):n.expandedIndexes=n._getExpandedIndexes(),n._updateExpanedContentHeight(),n._updateInlineHeight(),n._storeItemsCoordinates(),n._updateItemsIndexProperty()}insertBefore(e,t){const n=this;if(!n.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(n,e.concat(Array.prototype.slice.call(arguments)))}void 0!==e&&void 0!==t&&e instanceof Smart.AccordionItem&&t instanceof Smart.AccordionItem||n.error(n.localize("accordionItemRequired",{method:"insertBefore"})),null!=t?(n.contains(t)||n.error(n.localize("referenceNodeNotChild",{argument:"referenceNode"})),n.insert(n._items.indexOf(t),e)):n.insert(n._items.indexOf(t),e)}removeAt(e){const t=this;let n;if(e instanceof HTMLElement)e instanceof Smart.AccordionItem?t.contains(e)||t.error(t.localize("referenceNodeNotChild",{argument:"node"})):t.error(t.localize("accordionItemRequired",{method:"remove"})),n=e,e=n.index;else{if(e=t._validateItemsIndex(e,"remove"),isNaN(e))return;n=t._items[e]}n&&(n.parentNode.removeChild(n),t._storeItems(),t._expandModeIs(["singleFitHeight"])&&(t._preventAnimation=!0),t._expandModeIs(["single","singleFitHeight"])&&e===t.expandedIndexes[0]&&t._items.length>0&&(t._expandItem(0),t._selectedItem=t._items[0],t._selectedItemIndex=0,t._itemIsFocussed=!0),t.expandedIndexes=t._getExpandedIndexes(),t._updateExpanedContentHeight(),t._updateInlineHeight(),t._storeItemsCoordinates(),t._updateItemsIndexProperty())}removeChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e instanceof HTMLElement||t.error(t.localize("accordionItemRequired",{method:"removeChild"})),"smart-resize-trigger-container"!==e.className?(e instanceof Smart.AccordionItem||t.error(t.localize("accordionItemRequired",{method:"removeChild"})),t.contains(e)||t.error(t.localize("referenceNodeNotChild",{argument:"node"})),t.removeAt(e)):super.removeChild(e)}_setFocusable(){const e=this;if(e.disabled||e.unfocusable){e.removeAttribute("tabindex");for(let t=0;t<e._items.length;t++)e._items[t].removeAttribute("tabindex")}else{e.tabIndex=e._tabIndex;for(let t=0;t<e._items.length;t++)e._items[t].tabIndex=e._tabIndex}}update(e,t){const n=this;if(e=n._validateItemsIndex(e,"update"),isNaN(e))return;let a=n._items[e];if(t||n.error(n.localize("invalidSettings",{elementType:n.nodeName.toLowerCase(),method:"update"})),a)if(Array.isArray(t)&&(t=0===t.length?{label:"",content:""}:t[0]),"string"==typeof t)a.content=t;else for(let e in t)a[e]=t[e];const i=n._getItemsHeights(e);n._updateExpanedContentLocalHeight(n._items[e],i),n._updateInlineHeight(),n._storeItemsCoordinates()}_adjustHeightValue(e){const t=this,n=t._items.length;let a,i;for(let e=0;e<n&&(t._items[e].expanded?a=t._items[e]:i=t._items[e],!a||!i);e++);if(a||(a=t._items[0]),!a&&!i)return;const o=a.expanded;a.expanded=!0;const r=window.getComputedStyle(a,null),s=!!i&&window.getComputedStyle(i,null),d=parseInt(r.getPropertyValue("margin-top"))+parseInt(r.getPropertyValue("margin-bottom"))+10,l=s?parseInt(s.getPropertyValue("margin-top"))+parseInt(s.getPropertyValue("margin-bottom")):0;return a.expanded=o,e-((n-1)*l+d)}_collapseItem(e,t){const n=this;let a=n._items[e];if(a.expanded&&("none"!==n.expandMode||!t)){if(a.expanded=!1,n.$.fireEvent("collapsing",{index:e,label:a.label,content:a.content.innerHTML}),n.expandedIndexes.indexOf(e)>-1){let t=n.expandedIndexes.indexOf(e),a=n.expandedIndexes.slice();a.splice(t,1),n.expandedIndexes=a}a.$.accordionItemContent.style.height="",n._handleAnimationsDuration(a,e,"collapse")}}_compareExpandedIndexes(e,t){let n=[],a=[],i=[],o=e.length,r=t.length;for(let i=0;i<o;i++)-1===t.indexOf(e[i])?-1===n.indexOf(e[i])&&n.push(e[i]):-1===a.indexOf(e[i])&&a.push(e[i]);for(let e=0;e<r;e++)-1===a.indexOf(t[e])&&i.push(t[e]);return{collapse:n,expand:i}}_processDataSource(){const e=this.dataSource;if(null===e||!e)return;let t="";for(let a=0;a<e.length;a++){const i=e[a];t+=`<smart-accordion-item label="${(n=i).label}">${n.content}</smart-accordion-item>`}var n;this.$.container.innerHTML=t}_createElement(){const e=this;null!==e.dataSource&&e._processDataSource(),e._reorderItemsByIndex(),e._usedCSSVariables=Boolean(window.getComputedStyle(e.$.container).getPropertyValue("--smart-accordion-animation-duration")),e._supportCSSVariables=Smart.Utilities.Core.CSSVariablesSupport(),e._storeItems(),e._enableDisableHandler(),e._expandedIndexesHandler(),e._updateExpanedContentHeight(),e._tabIndex=e.tabIndex<=0?0:e.tabIndex,e._setFocusable(),e._updateItemsIndexProperty(),e._updateInlineHeight();for(let t=0;t<e._items.length;t++)e._items[t].setAttribute("part","smart-accordion-item"),e._items[t].$.arrow.classList.add("smart-animate-trigger")}_createItem(e){const t=this,n=document.createElement("smart-accordion-item");if(e)return n.disabled=t.disabled,t._tabIndex>-1&&(n.tabIndex=t._tabIndex),"string"==typeof e||"number"==typeof e?(n.label=e+"",n.content=e+"",n):(n.label=e.label||"",n.content=e.content||"",n)}_downHandler(e){const t=this;if(t.disabled||t.readonly||"none"===t.expandMode||t._toggled)return;const n=t.enableShadowDOM&&t.shadowRoot?t.shadowRoot.elementFromPoint(e.pageX-window.pageXOffset,e.pageY-window.pageYOffset):e.originalEvent.target,a=n.closest(".smart-accordion-item-header"),i=n.closest("smart-accordion-item");a?(t._pointerPosition=e.pageY-window.pageYOffset,t._selectedItem=i,t._itemIsPressed=t._itemIsFocussed=!0,t._reorderedIndex=t._selectedItemIndex=t._items.indexOf(i),t._storeItemsCoordinates()):i&&(i.focused=!0)}_enableDisableHandler(){const e=this;if(e.disabled)for(let t=0;t<e._items.length;t++)e._items[t].disabled=!0;else for(let t=0;t<e._items.length;t++)e._items[t].disabled=!1}_expandedIndexesHandler(){const e=this;let t=e._getExpandedIndexes("initial"),n=t.length,a=e.expandedIndexes.length;if(0!==e._items.length){if(0===a&&n>0&&(e.expandedIndexes=t,a=n),e._expandModeIs(["multiple","none"])||1===a)return e._toggleItems("expand",e.expandedIndexes),void(e._animationAfterInitialization=!0);switch(e.expandMode){case"single":case"singleFitHeight":0===a?e._toggleItems("expand",[0]):a>1&&(e._toggleItems("collapse",e.expandedIndexes.splice(0,1)),e._toggleItems("expand",e.expandedIndexes));break;case"toggle":a>1&&(e._toggleItems("collapse",e.expandedIndexes.splice(0,1)),e._toggleItems("expand",e.expandedIndexes))}e._animationAfterInitialization=!0}else e._animationAfterInitialization=!0}_expandItem(e,t){const n=this;let a=n._items[e];if(!(a.expanded||"none"===n.expandMode&&t)){if(a.$.container.style.getPropertyValue("--smart-accordion-expanded-content-local-height")||(a.expanded=!0,a.$.container.style.setProperty("--smart-accordion-expanded-content-local-height",a.$.accordionItemContent.scrollHeight+"px"),a.expanded=!1),a.expanded=!0,n.$.fireEvent("expanding",{index:e,label:a.label,content:a.content.innerHTML}),-1===n.expandedIndexes.indexOf(e)){let t=n.expandedIndexes.slice();t.push(e),n.expandedIndexes=t}n._supportCSSVariables&&n._usedCSSVariables||"singleFitHeight"!==n.expandMode||(a.$.accordionItemContent.style.height=n._expandedItemsContainerHeight-1+"px"),n._handleAnimationsDuration(a,e,"expand")}}_expandModeIs(e){return e.indexOf(this.expandMode)>-1}_focusHandler(){const e=this;e.disabled||0===e._items.length||(e._itemIsFocussed?e._selectedItem.focused=!1:e._items[0].focused=!1)}_getExpandedIndexes(e){const t=this,n=[];for(let a=0;a<t._items.length;a++)"initial"===e?t._items[a].hasAttribute("expanded")&&(n.push(a),t._items[a].removeAttribute("expanded")):t._items[a].expanded&&n.push(a);return n.slice()}_getItemsHeights(e){const t=this._items,n=t.length;let a=[];if(0!==n){if(!isNaN(e)&&e>=0&&e<n){const n=t[e];let a=0;return n.expanded?a=n.$.accordionItemContent.scrollHeight:(n.expanded=!0,a=n.$.accordionItemContent.scrollHeight,n.expanded=!1),a+"px"}for(let e=0;e<n;e++){const n=t[e];let i=0;n.expanded?i=n.$.accordionItemContent.scrollHeight:(n.expanded=!0,i=n.$.accordionItemContent.scrollHeight,n.expanded=!1),a.push(i+"px")}return this._heightCalcAfterInitialization=!0,a}}_handleAnimationsDuration(e,t,n){const a=this;if(!a._animationAfterInitialization)return;if(1===a._items.length&&"singleFitHeight"===a.expandMode)return void a.$.fireEvent(n,{index:t,label:e.label,content:e.content.innerHTML});if(!1===a.hasAnimation||!a._supportCSSVariables)return void a.$.fireEvent(n,{index:t,label:e.label,content:e.content.innerHTML});if(a._preventAnimation)return a.$.fireEvent(n,{index:t,label:e.label,content:e.content.innerHTML}),void(a._preventAnimation=!1);a._toggled=!0;let i,o=window.getComputedStyle(a).animationDuration;if(o.indexOf("ms")>-1)o=parseFloat(o.substring(0,o.length-2)),i=isNaN(o)||o<0?0:o-50;else{if(!(o.indexOf("s")>-1))return void a.$.fireEvent(n,{index:t,label:e.label,content:e.content.innerHTML});o=parseFloat(o.substring(0,o.length-1)),i=isNaN(o)||o<0?0:1e3*o-50}e&&(e.$.addClass("smart-toggled-item"),a.$container.addClass("smart-toggling"),setTimeout((function(){e.$.removeClass("smart-toggled-item"),a.$container.removeClass("smart-toggling"),a.$.fireEvent(n,{index:t,label:e.label,content:e.content.innerHTML}),a._toggled=!1}),i))}_indexChangeHandler(e){const t=this,n=t._items,a=n.length,i=e.detail;i.newIndex>=a?t.$.container.appendChild(n[i.oldIndex]):i.newIndex>i.oldIndex?t.$.container.insertBefore(n[i.oldIndex],n[i.newIndex+1]):t.$.container.insertBefore(n[i.oldIndex],n[i.newIndex]);let o=t.enableShadowDOM&&t.shadowRoot?t.shadowRoot.querySelectorAll("smart-accordion-item"):t.getElementsByTagName("smart-accordion-item");t._items=Array.from(o),t._updateItemsIndexProperty()}_keyDownHandler(e){const t=this,n=e.key;if("none"===t.expandMode||t.disabled||t.readonly||t._toggled)return;const a=(t.shadowRoot?t.shadowRoot.activeElement:document.activeElement)||document.activeElement;if(-1===["ArrowLeft","ArrowDown","ArrowRight","ArrowUp","End","Home"," ","Enter","Tab"].indexOf(n)||!(a instanceof Smart.AccordionItem))return;"Tab"!==n&&e.preventDefault();let i,o,r=t._items.length,s=r-1;for(let e=0;e<r;e++){let n=t._items[e];n.focused&&(i=n,o=e)}switch(void 0===o&&t._items[0]&&(o=0,t._items[0].focused=!0),n){case"Tab":e.shiftKey?l("up"):l("down");break;case"ArrowLeft":t.collapse(o);break;case"ArrowDown":l("down");break;case"ArrowRight":t.expand(o);break;case"ArrowUp":l("up");break;case"End":d(s);break;case"Home":d(0);break;case" ":case"Enter":if(i&&i.expanded)return void t.collapse(o);t.expand(o);break;default:return}function d(e){e===o||isNaN(e)||(i&&(i.focused=!1),o=e,i=t._items[o],i&&(i.focused=!0))}function l(e){d("up"!==e?o+1>s?s:o+1:o-1<0?0:o-1)}}_containerMoveHandler(e){"touchmove"===e.originalEvent.type&&e.originalEvent.preventDefault()}_moveHandler(e){const t=this;if(e.stopPropagation(),!(!t._itemIsPressed||!t.reorder||t.readonly||t._items.length<2||!t.$container.hasClass("smart-reordering")&&Math.abs(e.pageY-t._pointerPosition)<5))if(t._dragStart){if(t.$container.hasClass("smart-reordering")||t.$container.addClass("smart-reordering"),!t._dragging){const n=t._selectedItem;t.$.fireEvent("dragStart",{position:{left:e.pageX,top:e.pageY},target:e.originalEvent.target,index:t._selectedItemIndex,label:n.label,content:n.content.innerHTML}),t._selectedItem.dragged=t._dragging=!0}if(t.hasAnimation){const e=t._selectedItem.querySelector(".smart-ripple");e&&(e.style.height=0)}const n=e.clientY;let a=!1;for(let e=0;e<t._itemsCoordinates.length;e++){const i=t._itemsCoordinates[e];if(n>=i.fromY&&n<=i.toY){a=e;break}}const i=t._items[a];if(!1!==a&&i!==t._selectedItem){if(t._lastReorderedItem&&i===t._lastReorderedItem)return;if(t._lastReorderedItem=i,Math.abs(t._reorderedIndex-a)>1){const e=t._reorderedIndex-a<0?-1:1;t._swapItems(t._reorderedIndex,a+e)}return t._swapItems(t._reorderedIndex,a),t._reorderedIndex=a,void t._storeItemsCoordinates()}t._lastReorderedItem=void 0}else t._dragStart=!0}_reorderItemsByIndex(){const e=this;let t=e.enableShadowDOM&&e.shadowRoot?e.shadowRoot.querySelectorAll("smart-accordion-item"):e.$.container.children,n=Array.from(t),a=!1,i=n.map((function(e){return null!==e.index?a=!0:e.index=0,e.index}));if(!a)return;const o=n.length;if(o<2)return;let r=i.slice();if(r.sort((function(e,t){return parseInt(e)-parseInt(t)})),i.toString()!==r.toString())for(let n=0;n<o;n++){let a;for(let e=0;e<o;e++)t[e].index===r[n]&&(a=t[e]);e.$.container.insertBefore(a,t[n])}}_resizeHandler(){this.refresh()}refresh(){const e=this;e._updateExpanedContentHeight(),e._updateInlineHeight(),e._storeItemsCoordinates()}_storeItems(){const e=this,t=e.enableShadowDOM&&e.shadowRoot?e.shadowRoot.querySelectorAll("smart-accordion-item"):e.$.container.children;if(e._items=Array.from(t),0===e._items.length)return void e.$container.addClass("smart-empty");e.$container.removeClass("smart-empty");const n=e._getItemsHeights();for(let t=0;t<e._items.length;t++)e._updateExpanedContentLocalHeight(e._items[t],n[t])}_storeItemsCoordinates(){const e=this;if(e.disabled||!e.reorder)return;const t=[];for(let n=0;n<e._items.length;n++){const a=e._items[n].getBoundingClientRect();t.push({fromY:a.top+(window.scrollY||window.pageYOffset),toY:a.bottom+(window.scrollY||window.pageYOffset)})}e._itemsCoordinates=t}_swapItems(e,t){const n=this,a=Math.min(e,t),i=Math.max(e,t),o=n._items;let r=n.expandedIndexes.slice();if(n._items[e].expanded&&!n._items[t].expanded){const a=r.indexOf(e);r[a]=t,n.expandedIndexes=r.slice()}else if(n._items[t].expanded&&!n._items[e].expanded){const a=r.indexOf(t);r[a]=e,n.expandedIndexes=r.slice()}n.selectedIndex=n.selectedIndex===e?t:e,n.$.container.insertBefore(o[i],o[a]),function(e,t,n){const a=e[n];e[n]=e[t],e[t]=a}(o,e,t),n._items[e].$.removeClass("hovered"),n._reorderedIndex=t}_toggleItems(e,t){const n=this,a=t.length;if(a>0)for(let i=0;i<a;i++)n["_"+e+"Item"](t[i])}_updateExpanedContentHeight(){const e=this;e.$.container.style.setProperty("--smart-accordion-item-header-height","");const t=e._items.length,n=e.$.container.offsetHeight,a=e._items[e.expandedIndexes[0]];let i=0,o=0,r=0,s=0;if(1===t){let t=e._items[0],n=t.expanded;t.expanded=!1,i=t.offsetHeight,o=t.$.accordionItemHeader.offsetHeight,t.expanded=n}else for(;0===i&&s<t;){const t=e._items[s];t instanceof Smart.AccordionItem&&!t.expanded&&(i=t.$.accordionItemHeader.offsetHeight),o=t.$.accordionItemHeader.offsetHeight,s++}t>1&&a instanceof Smart.AccordionItem&&(r=a.$.accordionItemHeader.offsetHeight-o);const d=getComputedStyle(e.$.root);let l=n-i*t-r-parseFloat(d.paddingBottom)-parseFloat(d.paddingTop);"singleFitHeight"===e.expandMode&&(l=e._adjustHeightValue(l)),l=l>=0?l:0,e.$.container.style.setProperty("--smart-accordion-expanded-content-height",l+"px"),e.$.container.style.setProperty("--smart-accordion-item-header-height",o+"px"),e._expandedItemsContainerHeight=l}_updateExpanedContentLocalHeight(e,t){this._supportCSSVariables&&this._usedCSSVariables&&e.$.container.style.setProperty("--smart-accordion-expanded-content-local-height",t)}_updateInlineHeight(){const e=this;e._supportCSSVariables&&e._usedCSSVariables||"singleFitHeight"!==e.expandMode||0===e._items.length||(e._items[e.expandedIndexes[0]].$.accordionItemContent.style.height=e._expandedItemsContainerHeight-1+"px")}_updateItemsIndexProperty(){const e=this;let t=[];for(let n=0;n<e._items.length;n++)e._items[n]._setIndex(n),e._items[n].expanded&&t.push(n);e.expandedIndexes=t.slice()}_upHandler(e){const t=this;if(t._itemIsPressed&&!t.disabled&&!t.readonly){for(let e=0;e<t._items.length;e++)e!==t._selectedItemIndex&&(t._items[e].focused=!1);if(t._selectedItem.focused=!0,t._dragging){const n=t._selectedItem;t.$container.removeClass("smart-reordering"),t.$.fireEvent("dragEnd",{position:{left:e.pageX,top:e.pageY},target:e.originalEvent.target,index:t._selectedItemIndex,label:n.label,content:n.content.innerHTML})}else t._selectedItem.expanded?t.collapse(t._selectedItemIndex,!0):t.expand(t._selectedItemIndex,!0);t._reorderedIndex=void 0,t._dragStart=!1,t._dragging=!1,t._itemIsPressed=!1,t._selectedItem.dragged=!1,t._updateItemsIndexProperty()}}_validateItemsIndex(e,t){const n=this;if(!(isNaN(parseInt(e))||e<0||e>n._items.length-1))return parseInt(e);n.log(n.localize("indexOutOfBound",{elementType:n.nodeName.toLowerCase(),method:t}))}});
@@ -0,0 +1,5 @@
1
+
2
+ /* Smart UI v15.0.11 (2023-02-01)
3
+ Copyright (c) 2011-2023 jQWidgets.
4
+ License: https://htmlelements.com/license/ */ //
5
+
@@ -0,0 +1,6 @@
1
+
2
+ /* Smart UI v15.0.11 (2023-02-01)
3
+ Copyright (c) 2011-2023 jQWidgets.
4
+ License: https://htmlelements.com/license/ */ //
5
+
6
+ Smart("smart-array",class extends Smart.BaseElement{static get properties(){return{arrayIndexingMode:{value:"LabVIEW",allowedValues:["LabVIEW","JavaScript"],type:"string"},changeProperty:{value:null,type:"function?"},columns:{value:1,type:"number"},customWidgetDefaultValue:{value:null,type:"any?"},dimensions:{value:1,type:"number"},elementHeight:{value:25,type:"number"},elementTemplate:{value:null,type:"function?"},elementWidth:{value:75,type:"number"},getElementValue:{value:null,type:"function?"},indexerHeight:{value:25,type:"number"},indexerWidth:{value:50,type:"number"},messages:{value:{en:{callbackFunctionRequired:"smart-array: When \"type\" is 'custom', the {{callback}} callback function has to be implemented."}},type:"object",extend:!0},rows:{value:1,type:"number"},setElementValue:{value:null,type:"function?"},showHorizontalScrollbar:{value:!1,type:"boolean"},showIndexDisplay:{value:!1,type:"boolean"},showSelection:{value:!1,type:"boolean"},showVerticalScrollbar:{value:!1,type:"boolean"},type:{value:"none",allowedValues:["none","boolean","numeric","string","custom"],type:"string"},value:{value:null,type:"array?",reflectToAttribute:!1}}}static get listeners(){return{resize:"_resizeHandler","horizontalScrollbar.change":"_scrollbarChangeHandler","horizontalScrollbar.click":"_scrollbarClickHandler","verticalScrollbar.change":"_scrollbarChangeHandler","verticalScrollbar.click":"_scrollbarClickHandler"}}static get requires(){return{"Smart.NumericTextBox":"smart.numerictextbox.js","Smart.ScrollBar":"smart.scrollbar.js","Smart.SwitchButton":"smart.switchbutton.js","Smart.TextBox":"smart.textbox.js"}}template(){return'<div>\n <div id="indexerContainer" class="smart-indexer-container smart-hidden"></div>\n <div id="bigContainer" class="smart-big-container smart-array-background">\n <div id="centralContainer">\n <div id="mainContainer" class="smart-main-container"></div>\n <div id="horizontalScrollbarContainer" class="smart-scrollbar-container-horizontal smart-hidden">\n <smart-scroll-bar id="horizontalScrollbar" theme="[[theme]]" animation="[[animation]]" min="0" max="0" value="0" step="1"></smart-scroll-bar>\n </div>\n </div>\n <div id="verticalScrollbarContainer" class="smart-scrollbar-container-vertical smart-hidden">\n <smart-scroll-bar id="verticalScrollbar" theme="[[theme]]" animation="[[animation]]" orientation="vertical" min="0" max="0" value="0" step="1"></smart-scroll-bar>\n </div>\n </div>\n </div>'}render(){const e=this;e._id=e.getAttribute("id")||Math.round(1e4*Math.random()),e._cachedWidth=e.offsetWidth,e._cachedHeight=e.offsetHeight,e._coordinates=[],e._getDefaultCellValue(),e._validateProperties(),e._addInitialDimensions(),"none"!==e.type&&(e._addElementStructure(),e._structureAdded=!0,e._initializeElements(!1)),e._getInitialFill(),e._updateWidgetWidth(),e._updateWidgetHeight(),e._cachedWidth=e.offsetWidth,e._cachedHeight=e.offsetHeight,super.render()}addDimension(e){const t=this;if(!0!==t._suppressDimensionChange&&32===t.dimensions)return;const n=document.createElement("smart-numeric-text-box");n.className="smart-array-indexer",n.style.height=t.indexerHeight+"px",n.inputFormat="integer",n.spinButtons=!0,n.min=0,n.max=4294967295,n.disabled=t.disabled,n.animation=t.animation,n.validation="interaction",n.wordLength="uint64",n.theme=t.theme,n.onReady=function(){n.$upButton.addClass("smart-array-indexer-increment"),n.$downButton.addClass("smart-array-indexer-decrement")},t.$.indexerContainer.insertBefore(n,t.$.indexerContainer.children?t.$.indexerContainer.children[0]:null),n.$.listen("change",t._indexerChangeHandler.bind(t)),t._dimensions.push({index:t._dimensions.length,indexer:n}),"LabVIEW"===t.arrayIndexingMode?(t._indexers.unshift(n),t._coordinates.unshift(0)):(t._indexers.push(n),t._coordinates.push(0)),n.dimension=t._indexers.length-1,!0!==t._suppressDimensionChange&&(t.dimensions+=1,t.$.fireEvent("dimensionChange",{type:"add"})),!0!==t._initialDimensions&&!1!==e&&(t._validateValueArrayDimensions(),"LabVIEW"===t.arrayIndexingMode?t._filledUpTo.unshift(0):t._filledUpTo.push(0),!0===t._oneDimensionSpecialCase&&(t._oneDimensionSpecialCase=!1,t.$.verticalScrollbar.value=0,t._scroll())),void 0!==t._absoluteSelectionStart&&("LabVIEW"===t.arrayIndexingMode?t._absoluteSelectionStart.unshift(0):t._absoluteSelectionStart.push(0)),void 0!==t._absoluteSelectionEnd&&("LabVIEW"===t.arrayIndexingMode?t._absoluteSelectionEnd.unshift(0):t._absoluteSelectionEnd.push(0)),t._initialDimensions||t._refreshSelection(),!1===t._suppressDimensionChange&&!0===t.showIndexDisplay&&t.dimensions*(t.indexerHeight+4)-2>t._cachedHeight&&t._updateWidgetHeight("dimensions")}clearSelection(){const e=this;e._absoluteSelectionStart=void 0,e._absoluteSelectionEnd=void 0,e.showSelection&&e._clearSelection()}copyElementValueToClipboard(e,t){const n=this,l=n._getValueInCell(e,t);if(void 0!==l)try{const e=document.createElement("input");e.type="text",e.style.position="absolute",e.value=l,n.appendChild(e),e.focus(),e.setSelectionRange(0,e.value.length),document.execCommand("copy"),n.removeChild(e)}catch(e){}}deleteColumn(e){const t=this,n="LabVIEW"===t.arrayIndexingMode;let l;if(e=Math.max(0,e),l=n?t._filledUpTo[t._filledUpTo.length-1]:t._filledUpTo[0],e>l)return;if(0===l||t._oneDimensionSpecialCase&&0===e)return void t.emptyArray();const i=JSON.stringify(t.value);let a,s;if(n){a=t.dimensions-1,s=e+t._coordinates[a];const n=function(e,t){if(a!==t)for(let l=0;l<e.length;l++)n(e[l],t+1);else e.splice(s,1)};n(t.value,0)}else a=0,s=e+t._coordinates[0],t.value.splice(s,1);JSON.stringify(t.value)!==i&&(t._filledUpTo[a]--,t._scroll(),t.$.fireEvent("change",{value:t.value,oldValue:JSON.parse(i)}),t._setMaxValuesOfScrollBars())}deleteRow(e){const t=this,n=JSON.stringify(t.value),l="LabVIEW"===t.arrayIndexingMode;let i,a,s;if(e=Math.max(0,e),s=l?t._filledUpTo[t._filledUpTo.length-2]:t._filledUpTo[1],!(e>s))if(0!==s){if(1===t.dimensions){if(!t._oneDimensionSpecialCase)return void(0===e&&t.emptyArray());t.value.splice(e+t._coordinates[0],1),t._filledUpTo[0]--}else{if(l){i=t.dimensions-2,a=e+t._coordinates[i];const n=function(e,t){if(i!==t)for(let l=0;l<e.length;l++)n(e[l],t+1);else e.splice(a,1)};n(t.value,0)}else{i=1,a=e+t._coordinates[1];for(let e=0;e<t.value.length;e++)t.value[e].splice(a,1)}t._filledUpTo[i]--}n!==JSON.stringify(t.value)&&(t._scroll(),t.$.fireEvent("change",{value:t.value,oldValue:JSON.parse(n)}),t._setMaxValuesOfScrollBars())}else t.emptyArray()}emptyArray(){const e=this;if("none"===e.type)return;const t=e._cells,n=e.value;if(e.value=e._returnEmptyArray(),JSON.stringify(n)!==JSON.stringify(e.value)){for(let n=0;n<t.length;n++)for(let l=0;l<t[n].length;l++){const i=t[n][l].widget,a={x:l,y:n},s=e._getDefaultValue();i.classList.add("smart-array-element-empty"),e._areDifferent(e._getElementValue(i,a),s)&&(i.supressChange=!0,e._setElementValue(s,i,a))}e._getInitialFill(),e.clearSelection(),e.$.fireEvent("change",{value:e.value,oldValue:n})}}endSelection(e,t){const n=this;if(void 0===n._absoluteSelectionStart)return;n._absoluteSelectionEnd=n._coordinates.slice(0);const l=n.dimensions;"LabVIEW"===n.arrayIndexingMode?(n._absoluteSelectionEnd[l-1]=Math.min(t,n._filledUpTo[l-1]),l>1&&(n._absoluteSelectionEnd[l-2]=Math.min(e,n._filledUpTo[l-2]))):(n._absoluteSelectionEnd[0]=Math.min(t,n._filledUpTo[0]),l>1&&(n._absoluteSelectionEnd[1]=Math.min(e,n._filledUpTo[1])));let i=!0;for(let e=0;e<l;e++)i=i&&n._absoluteSelectionStart[e]<=n._absoluteSelectionEnd[e];i?n._refreshSelection():(n._absoluteSelectionStart=void 0,n._absoluteSelectionEnd=void 0)}getElement(e,t){const n=this._cells;if(void 0!==n[e]&&void 0!==n[e][t])return n[e][t].widget}getElementSize(){return{width:this.elementWidth,height:this.elementHeight}}getIndexerValue(){const e=this._indexers,t=[];for(let n=0;n<e.length;n++)t.push(e[n].val());return t}hitTest(e,t){const n=this,l=document.elementFromPoint(e,t);if(!n.contains(l))return;const i=l.closest(".smart-array-element"),a=l.closest(".smart-array-indexer");if(null!==i)return{type:"element",htmlElement:i,row:i.row,column:i.col};if(null!==a){let e=a.dimension;return"LabVIEW"===n.arrayIndexingMode&&(e=n.dimensions-e-1),{type:"indexer",htmlElement:a,dimension:e}}return{type:"array",htmlElement:n}}insertColumnBefore(e,t){const n=this,l=JSON.stringify(n.value),i="LabVIEW"===n.arrayIndexingMode;let a;if(i&&!0!==t)n.insertRowBefore(e,!0);else{if(1===n.dimensions){if(i!==n._oneDimensionSpecialCase)return;n.value.splice(e+n._coordinates[0],0,n._getDefaultValue()),n._scroll(),n._filledUpTo[0]++}else{const t=n._filledUpTo.slice(0);if(i){a=e+n._coordinates[n.dimensions-2];const l=n.dimensions-2,i=function(e,t){if(l!==t)for(let n=0;n<e.length;n++)i(e[n],t+1);else e.splice(a,0,[])};i(n.value,0),t[l]++}else a=e+n._coordinates[0],n.value.splice(a,0,n._returnEmptyArray()[0]),t[0]++;n._fillValueArray(t,!0)}n.$.fireEvent("change",{value:n.value,oldValue:JSON.parse(l)}),n._setMaxValuesOfScrollBars()}}insertRowBefore(e,t){const n=this,l=JSON.stringify(n.value),i="LabVIEW"===n.arrayIndexingMode;if(i&&!0!==t)n.insertColumnBefore(e,!0);else{if(1===n.dimensions){if(!(i&&!n._oneDimensionSpecialCase||!i&&n._oneDimensionSpecialCase))return;n.value.splice(e+n._coordinates[0],0,n._getDefaultValue()),n._scroll(),n._filledUpTo[0]++}else{const t=n._filledUpTo.slice(0);let l;if(i){const i=n.dimensions-1;l=e+n._coordinates[i];const a=function(e,t){if(i!==t)for(let n=0;n<e.length;n++)a(e[n],t+1);else e.splice(l,0,n._getDefaultValue())};a(n.value,0),t[i]++}else{l=e+n._coordinates[1];for(let e=0;e<n.value.length;e++)n.value[e].splice(l,0,void 0);t[1]++}n._fillValueArray(t,!0)}n.$.fireEvent("change",{value:n.value,oldValue:JSON.parse(l)}),n._setMaxValuesOfScrollBars()}}reinitializeArray(){const e=this;if("none"===e.type)return;const t=e.dimensions,n=JSON.stringify(e.value);if(1===e.dimensions)e.value.fill(e._getDefaultValue());else{const n=function(l,i){for(let a=0;a<l.length;a++)i===t?l[a]=e._getDefaultValue():n(l[a],i+1)};n(e.value,1)}n!==JSON.stringify(e.value)&&(e._scroll(),e.$.fireEvent("change",{value:e.value,oldValue:JSON.parse(n)}))}removeDimension(e,t){const n=this,l=n._dimensions.length-1;if(n._dimensions.length<2)return;if(2===n._dimensions.length){const e=n.rows;n.rows=1,n._changeRowsColumns("rows",e,1,void 0,!0)}let i;n.$.indexerContainer.removeChild(n._dimensions[l].indexer),n._dimensions.pop(),"LabVIEW"===n.arrayIndexingMode?(i=n._coordinates[0],n._indexers.splice(0,1),n._coordinates.splice(0,1)):(i=n._coordinates[l],n._indexers.pop(),n._coordinates.pop()),!0!==n._suppressDimensionChange&&(n.dimensions-=1,n.$.fireEvent("dimensionChange",{type:"remove"})),!1!==t&&(n._removeDimensionFromJSArray(),"LabVIEW"===n.arrayIndexingMode?n._filledUpTo.splice(0,1):n._filledUpTo.pop()),void 0!==n._absoluteSelectionStart&&("LabVIEW"===n.arrayIndexingMode?n._absoluteSelectionStart.splice(0,1):n._absoluteSelectionStart.pop()),void 0!==n._absoluteSelectionEnd&&("LabVIEW"===n.arrayIndexingMode?n._absoluteSelectionEnd.splice(0,1):n._absoluteSelectionEnd.pop()),i>0&&n._scroll(),(n.dimensions>1&&!1===n._suppressDimensionChange&&!0===n.showIndexDisplay&&(n.dimensions+1)*(n.indexerHeight+4)-2>=n._cachedHeight||1===n.dimensions&&!0!==e)&&(n._updateWidgetHeight("dimensions"),1===n.dimensions&&n.showVerticalScrollbar&&n._showVerticalScrollbar(!1))}reset(e){const t=this;if("none"===t.type&&!0!==e)return;t.type="none";let n=t.rows;t.rows=1,t._changeRowsColumns("rows",n,1,!0),n=t.columns,t.columns=1,t._changeRowsColumns("columns",n,1);const l=t._cells[0][0];l.widget.$.unlisten("change"),l.widget.$.unlisten("click"),l.td.innerHTML="",t._table.classList.add("smart-hidden"),t._defaultValue=void 0;const i=t.value;t.value=null,t.$.fireEvent("change",{value:t.value,oldValue:i}),t.$.horizontalScrollbar.max=0,t.$.horizontalScrollbar.value=0,t.$.verticalScrollbar.max=0,t.$.verticalScrollbar.value=0}resizeElement(e,t){const n=this;if(e=parseInt(e,10),t=parseInt(t,10),e===n.elementWidth&&t===n.elementHeight)return;if(e===n.elementWidth)return void n.setRowHeight(t);if(t===n.elementHeight)return void n.setColumnWidth(e);const l=n.getElementsByClassName("smart-array-element-"+n._id);if(n.elementWidth=e,n.elementHeight=t,"none"!==n.type){if(n._updateWidgetWidth(),n._updateWidgetHeight(),"custom"!==n.type)for(let n=0;n<l.length;n++)l[n].style.width=e+"px",l[n].style.height=t+"px";else if(n.changeProperty)n.changeProperty("width",e,l),n.changeProperty("height",t,l);else try{n.warn(n.localize("callbackFunctionRequired",{callback:"changeProperty"}))}catch(e){}n.$.fireEvent("sizeChange",{width:e,height:t})}}selectAll(){const e=this;if("LabVIEW"===e.arrayIndexingMode&&-1===e._filledUpTo[0]||"JavaScript"===e.arrayIndexingMode&&-1===e._filledUpTo[e._filledUpTo.length-1])return;const t=new Array(e.dimensions);t.fill(0),e._absoluteSelectionStart=t,e._absoluteSelectionEnd=e._filledUpTo.slice(0),e._refreshSelection()}selectElement(e,t){this.startSelection(e,t),this.endSelection(e,t)}setColumnWidth(e,t){const n=this;if((e=parseInt(e,10))===n.elementWidth&&!0!==t)return;const l=n.getElementsByClassName("smart-array-element-"+n._id);if(n.elementWidth=e,"none"!==n.type){if("custom"!==n.type)for(let t=0;t<l.length;t++)l[t].style.width=e+"px";else if(n.changeProperty)n.changeProperty("width",e,l);else try{n.warn(n.localize("callbackFunctionRequired",{callback:"changeProperty"}))}catch(e){}n._updateWidgetWidth(),n.$.fireEvent("sizeChange",{width:e,height:n.elementHeight})}}setDefaultValue(e){const t=this;t._areDifferent(e,t._defaultValue)&&(t._defaultValue=e,t._scroll())}setIndexerValue(e){const t=this;let n=!1;for(let l=0;l<e.length;l++){const i=e[l].index,a="LabVIEW"===t.arrayIndexingMode?t.dimensions-i-1:i,s=e[l].value,o=t._indexers[i];void 0!==o&&s!==t._coordinates[i]&&(n=!0,o.val(s),t._coordinates[i]=s,"none"===t.type||0!==a&&1!==a||t._syncScrollbar(a,s))}!0===n&&t._scroll()}setRowHeight(e,t){const n=this;if((e=parseInt(e,10))===n.elementHeight&&!0!==t)return;const l=n.getElementsByClassName("smart-array-element-"+n._id);if(n.elementHeight=e,"none"!==n.type){if("custom"!==n.type)for(let t=0;t<l.length;t++)l[t].style.height=e+"px";else if(n.changeProperty)n.changeProperty("height",e,l);else try{n.warn(n.localize("callbackFunctionRequired",{callback:"changeProperty"}))}catch(e){}n._updateWidgetHeight(),n.$.fireEvent("sizeChange",{width:n.elementWidth,height:e})}}showLastElement(){const e=this,t=[];let n,l;if("none"!==e.type)if(1!==e.dimensions){"LabVIEW"===e.arrayIndexingMode?(n=e.dimensions-1,l=e.dimensions-2):(n=0,l=1);for(let i=0;i<e.dimensions;i++){let a=e._filledUpTo[i];if(i===n){const t=parseFloat(e._indexers[i].value);t+e.columns<a+1||t>a||(a=t)}else if(i===l){const t=parseFloat(e._indexers[i].value);t+e.rows<a+1||t>a||(a=t)}t.push({index:i,value:a})}e.setIndexerValue(t)}else{const t=parseFloat(e._indexers[0].value),n=e._oneDimensionSpecialCase?e.rows:e.columns,l=e._filledUpTo[0];(t+n<l+1||t>l)&&e.setIndexerValue([{index:0,value:l}])}}startSelection(e,t){const n=this;n._absoluteSelectionStart=n._coordinates.slice(0),1===n.dimensions?n._absoluteSelectionStart[0]=t:"LabVIEW"===n.arrayIndexingMode?(n._absoluteSelectionStart[n.dimensions-1]=t,n._absoluteSelectionStart[n.dimensions-2]=e):(n._absoluteSelectionStart[0]=t,n._absoluteSelectionStart[1]=e),n._absoluteSelectionEnd=void 0}toggleElementGap(){const e=this;if("none"===e.type)return;let t;void 0===e._elementGap&&(e._elementGap=!1),e._elementGap?(t="remove",e._elementGap=!1):(t="add",e._elementGap=!0);for(let n=0;n<e.rows;n++)for(let l=0;l<e.columns;l++)e._cells[n][l].td.classList[t]("smart-array-table-data-gap");e._updateWidgetWidth(),e._updateWidgetHeight()}transposeArray(){const e=this;if(2===e.dimensions){const t=e.value[0].map((function(t,n){return e.value.map((function(e){return e[n]}))})),n=JSON.stringify(e.value);e.value=t,e._scroll(),e.$.fireEvent("change",{value:t,oldValue:JSON.parse(n)}),e._filledUpTo.reverse()}}val(e,t){const n=this;let l;if(2===Array.from(arguments).filter((e=>void 0!==e)).length){if("none"===n.type)return;l=JSON.stringify(n.value);let i,a=n.value;for(i=0;i<n.dimensions-1;i++){let e=t[i];void 0===e&&(e=0,t[i]=0),void 0===a[e]&&(a[e]=[]),a=a[e]}let s=t[i];void 0===s&&(s=0,t[i]=0),n._areDifferent(a[s],e)&&(a[s]=e,n._fillValueArray(t.slice(0)),n.$.fireEvent("change",{value:n.value,oldValue:JSON.parse(l),dimensionIndexes:t}))}else{if(void 0===e||"object"==typeof e&&0===Object.keys(e).length)return n.value;{if("none"===n.type)return;const t=JSON.stringify(n.value);t!==JSON.stringify(e)&&(l=n.value,n.value=e,n._validateValue(),t!==JSON.stringify(n.value)&&(n._scroll(),n._getInitialFill(),n.$.fireEvent("change",{value:n.value,oldValue:l})))}}}propertyChangedHandler(e,t,n){super.propertyChangedHandler(e,t,n);const l=this;if(n!==t)switch(e){case"arrayIndexingMode":l.arrayIndexingMode=t;break;case"columns":case"rows":l._changeRowsColumns(e,t,n);break;case"customWidgetDefaultValue":"custom"===l.type&&(l._defaultValue=n,l._scroll());break;case"dimensions":l._addRemoveMultipleDimensions(t,n);break;case"animation":case"disabled":for(let t=0;t<l._indexers.length;t++)l._indexers[t][e]=n;if("none"!==l.type){const t=l.getElementsByClassName("smart-array-element-"+l._id);if("custom"!==l.type)for(let l=0;l<t.length;l++)t[l][e]=n;else if(l.changeProperty)l.changeProperty(e,n,t);else try{l.warn(l.localize("callbackFunctionRequired",{callback:"changeProperty"}))}catch(e){}l._scroll()}break;case"elementHeight":l.setRowHeight(n,!0);break;case"elementTemplate":if("none"!==l.type){const e=l.getElementsByClassName("smart-array-element-"+l._id);for(let t=0;t<e.length;t++){let n=e[t];l.elementTemplate(n,{x:n.col,y:n.row})}}break;case"elementWidth":l.setColumnWidth(n,!0);break;case"indexerHeight":for(let e=0;e<l._indexers.length;e++)l._indexers[e].style.height=n+"px";l._updateWidgetHeight();break;case"indexerWidth":l.$.indexerContainer.style.width=n+"px",l._updateWidgetWidth();break;case"showHorizontalScrollbar":if(!0===l._oneDimensionSpecialCase)return void(l.showHorizontalScrollbar=!1);l._showHorizontalScrollbar(n);break;case"showIndexDisplay":n?l.$indexerContainer.removeClass("smart-hidden"):l.$indexerContainer.addClass("smart-hidden"),l._updateWidgetWidth(),l._updateWidgetHeight("showIndexDisplay");break;case"showSelection":n?l._refreshSelection():l._clearSelection();break;case"showVerticalScrollbar":if(1===l.dimensions&&!1===l._oneDimensionSpecialCase)return void(l.showVerticalScrollbar=!1);l._showVerticalScrollbar(n);break;case"type":l._getDefaultCellValue(),"none"!==t&&"none"!==n?(l._initializeElements(!0),l._updateWidgetWidth(),l._updateWidgetHeight()):"none"===t?(l.value=l._returnEmptyArray(),!0===l._structureAdded?(l._initializeElements(!1),l._table.classList.remove("smart-hidden")):(l._addElementStructure(),l._structureAdded=!0,l._initializeElements(!1)),l.$.centralContainer.style.width="",l.$.bigContainer.style.width="",l.$.mainContainer.style.height="",l.$.bigContainer.style.height="",l._updateWidgetWidth(),l._updateWidgetHeight(),l._getInitialFill()):"none"===n&&l.reset(!0);break;case"value":JSON.stringify(t)!==JSON.stringify(n)&&(l._validateValue(),JSON.stringify(t)!==JSON.stringify(l.value)&&(l._scroll(),l._getInitialFill(),l.$.fireEvent("change",{value:l.value,oldValue:t})))}}_addDimensionToJSArray(e){const t=this;if("LabVIEW"===t.arrayIndexingMode)t.value=[t.value];else{void 0===e&&(e=t.dimensions-1);const n=function(t,l){for(let i=0;i<t.length;i++)l!==e?n(t[i],l+1):t[i]=[t[i]]};n(t.value,1)}}_addElementHandlers(e){const t=this;e.$.listen("change",(function(n){if(!0!==e.supressChange||e instanceof Smart.NumericTextBox){e.$.removeClass("smart-array-element-empty");const n=e.col,l=e.row;t._updateValue(l,n,t._getElementValue(e,{x:n,y:l},!0))}else e.supressChange=!1;n.stopPropagation()})),e.$.listen("click",(function(){t.$.fireEvent("elementClick",{element:e})}))}_addElementStructure(){const e=this;e._cells=[],e._table=document.createElement("table"),e._table.className="smart-array-element-gap";const t=document.createElement("tbody"),n=document.createDocumentFragment();for(let t=0;t<e.rows;t++){const l=document.createElement("tr"),i=document.createDocumentFragment();l.classList.add("smart-array-table-row"),e._cells.push([]);for(let n=0;n<e.columns;n++){const n=document.createElement("td");n.classList.add("smart-array-table-data"),e._elementGap&&n.classList.add("smart-array-table-data-gap"),e._cells[t].push({td:n}),i.appendChild(n)}l.appendChild(i),n.appendChild(l)}t.appendChild(n),e._table.appendChild(t),e.$.mainContainer.appendChild(e._table),e._tableBody=t}_addInitialDimensions(){const e=this,t=e.dimensions;e._dimensions=[],e._indexers=[],e._suppressDimensionChange=!0,e._initialDimensions=!0;for(let n=0;n<t;n++)e.addDimension();e._suppressDimensionChange=!1,e._initialDimensions=!1}_addRemoveColumn(e){const t=this;if("add"===e){const e=t._tableBody.children;for(let n=0;n<t._cells.length;n++){const l=t._cells[n],i=document.createElement("td");i.classList.add("smart-array-table-data"),t._elementGap&&i.classList.add("smart-array-table-data-gap"),l.push({td:i}),e[n].appendChild(i),t._initializeWidget(n,l.length-1)}t.columns++,!0!==t._suppressScroll&&t._scroll()}else if("remove"===e&&t.columns>1){for(let e=0;e<t._cells.length;e++){const n=t._cells[e],l=n[n.length-1];l.widget.$.unlisten("change"),l.widget.$.unlisten("click"),l.td.parentElement.removeChild(l.td),n.pop()}t.columns--}}_addRemoveMultipleDimensions(e,t,n){const l=this;if((t<1||t>32)&&(l.dimensions=1,l.dimensions===e))return;let i=l.dimensions-e;if(l._suppressDimensionChange=!0,i>0){do{l.addDimension(n),i-=1}while(i>0);l.$.fireEvent("dimensionChange",{type:"add"})}else{if(!(i<0))return;if(1===t){const n=l.rows;l.rows=1,l.dimensions=e,l._changeRowsColumns("rows",n,1,void 0,!0),l.dimensions=t}do{l.removeDimension(!0,n),i+=1}while(i<0);l.$.fireEvent("dimensionChange",{type:"remove"}),1===t&&l.showVerticalScrollbar&&l._showVerticalScrollbar(!1)}l._suppressDimensionChange=!1,(!0!==l.showIndexDisplay||1!==t&&(t-e>0&&t*(l.indexerHeight+4)-2<l._cachedHeight||t-e<0&&e*(l.indexerHeight+4)-2<l._cachedHeight))&&1!==t||l._updateWidgetHeight("dimensions")}_addRemoveRow(e){const t=this;if("add"===e&&(t.dimensions>1||1===t.dimensions&&1===t.columns)){t._cells.push([]);const e=document.createElement("tr"),n=document.createDocumentFragment(),l=t._cells.length-1,i=[];e.classList.add("smart-array-table-row");for(let e=0;e<t.columns;e++){const e=document.createElement("td");e.classList.add("smart-array-table-data"),t._elementGap&&e.classList.add("smart-array-table-data-gap"),t._cells[l].push({td:e}),i.push(e),n.appendChild(e)}e.appendChild(n),t._tableBody.appendChild(e);for(let e=0;e<i.length;e++)t._initializeWidget(l,e);t.rows++,!0!==t._suppressScroll&&t._scroll()}else if("remove"===e&&t.rows>1){const e=t._tableBody.children[t._tableBody.children.length-1],n=t._cells[t._cells.length-1];for(let e=0;e<n.length;e++)n[e].widget.$.unlisten("change"),n[e].widget.$.unlisten("click");t._tableBody.removeChild(e),t._cells.pop(),t.rows--}}_addSelectionClass(e,t,n,l){const i=this;i.showSelection&&void 0!==i._absoluteSelectionStart&&void 0!==i._absoluteSelectionEnd&&(!1===l&&i._inSelection(e,t)?n.classList.add("smart-array-element-selected"):n.classList.remove("smart-array-element-selected"))}_areDifferent(e,t){if(e instanceof Date){if(t instanceof Date)return e.getTime()!==t.getTime();if("string"==typeof t)try{return e.getTime()!==new Date(t).getTime()}catch(e){}return!0}if(t instanceof Date){if("string"==typeof e)try{return t.getTime()!==new Date(e).getTime()}catch(e){}return!0}return"object"!=typeof e||typeof e!=typeof t?e!==t:JSON.stringify(e)!==JSON.stringify(t)}_changeRowsColumns(e,t,n,l,i){const a=this,s="_addRemove"+e.charAt(0).toUpperCase()+e.slice(1,e.length-1);if(n<1&&(a[e]=1,a[e]===t))return;if(1===a.dimensions)if(!0===a._oneDimensionSpecialCase){if("columns"===e&&a[e]>1){if(a.rows>1)return void(a.columns=1);a._oneDimensionSpecialCase=!1,a.showVerticalScrollbar&&(a._showVerticalScrollbar(!1),a._showHorizontalScrollbar(!0))}}else if("rows"===e){if(a.columns>1)return void(a.rows=1);a.rows>1&&(a._oneDimensionSpecialCase=!0,!0===a.showHorizontalScrollbar&&(a._showHorizontalScrollbar(!1),a._showVerticalScrollbar(!0)))}let o=a[e]-t;if(a[e]=t,o>0){a._suppressScroll=!0;do{a[s]("add"),o-=1}while(o>0);a._suppressScroll=!1,a._scroll()}else if(o<0)do{a[s]("remove"),o+=1}while(o<0);a.$.fireEvent("arraySizeChange",{type:e,number:a[e],oldNumber:t}),"columns"===e?(a._updateWidgetWidth(),a._setMaxValuesOfScrollBars("horizontal")):"rows"===e&&!0!==i&&(a._updateWidgetHeight(!0===l?"dimensions":void 0),a._setMaxValuesOfScrollBars("vertical"))}_clearSelection(){const e=this;for(let t=0;t<e.rows;t++)for(let n=0;n<e.columns;n++)e._cells[t][n].td.classList.remove("smart-array-element-selected")}_cloneValue(e){return"object"!=typeof e?e:e instanceof Date?new Date(e.getTime()):Array.isArray(e)||e instanceof Object?JSON.parse(JSON.stringify(e)):void 0}_fillValueArray(e,t){const n=this,l=n.dimensions;if(void 0!==n._filledUpTo&&!0!==t){let t=!0;for(let l=0;l<e.length;l++)t=t&&n._filledUpTo[l]>=e[l],e[l]=Math.max(e[l],n._filledUpTo[l]);if(!0===t)return void n._scroll()}n._filledUpTo=e.slice(0),function t(i,a){for(let s=0;s<=e[a];s++)a!==l-1?(void 0===i[s]&&(i[s]=[]),t(i[s],a+1)):void 0===i[s]&&(i[s]=n._getDefaultValue())}(n.value,0),n._scroll(),n._setMaxValuesOfScrollBars()}_getDefaultCellValue(){const e=this;switch(e.type){case"custom":e._defaultValue=null!==e.customWidgetDefaultValue?e.customWidgetDefaultValue:void 0;break;case"numeric":e._defaultValue=0;break;case"boolean":e._defaultValue=!1;break;case"string":e._defaultValue=""}}_getDefaultValue(){return this._cloneValue(this._defaultValue)}_getElementValue(e,t,n){const l=this;let i;return i=l.getElementValue?l.getElementValue(e,t):"boolean"===l.type?e.checked:e.value,!0!==n?i:l._cloneValue(i)}_getInitialFill(){const e=this;if(e._filledUpTo=[],"none"!==e.type){let t=e.value;for(let n=0;n<e.dimensions;n++){const l=t.length-1;e._filledUpTo[n]=l,t=t[l]}e._setMaxValuesOfScrollBars()}}_getMaxValuesOfScrollBars(e){const t=this,n=t._filledUpTo.length;let l,i,a,s=0;return"horizontal"===e?(a=t.$.horizontalScrollbar.value,l="LabVIEW"===t.arrayIndexingMode?t._filledUpTo[n-1]:t._filledUpTo[0],i=t.columns):(a=t.$.verticalScrollbar.value,l=t._oneDimensionSpecialCase?"LabVIEW"===t.arrayIndexingMode?t._filledUpTo[n-1]:t._filledUpTo[0]:"LabVIEW"===t.arrayIndexingMode?t._filledUpTo[n-2]:t._filledUpTo[1],i=t.rows),void 0===l?0:(s=l-i+2,Math.max(s,a))}_getValueInCell(e,t){const n=this,l=n.value,i=n._coordinates,a=i.length;let s;if(1===a)s=!1===n._oneDimensionSpecialCase?l[t+i[0]]:l[e+i[0]];else{const o=i.slice(0);"LabVIEW"===n.arrayIndexingMode?(o[a-1]+=t,o[a-2]+=e):(o[0]+=t,o[1]+=e);const r=l[o[0]];if(void 0!==r){const e=r[o[1]];if(void 0!==e&&(s=e,a>2))for(let e=2;e<a&&void 0!==s;e++)s=s[o[e]]}}return s}_indexerChangeHandler(e){const t=this,n=t.context;t.context=t;const l=e.target.dimension,i="LabVIEW"===t.arrayIndexingMode?t.dimensions-l-1:l,a=parseFloat(e.detail.value);t._coordinates[i]=a,t._scroll(),"none"===t.type||0!==l&&1!==l||t._syncScrollbar(l,a),e.stopPropagation(),t.context=n}_initializeElements(e){const t=this,n=t._cells;function l(e){t.elementTemplate&&t.elementTemplate(e,{x:e.col,y:e.row})}if(t._initializeElement=function(){},"custom"!==t.type)switch(t.type){case"numeric":t._initializeElement=function(e,n){e.style.width=t.elementWidth+"px",e.style.height=t.elementHeight+"px",e.disabled=t.disabled,e.animation=t.animation,e.inputFormat="floatingPoint",e.spinButtons=!0,e.value=n,l(e)};break;case"boolean":t._initializeElement=function(e,n){e.style.width=t.elementWidth+"px",e.style.height=t.elementHeight+"px",e.disabled=t.disabled,e.animation=t.animation,e.checked=n,l(e)};break;case"string":t._initializeElement=function(e,n){e.style.width=t.elementWidth+"px",e.style.height=t.elementHeight+"px",e.disabled=t.disabled,e.animation=t.animation,e.value=n,l(e)}}else t._initializeElement=function(e,n){if(t.elementTemplate){const l={x:e.col,y:e.row};t.elementTemplate(e,l),void 0!==n&&t._setElementValue(n,e,l)}else t.error(t.localize("callbackFunctionRequired",{callback:"elementTemplate"}))};for(let l=0;l<n.length;l++)for(let i=0;i<n[l].length;i++){if(!0===e){const e=n[l][i];e.widget.$.unlisten("change"),e.widget.$.unlisten("click"),e.td.innerHTML=""}t._initializeWidget(l,i)}}_initializeWidget(e,t){const n=this,l=n._cells[e][t],i=n._getValueInCell(e,t);let a;switch(n.type){case"boolean":a=document.createElement("smart-switch-button");break;case"numeric":a=document.createElement("smart-numeric-text-box"),a.validation="interaction";break;case"string":a=document.createElement("smart-text-box");break;case"custom":a=document.createElement("div"),a.$=Smart.Utilities.Extend(a)}a.row=e,a.col=t,a.theme=n.theme,l.widget=a,n._initializeElement(a,void 0===i?n._getDefaultValue():i,l),l.td.appendChild(a),a.classList.add("smart-array-element"),a.classList.add("smart-array-element-"+n._id),void 0===i&&a.classList.add("smart-array-element-empty"),n._addElementHandlers(a)}_inSelection(e,t){const n=this,l=n._coordinates;let i,a,s,o,r=!0;if("LabVIEW"===n.arrayIndexingMode?(i=n.dimensions-1,a=n.dimensions-2):(i=0,a=1),n._oneDimensionSpecialCase?s=t+l[i]:(s=e+l[i],o=t+l[a]),1===n.dimensions)return s>=n._absoluteSelectionStart[i]&&s<=n._absoluteSelectionEnd[i];if(r=s>=n._absoluteSelectionStart[i]&&s<=n._absoluteSelectionEnd[i]&&o>=n._absoluteSelectionStart[a]&&o<=n._absoluteSelectionEnd[a],"LabVIEW"===n.arrayIndexingMode)for(let e=0;e<a;e++)r=r&&l[e]>=n._absoluteSelectionStart[e]&&l[e]<=n._absoluteSelectionEnd[e];else for(let e=2;e<n.dimensions;e++)r=r&&l[e]>=n._absoluteSelectionStart[e]&&l[e]<=n._absoluteSelectionEnd[e];return r}_moveScrollbar(e,t,n,l){if(isNaN(l))return;const i=this,a=i._getMaxValuesOfScrollBars(t),s=e.max;let o;o="LabVIEW"===i.arrayIndexingMode?i.dimensions-n-1:n,i._indexers[o].val(l),i._coordinates[o]=l,l<=a?e.max=a:l<=s&&(e.max=l),i._scroll(),i.$.fireEvent("scroll",{direction:t})}_refreshSelection(){const e=this;if(e.showSelection)for(let t=0;t<e.rows;t++)for(let n=0;n<e.columns;n++){const l=void 0===e._getValueInCell(t,n);e._addSelectionClass(n,t,e._cells[t][n].td,l)}}_removeDimensionFromJSArray(){const e=this;if("LabVIEW"===e.arrayIndexingMode)e.value=e.value[0];else{const t=e.dimensions+1,n=function(l,i,a,s){for(let o=0;o<l.length;o++)i!==t&&l[o].length>0?n(l[o],i+1,l,o):void 0!==a?a[s]=l[0]:e.value=e.value[0]};n(e.value,1)}}_resizeHandler(){const e=this;if(e.offsetWidth!==e._cachedWidth)if("none"!==e.type){const t=e.offsetWidth-e._cachedWidth,n=e.elementWidth;if(Math.abs(t)<n)return void(e.style.width=e._cachedWidth+"px");const l=Math.round(t/n),i=e.columns,a=i+l;e.columns=a,e._changeRowsColumns("columns",i,a)}else e._updateWidgetWidth();if(e._cachedWidth=e.offsetWidth,e.offsetHeight!==e._cachedHeight){if("none"!==e.type)return void(e.style.height=e._cachedHeight+"px");e._updateWidgetHeight()}e._cachedHeight=e.offsetHeight}_returnEmptyArray(){const e=this,t=[];let n=t;if(e.dimensions>1)for(let t=1;t<e.dimensions;t++)n[0]=[],n=n[0];return t}_scroll(){const e=this;if("none"!==e.type)for(let t=0;t<e._cells.length;t++)for(let n=0;n<e._cells[t].length;n++){const l=e._getValueInCell(t,n),i=e._cells[t][n].widget,a={x:n,y:t},s=e._getElementValue(i,a);let o;void 0!==l?(i.classList.remove("smart-array-element-empty"),e._areDifferent(s,l)?(i.supressChange=!0,e._setElementValue(l,i,a)):i.supressChange=!1,o=!1):(i.classList.add("smart-array-element-empty"),e._areDifferent(s,e._defaultValue)?(i.supressChange=!0,e._setElementValue(e._getDefaultValue(),i,a)):i.supressChange=!1,o=!0),e._addSelectionClass(n,t,e._cells[t][n].td,o)}}_scrollbarChangeHandler(e){const t=this;let n,l;e.stopPropagation(),"none"!==t.type&&(e.target===t.$.horizontalScrollbar?(n="horizontal",l=0):(n="vertical",l=t._oneDimensionSpecialCase?0:1),!0!==t._suppressScrollbarEvent?t._moveScrollbar(e.target,n,l,Math.round(e.detail.value)):t._suppressScrollbarEvent=!1,t._clickTriggered||(t._changeTriggered=!0,setTimeout((function(){t._changeTriggered=!1}),50)))}_scrollbarClickHandler(e){const t=e.target.closest(".smart-scroll-button");if(null===t)return;const n=this,l=t.parentElement.parentElement;if(t===l.$.farButton){if(n._changeTriggered)return;n._clickTriggered=!0,setTimeout((function(){n._clickTriggered=!1}),50);const e=l.max;let t=l.value;!0===isNaN(t)&&(t=0),e===t&&(l.max=e+1,l.value=e+1)}}_setElementValue(e,t,n){const l=this;e=l._cloneValue(e),l.setElementValue?(l.setElementValue(e,t,n),!0===t.supressChange&&(t.supressChange=!1)):"boolean"===l.type?t.checked=e:t.value=e}_setMaxValuesOfScrollBars(e){const t=this;!t.showHorizontalScrollbar||void 0!==e&&"horizontal"!==e||(t.$.horizontalScrollbar.max=t._getMaxValuesOfScrollBars("horizontal")),!t.showVerticalScrollbar||void 0!==e&&"vertical"!==e||(t.$.verticalScrollbar.max=t._getMaxValuesOfScrollBars("vertical"))}_showHorizontalScrollbar(e){const t=this;if(t.showHorizontalScrollbar=e,t._updateWidgetHeight("showHorizontalScrollbar"),!0===e){if(t.$horizontalScrollbarContainer.removeClass("smart-hidden"),"none"!==t.type){let e;e="LabVIEW"===t.arrayIndexingMode?t.dimensions-1:0,t._syncScrollbar(0,t._coordinates[e])}}else t.$horizontalScrollbarContainer.addClass("smart-hidden")}_showVerticalScrollbar(e){const t=this;if(t.showVerticalScrollbar=e,t._updateWidgetWidth(!0),!0===e){if(t.$verticalScrollbarContainer.removeClass("smart-hidden"),"none"!==t.type){let e;e=t._oneDimensionSpecialCase?0:"LabVIEW"===t.arrayIndexingMode?t.dimensions-2:1,t._syncScrollbar(1,t._coordinates[e])}}else t.$verticalScrollbarContainer.addClass("smart-hidden")}_syncScrollbar(e,t){const n=this;let l,i;if(0===e&&!1===n._oneDimensionSpecialCase){if(!n.showHorizontalScrollbar)return;l=n._getMaxValuesOfScrollBars("horizontal"),i=n.$.horizontalScrollbar}else{if(!n.showVerticalScrollbar)return;l=n._getMaxValuesOfScrollBars("vertical"),i=n.$.verticalScrollbar}t>l&&(l=t);const a=i.max;a!==l&&(a>l&&(n._suppressScrollbarEvent=!0),i.max=l),i.value!==t&&(n._suppressScrollbarEvent=!0,i.value=t)}_updateValue(e,t,n){const l=this,i=l._getValueInCell(e,t);if(!l._areDifferent(n,i))return;const a=l._coordinates,s=a.slice(0),o=[];"LabVIEW"===l.arrayIndexingMode?(s[s.length-1]+=t,s[s.length-2]+=e):(s[0]+=t,s[1]+=e);for(let t=0;t<l.dimensions;t++)0===t?!1===l._oneDimensionSpecialCase?o.push(s[0]):o.push(e+a[0]):1===t?o.push(s[1]):o.push(s[t]);let r=l.value;for(let e=0;e<o.length;e++)void 0!==r[o[e]]&&r[o[e]]!==i||(e!==o.length-1?r[o[e]]=[]:r[o[e]]=n),r=r[o[e]];l._fillValueArray(o.slice(0)),l.$.fireEvent("change",{value:n,oldValue:i,dimensionIndexes:o})}_updateWidgetHeight(e){const t=this,n=t.showHorizontalScrollbar?20:0;let l,i;if(t.showIndexDisplay){const e=parseInt(window.getComputedStyle(t._indexers[0]).marginBottom,10);i=t.dimensions*(t.indexerHeight+e)-e}else i=0;if("none"!==t.type)l=t.$.mainContainer.offsetHeight+n;else{if("showHorizontalScrollbar"===e){const e=t.$.bigContainer.offsetHeight;l=!0===t.showHorizontalScrollbar?e+20:e-20}else l="showIndexDisplay"===e&&!1===t.showIndexDisplay||"dimensions"===e?t.$.bigContainer.offsetHeight:t.offsetHeight;const i=18+n;l<i&&(l=i),t.$.mainContainer.style.height=l-n+"px"}t.$.verticalScrollbarContainer.style.height=l-n+"px",t.$.bigContainer.style.height=l+"px";const a=window.getComputedStyle(t);t._cachedHeight=Math.max(i,l)+parseInt(a.borderTopWidth,10)+parseInt(a.borderBottomWidth,10),"none"!==t.type&&(t.style.minHeight=t._cachedHeight+"px",t.style.maxHeight=t._cachedHeight+"px"),t.style.height=t._cachedHeight+"px"}_updateWidgetWidth(e){const t=this,n=t.showVerticalScrollbar?20:0,l=t.showIndexDisplay?t.indexerWidth:0,i=parseInt(window.getComputedStyle(t.$.bigContainer).marginLeft,10);let a,s,o;if("none"!==t.type)a=t.$.centralContainer.offsetWidth,s=a+n,o=s+l+i;else{o=t.offsetWidth,!0===e&&(!0===t.showVerticalScrollbar?o+=20:o-=20);const r=l+18+n;o<r&&(o=r),s=o-l-i,a=s-n,t.$.centralContainer.style.width=a+"px"}t.$.bigContainer.style.width=s+"px";const r=window.getComputedStyle(t);o+=parseInt(r.borderLeftWidth,10)+parseInt(r.borderRightWidth,10),t.style.width=o+"px",t._cachedWidth=o}_validateProperties(){const e=this;e._oneDimensionSpecialCase=!1,"none"===e.type?(e.rows=1,e.columns=1):(e.rows<1&&(e.rows=1),e.columns<1&&(e.columns=1)),(e.dimensions<1||e.dimensions>32)&&(e.dimensions=1),1===e.dimensions&&(e.columns>1?(e.rows=1,!0===e.showVerticalScrollbar&&(e.showVerticalScrollbar=!1)):1!==e.rows?(e._oneDimensionSpecialCase=!0,!0===e.showHorizontalScrollbar&&(e.showHorizontalScrollbar=!1)):1===e.columns&&1===e.rows&&!0===e.showVerticalScrollbar&&(e.showVerticalScrollbar=!1)),e._validateValue(),e.showIndexDisplay&&e.$indexerContainer.removeClass("smart-hidden"),e.$.indexerContainer.style.width=e.indexerWidth+"px",e.showHorizontalScrollbar&&e.$horizontalScrollbarContainer.removeClass("smart-hidden"),e.showVerticalScrollbar&&e.$verticalScrollbarContainer.removeClass("smart-hidden")}_validateValue(){const e=this;"none"===e.type?e.value=null:null===e.value||void 0===e.value?e.value=e._returnEmptyArray():e._validateValueArrayDimensions()}_validateValueArrayDimensions(){const e=this;let t=0,n=e.value,l=!1;for(;n.constructor===Array;)if(t++,n=n[0],void 0===n){l=!0;break}if(e.dimensions>t){if(l)return void(e.value=e._returnEmptyArray());for(;e.dimensions>t;)e._addDimensionToJSArray(t),t++}}});
@@ -0,0 +1,6 @@
1
+
2
+ /* Smart UI v15.0.11 (2023-02-01)
3
+ Copyright (c) 2011-2023 jQWidgets.
4
+ License: https://htmlelements.com/license/ */ //
5
+
6
+ Smart("smart-barcode",class extends Smart.ContentElement{static get properties(){return{value:{type:"string",value:""},type:{value:"codabar",type:"string",allowedValues:["pharmacode","codabar","code128a","code128b","code128c","msi","msi10","msi11","msi1010","msi1110","ean13","ean8","code39","code93"]},backgroundColor:{value:"white",type:"string"},lineWidth:{value:4,type:"number"},lineHeight:{value:50,type:"number"},lineColor:{value:"black",type:"string"},displayLabel:{value:!0,type:"boolean"},labelPosition:{value:"bottom",type:"string",allowedValues:["top","bottom"]},labelFontSize:{value:14,type:"number"},labelMarginTop:{value:5,type:"number"},labelMarginBottom:{value:5,type:"number"},labelColor:{value:"black",type:"string"},labelFont:{value:"monospace",type:"string"},renderAs:{value:"svg",type:"string",allowedValues:["svg","canvas"]}}}static get styleUrls(){return[]}template(){return'<div class="smart-barcode-container"></div>'}refresh(){this._generateCode(this.renderAs)}static get listeners(){return{}}_generateCode(e,t=!1){const a=this,l=this._getEncoded(a.type,a.value),r=l.length*a.lineWidth,s=a.lineHeight+a.displayLabel*(a.labelMarginTop+a.labelMarginBottom+a.labelFontSize);let n,i=0,o=0;if(a.isValid(),"svg"===e)n=document.createElementNS("http://www.w3.org/2000/svg","svg"),n.setAttribute("width",r),n.setAttribute("height",s),n.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:svg","http://www.w3.org/2000/svg"),n.style.backgroundColor=a.backgroundColor;else if("canvas"===e){n=document.createElement("canvas"),n.setAttribute("width",r),n.setAttribute("height",s);let e=n.getContext("2d");e.fillStyle=a.backgroundColor,e.fillRect(0,0,r,s)}t&&(n.style.display="none"),n.classList.add("smart-barcode"),a.firstChild.appendChild(n),a.displayLabel&&"top"===a.labelPosition&&(o+=a.labelMarginTop+a.labelFontSize,"svg"===e?a._drawTextSVG(r/2,o,n):a._drawTextCanvas(r/2,o,n),o+=a.labelMarginBottom);for(let t of l)"1"===t?"svg"===e?a._drawStepSVG(a.lineColor,1,i,o,n):a._drawStepCanvas(a.lineColor,1,i,o,n):"svg"===e?a._drawStepSVG("white",0,i,o,n):a._drawStepCanvas("white",0,i,o,n),i+=a.lineWidth;a.displayLabel&&"bottom"===a.labelPosition&&(o+=a.lineHeight+a.labelMarginTop+a.labelFontSize,"svg"===e?a._drawTextSVG(r/2,o,n):a._drawTextCanvas(r/2,o,n)),2===a.firstChild.children.length&&"none"!==a.firstChild.children[1].style.display&&a.firstChild.removeChild(a.firstChild.firstChild)}_getEncoded(e,t){const a=this;let l;switch(e){case"pharmacode":l=a._getEncodedPharmacode(t);break;case"codabar":l=a._getEncodedCodabar(t);break;case"code128a":l=a._getEncodedCode128(t,"A");break;case"code128b":l=a._getEncodedCode128(t,"B");break;case"code128c":l=a._getEncodedCode128(a.value,"C");break;case"msi":l=a._getEncodedMSI(a.value,"");break;case"msi10":l=a._getEncodedMSI(a.value,"10");break;case"msi11":l=a._getEncodedMSI(a.value,"11");break;case"msi1010":case"msi1110":l=a._getEncodedMSI(a.value,"1010");break;case"ean13":l=a._getEncodedEAN(a.value,"13");break;case"ean8":l=a._getEncodedEAN(a.value,"8");break;case"code39":l=a._getEncodedCode39(a.value);break;case"code93":l=a._getEncodedCode93(a.value)}return l}isValid(e=!1){const t=this.type,a=this.value;let l=/[^@!(一-龠)(ぁ-ゔ)(ァ-ヴー)\d0-9A-Z \$\%\*\+\-\.\/\:\=\?\^\{\|\}\~]/gm,r=!0,s=!0,n=[];if(!e)switch(t){case"pharmacode":l=/[^\d]/gm,s=a.length>=1&&a.length<=6,r=+a>=3&&+a<=131070;break;case"codabar":l=/[^ABCD\d\$-]/gm,r=/^[A-D]\d+[A-D]$/gm.test(a);break;case"code128a":l=/[^\x20-\x5F]/gm;break;case"code128b":l=/[^\x20-\x7F]/gm;break;case"code128c":l=/[^\d]/gm;break;case"msi":case"msi10":case"msi11":case"msi1010":case"msi1110":l=/[^\d]/gm;break;case"ean13":l=/[^\d]/gm,s=13===a.length||12===a.length;break;case"ean8":l=/[^\d]/gm,s=7===a.length||8===a.length;break;case"code39":l=/[^\w\*.]/gm,r=/^\*\*$/gm.test(a);break;case"code93":l=/[^\w\*.\-\* \$+\/%]/gm,r=/^\*\*$/gm.test(a)}return n=a.match(l),!(!r||n||!s)||(this.context.$.fireEvent("invalid",{value:a,invalidCharacters:n,patternValidity:r,lengthValidity:s}),!1)}_drawTextSVG(e,t,a){const l=this;let r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("x",e),r.setAttribute("y",t),r.setAttribute("text-anchor","middle"),r.classList.add("smart-barcode-label"),r.style.fill=l.labelColor,r.style.fontFamily=l.labelFont,r.style.fontSize=l.labelFontSize+"px",r.textContent=l.value,a.appendChild(r)}_drawTextCanvas(e,t,a){const l=this;let r=a.getContext("2d");r.font=`${l.labelFontSize}px ${l.labelFont}`,r.fillStyle=l.labelColor,r.textAlign="center",r.fillText(l.value,e,t)}_drawStepSVG(e,t,a,l,r){const s=this;s.squareWidth&&(s.lineWidth=s.squareWidth,s.lineHeight=s.squareWidth);let n=document.createElementNS("http://www.w3.org/2000/svg","rect");n.setAttribute("x",a),n.setAttribute("y",l),n.setAttribute("width",s.lineWidth),n.setAttribute("height",s.lineHeight),n.setAttribute("fill-opacity",t),n.style.fill=e,r.appendChild(n)}_drawStepCanvas(e,t,a,l,r){const s=this;s.squareWidth&&(s.lineWidth=s.squareWidth,s.lineHeight=s.squareWidth);let n=r.getContext("2d");n.beginPath(),n.globalAlpha=t,n.strokeStyle=e,n.fillStyle=e,n.rect(a,l,s.lineWidth,s.lineHeight),n.fill()}_getEncodedPharmacode(e){let t="";for(;0!==e;)e%2==0?(t="11100"+t,e=(e-2)/2):(t="100"+t,e=(e-1)/2);return t=t.slice(0,-2),t}_getEncodedCodabar(e){let t="";const a={0:1010100110,1:1010110010,2:1010010110,3:1100101010,4:1011010010,5:1101010010,6:1001010110,7:1001011010,8:1001101010,9:1101001010,"-":1010011010,$:1011001010,":":11010110110,"/":11011010110,".":11011011010,"+":10110110110,A:10110010010,B:10010010110,C:10100100110,D:10100110010};for(let l of e)t+=a[l];return t=t.slice(0,-1),t}_getEncodedCode39(e){let t="";const a=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","-","."," ","$","/","+","%","*"],l=[20957,29783,23639,30485,20951,29813,23669,20855,29789,23645,29975,23831,30533,22295,30149,24005,21623,29981,23837,22301,30023,23879,30545,22343,30161,24017,21959,30065,23921,22385,29015,18263,29141,17879,29045,18293,17783,29021,18269,17477,17489,17681,20753,35770];for(let r of e)t+=l[a.indexOf(r)].toString(2)+"0";return t=t.slice(0,-1),t}_getEncodedCode93(e){let t="";const a=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","-","."," ","$","/","+","%","*"],l=[100010100,101001e3,101000100,101000010,100101e3,100100100,100100010,10101e4,100010010,100001010,110101e3,110100100,110100010,110010100,110010010,110001010,101101e3,101100100,101100010,100110100,100011010,101011e3,101001100,101000110,100101100,100010110,110110100,110110010,110101100,110100110,110010110,110011010,101101100,101100110,100110110,100111010,100101110,111010100,111010010,111001010,111010110,100110010,111011010,101011110];for(let r of e)t+=l[a.indexOf(r)]+"0";return t=t.slice(0,-1),t}_getEncodedMSI(e,t){let a="";const l={0:100100100100,1:100100100110,2:100100110100,3:100100110110,4:100110100100,5:100110100110,6:100110110100,7:100110110110,8:110100100100,9:110100100110};a+="110","10"===t?e+=this._getMSIMod10(e):"11"===t?e+=this._getMSIMod11(e):"1010"===t?(e+=this._getMSIMod10(e),e+=this._getMSIMod10(e)):"1110"===t&&(e+=this._getMSIMod11(e),e+=this._getMSIMod10(e));for(let t of e)a+=l[t];return a+="1001",a}_getEncodedEAN(e,t){let a="";const l=[["0001101","0011001","0010011","0111101","0100011","0110001","0101111","0111011","0110111","0001011"],["0100111","0110011","0011011","0100001","0011101","0111001","0000101","0010001","0001001","0010111"],["1110010","1100110","1101100","1000010","1011100","1001110","1010000","1000100","1001000","1110100"]],r=["000000","001011","001101","001110","010011","011001","011100","010101","010110","011010"];if(12===e.length||7===e.length){let t,a,l=0,r=0;a=7===e.length?5:12;for(let t=0;t<a;t+=2)l+=parseInt(e[t]),r+=parseInt(e[t+1]);t=(3*r+l)%10,t>0&&(t=10-t),e+=t}if("13"===t){a+="101";let t=r[e[0]];for(let r=1;r<7;r++)a+=l[t[r-1]][e[r]];a+="01010";for(let t=0;t<6;t++)a+=l[2][e[t+7]];a+="101"}else if("8"===t){a+="101";for(let t=0;t<4;t++)a+=l[0][e[t]];a+="01010";for(let t=0;t<4;t++)a+=l[2][e[t+4]];a+="101"}return a}_getMSIMod10(e){let t=0;for(var a=0;a<e.length;a++){var l=parseInt(e[a]);(a+e.length)%2==0?t+=l:t+=2*l%10+Math.floor(2*l/10)}return(10-t%10)%10}_getMSIMod11(e){let t=0;for(var a=[2,3,4,5,6,7],l=0;l<e.length;l++){var r=parseInt(e[e.length-1-l]);t+=a[l%a.length]*r}return(11-t%11)%11}_getEncodedCode128(e,t){let a,l="",r=[],s=0;const n=[[" "," ","00","11011001100"],["!","!","01","11001101100"],['"','"',"02","11001100110"],["#","#","03","10010011000"],["$","$","04","10010001100"],["%","%","05","10001001100"],["&","&","06","10011001000"],["'","'","07","10011000100"],["(","(","08","10001100100"],[")",")","09","11001001000"],["*","*","10","11001000100"],["+","+","11","11000100100"],[",",",","12","10110011100"],["-","-","13","10011011100"],[".",".","14","10011001110"],["/","/","15","10111001100"],["0","0","16","10011101100"],["1","1","17","10011100110"],["2","2","18","11001110010"],["3","3","19","11001011100"],["4","4","20","11001001110"],["5","5","21","11011100100"],["6","6","22","11001110100"],["7","7","23","11101101110"],["8","8","24","11101001100"],["9","9","25","11100101100"],[":",":","26","11100100110"],[";",";","27","11101100100"],["<","<","28","11100110100"],["=","=","29","11100110010"],[">",">","30","11011011000"],["?","?","31","11011000110"],["@","@","32","11000110110"],["A","A","33","10100011000"],["B","B","34","10001011000"],["C","C","35","10001000110"],["D","D","36","10110001000"],["E","E","37","10001101000"],["F","F","38","10001100010"],["G","G","39","11010001000"],["H","H","40","11000101000"],["I","I","41","11000100010"],["J","J","42","10110111000"],["K","K","43","10110001110"],["L","L","44","10001101110"],["M","M","45","10111011000"],["N","N","46","10111000110"],["O","O","47","10001110110"],["P","P","48","11101110110"],["Q","Q","49","11010001110"],["R","R","50","11000101110"],["S","S","51","11011101000"],["T","T","52","11011100010"],["U","U","53","11011101110"],["V","V","54","11101011000"],["W","W","55","11101000110"],["X","X","56","11100010110"],["Y","Y","57","11101101000"],["Z","Z","58","11101100010"],["[","[","59","11100011010"],["\\","\\","60","11101111010"],["]","]","61","11001000010"],["^","^","62","11110001010"],["_","_","63","10100110000"],["NUL","`","64","10100001100"],["SOH","a","65","10010110000"],["STX","b","66","10010000110"],["ETX","c","67","10000101100"],["EOT","d","68","10000100110"],["ENQ","e","69","10110010000"],["ACK","f","70","10110000100"],["BEL","g","71","10011010000"],["BS","h","72","10011000010"],["HT","i","73","10000110100"],["LF","j","74","10000110010"],["VT","k","75","11000010010"],["FF","l","76","11001010000"],["CR","m","77","11110111010"],["SO","n","78","11000010100"],["SI","o","79","10001111010"],["DLE","p","80","10100111100"],["DC1","q","81","10010111100"],["DC2","r","82","10010011110"],["DC3","s","83","10111100100"],["DC4","t","84","10011110100"],["NAK","u","85","10011110010"],["SYN","v","86","11110100100"],["ETB","w","87","11110010100"],["CAN","x","88","11110010010"],["EM","y","89","11011011110"],["SUB","z","90","11011110110"],["ESC","[","91","11110110110"],["FS","|","92","10101111000"],["GS","]","93","10100011110"],["RS","~","94","10001011110"],["US","DEL","95","10111101000"],["FNC3","FNC3","96","10111100010"],["FNC2","FNC2","97","11110101000"],["SHIFT","SHIFT","98","11110100010"],["CODEC","CODEC","99","10111011110"],["CODEB","FNC4","CODEB","10111101110"],["FNC4","CODEA","CODEA","11101011110"],["FNC1","FNC1","FNC1","11110101110"],["StartA","StartA","StartA","11010000100"],["StartB","StartB","StartB","11010010000"],["StartC","StartC","StartC","11010011100"],["Stop","Stop","Stop","1100011101011"]];if("A"===t){a=103;for(const[t,a]of e.split("").entries()){let e=n.find((e=>e[0]===a));e&&(r.push(e),s+=t*e.length)}}else if("B"===t){a=104;for(const[t,a]of e.split("").entries()){let e=n.find((e=>e[1]===a));e&&(r.push(e),s+=t*e.length)}}else if("C"===t){a=105;for(let t=0;t<e.length-1;t+=2){let a=e.substring(t,2),l=n.find((e=>e[2]===a));l&&(r.push(l),s+=a*l.length)}}return s+=a,r.push(n[s%103]),r.unshift(n[a]),r.push(n[106]),r.forEach((e=>l+=e[3])),l}getDataURL(e){const t=this;if("svg"===e){"svg"!==t.renderAs&&t._generateCode("svg",!0);let e=t.querySelector("svg"),a=(new XMLSerializer).serializeToString(e),l=new Blob([a],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(l)}if("png"===e||"jpg"===e){let a="png"===e?"png":"jpeg";return"canvas"!==t.renderAs&&t._generateCode("canvas",!0),t.querySelector("canvas").toDataURL(`image/${a}`)}}getDataURLAsync(e){const t=this;return new Promise(((a,l)=>{let r=t.getDataURL(e);r?a(r):l()}))}export(e="png",t="barcode"){this.getDataURLAsync(e).then((a=>{let l=document.createElement("a");l.setAttribute("download",`${t}.${e}`),l.setAttribute("href",a),l.setAttribute("target","_blank"),l.click()}))}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a),this.refresh()}ready(){this._generateCode(this.renderAs),super.ready()}});