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-docking-layout",class extends Smart.ContentElement{static get properties(){return{autoLoadState:{value:!1,type:"boolean"},autoSaveState:{value:!1,type:"boolean"},draggable:{value:!0,type:"boolean"},floatable:{value:!0,type:"boolean"},hideSplitterBars:{value:!1,type:"boolean"},layout:{value:[],type:"array",reflectToAttribute:!1},liveResize:{value:!1,type:"boolean"},messages:{value:{en:{invalidNode:'{{elementType}}: "{{method}}" method accepts an instance of Smart.TabsWindow',invalidNodeRemove:'{{elementType}}: "{{method}}" method accepts an instance of Smart.TabsWindow that is a child of the DockingLayout.',invalidNodeType:'{{elementType}}: The method "{{method}}" requires a "smart-tabs-window" element to be passed as an argument.',invalidTargetNode:'{{elementType}}: The method "{{method}}" requires an index of an item that is not hidden/closed. Only visible items that are part of the Layout are valid.',invalidIndex:'{{elementType}}: "{{method}}" method accepts an index of type number.',noId:"smartDockingLayout requires an id in order to save/load a state."}},type:"object",extend:!0},resizeStep:{value:5,type:"number"},snapMode:{value:"advanced",allowedValues:["simple","advanced"],type:"string"}}}static get listeners(){return{"autoHideWindow.close":"_autoHideWindowCloseHandler","autoHideWindow.resizeEnd":"_autoHideWindowResizeEndHandler","container.dock":"_dockEventHandler",move:"_moveHandler","document.down":"_documentDownHandler","document.move":"_documentMoveHandler","document.up":"_documentUpHandler","document.selectstart":"_documentSelectStartHandler","document.dragstart":"_documentDragStartHandler","container.tabStripResize":"_containerTabStripResizeHandler","horizontalHiddenItemsContainer.resize":"_resizeHandler","itemsContainer.close":"_itemsContainerCloseHandler","itemsContainer.autoHide":"_itemsContainerAutoHideHandler","itemsContainer.resizeEnd":"_itemsContainerResizeHandler",keydown:"_keyDownHandler",keyup:"_keyUpHandler",mouseleave:"_mouseLeaveHandler"}}static get styleUrls(){return["smart.dockinglayout.css"]}template(){return'<div id="container" role="presentation">\n <smart-splitter id="horizontalHiddenItemsContainer" class="smart-horizontal-hidden-items-container" orientation="horizontal">\n <smart-splitter-item class="smart-docking-layout-item-holder">\n <smart-splitter id="verticalHiddenItemsContainer" class="smart-vertical-hidden-items-container">\n <smart-splitter-item class="smart-docking-layout-item-holder">\n <smart-splitter id="itemsContainer" class="smart-items-container">\n <content></content>\n <smart-splitter-item id="placeholderItem" class="smart-placeholder" pinned>\n <smart-tabs-window tab-position="hidden" opened header-buttons=\'[]\'>\n <smart-tab-item></smart-tab-item>\n </smart-tabs-window>\n </smart-splitter-item>\n </smart-splitter>\n </smart-splitter-item>\n </smart-splitter>\n </smart-splitter-item>\n </smart-splitter>\n <smart-tabs-window id="tabsWindowFeedback" class="smart-tabs-window-feedback smart-hidden"></smart-tabs-window>\n <smart-tabs-window id="autoHideWindow" class="smart-docking-layout-auto-hide-window" pinned header-buttons=\'["close", "dock"]\'\n right-to-left="[[rightToLeft]]" tab-position="hidden">\n <smart-tab-item></smart-tab-item>\n </smart-tabs-window>\n </div>'}propertyChangedHandler(e,t,i){const a=this;switch(e){case"autoSaveState":a._handleAutoSave();break;case"layout":a._handleLayout();break;case"liveResize":case"resizeStep":{const t=a.getElementsByTagName("smart-splitter");for(let a=0;a<t.length;a++)t[a][e]=i;"liveResize"===e&&(a.$.autoHideWindow[e]=i);break}case"snapMode":a._handleSnapping(),a._snapFeedback=void 0;break;case"hideSplitterBars":a._setSplitterBarVisibility();break;case"rightToLeft":case"theme":a._items&&a._items.forEach((t=>t[e]=i));break;default:super.propertyChangedHandler(e,t,i)}}ready(){super.ready()}render(){const e=this;if(e.setAttribute("role","group"),e.autoLoadState){const t=e.loadState();t&&(e.layout=t)}e.$.itemsContainer.liveResize=e.liveResize,e.$.itemsContainer.resizeStep=e.resizeStep,e._handleLayout(),e.$tabsWindowFeedback.removeClass("smart-hidden"),e._setFocusable(),e.checkLicense(),super.render()}static get requires(){return{"Smart.TabsWindow":"smart.window.js","Smart.Splitter":"smart.splitter.js"}}appendChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?e instanceof Smart.TabsWindow?t.insertBefore(e,null):t.error(t.localize("invalidNodeType",{elementType:t.nodeName.toLowerCase(),method:"appendChild"})):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild"}))}autoHideBottom(e){this._autoHide(e,"bottom")}autoHideLeft(e){this._autoHide(e,"left")}autoHideRight(e){this._autoHide(e,"right")}autoHideTop(e){this._autoHide(e,"top")}clearState(){const e=this;e.id?window.localStorage.removeItem("smartDockingLayout"+e.id):e.warn(e.localize("noId"))}dock(e){this._dock(e)}undock(e){const t=this;if("number"==typeof e?e=t._items[e]:"string"==typeof e&&(e=t._getItemById(e)),!e)return;if(!(t.shadowRoot||t).contains(e)&&t._getClosestDockingLayout(e)!==t)return;const i=e.getRootNode()&&e.getRootNode().host?e.getRootNode().host:void 0,a=e.closest("smart-splitter-item")||(i?i.closest("smart-splitter-item"):void 0);if(!a)return;const o=a.getBoundingClientRect();let s;if(e instanceof Smart.TabsWindow){e.autoHide?(t.$.autoHideWindow.close(),e._autoHideWindow&&(e.style.width=e._autoHideWindow.offsetWidth+"px",e.style.height=e._autoHideWindow.offsetHeight+"px"),"left"===e.tabPosition||"right"===e.tabPosition?e.style.height=t.offsetHeight+"px":e.style.width=t.offsetWidth+"px"):(e.style.width=e.offsetWidth+"px",e.style.height=e.offsetHeight+"px"),e.windowParent="body",e.opened=!0,e.autoHide&&(e.tabPosition="top"),e.autoHide=e.allowToggle=e.pinned=!1,e.style.maxWidth=e.style.maxHeight="",s=e;const i=a.closest("smart-splitter");i.removeChild(a),t._removeUnneccessaryItems(i)}else{if(!(e instanceof Smart.TabItem))return;{const o=e.closest("smart-tabs-window")||(i?i.closest("smart-tabs-window"):void 0);let n;1===o.items.length?(n=o,a.closest("smart-splitter").removeChild(a)):(n=t._createTabsWindowFromObject({label:e.label}),o.removeChild(e),n.appendChild(e)),"body"!==n.windowParent&&(n.windowParent="body"),n.parentElement!==t.getShadowRootOrBody()&&(t.getShadowRootOrBody().appendChild(n),t._ownTabWindow(n)),n.allowToggle=n.autoHide=n.pinned=!1,n.label=e.label,n.opened=!0,n._parentInfo={closestItem:o,position:e.index},s=n,e=o}}e._originalTabPosition?s.tabPosition=e._originalTabPosition:e.autoHide&&(s.tabPosition="top"),s.tabTextOrientation=e._originalTextOrientation||"horizontal",s===e&&(delete s._originalTabPosition,delete s._originalTextOrientation),t._setFloatingItemsHeaderButtons(s),s.style.left=o.left+"px",s.style.top=o.top+"px",s.resizeMode="both";const n=t._items.indexOf(e);if(s.layout=t,n>-1&&(t._items.splice(n,1),s.position&&(s.style.top=s.position.top,s.style.left=s.position.left,delete s.position)),0!==t._items.filter((e=>e.opened)).length||t.$.placeholderItem.parentElement||t.$.itemsContainer.appendChild(t.$.placeholderItem),t._validateWindowPosition(s),t._setAutoHidePaddings(),t._noStateChangeFiring||(t._handleAutoSave(),t.$.fireEvent("stateChange",{type:"float",item:s})),document.activeElement!==s){const e=document.scrollingElement||document.documentElement,t=e.scrollLeft,i=e.scrollTop;s.focus(),s.bringToFront(),window.scrollTo(t,i)}return s}insertBefore(e,t,i){const a=this;if(!a.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(a,e.concat(Array.prototype.slice.call(arguments)))}let o,s=e;if(s instanceof Smart.TabsWindow?((e=document.createElement("smart-splitter-item")).size=s.size||"",e.max=s.max||"",e.min=s.min||"",e.locked=s.locked||!1,e.collapsible=s.collapsible||!1,e.collapsed=s.collapsed||!1,e.appendChild(s)):s instanceof Smart.SplitterItem?s=s.querySelector("smart-tabs-window"):a.error(a.localize("invalidNodeType",{elementType:a.nodeName.toLowerCase(),method:"insertBefore"})),s.opened=s.pinned=!0,s.style.width=s.style.height="",s.style.top=s.style.left="",s.style.paddingTop=s.style.paddingBottom="",s.style.paddingLeft=s.style.paddingRight="",e.style.top=e.style.left="",a._items.indexOf(s)>-1&&a._items.splice(a._items.indexOf(s),1),t){if(o=t.closest("smart-splitter"),o===a.$.verticalHiddenItemsContainer||o===a.$.horizontalHiddenItemsContainer?(o=a.$.itemsContainer,t=0===a._items.length?null:"top"===t.tabPosition||"left"===t.tabPosition?a._items[0]:a._items[a._items.length-1]):i&&(o=a.$.itemsContainer),!(t instanceof Smart.TabsWindow))return void a.error(a.localize("invalidNodeType",{elementType:a.nodeName.toLowerCase(),method:"insertBefore"}));o.autoFitMode="proportional",o.insertBefore(e,o._items.filter((e=>e.contains(t)))[0]),a._items.splice(a._items.indexOf(t),0,s)}else o=a.$.itemsContainer,a._dockingAutoHideTabItem&&(o.autoFitMode="end"),a._items.push(s),a.$.itemsContainer.insertBefore(e);if(o.autoFitMode="proportional",s.autoHide)a._autoHide(s,s.autoHidePosition);else{s.autoHide=s.allowToggle=!1,s._originalTabPosition&&(s.tabPosition=s._originalTabPosition,delete s._originalTabPosition),s._originalTextOrientation&&(s.tabTextOrientation=s._originalTextOrientation,delete s._originalTextOrientation),a._setDockedItemsHeaderButtons(s);const e=document.scrollingElement||document.documentElement,t=e.scrollLeft,i=e.scrollTop;s.focus(),window.scrollTo(t,i)}a._items.filter((e=>e.opened)).length>0&&a.$.placeholderItem.parentElement&&a.$.itemsContainer.removeChild(a.$.placeholderItem),s.layout=a,s.minimized=!1,s.maximized=!1,s.locked=!1,s.resizeMode="none",a._handleAutoHiddenSplitterBars(),a._setSplitterBarVisibility(),a._handleAutoSave(),a.$.fireEvent("stateChange",{type:"dock",item:s})}insertBeforeItem(e,t){this._insert(e,t,"top","insertBeforeItem")}insertAfterItem(e,t){this._insert(e,t,"bottom","insertAfterItem")}insertIntoLeft(e,t){this._insert(e,t,"inside-left","insertIntoLeft")}insertIntoRight(e,t){this._insert(e,t,"inside-right","insertIntoRight")}insertIntoTop(e,t){this._insert(e,t,"inside-top","insertIntoTop")}insertIntoBottom(e,t){this._insert(e,t,"inside-bottom","insertIntoBottom")}insertLayoutTop(e){this._insert(0,e,"layout-top","insertLayoutTop")}insertLayoutBottom(e){this._insert(0,e,"layout-bottom","insertLayoutBottom")}insertLayoutLeft(e){this._insert(0,e,"layout-left","insertLayoutLeft")}insertLayoutRight(e){this._insert(0,e,"layout-right","insertLayoutRight")}insertOutsideTargetGroupTop(e,t){this._insert(e,t,"outside-top","insertOutsideTargetGroupTop")}insertOutsideTargetGroupBottom(e,t){this._insert(e,t,"outside-bottom","insertOutsideTargetGroupBottom")}insertOutsideTargetGroupLeft(e,t){this._insert(e,t,"outside-left","insertOutsideTargetGroupLeft")}insertFloatingWindow(e,t,i){if(!e)return;let a="tabsWindow_"+Math.floor(65536*(1+Math.random())).toString(16).substring(1);e.id?a=e.id:e.id=a,this._insert(0,e);const o=this.undock(a);o&&(void 0!==t&&(o.style.left="number"==typeof t?t+"px":t),void 0!==i&&(o.style.top="number"==typeof i?i+"px":i))}insertOutsideTargetGroupRight(e,t){this._insert(e,t,"outside-right","insertOutsideTargetGroupRight")}getAutoHideItems(e){const t=this;function i(e){let t=[];if(!e._items)return t;for(let i=0;i<e._items.length;i++)e._items[i].$.hasClass("smart-docking-layout-item-holder")||t.push(e._items[i].getElementsByTagName("smart-tabs-window")[0]);return t}return e?i("horizontal"===e?t.$.horizontalHiddenItemsContainer:t.$.verticalHiddenItemsContainer):i(t.$.horizontalHiddenItemsContainer).concat(i(t.$.verticalHiddenItemsContainer))}getIndex(e){const t=this;if(t.isReady&&t._items.length)return t._items.indexOf(e)}get autoHideItems(){return this.isReady?this.getAutoHideItems():[]}get items(){const e=this;return e.isReady?e._items.filter((e=>e.opened)).concat(e.getAutoHideItems()):[]}get closedItems(){return this.isReady?this._items.filter((e=>!e.opened)):[]}get undockedItems(){const e=this;if(!e.isReady)return[];const t=document.getElementsByTagName("smart-tabs-window");let i=[];for(let a=0;a<t.length;a++)t[a].closest("smart-docking-layout")||e._getClosestDockingLayout(t[a])||t[a].layout!==e||(t[a].undocked=!0,i.push(t[a]));return i}getItemGroupElement(e){const t=this;if(t.isReady&&e&&e instanceof Smart.TabsWindow&&(t.shadowRoot||t).contains(e))return e.closest("smart-splitter")}getState(e){const t=this,i=t.getAutoHideItems(),a=t.undockedItems,o=[];for(let a=0;a<i.length;a++)o.push(t._createTabsWindowStructure(i[a],e));for(let i=0;i<a.length;i++)o.push(t._createTabsWindowStructure(a[i],e));return[{type:"LayoutGroup",items:o.concat(t._createLayoutStructure(t.$.itemsContainer,e)),orientation:t.$.itemsContainer.orientation}]}getClosestSplitterBars(e){const t=this;if(!t._items||!t._items.length)return;if("string"==typeof e?e=t._getItemById(e):"number"==typeof e&&(e=t._items[parseInt(e)]),!(e instanceof Smart.TabsWindow&&t._items.find((t=>t===e))))return;let i=e.closest("smart-splitter");for(;i&&!i.bars.length;)i=i.closest("smart-splitter");return i?i.bars:void 0}getJSONStructure(){return this.getState(!0)}loadState(e){const t=this;if(!e){if(!t.id)return void t.warn(t.localize("noId"));e=JSON.parse(window.localStorage.getItem("smartDockingLayout"+t.id))}if(e)return t._loadState(e),e}removeAt(e){const t=this;"number"==typeof e?e=t._items[e]:"string"==typeof e&&(e=t._getItemById(e)),e instanceof Smart.TabsWindow?e.closest("smart-docking-layout")===t||t._getClosestDockingLayout(e)===t?t.removeChild(e):t.error(t.localize("invalidNodeRemove",{elementType:t.nodeName.toLowerCase(),method:"remove"})):t.error(t.localize("invalidIndex",{elementType:t.nodeName.toLowerCase(),method:"remove"}))}removeAll(){this._removeAll()}removeChild(e){const t=this;if(!e)return void t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild"}));if(!(e instanceof Smart.TabsWindow))return void t.error(t.localize("invalidNodeType",{elementType:t.nodeName.toLowerCase(),method:"removeChild"}));if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}const i=e.closest("smart-splitter-item");if(!i)return;const a=i.closest("smart-splitter");a&&(i.closest("smart-splitter").removeChild(i),t._items.splice(t._items.indexOf(e),1),t._removeUnneccessaryItems(a),0!==t._items.filter((e=>e.opened)).length||t.$.placeholderItem.parentElement||t.$.itemsContainer.appendChild(t.$.placeholderItem),e.layout=t,t._handleAutoSave(),t.$.fireEvent("stateChange",{type:"remove",item:e}))}saveState(){const e=this;e.id?window.localStorage.setItem("smartDockingLayout"+e.id,JSON.stringify(e.getJSONStructure())):e.warn(e.localize("noId"))}update(e,t){const i=this;if("number"==typeof e?e=i._items[parseInt(e)]:"string"==typeof e&&(e=i._getItemById(e)),!(e&&e instanceof Smart.TabsWindow))return void i.error(i.localize("invalidNodeType",{elementType:i.nodeName.toLowerCase(),method:"update"}));if(!(i.shadowRoot||i).contains(e)&&i._getClosestDockingLayout(e)!==i)return;if(!t||"object"!=typeof t)return;if(t.items)for(let i=0;i<t.items.length;i++){const a=t.items[i].index;"number"!=typeof a||isNaN(a)||(e.items&&!e.items[a]?e.insert(a,t.items[i]):e.update(t.items[i].index,t.items[i].label,t.items[i].content))}t.id&&(e.id=t.id),t.label&&(e.label=t.label),e.tabCloseButtons=t.tabCloseButtons||!1,t.headerButtons&&Array.isArray(t.headerButtons)&&(e.headerButtons=0===t.headerButtons.length?["close","autoHide"]:t.headerButtons);const a=e.closest("smart-splitter-item");a&&(e.autoHide?i._autoHide(e):(a.size=void 0!==t.size?t.size:a.size,a.min=void 0!==t.min?t.min:a.min,a.max=void 0!==t.max?t.max:a.max,a.locked=void 0!==t.locked?t.locked:a.locked,a.collapsible=void 0!==t.collapsible?t.collapsible:a.collapsible,a.collapsed=void 0!==t.collapsed?t.collapsed:a.collapsed))}_autoHide(e,t){const i=this;if("number"==typeof e?e=i._items[e]:"string"==typeof e&&(e=i._getItemById(e)),!e)return;if(e instanceof Smart.TabItem){const a=e.closest("smart-tabs-window")||(e.getRootNode()&&e.getRootNode().host?e.getRootNode().host.closest("smart-tabs-window"):void 0);if(a&&a.items.length<2)e=a;else{const o=e;if(a){if(a.autoHide&&a.tabPosition===t)return;a.removeChild(e)}(e=i._createTabsWindowFromObject({label:e.label})).appendChild(o)}}if(!(e instanceof Smart.TabsWindow))return void i.error(i.localize("invalidNodeType",{elementType:i.nodeName.toLowerCase(),method:"appendChild"}));let a,o=e.closest("smart-splitter-item");const s=e.closest("smart-splitter")||(e.isInShadowDOM?e.getRootNode().host:void 0)||i.$.itemsContainer,n=i._getAutoHidePositionDetails(t,e,o),d=n.autoHideSplitter;t=n.position,e.offsetHeight&&(a="left"===t||"right"===t?e.offsetWidth:e.offsetHeight),o||(o=document.createElement("smart-splitter-item"),o.appendChild(e)),o.min=30;const l="auto-hide-"+t;if(e.autoHide&&o.$.hasClass(l))return;const r=i._items.indexOf(e);i._items.splice(r,r>-1?1:0),0!==i._items.filter((e=>e.opened)).length||i.$.placeholderItem.parentElement||("left"===t?i.$.itemsContainer.insert(1,i.$.placeholderItem):i.$.itemsContainer.appendChild(i.$.placeholderItem)),i._handleAutoHideWindow({position:t,tabsWindow:e,splitterItem:o,autoHideName:l,splitterContainer:s,autoHideSplitter:d}),d.bars.map((e=>e.hide())),(!i.shadowRoot||i.shadowRoot&&i.isCompleted)&&i._setAutoHidePaddings();const m=e.items;if(m)for(let e=0;e<m.length;e++)m[e]._autoHideWindowSize||(m[e]._autoHideWindowSize=a);i.$.autoHideWindow.opened&&i.$.autoHideWindow._tabsWindow&&i.$.autoHideWindow._tabsWindow._setAutoHideWindowSize(i.$.autoHideWindow._tabsWindow.selectedIndex),i.isCompleted&&(i._handleAutoSave(),i.$.fireEvent("stateChange",{type:"autoHide",item:e}),i.shadowRoot&&setTimeout((function(){"top"===t||"bottom"===t?(i.$.horizontalHiddenItemsContainer.items.filter((e=>e.className.indexOf("auto-hide-")>-1)).forEach((e=>{const t=e.querySelector("smart-tabs-window");e.style.height="",t.refreshTabs()})),i.$.horizontalHiddenItemsContainer.refresh()):(i.$.verticalHiddenItemsContainer.items.filter((e=>e.className.indexOf("auto-hide-")>-1)).forEach((e=>{const t=e.querySelector("smart-tabs-window");e.style.width="",t.refreshTabs()})),i.$.verticalHiddenItemsContainer.refresh()),i._setAutoHidePaddings()}),150))}_moveHandler(e){this.hasAttribute("dragged")&&"touchmove"===e.originalEvent.type&&e.originalEvent.preventDefault()}_getAutoHidePositionDetails(e,t,i){const a=this,o=t.closest("smart-splitter")||a.$.itemsContainer,s=o?o._items.indexOf(i):0;let n;switch(e){case"top":case"bottom":n=a.$.horizontalHiddenItemsContainer;break;case"left":case"right":n=a.$.verticalHiddenItemsContainer;break;default:if("vertical"===o.orientation){n=a.$.verticalHiddenItemsContainer;const t=n.items.filter((e=>e.className.indexOf("auto-hide-")>-1));e=1===t.length&&1===a._items.length?t[0].$.hasClass("auto-hide-right")?"right":"left":s>=o.items.length/2?"right":"left"}else{n=a.$.horizontalHiddenItemsContainer;const t=n.items.filter((e=>e.className.indexOf("auto-hide-")>-1));e=1===t.length&&1===a._items.length?t[0].$.hasClass("auto-hide-bottom")?"bottom":"top":s>=o.items.length/2?"bottom":"top"}}return{autoHideSplitter:n,position:e}}_handleAutoHideWindow(e){const t=this,i=e.autoHideName,a=e.splitterItem,o=e.splitterContainer,s=e.position,n=e.autoHideSplitter;let d=e.tabsWindow,l=(t.shadowRoot||t).querySelector("."+i),r="offset"+("left"===s||"right"===s?"Width":"Height");if(d.locked=!1,l){const e=[].slice.call(d.isCompleted?d.items:d.children),i=l.querySelector("smart-tabs-window"),s=i.items.length;for(let t=0;t<e.length;t++)i.insert(s,{node:e[t]}),e[t]._autoHideWindowSize=d[r];a.parentElement&&o.removeChild(a),t._removeUnneccessaryItems(o),d=i}else{o&&o.contains(a)&&o.removeChild(a),!t._initializingItems&&d.autoHide||(d._originalTabPosition=d.tabPosition,d._originalTextOrientation=d.tabTextOrientation,d._originalLocked=d.locked),d.autoHideWindow=t.$.autoHideWindow,d.autoHide=d.allowToggle=!0,d.selectedIndex=null,d.$.tabsElement&&d.$.tabsElement.selectedIndex!==d.selectedIndex&&(d.$.tabsElement.selectedIndex=d.selectedIndex),d.tabTextOrientation="right"===s||"left"===s?"vertical":"horizontal",d.tabPosition=s,d.style.top=d.style.left="",d.style.width=d.style.height="",d.opened=!0,d.resizeMode="none";for(let e=0;e<a.classList.length;e++)a.classList[e].indexOf("auto-hide-")>-1&&a.$.removeClass(a.classList[e]);if(a.$.addClass(i),a.style.paddingLeft=a.style.paddingRight=a.style.paddingTop=a.style.paddingBottom="",a.min&&(a.min=""),t._removeUnneccessaryItems(o),"top"===s||"left"===s?n.insert(0,a):n.appendChild(a),n.autoFitMode="proportional",!Smart.Utilities.Core.Browser.Safari||"left"!==s&&"right"!==s){if(Smart.Utilities.Core.Browser.Firefox&&("top"===s||"bottom"===s)){const e=(d.shadowRoot||d).querySelector(".smart-tab-strip");e&&(d.size=e.offsetHeight)}d.size="auto"}else{const e=d.querySelector(".smart-tab-strip");d.size=e.offsetWidth}d.min&&(d.min=""),d.min=30,d.locked=!0,n.autoFitMode="end"}}_autoHideWindowCloseHandler(){const e=this.$.autoHideWindow._tabsWindow,t=document.scrollingElement||document.documentElement,i=t.scrollLeft,a=t.scrollTop;if(e._moveContent(e._autoHideWindow.items[0],e._autoHideWindow._tab),!this.$.autoHideWindow.opened)return e.selectedIndex=null,void(document.activeElement!==e.$.tabsElement&&(e.$.tabsElement.focus(),window.scrollTo(i,a)));e.allowToggle&&null!==e.$.tabsElement.selectedIndex&&(e.select(e.$.tabsElement.selectedIndex),document.activeElement!==e.$.tabsElement&&(e.$.tabsElement.focus(),window.scrollTo(i,a)))}_autoHideWindowResizeEndHandler(e){const t=e.target,i="left"===t.resizeMode||"right"===t.resizeMode?"width":"height";t._tab&&(t._tab._autoHideWindowSize=e.detail[i])}_cancelDragOperation(e){const t=this;t.removeAttribute("dragged"),t._dragDetails.windowFeedback.removeAttribute("tabs-window-dragged"),t._dragDetails.windowFeedback.removeAttribute("ontop"),t._returnItemToOrigin(t._dragDetails.windowFeedback),t._noStateChangeFiring=!0,e||t._endDrag()}_createTabsWindowFromObject(e,t){const i=this,a=document.createElement("smart-tabs-window");let o,s=["close","autoHide"];if(a.layout=i,e.id&&(a.id=e.id),e.disabled&&(a.disabled=e.disabled),e.label&&(a.label=e.label),e.headerPosition&&(a.headerPosition=e.headerPosition),e.tabCloseButtons&&(a.tabCloseButtons=e.tabCloseButtons),e.dropPosition&&(a.dropPosition=e.dropPosition),e.resizeMode&&(a.resizeMode=e.resizeMode),a.animation=i.animation,a.rightToLeft=i.rightToLeft,a.theme=i.theme,a.draggable=void 0===e.draggable||e.draggable,a.floatable=void 0===e.floatable||e.floatable,a.tabCloseButtons=e.tabCloseButtons?e.tabCloseButtons:a.tabCloseButtons,e.autoHide?(a.autoHideWindow=i.$.autoHideWindow,a.autoHide=a.allowToggle=e.autoHide,a.autoHidePosition=e.autoHidePosition):e.undocked&&(s=["close","maximize","minimize"],a.undocked=e.undocked,a.position={top:e.top?(e.top+"").indexOf("%")>-1?e.top:parseFloat(e.top)+"px":void 0,left:e.left?(e.left+"").indexOf("%")>-1?e.left:parseFloat(e.left)+"px":void 0,width:e.width,height:e.height}),a.tabPosition=e.tabPosition||a.tabPosition,a.opened=a.pinned=!0,e.headerButtons&&(s=e.headerButtons),(!e.headerButtons||Array.isArray(e.headerButtons)&&0===e.headerButtons.length)&&(s=["close","autoHide"]),a.headerButtons=s,a.size=e.size||"",a.max=e.max||"",a.min=e.min?e.min:30,a.locked=e.locked||!1,a.collapsible=e.collapsible||!1,a.collapsed=e.collapsed||!1,e.items&&Array.isArray(e.items))for(let i=0;i<e.items.length;i++){if(t&&e.items[i].instance)o=e.items[i].instance,o.index=null,o.id=e.items[i].id||"";else{o=document.createElement("smart-tab-item"),o.label=e.items[i].label?e.items[i].label:"",o.id=e.items[i].id||"";const t=e.items[i].content;if(/^[#.]{1}\w(\w|-)+$/gm.test(t)){const e=document.querySelectorAll(t);for(let t=0;t<e.length;t++){const i=e[t];o.appendChild(i instanceof HTMLTemplateElement?document.importNode(i.content,!0):i)}}else o.content=e.items[i].content?e.items[i].content:"";o.selected=!!e.items[i].selected&&e.items[i].selected,a._isItemSelected=!0}o.draggable=void 0===e.items[i].draggable||e.items[i].draggable,o.floatable=void 0===e.items[i].floatable||e.items[i].floatable,e.items[i].id&&(o.id=e.items[i].id),a.appendChild(o)}return a}_createItemsFromArray(e,t){const i=this;let a=e;const o=a.length;i._removeAll(!0),i._initializingItems=!0;const s=i.undockedItems;for(let e=0;e<s.length;e++)s[e].layout=null,s[e].parentElement.removeChild(s[e]);let n;1===o&&a[0].type&&"layoutgroup"===a[0].type.toLowerCase()&&(i.$.itemsContainer.orientation=a[0].orientation||i.$.itemsContainer.orientation,i.$.itemsContainer.liveResize=a[0].liveResize||i.$.itemsContainer.liveResize,i.$.itemsContainer.resizeMode=a[0].resizeMode||i.$.itemsContainer.resizeMode,a=a[0].items),i.$.itemsContainer.autoFitMode="end";for(let e=0;e<a.length;e++)n=i._createLayoutItem(a[e],t),n&&(i.$.placeholderItem.parentElement&&i.$.itemsContainer.removeChild(i.$.placeholderItem),i.$.itemsContainer.appendChild(n));0===i._items.filter((e=>e.opened)).length?i.$.placeholderItem.parentElement||i.$.itemsContainer.appendChild(i.$.placeholderItem):i.$.placeholderItem.parentElement&&i.$.itemsContainer.removeChild(i.$.placeholderItem),i.$.itemsContainer.autoFitMode="proportional",delete i._initializingItems}_createLayoutItem(e,t){if(!e)return;const i=this,a=document.createElement("smart-splitter-item");let o;if(e.type&&"layoutgroup"===e.type.toLowerCase()){let a;o=document.createElement("smart-splitter"),o._isInShadowDOM=i.isInShadowDOM,o.autoFitMode="proportional",e.id&&(o.id=e.id),e.orientation&&(o.orientation=e.orientation),e.resizeMode&&(o.resizeMode=e.resizeMode),o.liveResize=i.liveResize,o.resizeStep=i.resizeStep;for(let s=0;s<e.items.length;s++)a=i._createLayoutItem(e.items[s],t),a&&o.appendChild(a);if(!o.querySelector("smart-splitter-item"))return}else{if(o=i._createTabsWindowFromObject(e.type&&"layoutgroup"===e.type.toLowerCase()?e.items[0]:e,t),o.autoHide)return i._autoHide(o,o.autoHidePosition),void delete o.autoHidePosition;if(o.undocked)return i.undock(o),i.getShadowRootOrBody().appendChild(o),i._ownTabWindow(o),o.opened=!0,o.pinned=!1,o.layout=i,o.position&&(o.style.left=o.position.left,o.style.top=o.position.top,o.style.width=o.position.width,o.style.height=o.position.height,delete o.position),void(o.size&&(o.style.left=o.position.left,o.style.top=o.position.top));i._items.push(o)}return a.size=e.size||"",a.max=e.max||"",a.min=e.min||30,a.locked=e.locked||!1,a.collapsible=e.collapsible||!1,a.collapsed=e.collapsed||!1,a.appendChild(o),a}_createLayoutStructure(e,t){const i=this,a=[];let o,s,n=e._items;const d=n[0].$.content.children[0];function l(e){let t=e.firstElementChild;for(;t;){if(t instanceof Smart.Splitter)return t;if(t instanceof Smart.TabsWindow)return t;t=t.nextElementSibling}}1===n.length&&d instanceof Smart.Splitter&&(n=d._items,e===i.$.itemsContainer&&(i.$.itemsContainer.orientation=d.orientation));for(let d=0;d<n.length;d++)if(n[d]!==i.$.placeholderItem){if(s=l(n[d].$.content),s instanceof Smart.TabsWindow)o=i._createTabsWindowStructure(s,t);else if(s instanceof Smart.Splitter){for(;1===s._items.length&&s._items[0].$.content.children[0]instanceof Smart.Splitter;)s=s._items[0].$.content.children[0];o=1===s._items.length?i._createTabsWindowStructure(s._items[0].$.content.children[0],t):{type:"LayoutGroup",items:i._createLayoutStructure(s,t),orientation:s.orientation},s.id&&(o.id=s.id),"adjacent"!==s.resizeMode&&(o.resizeMode=s.resizeMode),5!==s.resizeStep&&(o.resizeStep=s.resizeStep),s.liveResize&&(o.resizeStep=s.liveResize)}o.size=n[d][e._measurements.size],n[d].locked&&(o.locked=!0),n[d].min&&(o.min=n[d].min),n[d].max&&(o.max=n[d].max),a.push(o)}return a}_createTabsWindowStructure(e,t){function i(e){const i={type:"LayoutPanelItem"};return i.label=e.label||"",e.selected&&(i.selected=e.selected),e.disabled&&(i.disabled=e.disabled),i.draggable=void 0===e.draggable||e.draggable,i.floatable=void 0===e.floatable||e.floatable,t||(i.instance=e),e.id&&(i.id=e.id),i}const a={type:"LayoutPanel"};if(e.id&&(a.id=e.id),e.disabled&&(a.disabled=e.disabled),e.label&&(a.label=e.label),e.autoHide?(a.autoHide=e.autoHide,a.autoHidePosition=e.tabPosition):"top"!==e.tabPosition&&(a.tabPosition=e.tabPosition),e.closest("smart-docking-layout")||this._getClosestDockingLayout(e)||(a.undocked=!0,a.top=e.style.top,a.left=e.style.left,a.width=e.style.width,a.height=e.style.height),e.dropPosition&&"all"!==e.dropPosition[0]&&(a.dropPosition=e.dropPosition),a.draggable=void 0===e.draggable||e.draggable,a.floatable=void 0===e.floatable||e.floatable,void 0!==e.floatable&&(a.floatable=e.floatable),"none"!==e.resizeMode&&(a.resizeMode=e.resizeMode),e.items){a.items=[];for(let t=0;t<e.items.length;t++)a.items.push(i(e.items[t]))}return a}_containerTabStripResizeHandler(e){const t=this,i=e.target.closest("smart-splitter");i!==t.$.horizontalHiddenItemsContainer&&i!==t.$.verticalHiddenItemsContainer||(i._resizeEventHandler(),t._setAutoHidePaddings())}_getItemById(e){const t=this,i=e;if(e=document.getElementById(i))return e;if(t.shadowRoot&&!(e=t.shadowRoot.querySelector("#"+i))){let a=t.items;for(let t=0;t<a.length;t++){const o=a[t];if(o.shadowRoot&&(e=o.shadowRoot.querySelector("#"+i)))return e}a=document.querySelectorAll("smart-tabs-window");for(let o=0;o<a.length;o++){const s=a[o];if(s.layout===t&&s.shadowRoot&&(e=s.shadowRoot.querySelector("#"+i)))return e}}}_dock(e,t){const i=this;if("number"==typeof e?e=i._items[e]:"string"==typeof e&&(e=i._getItemById(e)),!e)return;let a;const o=e.id;if(e instanceof Smart.TabItem){const t=i._handleTabItemDocking(e);e=t.tabsWindow,a=t.newTabsWindow}else"object"!=typeof e||e instanceof HTMLElement||(e=i._createTabsWindowFromObject(e));if(!(e instanceof Smart.TabsWindow&&e.autoHide))return void((i._items.indexOf(e)<0||!e.opened&&!e.parentElement)&&(e.autoHide=!1,0===e.items.length&&"simple"===i.snapMode&&e.parentElement.removeChild(e),o&&(e.id=o),t?i._insert(-1,e,t?"layout-"+t:void 0):i.appendChild(e)));if(!(i.shadowRoot||i).contains(e))return;const s=e.closest("smart-splitter-item"),n=e.closest("smart-splitter"),d=!s.nextElementSibling;t||(t="horizontal"===n.orientation?d?"bottom":"top":d?"right":"left"),0===e.items.length&&s.closest("smart-splitter").removeChild(s),a&&(e=a),e.autoHide&&(i.$.verticalHiddenItemsContainer.contains(e)?i.$.verticalHiddenItemsContainer.removeChild(e.closest("smart-splitter-item")):i.$.horizontalHiddenItemsContainer.contains(e)&&i.$.horizontalHiddenItemsContainer.removeChild(e.closest("smart-splitter-item")),e.tabPosition=e._originalTabPosition||"top",delete e._originalTabPosition),i._setDockedItemsHeaderButtons(e),e.autoHide=e.allowToggle=e.maximized=e.minimized=e.collapsed=e.locked=!1,e.tabTextOrientation="horizontal",e.headerButtons=i.$.autoHideWindow.headerButtons,i.$.autoHideWindow.close(),o&&(e.id=o),i._insert(-1,e,"layout-"+t),i._setAutoHidePaddings(),delete i._dockingAutoHideTabItem}_handleTabItemDocking(e){const t=this,i=(e.isInShadowDOM?e.getRootNode().host:e).closest("smart-tabs-window");let a;if(i){const o=t.$.autoHideWindow;if(!i.autoHide)return{tabsWindow:i,newTabsWindow:i};t._dockingAutoHideTabItem=!0,a=1===i.items.length?i:document.createElement("smart-tabs-window"),delete e._autoHideWindowSize,a.size="left"===o.resizeMode||"right"===o.resizeMode?o.offsetWidth:o.offsetHeight,i.removeChild(e),0!==i.items.length||a.id||(t.shadowRoot||t).contains(i)||i.parentElement.removeChild(i),a.tabCloseButtons=i.tabCloseButtons,a.dropPosition=i.dropPosition,a.draggable=e.draggable,a.floatable=e.floatable}return a||(a=document.createElement("smart-tabs-window")),a.animation=t.animation,a.rightToLeft=t.rightToLeft,a.theme=t.theme,a.min=30,a.opened=a.pinned=a.autoHide=!0,a.style.maxWidth=a.style.maxHeight="",a._originalTabPosition=i._originalTabPosition||void 0,a._originalTextOrientation=i._originalTextOrientation||void 0,a!==i&&(delete i._originalTabPosition,delete i._originalTextOrientation),a.label=e.label,a.appendChild(e),{tabsWindow:e=i,newTabsWindow:a}}_dockEventHandler(e){const t=this;let i=e.target;i._tabsWindow&&(i=i._tabsWindow),i.autoHide?t._dock(i.items[i.selectedIndex]):t._autoHide(i,t._items.indexOf(i)<(t._items.length-1)/2)}_documentDownHandler(e){const t=this;let i=e.originalEvent.target;if(i.shadowRoot)for(i=e.originalEvent.composedPath()[0];i;){if(i.closest(".smart-window")){i=i.closest(".smart-window");break}i=i.getRootNode().host}else i=i.closest(".smart-window");if(t.$.autoHideWindow._tabsWindow&&(!i||i!==t.$.autoHideWindow&&i!==t.$.autoHideWindow._tabsWindow)&&(t.$.autoHideWindow._tabsWindow.selectedIndex=null),t._dragDetails)return void t._cancelDragOperation();if(!(i instanceof Smart.TabsWindow)||!t.draggable||t.disabled)return;if(t._dragDetails||i.maximized||i.minimized||!Smart.Utilities.Core.isMobile&&1!==e.which||i._dragDetails&&"resize"===i._dragDetails.type&&i._dragDetails.started)return;const a=e.originalEvent.target.shadowRoot?e.originalEvent.composedPath()[0]:e.originalEvent.target;if(i=a.closest(".smart-header-section")||a.closest(".smart-tab-label-container"),t._dragDetails={},i&&i.classList.contains("smart-header-section")&&("simple"===t.snapMode||a.closest(".smart-buttons-container"))&&(i=void 0),t._dragDetails.windowFeedback=t.$.tabsWindowFeedback,i){const a=i.getRootNode()&&i.getRootNode().host?i.getRootNode().host:i;if(t._dragDetails.selectedTabsWindow=i.closest("smart-tabs-window")||(a?a.closest("smart-tabs-window"):void 0),t._dragDetails.selectedTabsWindow===t.$.autoHideWindow){if(t._dragDetails.selectedItem=t.$.autoHideWindow._tabsWindow.closest("smart-splitter-item"),!t.$.autoHideWindow._tabsWindow.draggable)return void(t._dragDetails=void 0)}else t._dragDetails.selectedItem=t._dragDetails.selectedTabsWindow.closest("smart-splitter-item");if(!t._dragDetails.selectedTabsWindow||!t._dragDetails.selectedTabsWindow.draggable||t._dragDetails.selectedTabsWindow.layout!==t)return void(t._dragDetails=void 0);if(t._dragDetails.offset={x:0,y:0},t._dragDetails.selectedTabLabel=i,t._dragDetails.x=e.pageX,t._dragDetails.y=e.pageY,t._dragDetails.selectedTabLabel.$.hasClass("smart-header-section")){if(!t._dragDetails.selectedItem&&t._dragDetails.selectedTabsWindow.pinned)return void(t._dragDetails=void 0);t._dragDetails.windowFeedback=t._dragDetails.selectedTabsWindow;const a=i.getBoundingClientRect();t._dragDetails.offset.x=e.clientX-a.left,t._dragDetails.offset.y=e.clientY-a.top}else{if(!t._dragDetails.selectedTabLabel.tab||void 0!==t._dragDetails.selectedTabLabel.tab.draggable&&!t._dragDetails.selectedTabLabel.tab.draggable)return void(t._dragDetails=void 0);1===t._dragDetails.selectedTabsWindow.items.length&&(t._dragDetails.windowFeedback=t._dragDetails.selectedTabsWindow,t._dragDetails.windowFeedback.floatable=t._dragDetails.selectedTabsWindow.items[0].floatable)}}t._items.map((e=>e.removeAttribute("ontop"))),t._dragDetails.windowFeedback!==t.$.autoHideWindow&&t._dragDetails.windowFeedback.setAttribute("ontop","")}_getClosestDockingLayout(e){const t=this,i=(t.shadowRoot||t.isInShadowDOM?t.getRootNode().host:t).nodeName.toLowerCase(),a=this._getClosestElement(i,e);return a?t:a}_getClosestElement(e,t){if(!t||!this.isInShadowDOM)return;if(!t.getRootNode())return;let i=t.getRootNode().host;for(;i;){if(!i.closest)return;if(i.closest(e))return i.closest(e);i=i.getRootNode()?i.getRootNode().host:void 0}}_documentMoveHandler(e){const t=this,i=Smart.Utilities.Core.isMobile?document.elementFromPoint(e.pageX-window.pageXOffset,e.pageY-window.pageYOffset):t.isInShadowDOM||e.originalEvent.target.shadowRoot?e.originalEvent.composedPath()[0]:e.originalEvent.target;if(t.disabled||!t._dragDetails||t._dragDetails&&!t._dragDetails.selectedTabsWindow||!i)return;if(Math.abs(e.pageX-t._dragDetails.x)<=5&&Math.abs(e.pageY-t._dragDetails.y)<=5)return;const a=document.scrollingElement||document.documentElement,o=a.scrollLeft,s=a.scrollTop,n=t._dragDetails.selectedTabsWindow;if(t._dragDetails.isInsideTheLayout=i.closest&&i.closest("smart-docking-layout")===t,t._dragDetails.isInsideTheLayout||!t.shadowRoot&&!t.isInShadowDOM||(t._dragDetails.isInsideTheLayout=t._getClosestDockingLayout(i)),t._dragDetails.started=!0,t._dragDetails.windowFeedback===t.$.autoHideWindow){const e=t._dragDetails.selectedTabsWindow.getBoundingClientRect();let i;1===t.$.autoHideWindow._tabsWindow.items.length?i=t.$.autoHideWindow._tabsWindow:(i=document.createElement("smart-tabs-window"),i.draggable=!0,i.min=30,i.layout=t),i.style.width=e.width+"px",i.style.height=e.height+"px",i.style.left=e.left+"px",i.style.top=e.top+"px",i.setAttribute("ontop",""),t._dragDetails.windowFeedback=i,t.$.autoHideWindow.$.addClass("no-transition"),t.$.autoHideWindow.close(),t.$.autoHideWindow.$.removeClass("no-transition")}if(t._setDragDetailsOnMove(i),t.$.autoHideWindow.close(),t._dragDetails.windowFeedback.classList.contains("smart-tabs-window-feedback")){if(t._dragDetails._parentInfo||(t._dragDetails._parentInfo={closestItem:n,position:t._originalTabIndex||t._dragDetails.selectedTabLabel.tab.index},t._originalTabIndex=void 0),t.getShadowRootOrBody().contains(t._dragDetails.windowFeedback)||t.getShadowRootOrBody().appendChild(t._dragDetails.windowFeedback),t._dragDetails.selectedItem){const e=t._dragDetails.selectedItem.closest("smart-splitter");!t._dragDetails.windowFeedback.size&&e&&(t._dragDetails.windowFeedback.size=t._dragDetails.selectedTabsWindow[e._measurements.size])}}else t._handleWindowOnDrag();t._dragDetails.selectedTabLabel.classList.contains("smart-header-section")||t._dragDetails.windowFeedback.setAttribute("tabs-window-dragged",""),(t._dragDetails.windowFeedback.hasAttribute("tabs-window-dragged")||t._dragDetails.selectedTabsWindow===t.$.autoHideWindow||t._dragDetails._parentInfo&&"string"==typeof t._dragDetails._parentInfo.position)&&(t._dragDetails.windowFeedback.style.left=e.pageX-t._dragDetails.offset.x+"px",t._dragDetails.windowFeedback.style.top=e.pageY-t._dragDetails.offset.y+"px",t._setWindowFeedbackSize()),t._dragDetails.windowFeedback.opened=!0,document.activeElement!==t&&(t.focus(),window.scrollTo(o,s));let d=t._dragDetails.hoveredTabsWindow?i.closest(".smart-tabs-header-section"):void 0;d||!t.shadowRoot&&!t.isInShadowDOM||(d=t._getClosestElement(".smart-tabs-header-section",i)),t._dragDetails.hoveredTabArea=d||(t._dragDetails.hoveredTabsWindow&&i.closest(".smart-tabs-content-section")?t._dragDetails.hoveredTabsWindow.$.tabsElement.$.tabContentSection:t._dragDetails.hoveredTabsWindow),t.shadowRoot&&t._dragDetails.selectedTabsWindow===t._dragDetails.windowFeedback&&requestAnimationFrame((()=>{t._dragDetails&&t._dragDetails.windowFeedback.refreshTabHeader()})),t._setSnappingMarkers(e,d)}_setDragDetailsOnMove(e){const t=this;let i;if(!t.hasAttribute("dragged")){t._originalBodyOverflow={overflowX:document.body.style.overflowX,overflowY:document.body.style.overflowY,overflow:document.body.style.overflow};const e=(document.scrollingElement||document.documentElement).scrollHeight>document.documentElement.clientHeight,a=(document.scrollingElement||document.documentElement).scrollWidth>document.documentElement.clientWidth;let o=t._dragDetails.selectedTabsWindow;if(document.body.style.overflow=document.body.style.overflowX=document.body.style.overflowY="",e&&!a?document.body.style.overflowX="hidden":a&&!e?document.body.style.overflowY="hidden":a||e||(document.body.style.overflow="hidden"),t._dragDetails.windowFeedback.$.hasClass("smart-tabs-window-feedback")||o===t.$.autoHideWindow){const e=t._dragDetails.selectedTabLabel.tab||t.$.autoHideWindow._tab;let i=t.$.tabsWindowFeedback;o===t.$.autoHideWindow&&(o=t.$.autoHideWindow._tabsWindow,i=t._dragDetails.windowFeedback,i.label=e.label,i.draggable=e.draggable,i.floatable=e.floatable),Smart.Utilities.Core.isMobile&&navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)&&(t._dragDetails.selectedTabLabel._lazyRemove=!0),e.parentElement&&(o.removeChild(e),t._dragDetails.selectedItem&&!t._dragDetails.selectedItem.style.width&&t._dragDetails.selectedItem.closest("smart-splitter").refresh()),t._originalTabIndex=e.index,i.appendChild(e);const a=t._dragDetails.selectedTabsWindow;if(a===t.$.autoHideWindow)a._tabsWindow.items.length>1&&(i.tabPosition=a.tabPosition,i.tabTextOrientation=a._originalTextOrientation||a.tabTextOrientation);else{const e=a.autoHide;i.tabPosition=a._originalTabPosition||(e?"top":a.tabPosition),i.tabTextOrientation=a._originalTextOrientation||(e?"horizontal":a.tabTextOrientation)}if(e._autoHideWindowSize)i.size=e._autoHideWindowSize;else if(o.autoHide){const e="offset"+("top"===o.tabPosition||"bottom"===o.tabPosition?"Height":"Width");i.size=(o._autoHideWindow||o)[e]}}i=t._dragDetails.selectedTabsWindow.closest("smart-docking-layout"),!i&&t.shadowRoot&&(i=t._getClosestDockingLayout(t._dragDetails.selectedTabsWindow)),i||t._dragDetails.windowFeedback._originalPinnedState||(t._dragDetails.windowFeedback._originalPinnedState=t._dragDetails.windowFeedback.pinned),t._dragDetails.windowFeedback.pinned=!1,t.setAttribute("dragged","")}t._dragDetails.hoveredItem=e.closest("smart-splitter-item"),t._dragDetails.hoveredItem||!t.shadowRoot&&!t.isInShadowDOM||(t._dragDetails.hoveredItem=t._getClosestElement("smart-splitter-item",e)),t._dragDetails.hoveredItem?(i=t._dragDetails.hoveredItem.closest("smart-docking-layout"),!i&&t.shadowRoot&&(i=t._getClosestDockingLayout(t._dragDetails.hoveredItem)),i&&i===t?t._dragDetails.hoveredTabsWindow=t._dragDetails.hoveredItem.querySelector("smart-tabs-window"):t._dragDetails.hoveredItem=t._dragDetails.hoveredTabsWindow=void 0):t._dragDetails.hoveredTabsWindow=e.closest("smart-tabs-window")||(e.getRootNode()&&e.getRootNode().host?e.getRootNode().host.closest("smart-tabs-window"):void 0),t._dragDetails.hoveredTabsWindow&&(i=t._dragDetails.hoveredTabsWindow.closest("smart-docking-layout"),!i&&t.shadowRoot&&(i=t._getClosestDockingLayout(t._dragDetails.hoveredTabsWindow)),i&&i!==t?t._dragDetails.hoveredTabsWindow=void 0:t._dragDetails.hoveredTabsWindow.bringToFront())}_documentDragStartHandler(e){const t=this;(t.contains(e.target)||t.contains(e.composedPath()[0])||"simple"===t.snapMode&&t._dragDetails&&t._dragDetails.selectedTabLabel)&&e.preventDefault()}_documentSelectStartHandler(e){this._dragDetails&&this._dragDetails.started&&e.preventDefault()}_documentUpHandler(e){const t=this,i=e.originalEvent||e,a=i.target.getRootNode().host?i.composedPath()[0]:i.target;if(!t._dragDetails||t._dragDetails&&!t._dragDetails.started||t.disabled)return void delete t._dragDetails;t._noStateChangeFiring=!0,t.removeAttribute("dragged"),t._dragDetails.windowFeedback.removeAttribute("tabs-window-dragged"),t._dragDetails.windowFeedback.removeAttribute("ontop");let o=a.closest&&a.closest("smart-docking-layout");o||!t.shadowRoot&&!t.isInShadowDOM||(o=t._getClosestDockingLayout(a)),e.ctrlKey&&(t._snapFeedback._position=o=void 0);const s=t._snapFeedback?t._snapFeedback._position:void 0;if(!o&&!s||o&&!t._dragDetails.hoveredTabArea&&!s)t._dropWindowOutsideLayout(e,s,o);else if(t._dragDetails.hoveredTabsWindow&&s){if(t._dragDetails.hoveredTabArea&&t._dragDetails.hoveredTabArea.classList.contains("smart-tabs-header-section")){let e,i,o,s=t._dragDetails.hoveredTabsWindow.itemLabels.length,n=a.closest(".smart-tab-label-container");if(n&&!n.$.hasClass("smart-add-new-tab")&&n.tab||(n=t._dragDetails.hoveredTabsWindow.itemLabels[s-1],e=!0),i=t._dragDetails.selectedTabLabel.$.hasClass("smart-tab-label-container")&&t._dragDetails.windowFeedback.$.hasClass("smart-tabs-window-feedback")?[t._dragDetails.selectedTabLabel.tab]:[].slice.call(t._dragDetails.windowFeedback.items),t._dragDetails.hoveredTabsWindow.autoHide){const e=t._dragDetails.hoveredTabsWindow.tabPosition;o=t._dragDetails.windowFeedback["offset"+("top"===e||"bottom"===e?"Height":"Width")]}for(let a=0;a<i.length;a++)i[a]._autoHideWindowSize=o||t._dragDetails.windowFeedback.size,t._dragDetails.windowFeedback.removeChild(i[a]),t._dragDetails.hoveredTabsWindow.insert(e?s:n.tab.index,{node:i[a]}),s=t._dragDetails.hoveredTabsWindow.items.length;t._dragDetails.targetWindow=t._dragDetails.hoveredTabsWindow}else t._dragDetails.targetWindow=t._handleItemNesting(),t._eventAlreadyFired=!0;t.$.autoHideWindow.close(),t._noStateChangeFiring=!1}if(t.shadowRoot||t.isInShadowDOM){const e=t._dragDetails.targetWindow;setTimeout((()=>e.refreshTabHeader()),100)}t._endDrag()}_dropWindowOutsideLayout(e,t,i){const a=this;let o;if(a.floatable&&(void 0===a._dragDetails.windowFeedback.floatable||a._dragDetails.windowFeedback.floatable)){if(a._dragDetails.windowFeedback.classList.contains("smart-tabs-window-feedback")){const t=a._dragDetails.windowFeedback.items[0];if(t&&void 0!==t.floatable&&!t.floatable)return void a._cancelDragOperation(!0);const i=a._dragDetails.selectedTabLabel.tab;let s=document.createElement("smart-tabs-window");s.opened=!0,s.animation=a.animation,s.rightToLeft=a.rightToLeft,s.theme=a.theme,s.label=i.label,a._dragDetails.windowFeedback.removeChild(i),a._dragDetails.selectedTabLabel.tab.$.removeClass("smart-visibility-hidden"),s.appendChild(a._dragDetails.selectedTabLabel.tab),s.style.left=e.pageX+"px",s.style.top=e.pageY+"px",s.style.maxWidth=s.style.maxHeight="",s.resizeMode=a._dragDetails.selectedTabsWindow.resizeMode,s.tabCloseButtons=a._dragDetails.selectedTabsWindow.tabCloseButtons,s.tabTextOrientation=a._dragDetails.windowFeedback.tabTextOrientation,s.tabPosition=a._dragDetails.windowFeedback.tabPosition,s.min=30,s.style.width=a._dragDetails.windowFeedback.style.width,s.style.height=a._dragDetails.windowFeedback.style.height,s.draggable=void 0===i.draggable||i.draggable,s.floatable=void 0===i.floatable||i.floatable,a.getShadowRootOrBody().appendChild(s),s.pinned=s.autoHide=s.allowToggle=!1,a._noStateChangeFiring=!1,o=s}else a._dragDetails._parentInfo&&a._dragDetails._parentInfo.closestItem?(a._dragDetails.windowFeedback.parentElement!==a.getShadowRootOrBody()&&(a._dragDetails.windowFeedback.windowParent="body",a.getShadowRootOrBody().appendChild(a._dragDetails.windowFeedback)),a._dragDetails.windowFeedback.style.maxWidth=a._dragDetails.windowFeedback.style.maxHeight="",a._dragDetails.windowFeedback.pinned=a._dragDetails.windowFeedback.allowToggle=a._dragDetails.windowFeedback.autoHide=!1,a._dragDetails.selectedTabLabel.$.hasClass("smart-tab-label-container")&&(a._dragDetails.windowFeedback.label=a._dragDetails.selectedTabLabel.tab.label)):t||a._dragDetails.selectedItem instanceof Smart.SplitterItem||!a._dragDetails.selectedTabLabel.$.hasClass("smart-tab-label-container")||a._returnItemToOrigin(a._dragDetails.windowFeedback),o=a._dragDetails.windowFeedback,o.locked=!1,a._dragDetails.selectedItem&&(a._noStateChangeFiring=!1);a.$.autoHideWindow.close(),i||(a._dragDetails.windowFeedback.pinned=!1),a._validateWindowPosition(o),a._dragDetails._parentInfo&&(o._parentInfo={closestItem:a._dragDetails._parentInfo.closestItem,position:a._dragDetails._parentInfo.position}),o.layout=a,a._dragDetails.targetWindow=o,o.resizeMode="both",a._setFloatingItemsHeaderButtons(o),a._ownTabWindow(o)}else a._cancelDragOperation(!0)}_endDrag(){const e=this,t=e._dragDetails,i=e._dragDetails.windowFeedback;if(e.$.tabsWindowFeedback.close(),t.isInsideTheLayout&&0===i.$.tabsElement._tabs.length&&!i.$.hasClass("smart-tabs-window-feedback")&&i.remove(),(e.shadowRoot||e).contains(e._dragDetails.windowFeedback)||void 0===e._dragDetails.windowFeedback._originalPinnedState||(e._dragDetails.windowFeedback.pinned=e._dragDetails.windowFeedback._originalPinnedState,delete e._dragDetails.windowFeedback._originalPinnedState),e._originalBodyOverflow&&(document.body.style.overflow=e._originalBodyOverflow.overflow,document.body.style.overflowX=e._originalBodyOverflow.overflowX,document.body.style.overflowY=e._originalBodyOverflow.overflowY,delete e._originalBodyOverflow),e._dragDetails.targetWindow?(e._dragDetails.targetWindow.focus(),e._dragDetails.selectedTabsWindow&&e._dragDetails.selectedTabsWindow.removeAttribute("active")):e._dragDetails.windowFeedback.bringToFront(),e._dragDetails.started=!1,e._dragDetails.hoveredItem=e._dragDetails.hoveredTabsWindow=e._dragDetails.isInsideTheLayout=void 0,i.removeAttribute("dragged"),e._handleSnapping(),e._dragDetails.selectedTabsWindow&&delete e._dragDetails.selectedTabsWindow._ownerLayout,0===i.items.length&&((e.shadowRoot||e).contains(i)&&(i.opened=!1),i.$.hasClass("smart-tabs-window-feedback")&&e.$.container.appendChild(i)),!e._eventAlreadyFired&&!e._noStateChangeFiring){e._handleAutoSave();let t={item:e._dragDetails.targetWindow};t.type=e._items.indexOf(e._dragDetails.targetWindow)>-1?"dock":"float",e.$.fireEvent("stateChange",t)}e._noStateChangeFiring=e._eventAlreadyFired=void 0,e._dragDetails._parentInfo&&e._dragDetails._parentInfo.closestItem&&e._removeUnneccessaryItems(e._dragDetails._parentInfo.closestItem.closest("smart-splitter"));let a=e._getClosestDockingLayout(i);if(i.closest("smart-docking-layout")||a)return i.style.top=i.style.left="",void delete e._dragDetails;i.top&&(i.style.top=i.top),i.left&&(i.style.left=i.left),e._dragDetails.selectedTabLabel&&e._dragDetails.selectedTabLabel._lazyRemove&&(e._dragDetails.selectedTabLabel&&e._dragDetails.selectedTabLabel.remove(),delete e._dragDetails.selectedTabLabel._lazyRemove),i._cancelDragging(),delete e._dragDetails}_getTabItemContent(e){const t=e.isCompleted?e.$.content:e,i=document.createDocumentFragment();for(;t.firstChild;)i.appendChild(t.firstChild);return i}_getHeaderLabelDimensions(e){const t=this;function i(e){if(!t._dragDetails)return clearInterval(t._scrollInterval),void(t._scrollInterval=void 0);o.scrollLeft+=e,a._updateScrollButtonVisibility(),a._positionTabSelectionBar(a._tabLabelContainers[a.selectedIndex],!0)}if(!t._dragDetails||!t._dragDetails.hoveredTabsWindow)return;const a=t._dragDetails.hoveredTabsWindow.$.tabsElement,o=a.$.tabStrip,s=o.getBoundingClientRect(),n="left"===a.tabPosition||"right"===a.tabPosition,d=t.rightToLeft&&Smart.Utilities.Core.Browser.Chrome?o.scrollLeft-(o.scrollWidth-o.offsetWidth):o.scrollLeft;let l=0,r=0;"horizontal"===a.tabTextOrientation?l=a.$.scrollButtonNear.offsetWidth:r=a.$.scrollButtonNear.offsetHeight,"top"!==a.tabPosition&&"bottom"!==a.tabPosition||(t._scrollInterval&&clearInterval(t._scrollInterval),t._scrollInterval=setInterval((function(){e&&(d||t.rightToLeft)&&e.clientX<=s.left+Math.max(l,20)?i(-1):e&&d!==(t.rightToLeft?0:o.scrollWidth)&&e.clientX>=s.left+s.width-Math.max(l,20)?i(1):(clearInterval(t._scrollInterval),t._scrollInterval=void 0)}),1));let m,c,g=0,p=0;if(t._dragDetails.hoveredTabArea)m=t._dragDetails.hoveredTabArea.offsetWidth,c=t._dragDetails.hoveredTabArea.offsetHeight,g=t._dragDetails.hoveredTabArea.offsetLeft,p=t._dragDetails.hoveredTabArea.offsetTop;else if(o.children.length>0){const e=a.$.tabStrip.children[a.$.tabStrip.children.length-1];g=e.offsetLeft+(t.rightToLeft?-1:1)*(n?0:e.offsetWidth),p=e.offsetTop+(n?e.offsetHeight:0),m=e.offsetWidth,c=e.offsetHeight}t._dragDetails.hoveredTabArea=a.$.tabsHeaderSection;const h=t._dragDetails.hoveredTabArea.getBoundingClientRect(),_=s.left-h.left+h.left+g-d-l,b=s.top-h.top+h.top+p-o.scrollTop-r,f=Math.min(g-d-l,0),u=Math.min(p-o.scrollTop-r,0);return{width:Math.min(s.width,Math.max(0,m+f),Math.max(0,s.left+s.width-_)),height:Math.min(s.height,Math.max(0,c+u),Math.max(0,s.top+s.height-b)),top:b+window.pageYOffset-u,left:_+window.pageXOffset-f}}_handleAutoSave(){this.autoSaveState&&this.saveState()}_handleAutoHiddenSplitterBars(){const e=this.$.itemsContainer.querySelectorAll(".auto-hide-left,.auto-hide-right, .auto-hide-top, .auto-hide-bottom");for(let t=0;t<e.length;t++)e[t].previousElementSibling instanceof Smart.SplitterBar?e[t].previousElementSibling.hide():e[t].nextElementSibling instanceof Smart.SplitterBar&&e[t].nextElementSibling.hide()}_handleItemPositionInserting(e,t,i){const a=this;e.autoHide||i.indexOf("layout")>-1?a._handleLayoutItemInserting(t,e,i):i.indexOf("outside-")>-1?a._handleOutsideItemInserting(t,e,i):(i.indexOf("inside-")>-1?a._handleInsideItemInserting(t,e,i):a._handleNormalItemInserting(t,e,i),a._handleAutoSave(),a.$.fireEvent("stateChange",{type:"dock",item:e}),a._setSplitterBarVisibility())}_handleInsideItemInserting(e,t,i){const a=this,o=document.createElement("smart-splitter-item"),s=document.createElement("smart-splitter-item");let n,d=e.closest("smart-splitter-item"),l=e.closest("smart-splitter"),r=a._items.indexOf(e);n=l&&1===l._items.length?l:document.createElement("smart-splitter"),n._isInShadowDOM=a.isInShadowDOM,n.autoFitMode="proportional",n.liveResize=a.liveResize,n.resizeStep=a.resizeStep,t.windowParent=null,o.appendChild(t),e.windowParent=null,i=i.replace("inside-",""),n.orientation="top"===i||"bottom"===i?"horizontal":"vertical";const m=d["horizontal"===n.orientation?"offsetHeight":"offsetWidth"]/2;if(n.parentElement?n.insertBefore(o,"top"===i||"left"===i?d:null):(s.appendChild(e),e.min&&(s.min=e.min),"top"===i||"left"===i?(n.appendChild(o),n.appendChild(s)):(n.appendChild(s),n.appendChild(o)),d.appendChild(n)),t.size){const e="string"==typeof t.size&&t.size.indexOf("%")>-1;o.size=e?t.size:Math.min(m,parseFloat(t.size))}o.max=t.max||"",o.min=t.min?t.min:30,o.locked=t.locked||!1,o.collapsible=t.collapsible||!1,o.collapsed=t.collapsed||!1,"bottom"!==i&&"right"!==i||(r=Math.min(r+1,a._items.length)),t.pinned=!0,t.autoHide=t.allowToggle=t.maximized=t.minimized=t.collapsed=!1,t._originalTabPosition?(t.tabPosition=t._originalTabPosition,delete t._originalTabPosition):t.tabPosition="top",t._originalTextOrientation?(t.tabTextOrientation=t._originalTextOrientation,delete t._originalTextOrientation):t.tabTextOrientation="horizontal",a._items.splice(r,0,t),a._handleAutoHiddenSplitterBars()}_handleLayoutItemInserting(e,t,i){const a=this,o=document.createElement("smart-splitter-item"),s="bottom"===i||"top"===i?"offsetHeight":"offsetWidth";if(t.size||(t.size=t[s]),i=i.replace("layout-",""),o.size=t.size||"",o.max=t.max||"",o.min=t.min||"",o.locked=t.locked||!1,o.collapsible=t.collapsible||!1,o.collapsed=t.collapsed||!1,o.size&&!a._dockingAutoHideTabItem&&(o.size=Math.min(a[s]/2,parseFloat(t.size))),("horizontal"!==a.$.itemsContainer.orientation||"right"!==i&&"left"!==i)&&("vertical"!==a.$.itemsContainer.orientation||"top"!==i&&"bottom"!==i)){const e=i.indexOf("left")>-1||i.indexOf("top")>-1?a._items.filter((e=>e.opened))[0]:void 0;return t.windowParent=null,o.appendChild(t),a.insertBefore(o,e,a.$.itemsContainer),!0}{let e,s=a.$.itemsContainer.orientation;const n=a.$.itemsContainer,d=[].slice.call(n._items),l=function(e,t){n.appendChild(e),n.insertBefore(t,"right"===i||"bottom"===i?null:e)};t.windowParent=null,o.appendChild(t),d.map((e=>e.size=e[n._measurements.size])),"right"===i||"bottom"===i?a._items.push(t):a._items.splice(0,0,t),n.removeAll(),n.orientation="top"===i||"bottom"===i?"horizontal":"vertical";const r=n[n._measurements.size]-o.size;if(d.length>1){const t=document.createElement("smart-splitter");t._isInShadowDOM=a.isInShadowDOM,t.autoFitMode="end",t.orientation=s,t.liveResize=a.liveResize,t.resizeStep=a.resizeStep,e=document.createElement("smart-splitter-item"),e.min=30,e.appendChild(t),e.size=r,l(e,o);for(let e=0;e<d.length;e++)t.appendChild(d[e]);t.autoFitMode="proportional"}else d[0].size=r,a._dockingAutoHideTabItem&&(n.autoFitMode="end"),l(d[0],o),n.autoFitMode="proportional";a._handleAutoHiddenSplitterBars(),a._handleAutoSave(),a.$.fireEvent("stateChange",{type:"dock",item:t}),a._setSplitterBarVisibility()}}_handleNormalItemInserting(e,t,i){let a=e.closest("smart-splitter-item");const o=this,s=e.closest("smart-splitter"),n=document.createElement("smart-splitter-item"),d="right"===i||"bottom"===i?s._items.indexOf(a)+1:s._items.indexOf(a);let l=o._items.indexOf(e);t.windowParent=null,n.appendChild(t),n.size=t.size||"",n.min=t.min||"",s.insert(d,n),"bottom"!==i&&"right"!==i||(l=Math.min(l+1,o._items.length)),t.pinned=!0,t.locked=!1,t.autoHide=t.allowToggle=t.maximized=t.minimized=t.collapsed=!1,t._originalTabPosition?(t.tabPosition=t._originalTabPosition,delete o._originalTabPosition):t.tabPosition="top",t._originalTextOrientation?(t.tabTextOrientation=t._originalTextOrientation,delete t._originalTextOrientation):t.tabTextOrientation="horizontal",o._items.splice(l,0,t),o._handleAutoHiddenSplitterBars()}_handleOutsideItemInserting(e,t,i){const a=this,o=document.createElement("smart-splitter-item");let s=e.closest("smart-splitter");if(s||(s=a.$.itemsContainer),o.size=t.size||"",o.max=t.max||"",o.min=t.min||"",o.locked=t.locked||!1,o.collapsible=t.collapsible||!1,o.collapsed=t.collapsed||!1,s===a.$.itemsContainer)return t.windowParent=null,o.appendChild(t),a.insertBefore(o,i.indexOf("left")>-1||i.indexOf("top")>-1?a._items[0]:void 0,a.$.itemsContainer),!0;{let n=s.closest("smart-splitter-item");const d=document.createElement("smart-splitter"),l=document.createElement("smart-splitter-item");if(d._isInShadowDOM=a.isInShadowDOM,i=i.replace("outside-",""),d.autoFitMode="proportional",d.liveResize=a.liveResize,d.resizeStep=a.resizeStep,t.windowParent=null,o.appendChild(t),l.min=30,l.appendChild(s),d.orientation="top"===i||"bottom"===i?"horizontal":"vertical",n.appendChild(d),"right"===i||"bottom"===i?(d.appendChild(l),d.appendChild(o),a._items.splice(a._items.indexOf(e)+1,0,t)):(d.appendChild(o),d.appendChild(l),a._items.splice(a._items.indexOf(e),0,t)),o.size){const e=o.size;o.size="",o.size=e}else o.size=d[d._measurements.size]/2;a._handleAutoHiddenSplitterBars(),a._handleAutoSave(),a.$.fireEvent("stateChange",{type:"dock",item:t}),a._setSplitterBarVisibility()}}refresh(){this._handleLayout()}_handleLayout(){const e=this;if(e._items=[],"string"==typeof e.layout&&(e.layout=JSON.parse(e.layout)),null!==e.layout&&Array.isArray(e.layout))return void e._createItemsFromArray(e.layout);const t=Array.from(e.$.itemsContainer.children);e.$.itemsContainer.innerHTML="";for(let i=0;i<t.length;i++){"Smart-TABS-WINDOW"!==t[i].tagName&&t[i].parentElement.removeChild(t[i]),t[i].layout=e;const a=document.createElement("smart-splitter-item");a.appendChild(t[i]),e.$.itemsContainer.appendChild(a),e._items.push(t[i])}}_handleSnapping(e,t){const i=this;"simple"===i.snapMode?i._handleSimpleSnapping(e,t):i._handleAdvancedSnapping(t)}_handleAdvancedSnapping(e){const t=this;if(!t._dragDetails)return;if(t._snapFeedback&&!t._dragDetails.hoveredTabsWindow&&(t._snapFeedback._position=void 0,t._snapFeedback.areaHighlighter&&t._snapFeedback.areaHighlighter.remove(),t._snapFeedback.headerHighlighter&&t._snapFeedback.headerHighlighter.remove(),!t._dragDetails.hoveredItem)){if(t._snapFeedback.innerSnapElement&&t._snapFeedback.innerSnapElement.remove(),t._snapFeedback.outherSnapElement&&!t._dragDetails.isInsideTheLayout){const e=[].slice.call(t.$.container.children);for(let i=0;i<e.length;i++)e[i].className.indexOf("smart-docking-layout-snap")>-1&&t._snapFeedback.outherSnapElement.appendChild(e[i])}return}if(t._snapFeedback||(t._snapFeedback={innerSnapElement:document.createElement("div"),outherSnapElement:document.createElement("div"),areaHighlighter:document.createElement("div"),headerHighlighter:document.createElement("div")},t._snapFeedback.innerSnapElement.classList.add("smart-docking-layout-snap"),t._snapFeedback.areaHighlighter.classList.add("smart-docking-layout-snap-highlighter"),t._snapFeedback.headerHighlighter.classList.add("smart-docking-layout-snap-highlighter-header"),t._snapFeedback.innerSnapElement.innerHTML='\n <div>\n <div class="top">\n <div><div></div></div>\n </div>\n </div>\n <div>\n <div class="left">\n <div><div></div></div>\n </div>\n <div class="center">\n <div><div></div></div>\n </div>\n <div class="right">\n <div><div></div></div>\n </div>\n </div>\n <div>\n <div class="bottom">\n <div><div></div></div>\n </div>\n </div>',t._snapFeedback.outherSnapElement.innerHTML='\n <div class="smart-docking-layout-snap layout-top">\n <div><div></div></div>\n </div>\n <div class="smart-docking-layout-snap layout-left">\n <div><div></div></div>\n </div>\n <div class="smart-docking-layout-snap layout-right">\n <div><div></div></div>\n </div>\n <div class="smart-docking-layout-snap layout-bottom">\n <div><div></div></div>\n </div>'),t._snapFeedback.areaHighlighter.parentElement&&(t._snapFeedback.areaHighlighter.removeAttribute("position"),t._snapFeedback.areaHighlighter.classList.remove("smart-hidden")),t._snapFeedback.areaHighlighter.style.width="",t._snapFeedback.areaHighlighter.style.height="",t._snapFeedback._position=!t._dragDetails.hoveredItem||t._dragDetails.hoveredItem instanceof Smart.SplitterItem?"":t._dragDetails.hoveredItem.className,t._dragDetails.hoveredItem&&t._dragDetails.hoveredItem.className.indexOf("layout-")>-1){t._snapFeedback._position=t._snapFeedback._position.replace("smart-docking-layout-snap ",""),t._snapFeedback.areaHighlighter.setAttribute("position",t._snapFeedback._position);const e=t._dragDetails.selectedTabsWindow;return void(e.dropPosition.indexOf("all")>-1||e.dropPosition.indexOf(t._snapFeedback._position)>-1?(t._dragDetails.hoveredItem.setAttribute("show",""),t.$.container.appendChild(t._snapFeedback.areaHighlighter),t._dragDetails.hoveredTabsWindow=!0,["layout-left","layout-right"].indexOf(t._snapFeedback._position)>-1?t._snapFeedback.areaHighlighter.style.width=t._dragDetails.windowFeedback.style.width||t._dragDetails.windowFeedback.offsetWidth+"px":["layout-top","layout-bottom"].indexOf(t._snapFeedback._position)>-1&&(t._snapFeedback.areaHighlighter.style.height=t._dragDetails.windowFeedback.style.height||t._dragDetails.windowFeedback.offsetHeight+"px")):(t._dragDetails.hoveredItem.removeAttribute("show"),t._snapFeedback._position=void 0))}let i=t._dragDetails.hoveredTabsWindow?t._dragDetails.hoveredTabsWindow.dropPosition:["all"];if(0===i.length&&(i=["all"]),t._dragDetails.hoveredTabsWindow instanceof Smart.TabsWindow&&t._dragDetails.hoveredTabArea&&t._dragDetails.hoveredTabArea.closest(".smart-tabs-header-section")&&(i.indexOf("all")>-1||i.indexOf("header")>-1)){t._dragDetails.hoveredTabArea=t._dragDetails.hoveredTabArea.classList.contains("smart-tab-label-container")?t._dragDetails.hoveredTabArea:void 0;const i=t._getHeaderLabelDimensions(e),a=t._snapFeedback.headerHighlighter;a.style.width=i.width+"px",a.style.height=i.height+"px",a.style.top=i.top+"px",a.style.left=i.left+"px",a.classList.remove("smart-hidden"),t.getShadowRootOrBody().contains(a)||t.getShadowRootOrBody().appendChild(a),t._snapFeedback._position="header"}else t._scrollInterval&&(clearInterval(t._scrollInterval),t._scrollInterval=void 0),t._snapFeedback.headerHighlighter.style.width=t._snapFeedback.headerHighlighter.style.height=0;const a=t._snapFeedback.innerSnapElement.closest("smart-splitter-item");if(t._dragDetails.hoveredItem instanceof Smart.SplitterItem){if(a&&t._dragDetails.hoveredItem!==a&&a.removeChild(t._snapFeedback.innerSnapElement),t._dragDetails.hoveredItem.className.indexOf("auto-hide")<0){const e=t._snapFeedback.innerSnapElement.querySelectorAll(".top, .bottom, .left, .right, .center");for(let t=0;t<e.length;t++)i.indexOf(e[t].className)>-1||0===i.indexOf("all")?e[t].setAttribute("show",""):e[t].removeAttribute("show");t._snapFeedback.innerSnapElement.classList.remove("smart-hidden"),t._dragDetails.hoveredItem.contains(t._snapFeedback.innerSnapElement)||t._dragDetails.hoveredItem.appendChild(t._snapFeedback.innerSnapElement)}const e=[].slice.call(t._snapFeedback.outherSnapElement.children),o=t._dragDetails.selectedTabsWindow;let s;for(let i=0;i<e.length;i++)s=e[i].className.replace("smart-docking-layout-snap ",""),e[i].classList.remove("smart-hidden"),o.dropPosition.indexOf("all")>-1||o.dropPosition.indexOf(s)>-1?e[i].setAttribute("show",""):e[i].removeAttribute("show"),t.$.container.appendChild(e[i])}if(!t._snapFeedback._position||i.indexOf("all")<0&&i.indexOf(t._snapFeedback._position)<0)t._snapFeedback._position=t._dragDetails.hoveredTabArea=void 0;else if("center"===t._snapFeedback._position&&t._items.filter((e=>e.opened)).length>0&&(t._dragDetails.hoveredTabArea=t._dragDetails.hoveredTabsWindow.$.tabsElement.$.tabsHeaderSection),["left","right"].indexOf(t._snapFeedback._position)>-1?t._snapFeedback.areaHighlighter.style.width=t._dragDetails.windowFeedback.style.width||t._dragDetails.windowFeedback.offsetWidth+"px":["top","bottom"].indexOf(t._snapFeedback._position)>-1&&(t._snapFeedback.areaHighlighter.style.height=t._dragDetails.windowFeedback.style.height||t._dragDetails.windowFeedback.offsetHeight+"px"),t._snapFeedback.areaHighlighter.setAttribute("position",t._snapFeedback._position),"header"===t._snapFeedback._position)t._dragDetails.hoveredTabsWindow.$.tabsElement.$.tabContentSection.appendChild(t._snapFeedback.areaHighlighter);else{const e=t._dragDetails.hoveredTabsWindow.closest("smart-splitter").orientation;("left"!==t._snapFeedback._position&&"right"!==t._snapFeedback._position||"horizontal"!==e)&&("top"!==t._snapFeedback._position&&"bottom"!==t._snapFeedback._position||"vertical"!==e)||(t._snapFeedback._position="inside-"+t._snapFeedback._position),t._dragDetails.hoveredItem.closest("smart-splitter-item").appendChild(t._snapFeedback.areaHighlighter)}}_handleSimpleSnapping(e,t){const i=this;if(!e)return i._dragDetails&&(i._dragDetails.hoveredTabsWindow=i._dragDetails.hoveredTabArea=void 0),void(i._snapFeedback instanceof HTMLElement&&(i._snapFeedback._position=void 0,i.getShadowRootOrBody().contains(i._snapFeedback)&&i._snapFeedback.classList.add("smart-visibility-hidden")));i._snapFeedback||(i._snapFeedback=document.createElement("div"),i._snapFeedback.addEventListener("transitionend",(function(){i._snapFeedback.classList.contains("smart-visibility-hidden")&&i.getShadowRootOrBody().contains(i._snapFeedback)&&i._snapFeedback.remove()})));for(let e=0;e<i._snapFeedback.classList.length;e++)i._snapFeedback.classList[e].indexOf("smart-docking-snap-")>-1&&i._snapFeedback.classList.remove(i._snapFeedback.classList[e]);i._snapFeedback._position=e,e=e.replace("inside-",""),i._snapFeedback.classList.add("smart-docking-snap-"+e+"-feedback"),i._snapFeedback.classList.remove("smart-visibility-hidden");let a,o,s,n,d,l=0===e.indexOf("layout")?i._dragDetails.selectedTabsWindow.dropPosition:i._dragDetails.hoveredTabsWindow.dropPosition;0===l.length&&(l=["all"]),l.indexOf("all")>-1||l.indexOf(e)>-1?i._snapFeedback.removeAttribute("disabled"):(i._snapFeedback.setAttribute("disabled",""),i._snapFeedback._position=void 0);const r=i.getBoundingClientRect(),m=getComputedStyle(i._dragDetails.hoveredTabsWindow.$.contentSection),c=parseFloat(m.getPropertyValue("padding-left")||0),g=parseFloat(m.getPropertyValue("padding-right")||0),p=parseFloat(m.getPropertyValue("padding-top")||0),h=parseFloat(m.getPropertyValue("padding-bottom")||0),_=i.$.verticalHiddenItemsContainer.getElementsByClassName("auto-hide-left")[0],b=i.$.horizontalHiddenItemsContainer.getElementsByClassName("auto-hide-top")[0];switch(i._snapFeedback.style.display="",e){case"header":{const e=i._getHeaderLabelDimensions(t);a=e.width,o=e.height,s=e.top,n=e.left,a&&o||(i._snapFeedback.style.display="none");break}case"left":case"right":d=i._dragDetails.hoveredTabArea.getBoundingClientRect(),o=i._dragDetails.hoveredTabArea.offsetHeight,a=i._dragDetails.hoveredTabArea.offsetWidth/2,s=d.top+window.pageYOffset,n=d.left+("right"===e?i._dragDetails.hoveredTabArea.offsetWidth/2:0)+window.pageXOffset;break;case"top":case"bottom":d=i._dragDetails.hoveredTabArea.getBoundingClientRect(),o=i._dragDetails.hoveredTabArea.offsetHeight/2,a=i._dragDetails.hoveredTabArea.offsetWidth,s=d.top+window.pageYOffset+("bottom"===e?i._dragDetails.hoveredTabArea.offsetHeight/2:0),n=d.left+window.pageXOffset;break;case"layout-left":case"layout-right":i.getShadowRootOrBody().contains(i._snapFeedback)&&void 0===i._snapFeedback.maxWidth&&(i._snapFeedback.maxWidth=parseFloat(getComputedStyle(i._snapFeedback).getPropertyValue("max-width"))||0),a=.07*i.$.itemsContainer.offsetWidth-(c+g),i._snapFeedback.maxWidth&&(a=Math.min(i._snapFeedback.maxWidth,a)),o=i.$.itemsContainer.offsetHeight-(p+h),s=r.top+window.pageYOffset+p+(b?b.offsetHeight:0),n=r.left+window.pageXOffset+("layout-left"===e?c:0)+(_?_.offsetWidth:0)+("layout-right"===e?i.$.itemsContainer.offsetWidth-a-g:0);break;case"layout-top":case"layout-bottom":i.getShadowRootOrBody().contains(i._snapFeedback)&&void 0===i._snapFeedback.maxHeight&&(i._snapFeedback.maxHeight=parseFloat(getComputedStyle(i._snapFeedback).getPropertyValue("max-height"))||0),o=.07*i.$.itemsContainer.offsetHeight-(p+h),i._snapFeedback.maxHeight&&(o=Math.min(i._snapFeedback.maxHeight,o)),a=i.$.itemsContainer.offsetWidth-(c+g),s=r.top+window.pageYOffset+(b?b.offsetHeight:0)+("layout-bottom"===e?i.$.itemsContainer.offsetHeight-o+p:p),n=r.left+window.pageXOffset+c+(_?_.offsetWidth:0)}i._snapFeedback.style.height=o+"px",i._snapFeedback.style.width=a+"px",i._snapFeedback.style.left=n+"px",i._snapFeedback.style.top=s+"px",i._snapFeedback._position||(i._dragDetails.hoveredTabArea=void 0),i._snapFeedback&&!i.getShadowRootOrBody().contains(i._snapFeedback)&&i.getShadowRootOrBody().appendChild(i._snapFeedback)}_handleItemNesting(){const e=this;let t=e._dragDetails.windowFeedback;if(t.classList.contains("smart-tabs-window-feedback")){let i=document.createElement("smart-tabs-window");const a=e._dragDetails.selectedTabLabel.tab;i.min=30,i.opened=i.pinned=!0,i.headerPosition=e._dragDetails.selectedTabsWindow.headerPosition,i.tabCloseButtons=e._dragDetails.selectedTabsWindow.tabCloseButtons,e._dragDetails.selectedTabsWindow.autoHide?(i.tabTextOrientation=e._dragDetails.selectedTabsWindow._originalTextOrientation||"horizontal",i.tabPosition=e._dragDetails.selectedTabsWindow._originalTabPosition||"top"):(i.tabPosition=e._dragDetails.selectedTabsWindow.tabPosition,i.tabTextOrientation=e._dragDetails.selectedTabsWindow.tabTextOrientation),i.animation=e.animation,i.rightToLeft=e.rightToLeft,i.theme=e.theme,e._snapFeedback._position.indexOf("top")>-1||e._snapFeedback._position.indexOf("bottom")>-1?i.size=parseFloat(t.style.height)||t.offsetHeight:i.size=parseFloat(t.style.width)||t.offsetWidth,i.label=a.label,i.id="",e._dragDetails.windowFeedback.removeChild(a),i.appendChild(a),i.style.left=i.style.top="",i.draggable=void 0===a.draggable||a.draggable,i.floatable=void 0===a.floatable||a.floatable,t=i}else{const i=t.context;t.context=t,t.windowParent=null,t.context=i,t.animation=e.animation,t.rightToLeft=e.rightToLeft,t.theme=e.theme,e._snapFeedback._position.indexOf("top")>-1||e._snapFeedback._position.indexOf("bottom")>-1?t.size=parseFloat(t.style.height)||t.offsetHeight:t.size=parseFloat(t.style.width)||t.offsetWidth,t.style.top=t.style.left=t.style.width=t.style.height="",t.pinned=!0,t.locked=t._originalLocked,t._originalTabPosition||(e._dragDetails.selectedTabsWindow.classList.contains("smart-docking-layout-auto-hide-window")?t._originalTabPosition="top":t._originalTabPosition=t.tabPosition)}return e._insert(e._items.indexOf(e._dragDetails.hoveredTabsWindow),t,e._snapFeedback._position),e._disownTabWindow(t),t}_handleWindowOnDrag(){const e=this;if(e._dragDetails.windowFeedback.hasAttribute("dragged"))return;let t=e._dragDetails.selectedItem,i=e._dragDetails.selectedTabsWindow,a=i.closest("smart-splitter");if(e._setWindowFeedbackSize(),i!==e.$.autoHideWindow||e._dragDetails._parentInfo){if(a&&a!==e.$.itemsContainer&&1===a._items.length)for(;1===a._items.length&&a!==e.$.itemsContainer;)a=a.parentElement.closest("smart-splitter"),t=t.parentElement.closest("smart-splitter-item");if(!e._dragDetails._parentInfo)if(e._dragDetails._parentInfo={},i.closest("smart-docking-layout")===e||e._getClosestDockingLayout(i)===e){if(i.autoHide)e._dragDetails._parentInfo.closestItem=e.$.itemsContainer,e._dragDetails._parentInfo.position=i.tabPosition,i._originalTabPosition&&(i.tabPosition=i._originalTabPosition),i._originalTextOrientation&&(i.tabTextOrientation=i._originalTextOrientation);else if(a){const i=a._items.indexOf(t);1===a._items.length?(e._dragDetails._parentInfo.position="horizontal"===a.orientation?"top":"left",e._dragDetails._parentInfo.closestItem=void 0):(0===i?(e._dragDetails._parentInfo.position="horizontal"===a.orientation?"top":"left",e._dragDetails._parentInfo.closestItem=a._items[i+1].getElementsByTagName("smart-tabs-window")[0]):(e._dragDetails._parentInfo.position="horizontal"===a.orientation?"bottom":"right",e._dragDetails._parentInfo.closestItem=a._items[i-1].getElementsByTagName("smart-tabs-window")[0]),e._dragDetails._parentInfo.closestItemSize=e._dragDetails._parentInfo.closestItem[a._measurements.size],a!==e._dragDetails._parentInfo.closestItem.closest("smart-splitter")?a===e.$.itemsContainer?e._dragDetails._parentInfo.position="layout-"+e._dragDetails._parentInfo.position:e._dragDetails._parentInfo.position="outside-"+e._dragDetails._parentInfo.position:2===a._items.length&&(e._dragDetails._parentInfo.position="inside-"+e._dragDetails._parentInfo.position))}}else e._dragDetails._parentInfo.position={top:i.offsetTop,left:i.offsetLeft}}else e._dragDetails._parentInfo={},i._tabsWindow.items.length>1?(e._dragDetails._parentInfo.closestItem=i._tabsWindow,e._dragDetails._parentInfo.position=e.$.autoHideWindow._tab.index):(e._dragDetails._parentInfo.closestItem=e.$.itemsContainer,e._dragDetails._parentInfo.position=i._tabsWindow.tabPosition,e._dragDetails.windowFeedback.headerButtons=e.$.autoHideWindow._tabsWindow.headerButtons,e._noStateChangeFiring=!0,e.undock(e._dragDetails.windowFeedback)),e._originalTabIndex=void 0;if(a)e._dragDetails.windowFeedback.size=e._dragDetails.windowFeedback[a._measurements.size];else if(i===e.$.autoHideWindow){const t=e.$.autoHideWindow._tabsWindow.tabPosition;e._dragDetails.windowFeedback.size=e.$.autoHideWindow["offset"+("top"===t||"bottom"===t?"Height":"Width")]}e._dragDetails.windowFeedback.setAttribute("dragged",""),e._dragDetails.windowFeedback.parentElement!==e.getShadowRootOrBody()&&(e._dragDetails.windowFeedback.windowParent="body",e.getShadowRootOrBody().appendChild(e._dragDetails.windowFeedback),e._ownTabWindow(e._dragDetails.windowFeedback)),("advanced"!==e.snapMode&&"none"===e._dragDetails.windowFeedback.tabPosition||e._dragDetails.windowFeedback.autoHide)&&(e._dragDetails.windowFeedback.tabPosition=e._dragDetails.windowFeedback._originalTabPosition||"top"),e._dragDetails.windowFeedback.autoHide=!1,e._dragDetails.windowFeedback.allowToggle=!1;const o=e._items.indexOf(e._dragDetails.windowFeedback);if(o>-1&&e._items.splice(o,1),t&&t.parentElement){if(0!==e._items.filter((e=>e.opened)).length||e.$.placeholderItem.parentElement||(e.$.itemsContainer._items[0].className.indexOf("auto-hide")>-1?e.$.itemsContainer.insert(1,e.$.placeholderItem):e.$.itemsContainer.insert(0,e.$.placeholderItem)),a){if(a.removeChild(t),a===e.$.itemsContainer){const e=a.querySelectorAll("smart-splitter");for(let t=0;t<e.length;t++)"vertical"===e[t].orientation&&e[t].refresh()}e._dragDetails.initialSplitterOrientation="horizontal"===a.orientation,e._removeUnneccessaryItems(a)}else i===e.$.autoHideWindow&&0===e.$.autoHideWindow._tabsWindow.items.length&&e.$.autoHideWindow._tabsWindow.closest("smart-splitter").removeChild(t);e._setAutoHidePaddings()}}_setWindowFeedbackSize(){const e=this,t=e._dragDetails.selectedTabsWindow;if(!e._dragDetails._isWindowFeedbackSizeSet){let i,a;t.autoHide&&t._autoHideWindow?"top"===t.tabPosition||"bottom"===t.tabPosition?(i=t.offsetWidth+"px",a=t._autoHideWindow.offsetHeight+"px"):(i=t._autoHideWindow.offsetWidth+"px",a=t.offsetHeight+"px"):(i=t.style.width||t.offsetWidth+"px",a=t.style.height||t.offsetHeight+"px"),e._dragDetails.windowFeedback.style.width=i,e._dragDetails.windowFeedback.style.height=a,e._dragDetails._isWindowFeedbackSizeSet=!0}}_insert(e,t,i){const a=this;let o;if("string"==typeof e?(o=a._getItemById(t),o&&(e=a._items.indexOf(o))):e instanceof Smart.TabsWindow&&a.contains(e)&&(e=a._items.indexOf(e)),"number"!=typeof e)return void a.error(a.localize("invalidIndex",{elementType:a.nodeName.toLowerCase(),method:arguments[3]||"insert"}));if("object"!=typeof t||t instanceof HTMLElement){if("string"==typeof t)t=a._getItemById(t);else if(t instanceof Smart.TabItem){let e=t.closest("smart-tabs-window");if(!e&&a.shadowRoot&&t.getRootNode()&&t.getRootNode().host&&(e=t.getRootNode().host.closest("smart-tabs-window")),e&&e.autoHide)return void a._dock(e,i);t=a._createTabsWindowFromObject({label:t.label,items:[{label:t.label,content:t.content}]})}}else t=a._createTabsWindowFromObject(t);if(!(t&&t instanceof Smart.TabsWindow))return void a.error(a.localize("invalidNode",{elementType:a.nodeName.toLowerCase(),method:arguments[3]||"insert"}));if((a.shadowRoot||a).contains(t)&&t.autoHide)return void a._dock(t,i);if(i&&i.indexOf("layout")>-1){const t=a._items.filter((e=>e.opened));e=t>0?i.indexOf("left")>-1||i.indexOf("top")>-1?0:t[t.length-1]:0}o=a._items[e],a._items[e]&&!a._items[e].opened&&(o=a._items.filter((e=>e.opened))[0]),0===a._items.length&&(a.$.itemsContainer.orientation=i.indexOf("left")>-1||i.indexOf("right")>-1?"vertical":"horizontal"),t.style.top=t.style.left="",t.style.width=t.style.height="",t.opened=!0,t.pinned=!0;const s=t.closest("smart-splitter-item");if(o){if(delete t._parentInfo,t.autoHide&&(a.$.verticalHiddenItemsContainer.contains(t)?a.$.verticalHiddenItemsContainer.removeChild(t.closest("smart-splitter-item")):a.$.horizontalHiddenItemsContainer.contains(t)&&a.$.horizontalHiddenItemsContainer.removeChild(t.closest("smart-splitter-item"))),i?a._handleItemPositionInserting(t,o,i):a.insertBefore(t,o||null),s){const e=s.closest("smart-splitter");e&&e.removeChild(s)}if(t.autoHide)a._autoHide(t,i);else{const e=document.scrollingElement||document.documentElement,i=e.scrollLeft,a=e.scrollTop;t.focus(),window.scrollTo(i,a)}a._items.filter((e=>e.opened)).length>0&&a.$.placeholderItem.parentElement&&a.$.itemsContainer.removeChild(a.$.placeholderItem),t.layout=a,t.resizeMode="none",t.minimized=!1,t.maximized=!1,a._setDockedItemsHeaderButtons(t)}else if(a.insertBefore(t,o||null),s){let e=s.closest("smart-splitter");!e&&a.shadowRoot&&s.getRootNode()&&s.getRootNode().host&&(e=s.getRootNode().host.closest("smart-splitter")),e&&e.removeChild(s)}}_itemsContainerCloseHandler(e){const t=this;if(e.target instanceof Smart.Tabs){const i=e.target;return void(0===i._tabs.length&&t.removeChild(i.closest("smart-tabs-window")))}if(!(e.target instanceof Smart.TabsWindow))return;const i=e.target.closest("smart-splitter-item"),a=i.closest("smart-splitter");a&&(a.removeChild(i),t._removeUnneccessaryItems(a)),e.target.close(),e.target.remove(),0!==t._items.filter((e=>e.opened)).length||t.$.placeholderItem.parentElement||t.$.itemsContainer.appendChild(t.$.placeholderItem)}_itemsContainerAutoHideHandler(e){const t=this,i=e.detail.button,a=i.closest("smart-tabs-window")||i.getRootNode().host;if(!a)return;const o=a.closest("smart-splitter-item");if(!o)return;const s=a.closest("smart-splitter");if(!s)return;const n=s.items,d="horizontal"===s.orientation,l=n.indexOf(o)>=n.length/2;d?l?t.autoHideBottom(a):t.autoHideTop(a):l?t.autoHideRight(a):t.autoHideLeft(a)}_itemsContainerMenuHandler(e){const t=this,i=t.$.menu,a=t.getBoundingClientRect(),o=e.detail.button.getBoundingClientRect();i.open(o.left-a.left,o.top-a.top),t._menuOpenButton=e.detail.button}_itemsContainerResizeHandler(){const e=event.target._items?event.target._items[event.detail.firstItem.index]:void 0;this._handleAutoSave(),this.$.fireEvent("stateChange",{type:"resize",item:e})}_keyDownHandler(e){const t=this;if(!t.disabled&&t.hasAttribute("dragged")&&t._snapFeedback)if(e.preventDefault(),"Control"===e.key)if("advanced"===t.snapMode){for(let e in t._snapFeedback)if(t._snapFeedback[e]instanceof HTMLElement){if("outherSnapElement"===e){const e=t.$.container.children;for(let t=0;t<e.length;t++)e[t].className.indexOf("smart-docking-layout-snap")>-1&&e[t].classList.add("smart-hidden");continue}t._snapFeedback[e].classList.add("smart-hidden")}}else t._snapFeedback.classList.add("smart-hidden");else"Escape"===e.key&&t._cancelDragOperation()}_keyUpHandler(e){const t=this;if(!t.disabled&&"Control"===e.key&&t.hasAttribute("dragged")&&t._snapFeedback)if(e.preventDefault(),"advanced"===t.snapMode){for(let e in t._snapFeedback)if(t._snapFeedback[e]instanceof HTMLElement){if("outherSnapElement"===e){const e=t.$.container.children;for(let t=0;t<e.length;t++)e[t].className.indexOf("smart-docking-layout-snap")>-1&&e[t].classList.remove("smart-hidden");continue}t._snapFeedback[e].classList.remove("smart-hidden")}t._handleSnapping()}else t._snapFeedback.classList.remove("smart-hidden")}_loadState(e){this._createItemsFromArray(e,!0)}_removeAll(e){const t=this;function i(e){const t=e._items;if(t)for(let i=0;i<t.length;i++)t[i].$.hasClass("smart-docking-layout-item-holder")||e.removeChild(t[i])}t.$.itemsContainer.removeAll(),i(t.$.horizontalHiddenItemsContainer),i(t.$.verticalHiddenItemsContainer),t._items=[],e||t.$.itemsContainer.appendChild(t.$.placeholderItem)}_removeUnneccessaryItems(e){if(!e)return;const t=this;let i;for(;e._items&&0===e._items.length&&e!==t.$.itemsContainer;)(i=e.closest("smart-splitter-item")).removeChild(e),(e=i.closest("smart-splitter")).removeChild(i)}_returnItemToOrigin(e){const t=this;if(!e||!t._dragDetails)return;let i=t._dragDetails._parentInfo;if(i)if("number"==typeof i.position){const t=[].slice.call(e.items);for(let a=0;a<t.length;a++)e.removeChild(t[a]),i.closestItem.insert(i.position,{node:t[a]})}else"object"==typeof i.position?(e.style.top=i.position.top+"px",e.style.left=i.position.left+"px"):i.closestItem?i.closestItem===t.$.itemsContainer?t._autoHide(e,i.position):t._insert(t._items.indexOf(i.closestItem),e,i.position):t.appendChild(e)}_setAutoHidePaddings(){const e=this,t=e.$.verticalHiddenItemsContainer.getElementsByClassName("auto-hide-left")[0],i=e.$.verticalHiddenItemsContainer.getElementsByClassName("auto-hide-right")[0],a=e.$.horizontalHiddenItemsContainer.getElementsByClassName("auto-hide-top")[0],o=e.$.horizontalHiddenItemsContainer.getElementsByClassName("auto-hide-bottom")[0];a&&(a.style.paddingLeft=t?t.offsetWidth+"px":"",a.style.paddingRight=i?i.offsetWidth+"px":""),o&&(o.style.paddingLeft=t?t.offsetWidth+"px":"",o.style.paddingRight=i?i.offsetWidth+"px":"")}_setDockedItemsHeaderButtons(e){let t=e.headerButtons,i=["close","maximize","minimize"],a=t.filter((e=>i.indexOf(e)<0));a=0===a.length?["close","autoHide"]:t,e.headerButtons=a}_setFloatingItemsHeaderButtons(e){const t=this._dragDetails,i=["close","autoHide"];t&&t.selectedTabsWindow&&t.selectedTabsWindow.classList.contains("smart-docking-layout-auto-hide-window")?e._originalTabPosition="top":e._originalTabPosition=e.tabPosition;let a=e.headerButtons.filter((e=>i.indexOf(e)<0));a=0===a.length?["close","maximize","minimize"]:e.headerButtons,e.headerButtons=a}_setFocusable(){const e=this;if(e.disabled||e.unfocusable)e.removeAttribute("tabindex");else{let t=e.tabIndex>0?e.tabIndex:0;e.setAttribute("tabindex",t)}}_setSnappingMarkers(e,t){const i=this;let a=Smart.Utilities.Core.isMobile?document.elementFromPoint(e.pageX-window.pageXOffset,e.pageY-window.pageYOffset):e.originalEvent.target,o=a.closest&&a.closest("smart-docking-layout");if((a.shadowRoot||i.isInShadowDOM)&&(a=e.originalEvent.composedPath()[0]),o||(o=i._getClosestDockingLayout(a)),"advanced"===i.snapMode){if(e.ctrlKey)return;return i._dragDetails.hoveredItem=a.closest(".smart-docking-layout-snap")?a:i._dragDetails.hoveredItem&&i._dragDetails.hoveredItem.getElementsByTagName("smart-splitter").length>0?void 0:i._dragDetails.hoveredItem,i._dragDetails.hoveredTabArea=t?a.closest(".smart-tab-label-container")||t:i._dragDetails.hoveredTabArea,void i._handleSnapping("",e)}if(!o||o!==i)return void i._handleSnapping();if(!i._dragDetails.hoveredTabsWindow||i._dragDetails.windowFeedback!==i.$.tabsWindowFeedback&&i._dragDetails.hoveredTabsWindow===i._dragDetails.selectedTabsWindow)return i._dragDetails.hoveredItem=a.closest(".smart-docking-layout-snap")?a:i._dragDetails.hoveredItem&&i._dragDetails.hoveredItem.getElementsByTagName("smart-splitter").length>0?void 0:i._dragDetails.hoveredItem,void i._handleSnapping();let s={};if(i._dragDetails.hoveredItem){const e=i._dragDetails.hoveredItem.getBoundingClientRect(),t=i.$.itemsContainer.getBoundingClientRect();s.left=i._dragDetails.hoveredItem?e.left-t.left:0,s.top=i._dragDetails.hoveredItem?e.top-t.top:0}else s.left=s.top=0;const n=i.getBoundingClientRect(),d=i.$.itemsContainer.getBoundingClientRect(),l=Math.max(0,e.pageX-window.pageXOffset-n.left-(d.left-n.left)),r=Math.max(0,e.pageY-window.pageYOffset-n.top-(d.top-n.top));if(i._dragDetails.hoveredTabArea===t)i._dragDetails.hoveredTabArea=a.closest(".smart-tab-label-container"),i._handleSnapping("header",e);else if(i._dragDetails.hoveredItem&&!i._dragDetails.hoveredTabsWindow.autoHide)if(l<.05*i.$.itemsContainer.offsetWidth&&l<.15*i._dragDetails.hoveredItem.offsetWidth)i._handleSnapping("layout-left");else if(l>.95*i.$.itemsContainer.offsetWidth&&l>.85*i._dragDetails.hoveredItem.offsetWidth+i._dragDetails.hoveredItem.offsetLeft)i._handleSnapping("layout-right");else if(r<.05*i.$.itemsContainer.offsetHeight)i._handleSnapping("layout-top");else if(r>.95*i.$.itemsContainer.offsetHeight)i._handleSnapping("layout-bottom");else if(a.closest(".smart-tabs-content-section")){const e=i._dragDetails.hoveredItem.closest("smart-splitter").orientation;l<s.left+.3*i._dragDetails.hoveredTabArea.offsetWidth?i._handleSnapping("horizontal"===e?"inside-left":"left"):l>s.left+.7*i._dragDetails.hoveredTabArea.offsetWidth?i._handleSnapping("horizontal"===e?"inside-right":"right"):r<s.top+i._dragDetails.hoveredTabArea.offsetTop+.5*i._dragDetails.hoveredTabArea.offsetHeight+i._dragDetails.hoveredTabsWindow.$.headerSection.offsetHeight?i._handleSnapping("vertical"===e?"inside-top":"top"):i._handleSnapping("vertical"===e?"inside-bottom":"bottom")}else i._handleSnapping();else i._handleSnapping()}_setSplitterBarVisibility(){const e=this,t=e.$.itemsContainer.getElementsByTagName("smart-splitter-bar");for(let i=0;i<t.length;i++)e.hideSplitterBars?t[i].hide():t[i].show()}_validateWindowPosition(e){e.$.addClass("no-transition","");const t=document.scrollingElement||document.documentElement;t.scrollTop>0?e.style.top=(parseFloat(e.style.top)||e.offsetTop)+"px":e.style.top=Math.max(0,Math.min(parseFloat(e.style.top)||e.offsetTop,document.documentElement.clientHeight-e.offsetHeight))+"px",t.scrollLeft>0?e.style.left=(parseFloat(e.style.left)||e.offsetLeft)+"px":e.style.left=Math.max(0,Math.min(parseFloat(e.style.left)||e.offsetLeft,document.documentElement.clientWidth-e.offsetWidth))+"px",requestAnimationFrame((()=>e.$.removeClass("no-transition")))}_ownTabWindow(e){const t=this,i=e.id;let a=t.getAttribute("aria-owns");a?(a=a.split(" "),-1===a.indexOf(i)&&(a.push(i),t.setAttribute("aria-owns",a.join(" ")))):t.setAttribute("aria-owns",i)}_disownTabWindow(e){const t=this,i=e.id;let a=t.getAttribute("aria-owns");if(!a)return;a=a.split(" ");const o=a.indexOf(i);-1!==o&&(a.splice(o,1).join(" "),a.length>0?t.setAttribute("aria-owns",a):t.removeAttribute("aria-owns"))}_resizeHandler(){const e=this;e.$.autoHideWindow.opened&&e.$.autoHideWindow._tabsWindow&&e.$.autoHideWindow._tabsWindow._setAutoHideWindowSize(e.$.autoHideWindow._tabsWindow.selectedIndex)}});
@@ -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.Utilities.Assign("Draw",class{constructor(t,e){const i=this;i.host=t,i.renderEngine=e||"",i.refresh();const r=["clear","removeElement","attr","getAttr","line","circle","rect","path","pieslice","pieSlicePath","text","measureText"];for(let t in r)i._addFn(Smart.Utilities.Draw.prototype,r[t])}_addFn(t,e){t[e]||(t[e]=function(){return this.renderer[e].apply(this.renderer,arguments)})}_initRenderer(t){return this.createRenderer(this,t)}_internalRefresh(){const t=this;if(t.renderer||(t.host.innerHTML="",t._initRenderer(t.host)),"none"===window.getComputedStyle(t.host).display)return;const e=t.renderer;if(!e)return;const i=e.getRect();t._render({x:1,y:1,width:i.width,height:i.height})}_render(t){this._plotRect=t}refresh(){this._internalRefresh()}getSize(){const t=this._plotRect;return{width:t.width,height:t.height}}toGreyScale(t){if(-1===t.indexOf("#"))return t;const e=this.cssToRgb(t);e[0]=e[1]=e[2]=Math.round(.3*e[0]+.59*e[1]+.11*e[2]);const i=this.rgbToHex(e[0],e[1],e[2]);return"#"+i[0]+i[1]+i[2]}decToHex(t){return t.toString(16)}hexToDec(t){return parseInt(t,16)}rgbToHex(t,e,i){return[this.decToHex(t),this.decToHex(e),this.decToHex(i)]}hexToRgb(t,e,i){return[this.hexToDec(t),this.hexToDec(e),this.hexToDec(i)]}cssToRgb(t){return t.indexOf("rgb")<=-1?this.hexToRgb(t.substring(1,3),t.substring(3,5),t.substring(5,7)):t.substring(4,t.length-1).split(",")}hslToRgb(t){let e,i,r;const s=parseFloat(t[0]),n=parseFloat(t[1]),h=parseFloat(t[2]);if(0===n)e=i=r=h;else{const t=h<.5?h*(1+n):h+n-h*n,a=2*h-t;e=this.hueToRgb(a,t,s+1/3),i=this.hueToRgb(a,t,s),r=this.hueToRgb(a,t,s-1/3)}return[255*e,255*i,255*r]}hueToRgb(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}rgbToHsl(t){const e=parseFloat(t[0])/255,i=parseFloat(t[1])/255,r=parseFloat(t[2])/255,s=Math.max(e,i,r),n=Math.min(e,i,r);let h,a,o=(s+n)/2;if(s===n)h=a=0;else{const t=s-n;switch(a=o>.5?t/(2-s-n):t/(s+n),s){case e:h=(i-r)/t+(i<r?6:0);break;case i:h=(r-e)/t+2;break;case r:h=(e-i)/t+4}h/=6}return[h,a,o]}swap(t,e){const i=t;t=e,e=i}getNum(t){if(t.constructor!==Array){if(isNaN(t))return 0}else for(let e=0;e<t.length;e++)if(!isNaN(t[e]))return t[e];return 0}_ptRotate(t,e,i,r,s){const n=Math.sqrt(Math.pow(Math.abs(t-i),2)+Math.pow(Math.abs(e-r),2)),h=Math.asin((t-i)/n)+s;return{x:t=i+Math.cos(h)*n,y:e=r+Math.sin(h)*n}}log(t,e){return Math.log(t)/(e?Math.log(e):1)}_mod(t,e){const i=Math.abs(t>e?e:t);let r=1;if(0!==i)for(;i*r<100;)r*=10;return(t*=r)%(e*=r)/r}createRenderer(t,e){const i=t;let r=i.renderer=null;return document.createElementNS&&"HTML5"!==i.renderEngine&&(r=new Smart.Utilities.SvgRenderer(this)),null!==r||"HTML5"!==i.renderEngine&&void 0!==i.renderEngine||(r=new Smart.Utilities.HTML5Renderer(this)),r.init(e),i.renderer=r,r}getByPriority(t){let e;for(let i=0;i<t.length;i++){const r=t[i];if(null!=r&&""!==r){e=r;break}}return e}get(t,e,i){return void 0!==i?t[e][i]:t[e]}min(t,e){let i=NaN;for(let r=0;r<t.length;r++){const s=this.get(t,r,e);(isNaN(i)||s<i)&&(i=s)}return i}max(t,e){let i=NaN;for(let r=0;r<t.length;r++){const s=this.get(t,r,e);(isNaN(i)||s>i)&&(i=s)}return i}sum(t,e){let i=0;for(let r=0;r<t.length;r++){const s=this.get(t,r,e);isNaN(s)||(i+=s)}return i}count(t,e){let i=0;for(let r=0;r<t.length;r++){const s=this.get(t,r,e);isNaN(s)||i++}return i}avg(t,e){return this.sum(t,e)/Math.max(1,this.count(t,e))}filter(t,e){if(!e)return t;const i=[];for(let r=0;r<t.length;r++)e(t[r])&&i.push(t[r]);return i}scale(t,e,i,r){if(isNaN(t))return NaN;if((t<Math.min(e.min,e.max)||t>Math.max(e.min,e.max))&&(!r||!0!==r.ignore_range))return NaN;let s=NaN,n=1;if(void 0===e.type||"logarithmic"!==e.type){let i=Math.abs(e.max-e.min);i||(i=1),n=Math.abs(t-Math.min(e.min,e.max))/i}else if("logarithmic"===e.type){let i=e.base;isNaN(i)&&(i=10);let r=Math.min(e.min,e.max);r<=0&&(r=1);let s=Math.max(e.min,e.max);s<=0&&(s=1);const h=this.log(s,i);s=Math.pow(i,h);const a=this.log(r,i);r=Math.pow(i,a);const o=this.log(t,i);n=Math.abs(o-a)/(h-a)}if("logarithmic"===i.type){let t=i.base;isNaN(t)&&(t=10);const e=this.log(i.max,t),r=this.log(i.min,t);i.flip&&(n=1-n);const h=Math.min(r,e)+n*Math.abs(e-r);s=Math.pow(t,h)}else s=Math.min(i.min,i.max)+n*Math.abs(i.max-i.min),i.flip&&(s=Math.max(i.min,i.max)-s+i.min);return s}axis(t,e,i){if(i<=1)return[e,t];(isNaN(i)||i<2)&&(i=2);let r=0;for(;Math.round(t)!==t&&Math.round(e)!==e&&r<10;)t*=10,e*=10,r++;let s=(e-t)/i;for(;r<10&&Math.round(s)!==s;)t*=10,e*=10,s*=10,r++;const n=[1,2,5];let h,a=0;for(;;){let t=a%n.length,e=Math.floor(a/n.length),i=Math.pow(10,e)*n[t];if(t=(a+1)%n.length,e=Math.floor((a+1)/n.length),h=Math.pow(10,e)*n[t],s>=i&&s<h)break;a++}const o=h,l=[];let d=this.renderer._rnd(t,o,!1);const c=r<=0?1:Math.pow(10,r);for(;d<e+o;)l.push(d/c),d+=o;return l}_widgetToImage(t,e,i,r,s){let n=t;if(!n)return!1;void 0!==i&&""!==i||(i="image."+e);let h=n.renderEngine,a=n.animation;if(n.animation="none",n.renderEngine="HTML5",n.renderEngine!==h)try{n.refresh()}catch(t){return n.renderEngine=h,n.refresh(),n.animation=a,!1}let o=n.renderer.getContainer().firstElementChild,l=!0;"function"==typeof r&&(l=r(t,o));let d=!0;return l&&(d=this.exportImage(t,o,e,i,s)),n.renderEngine!==h&&(n.renderEngine=h,n.refresh(),n.animation=a),d}_saveAsImage(t,e){return this._widgetToImage(this,t,e)}saveAsPNG(t){return this._saveAsImage("png",t)}saveAsJPEG(t){return this._saveAsImage("jpeg",t)}exportImage(t,e,i,r,s){if(!e)return!1;let n="pdf"===i.toLowerCase();n&&(i="jpeg"),void 0!==r&&""!==r||(r="image."+i);let h=!0;if("print"!==i){try{if(e)if(n){s=s||"portrait";const n={content:{image:e.toDataURL("image/"+i),width:Math.min(e.width/1.35,"portrait"===s?515:762)},pageOrientation:s};try{pdfMake.createPdf(n).download(r)}catch(e){t.error(t.localize("missingReference",{files:"pdfmake.min.js"}))}}else{Smart.Utilities.DataExporter||t.error(t.localize("missingReference",{files:"smart.export.js"}));const s=new Smart.Utilities.DataExporter;e.toBlob((function(t){s.downloadFile(t,i,r)}))}}catch(t){h=!1}return h}{const t=window.open("","","width=800,height=500"),i=t.document.open(),r='<!DOCTYPE html><html><head><meta charset="utf-8" /><title>jQWidgets Chart</title></head><body><img src="'+e.toDataURL()+'" /></html>';try{i.write(r),i.close(),setTimeout((function(){t.print(),t.close()}),100)}catch(t){}}}}),Smart.Utilities.Assign("Renderer",class{constructor(t){const e=this;e.draw=t,e._gradients={},e._toRadiansCoefficient=2*Math.PI/360}pieSlicePath(t,e,i,r,s,n,h){r||(r=1);const a=Math.abs(s-n),o=a>180?1:0;a>=360&&(n=s+359.99);const l=s*this._toRadiansCoefficient,d=n*this._toRadiansCoefficient;let c=t,p=t,u=e,g=e;const f=!isNaN(i)&&i>0;f&&(h=0);const m=Math.cos(l),_=Math.sin(l),x=Math.cos(d),M=Math.sin(d);if(h+i>0){if(h>0){const i=(a/2+s)*this._toRadiansCoefficient;t+=h*Math.cos(i),e-=h*Math.sin(i)}f&&(c=t+i*m,u=e-i*_,p=t+i*x,g=e-i*M)}const y=t+r*m,w=t+r*x,N=e-r*_,v=e-r*M;let b="";const C=Math.abs(Math.abs(n-s)-360)>.02;return f?(b="M "+p+","+g,b+=" a"+i+","+i,b+=" 0 "+o+",1 "+(c-p)+","+(u-g),b+=C?" L"+y+","+N:" M"+y+","+N,b+=" a"+r+","+r,b+=" 0 "+o+",0 "+(w-y)+","+(v-N),C&&(b+=" Z")):(b="M "+w+","+v,b+=" a"+r+","+r,b+=" 0 "+o+",1 "+(y-w)+","+(N-v),C&&(b+=" L"+t+","+e,b+=" Z")),b}measureText(t,e,i,r){const s=this._getTextParts(t,e,i),n=s.width;let h=s.height;!1===r&&(h/=.6);let a={};if(isNaN(e)&&(e=0),0===e)a={width:this._rup(n),height:this._rup(h)};else{const t=e*Math.PI*2/360,i=Math.abs(Math.sin(t)),r=Math.abs(Math.cos(t)),s=Math.abs(n*i+h*r),o=Math.abs(n*r+h*i);a={width:this._rup(o),height:this._rup(s)}}return r&&(a.textPartsInfo=s),a}alignTextInRect(t,e,i,r,s,n,h,a,o,l){const d=o*Math.PI*2/360,c=Math.sin(d),p=Math.cos(d),u=s*c,g=s*p;"center"===h||""===h||"undefined"===h?t+=i/2:"right"===h&&(t+=i),"center"===a||"middle"===a||""===a||"undefined"===a?e+=r/2:"bottom"===a?e+=r-n/2:"top"===a&&(e+=n/2);let f="middle";-1!==(l=l||"").indexOf("top")?f="top":-1!==l.indexOf("bottom")&&(f="bottom");let m="center";return-1!==l.indexOf("left")?m="left":-1!==l.indexOf("right")&&(m="right"),"center"===m?(t-=g/2,e-=u/2):"right"===m&&(t-=g,e-=u),"top"===f?(t-=n*c,e+=n*p):"middle"===f&&(t-=n*c/2,e+=n*p/2),{x:t=this._rup(t),y:e=this._rup(e)}}adjustColor(t,e){if("string"!=typeof t)return"#000000";if(-1===t.indexOf("#"))return t;const i=this.draw;let r=i.cssToRgb(t);const s=i.rgbToHsl(r);s[2]=Math.min(1,s[2]*e),s[1]=Math.min(1,s[1]*e*1.1),r=i.hslToRgb(s),t="#";for(let e=0;e<3;e++){let s=Math.round(r[e]);s=i.decToHex(s),1===s.toString().length&&(t+="0"),t+=s}return t.toUpperCase()}_rup(t){let e=Math.round(t);return t>e&&e++,e}_ptdist(t,e,i,r){return Math.sqrt((i-t)*(i-t)+(r-e)*(r-e))}_rnd(t,e,i,r){if(isNaN(t))return t;void 0===r&&(r=!0);let s=t-(!0===r?t%e:this._mod(t,e));return t===s?s:(i?t>s&&(s+=e):s>t&&(s-=e),1===e?Math.round(s):s)}_ptrnd(t){if(!document.createElementNS)return Math.round(t)===t?t:this._rnd(t,1,!1,!0);const e=this._rnd(t,.5,!1,!0);return.5!==Math.abs(e-Math.round(e))?e>t?e-.5:e+.5:e}_getContrastColor(t){if(void 0===t)return;let e=this.draw.hexToRgb(t.slice(1,3),t.slice(3,5),t.slice(5,7));return(.299*e[0]+.61*e[1]+.114*e[2])/255>.6?"#000000":"#FFFFFF"}}),Smart.Utilities.Assign("SvgRenderer",class extends Smart.Utilities.Renderer{constructor(t){super(t);const e=this;e._svgns="http://www.w3.org/2000/svg",e._openGroups=[],e._clipId=0}init(t){const e=document.createElement("div");e.className="drawContainer",e.onselectstart=function(){return!1},t.appendChild(e),this.host=t,this.container=e;try{const t=document.createElementNS(this._svgns,"svg");t.setAttribute("version","1.1"),t.setAttribute("width","100%"),t.setAttribute("height","100%"),t.setAttribute("overflow","hidden"),e.appendChild(t),this.canvas=t}catch(t){return!1}return this._id=(new Date).getTime(),this.clear(),!0}getType(){return"SVG"}refresh(){}getRect(){return{x:0,y:0,width:Math.max(this._rup(this.host.offsetWidth)-1,0),height:Math.max(this._rup(this.host.offsetHeight)-1,0)}}getContainer(){return this.container}clear(){for(;this.canvas.childNodes.length>0;)this.removeElement(this.canvas.firstElementChild);this._defaultParent=void 0,this._defs=document.createElementNS(this._svgns,"defs"),this._gradients={},this.canvas.appendChild(this._defs)}removeElement(t){if(void 0!==t)try{for(;t.firstChild;)this.removeElement(t.firstChild);t.parentNode?t.parentNode.removeChild(t):this.canvas.removeChild(t)}catch(t){}}beginGroup(){const t=this._activeParent(),e=document.createElementNS(this._svgns,"g");return t.appendChild(e),this._openGroups.push(e),e}endGroup(){0!==this._openGroups.length&&this._openGroups.pop()}_activeParent(){return 0===this._openGroups.length?this.canvas:this._openGroups[this._openGroups.length-1]}createClipRect(t){const e=document.createElementNS(this._svgns,"clipPath"),i=document.createElementNS(this._svgns,"rect");return this.attr(i,{x:t.x,y:t.y,width:t.width,height:t.height,fill:"none"}),this._clipId=this._clipId||0,e.id="cl"+this._id+"_"+(++this._clipId).toString(),e.appendChild(i),this._defs.appendChild(e),e}getWindowHref(){let t=window.location.href;return t?(t=t.replace(/([\('\)])/g,"\\$1"),t=t.replace(/#.*$/,""),t):t}setClip(t,e){const i="url("+this.getWindowHref()+"#"+e.id+")";return this.attr(t,{"clip-path":i})}addHandler(t,e,i){t.addEventListener(e,i)}removeHandler(){}on(t,e,i){this.addHandler(t,e,i)}off(t,e,i){this.removeHandler(t,e,i)}shape(t,e){const i=document.createElementNS(this._svgns,t);if(i){for(let t in e)i.setAttribute(t,e[t]);return this._activeParent().appendChild(i),i}}_getTextParts(t,e,i){const r={width:0,height:0,parts:[]};if(void 0===t)return r;const s=t.toString().split("<br>"),n=this._activeParent(),h=document.createElementNS(this._svgns,"text");this.attr(h,i);for(let t=0;t<s.length;t++){const e=s[t],i=h.ownerDocument.createTextNode(e);let a;h.appendChild(i),n.appendChild(h);try{a=h.getBBox()}catch(t){}const o=this._rup(a.width),l=this._rup(.6*a.height);h.removeChild(i),r.width=Math.max(r.width,o),r.height+=l+(t>0?4:0),r.parts.push({width:o,height:l,text:e})}return n.removeChild(h),r}_measureText(t,e,i,r){return super.measureText(t,e,i,r)}measureText(t,e,i){return this._measureText(t,e,i,!1)}text(t,e,i,r,s,n,h,a,o,l,d){const c=this._measureText(t,n,h,!0,this).textPartsInfo,p=c.parts,u=this._getContrastColor(arguments[11]);let g;if(o||(o="center"),l||(l="center"),(p.length>1||a)&&(g=this.beginGroup()),a){const t=this.createClipRect({x:this._rup(e)-1,y:this._rup(i)-1,width:this._rup(r)+2,height:this._rup(s)+2});this.setClip(g,t)}let f=this._activeParent(),m=0,_=0;m=c.width,_=c.height,(isNaN(r)||r<=0)&&(r=m),(isNaN(s)||s<=0)&&(s=_);const x=r||0,M=s||0;let y=0;if(!n||0===n){let t;i+=_,"center"===l||"middle"===l?i+=(M-_)/2:"bottom"===l&&(i+=M-_),r||(r=m),s||(s=_),f=this._activeParent();for(let r=p.length-1;r>=0;r--){t=document.createElementNS(this._svgns,"text"),this.attr(t,h),this.attr(t,{cursor:"default"});const s=t.ownerDocument.createTextNode(p[r].text);t.appendChild(s);let n=e;const a=p[r].width,l=p[r].height;"center"===o?n+=(x-a)/2:"right"===o&&(n+=x-a),this.attr(t,{x:this._rup(n),y:this._rup(i+y),width:this._rup(a),height:this._rup(l)}),void 0!==u&&(t.style.fill=u),f.appendChild(t),y-=p[r].height+4}return g?(this.endGroup(),g):t}const w=this.alignTextInRect(e,i,r,s,m,_,o,l,n,d);e=w.x,i=w.y;const N=this.shape("g",{transform:"translate("+e+","+i+")"}),v=this.shape("g",{transform:"rotate("+n+")"});N.appendChild(v),y=0;for(let t=p.length-1;t>=0;t--){const e=document.createElementNS(this._svgns,"text");this.attr(e,h),this.attr(e,{cursor:"default"});const i=e.ownerDocument.createTextNode(p[t].text);e.appendChild(i);let r=0;const s=p[t].width,n=p[t].height;"center"===o?r+=(c.width-s)/2:"right"===o&&(r+=c.width-s),this.attr(e,{x:this._rup(r),y:this._rup(y),width:this._rup(s),height:this._rup(n)}),v.appendChild(e),y-=n+4}return f.appendChild(N),g&&this.endGroup(),N}line(t,e,i,r,s){const n=this.shape("line",{x1:t,y1:e,x2:i,y2:r});return this.attr(n,s),n}path(t,e){const i=this.shape("path");return i.setAttribute("d",t),e&&this.attr(i,e),i}rect(t,e,i,r,s){t=this._ptrnd(t),e=this._ptrnd(e),i=Math.max(1,this._rnd(i,1,!1)),r=Math.max(1,this._rnd(r,1,!1));const n=this.shape("rect",{x:t,y:e,width:i,height:r});return s&&this.attr(n,s),n}circle(t,e,i,r){const s=this.shape("circle",{cx:t,cy:e,r:i});return r&&this.attr(s,r),s}pieslice(t,e,i,r,s,n,h,a){const o=this.pieSlicePath(t,e,i,r,s,n,h),l=this.shape("path");return l.setAttribute("d",o),a&&this.attr(l,a),l}attr(t,e){if(t&&e)for(let i in e)"textContent"===i?t.textContent=e[i]:"width"===i||"height"===i?t.setAttribute(i,Math.max(0,e[i])):t.setAttribute(i,e[i])}removeAttr(t,e){if(t&&e)for(let i in e)"textContent"===i?t.textContent="":t.removeAttribute(e[i])}getAttr(t,e){return t.getAttribute(e)}_toLinearGradient(t,e,i){const r="grd"+this._id+t.replace("#","")+(e?"v":"h"),s="url("+this.getWindowHref()+"#"+r+")";if(this._gradients[s])return s;const n=document.createElementNS(this._svgns,"linearGradient");this.attr(n,{x1:"0%",y1:"0%",x2:e?"0%":"100%",y2:e?"100%":"0%",id:r});for(let e=0;e<i.length;e++){const r=i[e],s=document.createElementNS(this._svgns,"stop"),h="stop-color:"+this.adjustColor(t,r[1]);this.attr(s,{offset:r[0]+"%",style:h}),n.appendChild(s)}return this._defs.appendChild(n),this._gradients[s]=!0,s}_toRadialGradient(t,e,i){const r="grd"+this._id+t.replace("#","")+"r"+(void 0!==i?i.key:""),s="url("+this.getWindowHref()+"#"+r+")";if(this._gradients[s])return s;const n=document.createElementNS(this._svgns,"radialGradient");void 0===i?this.attr(n,{cx:"50%",cy:"50%",r:"100%",fx:"50%",fy:"50%",id:r}):this.attr(n,{cx:i.x,cy:i.y,r:i.outerRadius,id:r,gradientUnits:"userSpaceOnUse"});for(let i=0;i<e.length;i++){const r=e[i],s=document.createElementNS(this._svgns,"stop"),h="stop-color:"+this.adjustColor(t,r[1]);this.attr(s,{offset:r[0]+"%",style:h}),n.appendChild(s)}return this._defs.appendChild(n),this._gradients[s]=!0,s}}),Smart.Utilities.Assign("HTML5Renderer",class extends Smart.Utilities.Renderer{constructor(t){super(t),this._renderers=new Smart.Utilities.HTML5RenderHelpers(this)}init(t){try{this.host=t;const e=document.createElement("div"),i=document.createElement("canvas");e.className="chartContainer",e.style.position="relative",e.onselectstart=function(){return!1},i.id="__smartCanvasWrap",i.style.width="100%",i.style.height="100%",e.appendChild(i),t.appendChild(e),this.canvas=i,i.width=t.offsetWidth,i.height=t.offsetHeight,this.ctx=i.getContext("2d"),this._elements={},this._maxId=0,this._gradientId=0,this._gradients={},this._currentPoint={x:0,y:0},this._lastCmd="",this._pos=0}catch(t){return!1}return!0}getType(){return"HTML5"}getContainer(){return this.host.getElementsByClassName("chartContainer")[0]}getRect(){return{x:0,y:0,width:this.canvas.width-1,height:this.canvas.height-1}}beginGroup(){}endGroup(){}setClip(){}createClipRect(){}addHandler(){}removeHandler(){}on(t,e,i){this.addHandler(t,e,i)}off(t,e,i){this.removeHandler(t,e,i)}clear(){this._elements={},this._maxId=0,this._renderers._gradients={},this._gradientId=0}removeElement(t){void 0!==t&&this._elements[t.id]&&delete this._elements[t.id]}shape(t,e){let i={type:t,id:this._maxId++};for(let t in e)i[t]=e[t];return this._elements[i.id]=i,i}attr(t,e){for(let i in e)t[i]=e[i]}removeAttr(t,e){for(let i in e)delete t[e[i]]}rect(t,e,i,r,s){if(isNaN(t))throw'Invalid value for "x"';if(isNaN(e))throw'Invalid value for "y"';if(isNaN(i))throw'Invalid value for "width"';if(isNaN(r))throw'Invalid value for "height"';let n=this.shape("rect",{x:t,y:e,width:i,height:r});return s&&this.attr(n,s),n}path(t,e){let i=this.shape("path",e);return this.attr(i,{d:t}),i}line(t,e,i,r,s){return this.path("M "+t+","+e+" L "+i+","+r,s)}circle(t,e,i,r){let s=this.shape("circle",{x:t,y:e,r:i});return r&&this.attr(s,r),s}pieslice(t,e,i,r,s,n,h,a){let o=this.path(this.pieSlicePath(t,e,i,r,s,n,h),a);return this.attr(o,{x:t,y:e,innerRadius:i,outerRadius:r,angleFrom:s,angleTo:n}),o}_getCSSStyle(t){const e=document.createElement("div");e.className=t,e.style.position="absolute",e.style.visibility="hidden",this.host.appendChild(e);let i=window.getComputedStyle(e);return i={color:i.color,fontFamily:i.fontFamily,fontSize:i.fontSize,fontWeight:i.fontWeight},this.host.removeChild(e),i}_getTextParts(t,e,i){let r="Arial",s="10pt",n="";if(i&&i.class){let t=this._getCSSStyle(i.class);t.fontSize&&(s=t.fontSize),t.fontFamily&&(r=t.fontFamily),t.fontWeight&&(n=t.fontWeight)}this.ctx.font=n+" "+s+" "+r;let h={width:0,height:0,parts:[]},a=t.toString().split("<br>");for(let t=0;t<a.length;t++){let e=a[t],i=this.ctx.measureText(e).width,r=document.createElement("span");r.className="chart",r.font=this.ctx.font,r.textContent=e,this.host.appendChild(r);let s=.6*r.offsetHeight;this.host.removeChild(r),h.width=Math.max(h.width,this._rup(i)),h.height+=s+(t>0?4:0),h.parts.push({width:i,height:s,text:e})}return h}_measureText(t,e,i,r){return super.measureText(t,e,i,r)}measureText(t,e,i){return this._measureText(t,e,i,!1)}text(t,e,i,r,s,n,h,a,o,l,d){let c=this.shape("text",{text:t,x:e,y:i,width:r,height:s,angle:n,clip:a,halign:o,valign:l,rotateAround:d});if(h&&this.attr(c,h),c.fontFamily="Arial",c.fontSize="10pt",c.fontWeight="",c.color=this._getContrastColor(arguments[11]),h&&h.class){let t=this._getCSSStyle(h.class);c.fontFamily=t.fontFamily||c.fontFamily,c.fontSize=t.fontSize||c.fontSize,c.fontWeight=t.fontWeight||c.fontWeight,c.color=c.color||t.color}c.color=c.color||"#000000";let p=this._measureText(t,0,h,!0);return this.attr(c,{textPartsInfo:p.textPartsInfo,textWidth:p.width,textHeight:p.height}),(r<=0||isNaN(r))&&this.attr(c,{width:p.width}),(s<=0||isNaN(s))&&this.attr(c,{height:p.height}),c}_toLinearGradient(t,e,i){if(this._renderers._gradients[t])return t;let r=[];for(let e=0;e<i.length;e++)r.push({percent:i[e][0]/100,color:this.adjustColor(t,i[e][1])});let s="gr"+this._gradientId++;return this.createGradient(s,e?"vertical":"horizontal",r),s}_toRadialGradient(t,e){if(this._renderers._gradients[t])return t;let i=[];for(let r=0;r<e.length;r++)i.push({percent:e[r][0]/100,color:this.adjustColor(t,e[r][1])});let r="gr"+this._gradientId++;return this.createGradient(r,"radial",i),r}createGradient(t,e,i){this._renderers.createGradient(this,t,e,i)}refresh(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height);for(let t in this._elements){let e=this._elements[t];this._renderers.setFillStyle(this,e),this._renderers.setStroke(this,e),this._renderers[this._elements[t].type](this.ctx,e)}}}),Smart.Utilities.Assign("HTML5RenderHelpers",class{constructor(t){this.HTML5Renderer=t,this._cmds="mlcazq"}ptrnd(t){if(.5===Math.abs(Math.round(t)-t))return t;let e=Math.round(t);return e<t&&(e-=1),e+.5}createGradient(t,e,i,r){t._gradients[e]={orientation:i,colorStops:r}}setStroke(t,e){let i=t.ctx,r=e["stroke-width"];i.strokeStyle=e.stroke||"transparent",i.lineWidth=0===r?.01:void 0!==r?r:1,void 0!==e["fill-opacity"]?i.globalAlpha=e["fill-opacity"]:void 0!==e.opacity?i.globalAlpha=e.opacity:i.globalAlpha=1,i.setLineDash&&(e["stroke-dasharray"]?i.setLineDash(e["stroke-dasharray"].split(",")):i.setLineDash([]))}setFillStyle(t,e){let i=t.ctx;if(i.fillStyle="transparent",void 0!==e["fill-opacity"]?i.globalAlpha=e["fill-opacity"]:void 0!==e.opacity?i.globalAlpha=e.opacity:i.globalAlpha=1,e.fill&&-1===e.fill.indexOf("#")&&t._gradients[e.fill]){let r,s="horizontal"!==t._gradients[e.fill].orientation,n="radial"===t._gradients[e.fill].orientation,h=this.ptrnd(e.x),a=this.ptrnd(e.y),o=this.ptrnd(e.x+(s?0:e.width)),l=this.ptrnd(e.y+(s?e.height:0));if(("circle"===e.type||"path"===e.type||"rect"===e.type)&&n){let t=this.ptrnd(e.x),s=this.ptrnd(e.y);const n=e.innerRadius||0,h=e.outerRadius||e.r||0;"rect"===e.type&&(t+=e.width/2,s+=e.height/2),r=i.createRadialGradient(t,s,n,t,s,h)}n||((isNaN(h)||isNaN(o)||isNaN(a)||isNaN(l))&&(h=0,a=0,o=s?0:i.canvas.width,l=s?i.canvas.height:0),r=i.createLinearGradient(h,a,o,l));let d=t._gradients[e.fill].colorStops;for(let t=0;t<d.length;t++)r.addColorStop(d[t].percent,d[t].color);i.fillStyle=r}else e.fill&&(i.fillStyle=e.fill)}rect(t,e){0!==e.width&&0!==e.height&&(t.fillRect(this.ptrnd(e.x),this.ptrnd(e.y),e.width,e.height),t.strokeRect(this.ptrnd(e.x),this.ptrnd(e.y),e.width,e.height))}circle(t,e){0!==e.r&&(t.beginPath(),t.arc(this.ptrnd(e.x),this.ptrnd(e.y),e.r,0,2*Math.PI,!1),t.closePath(),t.fill(),t.stroke())}_parsePoint(t){return{x:this._parseNumber(t),y:this._parseNumber(t)}}_parseNumber(t){let e,i=!1;for(e=this._pos;e<t.length;e++)if(t[e]>="0"&&t[e]<="9"||"."===t[e]||"e"===t[e]||"-"===t[e]&&!i||"-"===t[e]&&e>=1&&"e"===t[e-1])i=!0;else{if(i||" "!==t[e]&&","!==t[e])break;this._pos++}let r=parseFloat(t.substring(this._pos,e));if(!isNaN(r))return this._pos=e,r}_isRelativeCmd(t){return-1!==this._cmds.indexOf(t)}_parseCmd(t){for(let e=this._pos;e<t.length;e++){if(-1!==this._cmds.toLowerCase().indexOf(t[e].toLowerCase()))return this._pos=e+1,this._lastCmd=t[e],this._lastCmd;if(" "!==t[e]){if(t[e]>="0"&&t[e]<="9"){if(this._pos=e,""===this._lastCmd)break;return this._lastCmd}}else this._pos++}}_toAbsolutePoint(t){return{x:this._currentPoint.x+t.x,y:this._currentPoint.y+t.y}}path(t,e){let i,r=e.d;for(this._pos=0,this._lastCmd="",this._currentPoint={x:0,y:0},t.beginPath();this._pos<r.length;){let e=this._parseCmd(r);if(void 0===e)break;if("M"!==e&&"m"!==e)if("L"!==e&&"l"!==e)if("A"!==e&&"a"!==e)if("Z"!==e&&"z"!==e||void 0===i)if("C"!==e&&"c"!==e)if("Q"!==e&&"q"!==e);else{let e=this._parsePoint(r),i=this._parsePoint(r);t.quadraticCurveTo(e.x,e.y,i.x,i.y),this._currentPoint=i}else{let e=this._parsePoint(r),i=this._parsePoint(r),s=this._parsePoint(r);t.bezierCurveTo(e.x,e.y,i.x,i.y,s.x,s.y),this._currentPoint=s}else t.lineTo(i.x,i.y),this._currentPoint=i;else{let i=this._parseNumber(r),s=this._parseNumber(r),n=this._parseNumber(r)*(Math.PI/180),h=this._parseNumber(r),a=this._parseNumber(r),o=this._parsePoint(r);if(this._isRelativeCmd(e)&&(o=this._toAbsolutePoint(o)),0===i||0===s)continue;let l=this._currentPoint,d={x:Math.cos(n)*(l.x-o.x)/2+Math.sin(n)*(l.y-o.y)/2,y:-Math.sin(n)*(l.x-o.x)/2+Math.cos(n)*(l.y-o.y)/2},c=Math.pow(d.x,2)/Math.pow(i,2)+Math.pow(d.y,2)/Math.pow(s,2);c>1&&(i*=Math.sqrt(c),s*=Math.sqrt(c));let p=(h===a?-1:1)*Math.sqrt((Math.pow(i,2)*Math.pow(s,2)-Math.pow(i,2)*Math.pow(d.y,2)-Math.pow(s,2)*Math.pow(d.x,2))/(Math.pow(i,2)*Math.pow(d.y,2)+Math.pow(s,2)*Math.pow(d.x,2)));isNaN(p)&&(p=0);let u={x:p*i*d.y/s,y:p*-s*d.x/i},g={x:(l.x+o.x)/2+Math.cos(n)*u.x-Math.sin(n)*u.y,y:(l.y+o.y)/2+Math.sin(n)*u.x+Math.cos(n)*u.y},f=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2))},m=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(f(t)*f(e))},_=function(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(m(t,e))},x=_([1,0],[(d.x-u.x)/i,(d.y-u.y)/s]),M=[(d.x-u.x)/i,(d.y-u.y)/s],y=[(-d.x-u.x)/i,(-d.y-u.y)/s],w=_(M,y);m(M,y)<=-1&&(w=Math.PI),m(M,y)>=1&&(w=0),0===a&&w>0&&(w-=2*Math.PI),1===a&&w<0&&(w+=2*Math.PI);let N=i>s?i:s,v=i>s?1:i/s,b=i>s?s/i:1;t.translate(g.x,g.y),t.rotate(n),t.scale(v,b),t.arc(0,0,N,x,x+w,1-a),t.scale(1/v,1/b),t.rotate(-n),t.translate(-g.x,-g.y)}else{let e=this._parsePoint(r);if(void 0===e)break;t.lineTo(e.x,e.y),this._currentPoint=e}else{let e=this._parsePoint(r);if(void 0===e)break;t.moveTo(e.x,e.y),this._currentPoint=e,void 0===i&&(i=e)}}t.fill(),t.stroke(),t.closePath()}text(t,e){let i=this.ptrnd(e.x),r=this.ptrnd(e.y),s=this.ptrnd(e.width),n=this.ptrnd(e.height),h=e.halign,a=e.valign,o=e.angle,l=e.rotateAround,d=e.textPartsInfo,c=d.parts,p=e.clip;void 0===p&&(p=!0),t.save(),h||(h="center"),a||(a="center"),p&&(t.rect(i,r,s,n),t.clip());let u=e.textWidth,g=e.textHeight,f=s||0,m=n||0;if(t.fillStyle=e.color,t.font=e.fontWeight+" "+e.fontSize+" "+e.fontFamily,!o||0===o){r+=g,"center"===a||"middle"===a?r+=(m-g)/2:"bottom"===a&&(r+=m-g),s||(s=u),n||(n=g);let e=0;for(let s=c.length-1;s>=0;s--){let n=c[s],a=i,o=c[s].width;"center"===h?a+=(f-o)/2:"right"===h&&(a+=f-o),t.fillText(n.text,a,r+e),e-=n.height+(s>0?4:0)}return void t.restore()}let _=this.HTML5Renderer.alignTextInRect(i,r,s,n,u,g,h,a,o,l);i=_.x,r=_.y;let x=o*Math.PI*2/360;t.translate(i,r),t.rotate(x);let M=0,y=d.width;for(let e=c.length-1;e>=0;e--){let i=0;"center"===h?i+=(y-c[e].width)/2:"right"===h&&(i+=y-c[e].width),t.fillText(c[e].text,i,M),M-=c[e].height+4}t.restore()}}),Smart.Utilities.Assign("Plot",class{constructor(t){this.renderer=t}get(t,e,i){return void 0!==i?t[e][i]:t[e]}min(t,e){let i=NaN;for(let r=0;r<t.length;r++){let s=this.get(t,r,e);(isNaN(i)||s<i)&&(i=s)}return i}max(t,e){let i=NaN;for(let r=0;r<t.length;r++){let s=this.get(t,r,e);(isNaN(i)||s>i)&&(i=s)}return i}sum(t,e){let i=0;for(let r=0;r<t.length;r++){let s=this.get(t,r,e);isNaN(s)||(i+=s)}return i}count(t,e){let i=0;for(let r=0;r<t.length;r++){let s=this.get(t,r,e);isNaN(s)||i++}return i}avg(t,e){return this.sum(t,e)/Math.max(1,this.count(t,e))}filter(t,e){if(!e)return t;let i=[];for(let r=0;r<t.length;r++)e(t[r])&&i.push(t[r]);return i}scale(t,e,i,r){if(isNaN(t))return NaN;if((t<Math.min(e.min,e.max)||t>Math.max(e.min,e.max))&&(!r||!0!==r.ignore_range))return NaN;let s=NaN,n=1;if(void 0===e.type||"logarithmic"!==e.type){let i=Math.abs(e.max-e.min);i||(i=1),n=Math.abs(t-Math.min(e.min,e.max))/i}else if("logarithmic"===e.type){let i=e.base;isNaN(i)&&(i=10);let r=Math.min(e.min,e.max);r<=0&&(r=1);let s=Math.max(e.min,e.max);s<=0&&(s=1);let h=Math.log(s)/Math.log(i);s=Math.pow(i,h);let a=Math.log(r)/Math.log(i);r=Math.pow(i,a);let o=Math.log(t)/Math.log(i);n=Math.abs(o-a)/(h-a)}if("logarithmic"===i.type){let t=i.base;isNaN(t)&&(t=10);let e=Math.log(i.max)/Math.log(t),r=Math.log(i.min)/Math.log(t);i.flip&&(n=1-n);let h=Math.min(r,e)+n*Math.abs(e-r);s=Math.pow(t,h)}else s=Math.min(i.min,i.max)+n*Math.abs(i.max-i.min),i.flip&&(s=Math.max(i.min,i.max)-s+i.min);return s}axis(t,e,i){if(i<=1)return[e,t];(isNaN(i)||i<2)&&(i=2);let r=0;for(;Math.round(t)!==t&&Math.round(e)!==e&&r<10;)t*=10,e*=10,r++;let s=(e-t)/i;for(;r<10&&Math.round(s)!==s;)t*=10,e*=10,s*=10,r++;let n,h=[1,2,5],a=0;for(;;){let t=a%h.length,e=Math.floor(a/h.length),i=Math.pow(10,e)*h[t];if(t=(a+1)%h.length,e=Math.floor((a+1)/h.length),n=Math.pow(10,e)*h[t],s>=i&&s<n)break;a++}let o=n,l=[],d=this.renderer._rnd(t,o,!1),c=r<=0?1:Math.pow(10,r);for(;d<e+o;)l.push(d/c),d+=o;return l}});
@@ -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-drop-down-button",class extends Smart.ContentElement{static get properties(){return{autoCloseDelay:{value:100,type:"number"},placeholderTemplate:{value:"",type:"any"},dropDownAppendTo:{value:null,type:"any"},dropDownButtonPosition:{allowedValues:["none","left","right","top","bottom"],value:"right",type:"string"},dropDownHeight:{value:"",type:"any",validator:"_propertyValidator"},dropDownMaxHeight:{value:"",type:"any",validator:"_propertyValidator"},dropDownMaxWidth:{value:"",type:"any",validator:"_propertyValidator"},dropDownMinHeight:{value:"",type:"any",validator:"_propertyValidator"},dropDownMinWidth:{value:"",type:"any",validator:"_propertyValidator"},dropDownOpenMode:{allowedValues:["none","default","dropDownButton","auto"],value:"default",type:"string"},dropDownOverlay:{value:!1,type:"boolean"},dropDownPlaceholder:{value:"No Items",type:"string"},dropDownPosition:{allowedValues:["auto","top","bottom","overlay-top","overlay-center","overlay-bottom","center-bottom","center-top"],value:"auto",type:"string"},dropDownWidth:{value:"",type:"any",validator:"_propertyValidator"},hint:{value:"",type:"string"},horizontalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]},label:{value:"",type:"string"},messages:{extend:!0,value:{en:{invalidNode:'smart-drop-down-button: Invalid parameter "{{node}}" when calling {{method}}.'}},type:"object"},name:{value:"",type:"string"},opened:{value:!1,type:"boolean"},placeholder:{value:"",type:"string"},resizeIndicator:{value:!1,type:"boolean"},resizeMode:{value:"none",allowedValues:["none","horizontal","vertical","both"],type:"string"},verticalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]}}}static get listeners(){return{"actionButton.down":"_buttonsDownHandler","actionButton.mouseenter":"_buttonsMouseEventsHandler","actionButton.mouseleave":"_buttonsMouseEventsHandler","document.selectstart":"_selectStartHandler","document.dragstart":"_dragStartHandler","document.down":"_documentDownHandler","document.up":"_documentUpHandler","document.move":"_documentMoveHandler","dropDownButton.down":"_buttonsDownHandler","dropDownButton.mouseenter":"_buttonsMouseEventsHandler","dropDownButton.mouseleave":"_buttonsMouseEventsHandler",keydown:"_keyDownHandler",keyup:"_keyUpHandler",focus:"_focusEventHandler",blur:"_blurEventHandler","dropDownContainer.transitionend":"_dropDownTransitionendHandler",mouseenter:"_mouseEnterHandler",mouseleave:"_mouseLeaveHandler",resize:"_resizeHandler","resizeBar.move":"_resizeBarMoveHandler",styleChanged:"_styleChangedHandler"}}template(){return'<div id="container" role="presentation">\n <span class="smart-label" id="label">[[label]]</span>\n <div id="content" class="smart-content" role="presentation">\n <div id="buttonsContainer" class="smart-buttons-container" role="presentation">\n <span id="actionButton" class="smart-action-button">[[placeholder]]</span>\n <span id="dropDownButton" class="smart-drop-down-button">\n <span class="smart-drop-down-button-icon" id="arrow" aria-hidden="true"></span>\n </span>\n </div>\n <div id="dropDownContainer" class="smart-drop-down smart-drop-down-container smart-visibility-hidden" role="dialog">\n <smart-scroll-viewer id="scrollViewer" inner-h-t-m-l=\'[[innerHTML]]\'\n right-to-left="[[rightToLeft]]"\n horizontal-scroll-bar-visibility="[[horizontalScrollBarVisibility]]"\n vertical-scroll-bar-visibility="[[verticalScrollBarVisibility]]">\n <content></content>\n </smart-scroll-viewer>\n <div id="resizeBar" class="smart-drop-down-resize-bar" aria-label="Resize">\n <div></div>\n </div>\n </div>\n </div>\n <span class="smart-hidden smart-hint" id="hint">[[hint]]</span>\n </div>'}static get styleUrls(){return["smart.scrollviewer.css","smart.dropdown.css","smart.dropdownbutton.css"]}attached(){const e=this;super.attached(),e.isCompleted&&e.$.dropDownContainer&&(e._positionDetection.dropDownAttached("_setDropDownSize"),e._positionDetection.checkBrowserBounds())}detached(){const e=this;super.detached(),e.$.dropDownContainer&&(e.close(),e._positionDetection.dropDownDetached())}propertyChangedHandler(e,t,o){const n=this;switch(e){case"disabled":case"unfocusable":n._setFocusable();break;case"dropDownAppendTo":n._positionDetection.dropDownAppendToChangedHandler();break;case"dropDownHeight":case"dropDownMaxHeight":case"dropDownMaxWidth":case"dropDownMinHeight":case"dropDownMinWidth":case"dropDownWidth":n._setDropDownSize();break;case"dropDownOpenMode":n._setFocusable(),n.close(),n._setAriaRelations();break;case"dropDownOverlay":o||n._positionDetection.removeOverlay();break;case"dropDownPlaceholder":n.$.dropDownContainer.hasAttribute("empty")&&(n.$.scrollViewer.$.scrollViewerContentContainer.innerHTML=o,n.opened&&n.$.scrollViewer.refresh());break;case"dropDownPosition":n._positionDetection.dropDownPositionChangedHandler();break;case"innerHTML":""===o.trim()?(n.$.dropDownContainer.setAttribute("empty",""),requestAnimationFrame((()=>n.$.scrollViewer.$.scrollViewerContentContainer.innerHTML=n.dropDownPlaceholder))):(n.$.dropDownContainer.removeAttribute("empty"),n.$.scrollViewer.$.scrollViewerContentContainer.innerHTML=o),n.opened&&n.$.scrollViewer.refresh();break;case"opened":o?n.open():n.close();break;case"placeholder":""!==t&&""!==o||n._setFocusable();break;case"resizeIndicator":o?n.$.dropDownContainer.setAttribute("resize-indicator",""):n.$.dropDownContainer.removeAttribute("resize-indicator");break;case"resizeMode":n.$.dropDownContainer.setAttribute("resize-mode",n.resizeMode),n.opened&&n.$.scrollViewer.refresh();break;case"label":o?n._ariaButton.setAttribute("aria-labelledby",n.$.label.id):"DropDownButton"===n.elementName&&n._ariaButton.setAttribute("aria-labelledby",n.$.actionButton.id)}}appendChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("smart-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?(t.$.scrollViewer.appendChild(e),t.opened&&t.$.scrollViewer.refresh()):t.error(t.localize("invalidNode",{method:"removeChild",node:"node"}))}removeChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("smart-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?t.$.dropDownContainer.contains(e)&&(t.$.scrollViewer.removeChild(e),t.opened&&t.$.scrollViewer.refresh()):t.error(t.localize("invalidNode",{method:"removeChild",node:"node"}))}removeAll(){const e=this;e.isCompleted&&e.$.scrollViewer.removeAll()}_open(){const e=this;if(!e.disabled&&e.offsetHeight&&e.$dropDownContainer.hasClass("smart-visibility-hidden")){if(e.$dropDownContainer.hasClass("not-in-view")&&e.$dropDownContainer.removeClass("not-in-view"),e.$.dropDownContainer.style.transition=null,e.dropDownAppendTo&&e.dropDownAppendTo.length>0){const t=e.getBoundingClientRect();if(e.$.container.contains(e.$.dropDownContainer)){let t=0;const o=setInterval((function(){const n=e.getBoundingClientRect();t++,n.top===e._positionTop&&t<10||(e.open(),clearInterval(o),e._positionTop=n.top)}),100);return}t.top!==e._positionTop&&(e._positionTop=t.top)}e.$.fireEvent("opening").defaultPrevented||(e.opened=!0,e._ariaButton.setAttribute("aria-expanded",!0),e._positionDetection.placeOverlay(),e._positionDetection.checkBrowserBounds("vertically"),e._positionDetection.positionDropDown(),e._positionDetection.checkBrowserBounds("horizontally"),e.$dropDownContainer.removeClass("smart-visibility-hidden"),e.$.fireEvent("open"),e.$.dropDownButton&&("dropDownButton"===e.dropDownOpenMode?e.$.dropDownButton.setAttribute("selected",""):e.$.dropDownButton.removeAttribute("selected")),e.$.input&&e.$.input.focus())}}toggle(){const e=this;e.opened?e.close():e.open()}open(){const e=this,t=document.querySelectorAll("smart-drop-down-button, smart-color-picker");for(let o=0;o<t.length;o++)t[o]!==e&&t[o].opened&&t[o].close();e._open(),e.$.scrollViewer.refresh()}scrollTo(e,t){this.isCompleted&&this.$.scrollViewer.scrollTo(e,t)}ready(){super.ready()}_applyPlaceholderTemplate(){const e=this;if(e.placeholderTemplate){const t=document.createElement("div");let o;if("string"==typeof e.placeholderTemplate&&e.placeholderTemplate.startsWith("#")&&(o=document.querySelector(e.placeholderTemplate)),"function"==typeof e.placeholderTemplate){const t=e.placeholderTemplate();t&&(e.$.actionButton.innerHTML=t)}o instanceof HTMLTemplateElement?t.appendChild(o.content.cloneNode(!0)):o instanceof HTMLElement?t.appendChild(o):t.innerHTML=e.placeholderTemplate,e.$.actionButton.innerHTML=t.innerHTML}}render(){const e=this;if(e.rightToLeft&&(e.dropDownButtonPosition="right"===e.dropDownButtonPosition?"left":"right"),e.classList.add("smart-drop-down-box"),e._edgeMacFF=Smart.Utilities.Core.Browser.Edge||Smart.Utilities.Core.Browser.Firefox&&-1!==navigator.platform.toLowerCase().indexOf("mac"),e._positionDetection=new Smart.Utilities.PositionDetection(e,e.$.dropDownContainer,e.$.container,"close"),e._positionDetection.getDropDownParent(!0),e._positionDetection.setDropDownPosition(),e._calculateDropDownSize(),e.$.dropDownContainer.setAttribute("resize-mode",e.resizeMode),e.resizeIndicator&&e.$.dropDownContainer.setAttribute("resize-indicator",""),e._positionDetection.handleAutoPositioning(),e.$.label&&!e.$.label.id&&(e.$.label.id=e.id+"Label"),e.$.actionButton&&!e.$.actionButton.id&&(e.$.actionButton.id=e.id+"ActionButton"),e.$.hint&&!e.$.hint.id&&(e.$.hint.id=e.id+"Hint"),e.dropDownAppendTo)for(let t=0;t<e.classList.length;t++){const o=e.classList[t];e.$.dropDownContainer.classList.add(o)}e._applyPlaceholderTemplate(),e._createElement(),e.opened?e.open():e.hasAnimation&&e._edgeMacFF&&e.$dropDownContainer.addClass("not-in-view"),e._positionTop=e.getBoundingClientRect().top,super.render()}_setAriaRelations(e){const t=this;let o,n;"dropDownButton"!==t.dropDownOpenMode?(o=t.$.dropDownButton,o.setAttribute("aria-hidden",!0),n=t,t.$.actionButton.removeAttribute("role")):(o=t,n=t.$.dropDownButton,n.removeAttribute("aria-hidden"),t.$.actionButton.setAttribute("role","button")),t._ariaButton=n,n.setAttribute("role","button"),n.setAttribute("aria-haspopup","dialog"),n.setAttribute("aria-owns",t.$.dropDownContainer.id),n.setAttribute("aria-describedby",t.$.hint.id),t.label?n.setAttribute("aria-labelledby",t.$.label.id):"DropDownButton"===t.elementName&&n.setAttribute("aria-labelledby",t.$.actionButton.id),o.setAttribute("role","presentation"),o.removeAttribute("aria-owns"),e?n.setAttribute("aria-expanded",t.opened):(o.removeAttribute("aria-describedby"),o.removeAttribute("aria-expanded"),o.removeAttribute("aria-haspopup"),o.removeAttribute("aria-labelledby"))}_setDropDownSize(){const e=this;e._dropDownSize||e._calculateDropDownSize(),["dropDownMinWidth","dropDownMinHeight","dropDownMaxWidth","dropDownMaxHeight"].forEach((t=>{e.$.dropDownContainer.style[t.replace("dropDown","").replace(/^./,"m")]=e[t]?e[t]+(e[t].toString().endsWith("%")?"%":"px"):null})),e.dropDownWidth?"auto"!==e.dropDownWidth?e.$.dropDownContainer.style.width=("initial"===e.dropDownWidth?e.offsetWidth:parseFloat(e.dropDownWidth))+"px":e.$.dropDownContainer.style.width="auto":e.$.dropDownContainer.style.width="auto"===e._dropDownSize.width?"auto":(parseFloat(e._dropDownSize.width)||0)+"px",e.dropDownHeight&&"auto"!==e.dropDownHeight?e.$.dropDownContainer.style.height=parseFloat(e.dropDownHeight)+((e.dropDownHeight+"").indexOf("%")>-1?"%":"px"):e.$.dropDownContainer.style.height=e._dropDownSize.height}_setFocusable(){const e=this;if(e.disabled||e.unfocusable)return e.removeAttribute("tabindex"),e.$.actionButton.removeAttribute("tabindex"),void e.$.dropDownButton.removeAttribute("tabindex");let t=e.tabIndex>0?e.tabIndex:0;"dropDownButton"===e.dropDownOpenMode?(e.removeAttribute("tabindex"),e.$.actionButton.setAttribute("tabindex",t),e.$.dropDownButton.setAttribute("tabindex",t)):(e.$.actionButton.removeAttribute("tabindex"),e.$.dropDownButton.removeAttribute("tabindex"),e.tabIndex=t)}_calculateDropDownSize(){const e=this;e._dropDownSize={};const t=window.getComputedStyle(e.$.dropDownContainer),o=parseFloat(t.getPropertyValue("border-top-width").trim()),n=parseFloat(t.getPropertyValue("border-bottom-width").trim()),r=parseFloat(t.getPropertyValue("margin-top").trim()),i=parseFloat(t.getPropertyValue("margin-bottom").trim()),a=parseFloat(t.getPropertyValue("padding-top").trim()),s=parseFloat(t.getPropertyValue("padding-bottom").trim());Smart.Utilities.Core.CSSVariablesSupport()&&(e._dropDownSize.width=t.getPropertyValue("--smart-drop-down-list-drop-down-width").trim(),e._dropDownSize.height=t.getPropertyValue("--smart-drop-down-list-drop-down-height").trim()),(!e._dropDownSize.width||e._dropDownSize.width.indexOf("initial")>-1)&&(e._dropDownSize.width=e.offsetWidth),e._dropDownSize.height||(e._dropDownSize.height="auto"),e._dropDownSize.minHeight=parseFloat(t.getPropertyValue("min-height").trim()),e._dropDownSize.maxHeight=parseFloat(t.getPropertyValue("max-height").trim()),e._dropDownSize.borderWidth=(isNaN(o)?0:o)+(isNaN(n)?0:n),e._dropDownSize.paddingWidth=(isNaN(a)?0:a)+(isNaN(s)?0:s),e._dropDownSize.marginWidth=(isNaN(r)?0:r)+(isNaN(i)?0:i)}_createElement(){const e=this;""===e.innerHTML.trim()&&(e.$.dropDownContainer.setAttribute("empty",""),e.$.scrollViewer.$.scrollViewerContentContainer.innerHTML=e.dropDownPlaceholder),e._setDropDownSize(),e._setFocusable(),e._setAriaRelations(!0),e.$.arrow.noRipple=!0}_dragStartHandler(e){this._resizeDetails&&this._resizeDetails.started&&e.preventDefault()}_dropDownTransitionendHandler(){const e=this;e._edgeMacFF&&!e.opened&&e.hasAnimation&&(e.$.dropDownContainer.style.top=e.$.dropDownContainer.style.left="",e.$dropDownContainer.addClass("not-in-view"))}_blurEventHandler(){const e=this;e.hasAttribute("focus")&&(e.$.dropDownButton&&(e.removeAttribute("focus"),e.$.dropDownButton.removeAttribute("focus")),e.$.actionButton&&(e.removeAttribute("focus"),e.$.actionButton.removeAttribute("focus")),e.$.fireEvent("blur"))}_focusEventHandler(){const e=this;e.hasAttribute("focus")||(e.$.dropDownButton&&(e.setAttribute("focus",""),e.$.dropDownButton.setAttribute("focus","")),e.$.actionButton&&(e.setAttribute("focus",""),e.$.actionButton.setAttribute("focus","")),e.$.fireEvent("focus"))}_getUpEventTarget(e){const t=this;let o=e;if(o===t.$.dropDownContainer)return"dropDownContainer";for(o=void 0===o.parentElement?o.getRootNode().host:o.parentElement;o;){if(o===t.$.dropDownContainer){o="dropDownContainer";break}o=void 0===o.parentElement?o.getRootNode().host:o.parentElement}return o}close(){const e=this;e.$dropDownContainer.hasClass("smart-visibility-hidden")||e.$.fireEvent("closing").defaultPrevented||(e.$dropDownContainer.addClass("smart-visibility-hidden"),e.$.fireEvent("close"),e.$.dropDownButton&&e.$.dropDownButton.removeAttribute("selected"),e.opened=!1,e._ariaButton.setAttribute("aria-expanded",!1),e._preventDropDownClose=!1,e._positionDetection.removeOverlay(!0),e._edgeMacFF&&!e.hasAnimation&&(e.$.dropDownContainer.style.top=e.$.dropDownContainer.style.left="",e.$dropDownContainer.addClass("not-in-view")))}_documentUpHandler(e){const t=this,o=t.hasAttribute("resizing");if(t.$.actionButton.removeAttribute("active"),t._resizeDetails&&t._resizeDetails.started)return t._resizeDetails.started=t._resizeDetails.resizeEventFired=!1,t.removeAttribute("resizing"),t._preventDropDownClose=!1,t.focus(),void t.$.fireEvent("resizeEnd",{position:{left:e.pageX,top:e.pageY}});if(t.disabled||t._isDropDownClicked||t.readonly)return void delete t._isDropDownClicked;if(t._overlayDown)return t.close(),void delete t._overlayDown;let n=e.originalEvent.target;if(t.isInShadowDOM&&(n=e.originalEvent.composedPath()[0]),t._preventsSelectStart=!1,void 0===n||n===t.$.resizeBar)return;const r=n.closest(".smart-action-button");let i;if(t._buttonClicked&&("dropDownButton"===t.dropDownOpenMode&&r&&t._buttonClicked===t.$.actionButton?t.$.fireEvent("actionButtonClick"):n.closest(".smart-drop-down-button")!==t._buttonClicked&&r!==t._buttonClicked||(i=!0,t.$.fireEvent("dropDownButtonClick"))),t._buttonClicked=void 0,!t.editable&&r===t.$.actionButton||n.closest(".smart-drop-down-button")===t.$.dropDownButton)return"dropDownButton"===t.dropDownOpenMode&&r===t.$.actionButton?void t.close():void(t.$dropDownContainer.hasClass("smart-visibility-hidden")&&"none"!==t.dropDownOpenMode&&i&&"pointercancel"!==e.originalEvent.type?t.open():t.close());n=t._getUpEventTarget(n),void 0!==n&&(("dropDownContainer"!==n&&"item"!==n||"item"===n&&"checkBox"!==t.selectionMode&&t.selectionMode.indexOf("Many")<0)&&t.close(),o&&t.$.scrollViewer&&t.$.scrollViewer.refresh())}_keyDownHandler(e){const t=this,o=(t.shadowRoot||t.getRootNode()).activeElement||document.activeElement;if(!(t.disabled||t.readonly||o!==t&&o!==t.$.dropDownButton&&o!==t.$.actionButton))switch(e.key){case"Enter":case" ":e.preventDefault(),e.target!==t.$.actionButton&&(t.opened&&"Enter"===e.key?t.close():t.opened||t.readonly||"none"===t.dropDownOpenMode||t.open()),"dropDownButton"===t.dropDOwnOpenMode&&e.target.setAttribute("active","");break;case"End":t.$.scrollViewer.scrollTop=t.$.scrollViewer.scrollHeight;break;case"Home":t.$.scrollViewer.scrollTop=0;break;case"PageUp":case"PageDown":t.$.scrollViewer.scrollTop+=(e.key.indexOf("Down")>-1?1:-1)*t.$.dropDownContainer.offsetHeight;break;case"ArrowUp":case"ArrowDown":if(e.altKey)return void(t.disabled||t.readonly||"none"===t.dropDownOpenMode||(t.$dropDownContainer.hasClass("smart-visibility-hidden")?t.open():t.close()));e.preventDefault(),t.$.scrollViewer.scrollTop+=10*(e.key.indexOf("Down")>-1?1:-1);break;case"Escape":e.preventDefault(),t.close()}}_keyUpHandler(e){const t=this.isInShadowDOM?e.composedPath()[0]:e.target;"Enter"!==e.key&&" "!==e.key||t.removeAttribute("active")}_propertyValidator(e,t){return"number"!=typeof t&&"string"!=typeof t?e:t}_mouseEnterHandler(){const e=this;e._isElementHovered=!0,"auto"!==e.dropDownOpenMode||e.disabled||e.readonly||e.open()}_mouseLeaveHandler(){const e=this;e.removeAttribute("hover"),e._isElementHovered=!1,"auto"!==e.dropDownOpenMode||e.disabled||e.readonly||e._autoClose()}_autoClose(){const e=this;e._autoCloseTimeout=setTimeout(function(){e._isElementHovered||e.close(),clearTimeout(e._autoCloseTimeout)}.bind(e),e.autoCloseDelay)}_documentMoveHandler(e){const t=this,o=t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;if("auto"===t.dropDownOpenMode&&null!==t.dropDownAppendTo&&(t.contains(o)||t.$.dropDownContainer.contains(o)?t._isElementHovered=!0:(t._isElementHovered=!1,t._autoClose())),!t._resizeDetails||t._resizeDetails&&!t._resizeDetails.started)return;t.setAttribute("resizing",""),t._resizeDetails.resizeEventFired||(t.$.fireEvent("resizeStart",{position:{left:e.pageX,top:e.pageY}}),t._resizeDetails.resizeEventFired=!0);const n=document.documentElement,r=t.$.dropDownContainer.getBoundingClientRect(),i=t.getBoundingClientRect(),a=t.$.dropDownContainer.hasAttribute("top")?"top":"bottom";let s;function l(){if(s=e.pageY-t._resizeDetails.y,"bottom"===a)t._resizeDetails.height=Math.min(n.clientHeight-r.top-6,Math.max(0,t._resizeDetails.height+s)),t._resizeDetails.y=Math.max(r.top+n.scrollTop-t._resizeDetails.offsetY,Math.min(n.clientHeight+n.scrollTop-1.5*t._resizeDetails.offsetY,e.pageY));else{if(t._resizeDetails.height=Math.min(t._dropDownSize.maxHeight,Math.max(0,Math.min(i.top,t._resizeDetails.height-s))),s=Math.max(0,r.top+(r.height-Math.max(t._dropDownSize.minHeight,t._resizeDetails.height))),t.dropDownAppendTo&&t.dropDownAppendTo.length>0){const e=Math.abs(parseFloat(getComputedStyle(t.$.dropDownContainer).getPropertyValue("margin-bottom")))||0;t.$.dropDownContainer.style.top=t.dropDownAppendTo&&t.dropDownAppendTo.length>0?e+s+"px":""}const o=i.top+n.scrollTop+t._resizeDetails.offsetYtop;t._resizeDetails.y=Math.max(t._resizeDetails.offsetYtop,Math.min(o,Math.max(o-t._dropDownSize.maxHeight,e.pageY)))}t.$.dropDownContainer.style.height=t._resizeDetails.height+"px"}function d(){s=e.pageX-t._resizeDetails.x,t._resizeDetails.width=Math.min(n.clientWidth-r.left-6,Math.max(0,t._resizeDetails.width+s)),t.$.dropDownContainer.style.width=t._resizeDetails.width+"px",t._resizeDetails.x=Math.max(r.left+n.scrollLeft-t._resizeDetails.offsetXR,Math.min(n.clientWidth+n.scrollLeft-1.5*t._resizeDetails.offsetXR,e.pageX))}switch(t.resizeMode){case"vertical":l();break;case"horizontal":d();break;case"both":d(),l()}}_documentDownHandler(e){const t=this;if(t.disabled||t.readonly)return;let o=e.originalEvent.target;if(o===t._overlay&&(t._overlayDown=!0),t.isInShadowDOM){o=e.originalEvent.composedPath()[0];let n=o;for(;n;){if(n.closest(".smart-drop-down-container")===t.$.dropDownContainer){t._isDropDownClicked=!0;break}n=n.getRootNode().host}}else t._isDropDownClicked=o.closest(".smart-drop-down-container")===t.$.dropDownContainer;if(t._buttonClicked=o.closest(".smart-action-button")||o.closest(".smart-drop-down-button"),t._isDropDownClicked&&(t._preventDropDownClose=!0),o!==t.$.resizeBar||"none"===t.resizeMode)return;t._resizeDetails||(t._resizeDetails={});const n=t.$.dropDownContainer.getBoundingClientRect();t._resizeDetails.started=!0,t._resizeDetails.x=e.pageX,t._resizeDetails.y=e.pageY,t._resizeDetails.width=t.$.dropDownContainer.offsetWidth,t._resizeDetails.height=t.$.dropDownContainer.offsetHeight,t._resizeDetails.offsetXL=e.clientX-n.left,t._resizeDetails.offsetXR=n.left+t.$.dropDownContainer.offsetWidth-e.clientX,t._resizeDetails.offsetY=n.top+t.$.dropDownContainer.offsetHeight-e.clientY,t._resizeDetails.offsetYtop=e.clientY-n.top,t._preventDropDownClose=!0}_resizeHandler(){this.refresh()}refresh(){const e=this;"none"===e.resizeMode&&(e._calculateDropDownSize(),e._setDropDownSize())}_resizeBarMoveHandler(e){"touchmove"===e.originalEvent.type&&e.originalEvent.preventDefault()}_styleChangedHandler(e){const t=this;if(t.dropDownAppendTo&&t.dropDownAppendTo.length>0){const o=e.detail.styleProperties,n=["font-size","font-family","font-style","font-weight"];for(let e=0;e<n.length;e++)o[n[e]]&&(t.$.dropDownContainer.style[n[e]]=o[n[e]].value)}t._dropDownSize&&"auto"===t._dropDownSize.height&&t._setDropDownSize()}_buttonsDownHandler(e){const t=this;if(!t.disabled){if(t.hasRippleAnimation)if("dropDownButton"===t.dropDownOpenMode)Smart.Utilities.Animation.Ripple.animate(e.target,e.pageX,e.pageY);else if(e.target===t.$.dropDownButton||!t.editable){const o=t.$.buttonsContainer;o.firstElementChild.noRipple=!0,Smart.Utilities.Animation.Ripple.animate(o,e.pageX,e.pageY),o.firstElementChild.noRipple=!1}t._preventsSelectStart=!0,"dropDownButton"===t.dropDownOpenMode&&e.target===t.$.actionButton&&"smart-drop-down-button"===t.tagName.toLowerCase()&&t.$.actionButton.setAttribute("active",""),t.opened&&(t._preventDropDownClose=!0)}}_buttonsMouseEventsHandler(e){const t=this;t.disabled||("mouseenter"===e.type?(t.setAttribute("hover",""),e.target.setAttribute("hover","")):(t.removeAttribute("hover"),e.target.removeAttribute("hover")))}_selectStartHandler(e){this._preventsSelectStart&&e.preventDefault()}});
@@ -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-drop-down-list",class extends Smart.ContentElement{static get properties(){return{autoCloseDelay:{value:100,type:"number"},dataSource:{value:null,type:"any",reflectToAttribute:!1},displayLoadingIndicator:{value:!1,type:"boolean"},displayMember:{value:"",type:"string"},displayMode:{allowedValues:["outlined","filled","underlined"],value:"outlined",type:"string"},dropDownAppendTo:{value:null,type:"any"},dropDownButtonPosition:{allowedValues:["none","left","right","top","bottom"],value:"right",defaultReflectToAttribute:!0,type:"string"},dropDownMinHeight:{value:"",type:"any",validator:"_propertyValidator"},dropDownHeight:{value:"",type:"any",validator:"_propertyValidator"},dropDownMaxHeight:{value:"",type:"any",validator:"_propertyValidator"},dropDownOpenMode:{allowedValues:["none","default","dropDownButton","auto"],value:"default",type:"string"},dropDownOverlay:{value:!1,type:"boolean"},dropDownPlaceholder:{value:"No Items",type:"string"},dropDownPosition:{allowedValues:["auto","top","bottom","overlay-top","overlay-center","overlay-bottom","center-bottom","center-top"],value:"auto",type:"string"},dropDownMinWidth:{value:"",type:"any",validator:"_propertyValidator"},dropDownWidth:{value:"",type:"any",validator:"_propertyValidator"},dropDownMaxWidth:{value:"",type:"any",validator:"_propertyValidator"},filterable:{value:!1,type:"boolean"},filterInputPlaceholder:{value:"",type:"string"},filterCallback:{value:null,type:"function?"},filterMode:{value:"startsWithIgnoreCase",allowedValues:["contains","containsIgnoreCase","doesNotContain","doesNotContainIgnoreCase","equals","equalsIgnoreCase","startsWith","startsWithIgnoreCase","endsWith","endsWithIgnoreCase","custom"],type:"string"},grouped:{value:!1,type:"boolean"},groupMember:{value:"",type:"string"},hint:{value:"",type:"string"},horizontalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]},incrementalSearchDelay:{value:700,type:"number?"},incrementalSearchMode:{value:"startsWithIgnoreCase",allowedValues:["contains","containsIgnoreCase","doesNotContain","doesNotContainIgnoreCase","equals","equalsIgnoreCase","startsWith","startsWithIgnoreCase","endsWith","endsWithIgnoreCase"],type:"string"},itemMeasureMode:{value:"auto",allowedValues:["auto","precise"],type:"string"},inputMember:{value:"label",type:"string"},itemTemplate:{value:null,type:"any"},itemHeight:{value:null,type:"number?"},label:{value:"",type:"string"},loadingIndicatorPlaceholder:{value:"Loading...",type:"string"},loadingIndicatorPosition:{value:"center",allowedValues:["bottom","center","top"],type:"string"},messages:{extend:!0,value:{en:{invalidNode:'{{elementType}}: Invalid parameter "{{node}}" when calling {{method}}.'}},type:"object"},name:{value:"",type:"string"},opened:{value:!1,type:"boolean"},placeholder:{value:"",type:"string"},resizeMode:{value:"none",allowedValues:["none","horizontal","vertical","both"],type:"string"},resizeIndicator:{value:!1,type:"boolean"},selectionDisplayMode:{value:"plain",allowedValues:["plain","placeholder","tokens"],type:"string"},selectionMode:{value:"zeroAndOne",allowedValues:["none","oneOrManyExtended","zeroOrMany","oneOrMany","zeroOrOne","zeroAndOne","one","checkBox","radioButton"],type:"string"},selectedIndexes:{value:[],type:"array"},selectedValues:{value:[],type:"array"},sorted:{value:!1,type:"boolean"},sortDirection:{value:"asc",type:"string"},tokenTemplate:{value:null,type:"any"},type:{value:"list",type:"string",defaultReflectToAttribute:!0,readonly:!0},valueMember:{value:"",type:"string"},virtualized:{value:!1,type:"boolean"},verticalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]}}}static get listeners(){return{"actionButton.down":"_buttonsDownHandler","actionButton.mouseenter":"_buttonsMouseEventsHandler","actionButton.mouseleave":"_buttonsMouseEventsHandler","actionButton.focus":"_buttonsFocusHandler","actionButton.blur":"_buttonsFocusHandler","document.selectstart":"_selectStartHandler","document.dragstart":"_dragStartHandler","document.down":"_documentDownHandler","document.up":"_documentUpHandler","document.move":"_documentMoveHandler","dropDownButton.down":"_buttonsDownHandler","dropDownButton.mouseenter":"_buttonsMouseEventsHandler","dropDownButton.mouseleave":"_buttonsMouseEventsHandler",keydown:"_keyDownHandler",keyup:"_keyUpHandler",focus:"_focusEventHandler",blur:"_blurEventHandler","dropDownButton.focus":"_buttonsFocusHandler","dropDownButton.blur":"_buttonsFocusHandler","dropDownContainer.transitionend":"_dropDownTransitionendHandler","listBox.change":"_listBoxChangeHandler","listBox.itemClick":"_listBoxItemClickHandler","listBox.keydown":"_listBoxKeyDownHandler","listBox.bindingComplete":"_bindingCompleteHandler",mouseenter:"_mouseEnterHandler",mouseleave:"_mouseLeaveHandler",resize:"_resizeHandler","resizeBar.move":"_resizeBarMoveHandler",styleChanged:"_styleChangedHandler",wheel:"_mouseWheelHandler"}}template(){return'<div id="container" role="presentation">\n <span class="smart-label" id="label">[[label]]</span>\n <div id="content" class="smart-content" role="presentation">\n <div class="smart-buttons-container" id="buttonsContainer" role="presentation">\n <span id="actionButton" class ="smart-action-button" role="presentation">[[placeholder]]</span>\n <span id="dropDownButton" class="smart-drop-down-button">\n <span class ="smart-drop-down-button-icon" id="arrow" aria-hidden="true"></span>\n </span>\n </div>\n <div id="dropDownContainer" class="smart-drop-down smart-drop-down-container smart-visibility-hidden" role="presentation">\n <smart-list-box id="listBox" unfocusable\n animation="[[animation]]"\n data-source="[[dataSource]]"\n disabled="[[disabled]]"\n display-loading-indicator="[[displayLoadingIndicator]]"\n display-member="[[displayMember]]"\n filterable="[[filterable]]"\n filter-callback="[[filterCallback]]"\n filter-mode="[[filterMode]]"\n filter-input-placeholder="[[filterInputPlaceholder]]"\n grouped="[[grouped]]"\n group-member="[[groupMember]]"\n item-height="[[itemHeight]]"\n item-measure-mode="[[itemMeasureMode]]"\n item-template="[[itemTemplate]]"\n incremental-search-delay="[[incrementalSearchDelay]]"\n incremental-search-mode="[[incrementalSearchMode]]"\n loading-indicator-placeholder="[[loadingIndicatorPlaceholder]]"\n loading-indicator-position="[[loadingIndicatorPosition]]"\n name="[[name]]"\n placeholder="[[dropDownPlaceholder]]"\n right-to-left="[[rightToLeft]]"\n readonly="[[readonly]]"\n selected-indexes="{{selectedIndexes}}"\n selection-mode="[[selectionMode]]"\n selected-values="{{selectedValues}}"\n sorted="[[sorted]]"\n sort-direction="[[sortDirection]]"\n theme="[[theme]]"\n value-member="[[valueMember]]"\n horizontal-scroll-bar-visibility="[[horizontalScrollBarVisibility]]"\n vertical-scroll-bar-visibility="[[verticalScrollBarVisibility]]"\n virtualized="[[virtualized]]">\n <content></content>\n </smart-list-box>\n <div id="resizeBar" class="smart-drop-down-resize-bar" aria-label="Resize">\n <div></div>\n </div>\n </div>\n </div>\n <span class="smart-hint smart-hidden" id="hint">[[hint]]</span>\n </div>'}static get styleUrls(){return["smart.dropdownlist.css","smart.dropdown.css"]}propertyChangedHandler(e,t,o){super.propertyChangedHandler(e,t,o);const n=this;switch(e){case"animation":n.$.dropDownContainer.setAttribute("animation",n.animation);break;case"disabled":n._setFocusable(),n.close(),n._positionDetection.handleAutoPositioning();break;case"dataSource":case"displayMember":case"inputMember":n.$.actionButton&&(n.$.actionButton.innerHTML=n.placeholder),n._setDropDownSize(),n._positionDetection.checkBrowserBounds("vertically"),n._positionDetection.positionDropDown(),n._positionDetection.checkBrowserBounds("horizontally");break;case"dropDownAppendTo":n._positionDetection.dropDownAppendToChangedHandler();break;case"dropDownOpenMode":n._setFocusable(),n.$dropDownContainer.addClass("smart-visibility-hidden"),n.$.dropDownContainer.setAttribute("drop-down-open-mode",o),n.$.dropDownButton.removeAttribute("selected"),n.removeAttribute("drop-down-button-focus"),n.removeAttribute("action-button-focus"),n.opened=!1,n._ariaButton&&n._ariaButton.setAttribute("aria-expanded",!1),n._setAriaRelations();break;case"dropDownOverlay":o||n._positionDetection.removeOverlay();break;case"dropDownPosition":n._positionDetection.dropDownPositionChangedHandler();break;case"dropDownMinWidth":case"dropDownWidth":case"dropDownMaxWidth":case"dropDownHeight":case"dropDownMinHeight":case"dropDownMaxHeight":n._setDropDownSize();break;case"filterable":n.$.listBox.filterable=o,n._dropDownSize&&"auto"===n._dropDownSize.height&&n._setDropDownSize();break;case"label":if(!n._ariaButton)return;o?n._ariaButton.setAttribute("aria-labelledby",n.$.label.id):"DropDownList"===n.elementName&&n._ariaButton.setAttribute("aria-labelledby",n.$.actionButton.id);break;case"opened":if(n.disabled||n.readonly)return;o?n.open():n.close();break;case"placeholder":n._applySelection();break;case"readonly":n.close();break;case"resizeIndicator":o?n.$.dropDownContainer.setAttribute("resize-indicator",""):n.$.dropDownContainer.removeAttribute("resize-indicator");break;case"resizeMode":n.$.dropDownContainer.setAttribute("resize-mode",n.resizeMode);break;case"selectedValues":case"selectedIndexes":0===o.length?n.$.actionButton.innerHTML=n.placeholder:n._applySelection();break;case"selectionMode":n.$.listBox&&(n.$.listBox[e]=o,"checkBox"!==o&&"radioButton"!==o&&"checkBox"!==t&&"radioButton"!==t||n._setDropDownSize());break;case"selectionDisplayMode":n._applySelection();break;case"tokenTemplate":n._tokenTemplate=n._validateTemplate(n.tokenTemplate),n._applySelection();break;case"unfocusable":n._setFocusable()}}_updateTargetValue(){const e=this;if(e.dataset.target){const t=document.querySelector(e.dataset.target);if(t){const o=e.dataset.property,n=e.value;o&&void 0!==t[o]&&(t[o]=n)}}}appendChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("smart-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?(t.$.listBox.appendChild(e),t._dropDownSize&&"auto"===t._dropDownSize.height&&t._setDropDownSize()):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild",node:"node"}))}attached(){const e=this;super.attached(),e.isCompleted&&e.$.dropDownContainer&&(e._positionDetection.dropDownAttached("_setDropDownSize"),e._positionDetection.checkBrowserBounds(),e.selectedIndexes&&e._applySelection())}detached(){const e=this;super.detached(),e.$.dropDownContainer&&(e.close(),e._positionDetection&&e._positionDetection.dropDownDetached())}clearItems(){const e=this;e.$.listBox&&(e.$.listBox.clearItems(),e.$.actionButton.innerHTML=e.placeholder)}clearSelection(){const e=this;e.$.listBox&&(e.$.listBox.clearSelection(),e.$.actionButton.innerHTML=e.placeholder)}close(){const e=this;e.$dropDownContainer.hasClass("smart-visibility-hidden")||e.$.fireEvent("closing").defaultPrevented||(e.$dropDownContainer.addClass("smart-visibility-hidden"),e.$.fireEvent("close"),e.$.dropDownButton&&e.$.dropDownButton.removeAttribute("selected"),e.opened=!1,e._ariaButton&&e._ariaButton.setAttribute("aria-expanded",!1),e._preventDropDownClose=!1,e._positionDetection.removeOverlay(!0),e.$.listBox.removeAttribute("focus"),e._edgeMacFF&&!e.hasAnimation&&e.$.dropDownContainer&&(e.$.dropDownContainer.style.top=e.$.dropDownContainer.style.left="",e.$dropDownContainer.addClass("not-in-view")))}cloneNode(){const e=this;if(!e.$.listBox)return;let t=HTMLElement.prototype.cloneNode.apply(e,Array.prototype.slice.call(arguments,0,1));return t.dataSource=e.dataSource,t}ensureVisible(e){this.$.listBox&&this.$.listBox.ensureVisible(e)}getItem(e){if(this.$.listBox)return this.$.listBox.getItem(e)}get items(){const e=this;return e.$&&e.$.listBox?e.$.listBox.items:[]}get _focusedItem(){const e=this;return e.$&&e.$.listBox?e.$.listBox._focusedItem:null}insert(e,t){const o=this;o.$.listBox&&(o.$.listBox.insert(e,t),o._applySelection(),o._dropDownSize&&"auto"===o._dropDownSize.height&&o._setDropDownSize())}insertBefore(e,t){const o=this;if(!o.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(o,e.concat(Array.prototype.slice.call(arguments)))}e&&t?o.$.listBox&&(o.$.listBox.insertBefore(e,t),o._dropDownSize&&"auto"===o._dropDownSize.height&&o._setDropDownSize()):o.error(o.localize("invalidNode",{elementType:o.nodeName.toLowerCase(),method:"insertBefore",node:"newNode/referenceNode"}))}toggle(){const e=this;e.opened?e.close():e.open()}open(){const e=this,t=function(){for(let t=0;t<e.items.length;t++)if(!e.items[t].disabled)return e.items[t]};if(!e.disabled&&e.offsetHeight&&e.$dropDownContainer.hasClass("smart-visibility-hidden")){if(e.$dropDownContainer.hasClass("not-in-view")&&e.$dropDownContainer.removeClass("not-in-view"),e.$.dropDownContainer.style.transition=null,e.dropDownAppendTo){const t=e.getBoundingClientRect();if(e.$.container.contains(e.$.dropDownContainer)){let t=0;const o=setInterval((function(){const n=e.getBoundingClientRect();t++,n.top===e._positionTop&&t<10||(e.open(),clearInterval(o),e._positionTop=n.top)}),100);return}t.top!==e._positionTop&&(e._positionTop=t.top)}e.$.fireEvent("opening").defaultPrevented||(e._shadowDOMStylesDelay&&(e._setDropDownSize(),delete e._shadowDOMStylesDelay),e.opened=!0,e._ariaButton&&e._ariaButton.setAttribute("aria-expanded",!0),e.$.listBox.setAttribute("focus",""),e._positionDetection.placeOverlay(),e._positionDetection.checkBrowserBounds("vertically"),e._positionDetection.positionDropDown(),e._positionDetection.checkBrowserBounds("horizontally"),e.$dropDownContainer.removeClass("smart-visibility-hidden"),e.$.fireEvent("open"),e.$.dropDownButton&&("dropDownButton"===e.dropDownOpenMode?e.$.dropDownButton.setAttribute("selected",""):e.$.dropDownButton.removeAttribute("selected")),(e.$.listBox&&!e._focusedItem||e._focusedItem&&!e._focusedItem._focused)&&(e.selectedIndexes.length>0?e._focus(e.items[e.selectedIndexes[0]]):e._focus(t)),e.$.input&&!Smart.Utilities.Core.isMobile&&e.$.input.focus())}}ready(){super.ready()}render(){const e=this;e.rightToLeft&&(e.dropDownButtonPosition="right"===e.dropDownButtonPosition?"left":"right"),e.classList.add("smart-drop-down-box"),e.$.dropDownContainer&&(e._positionDetection=new Smart.Utilities.PositionDetection(e,e.$.dropDownContainer,e.$.container,"close"),e._positionDetection.getDropDownParent(!0),e._positionDetection.setDropDownPosition(),e._calculateDropDownSize(),e.$.dropDownContainer.setAttribute("resize-mode",e.resizeMode),e.$.dropDownContainer.setAttribute("drop-down-open-mode",e.dropDownOpenMode),e.resizeIndicator&&e.$.dropDownContainer.setAttribute("resize-indicator",""),e._positionDetection.handleAutoPositioning()),e.opened&&e.open(),e._positionTop=e.getBoundingClientRect().top,e._edgeMacFF=Smart.Utilities.Core.Browser.Edge||Smart.Utilities.Core.Browser.Firefox&&-1!==navigator.platform.toLowerCase().indexOf("mac"),e._edgeMacFF&&e.hasAnimation&&e.$.dropDownContainer&&e.$dropDownContainer.addClass("not-in-view"),e.$.label&&!e.$.label.id&&(e.$.label.id=e.id+"Label"),e.$.actionButton&&!e.$.actionButton.id&&(e.$.actionButton.id=e.id+"ActionButton"),e.$.hint&&!e.$.hint.id&&(e.$.hint.id=e.id+"Hint"),e._createElement(),super.render()}removeAt(e){const t=this;t.$.listBox&&(t.$.listBox.removeAt(e),t._applySelection(),t._dropDownSize&&"auto"===t._dropDownSize.height&&t._setDropDownSize())}removeChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("smart-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e&&e instanceof Smart.ListItem?(t.$.listBox.removeChild(e),t._dropDownSize&&"auto"===t._dropDownSize.height&&t._setDropDownSize()):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild",node:"node"}))}get value(){const e=this;return e.isRendered&&e.$.listBox?e.$.listBox.value:null}set value(e){const t=this;return t.isRendered&&t.$.listBox?void(t.$.listBox.value=e):null}select(e){this.$.listBox&&this.$.listBox.select(e)}_setFocusable(){const e=this;if(e.disabled||e.unfocusable)return e.removeAttribute("tabindex"),e.$.actionButton.removeAttribute("tabindex"),void e.$.dropDownButton.removeAttribute("tabindex");let t=e.tabIndex>0?e.tabIndex:0;e.tabIndex=t,"dropDownButton"===e.dropDownOpenMode?(e.removeAttribute("tabindex"),e.$.actionButton.setAttribute("tabindex",t),e.$.dropDownButton.setAttribute("tabindex",t)):(e.$.actionButton.removeAttribute("tabindex"),e.$.dropDownButton.removeAttribute("tabindex"))}static get requires(){return{"Smart.ListBox":"smart.listbox.js"}}unselect(e){this.$.listBox&&this.$.listBox.unselect(e)}update(e,t){const o=this;o.$.listBox&&(o.$.listBox.update(e,t),o._applySelection())}_resizeBarMoveHandler(e){"touchmove"===e.originalEvent.type&&e.originalEvent.preventDefault()}_createToken(){const e=this;let t,o=!1;const n=document.createDocumentFragment(),i=e.selectedIndexes[e.selectedIndexes.length-1];"plain"!==e.selectionDisplayMode||"one"!==e.selectionMode&&"zeroAndOne"!==e.selectionMode&&"zeroOrOne"!==e.selectionMode&&"radioButton"!==e.selectionMode?"tokens"===e.selectionDisplayMode?1===e.selectedIndexes.length&&["oneOrManyExtended","oneOrMany","zeroAndOne","one","radioButton"].indexOf(e.selectionMode)>-1?t="":(t="&#10006",o=!0):t=1===e.selectedIndexes.length?"":",":t="";const r=e.selectedIndexes,a=e.$.listBox._items;for(let s=0;s<r.length;s++){const l=r[s];a[l]&&n.appendChild(e._applyTokenTemplate(a[l][e.inputMember],"tokens"!==e.selectionDisplayMode&&l===i?"":t,o))}return n}_applySelection(){const e=this;if("placeholder"!==e.selectionDisplayMode&&0!==e.selectedIndexes.length){if(e.$.listBox._items&&0!==e.$.listBox._items.length)if("plain"!==e.selectionDisplayMode)e.$.actionButton.innerHTML="",e.$.actionButton.appendChild(e._createToken());else{const t=e.$.listBox.selectedIndexes,o=e.$.listBox._items;let n=[];for(let i=0;i<t.length;i++){const r=t[i];o[r]&&n.push(o[r][e.inputMember])}e.$.actionButton.innerHTML=n.length?`<span class="smart-token">${n.join(", ").trim()}</span>`:""}}else e.$.actionButton.innerHTML=e.placeholder}_applyTokenTemplate(e,t,o){const n=this,i=document.createElement("span"),r=function(){return"<span class='smart-drop-down-list-selection-label' role=\"presentation\">"+e+`</span><span class='smart-drop-down-list-unselect-button' role="button"${o?' aria-label="Unselect"':""}>${t}</span>`};if(i.classList.add("smart-token"),n._tokenTemplate){let e=document.importNode(n._tokenTemplate.content,!0);const t=e.childNodes.length,o=/{{\w+}}/g;let a;for(let n=0;n<t;n++)a=o.exec(e.childNodes[n].innerHTML),a&&(e.childNodes[n].innerHTML=e.childNodes[n].innerHTML.replace(a[0],r())),e.childNodes[n].outerHTML&&(i.innerHTML+=e.childNodes[n].outerHTML)}else"function"==typeof n.tokenTemplate?n.tokenTemplate(i,{label:e,iconSeparator:t}):i.innerHTML=r();return i}_bindingCompleteHandler(){const e=this;e.$.listBox&&requestAnimationFrame((()=>{e._setDropDownSize(),e._positionDetection.checkBrowserBounds()}))}_buttonsDownHandler(e){const t=this;if(!t.disabled){if(t.hasRippleAnimation)if(t.$.buttonsContainer&&"dropDownButton"!==t.dropDownOpenMode){const o=t.$.buttonsContainer;o.firstElementChild.noRipple=!0,Smart.Utilities.Animation.Ripple.animate(o,e.pageX,e.pageY),o.firstElementChild.noRipple=!1}else Smart.Utilities.Animation.Ripple.animate(e.target,e.pageX,e.pageY);t._preventsSelectStart=!0,t.tagName.toLowerCase().indexOf("smart-drop-down-")>-1&&"dropDownButton"===t.dropDownOpenMode&&e.target===t.$.actionButton&&t.$.actionButton.setAttribute("active",""),t.opened&&(t._preventDropDownClose=!0)}}_buttonsMouseEventsHandler(e){const t=this;t.disabled||("mouseenter"===e.type?(t.setAttribute("hover",""),e.target.setAttribute("hover",""),"dropDownButton"===t.dropDownOpenMode&&e.target===t.$.dropDownButton&&t.setAttribute("drop-down-button-hover","")):(t.removeAttribute("hover"),t.removeAttribute("drop-down-button-hover"),e.target.removeAttribute("hover")))}_calculateDropDownSize(){const e=this;e._dropDownSize={};const t=window.getComputedStyle(e.$.dropDownContainer),o=parseFloat(t.getPropertyValue("border-top-width").trim()),n=parseFloat(t.getPropertyValue("border-bottom-width").trim()),i=parseFloat(t.getPropertyValue("margin-top").trim()),r=parseFloat(t.getPropertyValue("margin-bottom").trim()),a=parseFloat(t.getPropertyValue("padding-top").trim()),s=parseFloat(t.getPropertyValue("padding-bottom").trim());Smart.Utilities.Core.CSSVariablesSupport()&&(e._dropDownSize.width=t.getPropertyValue("--smart-drop-down-list-drop-down-width").trim(),e._dropDownSize.height=t.getPropertyValue("--smart-drop-down-list-drop-down-height").trim()),(!e._dropDownSize.width||e._dropDownSize.width.indexOf("initial")>-1)&&(e._dropDownSize.width=e.offsetWidth),e._dropDownSize.height||(e._dropDownSize.height="auto"),e._dropDownSize.minHeight=parseFloat(t.getPropertyValue("min-height").trim()),e._dropDownSize.maxHeight=parseFloat(t.getPropertyValue("max-height").trim()),e._dropDownSize.borderWidth=(isNaN(o)?0:o)+(isNaN(n)?0:n),e._dropDownSize.paddingWidth=(isNaN(a)?0:a)+(isNaN(s)?0:s),e._dropDownSize.marginWidth=(isNaN(i)?0:i)+(isNaN(r)?0:r)}_createElement(){const e=this;e._tokenTemplate=e._validateTemplate(e.tokenTemplate),e._applySelection(),e._setDropDownSize(),e._setFocusable(),e.$.arrow.noRipple=!0,e._shadowDOMStylesDelay=e.shadowRoot,e._setAriaRelations(!0)}_documentDownHandler(e){const t=this;if(t.disabled||t.readonly)return;let o=e.originalEvent.target;if(o===t._overlay&&(t._overlayDown=!0),t.shadowRoot){o=e.originalEvent.composedPath()[0];let n=o.getRootNode().host;for(;n;)n.closest(".smart-drop-down-container")===t.$.dropDownContainer&&(t._isDropDownClicked=!0),n=n.getRootNode().host}else t.isInShadowDOM&&(o=e.originalEvent.composedPath()[0]),t._isDropDownClicked=o.closest(".smart-drop-down-container")===t.$.dropDownContainer;if(t._buttonClicked=o.closest(".smart-action-button")||o.closest(".smart-drop-down-button"),t.$.listBox){let n=o.closest("smart-list-item");t.$.listBox.contains(n)||(n=void 0),t.hasRippleAnimation&&n&&Smart.Utilities.Animation.Ripple.animate(n,e.pageX,e.pageY),(n||o===t.$.listBox.$.filterInput||o.closest(".smart-token"))&&(t._preventDropDownClose=!0)}if(t._isDropDownClicked&&(t._preventDropDownClose=!0),o!==t.$.resizeBar||"none"===t.resizeMode)return;t._resizeDetails||(t._resizeDetails={});const n=t.$.dropDownContainer.getBoundingClientRect();t._resizeDetails.started=!0,t._resizeDetails.x=e.pageX,t._resizeDetails.y=e.pageY,t._resizeDetails.width=t.$.dropDownContainer.offsetWidth,t._resizeDetails.height=t.$.dropDownContainer.offsetHeight,t._resizeDetails.offsetXL=e.clientX-n.left,t._resizeDetails.offsetXR=n.left+t.$.dropDownContainer.offsetWidth-e.clientX,t._resizeDetails.offsetY=n.top+t.$.dropDownContainer.offsetHeight-e.clientY,t._resizeDetails.offsetYtop=e.clientY-n.top,t._preventDropDownClose=!0}_documentMoveHandler(e){const t=this,o=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;if("auto"===t.dropDownOpenMode&&null!==t.dropDownAppendTo&&(t.contains(o)||t.$.dropDownContainer.contains(o)?t._isElementHovered=!0:(t._isElementHovered=!1,t._autoClose())),!t._resizeDetails||t._resizeDetails&&!t._resizeDetails.started)return;t.setAttribute("resizing",""),t._resizeDetails.resizeEventFired||(t.$.fireEvent("resizeStart",{position:{left:e.pageX,top:e.pageY}}),t._resizeDetails.resizeEventFired=!0);const n=document.documentElement,i=t.$.dropDownContainer.getBoundingClientRect(),r=t.getBoundingClientRect(),a=t.$.dropDownContainer.hasAttribute("top")?"top":"bottom";let s;function l(){if(s=e.pageY-t._resizeDetails.y,"bottom"===a)t._resizeDetails.height=Math.min(n.clientHeight-i.top-6,Math.max(0,t._resizeDetails.height+s)),t._resizeDetails.y=Math.max(i.top+n.scrollTop-t._resizeDetails.offsetY,Math.min(n.clientHeight+n.scrollTop-1.5*t._resizeDetails.offsetY,e.pageY));else{if(t._resizeDetails.height=Math.min(t._dropDownSize.maxHeight,Math.max(0,Math.min(r.top,t._resizeDetails.height-s))),s=Math.max(0,i.top+(i.height-Math.max(t._dropDownSize.minHeight,t._resizeDetails.height))),t.dropDownAppendTo){const e=Math.abs(parseFloat(getComputedStyle(t.$.dropDownContainer).getPropertyValue("margin-bottom")))||0;t.$.dropDownContainer.style.top=t.dropDownAppendTo?e+s+"px":""}const o=r.top+n.scrollTop+t._resizeDetails.offsetYtop;t._resizeDetails.y=Math.max(t._resizeDetails.offsetYtop,Math.min(o,Math.max(o-t._dropDownSize.maxHeight,e.pageY)))}t.$.dropDownContainer.style.height=t._resizeDetails.height+"px"}function d(){s=e.pageX-t._resizeDetails.x,t._resizeDetails.width=Math.min(n.clientWidth-i.left-6,Math.max(0,t._resizeDetails.width+s)),t.$.dropDownContainer.style.width=t._resizeDetails.width+"px",t._resizeDetails.x=Math.max(i.left+n.scrollLeft-t._resizeDetails.offsetXR,Math.min(n.clientWidth+n.scrollLeft-1.5*t._resizeDetails.offsetXR,e.pageX))}switch(t.resizeMode){case"vertical":l();break;case"horizontal":d();break;case"both":d(),l()}}_documentUpHandler(e){const t=this;if(t.$.actionButton.removeAttribute("active"),t._resizeDetails&&t._resizeDetails.started)return t._resizeDetails.started=t._resizeDetails.resizeEventFired=!1,t.removeAttribute("resizing"),t._preventDropDownClose=!1,t.focus(),void t.$.fireEvent("resizeEnd",{position:{left:e.pageX,top:e.pageY}});if(t.disabled||t._isDropDownClicked||t.readonly)return void delete t._isDropDownClicked;if(t._overlayDown)return t.close(),void delete t._overlayDown;let o=e.originalEvent.target,n=o.closest?o.closest("smart-drop-down-list"):void 0;if((t.enableShadowDOM||t.isInShadowDOM)&&(o=e.originalEvent.composedPath()[0],n=o.getRootNode().host),t._preventsSelectStart=!1,void 0===o||o===t.$.resizeBar)return;if("tokens"===t.selectionDisplayMode&&o.classList.contains("smart-drop-down-list-selection-label")&&n===t){"none"!==t.dropDownOpenMode&&t.open();let e=t.$.listBox._items.filter((e=>e[t.inputMember].toString()===o.textContent))[0];return t.$.listBox._scrollView.scrollTop=e.offsetTop,void t._focus(e)}if("tokens"===t.selectionDisplayMode&&o.classList.contains("smart-drop-down-list-unselect-button")&&n===t){if(1===t.selectedIndexes.length&&["zeroOrMany","zeroOrOne","checkBox"].indexOf(t.selectionMode)<0)return;return void t.unselect(t.$.listBox._items.filter((e=>e[t.inputMember].toString()===o.previousElementSibling.textContent))[0])}const i=o.closest(".smart-action-button");let r;if(t._buttonClicked&&("dropDownButton"===t.dropDownOpenMode&&i&&t._buttonClicked===t.$.actionButton?t.$.fireEvent("actionButtonClick"):o.closest(".smart-drop-down-button")!==t._buttonClicked&&i!==t._buttonClicked||(r=!0,t.$.fireEvent("dropDownButtonClick"))),t._buttonClicked=void 0,i===t.$.actionButton||o.closest(".smart-drop-down-button")===t.$.dropDownButton)return"dropDownButton"===t.dropDownOpenMode&&i===t.$.actionButton?void t.close():void(t.$dropDownContainer.hasClass("smart-visibility-hidden")&&"none"!==t.dropDownOpenMode&&r&&"pointercancel"!==e.originalEvent.type?t.open():t.close());o=t._getUpEventTarget(o),void 0!==o&&("dropDownContainer"!==o&&"item"!==o||"item"===o&&"checkBox"!==t.selectionMode&&t.selectionMode.indexOf("Many")<0)&&t.close()}_dragStartHandler(e){this._resizeDetails&&this._resizeDetails.started&&e.preventDefault()}_dropDownTransitionendHandler(){const e=this;e._edgeMacFF&&!e.opened&&e.hasAnimation&&(e.$.dropDownContainer.style.top=e.$.dropDownContainer.style.left="",e.$dropDownContainer.addClass("not-in-view"))}_focus(e){this.$.listBox._focus(e)}_blurEventHandler(){const e=this;e.$.dropDownButton&&(e.removeAttribute("focus"),e.$.dropDownButton.removeAttribute("focus")),e.$.actionButton&&(e.removeAttribute("focus"),e.$.actionButton.removeAttribute("focus")),e.nodeName&&"smart-drop-down-list"===e.nodeName.toLowerCase()&&!e._preventDropDownClose&&e.close()}_focusEventHandler(){const e=this;e.$.dropDownButton&&(e.setAttribute("focus",""),e.$.dropDownButton.setAttribute("focus","")),e.$.actionButton&&(e.setAttribute("focus",""),e.$.actionButton.setAttribute("focus","")),e.removeAttribute("drop-down-button-focus"),e.removeAttribute("action-button-focus")}_buttonsFocusHandler(e){const t=this;e.target===t.$.dropDownButton?"focus"===e.type?t.setAttribute("drop-down-button-focus",""):(t.removeAttribute("drop-down-button-focus"),t.nodeName&&"smart-drop-down-list"===t.nodeName.toLowerCase()&&!t._preventDropDownClose&&t.close()):"focus"===e.type?t.setAttribute("action-button-focus",""):t.removeAttribute("action-button-focus")}_getUpEventTarget(e){const t=this;let o=e;for(o=void 0===o.parentElement?o.getRootNode().host:o.parentElement;o;){if(o===t.$.dropDownContainer){o="dropDownContainer";break}o=void 0===o.parentElement?o.getRootNode().host:o.parentElement}return o}_keyDownHandler(e){const t=this,o=t.enableShadowDOM&&t.shadowRoot.activeElement||document.activeElement,n=t.enableShadowDOM?e.composedPath()[0]:e.target;if(!(t.$.listBox&&n===t.$.listBox.$.filterInput||o!==t&&o!==t.$.dropDownButton&&o!==t.$.actionButton)||"Tab"===e.key)switch(e.key){case"Tab":if(t.filterable&&t.opened){const o=function(){for(let e=0;e<t.items.length;e++)if(!t.items[e].disabled)return t.items[e]};t.$.listBox.$.filterInput&&!Smart.Utilities.Core.isMobile&&document.activeElement!==t.$.listBox.$.filterInput?(t.$.listBox.$.filterInput.focus(),t._preventDropDownClose=!0):t.$.listBox&&(t.focus(),t.selectedIndexes.length>0?t._focus(t.items[t.selectedIndexes[0]]):t._focus(o),t._preventDropDownClose=!0),e.preventDefault()}break;case"Enter":case" ":e.preventDefault(),n!==t.$.actionButton&&(t._keyPressed=!0,t.opened?(t._focusedItem&&t.select(t._focusedItem),("Enter"===e.key&&["none"].indexOf(t.selectionMode)<0||" "===e.key&&["none","zeroAndOne","one","radioButton"].indexOf(t.selectionMode)>-1)&&t.close()):t.opened||t.readonly||"none"===t.dropDownOpenMode||t.open()),"dropDownButton"===t.dropDownOpenMode&&n.setAttribute("active","");break;case"End":case"Home":case"PageUp":case"PageDown":case"ArrowUp":case"ArrowDown":if(t.readonly)return;if(e.altKey)return t._keyPressed=!1,void(t.$dropDownContainer.hasClass("smart-visibility-hidden")?t.open():t.close());e.preventDefault(),t.$.listBox._handleKeyStrokes(e.key);break;case"Escape":e.preventDefault(),t.close();break;default:if(t.readonly)return;"oneOrManyExtended"===t.selectionMode&&(t.$.listBox._keysPressed[e.key]=!0),t.$.listBox._applyIncrementalSearch(e.key)}}_keyUpHandler(e){const t=this,o=t.enableShadowDOM?e.composedPath()[0]:e.target;t.$.listBox&&o===t.$.listBox.$.filterInput||("Enter"!==e.key&&" "!==e.key||(o.removeAttribute("active"),t.$dropDownContainer.hasClass("smart-visibility-hidden")||(t._keyPressed=!1)),t.$.listBox&&"oneOrManyExtended"===t.selectionMode&&(t.$.listBox._keysPressed[e.key]=!1))}_listBoxChangeHandler(e){const t=this;if(e.target===t.$.listBox){if((t.dropDownAppendTo||t.enableShadowDOM)&&t.$.fireEvent("change",e.detail),"list"===t.autoComplete&&e.detail){const o=t.$.listBox._items[e.detail.index];t._lastSelectedItem=o&&o.selected?o:void 0}t._applySelection(t.selectionMode,e.detail),t._updateTargetValue()}else e.stopPropagation()}_listBoxItemClickHandler(e){const t=this;(t.dropDownAppendTo||t.enableShadowDOM)&&t.$.fireEvent(e.type,e.detail),"checkBox"!==t.selectionMode&&t.selectionMode.indexOf("Many")<0&&t.close(),Smart.Utilities.Core.isMobile||t.focus(),delete t._isDropDownClicked}_listBoxKeyDownHandler(e){const t=this;if("Enter"===e.key)return t.close(),"dropDownButton"===t.dropDownOpenMode?t.$.dropDownButton.focus():t.focus(),void e.stopPropagation();"Escape"!==e.key||t.close()}_mouseEnterHandler(){const e=this;e._isElementHovered=!0,e.tagName.toLowerCase().indexOf("smart-drop-down-")>-1&&"auto"===e.dropDownOpenMode&&!e.disabled&&!e.readonly&&e.open()}_mouseLeaveHandler(){const e=this;e.removeAttribute("hover"),e._isElementHovered=!1,"auto"!==e.dropDownOpenMode||e.disabled||e.readonly||e._autoClose()}_mouseWheelHandler(e){const t=this;t.disabled||t.readonly||t.items&&0===t.items.length||t.$dropDownContainer&&!t.$dropDownContainer.hasClass("smart-visibility-hidden")||t.$.listBox&&(e.preventDefault(),t.$.listBox._handleKeyStrokes(e.deltaY>0?"ArrowDown":"ArrowUp"))}_autoClose(){const e=this;e._autoCloseTimeout=setTimeout(function(){e._isElementHovered||e.close(),clearTimeout(e._autoCloseTimeout)}.bind(e),e.autoCloseDelay)}_propertyValidator(e,t){return"number"!=typeof t&&"string"!=typeof t?e:t}_resizeHandler(){this.refresh()}refresh(){const e=this;"none"===e.resizeMode&&(e._calculateDropDownSize(),e._setDropDownSize())}_selectStartHandler(e){this._preventsSelectStart&&e.preventDefault()}_setAriaRelations(e){const t=this;let o,n;"dropDownButton"!==t.dropDownOpenMode?(o=t.$.dropDownButton,o.setAttribute("aria-hidden",!0),n=t,t.$.actionButton.removeAttribute("role")):(o=t,n=t.$.dropDownButton,n.removeAttribute("aria-hidden"),t.$.actionButton.setAttribute("role","button")),t._ariaButton=n,n.setAttribute("role","button"),n.setAttribute("aria-haspopup","listbox"),n.setAttribute("aria-owns",t.$.listBox.id),n.setAttribute("aria-describedby",t.$.hint.id),t.label?n.setAttribute("aria-labelledby",t.$.label.id):"DropDownList"===t.elementName&&n.setAttribute("aria-labelledby",t.$.actionButton.id),o.setAttribute("role","presentation"),o.removeAttribute("aria-owns"),e?n.setAttribute("aria-expanded",t.opened):(o.removeAttribute("aria-describedby"),o.removeAttribute("aria-expanded"),o.removeAttribute("aria-haspopup"),o.removeAttribute("aria-labelledby"))}_setDropDownSize(){const e=this,t=e.$.listBox;let o;if(e._dropDownSize||e._calculateDropDownSize(),["dropDownMinWidth","dropDownMaxWidth"].forEach((t=>{e.$.dropDownContainer.style[t.replace("dropDown","").replace(/^./,"m")]="initial"===e[t]?e.offsetWidth+"px":e[t]?parseFloat(e[t])+(e[t].toString().endsWith("%")?"%":"px"):null})),["dropDownMinHeight","dropDownMaxHeight"].forEach((t=>{e.$.dropDownContainer.style[t.replace("dropDown","").replace(/^./,"m")]=e[t]?parseFloat(e[t])+(e[t].toString().endsWith("%")?"%":"px"):null})),e.dropDownWidth?"auto"!==e.dropDownWidth?e.$.dropDownContainer.style.width=("initial"===e.dropDownWidth?e.offsetWidth:parseFloat(e.dropDownWidth))+"px":e.$.dropDownContainer.style.width="auto":e.$.dropDownContainer.style.width="auto"===e._dropDownSize.width?"auto":(parseFloat(e._dropDownSize.width)||0)+"px",e.dropDownHeight&&"auto"!==e.dropDownHeight)e.$.dropDownContainer.style.height=parseFloat(e.dropDownHeight)+((e.dropDownHeight+"").indexOf("%")>-1?"%":"px");else if(!e.$.listBox||"auto"!==e._dropDownSize.height&&"auto"!==e.dropDownHeight)e.$.dropDownContainer.style.height=e._dropDownSize.height;else{e.$.dropDownContainer.style.height="";let n=0;if(t.$.itemsContainer&&(n=2*parseInt(window.getComputedStyle(t.$.itemsContainer).getPropertyValue("--smart-list-item-vertical-offset"))),isNaN(n)&&(n=6),o=n,t.items&&t.items.length>0?t.items.map((e=>o+=e.height||e.offsetHeight)):o=t.$.placeholder?t.$.placeholder.offsetHeight:200,e.filterable){const e=t.$.filterInputContainer;o+=e.offsetHeight+e.offsetTop}o=o+e._dropDownSize.paddingWidth+e._dropDownSize.borderWidth,e.$.dropDownContainer.style.height=o+"px"}if(t){if(void 0===o||!t.$)return void t._refreshLayout();const n=t.$.horizontalScrollBar?t.$.horizontalScrollBar.offsetHeight:0,i=Math.max(0,e._dropDownSize.minHeight-(o-n));i&&(e.$.dropDownContainer.style.height=o+i+"px"),!e.opened&&e.virtualized&&t.refresh()}}_styleChangedHandler(e){const t=this;if(t.dropDownAppendTo){const o=e.detail.styleProperties,n=["font-size","font-family","font-style","font-weight"];for(let e=0;e<n.length;e++)o[n[e]]&&(t.$.dropDownContainer.style[n[e]]=o[n[e]].value)}"auto"===t._dropDownSize.height&&t._setDropDownSize()}_validateTemplate(e){const t=this;if(e&&"function"!=typeof e)if("content"in document.createElement("template")){if(e instanceof HTMLTemplateElement||(e=document.getElementById(e)),null!==e&&"content"in e)return e;t.error(t.localize("invalidTemplate",{elementType:t.nodeName.toLowerCase(),property:"tokenTemplate"}))}else t.error(t.localize("htmlTemplateNotSuported",{elementType:t.nodeName.toLowerCase()}))}});