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-grid-panel",class extends Smart.BaseElement{static get properties(){return{closeButtonPosition:{value:"left",allowedValues:["left","right"],type:"string"},dataSource:{value:[],type:"array",reflectToAttribute:!1},messages:{value:{en:{apply:"Ok",booleanFirst:"☐",booleanLast:"☑",cancel:"Cancel",dateFirst:"1",dateLast:"9",from:"from",numberFirst:"1",numberLast:"9",stringFirst:"A",stringLast:"Z",thenBy:"then by"}},type:"object",extend:!0}}}static get listeners(){return{change:"_changeHandler",click:"_clickHandler",keydown:"_keydownHandler","sortable.dragEnd":"_sortableDragEndHandler"}}static get requires(){return{"Smart.Input":"smart.input.js","Smart.Sortable":"smart.sortable.js"}}static get styleUrls(){return["smart.gridpanel.css"]}template(){return'<div id="container" role="presentation">\n <smart-sortable id="sortable" disable-mode="manual" animation="[[animation]]" disabled="[[readonly]]" right-to-left="[[rightToLeft]]"\n drag-mode="handle" handle-position="right" handle-visibility="visible" theme="[[theme]]">\n </smart-sortable>\n <div id="footer" class="smart-grid-panel-container-footer" role="presentation">\n <smart-input id="inputNotSorted" right-to-left="[[rightToLeft]]" animation="[[animation]]" readonly theme="[[theme]]"></smart-input>\n <div id="buttonsContainer" class="smart-grid-panel-buttons-container smart-unselectable" role="presentation">\n <span class="smart-grid-panel-cancel-button" role="button"></span>\n <span class="smart-grid-panel-apply-button primary" role="button"></span>\n </div>\n </div>\n </div>'}ready(){super.ready()}render(){const e=this;e.setAttribute("role","dialog"),"right"===e.closeButtonPosition&&(e.$.sortable.handlePosition="left"),e._localize(),e._createSources(),super.render()}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const n=this;switch(e){case"animation":case"theme":Array.from(n.$.sortable.getElementsByTagName("smart-input")).forEach((t=>t[e]=a));break;case"disabled":case"unfocusable":n._setFocusable();break;case"closeButtonPosition":"right"===n.closeButtonPosition?n.$.sortable.handlePosition="left":n.$.sortable.handlePosition="right";break;case"dataSource":n.$.sortable.$.container.innerHTML="",n._createSources();break;case"locale":case"messages":{const e=n.$.sortable._items;n._localize(),e.length&&(e[0].children[1].innerHTML=n.localize("firstBy"),e.forEach((function(e,t){0!==t&&(e.children[1].innerHTML=n.localize("thenBy"));const a=n._HTMLToSourceMap.get(e),i=n._ascDescTemplates[a.dataType]||n._ascDescTemplates.string;e.children[3].innerHTML=n.localize("from"),e.children[4].firstElementChild.innerHTML=i[0],e.children[4].children[1].innerHTML=i[1]})));break}case"maxLevel":if(null!=a)for(;n.$.sortable._items.length>0&&n.$.sortable._items.length>a;)n._interactionHandler(n.$.sortable._items[n.$.sortable._items.length-1].firstElementChild);n._disableItemAddition();break;case"rightToLeft":n.$.inputNotSorted.rightToLeft=a,n.$.inputNotSorted.dropDownButtonPosition=a?"left":"right",n.$.sortable._items.forEach((e=>{const t=e.querySelector("smart-input");t.rightToLeft=a,t.dropDownButtonPosition=a?"left":"right"}))}}_changeHandler(e){const t=this,a=t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target;if(t.$.inputNotSorted.contains(a)){const e=t.$.inputNotSorted.value,a=t._labelToSourceMap.get(e);return t._createSortItem(a,t.$.sortable._items.length),t.$.sortable.updateItems(),t._visibleLabels.push(e),t._updateHiddenSource(),t._disableItemAddition(),void(t.$.inputNotSorted.value="")}const n=a.closest("smart-input");if(!n)return;const i=n.parentElement.parentElement,l=i.children[4].firstElementChild,o=i.children[4].children[1],r=n.value,s=t._HTMLToSourceMap.get(i).label,d=t._labelToSourceMap.get(r),c=t._ascDescTemplates[d.dataType]||t._ascDescTemplates.string;t._HTMLToSourceMap.set(i,d),t._visibleLabels.splice(t._visibleLabels.indexOf(s),1,r),t._updateHiddenSource(),l.innerHTML=c[0],o.innerHTML=c[1],d.sortDirection&&-1===d.sortDirection.indexOf("asc")?(o.classList.add("selected"),l.classList.remove("selected")):(l.classList.add("selected"),o.classList.remove("selected"))}_updateHiddenSource(){const e=this;e._hiddenSource=e.dataSource.map((e=>({label:e.label,value:e.dataField,icon:e.icon}))).filter((t=>-1===e._visibleLabels.indexOf(t.label)));const t=e.$.inputNotSorted.context;e.$.inputNotSorted.context=e.$.inputNotSorted,e.$.inputNotSorted.dataSource=e._hiddenSource,e.$.sortable._items.forEach((t=>{const a=t.getElementsByTagName("smart-input")[0],n=a.context;a.context=a,a.dataSource=e._hiddenSource,a.context=n})),e.$.inputNotSorted.context=t,e._disableItemAddition(),e.$.fireEvent("dataSourceChange")}_clickHandler(e){const t=this;t._interactionHandler(t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target,e)}_interactionHandler(e,t){const a=this;if(a.disabled||a.readonly)return!0;const n=e.closest(".smart-grid-panel-item");if(n){if(e===n.firstElementChild){const e=a._HTMLToSourceMap.get(n).label;a.$.sortable.$.container.removeChild(n),a.$.sortable.updateItems(),a._visibleLabels.splice(a._visibleLabels.indexOf(e),1),a._updateHiddenSource(),a._disableItemAddition(),a.$.sortable._items.length&&(a.$.sortable._items[0].children[1].innerHTML=a.localize("firstBy")),a.$.fireEvent("remove")}else if(n.children[4].contains(e)){const i=n.children[4].firstElementChild,l=n.children[4].children[1];"click"===t.type?e.classList.contains("selected")||(e===i?(l.classList.remove("selected"),i.classList.add("selected"),a._HTMLToSourceMap.get(n).sortDirection="ascending"):e===l&&(i.classList.remove("selected"),l.classList.add("selected"),a._HTMLToSourceMap.get(n).sortDirection="descending")):(i.classList.toggle("selected"),l.classList.toggle("selected"),a._HTMLToSourceMap.get(n).sortDirection=i.classList.contains("selected")?"ascending":"descending")}return!0}if(e===a.$.buttonsContainer.firstElementChild)return a.$.fireEvent("cancel"),!0;if(e===a.$.buttonsContainer.children[1]){const e=[],t={dataFields:[],dataTypes:[],orderBy:[]},n={value:e};return a.$.sortable._items.forEach((n=>{const i=a._HTMLToSourceMap.get(n);e.push({dataField:i.dataField,sortDirection:i.sortDirection}),t.dataFields.push(i.dataField),t.dataTypes.push(i.dataType),t.orderBy.push(i.sortDirection)})),a instanceof Smart.SortPanel&&a.$.maintainSortContainer&&(t.maintainSort=a.$.maintainSortContainer.firstElementChild.hasAttribute("active")),(a instanceof Smart.SortPanel||a instanceof Smart.GroupPanel)&&(n.sortByInfo=t),a.$.fireEvent("apply",n),!0}}_keydownHandler(e){const t=this,a=e.key;" "!==a&&"Enter"!==a||(e.preventDefault(),t._interactionHandler((t.shadowRoot||t.getRootNode()).activeElement,e))}_sortableDragEndHandler(e){const t=this,a=e.detail.oldIndex,n=e.detail.newIndex,i=Math.max(a,n),l=t.$.sortable._items;0===(a&&n)&&(l[0].children[1].innerHTML=t.localize("firstBy"),l[1].children[1].innerHTML=t.localize("thenBy"),i>1&&(l[i].children[1].innerHTML=t.localize("thenBy")))}_localize(){const e=this;e.$.inputNotSorted.placeholder=e.localize("pickAnother"),e.$.buttonsContainer.firstElementChild.innerHTML=e.localize("cancel"),e.$.buttonsContainer.children[1].innerHTML=e.localize("apply"),e._ascDescTemplates={boolean:[e.localize("booleanFirst")+" → "+e.localize("booleanLast"),e.localize("booleanLast")+" → "+e.localize("booleanFirst")],date:[e.localize("dateFirst")+" → "+e.localize("dateLast"),e.localize("dateLast")+" → "+e.localize("dateFirst")],number:[e.localize("numberFirst")+" → "+e.localize("numberLast"),e.localize("numberLast")+" → "+e.localize("numberFirst")],string:[e.localize("stringFirst")+" → "+e.localize("stringLast"),e.localize("stringLast")+" → "+e.localize("stringFirst")]}}_createSources(){const e=this,t=(e instanceof Smart.SortPanel?"sort":"group")+"Index",a=[],n=[];if(e._HTMLToSourceMap=new Map,e._labelToSourceMap=new Map,e.dataSource.forEach((n=>{e._labelToSourceMap.set(n.label,n),-1!==n[t]&&void 0!==n[t]&&a.push(n)})),a.sort(((e,a)=>e[t]-a[t])),void 0!==e.maxLevel&&null!==e.maxLevel)for(;a.length>0&&a.length>e.maxLevel;)a.pop();e.$.inputNotSorted.dropDownButtonPosition=e.rightToLeft?"left":"right",e.$.inputNotSorted.dataSource&&e.$.inputNotSorted.dataSource.length<10&&e.$.inputNotSorted.dataSource.length>0?e.$.inputNotSorted.dropDownHeight="auto":e.$.inputNotSorted.dropDownHeight=250,a.forEach((e=>n.push(e.label))),e._visibleLabels=n,e._updateHiddenSource(),a.forEach(((t,a)=>{e._createSortItem(t,a)})),e.$.sortable.updateItems(),e._disableItemAddition(),e._setFocusable()}_createSortItem(e,t){const a=this,n=a.disabled||a.unfocusable?-1:0,i=document.createElement("div"),l=a._ascDescTemplates[e.dataType]||a._ascDescTemplates.string;i.className="smart-grid-panel-item",i.innerHTML=`<div class="smart-grid-panel-item-close-button" tabindex="${n}" role="button" aria-label="Close"></div>\n<div class="smart-grid-panel-label-by smart-unselectable" role="presentation">${a.localize(t>0?"thenBy":"firstBy")}</div>\n<div class="smart-grid-panel-field-container" role="presentation"><smart-input class="smart-grid-panel-field-selection" value="${e.label}" animation="${a.animation}" readonly theme="${a.theme}" aria-label="Field name"></smart-input></div>\n<div class="smart-grid-panel-from smart-unselectable" role="presentation">${a.localize("from")}</div >\n<div class="smart-grid-panel-direction smart-unselectable" tabindex="${n}" role="presentation">\n <div class="smart-grid-panel-asc" role="button" aria-label="Ascending">${l[0]}</div >\n <div class="smart-grid-panel-desc" role="button" aria-label="Descending">${l[1]}</div>\n</div>\n`;const o=i.querySelector("smart-input");o.dataSource=a._hiddenSource,o.rightToLeft=a.rightToLeft,o.dropDownButtonPosition=a.rightToLeft?"left":"right",o.dataSource&&o.dataSource.length<10?o.dropDownHeight="auto":o.dropDownHeight=250,a.$.sortable.$.container.appendChild(i),o.tabIndex=n,e.sortDirection&&-1===e.sortDirection.indexOf("asc")?i.children[4].children[1].classList.add("selected"):(e.sortDirection="ascending",i.children[4].firstElementChild.classList.add("selected")),a._HTMLToSourceMap.set(i,e)}_disableItemAddition(){const e=this,t=e.maxLevel,a=0===e._hiddenSource.length||null!=t&&Math.max(0,t)===e.$.sortable._items.length;e.$.inputNotSorted.disabled=a,a&&e.$.inputNotSorted.removeAttribute("focus")}_setFocusable(){const e=this,t=e.disabled||e.unfocusable?-1:0,a=Array.from(e.getElementsByClassName("smart-grid-panel-item-close-button")),n=Array.from(e.getElementsByClassName("smart-grid-panel-direction")),i=Array.from(e.getElementsByTagName("input")),l=a.concat(n).concat(i);e.$.buttonsContainer.firstElementChild.tabIndex=t,e.$.buttonsContainer.children[1].tabIndex=t,l.forEach((e=>e.tabIndex=t))}}),Smart("smart-sort-panel",class extends Smart.GridPanel{static get properties(){return{messages:{value:{en:{firstBy:"Sort by",noSorting:"No sorting applied",pickAnother:"Pick another field to sort by",maintainSort:"Maintain Sort",applyOnce:"Apply once"}},type:"object",extend:!0}}}template(){return'<div id="container" role="presentation">\n <smart-sortable disable-mode="manual" right-to-left="[[rightToLeft]]" id="sortable" animation="[[animation]]" disabled="[[readonly]]" drag-mode="handle" handle-position="right" handle-visibility="visible" theme="[[theme]]"></smart-sortable>\n <div id="footer" class="smart-grid-panel-container-footer" role="presentation">\n <div>\n <smart-input right-to-left="[[rightToLeft]]" id="inputNotSorted" animation="[[animation]]" readonly theme="[[theme]]"></smart-input>\n <div id="maintainSortContainer" class="smart-hidden smart-grid-panel-buttons-container smart-grid-panel-maintain-sort smart-unselectable" role="presentation">\n <span class="smart-grid-panel-maintain-sort-button" role="button"></span>\n </div>\n \n </div>\n <div id="buttonsContainer" class="smart-grid-panel-buttons-container smart-unselectable" role="presentation">\n <span class="smart-grid-panel-cancel-button" role="button"></span>\n <span class="smart-grid-panel-apply-button primary" role="button"></span>\n </div>\n </div>\n </div>'}_changeApplyButtonText(e){const t=this,a=t.$.maintainSortContainer.firstElementChild,n=t.querySelector(".smart-grid-panel-apply-button");e?a.hasAttribute("active")?(a.removeAttribute("active"),n&&(n.innerHTML=t.localize("applyOnce"))):(a.setAttribute("active",""),n&&(n.innerHTML=t.localize("apply"))):a.hasAttribute("active")?n.innerHTML=t.localize("apply"):n.innerHTML=t.localize("applyOnce")}_interactionHandler(e,t){const a=this;super._interactionHandler(e,t)||e===a.$.maintainSortContainer.firstElementChild&&a._changeApplyButtonText(!0)}static get styleUrls(){return["smart.textbox.css"]}_localize(){super._localize();const e=this;e.$.sortable.$.container.setAttribute("no-sorting",e.localize("noSorting")),e.$.maintainSortContainer.firstElementChild.innerHTML=e.localize("maintainSort"),e._changeApplyButtonText()}}),Smart("smart-group-panel",class extends Smart.GridPanel{static get properties(){return{maxLevel:{value:8,type:"number?"},messages:{value:{en:{collapseAll:"Collapse all",expandAll:"Expand all",firstBy:"Group by",noGrouping:"No grouping",pickAnother:"Pick another field to group by"}},type:"object",extend:!0}}}template(){return'<div id="container" role="presentation">\n <smart-sortable disable-mode="manual" right-to-left="[[rightToLeft]]" id="sortable" animation="[[animation]]" disabled="[[readonly]]" drag-mode="handle" handle-position="right" handle-visibility="visible" theme="[[theme]]"></smart-sortable>\n <div id="expandCollapseContainer" class="smart-grid-panel-buttons-container smart-grid-panel-expand-collapse smart-unselectable" role="presentation">\n <span class="smart-group-panel-collapse-button" role="button"></span>\n <span class="smart-group-panel-expand-button" role="button"></span>\n </div>\n <div id="footer" class="smart-grid-panel-container-footer" role="presentation">\n <smart-input right-to-left="[[rightToLeft]]" id="inputNotSorted" animation="[[animation]]" readonly theme="[[theme]]"></smart-input>\n <div id="buttonsContainer" class="smart-grid-panel-buttons-container smart-unselectable" role="presentation">\n <span class="smart-grid-panel-cancel-button" role="button"></span>\n <span class="smart-grid-panel-apply-button primary" role="button"></span>\n </div>\n </div>\n </div>'}_interactionHandler(e,t){const a=this;super._interactionHandler(e,t)||(e===a.$.expandCollapseContainer.firstElementChild?a.$.fireEvent("collapseAll"):e===a.$.expandCollapseContainer.children[1]&&a.$.fireEvent("expandAll"))}_localize(){super._localize();const e=this;e.$.expandCollapseContainer.firstElementChild.innerHTML=e.localize("collapseAll"),e.$.expandCollapseContainer.children[1].innerHTML=e.localize("expandAll"),e.$.sortable.$.container.setAttribute("no-grouping",e.localize("noGrouping"))}_setFocusable(){super._setFocusable();const e=this,t=e.disabled||e.unfocusable?-1:0;e.$.expandCollapseContainer.firstElementChild.tabIndex=t,e.$.expandCollapseContainer.children[1].tabIndex=t}}),Smart("smart-multi-column-filter-panel",class extends Smart.BaseElement{static get properties(){return{closeButtonPosition:{value:"left",allowedValues:["left","right"],type:"string"},dataSource:{value:[],type:"array",reflectToAttribute:!1},editorCallback:{value:null,type:"function?",reflectToAttribute:!1},editorPlaceholder:{value:"Value",type:"string"},messages:{value:{en:{addFilter:"+ Add filter",and:"And",apply:"Ok",cancel:"Cancel",CONTAINS:"contains",CONTAINS_CASE_SENSITIVE:"contains (case sensitive)",DOES_NOT_CONTAIN:"does not contain",DOES_NOT_CONTAIN_CASE_SENSITIVE:"does not contain (case sensitive)",EMPTY:"empty",ENDS_WITH:"ends with",ENDS_WITH_CASE_SENSITIVE:"ends with (case sensitive)",EQUAL:"equal",EQUAL_CASE_SENSITIVE:"equal (case sensitive)",GREATER_THAN:"greater than",GREATER_THAN_OR_EQUAL:"greater than or equal",LESS_THAN:"less than",LESS_THAN_OR_EQUAL:"less than or equal",noFilters:"No filters applied",NOT_EMPTY:"not empty",NOT_EQUAL:"not equal",NOT_NULL:"not null",NULL:"null",or:"Or",STARTS_WITH:"starts with",STARTS_WITH_CASE_SENSITIVE:"starts with (case sensitive)",where:"Where"}},type:"object",extend:!0},operator:{value:"and",allowedValues:["and","or"],type:"string"},value:{value:[],type:"array"}}}static get listeners(){return{change:"_changeHandler",click:"_interactionHandler",keydown:"_interactionHandler"}}static get requires(){return{"Smart.Button":"smart.button.js","Smart.CheckBox":"smart.checkbox.js","Smart.DateTimePicker":"smart.datetimepicker.js","Smart.FilterGroup":"smart.filter.js","Smart.Input":"smart.input.js","Smart.NumericTextBox":"smart.numerictextbox.js"}}static get styleUrls(){return["smart.gridpanel.css"]}template(){return'<div id="container" role="presentation">\n <div id="itemsContainer" class="smart-filter-panel-items-container smart-unselectable"></div>\n <div id="footer" class="smart-grid-panel-container-footer" role="presentation">\n <div id="addFilterButton" class="smart-filter-panel-add-filter-button smart-unselectable" role="button"></div>\n <div id="buttonsContainer" class="smart-grid-panel-buttons-container smart-unselectable" role="presentation">\n <span class="smart-grid-panel-cancel-button" role="button"></span>\n <span class="smart-grid-panel-apply-button primary" role="button"></span>\n </div>\n </div>\n </div>'}ready(){super.ready()}render(){const e=this;e.setAttribute("role","dialog"),e._setFocusable(),e._localize(),e._applyValue(),super.render()}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const n=this;switch(e){case"animation":case"theme":case"rightToLeft":Array.from(n.$.itemsContainer.querySelectorAll("smart-date-time-picker, smart-numeric-text-box, smart-check-box, smart-input")).forEach((t=>{t[e]=a,"smart-input"===t.tagName.toLowerCase()&&"rightToLeft"===e&&"none"!==t.dropDownButtonPosition&&(t.dropDownButtonPosition=a?"left":"right")}));break;case"disabled":case"unfocusable":n._setFocusable(!0);break;case"dataSource":case"value":n._applyValue();break;case"editorPlaceholder":Array.from(n.$.itemsContainer.getElementsByClassName("editor")).forEach((e=>e.placeholder=a));break;case"locale":case"messages":n._localize(!0);break;case"operator":n._setOperator()}}_setOperator(){const e=this,t=e.localize(e.operator);for(let a=2;a<e._items.length;a++)e._items[a].children[1].innerHTML=t}_changeHandler(e){const t=this,a=t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target;if(a instanceof Smart.Input==0)return;const n=a.parentElement,i=n.children;if(a===i[1])t.operator=a.$.input.dataValue,t._setOperator();else if(a===i[2]){const a=t.dataSource.find((t=>t.dataField===e.detail.oldValue)).dataType,l=t.dataSource.find((t=>t.dataField===e.detail.value)),o=l.dataType;if("enum"!==o&&o===a)return void(t.editorCallback&&t.editorCallback(i[4],l));const r=i[3].value;let s,d;switch(o){case"date":s=t._numberAndDateConditions,d=document.createElement("smart-date-time-picker"),d.calendarButton=!0,d.dropDownAppendTo="body",d.dropDownDisplayMode="auto",d.formatString="M/d/yy H:mm";break;case"number":s=t._numberAndDateConditions,d=document.createElement("smart-numeric-text-box");break;case"boolean":s=t._booleanConditions,d=document.createElement("smart-check-box");break;case"enum":s=t._enumConditions,d=document.createElement("smart-input"),d.dataSource=l.options,d.readonly=!0,d.dropDownButtonPosition="right";break;default:s=t._stringConditions,d=document.createElement("smart-input")}s.forEach((e=>{delete e.selected})),d.rightToLeft=t.rightToLeft,d.animation=t.animation,d.theme=t.theme,d.unfocusable=t.disabled||t.unfocusable,d.classList.add("underlined"),d.dataSource&&d.dataSource.length<10?d.dropDownHeight="auto":d.dropDownHeight=250,"boolean"!==o&&(d.placeholder=t.editorPlaceholder),t.editorCallback&&t.editorCallback(d,l),i[4].remove(),n.appendChild(d),""===r||s.find((e=>e.label===r))||(i[3].value="",i[3].selectedValue=""),i[3].dataSource=s,s.length>=10?i[3].dropDownHeight=250:i[3].dropDownHeight="auto",n.dataType=o}else if(a===i[3]){const e=i[4],t=a.$.input.dataValue;-1!==t.indexOf("NULL")||-1!==t.indexOf("EMPTY")?(e.value="",e.checked=!1,e.classList.add("smart-visibility-hidden")):e.classList.remove("smart-visibility-hidden"),a.condition=t}}_interactionHandler(e){const t=this;if(t.disabled||t.readonly)return;if("keydown"===e.type){if("Enter"!==e.key)return;e.preventDefault()}const a=t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target,n=a.closest(".smart-grid-panel-item");if(n){if(a===n.firstElementChild){const e=t._items.indexOf(n);let a;t._items.splice(e,1),n.remove(),t._items.length>0&&e<2&&(0===e&&(t._items[0].children[1].remove(),a=document.createElement("div"),a.innerHTML=t.localize("where"),t._items[0].insertBefore(a,t._items[0].children[1])),t._items.length>1&&(t._items[1].children[1].remove(),a=document.createElement("smart-input"),a.className="underlined",a.dataSource=[{value:"and",label:t.localize("and")},{value:"or",label:t.localize("or")}],a.dropDownButtonPosition=t.rightToLeft?"left":"right",a.readonly=!0,a.value=t.localize(t.operator),a.animation=t.animation,a.theme=t.theme,a.rightToLeft=t.rightToLeft,a.unfocusable=t.disabled||t.unfocusable,t._items[1].insertBefore(a,t._items[1].children[1])))}}else if(a===t.$.addFilterButton&&t.dataSource.length>0)t.$.itemsContainer.appendChild(t._createItem(t.dataSource[0],"","",t._items.length));else if(a!==t.$.buttonsContainer.firstElementChild){if(a===t.$.buttonsContainer.children[1]){const e=t._stringConditions.concat(t._numberAndDateConditions),a=t.operator,n=[],i={},l=[];t._items.forEach((l=>{const o=t.dataSource.find((e=>e.label===l.children[2].value)),r=[];let s=l.children[3].value;if(""===s)return;let d=o.dataType;if(s=e.find((e=>e.label===s)).value,r.push(o.dataField,s),-1===s.indexOf("NULL")&&-1===s.indexOf("EMPTY"))if("boolean"===d)r.push(l.children[4].checked);else if("date"===d)r.push(l.children[4].value.toDate());else if("enum"===d){let e=l.children[4].$.input.dataValue;if(void 0===e){const t=o.options.find((e=>e.label===l.children[4].value));if(!t)return;e=t.value}d="string",r.push(e)}else r.push(l.children[4].value);let c=i[r[0]];void 0===c&&(c=new Smart.Utilities.FilterGroup,i[r[0]]=c);const u=c.createFilter(d,r[2],r[1]);c.addFilter(a,u),n.push(r)}));for(let e in i)l.push([e,i[e]]);t.value=n,t.$.fireEvent("apply",{filters:l,operator:a,value:n})}}else t.$.fireEvent("cancel")}_applyValue(){const e=this,t=document.createDocumentFragment();let a=0;for(e._items=[];e.$.itemsContainer.firstElementChild;)e.$.itemsContainer.firstElementChild.remove();0!==e.dataSource.length&&(e.value.forEach((n=>{if(!Array.isArray(n))return;const i=n[0],l=e.dataSource.find((e=>e.dataField===i));if(!l)return;const o=e._createItem(l,n[1],n[2],a);t.appendChild(o),a++})),e.$.itemsContainer.appendChild(t))}_createItem(e,t,a,n){const i=this,l=i.disabled||i.unfocusable?-1:0,o=document.createElement("div"),r=document.createDocumentFragment(),s=document.createElement("div"),d=document.createElement("smart-input"),c=document.createElement("smart-input");let u,p;return s.className="smart-grid-panel-item-close-button",s.tabIndex=l,s.setAttribute("role","button"),s.setAttribute("aria-label","button"),r.appendChild(s),0===n?(u=document.createElement("div"),u.innerHTML=i.localize("where"),u.setAttribute("role","presentation")):1===n?(u=document.createElement("smart-input"),u.className="underlined",u.dataSource=[{value:"and",label:i.localize("and")},{value:"or",label:i.localize("or")}],u.dropDownButtonPosition=i.rightToLeft?"left":"right",u.readonly=!0,u.value=i.localize(i.operator),u.animation=i.animation,u.theme=i.theme,u.rightToLeft=i.rightToLeft,u.unfocusable=i.disabled||i.unfocusable,u.setAttribute("aria-label","Operator")):(u=document.createElement("div"),u.innerHTML=i.localize(i.operator),u.setAttribute("role","presentation")),r.appendChild(u),d.className="underlined",d.dataSource=i.dataSource.map((e=>({value:e.dataField,label:e.label,icon:e.icon}))),d.dropDownButtonPosition=i.rightToLeft?"left":"right",d.readonly=!0,d.value=e.label,d.animation=i.animation,d.theme=i.theme,d.rightToLeft=i.rightToLeft,d.unfocusable=i.disabled||i.unfocusable,d.setAttribute("aria-label","Field"),d.dataSource&&d.dataSource.length<10?d.dropDownHeight="auto":d.dropDownHeight=250,r.appendChild(d),"boolean"===e.dataType?(c.dataSource=JSON.parse(JSON.stringify(i._booleanConditions)),p=document.createElement("smart-check-box"),p.checked="boolean"==typeof a&&a):"date"===e.dataType?(c.dataSource=i._numberAndDateConditions,p=document.createElement("smart-date-time-picker"),p.dropDownDisplayMode="auto",p.calendarButton=!0,p.dropDownAppendTo="body",p.formatString="M/d/yy H:mm",p.value=a):"number"===e.dataType?(c.dataSource=JSON.parse(JSON.stringify(i._numberAndDateConditions)),p=document.createElement("smart-numeric-text-box"),p.value="number"==typeof a||"string"==typeof a?a:0):"enum"===e.dataType?(c.dataSource=JSON.parse(JSON.stringify(i._enumConditions)),p=document.createElement("smart-input"),p.dataSource=e.options,p.readonly=!0,p.dropDownButtonPosition="right",p.value=a?e.options.find((e=>e.value===a)).label:""):(c.dataSource=JSON.parse(JSON.stringify(i._stringConditions)),p=document.createElement("smart-input"),p.value=null!=a?a.toString():""),c.className="underlined",c.dropDownButtonPosition=i.rightToLeft?"left":"right",c.readonly=!0,c.animation=i.animation,c.theme=i.theme,c.rightToLeft=i.rightToLeft,c.unfocusable=i.disabled||i.unfocusable,c.setAttribute("aria-label","Condition"),c.classList.add("smart-filter-panel-list"),c.dataSource.forEach((e=>{delete e.selected})),c.dataSource.find((e=>e.value===t))?(c.value=i.localize(t),c.selectedValue=t,c.condition=t):(p.value="",p.checked=!1),void 0===t||-1===t.indexOf("NULL")&&-1===t.indexOf("EMPTY")||(p.value="",p.checked=!1,p.classList.add("smart-visibility-hidden")),c.dataSource&&c.dataSource.length<10?c.dropDownHeight="auto":c.dropDownHeight=250,p.animation=i.animation,p.classList.add("editor"),p.rightToLeft=i.rightToLeft,p.theme=i.theme,p.unfocusable=i.disabled||i.unfocusable,p.classList.add("underlined"),"boolean"!==e.dataType&&(p.placeholder=i.editorPlaceholder),i.editorCallback&&i.editorCallback(p,e),r.appendChild(c),r.appendChild(p),o.appendChild(r),o.className="smart-grid-panel-item",i._items.push(o),o.dataType=e.dataType,o}_localize(e){const t=this;t.$.addFilterButton.innerHTML=t.localize("addFilter"),t.$.buttonsContainer.firstElementChild.innerHTML=t.localize("cancel"),t.$.buttonsContainer.children[1].innerHTML=t.localize("apply"),t.$.itemsContainer.setAttribute("no-filters",t.localize("noFilters")),t._stringConditions=[{prefix:'<span class="smart-icon smart-icon-empty"></span>',value:"EMPTY",label:t.localize("EMPTY")},{prefix:'<span class="smart-icon smart-icon-not-empty"></span>',value:"NOT_EMPTY",label:t.localize("NOT_EMPTY")},{prefix:'<span class="smart-icon smart-icon-contains"></span>',value:"CONTAINS",label:t.localize("CONTAINS")},{prefix:'<span class="smart-icon smart-icon-does-not-contain"></span>',value:"DOES_NOT_CONTAIN",label:t.localize("DOES_NOT_CONTAIN")},{prefix:'<span class="smart-icon smart-icon-starts-with"></span>',value:"STARTS_WITH",label:t.localize("STARTS_WITH")},{prefix:'<span class="smart-icon smart-icon-ends-with"></span>',value:"ENDS_WITH",label:t.localize("ENDS_WITH")},{prefix:'<span class="smart-icon smart-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="smart-icon smart-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")},{prefix:'<span class="smart-icon smart-icon-null"></span>',value:"NULL",label:t.localize("NULL")},{prefix:'<span class="smart-icon smart-icon-not-null"></span>',value:"NOT_NULL",label:t.localize("NOT_NULL")}],t._enumConditions=[{prefix:'<span class="smart-icon smart-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="smart-icon smart-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")}],t._numberAndDateConditions=[{prefix:'<span class="smart-icon smart-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="smart-icon smart-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")},{prefix:'<span class="smart-icon smart-icon-less-than"></span>',value:"LESS_THAN",label:t.localize("LESS_THAN")},{prefix:'<span class="smart-icon smart-icon-less-than-equal"></span>',value:"LESS_THAN_OR_EQUAL",label:t.localize("LESS_THAN_OR_EQUAL")},{prefix:'<span class="smart-icon smart-icon-greater-than"></span>',value:"GREATER_THAN",label:t.localize("GREATER_THAN")},{prefix:'<span class="smart-icon smart-icon-greater-than-equal"></span>',value:"GREATER_THAN_OR_EQUAL",label:t.localize("GREATER_THAN_OR_EQUAL")},{prefix:'<span class="smart-icon smart-icon-null"></span>',value:"NULL",label:t.localize("NULL")},{prefix:'<span class="smart-icon smart-icon-not-null"></span>',value:"NOT_NULL",label:t.localize("NOT_NULL")}],t._booleanConditions=[{prefix:'<span class="smart-icon smart-icon-equal"></span>',value:"EQUAL",label:t.localize("EQUAL")},{prefix:'<span class="smart-icon smart-icon-not-equal"></span>',value:"NOT_EQUAL",label:t.localize("NOT_EQUAL")},{prefix:'<span class="smart-icon smart-icon-null"></span>',value:"NULL",label:t.localize("NULL")},{prefix:'<span class="smart-icon smart-icon-not-null"></span>',value:"NOT_NULL",label:t.localize("NOT_NULL")}],e&&t._items.forEach(((e,a)=>{const n=e.children[1],i=e.children[3];0===a?n.innerHTML=t.localize("where"):1===a?(n.dataSource=[{value:"and",label:t.localize("and")},{value:"or",label:t.localize("or")}],n.value=t.localize(t.operator)):n.innerHTML=t.localize(t.operator),"string"===e.dataType?i.dataSource=t._stringConditions:"enum"===e.dataType?i.dataSource=t._enumConditions:"boolean"===e.dataType?i.dataSource=t._booleanConditions:i.dataSource=t._numberAndDateConditions,i.value=i.condition?t.localize(i.condition):""}))}_setFocusable(e){const t=this,a=t.disabled||t.unfocusable?-1:0;if(t.$.addFilterButton.tabIndex=a,t.$.buttonsContainer.firstElementChild.tabIndex=a,t.$.buttonsContainer.children[1].tabIndex=a,e){const e=Array.from(t.$.itemsContainer.getElementsByClassName("smart-grid-panel-item-close-button")),n=Array.from(t.$.itemsContainer.querySelectorAll("smart-date-time-picker, smart-numeric-text-box, smart-check-box, smart-input"));e.forEach((e=>e.tabIndex=a)),n.forEach((e=>e.unfocusable=t.disabled||t.unfocusable))}}}),Smart("smart-column-panel",class extends Smart.BaseElement{static get properties(){return{dataSource:{value:[],type:"array",reflectToAttribute:!1},messages:{value:{en:{apply:"Ok",cancel:"Cancel",find:"Find a field",reset:"Reset",noResults:"No results"}},type:"object",extend:!0}}}static get listeners(){return{click:"_interactionHandler",keydown:"_interactionHandler","find.keyup":"_findKeyupHandler","sortable.dragEnd":"_sortableDragEndHandler"}}static get requires(){return{"Smart.Sortable":"smart.sortable.js"}}static get styleUrls(){return["smart.gridpanel.css"]}template(){return'<div id="container" role="presentation">\n <div class="smart-column-panel-find-container" role="search">\n <input id="find" readonly="[[readonly]]" role="searchbox" aria-label="Find a field"></input>\n <span id="clearButton" class="clear-button smart-hidden" role="button" aria-label="Clear"></span>\n </div>\n <smart-sortable id="sortable" disable-mode="manual" right-to-left="[[rightToLeft]]" animation="[[animation]]" disabled="[[readonly]]" drag-mode="handle" handle-position="right" handle-visibility="visible" theme="[[theme]]"></smart-sortable>\n <div id="footer" class="smart-grid-panel-container-footer" role="presentation">\n <span id="reset" class="smart-grid-panel-reset-button" role="button"></span>\n <div id="buttonsContainer" class="smart-grid-panel-buttons-container smart-unselectable" role="presentation">\n <span class="smart-grid-panel-cancel-button" role="button"></span>\n <span class="smart-grid-panel-apply-button primary" role="button"></span>\n </div>\n </div>\n </div>'}ready(){super.ready()}render(){const e=this;e.setAttribute("role","dialog"),e._positionChanged=!1,e._localize(),e._moves=[],e._createSortItems(),super.render()}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const n=this;switch(e){case"disabled":case"unfocusable":n._setFocusable();break;case"dataSource":{const e=n.$.sortable.$.container;for(;e.firstChild;)e.removeChild(e.firstChild);n._createSortItems(),n._positionChanged=!1,n.$.find.value="",n._findKeyupHandler(),n.$.clearButton.classList.add("smart-hidden");break}case"locale":case"messages":n._localize()}}_createSortItems(){const e=this,t=document.createDocumentFragment();e._HTMLToSourceMap=new Map,e.dataSource.forEach((a=>t.appendChild(e._createSortItem(a)))),e.$.sortable.$.container.appendChild(t),e.$.sortable.updateItems(),e._setFocusable()}_createSortItem(e){const t=document.createElement("div"),a=this.id+"Label"+e.dataField;return this._HTMLToSourceMap.set(t,e),t.className="smart-grid-panel-item",t.innerHTML=`<div class="toggle-visibility${!1!==e.visible?"":" hidden"}${e.disableToggle?" disable-toggle":""}" role="button" aria-controls="${a}" aria-label="Toggle visibility"></div>\n<span id="${a}" class="smart-column-panel-label smart-unselectable${e.icon?" icon "+e.icon:""}">${e.label}</span>`,1===e.level?t.classList.add("indent"):0===e.level&&t.classList.add("group"),e.disableDrag&&t.setAttribute("disable-drag",""),e.dataField&&t.setAttribute("data-field",e.dataField),e.parentDataField&&t.setAttribute("parent-data-field",e.parentDataField),!1!==e.allowHide&&!0!==e.disableToggle||(t.style.pointerEvents="none",t.setAttribute("disabled",""),t.style.opacity=.8),t}_interactionHandler(e){const t=this;if(t.disabled||t.readonly||"keydown"===e.type&&-1===[" ","Enter"].indexOf(e.key))return;const a=t.shadowRoot||t.isInShadowDOM?e.composedPath()[0]:e.target;if(a.classList.contains("toggle-visibility")){a.classList.toggle("hidden");const e=a.closest(".smart-grid-panel-item");if(e.hasAttribute("data-field")){const n=e.getAttribute("data-field");if(e.hasAttribute("parent-data-field")||e.hasAttribute("disabled")){const a=e.getAttribute("parent-data-field"),n=t.$.sortable.querySelectorAll(".smart-grid-panel-item");let i=null;if(n.forEach((e=>{e.getAttribute("data-field")===a&&(i=e)})),i){let e=0,t=0;n.forEach((n=>{n.getAttribute("parent-data-field")===a&&(e++,n.firstElementChild.classList.contains("hidden")&&t++)})),t===e?i.firstElementChild.classList.add("hidden"):t<e&&i.firstElementChild.classList.remove("hidden")}}else t.$.sortable._items.forEach((e=>{if(e.hasAttribute("parent-data-field")&&!e.hasAttribute("disabled")){const t=e.getAttribute("parent-data-field"),i=e.firstElementChild;t===n&&(a.classList.contains("hidden")?i.classList.add("hidden"):i.classList.remove("hidden"))}}))}}else if(a.parentElement===t.$.buttonsContainer){if(a===t.$.buttonsContainer.firstElementChild)return t.$.fireEvent("cancel"),void(t._moves=[]);if(a===t.$.buttonsContainer.children[1]){const e=[];Array.from(t.$.sortable.$.container.children).forEach((a=>{const n=Object.assign({},t._HTMLToSourceMap.get(a));n.visible=!a.firstElementChild.classList.contains("hidden"),e.push(n)})),t.$.fireEvent("apply",{value:e,positionChanged:t._positionChanged,moves:t._moves}),t._positionChanged=!1,t._moves=[]}}else if(a===t.$.reset){const e=[];Array.from(t.$.sortable.$.container.children).forEach((a=>{const n=Object.assign({},t._HTMLToSourceMap.get(a));n.visible=!0,e.push(n)})),t.$.fireEvent("apply",{value:e,positionChanged:t._positionChanged,moves:t._moves}),t._positionChanged=!1,t._moves=[]}else a.classList.contains("clear-button")&&(t.$.find.value="",t._findKeyupHandler())}_findKeyupHandler(){const e=this;if(e.disabled||e.readonly)return;const t=e.$.find,a=t.value,n=[...e.$.sortable.$.container.children];if(void 0===e._disabledSortable&&(e._disabledSortable=e.$.sortable.disabled),""===a)return t.parentElement.classList.remove("no-results"),e.$.clearButton.classList.add("smart-hidden"),n.forEach((e=>e.classList.remove("smart-hidden"))),e.$.sortable.disabled=e._disabledSortable||e.readonly,void delete e._disabledSortable;let i=!0;e.$.clearButton.classList.remove("smart-hidden"),n.forEach((t=>{-1===e._HTMLToSourceMap.get(t).label.toLowerCase().indexOf(a.toLowerCase())?t.classList.add("smart-hidden"):(t.classList.remove("smart-hidden"),i=!1)})),e.$.sortable.disabled=i,i?t.parentElement.classList.add("no-results"):t.parentElement.classList.remove("no-results")}_sortableDragEndHandler(e){const t=e.detail;this._positionChanged=!0,this._moves.push({oldIndex:t.oldIndex,newIndex:t.newIndex})}_localize(){const e=this;e.$.find.placeholder=e.localize("find"),e.$.reset.innerHTML=e.localize("reset"),e.$.buttonsContainer.firstElementChild.innerHTML=e.localize("cancel"),e.$.buttonsContainer.children[1].innerHTML=e.localize("apply"),e.$.container.firstElementChild.setAttribute("no-results",e.localize("noResults"))}_setFocusable(){const e=this,t=e.disabled||e.unfocusable?-1:0,a=Array.from(e.$.sortable.getElementsByClassName("toggle-visibility"));e.$.find.tabIndex=t,e.$.clearButton.tabIndex=t,e.$.buttonsContainer.firstElementChild.tabIndex=t,e.$.buttonsContainer.children[1].tabIndex=t,a.forEach((e=>e.tabIndex=e.classList.contains("disable-toggle")?-1:t))}}),Smart("smart-formatting-panel",class extends Smart.BaseElement{static get properties(){return{columns:{value:[],type:"array",reflectToAttribute:!1},dataSource:{value:[],type:"any",reflectToAttribute:!1},items:{value:null,type:"array?",reflectToAttribute:!1},dropDownAppendTo:{value:null,type:"any",reflectToAttribute:!1},messages:{value:{en:{add:"Add condition",all:"All columns",apply:"Ok",between:"Between",cancel:"Cancel",close:"Close",column:"Column:",condition:"Condition:",equal:"Equal To",fontFamily:"Font family:",fontSize:"Font size:",format:"Format:",greaterThan:"Greater Than",highlight:"Highlight",lessThan:"Less Than",notEqual:"Not Equal To",remove:"Remove condition",secondValue:"Second value:",text:"Text",value:"Value:"}},type:"object",extend:!0}}}static get listeners(){return{click:"_interactionHandler",keydown:"_interactionHandler",change:"_changeHandler","popup.change":"_changeHandler","popup.click":"_interactionHandler","popup.keydown":"_interactionHandler","document.down":"_documentDownHandler"}}template(){return'<div id="container" role="presentation">\n <div id="itemsContainer" class="smart-formatting-panel-items-container" role="presentation"></div>\n <div id="addNewButton" class="smart-add-new-button" role="button" aria-label="Add new condition"></div>\n <div id="popup" class="smart-formatting-panel-popup smart-hidden smart-visibility-hidden" role="dialog">\n <div id="popupHeader" class="header" role="presentation">\n <div id="text" class="selected" role="button" aria-label="Text color"></div>\n <div id="highlight" role="button" aria-label="Highlight color"></div>\n </div>\n <div id="colorCode" class="color-code"></div>\n <input id="colorInput" type="color" />\n <div id="colorsContainer" class="colors-container"></div>\n <smart-button id="apply" class="ok primary" animation="[[animation]]" right-to-left="[[rightToLeft]]" theme="[[theme]]" unfocusable="[[unfocusable]]"></smart-button>\n <smart-button id="cancel" class="cancel" animation="[[animation]]" right-to-left="[[rightToLeft]]" theme="[[theme]]" unfocusable="[[unfocusable]]"></smart-button>\n </div>\n </div>'}render(){const e=this,t=getComputedStyle(e);e.setAttribute("role","dialog"),e.$.popup.id=e.id+"Popup",e._basicColors=[[0,0,0],[68,68,68],[102,102,102],[153,153,153],[204,204,204],[238,238,238],[243,243,243],[255,255,255],[255,0,0],[255,153,0],[255,255,0],[0,255,0],[0,255,255],[0,0,255],[153,0,255],[255,0,255],[244,204,204],[252,229,205],[255,242,204],[217,234,211],[208,224,227],[207,226,243],[217,210,233],[234,209,220],[234,153,153],[249,203,156],[255,229,153],[182,215,168],[162,196,201],[159,197,232],[180,167,214],[213,166,189],[224,102,102],[246,178,107],[255,217,102],[147,196,125],[118,165,175],[111,168,220],[142,124,195],[194,123,160],[204,0,0],[230,145,56],[241,194,50],[106,168,79],[69,129,142],[61,133,198],[103,78,167],[166,77,121],[153,0,0],[180,95,6],[191,144,0],[56,118,29],[19,79,92],[11,83,148],[53,28,117],[116,27,71],[102,0,0],[120,63,4],[127,96,0],[39,78,19],[12,52,61],[7,55,99],[32,18,77],[76,17,48]],e._defaults={fontFamily:t.fontFamily,fontSize:t.fontSize,text:e._toHex(t.color),highlight:e._toHex(t.backgroundColor)},t.fontFamily.indexOf("-apple")>=0&&(e._defaults.fontFamily="Segoe UI"),e._localize(),e._setFocusable(),e._populatePopupWithColors(),e._processColumnsAndDataSource(),e._addDefaultItems(),super.render()}attached(){const e=this;super.attached(),e.isCompleted&&e._addDefaultItemsOnAttach&&e._addDefaultItems()}add(e,t){const a=this;if(e&&e.column&&"all"!==e.column&&!a.columns.find((t=>t.dataField===e.column)))return void a.items.splice(t,1);const n=document.createElement("div"),i=a._defaults,l=` animation="${a.animation}"${a.rightToLeft?" right-to-left":""} theme="${a.theme}"${a.unfocusable?" unfocusable":""}`,o=a.disabled||a.unfocusable?"":' tabindex="0"';e=Object.assign({column:"all",condition:"lessThan",firstValue:0,secondValue:1,fontFamily:i.fontFamily,fontSize:i.fontSize,text:i.text,highlight:i.highlight},e);const r=`\n<div class="value-label">${a.localize("value")}</div>\n<smart-input class="columns-input underlined" data-source='${JSON.stringify(a._columnsInputDataSource)}' placeholder="${a.localize("column")}" readonly value="${a._columnsInputDataSource.find((t=>t.value===e.column)).label}"${l}></smart-input>\n<smart-input class="condition-input underlined" data-source='${a._conditionsDataSource}' placeholder="${a.localize("condition")}" readonly value="${a.localize(e.condition)}"${l}></smart-input>\n<smart-input class="first-value underlined" type="number" placeholder="${a.localize("value")}" value="${e.firstValue}"${l}></smart-input>\n<div class="ampersand">&</div>\n<smart-input class="second-value underlined" type="number" placeholder="${a.localize("secondValue")}" value="${e.secondValue}"${l}></smart-input>\n<div class="close-button" title="${a.localize("close")}"${o} role="button" aria-label="Close"></div>\n<div class="format-label">${a.localize("format")}</div>\n<smart-input class="font-family-input underlined" drop-down-height="auto" placeholder="${a.localize("fontFamily")}" readonly${l}></smart-input>\n<smart-input class="font-size-input underlined" data-source='["8px", "9px", "10px", "11px", "12px", "13px", "14px", "15px", "16px"]' drop-down-height="auto" placeholder="${a.localize("fontSize")}" readonly value="${e.fontSize}"${l}></smart-input>\n<div class="popup-button smart-unselectable"${o} role="button" aria-haspopup="dialog" aria-label="Toggle pop-up">A</div>\n<div class="preview smart-unselectable">2.71828</div>`;n.classList.add("smart-formatting-panel-item"),n.classList.toggle("between","between"===e.condition),n.innerHTML=r,n.columnsInput=n.querySelector(".columns-input"),n.conditionInput=n.querySelector(".condition-input"),n.firstValue=n.querySelector(".first-value"),n.secondValue=n.querySelector(".second-value"),n.closeButton=n.querySelector(".close-button"),n.fontFamilyInput=n.querySelector(".font-family-input"),n.fontFamilyInput.dataSource=[i.fontFamily,"Arial","Verdana","Courier New","Georgia","Times New Roman"],n.fontFamilyInput.value=e.fontFamily,n.fontSizeInput=n.querySelector(".font-size-input"),n.popupButton=n.querySelector(".popup-button"),n.fontFamilyInput=n.querySelector(".font-family-input"),n.preview=n.querySelector(".preview"),n.popupButton.style.color=e.text,n.popupButton.style.backgroundColor=e.highlight,n.preview.style.fontFamily=e.fontFamily,n.preview.style.fontSize=e.fontSize,n.preview.style.color=e.text,n.preview.style.backgroundColor=e.highlight,n.data=e,a.$.itemsContainer.appendChild(n),n.columnsInput.$.input.value||(n.columnsInput.$.input.dataValue="all"),n.conditionInput.$.input.dataValue=e.condition,a._checkScrollBar()}apply(){const e=this,t=new Smart.Utilities.ConditionalFormatter(e.dataSource),a=Array.from(e.$.itemsContainer.children),n=[];let i;if(0===a.length)return;if(e.ownerElement&&"smart-pivot-table"===e.ownerElement.nodeName.toLowerCase()){const t=e.ownerElement._dynamicColumns;i=function(e){return"all"===e?t.map((e=>e.id)):t.filter((t=>t.dataFields[t.dataFields.length-1].dataField===e)).map((e=>e.id))}}else i=function(t){return"all"===t?e._columns.map((e=>e.value)):[t]};for(let e=0;e<a.length;e++){const l=a[e].data,o=i(l.column),r=l.condition;t.color=l.highlight,t.comparator=l.firstValue,t.min=l.firstValue,t.max=l.secondValue;const s=t.format(r,o);for(let e in s){const t=s[e];for(let e in t){const a=t[e];a.color=l.text,a.fontFamily=l.fontFamily,a.fontSize=l.fontSize}}n.push(s)}if(0===n.length)return n[0];const l={};for(let e=0;e<n.length;e++){const t=n[e];for(let e in t){const a=t[e];l[e]||(l[e]={});for(let t in a)l[e][t]=Object.assign({},l[e][t],a[t])}}return l}getItems(){return Array.from(this.$.itemsContainer.children).map((e=>e.data))}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const n=this;switch(e){case"animation":case"theme":case"rightToLeft":if(Array.from(n.$.itemsContainer.querySelectorAll(".smart-element")).forEach((t=>t[e]=a)),null!==n.dropDownAppendTo&&(n.$.apply[e]=a,n.$.cancel[e]=a),"theme"===e){const e=getComputedStyle(n);n._defaults.text=n._toHex(e.color),n._defaults.highlight=n._toHex(e.backgroundColor)}break;case"columns":case"items":"columns"===e&&(n._processColumnsAndDataSource(),n.items=null),n.$.itemsContainer.innerHTML="",n._addDefaultItems();break;case"disabled":case"unfocusable":{const t=n.disabled||n.unfocusable,i=Array.from(n.$.itemsContainer.querySelectorAll(".close-button, .popup-button"));"disabled"===e?n._closePopup():null!==n.dropDownAppendTo&&(n.$.apply.unfocusable=a,n.$.cancel.unfocusable=a),n._setFocusable(),Array.from(n.$.itemsContainer.querySelectorAll(".smart-element")).forEach((e=>e.unfocusable=t)),t?i.forEach((e=>e.removeAttribute("tabindex"))):i.forEach((e=>e.setAttribute("tabindex",0)));break}case"dataSource":Smart.DataAdapter&&a instanceof Smart.DataAdapter&&(n.dataSource=a.toArray());break;case"locale":case"messages":n.items=n.getItems(),n.$.itemsContainer.innerHTML="",n._localize(),n._columnsInputDataSource=JSON.parse(JSON.stringify(n._columns.concat([{label:n.localize("all"),value:"all"}]))),n._addDefaultItems()}}_populatePopupWithColors(){const e=this,t=e._basicColors,a=document.createDocumentFragment();for(let n=0;n<t.length;n++){const i=document.createElement("div"),l=t[n],o=`rgb(${l[0]}, ${l[1]}, ${l[2]})`,r=e._toHex(o);i.setAttribute("role","button"),i.setAttribute("aria-label","Select color "+r),i.index=n,i.value=r,i.style.backgroundColor=o,a.appendChild(i)}e.$.colorsContainer.appendChild(a)}_processColumnsAndDataSource(){const e=this,t=e.columns,a=e.dataSource,n=[];Smart.DataAdapter&&a instanceof Smart.DataAdapter&&(e.dataSource=a.toArray());for(let e=0;e<t.length;e++){const a=t[e];"number"===a.dataType&&n.push({label:a.label,value:a.dataField})}e._columns=n,e._columnsInputDataSource=JSON.parse(JSON.stringify(n.concat([{label:e.localize("all"),value:"all"}])))}_addDefaultItems(){const e=this,t=e.items,a=e.getRootNode();a===document||document.body.contains(a)?(t&&t.length>0?t.forEach(((t,a)=>e.add(t,a))):(e.add({condition:"greaterThan",firstValue:100}),e.add({condition:"lessThan",firstValue:0})),delete e._addDefaultItemsOnAttach):e._addDefaultItemsOnAttach=!0}_changeHandler(e){const t=this,a=t.isInShadowDOM?e.composedPath()[0]:e.target,n=a.closest(".smart-formatting-panel-item");if(n)if(a!==n.columnsInput){if(a===n.conditionInput)return n.data.condition=a.$.input.dataValue,void n.classList.toggle("between","between"===a.$.input.dataValue);if(n.firstValue.contains(a))n.data.firstValue=parseFloat(a.value);else{if(!n.secondValue.contains(a))return a===n.fontFamilyInput?(n.data.fontFamily=a.value,void(n.preview.style.fontFamily=a.value)):void(a===n.fontSizeInput&&(n.data.fontSize=a.value,n.preview.style.fontSize=a.value));n.data.secondValue=parseFloat(a.value)}}else n.data.column=a.$.input.dataValue;else t.$.popup.contains(a)&&t._updateUI(a.value.toUpperCase())}_checkScrollBar(){this.classList.toggle("scroll",this.$.itemsContainer.offsetHeight<this.$.itemsContainer.scrollHeight)}_interactionHandler(e){const t=this;if(!t.dropDownAppendTo&&e.currentTarget===t.$.popup)return;if("keydown"===e.type){if(-1===[" ","Enter"].indexOf(e.key))return void(t.disabled||t.readonly||t._keydownHandler(e));e.preventDefault()}const a=t.isInShadowDOM?e.composedPath()[0]:e.target;if(a===t.$.addNewButton)return void t.add();const n=a.closest(".smart-formatting-panel-item");if(n)return void(a===n.closeButton?(n.remove(),this._checkScrollBar()):a===n.popupButton&&(t._togglePopup(n),t._activePopupButton=a));const i=t.$.popup;if(i.contains(a)){if(a.parentElement===t.$.colorsContainer)return void t._updateUI(a.value);if(a.parentElement===t.$.popupHeader)a.classList.add("selected"),a===t.$.text?(i.selection="currentText",t.$.highlight.classList.remove("selected")):(i.selection="currentHighlight",t.$.text.classList.remove("selected")),t._updateUI(i[i.selection]);else if(a.classList.contains("smart-button")){if(t.$.apply.contains(a)||a&&a.ownerElement&&a.ownerElement.classList.contains("ok")){const e=i.item;e.data.text=i.currentText,e.data.highlight=i.currentHighlight,e.popupButton.style.color=i.currentText,e.popupButton.style.backgroundColor=i.currentHighlight,e.preview.style.color=i.currentText,e.preview.style.backgroundColor=i.currentHighlight}t._closePopup()}}}_keydownHandler(e){const t=this,a=e.key;if(-1===["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Escape","Home","PageDown","PageUp"].indexOf(a))return;if(e.preventDefault(),"Escape"===a&&!t.$.popup.classList.contains("smart-hidden"))return void t._closePopup();if(t.getRootNode().activeElement!==t.$.colorsContainer)return;const n=Array.from(this.$.colorsContainer.children),i=this.$.colorsContainer.querySelector(".selected");let l,o="ArrowRight",r="ArrowLeft";if(t.rightToLeft&&(o="ArrowLeft",r="ArrowRight"),i){let e=i.index;switch(a){case r:e=Math.max(e-1,e-e%8);break;case o:e=Math.min(e+1,e+8-e%8-1);break;case"ArrowUp":e=Math.max(e-8,e%8);break;case"ArrowDown":e=Math.min(e+8,56+e%8);break;case"Home":e-=e%8;break;case"End":e=e+8-e%8-1;break;case"PageUp":e%=8;break;case"PageDown":e=56+e%8}l=n[e]}else l=n[0];t._updateUI(l.value,l)}_togglePopup(e){const t=this,a=t.$.popup;if(e===a.item)return void t._closePopup();if(a.setAttribute("animation",t.animation),a.setAttribute("theme",t.theme),t.rightToLeft&&a.setAttribute("right-to-left",""),a.classList.contains("smart-hidden")&&a.classList.remove("smart-hidden"),t.dropDownAppendTo)if("body"===t.dropDownAppendTo)document.body.appendChild(a);else{const e=document.querySelector(t.dropDownAppendTo);e&&e.appendChild(a)}const n=e.popupButton,i=n.getBoundingClientRect(),l=n.offsetLeft,o=n.offsetTop,r=a.offsetWidth,s=a.offsetHeight,d=t.$.itemsContainer.scrollTop,c=t._toHex(e.data.text),u=t._toHex(e.data.highlight);i.top>=s+5?a.style.top=o-(s+d+5)+"px":a.style.top=o+i.height-d+5+"px",a.style.left=l+i.width/2-r/2+"px",t.dropDownAppendTo&&(a.style.top=i.bottom+5+"px",a.style.left=i.left+i.width/2-r/2+"px"),t.$.text.classList.add("selected"),t.$.highlight.classList.remove("selected"),t.$.text.focus(),a.item=e,a.selection="currentText",a.currentText=c,a.currentHighlight=u,t._updateUI(c),a.controlledBy&&(a.controlledBy.removeAttribute("aria-controls"),a.controlledBy.removeAttribute("aria-expanded")),n.setAttribute("aria-controls",a.id),n.setAttribute("aria-expanded",!0),a.controlledBy=n,a.classList.remove("smart-visibility-hidden")}_closePopup(){const e=this,t=e.$.popup;"none"!==e.animation?(t.addEventListener("transitionend",(function e(){t.classList.add("smart-hidden"),t.removeEventListener("transitionend",e)})),t.classList.add("smart-visibility-hidden")):(t.classList.add("smart-visibility-hidden"),t.classList.add("smart-hidden")),delete t.item,e._activePopupButton&&e._activePopupButton.focus(),t.controlledBy&&(t.controlledBy.removeAttribute("aria-controls"),t.controlledBy.removeAttribute("aria-expanded"))}_toHex(e){if(-1!==e.indexOf("#"))return e;const t=/rgb\((\d+), (\d+), (\d+)\)/g.exec(e);return t?"#"+(parseFloat(t[1]).toString(16).padStart(2,"0")+parseFloat(t[2]).toString(16).padStart(2,"0")+parseFloat(t[3]).toString(16).padStart(2,"0")).toUpperCase():"#FFFFFF"}_updateUI(e,t){const a=this;a.$.colorInput.value=e,a.$.colorCode.innerHTML=e,a._selectColor(e,t)}_selectColor(e,t){const a=this.$.popup,n=Array.from(this.$.colorsContainer.children);n.forEach((e=>e.classList.remove("selected"))),(t=t||n.find((t=>t.value===e)))&&t.classList.add("selected"),a[a.selection]=e}_localize(){const e=this;e._conditionsDataSource=JSON.stringify([{label:e.localize("lessThan"),value:"lessThan"},{label:e.localize("greaterThan"),value:"greaterThan"},{label:e.localize("equal"),value:"equal"},{label:e.localize("notEqual"),value:"notEqual"},{label:e.localize("between"),value:"between"}]),e.$.text.innerHTML=e.localize("text"),e.$.highlight.innerHTML=e.localize("highlight"),e.$.apply.innerHTML=e.localize("apply"),e.$.cancel.innerHTML=e.localize("cancel"),e.$.addNewButton.title=e.localize("add")}_setFocusable(){const e=this,t=!e.disabled&&!e.unfocusable,a=[e.$.addNewButton,e.$.text,e.$.highlight,e.$.colorsContainer];t?(a.forEach((e=>e.setAttribute("tabindex",0))),e.$.colorInput.removeAttribute("tabindex")):(a.forEach((e=>e.removeAttribute("tabindex"))),e.$.colorInput.setAttribute("tabindex",-1))}_documentDownHandler(e){const t=this,a=t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target,n=t.$.popup;n.classList.contains("smart-hidden")||n.contains(a)||a.classList.contains("popup-button")||(delete t._activePopupButton,t._closePopup())}}),Smart("smart-data-view",class extends Smart.BaseElement{static get properties(){return{addNewButton:{value:!1,type:"boolean"},allowDrag:{value:!1,type:"boolean"},collapsible:{value:!1,type:"boolean"},columns:{value:[],type:"object",reflectToAttribute:!1},dataSource:{value:null,type:"object?",reflectToAttribute:!1},dataSourceSettings:{value:{autoGenerateColumns:{value:!1,type:"boolean"},sanitizeHTML:{value:"blackList",allowedValues:["all","blackList","none"],type:"string"},root:{value:"",type:"string"},record:{value:"",type:"string"},keyDataField:{value:"",type:"string"},parentDataField:{value:"",type:"string"},childrenDataField:{value:"",type:"string"},groupBy:{value:[],type:"array"},dataFields:{value:[],type:"array"},mapChar:{value:".",type:"string"},id:{value:"",type:"string"},virtualDataSource:{value:null,type:"any"},virtualDataSourceOnExpand:{value:null,type:"any"}},type:"object"},editable:{value:!1,type:"boolean"},headerPosition:{value:"none",allowedValues:["none","top","bottom"],type:"string"},messages:{value:{en:{addFilter:"+ Add filter",and:"And",apply:"Ok",booleanFirst:"☐",booleanLast:"☑",cancel:"Cancel",CONTAINS:"contains",CONTAINS_CASE_SENSITIVE:"contains (case sensitive)",dateFirst:"1",dateLast:"9",DOES_NOT_CONTAIN:"does not contain",DOES_NOT_CONTAIN_CASE_SENSITIVE:"does not contain (case sensitive)",EMPTY:"empty",ENDS_WITH:"ends with",ENDS_WITH_CASE_SENSITIVE:"ends with (case sensitive)",EQUAL:"equal",EQUAL_CASE_SENSITIVE:"equal (case sensitive)",filter:"Filter",customize:"Customize Columns",filteredByMultiple:"{{n}} filters",filteredByOne:"1 filter",filterValuePlaceholder:"Value",find:"Find a field",findInView:"Find in view",firstBy:"Sort by",found:"{{nth}} of {{n}}",from:"from",GREATER_THAN:"greater than",GREATER_THAN_OR_EQUAL:"greater than or equal",LESS_THAN:"less than",LESS_THAN_OR_EQUAL:"less than or equal",noFilters:"No filters applied",noResults:"No results",noSorting:"No sorting applied",NOT_EMPTY:"not empty",NOT_EQUAL:"not equal",NOT_NULL:"not null",NULL:"null",numberFirst:"1",numberLast:"9",ok:"OK",or:"Or",pickAnother:"Pick another field to sort by",sort:"Sort",group:"Group",fontFamily:"Font family:",fontSize:"Font size:",format:"Format:",formatColumn:"Format Column",formating:"Conditional Formating",sortedByMultiple:"Sorted by {{n}} fields",sortedByOne:"Sorted by 1 field",STARTS_WITH:"starts with",STARTS_WITH_CASE_SENSITIVE:"starts with (case sensitive)",stringFirst:"A",stringLast:"Z",thenBy:"then by",where:"Where",collapseAll:"Collapse all",expandAll:"Expand all",noGrouping:"No grouping",groupedByMultiple:"{{n}} groups",groupedByOne:"1 group",firstByGroup:"Group by",pickAnotherGroupBy:"Pick another field to group by",add:"Add condition",all:"All columns",between:"Between",close:"Close",column:"Column:",condition:"Condition:",equal:"Equal To",greaterThan:"Greater Than",highlight:"Highlight",lessThan:"Less Than",notEqual:"Not Equal To",remove:"Remove condition",secondValue:"Second value:",text:"Text",value:"Value:",reset:"Reset"}}}}}static get listeners(){return{"header.apply":"_applyHandler","header.cancel":"closePanel","headerDropDown.transitionend":"_headerDropDownTransitionendHandler","searchInput.keyup":"_searchInputKeyupHandler",resize:"_resizeHandler","document.move":"_documentMoveHandler","document.up":"_documentUpHandler"}}render(){const e=this;e.$.headerDropDown.id||(e.$.headerDropDown.id=e.id+"HeaderDropDown"),e.setAttribute("role","group"),e._isMobile=Smart.Utilities.Core.isMobile,super.render()}addFilter(e,t="and"){const a=this;if(!Array.isArray(e)||e.length>0&&!Array.isArray(e[0]))return;let n;a.closePanel(),arguments[2]?n={filters:arguments[2],operator:t}:(n={filters:[],operator:t},e.forEach((e=>{e[1].filters.forEach((t=>{n.filters.push([e[0],t.condition,t.value])}))}))),JSON.stringify(n)!==JSON.stringify(a._appliedFiltering)&&(n.filterGroups=e,a._appliedFiltering=n,a._applyFilter(e,t),a.$.fireEvent("filter"),a._refreshFilterButton())}_refreshFilterButton(){const e=this,t=e._appliedFiltering.filters?e._appliedFiltering.filters.length:0;if(0===t)return e.$.filterButton.firstElementChild.innerHTML=e.localize("filter"),void e.$.filterButton.classList.remove("filtered");e.$.filterButton.firstElementChild.innerHTML=1===t?e.localize("filteredByOne"):e.localize("filteredByMultiple",{n:t}),e.$.filterButton.classList.add("filtered")}addSort(e,t){const a=this,n=a.dataSource,i=JSON.stringify(a._appliedSorting);let l;function o(e,i){if(a.columns.find((t=>t.dataField===e))){let a=Array.isArray(t)?t[i]:"string"==typeof t?t:"ascending";l.dataFields.push(e),l.dataTypes.push(n.dataFields.find((t=>t.name===e)).dataType),a=a&&-1!==a.indexOf("desc")?"descending":"ascending",l.orderBy.push(a)}}if(0!==arguments.length&&n&&0!==n.length){if(a.closePanel(),1===arguments.length&&"object"==typeof e)l=e;else if(l={dataFields:[],dataTypes:[],orderBy:[]},Array.isArray(e))e.forEach(o);else{if("string"!=typeof e)return;o(e,0)}a.closePanel(),a._appliedSorting=l,i!==JSON.stringify(a._appliedSorting)&&(a._applySort(),a.$.fireEvent("sort"),a._refreshSortButton())}}_refreshSortButton(){const e=this,t=e._appliedSorting.dataFields.length;return 0===t||e.grid&&!1===e.grid.sorting.maintainSort?(e.$.sortButton.firstElementChild.innerHTML=e.localize("sort"),void e.$.sortButton.classList.remove("sorted")):(e.$.sortButton.firstElementChild.innerHTML=1===t?e.localize("sortedByOne"):e.localize("sortedByMultiple",{n:t}),void e.$.sortButton.classList.add("sorted"))}closePanel(){const e=this.$.headerDropDown;e.classList.remove("open"),setTimeout((()=>{e.classList.add("smart-visibility-hidden")}),150),this._closeSearchPanel(),e.controlledBy&&(e.controlledBy.removeAttribute("aria-controls"),e.controlledBy.setAttribute("aria-expanded",!1),delete e.controlledBy)}_closeSearchPanel(){const e=this;e._searchInfo&&delete e._searchInfo}_closeDialog(){const e=this;e._editInfo&&e._editInfo.window.close()}openFormatPanel(){}openFilterPanel(e,t){const a=this,n=a.dataSource;if(!n||0===n.length&&!n.virtualDataSource||a.disabled||"none"===a.headerPosition)return;let i;a._editInfo&&a._editInfo.window.close(),a.$.headerDropDown.classList.add("filter-panel"),a.$.headerDropDown.classList.remove("customize-panel","sort-panel","search-panel","format-panel"),a.$.filter.classList.remove("smart-hidden"),a.$.customize.classList.add("smart-hidden"),a.$.sort.classList.add("smart-hidden"),a.$.format&&a.$.format.classList.add("smart-hidden"),a.$.group&&a.$.group.classList.add("smart-hidden"),a.$.search.classList.add("smart-hidden"),a._closeSearchPanel(),a._filterPartCreated?(i=a.$.filter.firstElementChild,i.set("dataSource",e),i.set("locale",a.locale),i.messages=a._innerElementMessages.multiColumnFilterPanel,i.operator=a._appliedFiltering.operator,i.editorPlaceholder=a.localize("filterValuePlaceholder"),i.set("operator",a._appliedFiltering.operator),i.set("value",a._appliedFiltering.filters),i._applyValue(),i.rightToLeft=a.rightToLeft):(i=document.createElement("smart-multi-column-filter-panel"),i.rightToLeft=a.rightToLeft,i.animation=a.animation,i.dataSource=e,i.locale=a.locale,i.messages=a._innerElementMessages.multiColumnFilterPanel,i.operator=a._appliedFiltering.operator,i.editorPlaceholder=a.localize("filterValuePlaceholder"),i.theme=a.theme,i.value=a._appliedFiltering.filters,i.editorCallback=t,a.$.filter.appendChild(i),a._filterPartCreated=!0),a._openHeaderDropDown(a.$.filterButton)}openSortPanel(e){const t=this,a=t.dataSource;if(!a||0===a.length&&!a.virtualDataSource||t.disabled||"none"===t.headerPosition)return;let n;t._closeDialog(),t.$.headerDropDown.classList.add("sort-panel"),t.$.headerDropDown.classList.remove("customize-panel","filter-panel","format-panel","search-panel"),t.$.sort.classList.remove("smart-hidden"),t.$.customize.classList.add("smart-hidden"),t.$.filter.classList.add("smart-hidden"),t.$.format&&t.$.format.classList.add("smart-hidden"),t.$.group&&t.$.group.classList.add("smart-hidden"),t.$.search.classList.add("smart-hidden"),t._closeSearchPanel(),t._sortPartCreated?(n=t.$.sort.firstElementChild,n.rightToLeft=t.rightToLeft,n.dataSource=e,n.locale=t.locale,n.messages=t._innerElementMessages.sortPanel,n.set("dataSource",e),n.propertyChangedHandler("dataSource",void 0,e)):(n=document.createElement("smart-sort-panel"),n.rightToLeft=t.rightToLeft,n.animation=t.animation,n.dataSource=e,n.locale=t.locale,n.messages=t._innerElementMessages.sortPanel,n.theme=t.theme,t.$.sort.appendChild(n),t._sortPartCreated=!0),t._openHeaderDropDown(t.$.sortButton)}removeFilter(){this.addFilter([])}removeSort(){this.addSort({dataFields:[],dataTypes:[],orderBy:[]})}_clearFilterAndSortUI(){const e=this;e._appliedFiltering={filterGroups:[],filters:[],operator:"and"},e._appliedSorting={dataFields:[],dataTypes:[],orderBy:[]},e._appliedGrouping={dataFields:[]},e.$.filterButton.classList.remove("filtered"),e.$.sortButton.classList.remove("sorted"),e.$.filterButton.firstElementChild.innerHTML=e.localize("filter"),e.$.sortButton.firstElementChild.innerHTML=e.localize("sort")}_getInnerElementMessages(){const e=this,t=e.locale,a={columnPanel:{},groupPanel:{},multiColumnFilterPanel:{},sortPanel:{},formattingPanel:{},dateTimePicker:{}};a.formattingPanel[t]={add:e.localize("add"),all:e.localize("all"),apply:e.localize("apply"),between:e.localize("between"),cancel:e.localize("cancel"),close:e.localize("close"),column:e.localize("column"),condition:e.localize("condition"),equal:e.localize("equal"),fontFamily:e.localize("fontFamily"),fontSize:e.localize("fontSize"),format:e.localize("format"),greaterThan:e.localize("greaterThan"),highlight:e.localize("highlight"),lessThan:e.localize("lessThan"),notEqual:e.localize("notEqual"),remove:e.localize("remove"),secondValue:e.localize("secondValue"),text:e.localize("text"),value:e.localize("value")},a.columnPanel[t]={apply:e.localize("apply"),cancel:e.localize("cancel"),reset:e.localize("reset"),find:e.localize("find"),noResults:e.localize("noResults")},a.groupPanel[t]={apply:e.localize("apply"),cancel:e.localize("cancel"),collapseAll:e.localize("collapseAll"),expandAll:e.localize("expandAll"),firstBy:e.localize("firstByGroup"),noGrouping:e.localize("noGrouping"),pickAnother:e.localize("pickAnotherGroupBy"),stringFirst:e.localize("stringFirst"),stringLast:e.localize("stringLast"),thenBy:e.localize("thenBy"),from:e.localize("from"),booleanFirst:e.localize("booleanFirst"),booleanLast:e.localize("booleanLast"),dateFirst:e.localize("dateFirst"),dateLast:e.localize("dateLast"),numberFirst:e.localize("numberFirst"),numberLast:e.localize("numberLast")},a.multiColumnFilterPanel[t]={addFilter:e.localize("addFilter"),and:e.localize("and"),apply:e.localize("apply"),cancel:e.localize("cancel"),CONTAINS:e.localize("CONTAINS"),CONTAINS_CASE_SENSITIVE:e.localize("CONTAINS_CASE_SENSITIVE"),DOES_NOT_CONTAIN:e.localize("DOES_NOT_CONTAIN"),DOES_NOT_CONTAIN_CASE_SENSITIVE:e.localize("DOES_NOT_CONTAIN_CASE_SENSITIVE"),EMPTY:e.localize("EMPTY"),ENDS_WITH:e.localize("ENDS_WITH"),ENDS_WITH_CASE_SENSITIVE:e.localize("ENDS_WITH_CASE_SENSITIVE"),EQUAL:e.localize("EQUAL"),EQUAL_CASE_SENSITIVE:e.localize("EQUAL_CASE_SENSITIVE"),GREATER_THAN:e.localize("GREATER_THAN"),GREATER_THAN_OR_EQUAL:e.localize("GREATER_THAN_OR_EQUAL"),LESS_THAN:e.localize("LESS_THAN"),LESS_THAN_OR_EQUAL:e.localize("LESS_THAN_OR_EQUAL"),noFilters:e.localize("noFilters"),NOT_EMPTY:e.localize("NOT_EMPTY"),NOT_EQUAL:e.localize("NOT_EQUAL"),NOT_NULL:e.localize("NOT_NULL"),NULL:e.localize("NULL"),or:e.localize("or"),STARTS_WITH:e.localize("STARTS_WITH"),STARTS_WITH_CASE_SENSITIVE:e.localize("STARTS_WITH_CASE_SENSITIVE"),where:e.localize("where")},a.sortPanel[t]={apply:e.localize("apply"),applyOnce:e.localize("applyOnce"),booleanFirst:e.localize("booleanFirst"),booleanLast:e.localize("booleanLast"),cancel:e.localize("cancel"),dateFirst:e.localize("dateFirst"),dateLast:e.localize("dateLast"),firstBy:e.localize("firstBy"),from:e.localize("from"),numberFirst:e.localize("numberFirst"),numberLast:e.localize("numberLast"),noSorting:e.localize("noSorting"),pickAnother:e.localize("pickAnother"),maintainSort:e.localize("maintainSort"),stringFirst:e.localize("stringFirst"),stringLast:e.localize("stringLast"),thenBy:e.localize("thenBy")},a.dateTimePicker[t]={now:e.localize("now"),dateTabLabel:e.localize("dateTabLabel"),timeTabLabel:e.localize("timeTabLabel")},e._innerElementMessages=a}_handleHeaderPosition(e){const t=this,a=t.headerPosition,n=t.$.header;"none"!==a?(n.classList.remove("smart-hidden"),"top"===a&&n.nextElementSibling!==e?t.$.container.insertBefore(n,e):"bottom"===a&&n.previousElementSibling!==e&&t.$.container.insertBefore(n,t.$.loadingIndicatorContainer)):n.classList.add("smart-hidden")}_headerClickHandler(e){const t=this,a=t.$.headerDropDown;function n(e,n){a.classList.contains("smart-visibility-hidden")||e.classList.contains("smart-hidden")?t[n]():t.closePanel()}if(t.$.customizeButton.contains(e))n(t.$.customize,"openCustomizePanel");else if(t.$.filterButton.contains(e))n(t.$.filter,"openFilterPanel");else if(t.$.sortButton.contains(e))n(t.$.sort,"openSortPanel");else if(t.$.formatButton&&t.$.formatButton.contains(e))n(t.$.format,"openFormatPanel");else if(e===t.$.searchButton)n(t.$.search,"_openSearchPanel");else if(t.$.groupButton&&t.$.groupButton.contains(e))n(t.$.group,"openGroupPanel");else if(e===t.$.searchClose)t.closePanel();else if(e===t.$.searchPrev||e===t.$.searchNext){const a=t._searchInfo,n=a.foundIdsArray,i=e===t.$.searchNext,l=n.length;let o;if(void 0===a.highlighted)o=i?0:l-1;else{if(1===n.length)return;{const e=n.indexOf(a.highlighted);o=i?(e+1)%l:e-1>=0?e-1:l-1}}a.highlighted=n[o],t.grid?(t.grid.highlighted=a.highlighted,t.grid.ensureVisible(a.highlighted),t.grid._recycle(!1)):t.ensureVisible&&t.ensureVisible(a.highlighted),t.$.searchLabel.innerHTML=t.localize("found",{nth:o+1,n:n.length})}}_headerDropDownTransitionendHandler(e){const t=this,a=t.$.headerDropDown;t._openTimer=setTimeout((()=>{e&&("visibility"!==e.propertyName||a.classList.contains("smart-visibility-hidden"))||(a.classList.contains("search-panel")?t.$.searchInput.focus():!1===t.unfocusable&&(!t._isMobile&&a.classList.contains("customize-panel")?a.querySelector("smart-column-panel").$.find.focus():a.classList.contains("filter-panel")?a.querySelector("smart-multi-column-filter-panel").$.addFilterButton.focus():a.classList.contains("sort-panel")&&a.querySelector("smart-sort-panel").$.inputNotSorted.focus()))}),100)}_localizeHeader(){const e=this;e.$.customizeButton.firstElementChild.innerHTML=e.localize("customize"),e.$.groupButton&&(e.$.groupButton.firstElementChild.innerHTML=e.localize("group")),0===e._appliedFiltering.filters.length?e.$.filterButton.firstElementChild.innerHTML=e.localize("filter"):1===e._appliedFiltering.filters.length?e.$.filterButton.firstElementChild.innerHTML=e.localize("filteredByOne"):e.$.filterButton.firstElementChild.innerHTML=e.localize("filteredByMultiple",{n:e._appliedFiltering.filters.length}),0===e._appliedSorting.dataFields.length?e.$.sortButton.firstElementChild.innerHTML=e.localize("sort"):1===e._appliedSorting.dataFields.length?e.$.sortButton.firstElementChild.innerHTML=e.localize("sortedByOne"):e.$.sortButton.firstElementChild.innerHTML=e.localize("sortedByMultiple",{n:e._appliedSorting.dataFields.length}),e.$.formatButton&&(e.$.formatButton.firstElementChild.innerHTML=e.localize("formating")),e.$.searchInput.placeholder=e.localize("findInView")}_openHeaderDropDown(e){const t=this,a=t.$.headerDropDown;"top"===t.headerPosition?(a.style.bottom=null,a.style.top="100%"):(a.style.top=null,a.style.bottom="100%"),e!==t.$.searchButton||e===t.$.searchButton&&t.rightToLeft?a.style.left=e.offsetLeft-(t.rightToLeft?a.offsetWidth-e.offsetWidth:0)+"px":a.style.left=(t.rightToLeft?e.offsetLeft:e.offsetLeft+Math.max(25,e.offsetWidth)-a.offsetWidth)+"px",a.classList.remove("smart-visibility-hidden"),a.classList.add("open"),a.controlledBy&&(a.controlledBy.removeAttribute("aria-controls"),a.controlledBy.setAttribute("aria-expanded",!1)),a.controlledBy=e,e.setAttribute("aria-controls",a.id),e.setAttribute("aria-expanded",!0),t._headerDropDownTransitionendHandler()}_searchInputKeyupHandler(e){const t=this;function a(){t._searchInfo&&t.$.searchInput.value!==t._searchInfo.query&&t._search(t.$.searchInput.value)}return clearTimeout(t._searchInputTimeout),"Escape"===e.key?(t.$.searchInput.value="",a(),void t.closePanel()):"Enter"===e.key&&t._searchInfo.foundIdsArray&&t._searchInfo.foundIdsArray.length>1?(a(),void t._headerClickHandler(t.$.searchNext,t.$.cardContainer||t.$.body)):void(t._searchInputTimeout=setTimeout(a,500))}});
@@ -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-input",class extends Smart.BaseElement{static get properties(){return{autoCompleteDelay:{value:100,type:"number"},dataSource:{type:"any",value:[],reflectToAttribute:!1},dropDownClassList:{value:[],type:"array",reflectToAttribute:!1},dropDownDataSource:{type:"any",value:[]},dropDownHeight:{type:"any",value:200},dropDownOpenMode:{allowedValues:["default","manual"],value:"default",type:"string"},dropDownAppendTo:{value:null,type:"any"},dropDownWidth:{type:"any",value:null},dropDownButtonPosition:{allowedValues:["none","left","right"],value:"none",type:"string"},dropDownOpenPosition:{allowedValues:["bottom","top","auto"],value:"bottom",type:"string"},hint:{type:"string",value:""},inputPurpose:{type:"string",value:"off"},items:{type:"number",value:8},minLength:{type:"number",value:1},maxLength:{type:"number",value:99999999},name:{value:"",type:"string"},prefix:{value:"",type:"string"},suffix:{value:"",type:"string"},onAffixClick:{value:null,type:"any"},opened:{value:!1,type:"boolean"},query:{type:"string",value:""},queryMode:{allowedValues:["contains","containsIgnoreCase","doesNotContain","doesNotContainIgnoreCase","equals","equalsIgnoreCase","startsWith","startsWithIgnoreCase","endsWith","endsWithIgnoreCase"],type:"string",value:"containsIgnoreCase"},placeholder:{value:"",type:"string"},readonly:{type:"boolean",value:!1},sorted:{value:!1,type:"boolean"},sortDirection:{value:"asc",type:"string"},selectedIndex:{type:"number",value:-1},selectedValue:{type:"any",value:""},selectedValues:{value:[],type:"array"},type:{type:"string"},value:{type:"string",value:""},innerHTML:{type:"string",reflectToAttribute:!1}}}static get styleUrls(){return["smart.textbox.css"]}template(){return'<div id="inputContainer" role="presentation"><div id="optionsContainer" inner-h-t-m-l=\'{{innerHTML}}\' class="smart-hidden"></div><span class="smart-input-prefix" id="prefix" inner-h-t-m-l=\'{{prefix}}\'></span><input maxlength=\'[[maxLength]]\' class="smart-input" id=\'input\' readonly=\'[[readonly]]\' placeholder=\'[[placeholder]]\' type=\'[[type]]\' name=\'[[name]]\' value=\'{{value::keyup}}\' disabled=\'[[disabled]]\' aria-label="[[placeholder]]" /><span class="smart-hidden smart-hint" id="span">[[hint]]</span><span id="suffix" class="smart-input-suffix" inner-h-t-m-l=\'{{suffix}}\'></span><div id="dropDownButton" tabindex=-1 class="smart-drop-down-button" role="button" aria-label="Toggle popup"><div id="arrow" class="arrow" aria-hidden="true"></div></div></div>'}static get listeners(){return{"input.focus":"_focusHandler","input.blur":"_blurHandler","input.keydown":"_keyDownHandler","input.keyup":"_keyUpHandler","input.keypress":"_keyPressHandler","input.paste":"_pasteHandler","prefix.click":"_prefixClick","suffix.click":"_suffixClick","dropDownButton.down":"_dropDownButtonDownHandler","inputContainer.down":"_downHandler","document.up":"_documentUpHandler"}}_prefixClick(){const e=this;e.onAffixClick&&e.onAffixClick("prefix")}_suffixClick(){const e=this;e.onAffixClick&&e.onAffixClick("suffix")}get selectedIndexes(){return this.isCompleted?[this.selectedIndex]:[]}set selectedIndexes(e){if(!this.isCompleted)return;const t=this;if(e&&void 0!==e[0]){if(this.selectedIndex=e[0],null===this.dataSource)return;const o=this.dataSource[this.selectedIndex];if(!o)return;const l=this.context;this.context=this,this.$.input.dataValue=this.selectedValue="string"==typeof o?o:o.value,this.setAttribute("data-value",this.$.input.dataValue);let a=t.dataSource;"string"==typeof a&&(a=t.$.deserialize(a,"array"));for(let e=0;e<a.length;e++){let o=a[e];"string"!=typeof o&&"number"!=typeof o&&(o.value===t.$.input.dataValue?o.selected=!0:o.selected=!1)}this.context=l}else{const e=this.context;this.context=this,this.$.input.dataValue=this.selectedValue="",this.setAttribute("data-value",this.$.input.dataValue),this.selectedIndex=-1;let o=t.dataSource;if("string"==typeof o&&(o=t.$.deserialize(o,"array")),o&&Array.isArray(o))for(let e=0;e<o.length;e++){let l=o[e];"string"!=typeof l&&(l.value===t.$.input.dataValue?l.selected=!0:l.selected=!1)}this.context=e}}focus(){this.$.input.focus()}select(){const e=this;e.readonly?e.$.input.focus():e.$.input.select()}_documentUpHandler(e){const t=this,o=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;o!==t&&o!==t.$.dropDownButton&&o!==t.$.input&&o!==t.$.arrow?t.$.scrollView.contains(o.shadowParent||o)?t._isPointerDown&&(t._isPointerDown=!1,t.opened&&(t._preventLookup=!0),t.$.input.focus()):(t.opened&&(t._preventLookup=!0),"manual"===t.dropDownOpenMode||t._isPointerDown||t.close(),t._isPointerDown=!1):t._isPointerDown=!1}_focusHandler(){const e=this;e.setAttribute("focus",""),e.readonly||0!==e.minLength||0!==e.$.input.value.length||e._preventLookup?(e.$.fireEvent("focus"),delete e._preventLookup):e._lookup()}_blurHandler(){const e=this;e.opened||e.removeAttribute("focus"),e.opened||e.$.fireEvent("blur"),e._refreshSelectedIndex(),delete e._preventLookup}_pasteHandler(e){const t=this,o=t.$.input,l=o.value,a=o.selectionStart,r=o.selectionEnd;if(!e.clipboardData&&!window.clipboardData)return;const i=(e.clipboardData||window.clipboardData).getData("text");let n=l.slice(0,a)+i,s=n.length;n+=l.slice(r),e.preventDefault(),t.set("value",n),t.setAttribute("data-value",n),o.setSelectionRange(s,s),t._refreshSelectedIndex()}_refreshSelectedIndex(){const e=this;let t=e.dataSource;if(t){let o=-1,l=null;if(e.dataSource instanceof Promise)return;if("function"==typeof e.dataSource)return;"string"==typeof t&&(t=e.$.deserialize(t,"array"));for(let a=0;a<t.length;a++){let r=t[a];if("number"!=typeof r&&"boolean"!=typeof r||(r=""+r),"string"==typeof r){if(r===e.value){o=a,l=e.value;break}}else r&&(delete r.selected,r.label===e.value&&(o=a,l=r.value,r.selected=!0))}e.set("selectedIndex",o,!1),e.set("selectedValue",l,!1),-1===e.selectedIndex&&(e.$.input.dataValue=null)}}selectItem(e){const t=this;let o=t.dataSource;if("string"==typeof o&&(o=t.$.deserialize(o,"array")),o)for(let l=0;l<o.length;l++){const a=o[l];if(t.set("selectedIndex",-1),t.set("value",""),t.$.input.dataValue=null,"string"==typeof a){if(a===e)return t.set("selectedIndex",l,!1),t.set("value",t.$.input.dataValue=e),void t.setAttribute("data-value",t.$.input.dataValue)}else if(a.value===e)return t.set("selectedIndex",l,!1),t.set("value",a.label),t.$.input.dataValue=e,void t.setAttribute("data-value",t.$.input.dataValue)}else t.set("value",t.$.input.dataValue=e),t.setAttribute("data-value",t.$.input.dataValue),t.set("selectedIndex",-1,!1)}getItem(e){const t=this;if(t.dataSource)for(let o=0;o<t.dataSource.length;o++){const l=t.dataSource[o];if(l.value===e)return l}return null}getPrevItem(){const e=this,t=e.getSelectedItem();if(e.dataSource&&t)for(let o=0;o<e.dataSource.length;o++)if(e.dataSource[o].value===t.value)return e.dataSource[o-1];return null}getNextItem(){const e=this,t=e.getSelectedItem();if(e.dataSource&&t)for(let o=0;o<e.dataSource.length;o++)if(e.dataSource[o].value===t.value)return e.dataSource[o+1];return null}getSelectedItem(){const e=this;return e.dataSource&&0===e.dataSource.length?{label:e.value,value:e.$.input.dataValue?e.$.input.dataValue:e.value}:{label:e.value,value:void 0!==e.$.input.dataValue?e.$.input.dataValue:e.value}}_refreshMenu(){const e=this;e.$.menu.classList.remove("scroll"),e.$.scrollView.computedVerticalScrollBarVisibility&&e.$.menu.classList.add("scroll")}_performSelect(){const e=this,t=e.$.menu.querySelector(".active");let o="",l="";t&&(o=t.getAttribute("data-label"),l=t.dataValue);let a=e.value,r=e.$.input.dataValue;e.set("value",o),e.$.input.dataValue=l,e.setAttribute("data-value",l),t&&e.set("selectedIndex",t.index),e.set("selectedValues",[e.$.input.dataValue]),e.set("selectedValue",e.$.input.dataValue);let i=e.dataSource;if("string"==typeof i&&(i=e.$.deserialize(i,"array")),i&&Array.isArray(i))for(let t=0;t<i.length;t++){let o=i[t];"string"!=typeof o&&"number"!=typeof o&&(o.value===e.$.input.dataValue?o.selected=!0:o.selected=!1)}e.close(),o===a&&l===r||(e.$.fireEvent("change",{value:l,label:o,oldValue:r,oldLabel:a}),e._updateTargetValue())}_open(){const e=this;if(e.opened)return;const t=window.scrollX,o=window.scrollY;let l=e.getBoundingClientRect(),a=0,r=0;if(e.timer&&clearTimeout(e.timer),e.getRootNode()&&e.getRootNode().host)e.getRootNode().host.shadowRoot.appendChild(e.$.scrollView);else if(e.dropDownAppendTo){if("body"===e.dropDownAppendTo||e.dropDownAppendTo===document.body)document.body.appendChild(e.$.scrollView);else if(e.dropDownAppendTo instanceof HTMLElement)e.dropDownAppendTo.appendChild(e.$.scrollView);else if("string"==typeof dropDownAppendTo){let t=document.getElementById(e.dropDownAppendTo);t instanceof HTMLElement?t.appendChild(e.$.scrollView):document.body.appendChild(e.$.scrollView)}}else document.body.appendChild(e.$.scrollView);if(e.setAttribute("aria-owns",e.$.scrollView.id),e.readonly||e.$.input.setAttribute("aria-controls",e.$.scrollView.id),e.$.scrollView.enableShadowDOM&&!e._importedStyle&&(e.$.scrollView.importStyle(e._getStyleUrl("smart.textbox.css")),e._importedStyle=!0),"static"!==getComputedStyle(document.body).position){const e=document.body.getBoundingClientRect();a=e.left,r=e.top}if(e.$.scrollView.style.setProperty("--smart-input-drop-down-menu-width",""),e.$.scrollView.style.left=-3+l.left+t-a+"px",e.$.scrollView.classList.remove("open"),e.$.scrollView.removeAttribute("top"),"bottom"===e.dropDownOpenPosition)e.$.scrollView.style.top=l.bottom+o-r+1+"px";else if("top"===e.dropDownOpenPosition)e.$.scrollView.style.top=l.top-e.$.scrollView.offsetHeight+o-r-2+"px",e.$.scrollView.setAttribute("top","");else if("auto"===e.dropDownOpenPosition){e.$.scrollView.style.top=l.bottom+o-r+1+"px";const t=l.top-e.$.scrollView.offsetHeight+o-r-2;window.innerHeight<parseInt(e.$.scrollView.style.top)+e.$.scrollView.offsetHeight-o?t>=0&&(e.$.scrollView.style.top=t+"px",e.$.scrollView.setAttribute("top","")):e.$.scrollView.style.top=l.bottom+o-r+1+"px"}if(e.dropDownAppendTo&&"body"!==e.dropDownAppendTo){e.$.scrollView.style.position="absolute",e.$.scrollView.style.width="auto",e.$.scrollView.style.height="auto";const t=e.$.scrollView.parentNode.getBoundingClientRect();e.$.scrollView.style.top=l.bottom-t.top+"px","top"===e.dropDownOpenPosition&&(e.$.scrollView.style.top=l.top-t.top-e.$.scrollView.offsetHeight+"px"),e.$.scrollView.style.left=-3+l.left-t.left+"px",e.dropDownHeight&&(e.$.scrollView.style.height=e.dropDownHeight),e.dropDownWidth&&(e.$.scrollView.style.width=e.dropDownWidth)}e.opening=!0,e._positionTimer&&clearInterval(e._positionTimer),e.dropDownAppendTo||(e._positionTimer=setInterval((()=>{const t=e.getBoundingClientRect();if(e.opening)e.opening=!1,l=t;else if(Math.abs(parseInt(t.top)-parseInt(l.top))>=10||Math.abs(parseInt(t.left)-parseInt(l.left))>=10){const o=window.scrollX,l=window.scrollY;return e.$.scrollView.style.left=-3+t.left+o-a+"px",void("bottom"===e.dropDownOpenPosition?e.$.scrollView.style.top=t.bottom+l-r+1+"px":"top"===e.dropDownOpenPosition?e.$.scrollView.style.top=t.top-e.$.scrollView.offsetHeight+l-r+1+"px":"auto"===e.dropDownOpenPosition&&(e.$.scrollView.removeAttribute("top"),e.$.scrollView.style.top=t.bottom+l-r+1+"px",window.innerHeight<parseInt(e.$.scrollView.style.top)+e.$.scrollView.offsetHeight-l?(e.$.scrollView.style.top=t.top-e.$.scrollView.offsetHeight+l-r+1+"px",e.$.scrollView.setAttribute("top","")):e.$.scrollView.style.top=t.bottom+l-r+1+"px"))}}),50)),e.$.scrollView.onpointerdown=function(){e._isPointerDown=!0},requestAnimationFrame((function(){const t=e.dropDownWidth;if(e.$.scrollView.refresh&&e.$.scrollView.refresh(),e._refreshMenu(),e.$.scrollView.setAttribute("open",""),e.setAttribute("open",""),e.$.dropDownButton.setAttribute("open",""),e.$.input.setAttribute("open",""),t&&"string"==typeof t&&-1!==t.indexOf("%")){const o=parseFloat(t)/100;e.$.scrollView.style.setProperty("--smart-input-drop-down-menu-width",e.offsetWidth*o+"px")}else if("auto"!==t&&t)e.$.scrollView.style.setProperty("--smart-input-drop-down-menu-width",parseFloat(t)+"px");else if("auto"===t){if(e.$.scrollView.style.setProperty("--smart-input-drop-down-menu-width",""),e.$.scrollView.$.scrollViewerContainer.classList.contains("vscroll")){const t=e.$.scrollView.offsetWidth+parseFloat(getComputedStyle(e.$.scrollView).getPropertyValue("--smart-scroll-bar-size"));e.$.scrollView.style.setProperty("--smart-input-drop-down-menu-width",t+"px")}}else{e.$.menu.style.width="auto";let t=e.$.menu.offsetWidth;const o=e.$.menu.querySelectorAll("li");for(let t=0;t<o.length;t++)e._maxDropDownWidth=Math.max((o[t].firstElementChild||o[t]).offsetWidth,e._maxDropDownWidth);e.$.scrollView.computedVerticalScrollBarVisibility&&(t+=e.$.scrollView.$&&e.$.scrollView.$.verticalScrollBar?e.$.scrollView.$.verticalScrollBar.offsetWidth:30),e.$.scrollView.style.setProperty("--smart-input-drop-down-menu-width",Math.max(t,e.offsetWidth-8)+"px"),e.$.menu.style.width=""}(e.shadowRoot||e.isInShadowDOM)&&e.$.scrollView._scrollView&&Smart.ScrollBar&&requestAnimationFrame((()=>{e.$.scrollView._scrollView&&e.$.scrollView._scrollView.vScrollBar.refresh()}))})),e.$.scrollView.refresh&&e.$.scrollView.refresh(),e._refreshMenu(),e.set("opened",!0),e.setAttribute("aria-expanded",!0),e.$.fireEvent("open")}close(){const e=this;return!!e.opened&&(e.timer&&clearTimeout(e.timer),e.timer=setTimeout((function(){e.$.scrollView.parentNode&&!e.opened&&(e.$.scrollView.remove(),e.removeAttribute("aria-owns"),e.readonly||e.$.input.removeAttribute("aria-controls"))}),1e3),e._positionTimer&&clearInterval(e._positionTimer),e.$.scrollView.removeAttribute("open"),e.$.dropDownButton.removeAttribute("open"),e.$.input.removeAttribute("open"),e.removeAttribute("open"),e.set("opened",!1),e.setAttribute("aria-expanded",!1),e.$.input.focus(),e.$.fireEvent("close"),!0)}refresh(){const e=this;e.$.scrollView.refresh&&e.$.scrollView.refresh(),e._getDataSourceFromOption(),e.close()}_lookup(e){const t=this;if(t.query=t.$.input.value,t.$.input.readonly&&(t._incrementalSearchQuery||(t._incrementalSearchQuery=""),t._incrementalSearchQuery+=e.key,t._incrementalSearchTimer&&clearTimeout(t._incrementalSearchTimer),t.query=t._incrementalSearchQuery,t._incrementalSearchTimer=setTimeout((function(){t._incrementalSearchQuery=""}),700)),t.query.length<t.minLength)return void t.close();const o=function(e){clearTimeout(t._autoCompleteTimeout),t._autoCompleteTimeout=setTimeout((()=>{const o=t.context;t.context=t,t._process(e),t.context=o}),t.autoCompleteDelay)};"function"==typeof t.dataSource?t.dataSource(t.query,o):o(t.dataSource)}_downHandler(e){const t=this;t.readonly&&t._dropDownButtonDownHandler(e)}_dropDownButtonDownHandler(e){const t=this;return"manual"!==t.dropDownOpenMode&&t._toggle(),e.preventDefault(),e.stopPropagation(),e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),t._isPointerDown=!0,!1}_toggle(){const e=this;e.opened?e.close():e.open()}open(){const e=this;function t(t){e._process(t);const o=e.$.menu.querySelector(".active");if(o){const t=e.$.input.dataValue;for(let l=0;l<e.$.menu.children.length;l++){const a=e.$.menu.children[l],r=a.getAttribute("data-label"),i=a.dataValue;if(void 0!==t&&i===t||void 0===t&&r===e.$.input.value){o.classList.remove("active"),a.classList.add("active"),e._setActiveDescendant(a),e.$.input.dataValue=i,e.setAttribute("data-value",i);break}}}e.ensureVisible(),e.$.input.focus(),setTimeout((function(){e.$.input.focus()}),25)}e.dropDownDataSource&&(Array.isArray(e.dropDownDataSource)&&e.dropDownDataSource.length>0||"function"==typeof e.dropDownDataSource)?(e.query="","function"==typeof e.dropDownDataSource?e.dropDownDataSource(e.query,t):t(e.dropDownDataSource)):(e.query="","function"==typeof e.dataSource?e.dataSource(e.query,t):t(e.dataSource))}_process(e){const t=this;"string"==typeof e&&(e=t.$.deserialize(e,"array")),e=t.readonly?e.filter((function(){return!0})):e.filter((function(e){return""===e||(t.matcher?t.matcher(e):t._matcher(e))})),e=t._sorter(e),t.sorted&&(e.sort(((e,t)=>void 0!==e.label?e.label.localeCompare(t.label):e.localeCompare(t))),"desc"===t.sortDirection&&e.reverse()),!e.length&&t.opened&&t.close(),0===e.length&&!0!==t.allowItemsAdd||(t.query.length>0?t._render(e.slice(0,t.items)):t._render(e),t._open(),t.$.scrollView.refresh&&t.$.scrollView.refresh(),t._refreshMenu(),t.ensureVisible())}_matcher(e){const t=this.query;switch(null===e&&(e="null"),e=""+(e=e.label||e),this.queryMode){case"startsWith":return e.startsWith(t);case"startsWithIgnoreCase":return e.toLowerCase().startsWith(t.toLowerCase());case"doesNotContain":return e.indexOf(t)<0;case"doesNotContainIgnoreCase":return e.toLowerCase().indexOf(t.toLowerCase())<0;case"contains":return e.indexOf(t)>-1;default:case"containsIgnoreCase":return~e.toLowerCase().indexOf(t.toLowerCase());case"equals":return 0===e.localeCompare(t);case"equalsIgnoreCase":return 0===e.toLowerCase().localeCompare(t.toLowerCase());case"endsWith":return e.endsWith(t);case"endsWithIgnoreCase":return e.toLowerCase().endsWith(t.toLowerCase())}}_sorter(e){const t=this;let o,l=[],a=[],r=[];if(e&&""===e[0])return e;for(;o=e.shift();){let e=o.label||o;e=""+e,e.toLowerCase().indexOf(t.query.toLowerCase())?~e.indexOf(t.query)?a.push(o):r.push(o):l.push(o)}return l.concat(a,r)}_highlighter(e){const t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return this.query?e.replace(new RegExp("("+t+")","ig"),(function(e,t){return"<strong>"+t+"</strong>"})):e}_render(e){const t=this;let o=0,l=-1,a=null;const r=e.map((function(e){let r=e,i=e;"object"==typeof e&&(r=e.label,i=void 0!==e.value?e.value:r),r=""+r,r=r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;");const n=document.createElement("li"),s=document.createElement("a");if(s.href="#",n.id=t.id+"Item"+Math.floor(65536*(1+Math.random())).toString(16).substring(1),n.setAttribute("data-label",r),n.index=o++,n.dataValue=i,"string"==typeof i?n.setAttribute("value",i):n.setAttribute("value",JSON.stringify(i)),n.setAttribute("role","option"),n.setAttribute("aria-label",r),void 0!==e.menuLabel?(r=e.menuLabel,s.innerHTML=r):s.innerHTML=t.highlighter?t.highlighter(r):t._highlighter(r),s.setAttribute("aria-hidden",!0),e.disabled&&n.classList.add("smart-disabled"),e.icon&&(s.classList.add("icon"),s.classList.add(e.icon)),e.prefix){const t=document.createElement("span");t.innerHTML=e.prefix,s.classList.add("has-prefix"),s.innerHTML=t.innerHTML+s.innerHTML}if(e.suffix){const t=document.createElement("span");t.innerHTML=e.suffix,s.classList.add("has-suffix"),s.innerHTML=s.innerHTML+t.innerHTML}if(e.dataset)for(let t in e.dataset)n.setAttribute("data-"+t,e.dataset[t]);if(e.className){const t=e.className.split(" ");for(let e=0;e<t.length;e++)n.classList.add(t[e].trim())}return void 0!==t.selectedValue&&void 0!==e.value&&""!==t.selectedValue&&t.selectedValue===e.value&&(e.selected=!0,a=e,l=n.index,n.classList.add("active")),n.appendChild(s),n}));function i(){const e=t.$.menu.getElementsByClassName("active");e[0]&&e[0].classList.remove("active"),this.classList.add("active"),t._setActiveDescendant(this)}-1===l&&r.length>0&&(r[0].classList.add("active"),t._setActiveDescendant(r[0])),a&&(t.$.input.value=a.label,t.$.input.dataValue=a.value,t.setAttribute("data-value",t.$.input.dataValue)),t.$.menu.innerHTML="";for(let e=0;e<r.length;e++){const o=r[e];t.$.menu.appendChild(o),o.onmouseenter=i,o.onmouseleave=function(){this.classList.remove("active"),t._setActiveDescendant(null)},o.onclick=i}}ensureVisible(){const e=this,t=e.$.menu.querySelector(".active");t&&(t.offsetTop+t.offsetHeight>=e.$.scrollView.scrollTop+e.$.scrollView.offsetHeight&&(e.$.scrollView.scrollTop=t.offsetTop+t.offsetHeight),(t.offsetTop<=e.$.scrollView.scrollTop||t.offsetTop>=e.$.scrollView.scrollTop+e.$.scrollView.offsetHeight)&&(e.$.scrollView.scrollTop=t.offsetTop),0===[...e.$.menu.children].indexOf(t)?e.$.scrollView.scrollTop=0:[...e.$.menu.children].indexOf(t)===e.$.menu.children.length-1&&(e.$.scrollView.scrollTop=e.$.scrollView.scrollHeight))}_next(){const e=this,t=e.$.menu.querySelector(".active");if(!t){const t=e.$.menu.firstElementChild;return t.classList.add("active"),void e._setActiveDescendant(t)}t.classList.remove("active");let o=t.nextElementSibling;o||(o=e.$.menu.firstElementChild),o.classList.add("active"),e._setActiveDescendant(o),e.ensureVisible()}_prev(){const e=this,t=e.$.menu.querySelector(".active");if(!t){const t=e.$.menu.firstElementChild;return t.classList.add("active"),void e._setActiveDescendant(t)}t.classList.remove("active");let o=t.previousElementSibling;o||(o=e.$.menu.lastElementChild),o.classList.add("active"),e._setActiveDescendant(o),e.ensureVisible()}_move(e){const t=this;if(t.readonly&&!t.opened){if("ArrowUp"===e.key){const o=t.getPrevItem();o&&t.selectItem(o.value),e.preventDefault()}if("ArrowDown"===e.key){const o=t.getNextItem();o&&t.selectItem(o.value),e.preventDefault()}}if(t.opened){switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),t._prev();break;case 40:e.preventDefault(),t._next()}e.stopPropagation()}}_keyDownHandler(e){const t=this;t._suppressKeyPressRepeat=![40,38,9,13,27,16,17,18].includes(e.keyCode),t._oldValue=t.$.input.value,e.shiftKey||e.altKey||e.ctrlKey||t._move(e)}_keyPressHandler(e){this._suppressKeyPressRepeat||e.shiftKey||e.altKey||e.ctrlKey||this._move(e)}_keyUpHandler(e){const t=this;if(!e.shiftKey&&"F2"!==e.key)switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:40===e.keyCode&&e.altKey&&t.open(),38===e.keyCode&&e.altKey&&t.close();break;case 9:case 13:if(!t.opened)return;t._performSelect(),e.stopPropagation(),e.preventDefault();break;case 27:if(!t.opened)return;t.close(),e.stopPropagation(),e.preventDefault();break;default:t._lookup(e),!t.opened||e.ctrlKey||e.shiftKey||(e.stopPropagation(),e.preventDefault()),t.$.fireEvent("changing",{value:t.$.input.value,oldValue:t._oldValue}),t.$.input.dataValue=t.$.input.value,t.setAttribute("data-value",t.$.input.dataValue),t._updateTargetValue()}}propertyChangedHandler(e,t,o){super.propertyChangedHandler(e,t,o);const l=this;if("innerHTML"===e&&(l._getDataSourceFromOption(),l._setSelection(!1)),"selectedValue"===e){let e=-1;if(l.dataSource&&Array.isArray(l.dataSource)&&l.dataSource.forEach(((t,l)=>{"string"==typeof t?t===o&&(e=l):t&&t.value===o&&(e=l)})),e>=0){const t=l.context;l.context=l,l.selectedIndex=e,l.context=t}l._setSelection()}if("selectedIndex"===e){let e=l.dataSource;if(l.selectedValue=null,e&&Array.isArray(e))for(let t=0;t<e.length;t++){let o=e[t];"string"!=typeof o&&"number"!=typeof o&&(o.selected=!1)}l._setSelection()}else if("dataSource"===e){if(l.dataSource&&Array.isArray(l.dataSource)){let e=-1;if(l.dataSource.forEach(((t,o)=>{t.selected&&(e=o)})),e>=0){const t=l.context;l.context=l,l.selectedIndex=e,l.context=t}}l._setSelection(!1)}else if("dropDownClassList"===e){const e=l.$.scrollView;for(let o=0,l=t.length;o<l;o+=1)e.classList.remove(t[o]);for(let t=0,l=o.length;t<l;t+=1)e.classList.add(o[t])}else if("dropDownHeight"===e)"auto"!==l.dropDownHeight?l.$.scrollView.style.setProperty("--smart-input-drop-down-menu-height",l.dropDownHeight+"px"):l.$.scrollView.style.setProperty("--smart-input-drop-down-menu-height","auto");else if("opened"===e)l.opened=t,o?l.open():l.close();else if("placeholder"===e){if(l.readonly){const e=l.getAttribute("aria-label");if(e&&e!==t)return;o?l.setAttribute("aria-label",o):l.removeAttribute("aria-label")}}else if("selectedValues"===e)if(null===o)l.$.input.value="",l.$.input.dataValue=o,l.setAttribute("data-value",o),l._refreshSelectedIndex();else{const e=o.join(","),t=l.value;l.$.input.dataValue=e,l._setSelection(),l.propertyChangedHandler("value",t,l.value)}else"value"===e?(l.displayMember!==l.valueMember&&"string"!=typeof o?(l.set("value",o[l.displayMember]),l.$.input.dataValue=o[l.valueMember],l.setAttribute("data-value",l.$.input.dataValue)):(l.$.input.value=l.$.input.dataValue=o,l.setAttribute("data-value",o)),l._refreshSelectedIndex()):"readonly"===e?(l._setAriaRelations(),l._setInputPurpose()):"theme"===e||"rightToLeft"===e?l.$.scrollView[e]=o:"inputPurpose"===e?l._setInputPurpose():"inverted"===e?o?l.$.scrollView.setAttribute("inverted",""):l.$.scrollView.removeAttribute("inverted"):"disabled"!==e&&"unfocusable"!==e||l._setFocusable()}_updateTargetValue(){const e=this;if(e.dataset.target){const t=document.querySelector(e.dataset.target);if(t){const o=e.dataset.property,l=e.value;o&&void 0!==t[o]&&(t[o]=l)}}}detached(){super.detached(),this.close(),this.removeAttribute("focus")}_getDataSourceFromOption(){const e=this;if(e.innerHTML.indexOf("<option")>=0){e.$.optionsContainer.innerHTML=e.innerHTML.trim();const t=e.querySelectorAll("option");let o=[];for(let e=0;e<t.length;e++){const l=t[e],a=l.hasAttribute("selected")||l.hasAttribute("is-selected")&&"false"!==l.getAttribute("is-selected");let r=(""+l.textContent).trim();const i=(""+l.innerHTML).trim(),n=l.hasAttribute("value")?l.getAttribute("value"):r,s=l.hasAttribute("disabled"),u=l.hasAttribute("label")?l.getAttribute("label"):null;u&&(r=u),o.push({label:r,menuLabel:i,value:n,disabled:s,selected:a,className:l.className,dataset:l.dataset}),l.classList.add("smart-hidden")}e.dataSource=o}}render(){const e=this,t=e.dropDownClassList;if(e._getDataSourceFromOption(),e.selectedValues&&e.selectedValues.length){const t=e.selectedValues.join(",");e.value=t}e._createElement&&e._createElement();const o=e.$.scrollView;for(let e=0,l=t.length;e<l;e+=1)o.classList.add(t[e]);e.opened&&(e.opened=!1,e.open());const l=e.$.menu;l&&(l.setAttribute("role","presentation"),o.appendChild(l)),"auto"!==e.dropDownHeight?o.style.setProperty("--smart-input-drop-down-menu-height",e.dropDownHeight+"px"):o.style.setProperty("--smart-input-drop-down-menu-height","auto"),o.classList.add("smart-input-drop-down-menu");for(let t=0;t<e.classList.length;t++){const l=e.classList[t];"smart-element"!==l&&"smart-input"!==l&&o.classList.add(l+"-drop-down-menu")}o.id=e.id+"_"+e.tagName.toLowerCase()+"_menu_"+Math.floor(65536*(1+Math.random())).toString(16).substring(1),o.ownerElement=e;let a=e.dataSource;if("string"==typeof a&&(a=e.$.deserialize(a,"array")),a&&a.length&&Array.isArray(a)){let t=-1;if(a.forEach(((e,o)=>{e.selected&&(t=o)})),t>=0){e.selectedIndex=t;const o=a[t];e.selectedValue="string"==typeof o?a[t]:a[t].value}}e._setAriaRelations(),e._setInputPurpose(),e._setSelection(),e.isInitialized=!0,super.render()}_setSelection(e){const t=this;let o=t.dataSource;if("string"==typeof o&&(o=t.$.deserialize(o,"array")),t.selectedIndex>=0&&o&&o.length>0){let l=o[t.selectedIndex];if("number"!=typeof l&&"boolean"!=typeof l||(l=""+l),"string"==typeof l){let o=t.$.input.dataValue,a=t.value;t.set("value",l),t.$.input.dataValue=l,t.$.input.setAttribute("data-value",l),t.selectedValues=[t.$.input.dataValue],t.isInitialized&&!1!==e&&(t.$.fireEvent("change",{value:t.value,label:t.label,oldValue:o,oldLabel:a}),t._updateTargetValue())}else{let o=t.$.input.dataValue,a=t.value;l&&(void 0!==l.value?(t.set("value",void 0!==l.value?l.value+"":""),t.$.input.dataValue=l.value,t.$.input.setAttribute("data-value",l.value),t.selectedValues=[t.$.input.dataValue]):l.label&&(t.selectedValues=[l.value]),l.label&&t.set("value",l.label)),t.isInitialized&&!1!==e&&(t.$.fireEvent("change",{value:t.$.input.dataValue,label:l.value,oldValue:o,oldLabel:a}),t._updateTargetValue())}}}_createElement(){const e=this,t=document.createElement("ul"),o=document.createElement("smart-scroll-viewer");o.rightToLeft=e.rightToLeft,o.theme=e.theme,o.horizontalScrollBarVisibility="hidden",e.inverted?o.setAttribute("inverted",""):o.removeAttribute("inverted"),e.$.scrollView=o,e.$.menu=t,e._setFocusable();const l=e.$.input;e.$.menu.onclick=function(t){const o=t.target.closest("li");t.stopPropagation(),t.preventDefault(),e._performSelect(),o&&e.$.fireEvent("itemClick",{index:[...o.parentNode.children].indexOf(o),item:o,label:o.getAttribute("aria-label"),value:o.dataValue}),l.focus()}}_setAriaRelations(){const e=this,t=e.getAttribute("aria-label");e.readonly?(e.setAttribute("role","button"),!t&&e.placeholder&&e.setAttribute("aria-label",e.placeholder),e.removeAttribute("aria-readonly"),e.$.input.setAttribute("aria-hidden",!0),e.$.input.removeAttribute("aria-activedescendant"),e.$.input.removeAttribute("aria-controls"),e.$.dropDownButton.setAttribute("aria-hidden",!0)):(e.setAttribute("role","combobox"),t&&t===e.placeholder&&e.removeAttribute("aria-label"),e.$.input.setAttribute("role","searchbox"),e.$.input.removeAttribute("aria-hidden",!0),e.$.dropDownButton.removeAttribute("aria-hidden")),e.setAttribute("aria-expanded",e.opened),e.setAttribute("aria-haspopup","listbox"),e.setAttribute("aria-owns",e.$.scrollView.id),e.$.scrollView.setAttribute("role","listbox")}_setActiveDescendant(e){const t=this;t.readonly||(e?t.setAttribute("aria-activedescendant",e.id):t.removeAttribute("aria-activedescendant"))}_setInputPurpose(){const e=this;e.readonly?e.$.input.removeAttribute("autocomplete"):e.$.input.setAttribute("autocomplete",e.inputPurpose)}_setFocusable(){const e=this;e.disabled||e.unfocusable?e.$.input.setAttribute("tabindex",-1):e.$.input.removeAttribute("tabindex")}});