@acorex/components 5.0.5 → 5.0.9

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 (498) hide show
  1. package/acorex-components.d.ts +5 -0
  2. package/bundles/acorex-components.umd.js +7633 -0
  3. package/bundles/acorex-components.umd.js.map +1 -0
  4. package/esm2015/acorex-components.js +5 -0
  5. package/esm2015/lib/alert/alert-button.component.js +52 -0
  6. package/esm2015/lib/alert/alert-contnet.component.js +21 -0
  7. package/esm2015/lib/alert/alert-footer.component.js +27 -0
  8. package/esm2015/lib/alert/alert-suffix.component.js +27 -0
  9. package/esm2015/lib/alert/alert-title.component.js +23 -0
  10. package/esm2015/lib/alert/alert.component.js +130 -0
  11. package/esm2015/lib/alert/alert.module.js +43 -0
  12. package/esm2015/lib/alert/index.js +8 -0
  13. package/esm2015/lib/avatar/avatar.component.js +55 -0
  14. package/esm2015/lib/avatar/avatar.module.js +21 -0
  15. package/esm2015/lib/avatar/index.js +3 -0
  16. package/esm2015/lib/badge/badge.component.js +34 -0
  17. package/esm2015/lib/badge/badge.module.js +21 -0
  18. package/esm2015/lib/badge/index.js +3 -0
  19. package/esm2015/lib/base/common.module.js +18 -0
  20. package/esm2015/lib/base/custom-cdk-overlay.service.js +47 -0
  21. package/esm2015/lib/base/drawing.class.js +11 -0
  22. package/esm2015/lib/base/events.class.js +53 -0
  23. package/esm2015/lib/base/index.js +7 -0
  24. package/esm2015/lib/base/mixin/base-components.class.js +86 -0
  25. package/esm2015/lib/base/mixin/button-mixin.class.js +129 -0
  26. package/esm2015/lib/base/mixin/clickable-mixin.class.js +24 -0
  27. package/esm2015/lib/base/mixin/constratctor.js +2 -0
  28. package/esm2015/lib/base/mixin/datalist-component.class.js +97 -0
  29. package/esm2015/lib/base/mixin/dropdown-mixin.class.js +36 -0
  30. package/esm2015/lib/base/mixin/index.js +3 -0
  31. package/esm2015/lib/base/mixin/interactive-mixin.class.js +77 -0
  32. package/esm2015/lib/base/mixin/loading-mixin.class.js +18 -0
  33. package/esm2015/lib/base/mixin/mixin.class.js +22 -0
  34. package/esm2015/lib/base/mixin/selection-component.class.js +158 -0
  35. package/esm2015/lib/base/mixin/sizable-mixin.class.js +18 -0
  36. package/esm2015/lib/base/mixin/textbox-mixin.class.js +38 -0
  37. package/esm2015/lib/base/mixin/value-mixin.class.js +190 -0
  38. package/esm2015/lib/base/overlay.service.js +91 -0
  39. package/esm2015/lib/base/responsive.directive.js +34 -0
  40. package/esm2015/lib/base/styles.class.js +4 -0
  41. package/esm2015/lib/button/button-group.component.js +131 -0
  42. package/esm2015/lib/button/button-item.class.js +2 -0
  43. package/esm2015/lib/button/button-item.component.js +81 -0
  44. package/esm2015/lib/button/button.component.js +73 -0
  45. package/esm2015/lib/button/button.module.js +33 -0
  46. package/esm2015/lib/button/index.js +6 -0
  47. package/esm2015/lib/calendar/calendar.component.js +287 -0
  48. package/esm2015/lib/calendar/calendar.module.js +25 -0
  49. package/esm2015/lib/calendar/index.js +3 -0
  50. package/esm2015/lib/carousel/carousel-arrows.component.js +53 -0
  51. package/esm2015/lib/carousel/carousel-item.component.js +21 -0
  52. package/esm2015/lib/carousel/carousel-pager.component.js +74 -0
  53. package/esm2015/lib/carousel/carousel-splidejs.class.js +82 -0
  54. package/esm2015/lib/carousel/carousel.class.js +10 -0
  55. package/esm2015/lib/carousel/carousel.component.js +246 -0
  56. package/esm2015/lib/carousel/carousel.module.js +24 -0
  57. package/esm2015/lib/carousel/index.js +7 -0
  58. package/esm2015/lib/checkbox/checkbox.component.js +59 -0
  59. package/esm2015/lib/checkbox/checkbox.module.js +20 -0
  60. package/esm2015/lib/checkbox/index.js +3 -0
  61. package/esm2015/lib/datalist/datalist.component.js +81 -0
  62. package/esm2015/lib/datalist/datalist.module.js +22 -0
  63. package/esm2015/lib/datalist/index.js +3 -0
  64. package/esm2015/lib/datepicker/datepicker.component.js +80 -0
  65. package/esm2015/lib/datepicker/datepicker.module.js +23 -0
  66. package/esm2015/lib/datepicker/index.js +3 -0
  67. package/esm2015/lib/decorators/content.component.js +26 -0
  68. package/esm2015/lib/decorators/decorators.module.js +23 -0
  69. package/esm2015/lib/decorators/index.js +5 -0
  70. package/esm2015/lib/decorators/prefix.component.js +26 -0
  71. package/esm2015/lib/decorators/suffix.component.js +26 -0
  72. package/esm2015/lib/dialog/dialog.class.js +2 -0
  73. package/esm2015/lib/dialog/dialog.component.js +45 -0
  74. package/esm2015/lib/dialog/dialog.module.js +26 -0
  75. package/esm2015/lib/dialog/dialog.service.js +146 -0
  76. package/esm2015/lib/dialog/index.js +5 -0
  77. package/esm2015/lib/drawer/drawer-container.component.js +73 -0
  78. package/esm2015/lib/drawer/drawer-content.component.js +27 -0
  79. package/esm2015/lib/drawer/drawer.component.js +145 -0
  80. package/esm2015/lib/drawer/drawer.module.js +23 -0
  81. package/esm2015/lib/drawer/index.js +5 -0
  82. package/esm2015/lib/dropdown/dropdown-base.class.js +98 -0
  83. package/esm2015/lib/dropdown/dropdown-panel.component.js +84 -0
  84. package/esm2015/lib/dropdown/dropdown.component.js +32 -0
  85. package/esm2015/lib/dropdown/dropdown.module.js +25 -0
  86. package/esm2015/lib/dropdown/index.js +4 -0
  87. package/esm2015/lib/form/form-field.component.js +20 -0
  88. package/esm2015/lib/form/form-field.module.js +21 -0
  89. package/esm2015/lib/form/form-hint.component.js +20 -0
  90. package/esm2015/lib/form/form.component.js +51 -0
  91. package/esm2015/lib/form/index.js +5 -0
  92. package/esm2015/lib/icon/icon.component.js +28 -0
  93. package/esm2015/lib/icon/icon.module.js +21 -0
  94. package/esm2015/lib/icon/index.js +3 -0
  95. package/esm2015/lib/input-mask/index.js +3 -0
  96. package/esm2015/lib/input-mask/input-mask.component.js +42 -0
  97. package/esm2015/lib/input-mask/input-mask.module.js +23 -0
  98. package/esm2015/lib/label/index.js +3 -0
  99. package/esm2015/lib/label/label.component.js +20 -0
  100. package/esm2015/lib/label/label.module.js +21 -0
  101. package/esm2015/lib/loading/index.js +6 -0
  102. package/esm2015/lib/loading/loading-spinner.component.js +32 -0
  103. package/esm2015/lib/loading/loading.component.js +54 -0
  104. package/esm2015/lib/loading/loading.directive.js +67 -0
  105. package/esm2015/lib/loading/loading.module.js +35 -0
  106. package/esm2015/lib/loading/loading.service.js +155 -0
  107. package/esm2015/lib/number-box/index.js +3 -0
  108. package/esm2015/lib/number-box/number-box.component.js +289 -0
  109. package/esm2015/lib/number-box/number-box.module.js +32 -0
  110. package/esm2015/lib/page/base-page.class.js +67 -0
  111. package/esm2015/lib/page/index.js +5 -0
  112. package/esm2015/lib/page/page-footer.component.js +28 -0
  113. package/esm2015/lib/page/page.component.js +33 -0
  114. package/esm2015/lib/page/page.module.js +18 -0
  115. package/esm2015/lib/password-box/index.js +3 -0
  116. package/esm2015/lib/password-box/password-box.component.js +74 -0
  117. package/esm2015/lib/password-box/password-box.module.js +35 -0
  118. package/esm2015/lib/popover/index.js +3 -0
  119. package/esm2015/lib/popover/popover.component.js +220 -0
  120. package/esm2015/lib/popover/popover.module.js +19 -0
  121. package/esm2015/lib/popup/index.js +4 -0
  122. package/esm2015/lib/popup/popup.component.js +105 -0
  123. package/esm2015/lib/popup/popup.module.js +26 -0
  124. package/esm2015/lib/popup/popup.service.js +94 -0
  125. package/esm2015/lib/radio/index.js +3 -0
  126. package/esm2015/lib/radio/radio.component.js +22 -0
  127. package/esm2015/lib/radio/radio.module.js +21 -0
  128. package/esm2015/lib/range-slider/index.js +3 -0
  129. package/esm2015/lib/range-slider/range-slider.component.js +22 -0
  130. package/esm2015/lib/range-slider/range-slider.module.js +21 -0
  131. package/esm2015/lib/selectbox/index.js +3 -0
  132. package/esm2015/lib/selectbox/selectbox.component.js +201 -0
  133. package/esm2015/lib/selectbox/selectbox.module.js +25 -0
  134. package/esm2015/lib/selection-list/index.js +3 -0
  135. package/esm2015/lib/selection-list/selection-list.component.js +47 -0
  136. package/esm2015/lib/selection-list/selection-list.module.js +21 -0
  137. package/esm2015/lib/side-menu/index.js +3 -0
  138. package/esm2015/lib/side-menu/side-menu.component.js +21 -0
  139. package/esm2015/lib/side-menu/side-menu.module.js +21 -0
  140. package/esm2015/lib/switch/index.js +3 -0
  141. package/esm2015/lib/switch/switch.component.js +30 -0
  142. package/esm2015/lib/switch/switch.module.js +21 -0
  143. package/esm2015/lib/tabs/index.js +8 -0
  144. package/esm2015/lib/tabs/tab-content.directive.js +29 -0
  145. package/esm2015/lib/tabs/tab-item.component.js +91 -0
  146. package/esm2015/lib/tabs/tab-strip.component.js +69 -0
  147. package/esm2015/lib/tabs/tab-view.component.js +45 -0
  148. package/esm2015/lib/tabs/tab.component.js +58 -0
  149. package/esm2015/lib/tabs/tabs.class.js +4 -0
  150. package/esm2015/lib/tabs/tabs.component.js +67 -0
  151. package/esm2015/lib/tabs/tabs.module.js +25 -0
  152. package/esm2015/lib/textbox/index.js +3 -0
  153. package/esm2015/lib/textbox/textbox.component.js +62 -0
  154. package/esm2015/lib/textbox/textbox.module.js +43 -0
  155. package/esm2015/lib/time-box/index.js +3 -0
  156. package/esm2015/lib/time-box/time-box.component.js +134 -0
  157. package/esm2015/lib/time-box/time-box.module.js +32 -0
  158. package/esm2015/lib/toast/index.js +5 -0
  159. package/esm2015/lib/toast/toast.class.js +2 -0
  160. package/esm2015/lib/toast/toast.component.js +50 -0
  161. package/esm2015/lib/toast/toast.module.js +22 -0
  162. package/esm2015/lib/toast/toast.service.js +114 -0
  163. package/esm2015/lib/tooltip/index.js +4 -0
  164. package/esm2015/lib/tooltip/tooltip.component.js +45 -0
  165. package/esm2015/lib/tooltip/tooltip.directive.js +86 -0
  166. package/esm2015/lib/tooltip/tooltip.module.js +23 -0
  167. package/esm2015/lib/validation/index.js +3 -0
  168. package/esm2015/lib/validation/validation-rule.widget.js +113 -0
  169. package/esm2015/lib/validation/validation.class.js +2 -0
  170. package/esm2015/lib/validation/validation.module.js +32 -0
  171. package/esm2015/public-api.js +42 -0
  172. package/fesm2015/acorex-components.js +6537 -0
  173. package/fesm2015/acorex-components.js.map +1 -0
  174. package/lib/alert/alert-button.component.d.ts +13 -0
  175. package/lib/alert/alert-contnet.component.d.ts +5 -0
  176. package/lib/alert/alert-footer.component.d.ts +5 -0
  177. package/lib/alert/alert-suffix.component.d.ts +5 -0
  178. package/lib/alert/alert-title.component.d.ts +5 -0
  179. package/lib/alert/alert.component.d.ts +46 -0
  180. package/lib/alert/alert.module.d.ts +13 -0
  181. package/{src/lib/alert/index.ts → lib/alert/index.d.ts} +0 -0
  182. package/lib/avatar/avatar.component.d.ts +20 -0
  183. package/lib/avatar/avatar.module.d.ts +8 -0
  184. package/{src/lib/avatar/index.ts → lib/avatar/index.d.ts} +0 -0
  185. package/lib/badge/badge.component.d.ts +11 -0
  186. package/lib/badge/badge.module.d.ts +8 -0
  187. package/lib/badge/index.d.ts +2 -0
  188. package/lib/base/common.module.d.ts +7 -0
  189. package/lib/base/custom-cdk-overlay.service.d.ts +19 -0
  190. package/{src/lib/base/drawing.class.ts → lib/base/drawing.class.d.ts} +1 -12
  191. package/{src/lib/base/events.class.ts → lib/base/events.class.d.ts} +11 -20
  192. package/{src/lib/base/index.ts → lib/base/index.d.ts} +0 -0
  193. package/lib/base/mixin/base-components.class.d.ts +86 -0
  194. package/lib/base/mixin/button-mixin.class.d.ts +82 -0
  195. package/lib/base/mixin/clickable-mixin.class.d.ts +43 -0
  196. package/lib/base/mixin/constratctor.d.ts +4 -0
  197. package/lib/base/mixin/datalist-component.class.d.ts +55 -0
  198. package/lib/base/mixin/dropdown-mixin.class.d.ts +48 -0
  199. package/{src/lib/base/mixin/index.ts → lib/base/mixin/index.d.ts} +1 -1
  200. package/lib/base/mixin/interactive-mixin.class.d.ts +65 -0
  201. package/lib/base/mixin/loading-mixin.class.d.ts +47 -0
  202. package/lib/base/mixin/mixin.class.d.ts +607 -0
  203. package/lib/base/mixin/selection-component.class.d.ts +56 -0
  204. package/lib/base/mixin/sizable-mixin.class.d.ts +41 -0
  205. package/lib/base/mixin/textbox-mixin.class.d.ts +59 -0
  206. package/lib/base/mixin/value-mixin.class.d.ts +71 -0
  207. package/lib/base/overlay.service.d.ts +31 -0
  208. package/lib/base/responsive.directive.d.ts +10 -0
  209. package/lib/base/styles.class.d.ts +17 -0
  210. package/lib/button/button-group.component.d.ts +36 -0
  211. package/{src/lib/button/button-item.class.ts → lib/button/button-item.class.d.ts} +4 -6
  212. package/lib/button/button-item.component.d.ts +94 -0
  213. package/lib/button/button.component.d.ts +21 -0
  214. package/lib/button/button.module.d.ts +12 -0
  215. package/{src/lib/button/index.ts → lib/button/index.d.ts} +1 -1
  216. package/lib/calendar/calendar.component.d.ts +56 -0
  217. package/lib/calendar/calendar.module.d.ts +12 -0
  218. package/{src/lib/calendar/index.ts → lib/calendar/index.d.ts} +0 -0
  219. package/lib/carousel/carousel-arrows.component.d.ts +14 -0
  220. package/lib/carousel/carousel-item.component.d.ts +8 -0
  221. package/lib/carousel/carousel-pager.component.d.ts +22 -0
  222. package/lib/carousel/carousel-splidejs.class.d.ts +18 -0
  223. package/{src/lib/carousel/carousel.class.ts → lib/carousel/carousel.class.d.ts} +13 -32
  224. package/lib/carousel/carousel.component.d.ts +62 -0
  225. package/lib/carousel/carousel.module.d.ts +11 -0
  226. package/{src/lib/carousel/index.ts → lib/carousel/index.d.ts} +0 -0
  227. package/lib/checkbox/checkbox.component.d.ts +13 -0
  228. package/lib/checkbox/checkbox.module.d.ts +9 -0
  229. package/{src/lib/checkbox/index.ts → lib/checkbox/index.d.ts} +1 -1
  230. package/lib/datalist/datalist.component.d.ts +25 -0
  231. package/lib/datalist/datalist.module.d.ts +9 -0
  232. package/{src/lib/datalist/index.ts → lib/datalist/index.d.ts} +0 -0
  233. package/lib/datepicker/datepicker.component.d.ts +18 -0
  234. package/lib/datepicker/datepicker.module.d.ts +10 -0
  235. package/{src/lib/datepicker/index.ts → lib/datepicker/index.d.ts} +0 -0
  236. package/lib/decorators/content.component.d.ts +8 -0
  237. package/lib/decorators/decorators.module.d.ts +10 -0
  238. package/{src/lib/decorators/index.ts → lib/decorators/index.d.ts} +1 -0
  239. package/lib/decorators/prefix.component.d.ts +8 -0
  240. package/lib/decorators/suffix.component.d.ts +8 -0
  241. package/{src/lib/dialog/dialog.class.ts → lib/dialog/dialog.class.d.ts} +1 -2
  242. package/lib/dialog/dialog.component.d.ts +15 -0
  243. package/lib/dialog/dialog.module.d.ts +13 -0
  244. package/lib/dialog/dialog.service.d.ts +36 -0
  245. package/{src/lib/dialog/index.ts → lib/dialog/index.d.ts} +0 -0
  246. package/lib/drawer/drawer-container.component.d.ts +13 -0
  247. package/lib/drawer/drawer-content.component.d.ts +8 -0
  248. package/lib/drawer/drawer.component.d.ts +30 -0
  249. package/lib/drawer/drawer.module.d.ts +10 -0
  250. package/{src/lib/drawer/index.ts → lib/drawer/index.d.ts} +0 -0
  251. package/lib/dropdown/dropdown-base.class.d.ts +94 -0
  252. package/lib/dropdown/dropdown-panel.component.d.ts +28 -0
  253. package/lib/dropdown/dropdown.component.d.ts +13 -0
  254. package/lib/dropdown/dropdown.module.d.ts +14 -0
  255. package/{src/lib/dropdown/index.ts → lib/dropdown/index.d.ts} +1 -1
  256. package/lib/form/form-field.component.d.ts +8 -0
  257. package/lib/form/form-field.module.d.ts +10 -0
  258. package/lib/form/form-hint.component.d.ts +8 -0
  259. package/lib/form/form.component.d.ts +13 -0
  260. package/{src/lib/form/index.ts → lib/form/index.d.ts} +1 -1
  261. package/lib/icon/icon.component.d.ts +10 -0
  262. package/lib/icon/icon.module.d.ts +8 -0
  263. package/{src/lib/icon/index.ts → lib/icon/index.d.ts} +0 -0
  264. package/{src/lib/input-mask/index.ts → lib/input-mask/index.d.ts} +0 -0
  265. package/lib/input-mask/input-mask.component.d.ts +14 -0
  266. package/lib/input-mask/input-mask.module.d.ts +9 -0
  267. package/{src/lib/label/index.ts → lib/label/index.d.ts} +1 -1
  268. package/lib/label/label.component.d.ts +8 -0
  269. package/lib/label/label.module.d.ts +8 -0
  270. package/{src/lib/loading/index.ts → lib/loading/index.d.ts} +0 -0
  271. package/lib/loading/loading-spinner.component.d.ts +5 -0
  272. package/lib/loading/loading.component.d.ts +19 -0
  273. package/lib/loading/loading.directive.d.ts +22 -0
  274. package/lib/loading/loading.module.d.ts +13 -0
  275. package/lib/loading/loading.service.d.ts +48 -0
  276. package/{src/lib/number-box/index.ts → lib/number-box/index.d.ts} +0 -0
  277. package/lib/number-box/number-box.component.d.ts +69 -0
  278. package/lib/number-box/number-box.module.d.ts +11 -0
  279. package/lib/page/base-page.class.d.ts +37 -0
  280. package/{src/lib/page/index.ts → lib/page/index.d.ts} +0 -1
  281. package/lib/page/page-footer.component.d.ts +7 -0
  282. package/lib/page/page.component.d.ts +13 -0
  283. package/lib/page/page.module.d.ts +7 -0
  284. package/lib/password-box/index.d.ts +2 -0
  285. package/lib/password-box/password-box.component.d.ts +24 -0
  286. package/lib/password-box/password-box.module.d.ts +12 -0
  287. package/{src/lib/popover/index.ts → lib/popover/index.d.ts} +1 -2
  288. package/lib/popover/popover.component.d.ts +44 -0
  289. package/lib/popover/popover.module.d.ts +8 -0
  290. package/{src/lib/popup/index.ts → lib/popup/index.d.ts} +0 -0
  291. package/lib/popup/popup.component.d.ts +34 -0
  292. package/lib/popup/popup.module.d.ts +12 -0
  293. package/lib/popup/popup.service.d.ts +37 -0
  294. package/lib/radio/index.d.ts +2 -0
  295. package/lib/radio/radio.component.d.ts +8 -0
  296. package/lib/radio/radio.module.d.ts +8 -0
  297. package/{src/lib/range-slider/index.ts → lib/range-slider/index.d.ts} +0 -0
  298. package/lib/range-slider/range-slider.component.d.ts +8 -0
  299. package/lib/range-slider/range-slider.module.d.ts +8 -0
  300. package/{src/lib/selectbox/index.ts → lib/selectbox/index.d.ts} +1 -1
  301. package/lib/selectbox/selectbox.component.d.ts +29 -0
  302. package/lib/selectbox/selectbox.module.d.ts +14 -0
  303. package/{src/lib/selection-list/index.ts → lib/selection-list/index.d.ts} +1 -1
  304. package/lib/selection-list/selection-list.component.d.ts +10 -0
  305. package/lib/selection-list/selection-list.module.d.ts +10 -0
  306. package/{src/lib/side-menu/index.ts → lib/side-menu/index.d.ts} +0 -0
  307. package/lib/side-menu/side-menu.component.d.ts +8 -0
  308. package/lib/side-menu/side-menu.module.d.ts +8 -0
  309. package/{src/lib/switch/index.ts → lib/switch/index.d.ts} +1 -1
  310. package/lib/switch/switch.component.d.ts +9 -0
  311. package/lib/switch/switch.module.d.ts +9 -0
  312. package/{src/lib/tabs/index.ts → lib/tabs/index.d.ts} +3 -1
  313. package/lib/tabs/tab-content.directive.d.ts +11 -0
  314. package/lib/tabs/tab-item.component.d.ts +17 -0
  315. package/lib/tabs/tab-strip.component.d.ts +19 -0
  316. package/lib/tabs/tab-view.component.d.ts +14 -0
  317. package/lib/tabs/tab.component.d.ts +18 -0
  318. package/{src/lib/tabs/tabs.class.ts → lib/tabs/tabs.class.d.ts} +5 -8
  319. package/lib/tabs/tabs.component.d.ts +17 -0
  320. package/lib/tabs/tabs.module.d.ts +12 -0
  321. package/{src/lib/textbox/index.ts → lib/textbox/index.d.ts} +1 -1
  322. package/lib/textbox/textbox.component.d.ts +19 -0
  323. package/lib/textbox/textbox.module.d.ts +13 -0
  324. package/{src/lib/time-box/index.ts → lib/time-box/index.d.ts} +0 -0
  325. package/lib/time-box/time-box.component.d.ts +29 -0
  326. package/lib/time-box/time-box.module.d.ts +11 -0
  327. package/{src/lib/toast/index.ts → lib/toast/index.d.ts} +0 -0
  328. package/{src/lib/toast/toast.class.ts → lib/toast/toast.class.d.ts} +1 -4
  329. package/lib/toast/toast.component.d.ts +16 -0
  330. package/lib/toast/toast.module.d.ts +9 -0
  331. package/lib/toast/toast.service.d.ts +18 -0
  332. package/{src/lib/tooltip/index.ts → lib/tooltip/index.d.ts} +0 -0
  333. package/lib/tooltip/tooltip.component.d.ts +10 -0
  334. package/lib/tooltip/tooltip.directive.d.ts +18 -0
  335. package/lib/tooltip/tooltip.module.d.ts +10 -0
  336. package/{src/lib/validation/index.ts → lib/validation/index.d.ts} +1 -1
  337. package/lib/validation/validation-rule.widget.d.ts +25 -0
  338. package/lib/validation/validation.class.d.ts +17 -0
  339. package/lib/validation/validation.module.d.ts +9 -0
  340. package/package.json +19 -12
  341. package/{src/public-api.ts → public-api.d.ts} +5 -3
  342. package/karma.conf.js +0 -44
  343. package/ng-package.json +0 -11
  344. package/src/lib/alert/alert-button.component.ts +0 -45
  345. package/src/lib/alert/alert-contnet.component.ts +0 -14
  346. package/src/lib/alert/alert-footer.component.ts +0 -16
  347. package/src/lib/alert/alert-suffix.component.ts +0 -16
  348. package/src/lib/alert/alert-title.component.ts +0 -14
  349. package/src/lib/alert/alert.component.html +0 -13
  350. package/src/lib/alert/alert.component.ts +0 -139
  351. package/src/lib/alert/alert.module.ts +0 -26
  352. package/src/lib/avatar/avatar.component.html +0 -2
  353. package/src/lib/avatar/avatar.component.ts +0 -64
  354. package/src/lib/avatar/avatar.module.ts +0 -14
  355. package/src/lib/base/common.module.ts +0 -13
  356. package/src/lib/base/custom-cdk-overlay.service.ts +0 -83
  357. package/src/lib/base/mixin/base-components.class.ts +0 -112
  358. package/src/lib/base/mixin/button-mixin.class.ts +0 -145
  359. package/src/lib/base/mixin/clickable-mixin.class.ts +0 -33
  360. package/src/lib/base/mixin/constratctor.ts +0 -3
  361. package/src/lib/base/mixin/datalist-component.class.ts +0 -105
  362. package/src/lib/base/mixin/dropdown-mixin.class.ts +0 -55
  363. package/src/lib/base/mixin/interactive-mixin.class.ts +0 -83
  364. package/src/lib/base/mixin/loading-mixin.class.ts +0 -32
  365. package/src/lib/base/mixin/mixin.class.ts +0 -70
  366. package/src/lib/base/mixin/page-component.class.ts +0 -15
  367. package/src/lib/base/mixin/selection-component.class.ts +0 -185
  368. package/src/lib/base/mixin/sizable-mixin.class.ts +0 -30
  369. package/src/lib/base/mixin/textbox-mixin.class.ts +0 -51
  370. package/src/lib/base/mixin/value-mixin.class.ts +0 -215
  371. package/src/lib/base/overlay.service.ts +0 -117
  372. package/src/lib/base/responsive.directive.ts +0 -31
  373. package/src/lib/base/styles.class.ts +0 -24
  374. package/src/lib/button/button-group.component.html +0 -2
  375. package/src/lib/button/button-group.component.ts +0 -142
  376. package/src/lib/button/button-item.component.ts +0 -79
  377. package/src/lib/button/button.component.html +0 -18
  378. package/src/lib/button/button.component.ts +0 -71
  379. package/src/lib/button/button.module.ts +0 -23
  380. package/src/lib/calendar/calendar.component.html +0 -74
  381. package/src/lib/calendar/calendar.component.ts +0 -60
  382. package/src/lib/calendar/calendar.module.ts +0 -17
  383. package/src/lib/carousel/carousel-arrows.component.ts +0 -46
  384. package/src/lib/carousel/carousel-item.component.ts +0 -19
  385. package/src/lib/carousel/carousel-pager.component.ts +0 -83
  386. package/src/lib/carousel/carousel-splidejs.class.ts +0 -104
  387. package/src/lib/carousel/carousel.component.html +0 -11
  388. package/src/lib/carousel/carousel.component.ts +0 -273
  389. package/src/lib/carousel/carousel.module.ts +0 -19
  390. package/src/lib/checkbox/checkbox.component.html +0 -15
  391. package/src/lib/checkbox/checkbox.component.ts +0 -43
  392. package/src/lib/checkbox/checkbox.module.ts +0 -11
  393. package/src/lib/datalist/datalist.component.html +0 -35
  394. package/src/lib/datalist/datalist.component.ts +0 -86
  395. package/src/lib/datalist/datalist.module.ts +0 -17
  396. package/src/lib/datapager/datapager-base.component.ts +0 -29
  397. package/src/lib/datapager/datapager-dots-selector.component.ts +0 -0
  398. package/src/lib/datapager/datapager-info.component.ts +0 -64
  399. package/src/lib/datapager/datapager-input-selector.component.ts +0 -54
  400. package/src/lib/datapager/datapager-next-buttons.components.ts +0 -52
  401. package/src/lib/datapager/datapager-numeric-selector.component.ts +0 -94
  402. package/src/lib/datapager/datapager-pagesize-dropdown.component.ts +0 -77
  403. package/src/lib/datapager/datapager-prev-buttons.component.ts +0 -50
  404. package/src/lib/datapager/datapager.component.html +0 -19
  405. package/src/lib/datapager/datapager.component.ts +0 -146
  406. package/src/lib/datapager/datapager.module.ts +0 -32
  407. package/src/lib/datapager/index.ts +0 -8
  408. package/src/lib/datepicker/datepicker.component.html +0 -11
  409. package/src/lib/datepicker/datepicker.component.ts +0 -86
  410. package/src/lib/datepicker/datepicker.module.ts +0 -16
  411. package/src/lib/decorators/decorators.module.ts +0 -15
  412. package/src/lib/decorators/prefix.component.ts +0 -23
  413. package/src/lib/decorators/suffix.component.ts +0 -25
  414. package/src/lib/dialog/dialog.component.html +0 -22
  415. package/src/lib/dialog/dialog.component.ts +0 -48
  416. package/src/lib/dialog/dialog.module.ts +0 -19
  417. package/src/lib/dialog/dialog.service.ts +0 -154
  418. package/src/lib/drawer/drawer-container.component.ts +0 -69
  419. package/src/lib/drawer/drawer-content.component.ts +0 -24
  420. package/src/lib/drawer/drawer.component.ts +0 -156
  421. package/src/lib/drawer/drawer.module.ts +0 -16
  422. package/src/lib/dropdown/dropdown-base.class.ts +0 -107
  423. package/src/lib/dropdown/dropdown-panel.component.html +0 -15
  424. package/src/lib/dropdown/dropdown-panel.component.ts +0 -105
  425. package/src/lib/dropdown/dropdown.component.html +0 -19
  426. package/src/lib/dropdown/dropdown.component.ts +0 -31
  427. package/src/lib/dropdown/dropdown.module.ts +0 -17
  428. package/src/lib/form/form-field.component.ts +0 -18
  429. package/src/lib/form/form-field.module.ts +0 -14
  430. package/src/lib/form/form-hint.component.ts +0 -18
  431. package/src/lib/form/form.component.ts +0 -54
  432. package/src/lib/icon/icon.component.ts +0 -27
  433. package/src/lib/icon/icon.module.ts +0 -14
  434. package/src/lib/input-mask/input-mask.component.ts +0 -43
  435. package/src/lib/input-mask/input-mask.module.ts +0 -15
  436. package/src/lib/label/label.component.html +0 -3
  437. package/src/lib/label/label.component.ts +0 -16
  438. package/src/lib/label/label.module.ts +0 -14
  439. package/src/lib/loading/loading-spinner.component.ts +0 -17
  440. package/src/lib/loading/loading.component.ts +0 -55
  441. package/src/lib/loading/loading.directive.ts +0 -86
  442. package/src/lib/loading/loading.module.ts +0 -32
  443. package/src/lib/loading/loading.service.ts +0 -172
  444. package/src/lib/number-box/number-box.component.html +0 -15
  445. package/src/lib/number-box/number-box.component.ts +0 -297
  446. package/src/lib/number-box/number-box.module.ts +0 -22
  447. package/src/lib/page/base-page.class.ts +0 -80
  448. package/src/lib/page/page-footer.component.ts +0 -19
  449. package/src/lib/page/page.component.ts +0 -32
  450. package/src/lib/page/page.module.ts +0 -11
  451. package/src/lib/popover/popover.component.html +0 -3
  452. package/src/lib/popover/popover.component.ts +0 -229
  453. package/src/lib/popover/popover.module.ts +0 -11
  454. package/src/lib/popup/popup.component.html +0 -25
  455. package/src/lib/popup/popup.component.ts +0 -118
  456. package/src/lib/popup/popup.module.ts +0 -19
  457. package/src/lib/popup/popup.service.ts +0 -112
  458. package/src/lib/range-slider/range-slider.component.html +0 -1
  459. package/src/lib/range-slider/range-slider.component.ts +0 -21
  460. package/src/lib/range-slider/range-slider.module.ts +0 -14
  461. package/src/lib/selectbox/selectbox.component.html +0 -63
  462. package/src/lib/selectbox/selectbox.component.ts +0 -211
  463. package/src/lib/selectbox/selectbox.module.ts +0 -15
  464. package/src/lib/selection-list/selection-list.component.html +0 -31
  465. package/src/lib/selection-list/selection-list.component.ts +0 -56
  466. package/src/lib/selection-list/selection-list.module.ts +0 -13
  467. package/src/lib/side-menu/side-menu.component.html +0 -2
  468. package/src/lib/side-menu/side-menu.component.ts +0 -20
  469. package/src/lib/side-menu/side-menu.module.ts +0 -14
  470. package/src/lib/switch/switch.component.html +0 -8
  471. package/src/lib/switch/switch.component.ts +0 -25
  472. package/src/lib/switch/switch.module.ts +0 -15
  473. package/src/lib/tabs/tab-strip.component.html +0 -20
  474. package/src/lib/tabs/tab-strip.component.ts +0 -71
  475. package/src/lib/tabs/tab-view.component.html +0 -8
  476. package/src/lib/tabs/tab-view.component.ts +0 -50
  477. package/src/lib/tabs/tab.component.ts +0 -56
  478. package/src/lib/tabs/tabs.module.ts +0 -16
  479. package/src/lib/textbox/textbox.component.html +0 -20
  480. package/src/lib/textbox/textbox.component.ts +0 -64
  481. package/src/lib/textbox/textbox.module.ts +0 -24
  482. package/src/lib/time-box/time-box.component.html +0 -14
  483. package/src/lib/time-box/time-box.component.ts +0 -145
  484. package/src/lib/time-box/time-box.module.ts +0 -22
  485. package/src/lib/toast/toast.component.html +0 -12
  486. package/src/lib/toast/toast.component.ts +0 -57
  487. package/src/lib/toast/toast.module.ts +0 -15
  488. package/src/lib/toast/toast.service.ts +0 -122
  489. package/src/lib/tooltip/tooltip.component.html +0 -6
  490. package/src/lib/tooltip/tooltip.component.ts +0 -36
  491. package/src/lib/tooltip/tooltip.directive.ts +0 -93
  492. package/src/lib/tooltip/tooltip.module.ts +0 -16
  493. package/src/lib/validation/validation-rule.widget.ts +0 -120
  494. package/src/lib/validation/validation.class.ts +0 -23
  495. package/src/lib/validation/validation.module.ts +0 -26
  496. package/tsconfig.lib.json +0 -20
  497. package/tsconfig.lib.prod.json +0 -10
  498. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,77 @@
1
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
2
+ import { coerceBooleanProperty, coerceNumberProperty } from "@angular/cdk/coercion";
3
+ import { EventEmitter } from "@angular/core";
4
+ export function _InteractiveComponenetMixin(Base) {
5
+ var _disabled, _tabIndex;
6
+ class Mixin extends Base {
7
+ /**
8
+ * @ignore
9
+ */
10
+ constructor(...args) {
11
+ super(...args);
12
+ _disabled.set(this, false);
13
+ _tabIndex.set(this, null);
14
+ /**
15
+ * Fires each time the component gets focused.
16
+ * @event
17
+ */
18
+ this.onFocus = new EventEmitter();
19
+ /**
20
+ * Fires each time the component gets blurred.
21
+ * @event
22
+ */
23
+ this.onBlur = new EventEmitter();
24
+ }
25
+ /**
26
+ * If set to true, it disables the component.
27
+ */
28
+ get disabled() { return __classPrivateFieldGet(this, _disabled); }
29
+ set disabled(value) {
30
+ value = this.onOptionChanging({ name: 'disabled', value: value });
31
+ if (value != this.disabled) {
32
+ const oldValue = this.disabled;
33
+ __classPrivateFieldSet(this, _disabled, coerceBooleanProperty(value));
34
+ this.onOptionChanged({ name: 'disabled', oldValue, newValue: value });
35
+ this._cdr.markForCheck();
36
+ }
37
+ }
38
+ /**
39
+ * Specifies the tabindex of the component.
40
+ */
41
+ get tabIndex() { return this.disabled || this.readonly ? -1 : __classPrivateFieldGet(this, _tabIndex); }
42
+ set tabIndex(value) {
43
+ __classPrivateFieldSet(this, _tabIndex, value != null ? coerceNumberProperty(value) : 0);
44
+ }
45
+ _emitOnFocusEvent(e) {
46
+ this.onFocus.emit({
47
+ component: this,
48
+ htmlElement: this._getHostElement(),
49
+ nativeEvent: e
50
+ });
51
+ }
52
+ _emitOnBlurEvent(e) {
53
+ this.onBlur.emit({
54
+ component: this,
55
+ htmlElement: this._getHostElement(),
56
+ nativeEvent: e
57
+ });
58
+ }
59
+ /**
60
+ * Focuses the component.
61
+ */
62
+ focus() {
63
+ const focusable = this._getHostElement().querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
64
+ if (focusable) {
65
+ focusable.focus();
66
+ }
67
+ }
68
+ }
69
+ _disabled = new WeakMap(), _tabIndex = new WeakMap();
70
+ return Mixin;
71
+ }
72
+ export const INTERACTIVE_INPUTS = [
73
+ 'disabled',
74
+ 'tabIndex',
75
+ ];
76
+ export const INTERACTIVE_OUTPUT = ['onBlur', 'onFocus'];
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtbWl4aW4uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvbWl4aW4vaW50ZXJhY3RpdmUtbWl4aW4uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNN0MsTUFBTSxVQUFVLDJCQUEyQixDQUE2QyxJQUFXOztJQUMvRixNQUFlLEtBQU0sU0FBUSxJQUFJO1FBa0U3Qjs7VUFFRTtRQUNGLFlBQVksR0FBRyxJQUFXO1lBQ3RCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBcEVuQixvQkFBcUIsS0FBSyxFQUFDO1lBaUIzQixvQkFBb0IsSUFBSSxFQUFDO1lBU3pCOzs7Y0FHRTtZQUNGLFlBQU8sR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7WUFVdkU7OztjQUdFO1lBQ0YsV0FBTSxHQUErQixJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQXlCdEUsQ0FBQztRQXBFRDs7VUFFRTtRQUNGLElBQUksUUFBUSxLQUFjLCtDQUFzQixDQUFDLENBQUM7UUFDbEQsSUFBSSxRQUFRLENBQUMsS0FBYztZQUN2QixLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNsRSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUMvQix1QkFBQSxJQUFJLGFBQWEscUJBQXFCLENBQUMsS0FBSyxDQUFDLEVBQUM7Z0JBQzlDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDdEUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUM1QjtRQUNMLENBQUM7UUFLRDs7VUFFRTtRQUNGLElBQUksUUFBUSxLQUFhLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSyxJQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdDQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLElBQUksUUFBUSxDQUFDLEtBQWE7WUFDdEIsdUJBQUEsSUFBSSxhQUFhLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUM7UUFDckUsQ0FBQztRQVFELGlCQUFpQixDQUFDLENBQWE7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ25DLFdBQVcsRUFBRSxDQUFDO2FBQ2pCLENBQUMsQ0FBQztRQUNQLENBQUM7UUFRRCxnQkFBZ0IsQ0FBQyxDQUFhO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNiLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUNuQyxXQUFXLEVBQUUsQ0FBQzthQUNqQixDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQ7O1VBRUU7UUFDRixLQUFLO1lBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLGFBQWEsQ0FBYywwRUFBMEUsQ0FBQyxDQUFDO1lBQ2hKLElBQUksU0FBUyxFQUFFO2dCQUNYLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNyQjtRQUNMLENBQUM7S0FRSjs7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUIsVUFBVTtJQUNWLFVBQVU7Q0FDWCxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2VyY2lvblwiO1xyXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi9iYXNlLWNvbXBvbmVudHMuY2xhc3NcIjtcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiLi9jb25zdHJhdGN0b3JcIjtcclxuaW1wb3J0IHsgQVhGb2N1c0V2ZW50IH0gZnJvbSBcIi4uL2V2ZW50cy5jbGFzc1wiO1xyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+PihCYXNlOiBUQmFzZSkge1xyXG4gICAgYWJzdHJhY3QgY2xhc3MgTWl4aW4gZXh0ZW5kcyBCYXNlIHtcclxuXHJcbiAgICAgICAgI2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgKiAgSWYgc2V0IHRvIHRydWUsIGl0IGRpc2FibGVzIHRoZSBjb21wb25lbnQuXHJcbiAgICAgICAgKi9cclxuICAgICAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLiNkaXNhYmxlZDsgfVxyXG4gICAgICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IHRoaXMub25PcHRpb25DaGFuZ2luZyh7IG5hbWU6ICdkaXNhYmxlZCcsIHZhbHVlOiB2YWx1ZSB9KTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlICE9IHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5kaXNhYmxlZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuI2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMub25PcHRpb25DaGFuZ2VkKHsgbmFtZTogJ2Rpc2FibGVkJywgb2xkVmFsdWUsIG5ld1ZhbHVlOiB2YWx1ZSB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgICAjdGFiSW5kZXg6IG51bWJlciA9IG51bGw7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgKiAgU3BlY2lmaWVzIHRoZSB0YWJpbmRleCBvZiB0aGUgY29tcG9uZW50LlxyXG4gICAgICAgICovXHJcbiAgICAgICAgZ2V0IHRhYkluZGV4KCk6IG51bWJlciB7IHJldHVybiB0aGlzLmRpc2FibGVkIHx8ICh0aGlzIGFzIGFueSkucmVhZG9ubHkgPyAtMSA6IHRoaXMuI3RhYkluZGV4OyB9XHJcbiAgICAgICAgc2V0IHRhYkluZGV4KHZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgICAgICAgdGhpcy4jdGFiSW5kZXggPSB2YWx1ZSAhPSBudWxsID8gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpIDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIEZpcmVzIGVhY2ggdGltZSB0aGUgY29tcG9uZW50IGdldHMgZm9jdXNlZC5cclxuICAgICAgICAqICBAZXZlbnRcclxuICAgICAgICAqL1xyXG4gICAgICAgIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjxBWEZvY3VzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEZvY3VzRXZlbnQ+KCk7XHJcblxyXG4gICAgICAgIF9lbWl0T25Gb2N1c0V2ZW50KGU6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICAgICAgdGhpcy5vbkZvY3VzLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgICAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXHJcbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIEZpcmVzIGVhY2ggdGltZSB0aGUgY29tcG9uZW50IGdldHMgYmx1cnJlZC5cclxuICAgICAgICAqICBAZXZlbnRcclxuICAgICAgICAqL1xyXG4gICAgICAgIG9uQmx1cjogRXZlbnRFbWl0dGVyPEFYRm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRm9jdXNFdmVudD4oKTtcclxuXHJcbiAgICAgICAgX2VtaXRPbkJsdXJFdmVudChlOiBGb2N1c0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgICAgIHRoaXMub25CbHVyLmVtaXQoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgICAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXHJcbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIEZvY3VzZXMgdGhlIGNvbXBvbmVudC5cclxuICAgICAgICAqL1xyXG4gICAgICAgIGZvY3VzKCk6IHZvaWQge1xyXG4gICAgICAgICAgICBjb25zdCBmb2N1c2FibGUgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKScpO1xyXG4gICAgICAgICAgICBpZiAoZm9jdXNhYmxlKSB7XHJcbiAgICAgICAgICAgICAgICBmb2N1c2FibGUuZm9jdXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgKiAgQGlnbm9yZVxyXG4gICAgICAgICovXHJcbiAgICAgICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcclxuICAgICAgICAgICAgc3VwZXIoLi4uYXJncyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIE1peGluO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgSU5URVJBQ1RJVkVfSU5QVVRTID0gW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICd0YWJJbmRleCcsXHJcbiAgXTtcclxuICBleHBvcnQgY29uc3QgSU5URVJBQ1RJVkVfT1VUUFVUID0gWydvbkJsdXInLCAnb25Gb2N1cyddOyJdfQ==
@@ -0,0 +1,18 @@
1
+ export function _LoadingComponenetMixin(Base) {
2
+ return class extends Base {
3
+ constructor(...args) {
4
+ super(...args.slice(0, 2));
5
+ /**
6
+ * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons.
7
+ */
8
+ this.loading = false;
9
+ }
10
+ _onInternalInit() {
11
+ // if (!this.size) {
12
+ // this.size = AXConfig.get('layout.size', 'sm');
13
+ // }
14
+ super._onInternalInit();
15
+ }
16
+ };
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1taXhpbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYmFzZS9taXhpbi9sb2FkaW5nLW1peGluLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSx1QkFBdUIsQ0FBNkMsSUFBVztJQUMzRixPQUFPLEtBQU0sU0FBUSxJQUFJO1FBZXJCLFlBQVksR0FBRyxJQUFXO1lBQ3RCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFmOUI7O2FBRUM7WUFDRCxZQUFPLEdBQVksS0FBSyxDQUFDO1FBYXpCLENBQUM7UUFFRCxlQUFlO1lBQ1gsb0JBQW9CO1lBQ3BCLHFEQUFxRDtZQUNyRCxJQUFJO1lBQ0osS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLENBQUM7S0FDSixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWEVsZW1lbnRTaXplIH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RyYXRjdG9yJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfTG9hZGluZ0NvbXBvbmVuZXRNaXhpbjxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPEFYQmFzZUNvbXBvbmVudD4+KEJhc2U6IFRCYXNlKSB7XHJcbiAgICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBCYXNlIHtcclxuICAgICAgICAvKipcclxuICAgICAgICogIERlZmluZXMgYSBDU1MgY2xhc3PigJRvciBtdWx0aXBsZSBjbGFzc2VzIHNlcGFyYXRlZCBieSBzcGFjZXPigJQgd2hpY2ggYXJlIGFwcGxpZWQgdG8gYSBzcGFuIGVsZW1lbnQgaW5zaWRlIHRoZSBCdXR0b24uIEFsbG93cyB0aGUgdXNhZ2Ugb2YgY3VzdG9tIGljb25zLlxyXG4gICAgICAgKi9cclxuICAgICAgICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAqICBEZWZpbmVzIGEgQ1NTIGNsYXNz4oCUb3IgbXVsdGlwbGUgY2xhc3NlcyBzZXBhcmF0ZWQgYnkgc3BhY2Vz4oCUIHdoaWNoIGFyZSBhcHBsaWVkIHRvIGEgc3BhbiBlbGVtZW50IGluc2lkZSB0aGUgQnV0dG9uLiBBbGxvd3MgdGhlIHVzYWdlIG9mIGN1c3RvbSBpY29ucy5cclxuICAgICAgICovXHJcbiAgICAgICAgbG9hZGluZ0ljb25DbGFzczogc3RyaW5nO1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgKiAgRGVmaW5lcyBhIENTUyBjbGFzc+KAlG9yIG11bHRpcGxlIGNsYXNzZXMgc2VwYXJhdGVkIGJ5IHNwYWNlc+KAlCB3aGljaCBhcmUgYXBwbGllZCB0byBhIHNwYW4gZWxlbWVudCBpbnNpZGUgdGhlIEJ1dHRvbi4gQWxsb3dzIHRoZSB1c2FnZSBvZiBjdXN0b20gaWNvbnMuXHJcbiAgICAgICAqL1xyXG4gICAgICAgIGxvYWRpbmdUZXh0OiBzdHJpbmc7XHJcblxyXG5cclxuICAgICAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xyXG4gICAgICAgICAgICBzdXBlciguLi5hcmdzLnNsaWNlKDAsIDIpKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgX29uSW50ZXJuYWxJbml0KCkge1xyXG4gICAgICAgICAgICAvLyBpZiAoIXRoaXMuc2l6ZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5zaXplID0gQVhDb25maWcuZ2V0KCdsYXlvdXQuc2l6ZScsICdzbScpO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIHN1cGVyLl9vbkludGVybmFsSW5pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
@@ -0,0 +1,22 @@
1
+ import { AXBaseComponent, _BaseComponenetMixin } from './base-components.class';
2
+ import { _ButtonComponentMixin } from './button-mixin.class';
3
+ import { _ClickableComponenetMixin } from './clickable-mixin.class';
4
+ import { _DatalistComponenetMixin } from './datalist-component.class';
5
+ import { _DropdownComponenetMixin } from './dropdown-mixin.class';
6
+ import { _InteractiveComponenetMixin } from './interactive-mixin.class';
7
+ import { _SelectionComponenetMixin } from './selection-component.class';
8
+ import { _SizableComponenetMixin } from './sizable-mixin.class';
9
+ import { _TextboxComponenetMixin } from './textbox-mixin.class';
10
+ import { _ValueComponenetMixin } from './value-mixin.class';
11
+ export const AXBaseComponentMixin = _BaseComponenetMixin(AXBaseComponent);
12
+ export const AXSizableComponentMixin = _SizableComponenetMixin(_BaseComponenetMixin(AXBaseComponent));
13
+ export const AXInteractiveComponenetMixin = _SizableComponenetMixin(_InteractiveComponenetMixin(AXBaseComponent));
14
+ export const AXBaseClickableMixin = _SizableComponenetMixin(_InteractiveComponenetMixin(_ClickableComponenetMixin(AXBaseComponent)));
15
+ export const AXBaseButtonMixin = _SizableComponenetMixin(_InteractiveComponenetMixin(_ClickableComponenetMixin(_ButtonComponentMixin(AXBaseComponent))));
16
+ export const AXBaseValueComponentMixin = _SizableComponenetMixin(_InteractiveComponenetMixin(_ValueComponenetMixin(AXBaseComponent)));
17
+ export const AXBaseTextBoxMixin = _SizableComponenetMixin(_InteractiveComponenetMixin(_ValueComponenetMixin(_TextboxComponenetMixin(AXBaseComponent))));
18
+ export const AXBaseSelectionValueMixin = _SizableComponenetMixin(_InteractiveComponenetMixin(_DatalistComponenetMixin(_SelectionComponenetMixin(_ValueComponenetMixin(AXBaseComponent)))));
19
+ export const AXBaseValueDropdownMixin = _SizableComponenetMixin(_InteractiveComponenetMixin(_DropdownComponenetMixin(_DatalistComponenetMixin(_ValueComponenetMixin(AXBaseComponent)))));
20
+ export const AXBaseSelectionDropdownMixin = _SizableComponenetMixin(_InteractiveComponenetMixin(_DropdownComponenetMixin(_DatalistComponenetMixin(_SelectionComponenetMixin(_ValueComponenetMixin(AXBaseComponent))))));
21
+ export const AXCalendarComponentMixin = _ClickableComponenetMixin(_InteractiveComponenetMixin(_ValueComponenetMixin(AXBaseComponent)));
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4aW4uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvbWl4aW4vbWl4aW4uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXhFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLHVCQUF1QixDQUM1RCxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsQ0FDdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLHVCQUF1QixDQUNqRSwyQkFBMkIsQ0FBQyxlQUFlLENBQUMsQ0FDN0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixDQUN6RCwyQkFBMkIsQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUN4RSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsdUJBQXVCLENBQ3RELDJCQUEyQixDQUN6Qix5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUNsRSxDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyx1QkFBdUIsQ0FDOUQsMkJBQTJCLENBQUMscUJBQXFCLENBQU0sZUFBZSxDQUFDLENBQUMsQ0FDekUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLHVCQUF1QixDQUN2RCwyQkFBMkIsQ0FDekIscUJBQXFCLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FDaEUsQ0FDRixDQUFDO0FBR0YsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsdUJBQXVCLENBQzlELDJCQUEyQixDQUN6Qix3QkFBd0IsQ0FDdEIseUJBQXlCLENBQUMscUJBQXFCLENBQU0sZUFBZSxDQUFDLENBQUMsQ0FDdkUsQ0FDRixDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyx1QkFBdUIsQ0FDN0QsMkJBQTJCLENBQ3pCLHdCQUF3QixDQUN0Qix3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBTSxlQUFlLENBQUMsQ0FBQyxDQUN0RSxDQUNGLENBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLHVCQUF1QixDQUNqRSwyQkFBMkIsQ0FDekIsd0JBQXdCLENBQ3RCLHdCQUF3QixDQUN0Qix5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBTSxlQUFlLENBQUMsQ0FBQyxDQUN2RSxDQUNGLENBQ0YsQ0FDRixDQUFDO0FBSUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcseUJBQXlCLENBQy9ELDJCQUEyQixDQUFDLHFCQUFxQixDQUFNLGVBQWUsQ0FBQyxDQUFDLENBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJhc2VDb21wb25lbnQsIF9CYXNlQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBfQnV0dG9uQ29tcG9uZW50TWl4aW4gfSBmcm9tICcuL2J1dHRvbi1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuL2NsaWNrYWJsZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IF9EYXRhbGlzdENvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4vZGF0YWxpc3QtY29tcG9uZW50LmNsYXNzJztcclxuaW1wb3J0IHsgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi9kcm9wZG93bi1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4vaW50ZXJhY3RpdmUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBfTG9hZGluZ0NvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4vbG9hZGluZy1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IF9TZWxlY3Rpb25Db21wb25lbmV0TWl4aW4gfSBmcm9tICcuL3NlbGVjdGlvbi1jb21wb25lbnQuY2xhc3MnO1xyXG5pbXBvcnQgeyBfU2l6YWJsZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4vc2l6YWJsZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IF9UZXh0Ym94Q29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi90ZXh0Ym94LW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgX1ZhbHVlQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi92YWx1ZS1taXhpbi5jbGFzcyc7XHJcblxyXG5leHBvcnQgY29uc3QgQVhCYXNlQ29tcG9uZW50TWl4aW4gPSBfQmFzZUNvbXBvbmVuZXRNaXhpbihBWEJhc2VDb21wb25lbnQpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFYU2l6YWJsZUNvbXBvbmVudE1peGluID0gX1NpemFibGVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0Jhc2VDb21wb25lbmV0TWl4aW4oQVhCYXNlQ29tcG9uZW50KVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFYSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gPSBfU2l6YWJsZUNvbXBvbmVuZXRNaXhpbihcclxuICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oQVhCYXNlQ29tcG9uZW50KVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFYQmFzZUNsaWNrYWJsZU1peGluID0gX1NpemFibGVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluKF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4oQVhCYXNlQ29tcG9uZW50KSlcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBBWEJhc2VCdXR0b25NaXhpbiA9IF9TaXphYmxlQ29tcG9uZW5ldE1peGluKFxyXG4gIF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbihcclxuICAgIF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4oX0J1dHRvbkNvbXBvbmVudE1peGluKEFYQmFzZUNvbXBvbmVudCkpXHJcbiAgKVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFYQmFzZVZhbHVlQ29tcG9uZW50TWl4aW4gPSBfU2l6YWJsZUNvbXBvbmVuZXRNaXhpbihcclxuICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oX1ZhbHVlQ29tcG9uZW5ldE1peGluPGFueT4oQVhCYXNlQ29tcG9uZW50KSlcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBBWEJhc2VUZXh0Qm94TWl4aW4gPSBfU2l6YWJsZUNvbXBvbmVuZXRNaXhpbihcclxuICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oXHJcbiAgICBfVmFsdWVDb21wb25lbmV0TWl4aW4oX1RleHRib3hDb21wb25lbmV0TWl4aW4oQVhCYXNlQ29tcG9uZW50KSlcclxuICApXHJcbik7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEFYQmFzZVNlbGVjdGlvblZhbHVlTWl4aW4gPSBfU2l6YWJsZUNvbXBvbmVuZXRNaXhpbihcclxuICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oXHJcbiAgICBfRGF0YWxpc3RDb21wb25lbmV0TWl4aW4oXHJcbiAgICAgIF9TZWxlY3Rpb25Db21wb25lbmV0TWl4aW4oX1ZhbHVlQ29tcG9uZW5ldE1peGluPGFueT4oQVhCYXNlQ29tcG9uZW50KSlcclxuICAgIClcclxuICApXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgQVhCYXNlVmFsdWVEcm9wZG93bk1peGluID0gX1NpemFibGVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluKFxyXG4gICAgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluKFxyXG4gICAgICBfRGF0YWxpc3RDb21wb25lbmV0TWl4aW4oX1ZhbHVlQ29tcG9uZW5ldE1peGluPGFueT4oQVhCYXNlQ29tcG9uZW50KSlcclxuICAgIClcclxuICApXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgQVhCYXNlU2VsZWN0aW9uRHJvcGRvd25NaXhpbiA9IF9TaXphYmxlQ29tcG9uZW5ldE1peGluKFxyXG4gIF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbihcclxuICAgIF9Ecm9wZG93bkNvbXBvbmVuZXRNaXhpbihcclxuICAgICAgX0RhdGFsaXN0Q29tcG9uZW5ldE1peGluKFxyXG4gICAgICAgIF9TZWxlY3Rpb25Db21wb25lbmV0TWl4aW4oX1ZhbHVlQ29tcG9uZW5ldE1peGluPGFueT4oQVhCYXNlQ29tcG9uZW50KSlcclxuICAgICAgKVxyXG4gICAgKVxyXG4gIClcclxuKTtcclxuXHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IEFYQ2FsZW5kYXJDb21wb25lbnRNaXhpbiA9IF9DbGlja2FibGVDb21wb25lbmV0TWl4aW4oXHJcbiAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluKF9WYWx1ZUNvbXBvbmVuZXRNaXhpbjxhbnk+KEFYQmFzZUNvbXBvbmVudCkpXHJcbik7XHJcbiJdfQ==
@@ -0,0 +1,158 @@
1
+ import { AXObjectUtil } from '@acorex/core';
2
+ import { EventEmitter } from '@angular/core';
3
+ export function _SelectionComponenetMixin(Base) {
4
+ return class extends Base {
5
+ constructor(...args) {
6
+ super(...args);
7
+ this.valueField = 'id';
8
+ this.textField = 'text';
9
+ this.multiple = false;
10
+ this.selectionMode = 'value';
11
+ this.valueChange = new EventEmitter();
12
+ this.onValueChanged = new EventEmitter();
13
+ }
14
+ // for data-list
15
+ get items() {
16
+ return [];
17
+ }
18
+ get displayItems() {
19
+ return [];
20
+ }
21
+ _onInternalInit() {
22
+ super._onInternalInit();
23
+ }
24
+ get value() {
25
+ return this._value;
26
+ }
27
+ set value(v) {
28
+ if (v !== this._value) {
29
+ const oldValue = AXObjectUtil.deepJSONClone(this._value);
30
+ if (this.multiple) {
31
+ this._value = Array.isArray(v) ? v : (v ? [v] : []);
32
+ }
33
+ else {
34
+ this._value = Array.isArray(v) ? v[0] : v;
35
+ }
36
+ this.valueChange.emit(this._value);
37
+ this.onValueChanged.emit({
38
+ component: this,
39
+ htmlElement: this._getHostElement(),
40
+ isUserInput: false,
41
+ oldValue,
42
+ value: this._value,
43
+ selectedKeys: this.selectedItems.map(c => c[this.valueField]),
44
+ selectedItems: this.selectedItems.slice()
45
+ });
46
+ if (v == null || v == undefined || v == "") {
47
+ this._setErrorState('clear');
48
+ }
49
+ else {
50
+ if (this._isInited) {
51
+ this.validate();
52
+ }
53
+ }
54
+ this._renderSelection();
55
+ }
56
+ }
57
+ get selectedItems() {
58
+ return this._selectedItems || [];
59
+ }
60
+ _renderSelection() {
61
+ const func = () => {
62
+ if (this.value == null || this.value == undefined) {
63
+ return [];
64
+ }
65
+ if (this.displayItems.length > 0) {
66
+ return this.displayItems.filter(i => {
67
+ if (Array.isArray(this.value)) {
68
+ return this.value.some(ii => {
69
+ if (typeof ii === 'object') {
70
+ return i[this.valueField] === ii[this.valueField];
71
+ }
72
+ else {
73
+ return i[this.valueField] === ii;
74
+ }
75
+ });
76
+ }
77
+ else {
78
+ if (typeof this.value === 'object') {
79
+ return i[this.valueField] === this.value[this.valueField];
80
+ }
81
+ else {
82
+ return i[this.valueField] === this.value;
83
+ }
84
+ }
85
+ });
86
+ }
87
+ if (Array.isArray(this.value)) {
88
+ return this.value.map(ii => () => {
89
+ //&& ii[this.textField]
90
+ if (typeof ii === 'object') {
91
+ return ii;
92
+ }
93
+ else {
94
+ const fake = {};
95
+ fake[this.valueField] = this.value;
96
+ return fake;
97
+ }
98
+ });
99
+ }
100
+ else {
101
+ //&& this.value[this.textField]
102
+ if (typeof this.value === 'object') {
103
+ return [this.value];
104
+ }
105
+ else {
106
+ const fake = {};
107
+ fake[this.valueField] = this.value;
108
+ return [fake];
109
+ }
110
+ }
111
+ };
112
+ this._selectedItems = func();
113
+ }
114
+ _getItemByDataMode(item) {
115
+ return this.selectionMode === 'item' ? item : item[this.valueField];
116
+ }
117
+ _getItemValue(item) {
118
+ return typeof item === 'object' ? item[this.valueField] : item;
119
+ }
120
+ unselectItems(...items) {
121
+ if (!items || items.length === 0) {
122
+ this.value = null;
123
+ }
124
+ else if (Array.isArray(this.value)) {
125
+ this.value = this.value.filter(c => !items.some(d => this._getItemValue(c) === this._getItemValue(d)));
126
+ }
127
+ else {
128
+ this.value = null;
129
+ }
130
+ }
131
+ selectItems(...items) {
132
+ if (items && items.length) {
133
+ if (this.multiple) {
134
+ this.value = (this.value || []).concat(items.map(c => this._getItemByDataMode(c)));
135
+ }
136
+ else {
137
+ this.value = this._getItemByDataMode(items[0]);
138
+ }
139
+ }
140
+ }
141
+ toggleSelect(...items) {
142
+ if (items && items.length) {
143
+ items.forEach(item => {
144
+ if (this.multiple) {
145
+ this.selectedItems.includes(item) ? this.unselectItems(item) : this.selectItems(item);
146
+ }
147
+ else {
148
+ this.selectItems(item);
149
+ }
150
+ });
151
+ }
152
+ }
153
+ isItemSelected(item) {
154
+ return this.selectedItems.some(c => c[this.valueField] === item[this.valueField]);
155
+ }
156
+ };
157
+ }
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWNvbXBvbmVudC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYmFzZS9taXhpbi9zZWxlY3Rpb24tY29tcG9uZW50LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3QyxNQUFNLFVBQVUseUJBQXlCLENBQTZDLElBQVc7SUFDN0YsT0FBTyxLQUFNLFNBQVEsSUFBSTtRQXFCckIsWUFBWSxHQUFHLElBQVc7WUFDdEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7WUFwQmxCLGVBQVUsR0FBVyxJQUFJLENBQUM7WUFDMUIsY0FBUyxHQUFzQixNQUFNLENBQUM7WUFDdEMsYUFBUSxHQUFZLEtBQUssQ0FBQztZQUMxQixrQkFBYSxHQUFxQixPQUFPLENBQUM7WUFZbkMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztZQUN6RCxtQkFBYyxHQUErQyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUtySCxDQUFDO1FBaEJELGdCQUFnQjtRQUNoQixJQUFJLEtBQUs7WUFDTCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLFlBQVk7WUFDWixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFXRCxlQUFlO1lBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFJRCxJQUFJLEtBQUs7WUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLENBQWM7WUFDcEIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDbkIsTUFBTSxRQUFRLEdBQUcsWUFBWSxD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Q0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2xEO2FBQ0o7UUFDTCxDQUFDO1FBRUQsWUFBWSxDQUFDLEdBQUcsS0FBWTtZQUN4QixJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7d0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ3pGO3lCQUNJO3dCQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7cUJBQ3pCO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDO1FBRUQsY0FBYyxDQUFDLElBQVM7WUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7S0FDSixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYT2JqZWN0VXRpbCB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFNlbGVjdGlvblZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnLi4vZXZlbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RyYXRjdG9yJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfU2VsZWN0aW9uQ29tcG9uZW5ldE1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50Pj4oQmFzZTogVEJhc2UpIHtcclxuICAgIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xyXG5cclxuICAgICAgICB2YWx1ZUZpZWxkOiBzdHJpbmcgPSAnaWQnO1xyXG4gICAgICAgIHRleHRGaWVsZDogc3RyaW5nIHwgc3RyaW5nW10gPSAndGV4dCc7XHJcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgICBzZWxlY3Rpb25Nb2RlOiAndmFsdWUnIHwgJ2l0ZW0nID0gJ3ZhbHVlJztcclxuXHJcbiAgICAgICAgLy8gZm9yIGRhdGEtbGlzdFxyXG4gICAgICAgIGdldCBpdGVtcygpOiBhbnlbXSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldCBkaXNwbGF5SXRlbXMoKTogYW55W10ge1xyXG4gICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgcHVibGljIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgICAgIHB1YmxpYyBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYU2VsZWN0aW9uVmFsdWVDaGFuZ2VkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFNlbGVjdGlvblZhbHVlQ2hhbmdlZEV2ZW50PigpO1xyXG5cclxuXHJcbiAgICAgICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcclxuICAgICAgICAgICAgc3VwZXIoLi4uYXJncylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIF9vbkludGVybmFsSW5pdCgpIHtcclxuICAgICAgICAgICAgc3VwZXIuX29uSW50ZXJuYWxJbml0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgX3ZhbHVlOiBhbnkgfCBhbnlbXTtcclxuICAgICAgICBnZXQgdmFsdWUoKTogYW55IHwgYW55W10ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldCB2YWx1ZSh2OiBhbnkgfCBhbnlbXSkge1xyXG4gICAgICAgICAgICBpZiAodiAhPT0gdGhpcy5fdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9sZFZhbHVlID0gQVhPYmplY3RVdGlsLmRlZXBKU09OQ2xvbmUodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IEFycmF5LmlzQXJyYXkodikgPyB2IDogKHYgPyBbdl0gOiBbXSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gQXJyYXkuaXNBcnJheSh2KSA/IHZbMF0gOiB2O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgICAgICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzVXNlcklucHV0OiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBvbGRWYWx1ZSxcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5fdmFsdWUsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRLZXlzOiB0aGlzLnNlbGVjdGVkSXRlbXMubWFwKGMgPT4gY1t0aGlzLnZhbHVlRmllbGRdKSxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zOiB0aGlzLnNlbGVjdGVkSXRlbXMuc2xpY2UoKVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBpZiAodiA9PSBudWxsIHx8IHYgPT0gdW5kZWZpbmVkIHx8IHYgPT0gXCJcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICh0aGlzIGFzIGFueSkuX3NldEVycm9yU3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNJbml0ZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMgYXMgYW55KS52YWxpZGF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlclNlbGVjdGlvbigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBfc2VsZWN0ZWRJdGVtczogYW55W107XHJcbiAgICAgICAgZ2V0IHNlbGVjdGVkSXRlbXMoKTogYW55W10ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtcyB8fCBbXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIF9yZW5kZXJTZWxlY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy52YWx1ZSA9PSBudWxsIHx8IHRoaXMudmFsdWUgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzcGxheUl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5SXRlbXMuZmlsdGVyKGkgPT4ge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnNvbWUoaWkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaWkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpW3RoaXMudmFsdWVGaWVsZF0gPT09IGlpW3RoaXMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSBpaTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlW3RoaXMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaVt0aGlzLnZhbHVlRmllbGRdID09PSB0aGlzLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLm1hcChpaSA9PiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vJiYgaWlbdGhpcy50ZXh0RmllbGRdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaWkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaWk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmYWtlOiBhbnkgPSB7fTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZha2VbdGhpcy52YWx1ZUZpZWxkXSA9IHRoaXMudmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFrZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8mJiB0aGlzLnZhbHVlW3RoaXMudGV4dEZpZWxkXVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFt0aGlzLnZhbHVlXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZha2U6IGFueSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWtlW3RoaXMudmFsdWVGaWVsZF0gPSB0aGlzLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW2Zha2VdO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcyA9IGZ1bmMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIF9nZXRJdGVtQnlEYXRhTW9kZShpdGVtOiBhbnkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ2l0ZW0nID8gaXRlbSA6IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIF9nZXRJdGVtVmFsdWUoaXRlbTogYW55KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgPyBpdGVtW3RoaXMudmFsdWVGaWVsZF0gOiBpdGVtO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG5cclxuICAgICAgICB1bnNlbGVjdEl0ZW1zKC4uLml0ZW1zOiBhbnlbXSkge1xyXG4gICAgICAgICAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWUuZmlsdGVyKGMgPT4gIWl0ZW1zLnNvbWUoZCA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2dldEl0ZW1WYWx1ZShjKSA9PT0gdGhpcy5fZ2V0SXRlbVZhbHVlKGQpKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZWxlY3RJdGVtcyguLi5pdGVtczogYW55W10pIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gKHRoaXMudmFsdWUgfHwgW10pLmNvbmNhdChpdGVtcy5tYXAoYyA9PiB0aGlzLl9nZXRJdGVtQnlEYXRhTW9kZShjKSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX2dldEl0ZW1CeURhdGFNb2RlKGl0ZW1zWzBdKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdG9nZ2xlU2VsZWN0KC4uLml0ZW1zOiBhbnlbXSkge1xyXG4gICAgICAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhpdGVtKSA/IHRoaXMudW5zZWxlY3RJdGVtcyhpdGVtKSA6IHRoaXMuc2VsZWN0SXRlbXMoaXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKGl0ZW0pXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlzSXRlbVNlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLnNvbWUoYyA9PiBjW3RoaXMudmFsdWVGaWVsZF0gPT09IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,18 @@
1
+ export function _SizableComponenetMixin(Base) {
2
+ return class extends Base {
3
+ /**
4
+ * @ignore
5
+ */
6
+ constructor(...args) {
7
+ super(...args.slice(0, 2));
8
+ }
9
+ _onInternalInit() {
10
+ super._onInternalInit();
11
+ }
12
+ };
13
+ }
14
+ export const SIZABLE_INPUTS = [
15
+ 'size',
16
+ ];
17
+ export const SIZABLE_OUTPUT = [];
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6YWJsZS1taXhpbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYmFzZS9taXhpbi9zaXphYmxlLW1peGluLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSx1QkFBdUIsQ0FBNkMsSUFBVztJQUMzRixPQUFPLEtBQU0sU0FBUSxJQUFJO1FBT3JCOztVQUVFO1FBQ0YsWUFBWSxHQUFHLElBQVc7WUFDdEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM5QixDQUFDO1FBRUQsZUFBZTtZQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QixDQUFDO0tBQ0osQ0FBQTtBQUNMLENBQUM7QUFHRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsTUFBTTtDQUNULENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQsIEFYRWxlbWVudFNpemUgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5jbGFzcyc7XHJcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJhdGN0b3InO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9TaXphYmxlQ29tcG9uZW5ldE1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50Pj4oQmFzZTogVEJhc2UpIHtcclxuICAgIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAqICBBIHRva2VuIHRoYXQgc3BlY2lmaWVzIHRoZSBzaXplIG9mIGNvbXBvbmVudC5cclxuICAgICAgICAqL1xyXG4gICAgICAgIHNpemU6IEFYRWxlbWVudFNpemU7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIEBpZ25vcmVcclxuICAgICAgICAqL1xyXG4gICAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgICAgICAgIHN1cGVyKC4uLmFyZ3Muc2xpY2UoMCwgMikpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBfb25JbnRlcm5hbEluaXQoKSB7XHJcbiAgICAgICAgICAgIHN1cGVyLl9vbkludGVybmFsSW5pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBTSVpBQkxFX0lOUFVUUyA9IFtcclxuICAgICdzaXplJyxcclxuXTtcclxuZXhwb3J0IGNvbnN0IFNJWkFCTEVfT1VUUFVUID0gW107Il19
@@ -0,0 +1,38 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { VALUE_INPUTS, VALUE_OUTPUT } from './value-mixin.class';
3
+ export function _TextboxComponenetMixin(Base) {
4
+ return class extends Base {
5
+ /**
6
+ * @ignore
7
+ */
8
+ constructor(...args) {
9
+ super(...args.slice(0, 2));
10
+ /**
11
+ * A string value that specifies the placeholder of text box.
12
+ */
13
+ this.placeholder = null;
14
+ /**
15
+ * A number value that specifies the maximum characters of text box.
16
+ */
17
+ this.maxLength = 100;
18
+ /**
19
+ * Specifies that autocomplete is on or off.
20
+ */
21
+ this.autoComplete = false;
22
+ /**
23
+ * Fires each time the user press a key.
24
+ * @event
25
+ */
26
+ this.onKeyDown = new EventEmitter();
27
+ }
28
+ _emitOnKeydownEvent(e) {
29
+ this.onKeyDown.emit({
30
+ component: this,
31
+ nativeEvent: e
32
+ });
33
+ }
34
+ };
35
+ }
36
+ export const TEXTBOX_INPUTS = ['placeholder', 'maxLength', 'allowNull', 'debounceTime', ...VALUE_INPUTS];
37
+ export const TEXTBOX_OUTPUT = [...VALUE_OUTPUT];
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC1taXhpbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvYmFzZS9taXhpbi90ZXh0Ym94LW1peGluLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRSxNQUFNLFVBQVUsdUJBQXVCLENBQTZDLElBQVc7SUFDM0YsT0FBTyxLQUFNLFNBQVEsSUFBSTtRQWlDckI7O1VBRUU7UUFDRixZQUFZLEdBQUcsSUFBVztZQUN0QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBbkM5Qjs7Y0FFRTtZQUNGLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1lBRTNCOztjQUVFO1lBQ0YsY0FBUyxHQUFXLEdBQUcsQ0FBQztZQUV4Qjs7Y0FFRTtZQUNGLGlCQUFZLEdBQVksS0FBSyxDQUFDO1lBRzlCOzs7Y0FHRTtZQUNGLGNBQVMsR0FBNkMsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFnQnJHLENBQUM7UUFiRCxtQkFBbUIsQ0FBQyxDQUFnQjtZQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDaEIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLENBQUM7YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQVNKLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUE7QUFDeEcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEh0bWxFdmVudCB9IGZyb20gJy4uL2V2ZW50cy5jbGFzcyc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XHJcbmltcG9ydCB7IFZBTFVFX0lOUFVUUywgVkFMVUVfT1VUUFVUIH0gZnJvbSAnLi92YWx1ZS1taXhpbi5jbGFzcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX1RleHRib3hDb21wb25lbmV0TWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+PihCYXNlOiBUQmFzZSkge1xyXG4gICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIEEgc3RyaW5nIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBwbGFjZWhvbGRlciBvZiB0ZXh0IGJveC5cclxuICAgICAgICAqL1xyXG4gICAgICAgIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAqICBBIG51bWJlciB2YWx1ZSB0aGF0IHNwZWNpZmllcyB0aGUgbWF4aW11bSBjaGFyYWN0ZXJzIG9mIHRleHQgYm94LlxyXG4gICAgICAgICovXHJcbiAgICAgICAgbWF4TGVuZ3RoOiBudW1iZXIgPSAxMDA7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIFNwZWNpZmllcyB0aGF0IGF1dG9jb21wbGV0ZSBpcyBvbiBvciBvZmYuXHJcbiAgICAgICAgKi9cclxuICAgICAgICBhdXRvQ29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICogIEZpcmVzIGVhY2ggdGltZSB0aGUgdXNlciBwcmVzcyBhIGtleS5cclxuICAgICAgICAqICBAZXZlbnRcclxuICAgICAgICAqL1xyXG4gICAgICAgIG9uS2V5RG93bjogRXZlbnRFbWl0dGVyPEFYSHRtbEV2ZW50PEtleWJvYXJkRXZlbnQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhIdG1sRXZlbnQ8S2V5Ym9hcmRFdmVudD4+KCk7XHJcblxyXG5cclxuICAgICAgICBfZW1pdE9uS2V5ZG93bkV2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5vbktleURvd24uZW1pdCh7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgICAgICBuYXRpdmVFdmVudDogZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAqICBAaWdub3JlXHJcbiAgICAgICAgKi9cclxuICAgICAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xyXG4gICAgICAgICAgICBzdXBlciguLi5hcmdzLnNsaWNlKDAsIDIpKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IFRFWFRCT1hfSU5QVVRTID0gWydwbGFjZWhvbGRlcicsICdtYXhMZW5ndGgnLCAnYWxsb3dOdWxsJywgJ2RlYm91bmNlVGltZScsIC4uLlZBTFVFX0lOUFVUU11cclxuZXhwb3J0IGNvbnN0IFRFWFRCT1hfT1VUUFVUID0gWy4uLlZBTFVFX09VVFBVVF0iXX0=
@@ -0,0 +1,190 @@
1
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
2
+ import { coerceBooleanProperty, coerceNumberProperty, } from '@angular/cdk/coercion';
3
+ import { EventEmitter } from '@angular/core';
4
+ import { Subject, Subscription } from 'rxjs';
5
+ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
6
+ export function _ValueComponenetMixin(Base) {
7
+ var _readonly, _allowNull, _name, _debounceTime, _valueSubscription, _valueSubject, _value, _a;
8
+ return _a = class extends Base {
9
+ /**
10
+ * @ignore
11
+ */
12
+ constructor(...args) {
13
+ super(...args);
14
+ /**
15
+ * Fires each time the user press a key.
16
+ * @event
17
+ */
18
+ this.onValueChanged = new EventEmitter();
19
+ this.valueChange = new EventEmitter();
20
+ _readonly.set(this, false);
21
+ _allowNull.set(this, false);
22
+ _name.set(this, void 0);
23
+ _debounceTime.set(this, 0);
24
+ _valueSubscription.set(this, new Subscription());
25
+ _valueSubject.set(this, new Subject());
26
+ _value.set(this, void 0);
27
+ }
28
+ /**
29
+ * If set to true, user cannot change the value of component.
30
+ */
31
+ get readonly() {
32
+ return __classPrivateFieldGet(this, _readonly);
33
+ }
34
+ set readonly(value) {
35
+ __classPrivateFieldSet(this, _readonly, coerceBooleanProperty(value));
36
+ }
37
+ get allowNull() {
38
+ return __classPrivateFieldGet(this, _allowNull);
39
+ }
40
+ set allowNull(value) {
41
+ __classPrivateFieldSet(this, _allowNull, coerceBooleanProperty(value));
42
+ }
43
+ get name() {
44
+ return __classPrivateFieldGet(this, _name);
45
+ }
46
+ set name(value) {
47
+ __classPrivateFieldSet(this, _name, value);
48
+ }
49
+ get debounceTime() {
50
+ return __classPrivateFieldGet(this, _debounceTime);
51
+ }
52
+ set debounceTime(value) {
53
+ __classPrivateFieldSet(this, _debounceTime, coerceNumberProperty(value));
54
+ }
55
+ get value() {
56
+ return __classPrivateFieldGet(this, _value);
57
+ }
58
+ set value(v) {
59
+ v = this._onValueChanging(v);
60
+ if (!this._isInited || this.debounceTime == 0) {
61
+ this._setValue(v);
62
+ }
63
+ else {
64
+ __classPrivateFieldGet(this, _valueSubject).next(v);
65
+ }
66
+ }
67
+ _emitOnValueChangedEvent(oldValue, newValue) {
68
+ this.valueChange.emit(newValue);
69
+ this.onValueChanged.emit({
70
+ component: this,
71
+ value: newValue,
72
+ oldValue: oldValue,
73
+ name: this.name
74
+ });
75
+ this._onValueChanged(oldValue, __classPrivateFieldGet(this, _value));
76
+ }
77
+ _onValueChanging(value) {
78
+ return value;
79
+ }
80
+ _onValueChanged(oldValue, newValue) { }
81
+ _onInternalInit() {
82
+ this._getHostElement().setAttribute('ax-form-input', 'true');
83
+ __classPrivateFieldSet(this, _valueSubscription, __classPrivateFieldGet(this, _valueSubject).pipe(debounceTime(__classPrivateFieldGet(this, _debounceTime)))
84
+ .pipe(distinctUntilChanged())
85
+ .subscribe((v) => {
86
+ this._setValue(v);
87
+ }));
88
+ super._onInternalInit();
89
+ }
90
+ _onInternalDestroy() {
91
+ __classPrivateFieldGet(this, _valueSubscription).unsubscribe();
92
+ super.onDestroy();
93
+ }
94
+ _setValue(v) {
95
+ const old = __classPrivateFieldGet(this, _value);
96
+ // TODO: check real equality
97
+ if (v != old) {
98
+ __classPrivateFieldSet(this, _value, v);
99
+ this._emitOnValueChangedEvent(old, __classPrivateFieldGet(this, _value));
100
+ this._cdr.markForCheck();
101
+ if (v == null || v == undefined || v == '') {
102
+ this._setErrorState('clear');
103
+ }
104
+ else {
105
+ if (this._isInited) {
106
+ this.validate();
107
+ }
108
+ }
109
+ }
110
+ }
111
+ clear() {
112
+ this.value = null;
113
+ }
114
+ validate() {
115
+ const rules = Array.from(this._getHostElement().querySelectorAll('ax-validation-rule')).filter((c) => c.__axContext__.enabled);
116
+ //
117
+ if (!rules || rules.length === 0) {
118
+ this._setErrorState('clear');
119
+ return Promise.resolve({ result: true, value: this.value });
120
+ }
121
+ return new Promise((resolve) => {
122
+ Promise.all(rules
123
+ .filter((c) => { var _a; return typeof ((_a = c) === null || _a === void 0 ? void 0 : _a.validate) === 'function'; })
124
+ .map((c) => {
125
+ return c.validate(this.value);
126
+ })).then((d) => {
127
+ const error = d.find((c) => c.result === false);
128
+ if (error) {
129
+ this._setErrorState('error', error.message);
130
+ resolve({ result: false, value: this.value });
131
+ }
132
+ else {
133
+ this._setErrorState('success');
134
+ resolve({ result: true, value: this.value });
135
+ }
136
+ });
137
+ });
138
+ }
139
+ _setErrorState(state, ...args) {
140
+ const container = this._getHostElement().classList.contains('ax-editor-container') ?
141
+ this._getHostElement() :
142
+ this._getHostElement().querySelector('.ax-editor-container');
143
+ const formField = container === null || container === void 0 ? void 0 : container.closest('.ax-form-field');
144
+ const label = formField === null || formField === void 0 ? void 0 : formField.querySelector('ax-label');
145
+ const target = container || this._getInnerElement();
146
+ const parent = target.parentElement;
147
+ switch (state) {
148
+ case 'clear':
149
+ if (parent.querySelector('span.ax-error-msg')) {
150
+ parent.removeChild(parent.querySelector('span.ax-error-msg'));
151
+ }
152
+ label === null || label === void 0 ? void 0 : label.classList.remove('ax-state-error');
153
+ target.classList.remove('ax-state-error', 'ax-state-success');
154
+ break;
155
+ case 'success':
156
+ this._setErrorState('clear');
157
+ target.classList.add('ax-state-success');
158
+ break;
159
+ case 'error':
160
+ this._setErrorState('clear');
161
+ if (args[0]) {
162
+ const span = document.createElement('span');
163
+ span.innerText = args[0];
164
+ span.classList.add('ax-error-msg');
165
+ parent.appendChild(span);
166
+ }
167
+ label === null || label === void 0 ? void 0 : label.classList.add('ax-state-error');
168
+ target.classList.add('ax-state-error');
169
+ break;
170
+ }
171
+ }
172
+ },
173
+ _readonly = new WeakMap(),
174
+ _allowNull = new WeakMap(),
175
+ _name = new WeakMap(),
176
+ _debounceTime = new WeakMap(),
177
+ _valueSubscription = new WeakMap(),
178
+ _valueSubject = new WeakMap(),
179
+ _value = new WeakMap(),
180
+ _a;
181
+ }
182
+ export const VALUE_INPUTS = [
183
+ 'readonly',
184
+ 'allowNull',
185
+ 'value',
186
+ 'debounceTime',
187
+ 'name'
188
+ ];
189
+ export const VALUE_OUTPUT = ['valueChange', 'onValueChanged'];
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtbWl4aW4uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsTUFBTSxVQUFVLHFCQUFxQixDQUE2QyxJQUFXOztJQUUzRixZQUFPLEtBQU0sU0FBUSxJQUFJO1lBb0p2Qjs7Y0FFRTtZQUNGLFlBQVksR0FBRyxJQUFXO2dCQUN4QixLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkF0SmpCOzs7a0JBR0U7Z0JBQ0YsbUJBQWMsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7Z0JBRXRHLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7Z0JBR3pELG9CQUFxQixLQUFLLEVBQUM7Z0JBWTNCLHFCQUFzQixLQUFLLEVBQUM7Z0JBUzVCLHdCQUFjO2dCQVFkLHdCQUF3QixDQUFDLEVBQUM7Z0JBUTFCLDZCQUFxQixJQUFJLFlBQVksRUFBRSxFQUFDO2dCQUN4Qyx3QkFBZ0IsSUFBSSxPQUFPLEVBQUUsRUFBQztnQkFFOUIseUJBQVk7WUFzR1osQ0FBQztZQTVJRDs7Y0FFRTtZQUNGLElBQUksUUFBUTtnQkFDViwrQ0FBc0I7WUFDeEIsQ0FBQztZQUNELElBQUksUUFBUSxDQUFDLEtBQWM7Z0JBQ3pCLHVCQUFBLElBQUksYUFBYSxxQkFBcUIsQ0FB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O2lCQUNUO1lBQ0gsQ0FBQztTQUNGOzs7Ozs7OztXQUFBO0FBQ0gsQ0FBQztBQUdELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixVQUFVO0lBQ1YsV0FBVztJQUNYLE9BQU87SUFDUCxjQUFjO0lBQ2QsTUFBTTtDQUNQLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgY29lcmNlQm9vbGVhblByb3BlcnR5LFxyXG4gIGNvZXJjZU51bWJlclByb3BlcnR5LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5jbGFzcyc7XHJcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJhdGN0b3InO1xyXG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnLi4vZXZlbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uUnVsZVJlc3VsdCB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5jbGFzcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9WYWx1ZUNvbXBvbmVuZXRNaXhpbjxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPEFYQmFzZUNvbXBvbmVudD4+KEJhc2U6IFRCYXNlKSB7XHJcblxyXG4gIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgKiAgRmlyZXMgZWFjaCB0aW1lIHRoZSB1c2VyIHByZXNzIGEga2V5LlxyXG4gICAgKiAgQGV2ZW50XHJcbiAgICAqL1xyXG4gICAgb25WYWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFZhbHVlQ2hhbmdlZEV2ZW50PGFueT4+KCk7XHJcblxyXG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cclxuICAgICNyZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgKiAgSWYgc2V0IHRvIHRydWUsIHVzZXIgY2Fubm90IGNoYW5nZSB0aGUgdmFsdWUgb2YgY29tcG9uZW50LlxyXG4gICAgKi9cclxuICAgIGdldCByZWFkb25seSgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuI3JlYWRvbmx5O1xyXG4gICAgfVxyXG4gICAgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgIHRoaXMuI3JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAjYWxsb3dOdWxsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBnZXQgYWxsb3dOdWxsKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jYWxsb3dOdWxsO1xyXG4gICAgfVxyXG4gICAgc2V0IGFsbG93TnVsbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICB0aGlzLiNhbGxvd051bGwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAjbmFtZTogc3RyaW5nO1xyXG4gICAgZ2V0IG5hbWUoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNuYW1lO1xyXG4gICAgfVxyXG4gICAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgICB0aGlzLiNuYW1lID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgI2RlYm91bmNlVGltZTogbnVtYmVyID0gMDtcclxuICAgIGdldCBkZWJvdW5jZVRpbWUoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNkZWJvdW5jZVRpbWU7XHJcbiAgICB9XHJcbiAgICBzZXQgZGVib3VuY2VUaW1lKHZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgdGhpcy4jZGVib3VuY2VUaW1lID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgICN2YWx1ZVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICAgICN2YWx1ZVN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAgICN2YWx1ZTogYW55O1xyXG4gICAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jdmFsdWU7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IHZhbHVlKHY6IGFueSkge1xyXG4gICAgICB2ID0gdGhpcy5fb25WYWx1ZUNoYW5naW5nKHYpO1xyXG4gICAgICBpZiAoIXRoaXMuX2lzSW5pdGVkIHx8IHRoaXMuZGVib3VuY2VUaW1lID09IDApIHtcclxuICAgICAgICB0aGlzLl9zZXRWYWx1ZSh2KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLiN2YWx1ZVN1YmplY3QubmV4dCh2KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIF9lbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGRWYWx1ZT86IGFueSwgbmV3VmFsdWU/OiBhbnkpIHtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcclxuICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgdmFsdWU6IG5ld1ZhbHVlLFxyXG4gICAgICAgIG9sZFZhbHVlOiBvbGRWYWx1ZSxcclxuICAgICAgICBuYW1lOiB0aGlzLm5hbWVcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCB0aGlzLiN2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgX29uVmFsdWVDaGFuZ2luZyh2YWx1ZTogYW55KSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuICAgIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZTogYW55LCBuZXdWYWx1ZTogYW55KTogdm9pZCB7IH1cclxuXHJcbiAgICBfb25JbnRlcm5hbEluaXQoKSB7XHJcbiAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkuc2V0QXR0cmlidXRlKCdheC1mb3JtLWlucHV0JywgJ3RydWUnKTtcclxuICAgICAgdGhpcy4jdmFsdWVTdWJzY3JpcHRpb24gPSB0aGlzLiN2YWx1ZVN1YmplY3RcclxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy4jZGVib3VuY2VUaW1lKSlcclxuICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHYpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3NldFZhbHVlKHYpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBzdXBlci5fb25JbnRlcm5hbEluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBfb25JbnRlcm5hbERlc3Ryb3koKSB7XHJcbiAgICAgIHRoaXMuI3ZhbHVlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIHN1cGVyLm9uRGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9zZXRWYWx1ZSh2OiBhbnkpIHtcclxuICAgICAgY29uc3Qgb2xkID0gdGhpcy4jdmFsdWU7XHJcbiAgICAgIC8vIFRPRE86IGNoZWNrIHJlYWwgZXF1YWxpdHlcclxuICAgICAgaWYgKHYgIT0gb2xkKSB7XHJcbiAgICAgICAgdGhpcy4jdmFsdWUgPSB2O1xyXG4gICAgICAgIHRoaXMuX2VtaXRPblZhbHVlQ2hhbmdlZEV2ZW50KG9sZCwgdGhpcy4jdmFsdWUpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICBpZiAodiA9PSBudWxsIHx8IHYgPT0gdW5kZWZpbmVkIHx8IHYgPT0gJycpIHtcclxuICAgICAgICAgIHRoaXMuX3NldEVycm9yU3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmICh0aGlzLl9pc0luaXRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXIoKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXRlKCk6IFByb21pc2U8QVhWYWxpZGF0aW9uUnVsZVJlc3VsdD4ge1xyXG4gICAgICBjb25zdCBydWxlcyA9IEFycmF5LmZyb20oXHJcbiAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yQWxsKCdheC12YWxpZGF0aW9uLXJ1bGUnKVxyXG4gICAgICApLmZpbHRlcigoYykgPT4gKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLmVuYWJsZWQpO1xyXG4gICAgICAvL1xyXG4gICAgICBpZiAoIXJ1bGVzIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuX3NldEVycm9yU3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHJlc3VsdDogdHJ1ZSwgdmFsdWU6IHRoaXMudmFsdWUgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxBWFZhbGlkYXRpb25SdWxlUmVzdWx0PigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgIFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgcnVsZXNcclxuICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gdHlwZW9mIChjIGFzIGFueSk/LnZhbGlkYXRlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICAubWFwKChjKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIChjIGFzIGFueSkudmFsaWRhdGUodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKS50aGVuKChkKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBlcnJvciA9IGQuZmluZCgoYykgPT4gYy5yZXN1bHQgPT09IGZhbHNlKTtcclxuICAgICAgICAgIGlmIChlcnJvcikge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRFcnJvclN0YXRlKCdlcnJvcicsIGVycm9yLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0OiBmYWxzZSwgdmFsdWU6IHRoaXMudmFsdWUgfSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRFcnJvclN0YXRlKCdzdWNjZXNzJyk7XHJcbiAgICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IHRydWUsIHZhbHVlOiB0aGlzLnZhbHVlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgICogIEBpZ25vcmVcclxuICAgICovXHJcbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xyXG4gICAgICBzdXBlciguLi5hcmdzKTtcclxuICAgIH1cclxuXHJcbiAgICBfc2V0RXJyb3JTdGF0ZShzdGF0ZTogJ2NsZWFyJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicsIC4uLmFyZ3MpIHtcclxuICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoJ2F4LWVkaXRvci1jb250YWluZXInKSA/XHJcbiAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSA6XHJcbiAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtZWRpdG9yLWNvbnRhaW5lcicpIDtcclxuICAgICAgY29uc3QgZm9ybUZpZWxkID0gY29udGFpbmVyPy5jbG9zZXN0KCcuYXgtZm9ybS1maWVsZCcpO1xyXG4gICAgICBjb25zdCBsYWJlbCA9IGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignYXgtbGFiZWwnKTtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0gY29udGFpbmVyIHx8IHRoaXMuX2dldElubmVyRWxlbWVudCgpO1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSB0YXJnZXQucGFyZW50RWxlbWVudDtcclxuXHJcbiAgICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgICBjYXNlICdjbGVhcic6XHJcbiAgICAgICAgICBpZiAocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uYXgtZXJyb3ItbXNnJykpIHtcclxuICAgICAgICAgICAgcGFyZW50LnJlbW92ZUNoaWxkKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1zZycpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxhYmVsPy5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicpO1xyXG4gICAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoJ2F4LXN0YXRlLWVycm9yJywgJ2F4LXN0YXRlLXN1Y2Nlc3MnKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxyXG4gICAgICAgICAgdGhpcy5fc2V0RXJyb3JTdGF0ZSgnY2xlYXInKTtcclxuICAgICAgICAgIHRhcmdldC5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1zdWNjZXNzJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdlcnJvcic6XHJcbiAgICAgICAgICB0aGlzLl9zZXRFcnJvclN0YXRlKCdjbGVhcicpO1xyXG4gICAgICAgICAgaWYgKGFyZ3NbMF0pIHtcclxuICAgICAgICAgICAgY29uc3Qgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgICAgICAgICAgc3Bhbi5pbm5lclRleHQgPSBhcmdzWzBdO1xyXG4gICAgICAgICAgICBzcGFuLmNsYXNzTGlzdC5hZGQoJ2F4LWVycm9yLW1zZycpO1xyXG4gICAgICAgICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoc3Bhbik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBsYWJlbD8uY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtZXJyb3InKTtcclxuICAgICAgICAgIHRhcmdldC5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1lcnJvcicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY29uc3QgVkFMVUVfSU5QVVRTID0gW1xyXG4gICdyZWFkb25seScsXHJcbiAgJ2FsbG93TnVsbCcsXHJcbiAgJ3ZhbHVlJyxcclxuICAnZGVib3VuY2VUaW1lJyxcclxuICAnbmFtZSdcclxuXTtcclxuZXhwb3J0IGNvbnN0IFZBTFVFX09VVFBVVCA9IFsndmFsdWVDaGFuZ2UnLCAnb25WYWx1ZUNoYW5nZWQnXTsiXX0=