@acorex/components 5.0.4 → 5.0.8

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 (336) hide show
  1. package/README.md +24 -24
  2. package/acorex-components.d.ts +5 -5
  3. package/bundles/acorex-components.umd.js +7172 -6743
  4. package/bundles/acorex-components.umd.js.map +1 -1
  5. package/esm2015/acorex-components.js +4 -4
  6. package/esm2015/lib/alert/alert-button.component.js +52 -52
  7. package/esm2015/lib/alert/alert-contnet.component.js +21 -21
  8. package/esm2015/lib/alert/alert-footer.component.js +27 -27
  9. package/esm2015/lib/alert/alert-suffix.component.js +27 -27
  10. package/esm2015/lib/alert/alert-title.component.js +23 -23
  11. package/esm2015/lib/alert/alert.component.js +130 -131
  12. package/esm2015/lib/alert/alert.module.js +43 -43
  13. package/esm2015/lib/alert/index.js +8 -8
  14. package/esm2015/lib/avatar/avatar.component.js +55 -55
  15. package/esm2015/lib/avatar/avatar.module.js +21 -21
  16. package/esm2015/lib/avatar/index.js +3 -3
  17. package/esm2015/lib/badge/badge.component.js +34 -0
  18. package/esm2015/lib/badge/badge.module.js +21 -0
  19. package/esm2015/lib/badge/index.js +3 -0
  20. package/esm2015/lib/base/common.module.js +18 -18
  21. package/esm2015/lib/base/custom-cdk-overlay.service.js +47 -47
  22. package/esm2015/lib/base/drawing.class.js +11 -11
  23. package/esm2015/lib/base/events.class.js +53 -53
  24. package/esm2015/lib/base/index.js +7 -7
  25. package/esm2015/lib/base/mixin/base-components.class.js +83 -83
  26. package/esm2015/lib/base/mixin/button-mixin.class.js +129 -129
  27. package/esm2015/lib/base/mixin/clickable-mixin.class.js +24 -24
  28. package/esm2015/lib/base/mixin/constratctor.js +2 -2
  29. package/esm2015/lib/base/mixin/datalist-component.class.js +97 -97
  30. package/esm2015/lib/base/mixin/dropdown-mixin.class.js +36 -36
  31. package/esm2015/lib/base/mixin/index.js +3 -3
  32. package/esm2015/lib/base/mixin/interactive-mixin.class.js +77 -72
  33. package/esm2015/lib/base/mixin/loading-mixin.class.js +18 -18
  34. package/esm2015/lib/base/mixin/mixin.class.js +22 -23
  35. package/esm2015/lib/base/mixin/selection-component.class.js +158 -158
  36. package/esm2015/lib/base/mixin/sizable-mixin.class.js +18 -18
  37. package/esm2015/lib/base/mixin/textbox-mixin.class.js +38 -38
  38. package/esm2015/lib/base/mixin/value-mixin.class.js +190 -190
  39. package/esm2015/lib/base/overlay.service.js +91 -91
  40. package/esm2015/lib/base/responsive.directive.js +34 -34
  41. package/esm2015/lib/base/styles.class.js +4 -4
  42. package/esm2015/lib/button/button-group.component.js +131 -131
  43. package/esm2015/lib/button/button-item.class.js +2 -2
  44. package/esm2015/lib/button/button-item.component.js +81 -81
  45. package/esm2015/lib/button/button.component.js +73 -51
  46. package/esm2015/lib/button/button.module.js +33 -37
  47. package/esm2015/lib/button/index.js +6 -7
  48. package/esm2015/lib/calendar/calendar.component.js +287 -59
  49. package/esm2015/lib/calendar/calendar.module.js +25 -24
  50. package/esm2015/lib/calendar/index.js +3 -3
  51. package/esm2015/lib/carousel/carousel-arrows.component.js +53 -53
  52. package/esm2015/lib/carousel/carousel-item.component.js +21 -21
  53. package/esm2015/lib/carousel/carousel-pager.component.js +74 -74
  54. package/esm2015/lib/carousel/carousel-splidejs.class.js +82 -82
  55. package/esm2015/lib/carousel/carousel.class.js +10 -10
  56. package/esm2015/lib/carousel/carousel.component.js +246 -246
  57. package/esm2015/lib/carousel/carousel.module.js +24 -24
  58. package/esm2015/lib/carousel/index.js +7 -7
  59. package/esm2015/lib/checkbox/checkbox.component.js +40 -40
  60. package/esm2015/lib/checkbox/checkbox.module.js +20 -20
  61. package/esm2015/lib/checkbox/index.js +3 -3
  62. package/esm2015/lib/datalist/datalist.component.js +81 -81
  63. package/esm2015/lib/datalist/datalist.module.js +22 -22
  64. package/esm2015/lib/datalist/index.js +3 -3
  65. package/esm2015/lib/datepicker/datepicker.component.js +80 -64
  66. package/esm2015/lib/datepicker/datepicker.module.js +23 -23
  67. package/esm2015/lib/datepicker/index.js +3 -3
  68. package/esm2015/lib/decorators/decorators.module.js +22 -22
  69. package/esm2015/lib/decorators/index.js +4 -4
  70. package/esm2015/lib/decorators/prefix.component.js +27 -27
  71. package/esm2015/lib/decorators/suffix.component.js +27 -35
  72. package/esm2015/lib/dialog/dialog.class.js +2 -2
  73. package/esm2015/lib/dialog/dialog.component.js +45 -45
  74. package/esm2015/lib/dialog/dialog.module.js +26 -26
  75. package/esm2015/lib/dialog/dialog.service.js +146 -127
  76. package/esm2015/lib/dialog/index.js +5 -5
  77. package/esm2015/lib/drawer/drawer-container.component.js +73 -73
  78. package/esm2015/lib/drawer/drawer-content.component.js +27 -27
  79. package/esm2015/lib/drawer/drawer.component.js +145 -145
  80. package/esm2015/lib/drawer/drawer.module.js +23 -23
  81. package/esm2015/lib/drawer/index.js +5 -5
  82. package/esm2015/lib/dropdown/dropdown-base.class.js +98 -0
  83. package/esm2015/lib/dropdown/dropdown-panel.component.js +84 -194
  84. package/esm2015/lib/dropdown/dropdown.component.js +32 -139
  85. package/esm2015/lib/dropdown/dropdown.module.js +25 -24
  86. package/esm2015/lib/dropdown/index.js +4 -4
  87. package/esm2015/lib/form/form-field.component.js +20 -20
  88. package/esm2015/lib/form/form-field.module.js +21 -21
  89. package/esm2015/lib/form/form-hint.component.js +20 -20
  90. package/esm2015/lib/form/form.component.js +51 -51
  91. package/esm2015/lib/form/index.js +5 -5
  92. package/esm2015/lib/icon/icon.component.js +28 -28
  93. package/esm2015/lib/icon/icon.module.js +21 -21
  94. package/esm2015/lib/icon/index.js +3 -3
  95. package/esm2015/lib/input-mask/index.js +3 -3
  96. package/esm2015/lib/input-mask/input-mask.component.js +42 -42
  97. package/esm2015/lib/input-mask/input-mask.module.js +23 -23
  98. package/esm2015/lib/label/index.js +3 -3
  99. package/esm2015/lib/label/label.component.js +20 -20
  100. package/esm2015/lib/label/label.module.js +21 -21
  101. package/esm2015/lib/loading/index.js +6 -6
  102. package/esm2015/lib/loading/loading-spinner.component.js +32 -32
  103. package/esm2015/lib/loading/loading.component.js +54 -54
  104. package/esm2015/lib/loading/loading.directive.js +67 -67
  105. package/esm2015/lib/loading/loading.module.js +35 -35
  106. package/esm2015/lib/loading/loading.service.js +155 -155
  107. package/esm2015/lib/number-box/index.js +3 -3
  108. package/esm2015/lib/number-box/number-box.component.js +289 -289
  109. package/esm2015/lib/number-box/number-box.module.js +32 -32
  110. package/esm2015/lib/page/base-page.class.js +66 -66
  111. package/esm2015/lib/page/index.js +5 -5
  112. package/esm2015/lib/page/page-footer.component.js +32 -32
  113. package/esm2015/lib/page/page.component.js +33 -33
  114. package/esm2015/lib/page/page.module.js +18 -18
  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 -3
  119. package/esm2015/lib/popover/popover.component.js +220 -119
  120. package/esm2015/lib/popover/popover.module.js +19 -19
  121. package/esm2015/lib/popup/index.js +4 -4
  122. package/esm2015/lib/popup/popup.component.js +97 -97
  123. package/esm2015/lib/popup/popup.module.js +26 -26
  124. package/esm2015/lib/popup/popup.service.js +94 -94
  125. package/esm2015/lib/range-slider/index.js +3 -3
  126. package/esm2015/lib/range-slider/range-slider.component.js +22 -22
  127. package/esm2015/lib/range-slider/range-slider.module.js +21 -21
  128. package/esm2015/lib/selectbox/index.js +3 -3
  129. package/esm2015/lib/selectbox/selectbox.component.js +201 -193
  130. package/esm2015/lib/selectbox/selectbox.module.js +25 -21
  131. package/esm2015/lib/selection-list/index.js +3 -3
  132. package/esm2015/lib/selection-list/selection-list.component.js +47 -46
  133. package/esm2015/lib/selection-list/selection-list.module.js +21 -21
  134. package/esm2015/lib/side-menu/index.js +3 -3
  135. package/esm2015/lib/side-menu/side-menu.component.js +21 -21
  136. package/esm2015/lib/side-menu/side-menu.module.js +21 -21
  137. package/esm2015/lib/switch/index.js +3 -3
  138. package/esm2015/lib/switch/switch.component.js +30 -30
  139. package/esm2015/lib/switch/switch.module.js +21 -21
  140. package/esm2015/lib/tabs/index.js +8 -6
  141. package/esm2015/lib/tabs/tab-content.directive.js +27 -0
  142. package/esm2015/lib/tabs/tab-item.component.js +76 -0
  143. package/esm2015/lib/tabs/tab-strip.component.js +69 -61
  144. package/esm2015/lib/tabs/tab-view.component.js +45 -46
  145. package/esm2015/lib/tabs/tab.component.js +58 -59
  146. package/esm2015/lib/tabs/tabs.class.js +4 -4
  147. package/esm2015/lib/tabs/tabs.component.js +74 -0
  148. package/esm2015/lib/tabs/tabs.module.js +25 -23
  149. package/esm2015/lib/textbox/index.js +3 -3
  150. package/esm2015/lib/textbox/textbox.component.js +62 -62
  151. package/esm2015/lib/textbox/textbox.module.js +43 -43
  152. package/esm2015/lib/time-box/index.js +3 -3
  153. package/esm2015/lib/time-box/time-box.component.js +134 -134
  154. package/esm2015/lib/time-box/time-box.module.js +32 -32
  155. package/esm2015/lib/toast/index.js +5 -5
  156. package/esm2015/lib/toast/toast.class.js +2 -2
  157. package/esm2015/lib/toast/toast.component.js +50 -50
  158. package/esm2015/lib/toast/toast.module.js +22 -22
  159. package/esm2015/lib/toast/toast.service.js +114 -114
  160. package/esm2015/lib/tooltip/index.js +4 -4
  161. package/esm2015/lib/tooltip/tooltip.component.js +45 -45
  162. package/esm2015/lib/tooltip/tooltip.directive.js +86 -86
  163. package/esm2015/lib/tooltip/tooltip.module.js +23 -23
  164. package/esm2015/lib/validation/index.js +3 -3
  165. package/esm2015/lib/validation/validation-rule.widget.js +113 -113
  166. package/esm2015/lib/validation/validation.class.js +2 -2
  167. package/esm2015/lib/validation/validation.module.js +32 -32
  168. package/esm2015/public-api.js +41 -39
  169. package/fesm2015/acorex-components.js +6215 -5830
  170. package/fesm2015/acorex-components.js.map +1 -1
  171. package/lib/alert/alert-button.component.d.ts +13 -13
  172. package/lib/alert/alert-contnet.component.d.ts +5 -5
  173. package/lib/alert/alert-footer.component.d.ts +5 -5
  174. package/lib/alert/alert-suffix.component.d.ts +5 -5
  175. package/lib/alert/alert-title.component.d.ts +5 -5
  176. package/lib/alert/alert.component.d.ts +46 -46
  177. package/lib/alert/alert.module.d.ts +13 -13
  178. package/lib/alert/index.d.ts +7 -7
  179. package/lib/avatar/avatar.component.d.ts +20 -20
  180. package/lib/avatar/avatar.module.d.ts +8 -8
  181. package/lib/avatar/index.d.ts +2 -2
  182. package/lib/badge/badge.component.d.ts +11 -0
  183. package/lib/badge/badge.module.d.ts +8 -0
  184. package/lib/badge/index.d.ts +2 -0
  185. package/lib/base/common.module.d.ts +7 -7
  186. package/lib/base/custom-cdk-overlay.service.d.ts +19 -19
  187. package/lib/base/drawing.class.d.ts +9 -9
  188. package/lib/base/events.class.d.ts +72 -72
  189. package/lib/base/index.d.ts +6 -6
  190. package/lib/base/mixin/base-components.class.d.ts +84 -84
  191. package/lib/base/mixin/button-mixin.class.d.ts +81 -79
  192. package/lib/base/mixin/clickable-mixin.class.d.ts +42 -42
  193. package/lib/base/mixin/constratctor.d.ts +4 -4
  194. package/lib/base/mixin/datalist-component.class.d.ts +54 -54
  195. package/lib/base/mixin/dropdown-mixin.class.d.ts +47 -47
  196. package/lib/base/mixin/index.d.ts +2 -2
  197. package/lib/base/mixin/interactive-mixin.class.d.ts +62 -60
  198. package/lib/base/mixin/loading-mixin.class.d.ts +46 -46
  199. package/lib/base/mixin/mixin.class.d.ts +591 -814
  200. package/lib/base/mixin/selection-component.class.d.ts +55 -55
  201. package/lib/base/mixin/sizable-mixin.class.d.ts +40 -40
  202. package/lib/base/mixin/textbox-mixin.class.d.ts +58 -59
  203. package/lib/base/mixin/value-mixin.class.d.ts +70 -68
  204. package/lib/base/overlay.service.d.ts +31 -31
  205. package/lib/base/responsive.directive.d.ts +10 -10
  206. package/lib/base/styles.class.d.ts +17 -17
  207. package/lib/button/button-group.component.d.ts +36 -36
  208. package/lib/button/button-item.class.d.ts +22 -22
  209. package/lib/button/button-item.component.d.ts +92 -92
  210. package/lib/button/button.component.d.ts +21 -18
  211. package/lib/button/button.module.d.ts +12 -13
  212. package/lib/button/index.d.ts +5 -6
  213. package/lib/calendar/calendar.component.d.ts +56 -16
  214. package/lib/calendar/calendar.module.d.ts +12 -11
  215. package/lib/calendar/index.d.ts +2 -2
  216. package/lib/carousel/carousel-arrows.component.d.ts +14 -14
  217. package/lib/carousel/carousel-item.component.d.ts +8 -8
  218. package/lib/carousel/carousel-pager.component.d.ts +22 -22
  219. package/lib/carousel/carousel-splidejs.class.d.ts +18 -18
  220. package/lib/carousel/carousel.class.d.ts +48 -48
  221. package/lib/carousel/carousel.component.d.ts +62 -62
  222. package/lib/carousel/carousel.module.d.ts +11 -11
  223. package/lib/carousel/index.d.ts +6 -6
  224. package/lib/checkbox/checkbox.component.d.ts +12 -12
  225. package/lib/checkbox/checkbox.module.d.ts +9 -9
  226. package/lib/checkbox/index.d.ts +2 -2
  227. package/lib/datalist/datalist.component.d.ts +25 -25
  228. package/lib/datalist/datalist.module.d.ts +9 -9
  229. package/lib/datalist/index.d.ts +2 -2
  230. package/lib/datepicker/datepicker.component.d.ts +18 -18
  231. package/lib/datepicker/datepicker.module.d.ts +10 -10
  232. package/lib/datepicker/index.d.ts +2 -2
  233. package/lib/decorators/decorators.module.d.ts +9 -9
  234. package/lib/decorators/index.d.ts +3 -3
  235. package/lib/decorators/prefix.component.d.ts +8 -8
  236. package/lib/decorators/suffix.component.d.ts +8 -8
  237. package/lib/dialog/dialog.class.d.ts +12 -12
  238. package/lib/dialog/dialog.component.d.ts +15 -15
  239. package/lib/dialog/dialog.module.d.ts +13 -13
  240. package/lib/dialog/dialog.service.d.ts +36 -18
  241. package/lib/dialog/index.d.ts +4 -4
  242. package/lib/drawer/drawer-container.component.d.ts +13 -13
  243. package/lib/drawer/drawer-content.component.d.ts +8 -8
  244. package/lib/drawer/drawer.component.d.ts +30 -30
  245. package/lib/drawer/drawer.module.d.ts +10 -10
  246. package/lib/drawer/index.d.ts +4 -4
  247. package/lib/dropdown/dropdown-base.class.d.ts +92 -0
  248. package/lib/dropdown/dropdown-panel.component.d.ts +28 -117
  249. package/lib/dropdown/dropdown.component.d.ts +13 -31
  250. package/lib/dropdown/dropdown.module.d.ts +14 -13
  251. package/lib/dropdown/index.d.ts +3 -3
  252. package/lib/form/form-field.component.d.ts +8 -8
  253. package/lib/form/form-field.module.d.ts +10 -10
  254. package/lib/form/form-hint.component.d.ts +8 -8
  255. package/lib/form/form.component.d.ts +13 -13
  256. package/lib/form/index.d.ts +4 -4
  257. package/lib/icon/icon.component.d.ts +10 -10
  258. package/lib/icon/icon.module.d.ts +8 -8
  259. package/lib/icon/index.d.ts +2 -2
  260. package/lib/input-mask/index.d.ts +2 -2
  261. package/lib/input-mask/input-mask.component.d.ts +14 -14
  262. package/lib/input-mask/input-mask.module.d.ts +9 -9
  263. package/lib/label/index.d.ts +2 -2
  264. package/lib/label/label.component.d.ts +8 -8
  265. package/lib/label/label.module.d.ts +8 -8
  266. package/lib/loading/index.d.ts +5 -5
  267. package/lib/loading/loading-spinner.component.d.ts +5 -5
  268. package/lib/loading/loading.component.d.ts +19 -19
  269. package/lib/loading/loading.directive.d.ts +22 -22
  270. package/lib/loading/loading.module.d.ts +13 -13
  271. package/lib/loading/loading.service.d.ts +48 -48
  272. package/lib/number-box/index.d.ts +2 -2
  273. package/lib/number-box/number-box.component.d.ts +69 -69
  274. package/lib/number-box/number-box.module.d.ts +11 -11
  275. package/lib/page/base-page.class.d.ts +37 -37
  276. package/lib/page/index.d.ts +4 -4
  277. package/lib/page/page-footer.component.d.ts +7 -7
  278. package/lib/page/page.component.d.ts +13 -13
  279. package/lib/page/page.module.d.ts +7 -7
  280. package/lib/password-box/index.d.ts +2 -0
  281. package/lib/password-box/password-box.component.d.ts +24 -0
  282. package/lib/password-box/password-box.module.d.ts +12 -0
  283. package/lib/popover/index.d.ts +2 -2
  284. package/lib/popover/popover.component.d.ts +44 -30
  285. package/lib/popover/popover.module.d.ts +8 -8
  286. package/lib/popup/index.d.ts +3 -3
  287. package/lib/popup/popup.component.d.ts +33 -33
  288. package/lib/popup/popup.module.d.ts +12 -12
  289. package/lib/popup/popup.service.d.ts +37 -37
  290. package/lib/range-slider/index.d.ts +2 -2
  291. package/lib/range-slider/range-slider.component.d.ts +8 -8
  292. package/lib/range-slider/range-slider.module.d.ts +8 -8
  293. package/lib/selectbox/index.d.ts +2 -2
  294. package/lib/selectbox/selectbox.component.d.ts +29 -28
  295. package/lib/selectbox/selectbox.module.d.ts +14 -10
  296. package/lib/selection-list/index.d.ts +2 -2
  297. package/lib/selection-list/selection-list.component.d.ts +10 -10
  298. package/lib/selection-list/selection-list.module.d.ts +10 -10
  299. package/lib/side-menu/index.d.ts +2 -2
  300. package/lib/side-menu/side-menu.component.d.ts +8 -8
  301. package/lib/side-menu/side-menu.module.d.ts +8 -8
  302. package/lib/switch/index.d.ts +2 -2
  303. package/lib/switch/switch.component.d.ts +9 -9
  304. package/lib/switch/switch.module.d.ts +9 -9
  305. package/lib/tabs/index.d.ts +7 -5
  306. package/lib/tabs/tab-content.directive.d.ts +11 -0
  307. package/lib/tabs/tab-item.component.d.ts +16 -0
  308. package/lib/tabs/tab-strip.component.d.ts +19 -17
  309. package/lib/tabs/tab-view.component.d.ts +14 -14
  310. package/lib/tabs/tab.component.d.ts +18 -18
  311. package/lib/tabs/tabs.class.d.ts +18 -18
  312. package/lib/tabs/tabs.component.d.ts +19 -0
  313. package/lib/tabs/tabs.module.d.ts +12 -10
  314. package/lib/textbox/index.d.ts +2 -2
  315. package/lib/textbox/textbox.component.d.ts +19 -19
  316. package/lib/textbox/textbox.module.d.ts +13 -13
  317. package/lib/time-box/index.d.ts +2 -2
  318. package/lib/time-box/time-box.component.d.ts +29 -29
  319. package/lib/time-box/time-box.module.d.ts +11 -11
  320. package/lib/toast/index.d.ts +4 -4
  321. package/lib/toast/toast.class.d.ts +14 -14
  322. package/lib/toast/toast.component.d.ts +16 -16
  323. package/lib/toast/toast.module.d.ts +9 -9
  324. package/lib/toast/toast.service.d.ts +18 -18
  325. package/lib/tooltip/index.d.ts +3 -3
  326. package/lib/tooltip/tooltip.component.d.ts +10 -10
  327. package/lib/tooltip/tooltip.directive.d.ts +18 -18
  328. package/lib/tooltip/tooltip.module.d.ts +10 -10
  329. package/lib/validation/index.d.ts +2 -2
  330. package/lib/validation/validation-rule.widget.d.ts +25 -25
  331. package/lib/validation/validation.class.d.ts +17 -17
  332. package/lib/validation/validation.module.d.ts +9 -9
  333. package/package.json +18 -18
  334. package/public-api.d.ts +39 -37
  335. package/esm2015/lib/button/dropdown-button.component.js +0 -200
  336. package/lib/button/dropdown-button.component.d.ts +0 -234
@@ -1,194 +1,84 @@
1
- import { TemplatePortal } from '@angular/cdk/portal';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ViewChildren, EventEmitter, Output, Input, ViewChild, HostListener, Optional } from '@angular/core';
3
- import { AXBaseComponent } from '../base';
4
- import { _DropdownComponenetMixin } from '../base/mixin/dropdown-mixin.class';
5
- import { _InteractiveComponenetMixin } from '../base/mixin/interactive-mixin.class';
6
- import { AXButtonItemComponent } from '../button';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/cdk/overlay";
9
- import * as i2 from "@acorex/core";
10
- import * as i3 from "../button";
11
- import * as i4 from "../button/button-item.component";
12
- import * as i5 from "../decorators/prefix.component";
13
- import * as i6 from "../icon/icon.component";
14
- import * as i7 from "@angular/common";
15
- export const AXBaseDropdownMenuMixin = _InteractiveComponenetMixin(_DropdownComponenetMixin((AXBaseComponent)));
16
- export class AXDropdownPanelComponent extends AXBaseDropdownMenuMixin {
17
- constructor(elementRef, cdr, _overlay, _platform, _viewContainerRef, _parent) {
18
- super(elementRef, cdr);
19
- this._overlay = _overlay;
20
- this._platform = _platform;
21
- this._viewContainerRef = _viewContainerRef;
22
- this._parent = _parent;
23
- this.onItemClick = new EventEmitter();
24
- this._needBorder = false;
25
- this._subs = [];
26
- if (_parent) {
27
- this.target = _parent;
28
- this._subs.push(_parent.onClick.subscribe(this.toggle.bind(this)));
29
- }
30
- }
31
- get items() {
32
- return this._items || [];
33
- }
34
- set items(v) {
35
- this._items = v;
36
- this._cdr.markForCheck();
37
- }
38
- _getAllButtons() {
39
- return [...Array.from(this._viewButtons), ...Array.from(this._contentButtons)];
40
- }
41
- onViewInit() {
42
- this._getAllButtons().forEach(c => {
43
- this._needBorder = true;
44
- this._subs.push(c.onClick.subscribe(this._handleOnItemClick.bind(this)));
45
- });
46
- }
47
- onDestroy() {
48
- var _a, _b;
49
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
50
- (_b = this._overlayRef) === null || _b === void 0 ? void 0 : _b.dispose();
51
- this._subs.forEach(s => {
52
- s === null || s === void 0 ? void 0 : s.unsubscribe();
53
- });
54
- }
55
- _handleKeydownHandler(e) {
56
- if (e.key === 'Enter' && e.type === 'keydown') {
57
- this.toggle();
58
- }
59
- if (e.key === 'Escape') {
60
- if (this.isOpen) {
61
- this.close();
62
- e.stopPropagation();
63
- }
64
- }
65
- }
66
- _handleArrowClickEvent(e) {
67
- this.toggle();
68
- }
69
- _emitOnItemClickEvent(e, item) {
70
- this.onItemClick.emit({
71
- component: this,
72
- htmlElement: this._getHostElement(),
73
- nativeEvent: e.nativeEvent,
74
- name: item.name,
75
- data: item.data,
76
- });
77
- this.close();
78
- }
79
- _handleOnItemClick(e) {
80
- this.close();
81
- this._emitOnItemClickEvent(e, e.component);
82
- }
83
- toggle() {
84
- if (this.disabled !== true) {
85
- this.isOpen ? this.close() : this.open();
86
- }
87
- }
88
- close() {
89
- var _a, _b;
90
- if (!this.isOpen) {
91
- return;
92
- }
93
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
94
- (_b = this._subs[1]) === null || _b === void 0 ? void 0 : _b.unsubscribe();
95
- this._emitOnClosedEvent();
96
- }
97
- open() {
98
- if (this.isOpen) {
99
- return;
100
- }
101
- this._ensureOverlayCreated();
102
- this._overlayRef.attach(this._templatePortal);
103
- this._emitOnOpenedEvent();
104
- }
105
- _ensureOverlayCreated() {
106
- let baseSize = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));
107
- const targetRef = this.target._getInnerElement();
108
- if (!this._overlayRef) {
109
- const positionStrategy = this._overlay.position()
110
- .flexibleConnectedTo(targetRef)
111
- .withPositions([
112
- {
113
- originX: 'start',
114
- originY: 'bottom',
115
- overlayX: 'start',
116
- overlayY: 'top',
117
- offsetY: baseSize
118
- },
119
- {
120
- originX: 'start',
121
- originY: 'top',
122
- overlayX: 'start',
123
- overlayY: 'bottom'
124
- }
125
- ])
126
- .withPush(false);
127
- this._overlayRef = this._overlay.create({
128
- positionStrategy,
129
- scrollStrategy: this._overlay.scrollStrategies.close(),
130
- //panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],
131
- panelClass: ['ax-animate-fade-in'],
132
- hasBackdrop: false,
133
- backdropClass: ['cdk-overlay-transparent-backdrop']
134
- });
135
- this._subs[0] = this._overlayRef._outsidePointerEvents.subscribe(c => {
136
- const target = c.target;
137
- const comElem = targetRef;
138
- if (!(comElem.contains(target))) {
139
- this.close();
140
- }
141
- });
142
- this._subs[1] = this._overlayRef.attachments().subscribe(() => {
143
- if (this.fitParent === true) {
144
- this._dropdownWidth = targetRef.offsetWidth;
145
- }
146
- else {
147
- this._dropdownWidth = targetRef.offsetWidth * 1.5;
148
- }
149
- this._subs[2] = this._platform.scroll.subscribe(c => {
150
- if (!c.nativeEvent.target.closest('.ax-overlay-pane'))
151
- this.close();
152
- });
153
- });
154
- }
155
- if (!this._templatePortal) {
156
- this._templatePortal = new TemplatePortal(this._baseTemplate, this._viewContainerRef);
157
- }
158
- }
159
- get isOpen() {
160
- return this._overlayRef ? this._overlayRef.hasAttached() : false;
161
- }
162
- }
163
- AXDropdownPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownPanelComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }, { token: i3.AXButtonComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
164
- AXDropdownPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: { target: "target", items: "items" }, outputs: { onItemClick: "onItemClick" }, host: { listeners: { "keydown": "_handleKeydownHandler($event)" } }, queries: [{ propertyName: "_contentButtons", predicate: AXButtonItemComponent }], viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }, { propertyName: "_viewButtons", predicate: AXButtonItemComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\n <div class=\"ax-overlay-pane\" [class.ax-dropdown-list]=\"_needBorder\" [style.min-width.px]=\"_dropdownWidth\">\n <ng-container *ngIf=\"items && items.length;else panelTpl\">\n <ax-button-item [text]=\"item.text\" [color]=\"item.color\" *ngFor=\"let item of items\">\n <ax-prefix *ngIf=\"item.iconClass\">\n <ax-icon [icon]=\"item.iconClass\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n <ng-template #panelTpl>\n <ng-content select=\"[panel],ax-button-item\">\n </ng-content>\n </ng-template>\n </div>\n</ng-template>", components: [{ type: i4.AXButtonItemComponent, selector: "ax-button-item", inputs: ["text", "tooltip", "selected", "seperated", "name", "data", "color"] }, { type: i5.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { type: i6.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownPanelComponent, decorators: [{
166
- type: Component,
167
- args: [{
168
- selector: 'ax-dropdown-panel',
169
- templateUrl: './dropdown-panel.component.html',
170
- changeDetection: ChangeDetectionStrategy.OnPush,
171
- encapsulation: ViewEncapsulation.None,
172
- }]
173
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i2.AXPlatform }, { type: i0.ViewContainerRef }, { type: i3.AXButtonComponent, decorators: [{
174
- type: Optional
175
- }] }]; }, propDecorators: { _contentButtons: [{
176
- type: ContentChildren,
177
- args: [AXButtonItemComponent]
178
- }], _viewButtons: [{
179
- type: ViewChildren,
180
- args: [AXButtonItemComponent]
181
- }], onItemClick: [{
182
- type: Output
183
- }], target: [{
184
- type: Input
185
- }], items: [{
186
- type: Input
187
- }], _baseTemplate: [{
188
- type: ViewChild,
189
- args: ['baseTemplate']
190
- }], _handleKeydownHandler: [{
191
- type: HostListener,
192
- args: ['keydown', ['$event']]
193
- }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0gsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFHdkIsZUFBZSxFQUNmLFlBQVksRUFFWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUdaLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFvQyxNQUFNLFNBQVMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRixPQUFPLEVBQW1DLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7QUFHbkYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQ2hDLDJCQUEyQixDQUN2Qix3QkFBd0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUN6QyxDQUNKLENBQUE7QUFTTCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsdUJBQXVCO0lBRWpFLFlBQ0ksVUFBc0IsRUFDdEIsR0FBc0IsRUFDZCxRQUFpQixFQUNqQixTQUFxQixFQUNyQixpQkFBbUMsRUFFbkMsT0FBMEI7UUFFbEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FB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dUVDN0R2QywyckJBY2M7MkZENEJELHdCQUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3hDOzswQkFTUSxRQUFROzRDQVUyQixlQUFlO3NCQUF0RCxlQUFlO3VCQUFDLHFCQUFxQjtnQkFDRCxZQUFZO3NCQUFoRCxZQUFZO3VCQUFDLHFCQUFxQjtnQkFHbkMsV0FBVztzQkFEVixNQUFNO2dCQUtQLE1BQU07c0JBREwsS0FBSztnQkFTSyxLQUFLO3NCQURmLEtBQUs7Z0JBWU4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWM7Z0JBK0J6QixxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE91dHB1dCxcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQsIEFYQnV0dG9uQ2xpY2tFdmVudCwgQVhDbGlja0V2ZW50IH0gZnJvbSAnLi4vYmFzZSc7XG5pbXBvcnQgeyBfRHJvcGRvd25Db21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2Ryb3Bkb3duLW1peGluLmNsYXNzJztcbmltcG9ydCB7IF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vaW50ZXJhY3RpdmUtbWl4aW4uY2xhc3MnO1xuaW1wb3J0IHsgQVhCdXR0b25Db21wb25lbnQsIEFYQnV0dG9uSXRlbSwgQVhCdXR0b25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uJztcblxuXG5leHBvcnQgY29uc3QgQVhCYXNlRHJvcGRvd25NZW51TWl4aW4gPVxuICAgIF9JbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbihcbiAgICAgICAgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluKChBWEJhc2VDb21wb25lbnQpXG4gICAgICAgIClcbiAgICApXG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheC1kcm9wZG93bi1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWERyb3Bkb3duUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VEcm9wZG93bk1lbnVNaXhpbiB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm0sXG4gICAgICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIHByaXZhdGUgX3BhcmVudDogQVhCdXR0b25Db21wb25lbnQsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gICAgICAgIGlmIChfcGFyZW50KSB7XG4gICAgICAgICAgICB0aGlzLnRhcmdldCA9IF9wYXJlbnQ7XG4gICAgICAgICAgICB0aGlzLl9zdWJzLnB1c2goX3BhcmVudC5vbkNsaWNrLnN1YnNjcmliZSh0aGlzLnRvZ2dsZS5iaW5kKHRoaXMpKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEFYQnV0dG9uSXRlbUNvbXBvbmVudCkgX2NvbnRlbnRCdXR0b25zOiBRdWVyeUxpc3Q8QVhCdXR0b25JdGVtQ29tcG9uZW50PjtcbiAgICBAVmlld0NoaWxkcmVuKEFYQnV0dG9uSXRlbUNvbXBvbmVudCkgX3ZpZXdCdXR0b25zOiBRdWVyeUxpc3Q8QVhCdXR0b25JdGVtQ29tcG9uZW50PjtcblxuICAgIEBPdXRwdXQoKVxuICAgIG9uSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8QVhCdXR0b25DbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhCdXR0b25DbGlja0V2ZW50PigpO1xuXG5cbiAgICBASW5wdXQoKVxuICAgIHRhcmdldDogQVhCYXNlQ29tcG9uZW50XG5cblxuXG5cblxuICAgIHByaXZhdGUgX2l0ZW1zOiBBWEJ1dHRvbkl0ZW1bXTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgaXRlbXMoKTogQVhCdXR0b25JdGVtW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXMgfHwgW107XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaXRlbXModjogQVhCdXR0b25JdGVtW10pIHtcbiAgICAgICAgdGhpcy5faXRlbXMgPSB2O1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG5cblxuICAgIEBWaWV3Q2hpbGQoJ2Jhc2VUZW1wbGF0ZScpXG4gICAgX2Jhc2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgICBfdGVtcGxhdGVQb3J0YWw6IFRlbXBsYXRlUG9ydGFsO1xuXG4gICAgX2Ryb3Bkb3duV2lkdGg6IG51bWJlcjtcbiAgICBfbmVlZEJvcmRlcjogYm9vbGVhbj1mYWxzZTtcbiAgICBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIHByaXZhdGUgX2dldEFsbEJ1dHRvbnMoKTogQVhCdXR0b25JdGVtQ29tcG9uZW50W10ge1xuICAgICAgICByZXR1cm4gWy4uLkFycmF5LmZyb20odGhpcy5fdmlld0J1dHRvbnMpLCAuLi5BcnJheS5mcm9tKHRoaXMuX2NvbnRlbnRCdXR0b25zKV07XG4gICAgfVxuXG5cbiAgICBvblZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLl9nZXRBbGxCdXR0b25zKCkuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgIHRoaXMuX25lZWRCb3JkZXI9dHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX3N1YnMucHVzaChjLm9uQ2xpY2suc3Vic2NyaWJlKHRoaXMuX2hhbmRsZU9uSXRlbUNsaWNrLmJpbmQodGhpcykpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiB7XG4gICAgICAgICAgICBzPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIF9oYW5kbGVLZXlkb3duSGFuZGxlcihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiBlLnR5cGUgPT09ICdrZXlkb3duJykge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG5cbiAgICBfaGFuZGxlQXJyb3dDbGlja0V2ZW50KGU6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG5cbiAgICBfZW1pdE9uSXRlbUNsaWNrRXZlbnQoZTogQVhDbGlja0V2ZW50LCBpdGVtOiBBWEJ1dHRvbkl0ZW1Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KHtcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLFxuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGUubmF0aXZlRXZlbnQsXG4gICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICBkYXRhOiBpdGVtLmRhdGEsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGFuZGxlT25JdGVtQ2xpY2soZTogQVhDbGlja0V2ZW50KSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5fZW1pdE9uSXRlbUNsaWNrRXZlbnQoZSwgZS5jb21wb25lbnQpO1xuXG4gICAgfVxuXG5cbiAgICB0b2dnbGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkICE9PSB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICAgICAgdGhpcy5fc3Vic1sxXT8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fZW1pdE9uQ2xvc2VkRXZlbnQoKTtcbiAgICB9XG5cbiAgICBvcGVuKCkge1xuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpO1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl90ZW1wbGF0ZVBvcnRhbCk7XG4gICAgICAgIHRoaXMuX2VtaXRPbk9wZW5lZEV2ZW50KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZW5zdXJlT3ZlcmxheUNyZWF0ZWQoKSB7XG4gICAgICAgIGxldCBiYXNlU2l6ZSA9IE51bWJlcihnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1heC1iYXNlLXNpemUnKS5yZXBsYWNlKCdweCcsICcnKSk7XG4gICAgICAgIGNvbnN0IHRhcmdldFJlZiA9IHRoaXMudGFyZ2V0Ll9nZXRJbm5lckVsZW1lbnQoKTtcblxuICAgICAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcbiAgICAgICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldFk6IGJhc2VTaXplXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpLFxuICAgICAgICAgICAgICAgIC8vcGFuZWxDbGFzczogWydhbmltYXRlX19hbmltYXRlZCcsICdhbmltYXRlX19mYWRlSW4nLCAnYW5pbWF0ZV9fZmFzdGVyJ10sXG4gICAgICAgICAgICAgICAgcGFuZWxDbGFzczogWydheC1hbmltYXRlLWZhZGUtaW4nXSxcbiAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogWydjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNbMF0gPSB0aGlzLl9vdmVybGF5UmVmLl9vdXRzaWRlUG9pbnRlckV2ZW50cy5zdWJzY3JpYmUoYyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gYy50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgY29uc3QgY29tRWxlbSA9IHRhcmdldFJlZjtcbiAgICAgICAgICAgICAgICBpZiAoIShjb21FbGVtLmNvbnRhaW5zKHRhcmdldCkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNbMV0gPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maXRQYXJlbnQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZHJvcGRvd25XaWR0aCA9IHRhcmdldFJlZi5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kcm9wZG93bldpZHRoID0gdGFyZ2V0UmVmLm9mZnNldFdpZHRoICogMS41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9zdWJzWzJdID0gdGhpcy5fcGxhdGZvcm0uc2Nyb2xsLnN1YnNjcmliZShjID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEoYy5uYXRpdmVFdmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy5heC1vdmVybGF5LXBhbmUnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fdGVtcGxhdGVQb3J0YWwpIHtcbiAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuX2Jhc2VUZW1wbGF0ZSwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVJlZiA/IHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSA6IGZhbHNlO1xuICAgIH1cblxufVxuIiwiPG5nLXRlbXBsYXRlICNiYXNlVGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImF4LW92ZXJsYXktcGFuZVwiIFtjbGFzcy5heC1kcm9wZG93bi1saXN0XT1cIl9uZWVkQm9yZGVyXCIgW3N0eWxlLm1pbi13aWR0aC5weF09XCJfZHJvcGRvd25XaWR0aFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoO2Vsc2UgcGFuZWxUcGxcIj5cbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbSBbdGV4dF09XCJpdGVtLnRleHRcIiBbY29sb3JdPVwiaXRlbS5jb2xvclwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPGF4LXByZWZpeCAqbmdJZj1cIml0ZW0uaWNvbkNsYXNzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIFtpY29uXT1cIml0ZW0uaWNvbkNsYXNzXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGFuZWxUcGw+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcGFuZWxdLGF4LWJ1dHRvbi1pdGVtXCI+XG4gICAgICAgICAgICA8L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, ViewChildren, EventEmitter, Output, Input, ViewChild, Optional } from '@angular/core';
2
+ import { AXButtonItemComponent } from '../button';
3
+ import { AXPopoverComponent } from '../popover';
4
+ import { AXBaseDropDownComponent } from './dropdown-base.class';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../button";
7
+ import * as i2 from "../popover/popover.component";
8
+ import * as i3 from "../button/button-item.component";
9
+ import * as i4 from "../decorators/prefix.component";
10
+ import * as i5 from "../icon/icon.component";
11
+ import * as i6 from "@angular/common";
12
+ export class AXDropdownPanelComponent extends AXBaseDropDownComponent {
13
+ constructor(elementRef, cdr, _parent) {
14
+ super(elementRef, cdr);
15
+ this._parent = _parent;
16
+ this.onItemClick = new EventEmitter();
17
+ this._needBorder = false;
18
+ this._subs = [];
19
+ this._target = this._parent._getHostElement();
20
+ }
21
+ get items() {
22
+ return this._items || [];
23
+ }
24
+ set items(v) {
25
+ this._items = v;
26
+ this._cdr.markForCheck();
27
+ }
28
+ _getAllButtons() {
29
+ return [...Array.from(this._viewButtons), ...Array.from(this._contentButtons)];
30
+ }
31
+ onViewInit() {
32
+ super.onViewInit();
33
+ this._getAllButtons().forEach(c => {
34
+ this._needBorder = true;
35
+ this._subs.push(c.onClick.subscribe(this._handleOnItemClick.bind(this)));
36
+ this._cdr.markForCheck();
37
+ });
38
+ }
39
+ onDestroy() {
40
+ this._subs.forEach(s => {
41
+ s === null || s === void 0 ? void 0 : s.unsubscribe();
42
+ });
43
+ }
44
+ _emitOnItemClickEvent(e, item) {
45
+ this.onItemClick.emit({
46
+ component: this,
47
+ htmlElement: this._getHostElement(),
48
+ nativeEvent: e.nativeEvent,
49
+ name: item.name,
50
+ data: item.data,
51
+ });
52
+ }
53
+ _handleOnItemClick(e) {
54
+ this.close();
55
+ this._emitOnItemClickEvent(e, e.component);
56
+ }
57
+ }
58
+ AXDropdownPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownPanelComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXButtonComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
59
+ AXDropdownPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: { items: "items" }, outputs: { onItemClick: "onItemClick" }, queries: [{ propertyName: "_contentButtons", predicate: AXButtonItemComponent }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true }, { propertyName: "_viewButtons", predicate: AXButtonItemComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'toggle'\" [closeTrigger]=\"'clickout'\">\r\n <div class=\"ax-overlay-pane\" [class.ax-dropdown-list]=\"_needBorder\" >\r\n <ng-container *ngIf=\"items && items.length;else panelTpl\">\r\n <ax-button-item [text]=\"item.text\" [color]=\"item.color\" *ngFor=\"let item of items\">\r\n <ax-prefix *ngIf=\"item.iconClass\">\r\n <ax-icon [icon]=\"item.iconClass\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button-item>\r\n </ng-container>\r\n <ng-template #panelTpl>\r\n <ng-content select=\"[panel],ax-button-item\">\r\n </ng-content>\r\n </ng-template>\r\n </div>\r\n</ax-popover>", components: [{ type: i2.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass"] }, { type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["text", "tooltip", "selected", "seperated", "name", "data", "color"] }, { type: i4.AXDecoratorPrefixComponent, selector: "ax-prefix" }, { type: i5.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownPanelComponent, decorators: [{
61
+ type: Component,
62
+ args: [{
63
+ selector: 'ax-dropdown-panel',
64
+ templateUrl: './dropdown-panel.component.html',
65
+ changeDetection: ChangeDetectionStrategy.OnPush,
66
+ encapsulation: ViewEncapsulation.None,
67
+ }]
68
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXButtonComponent, decorators: [{
69
+ type: Optional
70
+ }] }]; }, propDecorators: { _contentButtons: [{
71
+ type: ContentChildren,
72
+ args: [AXButtonItemComponent]
73
+ }], _viewButtons: [{
74
+ type: ViewChildren,
75
+ args: [AXButtonItemComponent]
76
+ }], onItemClick: [{
77
+ type: Output
78
+ }], popover: [{
79
+ type: ViewChild,
80
+ args: [AXPopoverComponent]
81
+ }], items: [{
82
+ type: Input
83
+ }] } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixlQUFlLEVBQ2YsWUFBWSxFQUVaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFtQyxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7O0FBWWhFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7SUFFakUsWUFDSSxVQUFzQixFQUN0QixHQUFzQixFQUVmLE9BQTBCO1FBRWpDLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFGaEIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFVckMsZ0JBQVcsR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFldkYsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsVUFBSyxHQUFtQixFQUFFLENBQUM7UUF2QnZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBWUQsSUFDVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBaUI7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBTU8sY0FBYztRQUNsQixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUdELFVBQVU7UUFDTixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixDQUFDLGFBQUQsQ0FBQyx1QkFBRCxDQUFDLENBQUUsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQscUJBQXFCLENBQUMsQ0FBZSxFQUFFLElBQTJCO1FBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2xCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDbkMsV0FBVyxFQUFFLENBQUMsQ0FBQyxXQUFXO1lBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsQ0FBZTtRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUvQyxDQUFDOztxSEF0RVEsd0JBQXdCO3lHQUF4Qix3QkFBd0IsOEpBWWhCLHFCQUFxQixzRUFNM0Isa0JBQWtCLGtFQUxmLHFCQUFxQix1RUM5Q3ZDLHN3QkFjYTsyRkRtQkEsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDeEM7OzBCQU1RLFFBQVE7NENBTzJCLGVBQWU7c0JBQXRELGVBQWU7dUJBQUMscUJBQXFCO2dCQUNELFlBQVk7c0JBQWhELFlBQVk7dUJBQUMscUJBQXFCO2dCQUduQyxXQUFXO3NCQURWLE1BQU07Z0JBSUcsT0FBTztzQkFEaEIsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBS2xCLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29udGVudENoaWxkcmVuLFxyXG4gICAgVmlld0NoaWxkcmVuLFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgSW5wdXQsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBPcHRpb25hbFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWEJ1dHRvbkNsaWNrRXZlbnQsIEFYQ2xpY2tFdmVudCwgQVhDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBfRHJvcGRvd25Db21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2Ryb3Bkb3duLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9pbnRlcmFjdGl2ZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IEFYQnV0dG9uQ29tcG9uZW50LCBBWEJ1dHRvbkl0ZW0sIEFYQnV0dG9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbic7XHJcbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBBWEJhc2VEcm9wRG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tYmFzZS5jbGFzcyc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWRyb3Bkb3duLXBhbmVsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWERyb3Bkb3duUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VEcm9wRG93bkNvbXBvbmVudCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIEBPcHRpb25hbCgpXHJcbiAgICAgICAgcHVibGljIF9wYXJlbnQ6IEFYQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgICAgICB0aGlzLl90YXJnZXQgPSB0aGlzLl9wYXJlbnQuX2dldEhvc3RFbGVtZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihBWEJ1dHRvbkl0ZW1Db21wb25lbnQpIF9jb250ZW50QnV0dG9uczogUXVlcnlMaXN0PEFYQnV0dG9uSXRlbUNvbXBvbmVudD47XHJcbiAgICBAVmlld0NoaWxkcmVuKEFYQnV0dG9uSXRlbUNvbXBvbmVudCkgX3ZpZXdCdXR0b25zOiBRdWVyeUxpc3Q8QVhCdXR0b25JdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8QVhCdXR0b25DbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhCdXR0b25DbGlja0V2ZW50PigpO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoQVhQb3BvdmVyQ29tcG9uZW50KVxyXG4gICAgcHJvdGVjdGVkIHBvcG92ZXI6IEFYUG9wb3ZlckNvbXBvbmVudDtcclxuXHJcbiAgICBwcml2YXRlIF9pdGVtczogQVhCdXR0b25JdGVtW107XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdldCBpdGVtcygpOiBBWEJ1dHRvbkl0ZW1bXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zIHx8IFtdO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBpdGVtcyh2OiBBWEJ1dHRvbkl0ZW1bXSkge1xyXG4gICAgICAgIHRoaXMuX2l0ZW1zID0gdjtcclxuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgX25lZWRCb3JkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gICAgX3RhcmdldDogSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0QWxsQnV0dG9ucygpOiBBWEJ1dHRvbkl0ZW1Db21wb25lbnRbXSB7XHJcbiAgICAgICAgcmV0dXJuIFsuLi5BcnJheS5mcm9tKHRoaXMuX3ZpZXdCdXR0b25zKSwgLi4uQXJyYXkuZnJvbSh0aGlzLl9jb250ZW50QnV0dG9ucyldO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvblZpZXdJbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm9uVmlld0luaXQoKTtcclxuICAgICAgXHJcbiAgICAgICAgdGhpcy5fZ2V0QWxsQnV0dG9ucygpLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX25lZWRCb3JkZXIgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLl9zdWJzLnB1c2goYy5vbkNsaWNrLnN1YnNjcmliZSh0aGlzLl9oYW5kbGVPbkl0ZW1DbGljay5iaW5kKHRoaXMpKSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICAgICAgICBzPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9lbWl0T25JdGVtQ2xpY2tFdmVudChlOiBBWENsaWNrRXZlbnQsIGl0ZW06IEFYQnV0dG9uSXRlbUNvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25JdGVtQ2xpY2suZW1pdCh7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXHJcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLm5hdGl2ZUV2ZW50LFxyXG4gICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICAgIGRhdGE6IGl0ZW0uZGF0YSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9oYW5kbGVPbkl0ZW1DbGljayhlOiBBWENsaWNrRXZlbnQpIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgdGhpcy5fZW1pdE9uSXRlbUNsaWNrRXZlbnQoZSwgZS5jb21wb25lbnQpO1xyXG5cclxuICAgIH1cclxufVxyXG4iLCI8YXgtcG9wb3ZlciBbdGFyZ2V0XT1cIl90YXJnZXRcIiBbcG9zaXRpb25dPVwicG9zaXRpb25cIiBbb3BlblRyaWdnZXJdPVwiJ3RvZ2dsZSdcIiBbY2xvc2VUcmlnZ2VyXT1cIidjbGlja291dCdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1vdmVybGF5LXBhbmVcIiBbY2xhc3MuYXgtZHJvcGRvd24tbGlzdF09XCJfbmVlZEJvcmRlclwiID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoO2Vsc2UgcGFuZWxUcGxcIj5cclxuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFt0ZXh0XT1cIml0ZW0udGV4dFwiIFtjb2xvcl09XCJpdGVtLmNvbG9yXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgIDxheC1wcmVmaXggKm5nSWY9XCJpdGVtLmljb25DbGFzc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIFtpY29uXT1cIml0ZW0uaWNvbkNsYXNzXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNwYW5lbFRwbD5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BhbmVsXSxheC1idXR0b24taXRlbVwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L2F4LXBvcG92ZXI+Il19
@@ -1,139 +1,32 @@
1
- import { TemplatePortal } from '@angular/cdk/portal';
2
- import { ChangeDetectionStrategy, Component, HostListener, ViewChild, ViewEncapsulation } from '@angular/core';
3
- import { AXBaseDropdownMixin } from '../base/mixin/mixin.class';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/overlay";
6
- import * as i2 from "@acorex/core";
7
- import * as i3 from "../button/button.component";
8
- import * as i4 from "../icon/icon.component";
9
- export class AXDropdownComponent extends AXBaseDropdownMixin {
10
- constructor(_elementRef, _cdr, _overlay, _platform, _viewContainerRef) {
11
- super(_elementRef, _cdr);
12
- this._overlay = _overlay;
13
- this._platform = _platform;
14
- this._viewContainerRef = _viewContainerRef;
15
- this._subs = [];
16
- }
17
- onViewInit() {
18
- }
19
- ngOnDestroy() {
20
- var _a, _b;
21
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
22
- (_b = this._overlayRef) === null || _b === void 0 ? void 0 : _b.dispose();
23
- this._subs.forEach(s => {
24
- s === null || s === void 0 ? void 0 : s.unsubscribe();
25
- });
26
- }
27
- _handleKeydownHandler(e) {
28
- if (e.key === 'Enter' && e.type === 'keydown') {
29
- this.toggle();
30
- }
31
- if (e.key === 'Escape') {
32
- if (this.isOpen) {
33
- this.close();
34
- e.stopPropagation();
35
- }
36
- }
37
- }
38
- _handleArrowClickEvent() {
39
- this.toggle();
40
- }
41
- toggle() {
42
- if (this.disabled !== true && this.readonly !== true) {
43
- this.isOpen ? this.close() : this.open();
44
- }
45
- }
46
- close() {
47
- var _a, _b;
48
- if (!this.isOpen) {
49
- return;
50
- }
51
- (_a = this._overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
52
- (_b = this._subs[1]) === null || _b === void 0 ? void 0 : _b.unsubscribe();
53
- this._emitOnClosedEvent();
54
- }
55
- open() {
56
- if (this.isOpen) {
57
- return;
58
- }
59
- this._ensureOverlayCreated();
60
- this._overlayRef.attach(this._templatePortal);
61
- this._emitOnOpenedEvent();
62
- }
63
- _ensureOverlayCreated() {
64
- let baseSize = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', '')) / 2;
65
- if (!this._overlayRef) {
66
- const positionStrategy = this._overlay.position()
67
- .flexibleConnectedTo(this._getInnerElement())
68
- .withPositions([
69
- {
70
- originX: 'start',
71
- originY: 'bottom',
72
- overlayX: 'start',
73
- overlayY: 'top',
74
- offsetY: baseSize
75
- },
76
- {
77
- originX: 'start',
78
- originY: 'top',
79
- overlayX: 'start',
80
- overlayY: 'bottom'
81
- }
82
- ])
83
- .withPush(false);
84
- this._overlayRef = this._overlay.create({
85
- positionStrategy,
86
- scrollStrategy: this._overlay.scrollStrategies.close(),
87
- panelClass: ['animate__animated', 'animate__fadeIn', 'animate__faster'],
88
- hasBackdrop: false,
89
- backdropClass: ['cdk-overlay-transparent-backdrop']
90
- });
91
- this._subs[0] = this._overlayRef._outsidePointerEvents.subscribe(c => {
92
- const target = c.target;
93
- const comElem = this._getHostElement();
94
- if (!(comElem.contains(target))) {
95
- this.close();
96
- }
97
- });
98
- this._subs[1] = this._overlayRef.attachments().subscribe(() => {
99
- if (this.fitParent === true) {
100
- this._dropdownWidth = this._getInnerElement().offsetWidth;
101
- }
102
- else {
103
- this._dropdownWidth = null;
104
- }
105
- this._subs[2] = this._platform.scroll.subscribe(c => {
106
- if (!c.nativeEvent.target.closest('.ax-overlay-pane'))
107
- this.close();
108
- });
109
- });
110
- }
111
- if (!this._templatePortal) {
112
- this._templatePortal = new TemplatePortal(this._baseTemplate, this._viewContainerRef);
113
- }
114
- }
115
- get isOpen() {
116
- return this._overlayRef ? this._overlayRef.hasAttached() : false;
117
- }
118
- }
119
- AXDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
120
- AXDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDropdownComponent, selector: "ax-drop-down", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", fitParent: "fitParent" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, host: { listeners: { "keydown": "_handleKeydownHandler($event)" }, classAttribute: "ax-dropdown" }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container\">\n <ng-content select=\"ax-prefix\">\n </ng-content>\n <div class=\"ax-dropdown-content\" style=\"display: inline-flex;\" (click)=\"_handleArrowClickEvent()\">\n <ng-content select=\"ng-container[input]\">\n </ng-content>\n </div>\n <ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" [size]=\"size\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent()\">\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\n </ax-button>\n <ng-content select=\"ax-suffix\">\n </ng-content>\n <ng-template #baseTemplate>\n <div class=\"ax-overlay-pane ax-transition ax-duration-300 ax-ease-in-out\" [style.min-width.px]=\"_dropdownWidth\">\n <ng-content select=\"ng-container[panel]\">\n </ng-content>\n </div>\n </ng-template>\n</div>", components: [{ type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "cssClass", "cssStyle", "text", "submitBehavior", "cancelBehavior", "color", "look", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { type: i4.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownComponent, decorators: [{
122
- type: Component,
123
- args: [{
124
- selector: 'ax-drop-down',
125
- templateUrl: 'dropdown.component.html',
126
- inputs: ['disabled', 'readonly', 'tabIndex', 'size', 'fitParent'],
127
- outputs: ['onOpened', 'onClosed'],
128
- encapsulation: ViewEncapsulation.None,
129
- changeDetection: ChangeDetectionStrategy.OnPush,
130
- host: { class: 'ax-dropdown' }
131
- }]
132
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i2.AXPlatform }, { type: i0.ViewContainerRef }]; }, propDecorators: { _baseTemplate: [{
133
- type: ViewChild,
134
- args: ['baseTemplate']
135
- }], _handleKeydownHandler: [{
136
- type: HostListener,
137
- args: ['keydown', ['$event']]
138
- }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxZQUFZLEVBQWUsU0FBUyxFQUFvQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3SyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBV2hFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxtQkFBbUI7SUFZeEQsWUFDSSxXQUF1QixFQUN2QixJQUF1QixFQUNmLFFBQWlCLEVBQ2pCLFNBQXFCLEVBQ3JCLGlCQUFtQztRQUUzQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBSmpCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBWTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBUi9DLFVBQUssR0FBbUIsRUFBRSxDQUFDO0lBVzNCLENBQUM7SUFJRCxVQUFVO0lBRVYsQ0FBQztJQUVELFdBQVc7O1FBQ1AsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxNQUFNLEVBQUUsQ0FBQztRQUMzQixNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25CLENBQUMsYUFB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ZSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDekY7SUFDTCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDckUsQ0FBQzs7Z0hBdElRLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDJjQ2pCaEMsdTNCQWtCTTsyRkRETyxtQkFBbUI7a0JBVC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUM7b0JBQ2pFLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7b0JBQ2pDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTtpQkFDakM7K01BSUcsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWM7Z0JBbUN6QixxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50SW50ZXJmYWNlIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9kcm9wZG93bi1taXhpbi5jbGFzcyc7XG5pbXBvcnQgeyBBWEJhc2VEcm9wZG93bk1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9taXhpbi5jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXgtZHJvcC1kb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAncmVhZG9ubHknLCAndGFiSW5kZXgnLCAnc2l6ZScsICdmaXRQYXJlbnQnXSxcbiAgICBvdXRwdXRzOiBbJ29uT3BlbmVkJywgJ29uQ2xvc2VkJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtZHJvcGRvd24nIH1cbn0pXG5leHBvcnQgY2xhc3MgQVhEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIEFYQmFzZURyb3Bkb3duTWl4aW4gaW1wbGVtZW50cyBEcm9wZG93bkNvbXBvbmVudEludGVyZmFjZSB7XG5cbiAgICBAVmlld0NoaWxkKCdiYXNlVGVtcGxhdGUnKVxuICAgIF9iYXNlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gICAgX3RlbXBsYXRlUG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDtcblxuICAgIF9kcm9wZG93bldpZHRoOiBudW1iZXI7XG4gICAgX2Ryb3Bkb3duTmF0aXZlOiBudW1iZXI7XG4gICAgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtLFxuICAgICAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcbiAgICB9XG5cblxuXG4gICAgb25WaWV3SW5pdCgpIHtcblxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiB7XG4gICAgICAgICAgICBzPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBfaGFuZGxlS2V5ZG93bkhhbmRsZXIoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgZS50eXBlID09PSAna2V5ZG93bicpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfaGFuZGxlQXJyb3dDbGlja0V2ZW50KCkge1xuICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cblxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCAhPT0gdHJ1ZSAmJiB0aGlzLnJlYWRvbmx5ICE9PSB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICAgICAgdGhpcy5fc3Vic1sxXT8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fZW1pdE9uQ2xvc2VkRXZlbnQoKTtcbiAgICB9XG5cbiAgICBvcGVuKCkge1xuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpO1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl90ZW1wbGF0ZVBvcnRhbCk7XG5cbiAgICAgICAgdGhpcy5fZW1pdE9uT3BlbmVkRXZlbnQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpIHtcbiAgICAgICAgbGV0IGJhc2VTaXplID0gTnVtYmVyKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWF4LWJhc2Utc2l6ZScpLnJlcGxhY2UoJ3B4JywgJycpKSAvIDI7XG5cbiAgICAgICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpXG4gICAgICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5fZ2V0SW5uZXJFbGVtZW50KCkpXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldFk6IGJhc2VTaXplXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpLFxuICAgICAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFsnYW5pbWF0ZV9fYW5pbWF0ZWQnLCAnYW5pbWF0ZV9fZmFkZUluJywgJ2FuaW1hdGVfX2Zhc3RlciddLFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBiYWNrZHJvcENsYXNzOiBbJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ11cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fc3Vic1swXSA9IHRoaXMuX292ZXJsYXlSZWYuX291dHNpZGVQb2ludGVyRXZlbnRzLnN1YnNjcmliZShjID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBjLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21FbGVtID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAgICAgICAgICAgICBpZiAoIShjb21FbGVtLmNvbnRhaW5zKHRhcmdldCkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNbMV0gPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maXRQYXJlbnQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZHJvcGRvd25XaWR0aCA9IHRoaXMuX2dldElubmVyRWxlbWVudCgpLm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Ryb3Bkb3duV2lkdGggPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9zdWJzWzJdID0gdGhpcy5fcGxhdGZvcm0uc2Nyb2xsLnN1YnNjcmliZShjID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEoYy5uYXRpdmVFdmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy5heC1vdmVybGF5LXBhbmUnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fdGVtcGxhdGVQb3J0YWwpIHtcbiAgICAgICAgICAgIHRoaXMuX3RlbXBsYXRlUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuX2Jhc2VUZW1wbGF0ZSwgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVJlZiA/IHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSA6IGZhbHNlO1xuICAgIH1cbn0iLCI8ZGl2IGNsYXNzPVwiYXgtZWRpdG9yLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPlxuICAgIDwvbmctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZHJvcGRvd24tY29udGVudFwiIHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWZsZXg7XCIgKGNsaWNrKT1cIl9oYW5kbGVBcnJvd0NsaWNrRXZlbnQoKVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJuZy1jb250YWluZXJbaW5wdXRdXCI+XG4gICAgICAgIDwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8YXgtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt0YWJJbmRleF09XCItMVwiIFtzaXplXT1cInNpemVcIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgIChvbkNsaWNrKT1cIl9oYW5kbGVBcnJvd0NsaWNrRXZlbnQoKVwiPlxuICAgICAgICA8YXgtaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBheC10cmFuc2Zvcm0gYXgtLXJvdGF0ZS05MFwiPjwvYXgtaWNvbj5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cbiAgICA8L25nLWNvbnRlbnQ+XG4gICAgPG5nLXRlbXBsYXRlICNiYXNlVGVtcGxhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1vdmVybGF5LXBhbmUgYXgtdHJhbnNpdGlvbiBheC1kdXJhdGlvbi0zMDAgYXgtZWFzZS1pbi1vdXRcIiBbc3R5bGUubWluLXdpZHRoLnB4XT1cIl9kcm9wZG93bldpZHRoXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJuZy1jb250YWluZXJbcGFuZWxdXCI+XG4gICAgICAgICAgICA8L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2Rpdj4iXX0=
1
+ import { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { AXPopoverComponent } from '../popover';
3
+ import { AXBaseDropDownComponent } from './dropdown-base.class';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../button/button.component";
6
+ import * as i2 from "../icon/icon.component";
7
+ import * as i3 from "../popover/popover.component";
8
+ export class AXDropdownComponent extends AXBaseDropDownComponent {
9
+ constructor(_elementRef, _cdr) {
10
+ super(_elementRef, _cdr);
11
+ this._target = this;
12
+ }
13
+ _handleArrowClickEvent() {
14
+ this.toggle();
15
+ }
16
+ }
17
+ AXDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
18
+ AXDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDropdownComponent, selector: "ax-drop-down", inputs: { disabled: "disabled", tabIndex: "tabIndex", size: "size", fitParent: "fitParent" }, viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container\" [class.ax-state-disabled]=\"disabled\">\r\n <ng-content select=\"ax-prefix\">\r\n </ng-content>\r\n <div class=\"ax-dropdown-content\" style=\"display: inline-flex;\" (click)=\"_handleArrowClickEvent()\">\r\n <ng-content select=\"[input]\">\r\n </ng-content>\r\n </div>\r\n <ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" [size]=\"size\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent()\">\r\n <ax-icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n </ax-button>\r\n <ng-content select=\"ax-suffix\">\r\n </ng-content>\r\n</div>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\">\r\n <div class=\"ax-overlay-pane\" [style.min-width.px]=\"dropdownWidth\">\r\n <ng-content select=\"[panel]\">\r\n </ng-content>\r\n </div>\r\n</ax-popover>", components: [{ type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "text", "submitBehavior", "cancelBehavior", "color", "look", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { type: i2.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }, { type: i3.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDropdownComponent, decorators: [{
20
+ type: Component,
21
+ args: [{
22
+ selector: 'ax-drop-down',
23
+ templateUrl: 'dropdown.component.html',
24
+ inputs: ['disabled', 'tabIndex', 'size', 'fitParent'],
25
+ encapsulation: ViewEncapsulation.None,
26
+ changeDetection: ChangeDetectionStrategy.OnPush
27
+ }]
28
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { popover: [{
29
+ type: ViewChild,
30
+ args: [AXPopoverComponent]
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBU2hFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSx1QkFBdUI7SUFPNUQsWUFDSSxXQUF1QixFQUN2QixJQUF1QjtRQUV2QixLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7O2dIQWpCUSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwyTEFFakIsa0JBQWtCLHVFQ2RqQywwN0JBa0JhOzJGRE5BLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEO2lJQUlhLE9BQU87c0JBRGhCLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IEFYUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBBWEJhc2VEcm9wRG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tYmFzZS5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtZHJvcC1kb3duJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3RhYkluZGV4JywgJ3NpemUnLCAnZml0UGFyZW50J10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBBWEJhc2VEcm9wRG93bkNvbXBvbmVudCB7XHJcblxyXG4gICAgQFZpZXdDaGlsZChBWFBvcG92ZXJDb21wb25lbnQpXHJcbiAgICBwcm90ZWN0ZWQgcG9wb3ZlcjogQVhQb3BvdmVyQ29tcG9uZW50O1xyXG5cclxuICAgIF90YXJnZXQ6IEFYQmFzZUNvbXBvbmVudDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIpO1xyXG4gICAgICAgIHRoaXMuX3RhcmdldCA9IHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgX2hhbmRsZUFycm93Q2xpY2tFdmVudCgpIHtcclxuICAgICAgICB0aGlzLnRvZ2dsZSgpO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImF4LWVkaXRvci1jb250YWluZXJcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPlxyXG4gICAgPC9uZy1jb250ZW50PlxyXG4gICAgPGRpdiBjbGFzcz1cImF4LWRyb3Bkb3duLWNvbnRlbnRcIiBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1mbGV4O1wiIChjbGljayk9XCJfaGFuZGxlQXJyb3dDbGlja0V2ZW50KClcIj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaW5wdXRdXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YXgtYnV0dG9uIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt0YWJJbmRleF09XCItMVwiIFtzaXplXT1cInNpemVcIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZUFycm93Q2xpY2tFdmVudCgpXCI+XHJcbiAgICAgICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNoZXZyb24gYXgtdHJhbnNmb3JtIGF4LS1yb3RhdGUtOTBcIj48L2F4LWljb24+XHJcbiAgICA8L2F4LWJ1dHRvbj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPlxyXG4gICAgPC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuPGF4LXBvcG92ZXIgW3RhcmdldF09XCJfdGFyZ2V0XCIgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCIgW29wZW5UcmlnZ2VyXT1cIidtYW51YWwnXCIgW2Nsb3NlVHJpZ2dlcl09XCInY2xpY2tvdXQnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtb3ZlcmxheS1wYW5lXCIgIFtzdHlsZS5taW4td2lkdGgucHhdPVwiZHJvcGRvd25XaWR0aFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwYW5lbF1cIj5cclxuICAgICAgICA8L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuPC9heC1wb3BvdmVyPiJdfQ==