@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,146 @@
1
+ import { AXTranslator } from '@acorex/core';
2
+ import { ComponentPortal } from '@angular/cdk/portal';
3
+ import { Injectable } from '@angular/core';
4
+ import { AXDialogComponent } from './dialog.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/overlay";
7
+ /**
8
+ * The Button is a component which detects user interaction and triggers a corresponding event
9
+ *
10
+ * @category Components
11
+ */
12
+ export class AXDialogService {
13
+ /**
14
+ * @ignore
15
+ */
16
+ constructor(overlayService, parentInjector, sso) {
17
+ this.overlayService = overlayService;
18
+ this.parentInjector = parentInjector;
19
+ this.sso = sso;
20
+ }
21
+ /**
22
+ * Show an alert box with 'Okay' button.
23
+ */
24
+ alert(title, content, type = 'primary') {
25
+ return new Promise((resolve) => {
26
+ const popup = this.open({
27
+ title,
28
+ type: type,
29
+ content,
30
+ buttons: [
31
+ {
32
+ name: 'confirm',
33
+ text: AXTranslator.get('common.okay'),
34
+ color: type,
35
+ look: `twotone`,
36
+ onClick: () => {
37
+ popup.close();
38
+ if (resolve) {
39
+ resolve();
40
+ }
41
+ },
42
+ },
43
+ ],
44
+ });
45
+ });
46
+ }
47
+ /**
48
+ * Show a confirm box with 'Okay' & 'Cancel' buttons.
49
+ */
50
+ confirm(title, content, type = 'primary') {
51
+ return new Promise((resolve, reject) => {
52
+ const popup = this.open({
53
+ title,
54
+ content,
55
+ type,
56
+ buttons: [
57
+ {
58
+ name: 'confirm',
59
+ text: AXTranslator.get('common.okay'),
60
+ color: type,
61
+ onClick: () => {
62
+ popup.close();
63
+ if (resolve) {
64
+ resolve();
65
+ }
66
+ },
67
+ submitBehavior: true,
68
+ cancelBehavior: false,
69
+ },
70
+ {
71
+ name: 'cancel',
72
+ text: AXTranslator.get('common.cancel'),
73
+ color: `light`,
74
+ onClick: () => {
75
+ popup.close();
76
+ if (reject) {
77
+ reject();
78
+ }
79
+ },
80
+ submitBehavior: false,
81
+ cancelBehavior: true,
82
+ },
83
+ ],
84
+ });
85
+ });
86
+ }
87
+ /**
88
+ * Show a custom dialog box.
89
+ */
90
+ show(options) {
91
+ return new Promise((resolve) => {
92
+ var _a;
93
+ const popup = this.open(options);
94
+ (_a = options.buttons) === null || _a === void 0 ? void 0 : _a.forEach((b) => {
95
+ const orginalClick = b.onClick;
96
+ b.onClick = () => {
97
+ popup.close();
98
+ if (orginalClick) {
99
+ orginalClick();
100
+ }
101
+ if (resolve) {
102
+ resolve({ name: b.name });
103
+ }
104
+ };
105
+ });
106
+ });
107
+ }
108
+ open(options) {
109
+ let positionStrategy = this.overlayService
110
+ .position()
111
+ .global()
112
+ .centerHorizontally()
113
+ .centerVertically();
114
+ const overlayRef = this.overlayService.create({
115
+ positionStrategy,
116
+ hasBackdrop: true,
117
+ scrollStrategy: this.sso.block(),
118
+ panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],
119
+ });
120
+ const dialogPortal = new ComponentPortal(AXDialogComponent, null, this.parentInjector);
121
+ const host = overlayRef.attach(dialogPortal);
122
+ if (host.instance) {
123
+ Object.assign(host.instance, {
124
+ options: options,
125
+ close: () => {
126
+ overlayRef.dispose();
127
+ },
128
+ });
129
+ setTimeout(() => {
130
+ host.changeDetectorRef.detectChanges();
131
+ }, 0);
132
+ }
133
+ return {
134
+ close: () => {
135
+ host.instance.close();
136
+ },
137
+ };
138
+ }
139
+ }
140
+ AXDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDialogService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i1.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Injectable });
141
+ AXDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDialogService, providedIn: 'root' });
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDialogService, decorators: [{
143
+ type: Injectable,
144
+ args: [{ providedIn: 'root' }]
145
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }, { type: i1.ScrollStrategyOptions }]; } });
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBTXJELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFFdkQ7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxlQUFlO0lBRTFCOztNQUVFO0lBQ0YsWUFDVSxjQUF1QixFQUN2QixjQUF3QixFQUN4QixHQUEwQjtRQUYxQixtQkFBYyxHQUFkLGNBQWMsQ0FBUztRQUN2QixtQkFBYyxHQUFkLGNBQWMsQ0FBVTtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUF1QjtJQUNoQyxDQUFDO0lBRUw7O01BRUU7SUFDRixLQUFLLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxPQUF5QixTQUFTO1FBQ3RFLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLO2dCQUNMLElBQUksRUFBRSxJQUFJO2dCQUNWLE9BQU87Z0JBQ1AsT0FBTyxFQUFFO29CQUNQO3dCQUNFLElBQUksRUFBRSxTQUFTO3dCQUNmLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQzt3QkFDckMsS0FBSyxFQUFFLElBQUk7d0JBQ1gsSUFBSSxFQUFFLFNBQVM7d0JBQ2YsT0FBTyxFQUFFLEdBQUcsRUFBRTs0QkFDWixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7NEJB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Q3BCLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQzNCLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixLQUFLLEVBQUUsR0FBRyxFQUFFO29CQUNWLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQzthQUNGLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNQO1FBRUQsT0FBTztZQUNMLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7OzRHQXZJVSxlQUFlO2dIQUFmLGVBQWUsY0FERixNQUFNOzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IE92ZXJsYXksIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYU3R5bGVDb2xvclR5cGUgfSBmcm9tICcuLi9iYXNlL3N0eWxlcy5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgQVhEaWFsb2dPcHRpb25zLFxyXG4gIEFYRGlhbG9nUmVmLFxyXG59IGZyb20gJy4vZGlhbG9nLmNsYXNzJztcclxuaW1wb3J0IHsgQVhEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBWERpYWxvZ1NlcnZpY2Uge1xyXG5cclxuICAvKipcclxuICAqIEBpZ25vcmVcclxuICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5U2VydmljZTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgcGFyZW50SW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBzc286IFNjcm9sbFN0cmF0ZWd5T3B0aW9uc1xyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICogIFNob3cgYW4gYWxlcnQgYm94IHdpdGggJ09rYXknIGJ1dHRvbi5cclxuICAqL1xyXG4gIGFsZXJ0KHRpdGxlOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZywgdHlwZTogQVhTdHlsZUNvbG9yVHlwZSA9ICdwcmltYXJ5Jyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBvcHVwID0gdGhpcy5vcGVuKHtcclxuICAgICAgICB0aXRsZSxcclxuICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgIGNvbnRlbnQsXHJcbiAgICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBuYW1lOiAnY29uZmlybScsXHJcbiAgICAgICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5va2F5JyksXHJcbiAgICAgICAgICAgIGNvbG9yOiB0eXBlLFxyXG4gICAgICAgICAgICBsb29rOiBgdHdvdG9uZWAsXHJcbiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgICBwb3B1cC5jbG9zZSgpO1xyXG4gICAgICAgICAgICAgIGlmIChyZXNvbHZlKSB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiAgU2hvdyBhIGNvbmZpcm0gYm94IHdpdGggJ09rYXknICYgJ0NhbmNlbCcgYnV0dG9ucy5cclxuICAqL1xyXG4gIGNvbmZpcm0odGl0bGU6IHN0cmluZywgY29udGVudDogc3RyaW5nLCB0eXBlOiBBWFN0eWxlQ29sb3JUeXBlID0gJ3ByaW1hcnknKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCBwb3B1cCA9IHRoaXMub3Blbih7XHJcbiAgICAgICAgdGl0bGUsXHJcbiAgICAgICAgY29udGVudCxcclxuICAgICAgICB0eXBlLFxyXG4gICAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgbmFtZTogJ2NvbmZpcm0nLFxyXG4gICAgICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24ub2theScpLFxyXG4gICAgICAgICAgICBjb2xvcjogdHlwZSxcclxuICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHBvcHVwLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgaWYgKHJlc29sdmUpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN1Ym1pdEJlaGF2aW9yOiB0cnVlLFxyXG4gICAgICAgICAgICBjYW5jZWxCZWhhdmlvcjogZmFsc2UsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBuYW1lOiAnY2FuY2VsJyxcclxuICAgICAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNhbmNlbCcpLFxyXG4gICAgICAgICAgICBjb2xvcjogYGxpZ2h0YCxcclxuICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHBvcHVwLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgaWYgKHJlamVjdCkge1xyXG4gICAgICAgICAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzdWJtaXRCZWhhdmlvcjogZmFsc2UsXHJcbiAgICAgICAgICAgIGNhbmNlbEJlaGF2aW9yOiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiAgU2hvdyBhIGN1c3RvbSBkaWFsb2cgYm94LlxyXG4gICovXHJcbiAgc2hvdyhvcHRpb25zOiBBWERpYWxvZ09wdGlvbnMpOiBQcm9taXNlPHsgbmFtZTogc3RyaW5nIH0+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICBjb25zdCBwb3B1cCA9IHRoaXMub3BlbihvcHRpb25zKTtcclxuICAgICAgb3B0aW9ucy5idXR0b25zPy5mb3JFYWNoKChiKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb3JnaW5hbENsaWNrID0gYi5vbkNsaWNrO1xyXG4gICAgICAgIGIub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgIHBvcHVwLmNsb3NlKCk7XHJcbiAgICAgICAgICBpZiAob3JnaW5hbENsaWNrKSB7XHJcbiAgICAgICAgICAgIG9yZ2luYWxDbGljaygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHJlc29sdmUpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh7IG5hbWU6IGIubmFtZSB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvcGVuKG9wdGlvbnM6IEFYRGlhbG9nT3B0aW9ucyk6IEFYRGlhbG9nUmVmIHtcclxuICAgIGxldCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5U2VydmljZVxyXG4gICAgICAucG9zaXRpb24oKVxyXG4gICAgICAuZ2xvYmFsKClcclxuICAgICAgLmNlbnRlckhvcml6b250YWxseSgpXHJcbiAgICAgIC5jZW50ZXJWZXJ0aWNhbGx5KCk7XHJcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5vdmVybGF5U2VydmljZS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuc3NvLmJsb2NrKCksXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1mYWRlSW4nLCAnYXgtYW5pbWF0ZS1mYXN0ZXInXSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgZGlhbG9nUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChcclxuICAgICAgQVhEaWFsb2dDb21wb25lbnQsXHJcbiAgICAgIG51bGwsXHJcbiAgICAgIHRoaXMucGFyZW50SW5qZWN0b3JcclxuICAgICk7XHJcbiAgICBjb25zdCBob3N0ID0gb3ZlcmxheVJlZi5hdHRhY2goZGlhbG9nUG9ydGFsKTtcclxuICAgIGlmIChob3N0Lmluc3RhbmNlKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24oaG9zdC5pbnN0YW5jZSwge1xyXG4gICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXHJcbiAgICAgICAgY2xvc2U6ICgpID0+IHtcclxuICAgICAgICAgIG92ZXJsYXlSZWYuZGlzcG9zZSgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBob3N0LmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY2xvc2U6ICgpID0+IHtcclxuICAgICAgICBob3N0Lmluc3RhbmNlLmNsb3NlKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './dialog.component';
2
+ export * from './dialog.class';
3
+ export * from './dialog.service';
4
+ export * from './dialog.module';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RpYWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cuY2xhc3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cubW9kdWxlJztcclxuIl19
@@ -0,0 +1,73 @@
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren } from '@angular/core';
2
+ import { AXBaseComponentMixin } from '../base';
3
+ import { AXDrawerComponent } from './drawer.component';
4
+ import * as i0 from "@angular/core";
5
+ export class AXDrawerContainerComponent extends AXBaseComponentMixin {
6
+ constructor(elementRef, cdr, zone) {
7
+ super(elementRef, cdr);
8
+ this.zone = zone;
9
+ }
10
+ onViewInit() {
11
+ this._updateWidth();
12
+ // add animation
13
+ setTimeout(() => {
14
+ this._getHostElement().querySelectorAll('ax-drawer').forEach(c => {
15
+ c.classList.add('ax-animated');
16
+ });
17
+ }, 100);
18
+ this.drawers.forEach(c => {
19
+ c.onChanged.subscribe(c => {
20
+ this._updateWidth();
21
+ });
22
+ });
23
+ }
24
+ _updateWidth() {
25
+ this.zone.runOutsideAngular(() => {
26
+ const container = this._getHostElement().closest('ax-drawer-container');
27
+ const parentWidth = this._getHostElement().getBoundingClientRect().width;
28
+ let w = 0;
29
+ this._getHostElement().querySelectorAll('ax-drawer').forEach(c => {
30
+ const elm = c;
31
+ const width = elm.getBoundingClientRect().width;
32
+ const overflow = parentWidth < width;
33
+ const diff = width - parentWidth;
34
+ w += ['ax-expanded', 'ax-drawer-push'].every(c => elm.classList.contains(c)) ? width : 0;
35
+ elm.style.setProperty('--attr-width', `${width}px`);
36
+ //TODO check overflow
37
+ elm.style.setProperty('--attr-diff', `${overflow ? diff : 0}px`);
38
+ });
39
+ container.style.setProperty('--attr-content-width', `${parentWidth - w}px`);
40
+ });
41
+ }
42
+ }
43
+ AXDrawerContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDrawerContainerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
44
+ AXDrawerContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDrawerContainerComponent, selector: "ax-drawer-container", inputs: { rtl: "rtl" }, host: { classAttribute: "ax-drawer-container" }, queries: [{ propertyName: "drawers", predicate: AXDrawerComponent }], usesInheritance: true, ngImport: i0, template: `
45
+ <ng-content select="ax-drawer[location='start']">
46
+ </ng-content>
47
+ <ng-content select="ax-drawer-content">
48
+ </ng-content>
49
+ <ng-content select="ax-drawer[location='end']">
50
+ </ng-content>
51
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDrawerContainerComponent, decorators: [{
53
+ type: Component,
54
+ args: [{
55
+ selector: 'ax-drawer-container',
56
+ template: `
57
+ <ng-content select="ax-drawer[location='start']">
58
+ </ng-content>
59
+ <ng-content select="ax-drawer-content">
60
+ </ng-content>
61
+ <ng-content select="ax-drawer[location='end']">
62
+ </ng-content>
63
+ `,
64
+ inputs: ['rtl'],
65
+ changeDetection: ChangeDetectionStrategy.OnPush,
66
+ encapsulation: ViewEncapsulation.None,
67
+ host: { class: 'ax-drawer-container' }
68
+ }]
69
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { drawers: [{
70
+ type: ContentChildren,
71
+ args: [AXDrawerComponent]
72
+ }] } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RyYXdlci9kcmF3ZXItY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUF5QyxlQUFlLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDekosT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQWlCdkQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG9CQUFvQjtJQUVoRSxZQUNJLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ2QsSUFBWTtRQUVwQixLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRmYsU0FBSSxHQUFKLElBQUksQ0FBUTtJQUd4QixDQUFDO0lBT0QsVUFBVTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixnQkFBZ0I7UUFDaEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzdELENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25DLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRVIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFlBQVk7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBbUIsQ0FBQztZQUMxRixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ1YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDN0QsTUFBTSxHQUFHLEdBQUcsQ0FBbUIsQ0FBQztnQkFDaEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUNoRCxNQUFNLFFBQVEsR0FBRyxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUNyQyxNQUFNLElBQUksR0FBRyxLQUFLLEdBQUcsV0FBVyxDQUFDO2dCQUNqQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekYsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDcEQscUJBQXFCO2dCQUNyQixHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRSxDQUFDLENBQUMsQ0FBQztZQUNILFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEYsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzt1SEFoRFEsMEJBQTBCOzJHQUExQiwwQkFBMEIsNEpBV2xCLGlCQUFpQixvREF4QnhCOzs7Ozs7O0tBT1Q7MkZBTVEsMEJBQTBCO2tCQWZ0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRTs7Ozs7OztLQU9UO29CQUNELE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztvQkFDZixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRTtpQkFDekM7c0pBYUcsT0FBTztzQkFETixlQUFlO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgTmdab25lLCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnRNaXhpbiB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBBWERyYXdlckNvbXBvbmVudCB9IGZyb20gJy4vZHJhd2VyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtZHJhd2VyLWNvbnRhaW5lcicsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWRyYXdlcltsb2NhdGlvbj0nc3RhcnQnXVwiPlxyXG4gICAgICAgIDwvbmctY29udGVudD5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1kcmF3ZXItY29udGVudFwiPlxyXG4gICAgICAgIDwvbmctY29udGVudD5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1kcmF3ZXJbbG9jYXRpb249J2VuZCddXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgYCxcclxuICAgIGlucHV0czogWydydGwnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdheC1kcmF3ZXItY29udGFpbmVyJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWERyYXdlckNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmVcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oQVhEcmF3ZXJDb21wb25lbnQpXHJcbiAgICBkcmF3ZXJzOiBRdWVyeUxpc3Q8QVhEcmF3ZXJDb21wb25lbnQ+O1xyXG5cclxuXHJcbiAgICBvblZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZVdpZHRoKCk7XHJcbiAgICAgICAgLy8gYWRkIGFuaW1hdGlvblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LWRyYXdlcicpLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgICAgICAgICBjLmNsYXNzTGlzdC5hZGQoJ2F4LWFuaW1hdGVkJyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcblxyXG4gICAgICAgIHRoaXMuZHJhd2Vycy5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgICBjLm9uQ2hhbmdlZC5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVXaWR0aCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF91cGRhdGVXaWR0aCgpIHtcclxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmNsb3Nlc3QoJ2F4LWRyYXdlci1jb250YWluZXInKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgICAgICAgICAgY29uc3QgcGFyZW50V2lkdGggPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xyXG4gICAgICAgICAgICBsZXQgdyA9IDA7XHJcbiAgICAgICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbCgnYXgtZHJhd2VyJykuZm9yRWFjaChjID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVsbSA9IGMgYXMgSFRNTERpdkVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB3aWR0aCA9IGVsbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG92ZXJmbG93ID0gcGFyZW50V2lkdGggPCB3aWR0aDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRpZmYgPSB3aWR0aCAtIHBhcmVudFdpZHRoO1xyXG4gICAgICAgICAgICAgICAgdyArPSBbJ2F4LWV4cGFuZGVkJywgJ2F4LWRyYXdlci1wdXNoJ10uZXZlcnkoYyA9PiBlbG0uY2xhc3NMaXN0LmNvbnRhaW5zKGMpKSA/IHdpZHRoIDogMDtcclxuICAgICAgICAgICAgICAgIGVsbS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hdHRyLXdpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgICAgICAgICAgICAgIC8vVE9ETyBjaGVjayBvdmVyZmxvd1xyXG4gICAgICAgICAgICAgICAgZWxtLnN0eWxlLnNldFByb3BlcnR5KCctLWF0dHItZGlmZicsIGAke292ZXJmbG93ID8gZGlmZiA6IDB9cHhgKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGNvbnRhaW5lci5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hdHRyLWNvbnRlbnQtd2lkdGgnLCBgJHtwYXJlbnRXaWR0aCAtIHd9cHhgKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
2
+ import { AXBaseComponentMixin } from '../base';
3
+ import * as i0 from "@angular/core";
4
+ export class AXDrawerContentComponent extends AXBaseComponentMixin {
5
+ constructor(elementRef, cdr) {
6
+ super(elementRef, cdr);
7
+ }
8
+ }
9
+ AXDrawerContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDrawerContentComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10
+ AXDrawerContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDrawerContentComponent, selector: "ax-drawer-content", host: { classAttribute: "ax-drawer-content" }, usesInheritance: true, ngImport: i0, template: `
11
+ <ng-content>
12
+ </ng-content>
13
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDrawerContentComponent, decorators: [{
15
+ type: Component,
16
+ args: [{
17
+ selector: 'ax-drawer-content',
18
+ template: `
19
+ <ng-content>
20
+ </ng-content>
21
+ `,
22
+ changeDetection: ChangeDetectionStrategy.OnPush,
23
+ encapsulation: ViewEncapsulation.None,
24
+ host: { class: 'ax-drawer-content' }
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9kcmF3ZXIvZHJhd2VyLWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFZL0MsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG9CQUFvQjtJQUU5RCxZQUNJLFVBQXNCLEVBQ3RCLEdBQXNCO1FBRXRCLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7cUhBUFEsd0JBQXdCO3lHQUF4Qix3QkFBd0IsK0hBUnZCOzs7S0FHVDsyRkFLUSx3QkFBd0I7a0JBVnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7S0FHVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRTtpQkFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50TWl4aW4gfSBmcm9tICcuLi9iYXNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1kcmF3ZXItY29udGVudCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxuZy1jb250ZW50PlxyXG4gICAgICAgIDwvbmctY29udGVudD5cclxuICAgIGAsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtZHJhd2VyLWNvbnRlbnQnIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYRHJhd2VyQ29udGVudENvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,145 @@
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, EventEmitter, HostListener } from '@angular/core';
2
+ import { AXBaseComponentMixin } from '../base';
3
+ import * as i0 from "@angular/core";
4
+ export class AXDrawerComponent extends AXBaseComponentMixin {
5
+ constructor(elementRef, cdr, zone) {
6
+ super(elementRef, cdr);
7
+ this.elementRef = elementRef;
8
+ this.zone = zone;
9
+ this.onChanged = new EventEmitter();
10
+ this.mode = 'push';
11
+ this.location = 'start';
12
+ this._collapsed = false;
13
+ }
14
+ get collapsed() {
15
+ return this._collapsed;
16
+ }
17
+ set collapsed(v) {
18
+ if (v != this._collapsed) {
19
+ this._collapsed = v;
20
+ this._updateClass();
21
+ this._emitChange();
22
+ }
23
+ }
24
+ onInit() {
25
+ this._getHostElement().classList.add(this.location == 'start' ? 'ax-drawer-start' : 'ax-drawer-end');
26
+ this._currentMode = this.mode;
27
+ }
28
+ _updateClass() {
29
+ this.zone.runOutsideAngular(() => {
30
+ const elm = this._getHostElement();
31
+ //
32
+ this._currentMode == 'overlay' ? this._setOverlayMode() : this._setPushMode();
33
+ //
34
+ if (this.collapsed) {
35
+ elm.classList.remove('ax-expanded');
36
+ elm.classList.add('ax-collapsed');
37
+ if (this._currentMode == 'overlay') {
38
+ this._removeBackdrop();
39
+ }
40
+ }
41
+ else {
42
+ elm.classList.add('ax-expanded');
43
+ elm.classList.remove('ax-collapsed');
44
+ if (this._currentMode == 'overlay') {
45
+ this._addBackdrop();
46
+ }
47
+ }
48
+ });
49
+ }
50
+ onViewInit() {
51
+ this._detectSize();
52
+ }
53
+ toggle() {
54
+ this.collapsed = !this.collapsed;
55
+ }
56
+ _handleWindowsResize(e) {
57
+ this._detectSize();
58
+ }
59
+ _detectSize() {
60
+ //TODO detect break size
61
+ const bound = this._getHostElement().parentElement.getBoundingClientRect();
62
+ if (bound.width == 0) {
63
+ console.log('Drawe invalid size', bound);
64
+ setTimeout(() => {
65
+ this._detectSize();
66
+ }, 1);
67
+ return;
68
+ }
69
+ if (bound.width < 400) {
70
+ this._currentMode = 'overlay';
71
+ this.collapsed = true;
72
+ }
73
+ else {
74
+ this._currentMode = this.mode;
75
+ }
76
+ this._updateClass();
77
+ this._emitChange();
78
+ }
79
+ _emitChange() {
80
+ this.onChanged.emit({
81
+ component: this,
82
+ htmlElement: this.elementRef.nativeElement
83
+ });
84
+ }
85
+ _setOverlayMode() {
86
+ this._currentMode = 'overlay';
87
+ this._getHostElement().classList.remove('ax-drawer-push');
88
+ this._getHostElement().classList.add('ax-drawer-overlay');
89
+ }
90
+ _setPushMode() {
91
+ this._currentMode = 'push';
92
+ this._getHostElement().classList.remove('ax-drawer-overlay');
93
+ this._getHostElement().classList.add('ax-drawer-push');
94
+ this._removeBackdrop();
95
+ }
96
+ _addBackdrop() {
97
+ if (!this._backdrop) {
98
+ this._backdrop = document.createElement('div');
99
+ this._backdrop.classList.add('ax-drawer-backdrop');
100
+ this._getHostElement().parentElement.prepend(this._backdrop);
101
+ this._backdrop.addEventListener('click', this._handleBackfropClick.bind(this));
102
+ }
103
+ }
104
+ _removeBackdrop() {
105
+ if (this._backdrop) {
106
+ this._backdrop.removeEventListener('click', this._handleBackfropClick.bind(this));
107
+ this._getHostElement().parentElement.removeChild(this._backdrop);
108
+ this._backdrop = null;
109
+ }
110
+ }
111
+ _handleBackfropClick(e) {
112
+ this._removeBackdrop();
113
+ this.collapsed = true;
114
+ }
115
+ }
116
+ AXDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDrawerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
117
+ AXDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: AXDrawerComponent, selector: "ax-drawer", inputs: { mode: "mode", location: "location", collapsed: "collapsed" }, outputs: { onChanged: "onChanged" }, host: { listeners: { "window:resize": "_handleWindowsResize($event)" }, classAttribute: "ax-drawer" }, usesInheritance: true, ngImport: i0, template: `
118
+ <ng-content>
119
+ </ng-content>
120
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDrawerComponent, decorators: [{
122
+ type: Component,
123
+ args: [{
124
+ selector: 'ax-drawer',
125
+ template: `
126
+ <ng-content>
127
+ </ng-content>
128
+ `,
129
+ changeDetection: ChangeDetectionStrategy.OnPush,
130
+ encapsulation: ViewEncapsulation.None,
131
+ host: { class: 'ax-drawer' }
132
+ }]
133
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { onChanged: [{
134
+ type: Output
135
+ }], mode: [{
136
+ type: Input
137
+ }], location: [{
138
+ type: Input
139
+ }], collapsed: [{
140
+ type: Input
141
+ }], _handleWindowsResize: [{
142
+ type: HostListener,
143
+ args: ['window:resize', ['$event']]
144
+ }] } });
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvZHJhd2VyL2RyYXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBeUMsS0FBSyxFQUFlLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JMLE9BQU8sRUFBRSxvQkFBb0IsRUFBVyxNQUFNLFNBQVMsQ0FBQzs7QUFZeEQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG9CQUFvQjtJQUV2RCxZQUNZLFVBQXNCLEVBQzlCLEdBQXNCLEVBQ2QsSUFBWTtRQUVwQixLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSmYsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUV0QixTQUFJLEdBQUosSUFBSSxDQUFRO1FBTXhCLGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUcvRCxTQUFJLEdBQXVCLE1BQU0sQ0FBQztRQUtsQyxhQUFRLEdBQW9CLE9BQU8sQ0FBQztRQUk1QixlQUFVLEdBQVksS0FBSyxDQUFDO0lBZnBDLENBQUM7SUFnQkQsSUFDVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBVyxTQUFTLENBQUMsQ0FBVTtRQUMzQixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFT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QUFHLElBQUksQ0FBQztTQUN6QjtJQUNMLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxDQUFhO1FBQ3RDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDOzs4R0E1SVEsaUJBQWlCO2tHQUFqQixpQkFBaUIsNFJBUmhCOzs7S0FHVDsyRkFLUSxpQkFBaUI7a0JBVjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRTs7O0tBR1Q7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2lCQUMvQjtzSkFZRyxTQUFTO3NCQURSLE1BQU07Z0JBSVAsSUFBSTtzQkFESCxLQUFLO2dCQU1OLFFBQVE7c0JBRFAsS0FBSztnQkFPSyxTQUFTO3NCQURuQixLQUFLO2dCQWlETixvQkFBb0I7c0JBRG5CLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBOZ1pvbmUsIElucHV0LCBIb3N0QmluZGluZywgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnRNaXhpbiwgQVhFdmVudCB9IGZyb20gJy4uL2Jhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWRyYXdlcicsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxuZy1jb250ZW50PlxyXG4gICAgICAgIDwvbmctY29udGVudD5cclxuICAgIGAsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtZHJhd2VyJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWERyYXdlckNvbXBvbmVudCBleHRlbmRzIEFYQmFzZUNvbXBvbmVudE1peGluIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEV2ZW50PigpO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBtb2RlOiAncHVzaCcgfCAnb3ZlcmxheScgPSAncHVzaCc7XHJcblxyXG4gICAgX2N1cnJlbnRNb2RlOiAncHVzaCcgfCAnb3ZlcmxheSdcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgbG9jYXRpb246ICdzdGFydCcgfCAnZW5kJyA9ICdzdGFydCc7XHJcblxyXG4gICAgcHJpdmF0ZSBfYmFja2Ryb3A6IEhUTUxEaXZFbGVtZW50O1xyXG5cclxuICAgIHByaXZhdGUgX2NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgY29sbGFwc2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb2xsYXBzZWQ7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgc2V0IGNvbGxhcHNlZCh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKHYgIT0gdGhpcy5fY29sbGFwc2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbGxhcHNlZCA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUNsYXNzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCh0aGlzLmxvY2F0aW9uID09ICdzdGFydCcgPyAnYXgtZHJhd2VyLXN0YXJ0JyA6ICdheC1kcmF3ZXItZW5kJyk7XHJcbiAgICAgICAgdGhpcy5fY3VycmVudE1vZGUgPSB0aGlzLm1vZGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdXBkYXRlQ2xhc3MoKSB7XHJcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZWxtID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKTtcclxuICAgICAgICAgICAgLy8gICAgICAgICAgIFxyXG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50TW9kZSA9PSAnb3ZlcmxheScgPyB0aGlzLl9zZXRPdmVybGF5TW9kZSgpIDogdGhpcy5fc2V0UHVzaE1vZGUoKTtcclxuICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkKSB7XHJcbiAgICAgICAgICAgICAgICBlbG0uY2xhc3NMaXN0LnJlbW92ZSgnYXgtZXhwYW5kZWQnKTtcclxuICAgICAgICAgICAgICAgIGVsbS5jbGFzc0xpc3QuYWRkKCdheC1jb2xsYXBzZWQnKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50TW9kZSA9PSAnb3ZlcmxheScpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZW1vdmVCYWNrZHJvcCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZWxtLmNsYXNzTGlzdC5hZGQoJ2F4LWV4cGFuZGVkJyk7XHJcbiAgICAgICAgICAgICAgICBlbG0uY2xhc3NMaXN0LnJlbW92ZSgnYXgtY29sbGFwc2VkJyk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fY3VycmVudE1vZGUgPT0gJ292ZXJsYXknKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWRkQmFja2Ryb3AoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5fZGV0ZWN0U2l6ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZSgpIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICAgIF9oYW5kbGVXaW5kb3dzUmVzaXplKGU6VUlFdmVudCkge1xyXG4gICAgICAgIHRoaXMuX2RldGVjdFNpemUoKTtcclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIF9kZXRlY3RTaXplKCkge1xyXG4gICAgICAgIC8vVE9ETyBkZXRlY3QgYnJlYWsgc2l6ZVxyXG4gICAgICAgIGNvbnN0IGJvdW5kID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgIGlmIChib3VuZC53aWR0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdEcmF3ZSBpbnZhbGlkIHNpemUnLCBib3VuZCk7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZGV0ZWN0U2l6ZSgpO1xyXG4gICAgICAgICAgICB9LCAxKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoYm91bmQud2lkdGggPCA0MDApIHtcclxuICAgICAgICAgICAgdGhpcy5fY3VycmVudE1vZGUgPSAnb3ZlcmxheSc7XHJcbiAgICAgICAgICAgIHRoaXMuY29sbGFwc2VkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRNb2RlID0gdGhpcy5tb2RlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl91cGRhdGVDbGFzcygpO1xyXG4gICAgICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9lbWl0Q2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VkLmVtaXQoe1xyXG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0T3ZlcmxheU1vZGUoKSB7XHJcbiAgICAgICAgdGhpcy5fY3VycmVudE1vZGUgPSAnb3ZlcmxheSc7XHJcbiAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QucmVtb3ZlKCdheC1kcmF3ZXItcHVzaCcpO1xyXG4gICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnYXgtZHJhd2VyLW92ZXJsYXknKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0UHVzaE1vZGUoKSB7XHJcbiAgICAgICAgdGhpcy5fY3VycmVudE1vZGUgPSAncHVzaCc7XHJcbiAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QucmVtb3ZlKCdheC1kcmF3ZXItb3ZlcmxheScpO1xyXG4gICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgnYXgtZHJhd2VyLXB1c2gnKTtcclxuICAgICAgICB0aGlzLl9yZW1vdmVCYWNrZHJvcCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2FkZEJhY2tkcm9wKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fYmFja2Ryb3ApIHtcclxuICAgICAgICAgICAgdGhpcy5fYmFja2Ryb3AgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICAgICAgdGhpcy5fYmFja2Ryb3AuY2xhc3NMaXN0LmFkZCgnYXgtZHJhd2VyLWJhY2tkcm9wJylcclxuICAgICAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5wYXJlbnRFbGVtZW50LnByZXBlbmQodGhpcy5fYmFja2Ryb3ApO1xyXG4gICAgICAgICAgICB0aGlzLl9iYWNrZHJvcC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX2hhbmRsZUJhY2tmcm9wQ2xpY2suYmluZCh0aGlzKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3JlbW92ZUJhY2tkcm9wKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9iYWNrZHJvcCkge1xyXG4gICAgICAgICAgICB0aGlzLl9iYWNrZHJvcC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX2hhbmRsZUJhY2tmcm9wQ2xpY2suYmluZCh0aGlzKSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLl9iYWNrZHJvcCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2JhY2tkcm9wID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfaGFuZGxlQmFja2Zyb3BDbGljayhlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlQmFja2Ryb3AoKTtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXDrawerComponent } from './drawer.component';
4
+ import { AXDrawerContainerComponent } from './drawer-container.component';
5
+ import { AXDrawerContentComponent } from './drawer-content.component';
6
+ import * as i0 from "@angular/core";
7
+ const COMPONENT = [AXDrawerComponent, AXDrawerContainerComponent, AXDrawerContentComponent];
8
+ const MODULES = [CommonModule];
9
+ export class AXDrawerModule {
10
+ }
11
+ AXDrawerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ AXDrawerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDrawerModule, declarations: [AXDrawerComponent, AXDrawerContainerComponent, AXDrawerContentComponent], imports: [CommonModule], exports: [AXDrawerComponent, AXDrawerContainerComponent, AXDrawerContentComponent] });
13
+ AXDrawerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDrawerModule, providers: [], imports: [[...MODULES]] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXDrawerModule, decorators: [{
15
+ type: NgModule,
16
+ args: [{
17
+ declarations: [...COMPONENT],
18
+ imports: [...MODULES],
19
+ exports: [...COMPONENT],
20
+ providers: [],
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvZHJhd2VyL2RyYXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRXRFLE1BQU0sU0FBUyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztBQUM1RixNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBUS9CLE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBVFIsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLGFBQ3pFLFlBQVksYUFEVixpQkFBaUIsRUFBRSwwQkFBMEIsRUFBRSx3QkFBd0I7NEdBUzdFLGNBQWMsYUFGWixFQUFFLFlBRkosQ0FBQyxHQUFHLE9BQU8sQ0FBQzsyRkFJWixjQUFjO2tCQU4xQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYRHJhd2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kcmF3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhEcmF3ZXJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2RyYXdlci1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhEcmF3ZXJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9kcmF3ZXItY29udGVudC5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UID0gW0FYRHJhd2VyQ29tcG9uZW50LCBBWERyYXdlckNvbnRhaW5lckNvbXBvbmVudCwgQVhEcmF3ZXJDb250ZW50Q29tcG9uZW50XTtcclxuY29uc3QgTU9EVUxFUyA9IFtDb21tb25Nb2R1bGVdO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVF0sXHJcbiAgICBpbXBvcnRzOiBbLi4uTU9EVUxFU10sXHJcbiAgICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcclxuICAgIHByb3ZpZGVyczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWERyYXdlck1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './drawer.component';
2
+ export * from './drawer-container.component';
3
+ export * from './drawer-content.component';
4
+ export * from './drawer.module';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2RyYXdlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kcmF3ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9kcmF3ZXItY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZHJhd2VyLWNvbnRlbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9kcmF3ZXIubW9kdWxlJztcclxuIl19
@@ -0,0 +1,98 @@
1
+ import { EventEmitter, Injectable, Input, Output } from "@angular/core";
2
+ import { AXBaseComponent } from "../base";
3
+ import { _InteractiveComponenetMixin } from "../base/mixin/interactive-mixin.class";
4
+ import { _SizableComponenetMixin } from "../base/mixin/sizable-mixin.class";
5
+ import * as i0 from "@angular/core";
6
+ export const AXBaseDropdownMixin = _SizableComponenetMixin(_InteractiveComponenetMixin(AXBaseComponent));
7
+ export class AXBaseDropDownComponent extends AXBaseDropdownMixin {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.fitParent = true;
11
+ this.onOpened = new EventEmitter();
12
+ this.onClosed = new EventEmitter();
13
+ this.position = [];
14
+ }
15
+ _emitOnOpenedEvent() {
16
+ //** call from interactive mixin **//
17
+ //(this as any).focus();
18
+ //
19
+ this.onOpened.emit({
20
+ component: this,
21
+ htmlElement: this._getHostElement()
22
+ });
23
+ }
24
+ _emitOnClosedEvent() {
25
+ this.onClosed.emit({
26
+ component: this,
27
+ htmlElement: this._getHostElement()
28
+ });
29
+ }
30
+ onViewInit() {
31
+ if (this.dropdownWidth == null) {
32
+ if (this.fitParent === true) {
33
+ this.dropdownWidth = this._getInnerElement().offsetWidth;
34
+ }
35
+ }
36
+ // wait for documentElement
37
+ setTimeout(() => {
38
+ if (this.position.length == 0) {
39
+ const offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));
40
+ const list = [
41
+ {
42
+ originX: 'start',
43
+ originY: 'bottom',
44
+ overlayX: 'start',
45
+ overlayY: 'top',
46
+ offsetY: offset
47
+ },
48
+ {
49
+ originX: 'start',
50
+ originY: 'top',
51
+ overlayX: 'start',
52
+ overlayY: 'bottom',
53
+ offsetY: -offset
54
+ }
55
+ ];
56
+ this.position.push(...list);
57
+ }
58
+ }, 500);
59
+ }
60
+ toggle() {
61
+ if (this.disabled !== true) {
62
+ this.popover.toggle();
63
+ }
64
+ }
65
+ close() {
66
+ if (!this.isOpen || this.disabled) {
67
+ return;
68
+ }
69
+ this.popover.close();
70
+ this._emitOnClosedEvent();
71
+ }
72
+ open() {
73
+ if (this.isOpen || this.disabled) {
74
+ return;
75
+ }
76
+ this.popover.open();
77
+ this._emitOnOpenedEvent();
78
+ }
79
+ get isOpen() {
80
+ return this.popover.isOpen;
81
+ }
82
+ }
83
+ AXBaseDropDownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXBaseDropDownComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
84
+ AXBaseDropDownComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXBaseDropDownComponent });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: AXBaseDropDownComponent, decorators: [{
86
+ type: Injectable
87
+ }], propDecorators: { fitParent: [{
88
+ type: Input
89
+ }], dropdownWidth: [{
90
+ type: Input
91
+ }], onOpened: [{
92
+ type: Output
93
+ }], onClosed: [{
94
+ type: Output
95
+ }], position: [{
96
+ type: Input
97
+ }] } });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYmFzZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24tYmFzZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQWdDLE1BQU0sU0FBUyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUk1RSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyx1QkFBdUIsQ0FDdEQsMkJBQTJCLENBQUMsZUFBZSxDQUFDLENBQy9DLENBQUM7QUFHRixNQUFNLE9BQWdCLHVCQUF3QixTQUFRLG1CQUFtQjtJQUR6RTs7UUFJSSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBTTFCLGFBQVEsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU5RCxhQUFRLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFPOUQsYUFBUSxHQUEwQixFQUFFLENBQUM7S0E0RXhDO0lBMUVHLGtCQUFrQjtRQUNkLHFDQUFxQztRQUNyQyx3QkFBd0I7UUFDeEIsRUFBRTtRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtTQUN0QyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDZixTQUFTLEVBQUUsSUFBSTtZQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO1NBQ3RDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBRU4sSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksRUFBRTtZQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFO2dCQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFdBQVcsQ0FBQzthQUM1RDtTQUNKO1FBQ0QsMkJBQTJCO1FBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtnQkFDM0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDdkgsTUFBTSxJQUFJLEdBQTBCO29CQUNoQzt3QkFDSSxPQUFPLEVBQUUsT0FBTzt3QkFDaEIsT0FBTyxFQUFFLFFBQVE7d0JBQ2pCLFFBQVEsRUFBRSxPQUFPO3dCQUNqQixRQUFRLEVBQUUsS0FBSzt3QkFDZixPQUFPLEVBQUUsTUFBTTtxQkFDbEI7b0JBQ0Q7d0JBQ0ksT0FBTyxFQUFFLE9BQU87d0JBQ2hCLE9BQU8sRUFBRSxLQUFLO3dCQUNkLFFBQVEsRUFBRSxPQUFPO3dCQUNqQixRQUFRLEVBQUUsUUFBUTt3QkFDbEIsT0FBTyxFQUFFLENBQUMsTUFBTTtxQkFDbkI7aUJBQ0osQ0FBQztnQkFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQy9CO1FBQ0wsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDL0IsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzlCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQzs7b0hBN0ZpQix1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUQ1QyxVQUFVOzhCQUlQLFNBQVM7c0JBRFIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxNQUFNO2dCQUdQLFFBQVE7c0JBRFAsTUFBTTtnQkFRUCxRQUFRO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQsIEFYQ29ubmVjdGVkUG9zaXRpb24sIEFYRXZlbnQgfSBmcm9tIFwiLi4vYmFzZVwiO1xyXG5pbXBvcnQgeyBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gfSBmcm9tIFwiLi4vYmFzZS9taXhpbi9pbnRlcmFjdGl2ZS1taXhpbi5jbGFzc1wiO1xyXG5pbXBvcnQgeyBfU2l6YWJsZUNvbXBvbmVuZXRNaXhpbiB9IGZyb20gXCIuLi9iYXNlL21peGluL3NpemFibGUtbWl4aW4uY2xhc3NcIjtcclxuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3BvcG92ZXJcIjtcclxuXHJcblxyXG5leHBvcnQgY29uc3QgQVhCYXNlRHJvcGRvd25NaXhpbiA9IF9TaXphYmxlQ29tcG9uZW5ldE1peGluKFxyXG4gICAgX0ludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluKEFYQmFzZUNvbXBvbmVudClcclxuKTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYQmFzZURyb3BEb3duQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlRHJvcGRvd25NaXhpbiB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGZpdFBhcmVudDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGRyb3Bkb3duV2lkdGg6IG51bWJlcjtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uT3BlbmVkOiBFdmVudEVtaXR0ZXI8QVhFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRXZlbnQ+KCk7XHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uQ2xvc2VkOiBFdmVudEVtaXR0ZXI8QVhFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRXZlbnQ+KCk7XHJcblxyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcG9wb3ZlcjogQVhQb3BvdmVyQ29tcG9uZW50O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwb3NpdGlvbjogQVhDb25uZWN0ZWRQb3NpdGlvbltdID0gW107XHJcblxyXG4gICAgX2VtaXRPbk9wZW5lZEV2ZW50KCkge1xyXG4gICAgICAgIC8vKiogY2FsbCBmcm9tIGludGVyYWN0aXZlIG1peGluICoqLy9cclxuICAgICAgICAvLyh0aGlzIGFzIGFueSkuZm9jdXMoKTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIHRoaXMub25PcGVuZWQuZW1pdCh7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KClcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBfZW1pdE9uQ2xvc2VkRXZlbnQoKSB7XHJcbiAgICAgICAgdGhpcy5vbkNsb3NlZC5lbWl0KHtcclxuICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVmlld0luaXQoKSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duV2lkdGggPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5maXRQYXJlbnQgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZHJvcGRvd25XaWR0aCA9IHRoaXMuX2dldElubmVyRWxlbWVudCgpLm9mZnNldFdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHdhaXQgZm9yIGRvY3VtZW50RWxlbWVudFxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wb3NpdGlvbi5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gTnVtYmVyKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLWF4LWJhc2Utc2l6ZScpLnJlcGxhY2UoJ3B4JywgJycpKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxpc3Q6IEFYQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRZOiBvZmZzZXRcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldFk6IC1vZmZzZXRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbi5wdXNoKC4uLmxpc3QpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgNTAwKTtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgIT09IHRydWUpIHtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLnRvZ2dsZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjbG9zZSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuIHx8IHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnBvcG92ZXIuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLl9lbWl0T25DbG9zZWRFdmVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW4oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuIHx8IHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnBvcG92ZXIub3BlbigpO1xyXG4gICAgICAgIHRoaXMuX2VtaXRPbk9wZW5lZEV2ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyLmlzT3BlbjtcclxuICAgIH1cclxufSJdfQ==