@acorex/components 7.0.40 → 7.1.0

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 (759) hide show
  1. package/action-sheet/src/action-sheet.interface.d.ts +1 -1
  2. package/alert/src/alert.component.d.ts +3 -3
  3. package/avatar/src/avatar.component.d.ts +1 -1
  4. package/badge/src/badge.component.d.ts +3 -3
  5. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +7 -7
  6. package/button/src/button-group.component.d.ts +7 -7
  7. package/button/src/button-item.class.d.ts +1 -1
  8. package/button/src/button-item.component.d.ts +7 -7
  9. package/button/src/button.component.d.ts +1 -1
  10. package/calendar/public-api.d.ts +1 -0
  11. package/calendar/src/calendar-range.component.d.ts +29 -0
  12. package/calendar/src/calendar.class.d.ts +55 -6
  13. package/calendar/src/calendar.component.d.ts +17 -24
  14. package/calendar/src/calendar.module.d.ts +4 -3
  15. package/checkbox/src/checkbox.component.d.ts +1 -1
  16. package/chips/src/chips.component.d.ts +7 -7
  17. package/collapse/src/collapse-group.component.d.ts +1 -1
  18. package/collapse/src/collapse.component.d.ts +1 -1
  19. package/color-palette/src/color-palette-swatches.component.d.ts +1 -1
  20. package/color-palette/src/color-palette.class.d.ts +1 -1
  21. package/color-palette/src/color-palette.component.d.ts +1 -1
  22. package/color-picker/src/color-picker.component.d.ts +20 -17
  23. package/common/public-api.d.ts +1 -0
  24. package/common/src/classes/data.class.d.ts +4 -0
  25. package/common/src/classes/events.class.d.ts +9 -0
  26. package/common/src/classes/styles.class.d.ts +5 -5
  27. package/common/src/components/base-component.class.d.ts +6 -9
  28. package/common/src/components/index.d.ts +1 -0
  29. package/common/src/components/value-component.class.d.ts +45 -0
  30. package/common/src/constant/positions.d.ts +1 -1
  31. package/common/src/directives/auto-focus.directive.d.ts +1 -1
  32. package/common/src/directives/debounce-time.directive.d.ts +1 -1
  33. package/common/src/directives/hotkey.directive.d.ts +2 -2
  34. package/common/src/directives/infinite-scroll.directive.d.ts +1 -1
  35. package/common/src/services/hotkey.service.d.ts +1 -1
  36. package/context-menu/src/context-menu.component.d.ts +1 -1
  37. package/data-pager/src/data-pager-base.component.d.ts +1 -1
  38. package/data-pager/src/data-pager-info.component.d.ts +1 -1
  39. package/data-pager/src/data-pager-pagesize-dropdown.component.d.ts +1 -1
  40. package/data-pager/src/data-pager.component.d.ts +1 -1
  41. package/data-table/src/data-column.directive.d.ts +1 -1
  42. package/data-table/src/data-table.component.d.ts +1 -1
  43. package/date-picker/src/datepicker.component.d.ts +15 -15
  44. package/decorators/src/close-button.component.d.ts +1 -1
  45. package/decorators/src/icon.component.d.ts +1 -1
  46. package/decorators/src/overlay.component.d.ts +1 -1
  47. package/decorators/src/sub-title.component.d.ts +1 -1
  48. package/decorators/src/text.component.d.ts +1 -1
  49. package/drawer/src/drawer.component.d.ts +3 -3
  50. package/dropdown/src/dropdown-panel.component.d.ts +1 -1
  51. package/esm2022/action-sheet/src/action-sheet.component.mjs +80 -0
  52. package/{esm2020 → esm2022}/action-sheet/src/action-sheet.module.mjs +5 -5
  53. package/esm2022/action-sheet/src/action-sheet.service.mjs +93 -0
  54. package/esm2022/alert/src/alert.component.mjs +188 -0
  55. package/{esm2020 → esm2022}/alert/src/alert.module.mjs +5 -5
  56. package/{esm2020 → esm2022}/avatar/src/avatar-group.component.mjs +4 -4
  57. package/esm2022/avatar/src/avatar.component.mjs +43 -0
  58. package/{esm2020 → esm2022}/avatar/src/avatar.module.mjs +5 -5
  59. package/esm2022/badge/src/badge.component.mjs +28 -0
  60. package/{esm2020 → esm2022}/badge/src/badge.module.mjs +5 -5
  61. package/esm2022/breadcrumbs/src/breadcrumbs-item.component.mjs +50 -0
  62. package/esm2022/breadcrumbs/src/breadcrumbs.component.mjs +27 -0
  63. package/{esm2020 → esm2022}/breadcrumbs/src/breadcrumbs.module.mjs +5 -5
  64. package/esm2022/button/src/button-group.component.mjs +91 -0
  65. package/esm2022/button/src/button-item.component.mjs +79 -0
  66. package/esm2022/button/src/button.component.mjs +78 -0
  67. package/{esm2020 → esm2022}/button/src/button.module.mjs +9 -9
  68. package/{esm2020 → esm2022}/calendar/public-api.mjs +2 -1
  69. package/esm2022/calendar/src/calendar-range.component.mjs +174 -0
  70. package/esm2022/calendar/src/calendar.class.mjs +280 -0
  71. package/esm2022/calendar/src/calendar.component.mjs +372 -0
  72. package/esm2022/calendar/src/calendar.module.mjs +23 -0
  73. package/esm2022/card/src/card.component.mjs +18 -0
  74. package/{esm2020 → esm2022}/card/src/card.module.mjs +5 -5
  75. package/esm2022/checkbox/src/checkbox.component.mjs +42 -0
  76. package/{esm2020 → esm2022}/checkbox/src/checkbox.module.mjs +5 -5
  77. package/{esm2020 → esm2022}/chips/src/chips.component.mjs +7 -7
  78. package/{esm2020 → esm2022}/chips/src/chips.module.mjs +5 -5
  79. package/esm2022/collapse/src/collapse-group.component.mjs +52 -0
  80. package/esm2022/collapse/src/collapse.component.mjs +47 -0
  81. package/{esm2020 → esm2022}/collapse/src/collapse.module.mjs +5 -5
  82. package/esm2022/color-palette/src/color-palette-input.component.mjs +130 -0
  83. package/esm2022/color-palette/src/color-palette-picker.component.mjs +159 -0
  84. package/esm2022/color-palette/src/color-palette-preview.component.mjs +62 -0
  85. package/esm2022/color-palette/src/color-palette-swatches.component.mjs +304 -0
  86. package/{esm2020 → esm2022}/color-palette/src/color-palette.class.mjs +7 -7
  87. package/esm2022/color-palette/src/color-palette.component.mjs +75 -0
  88. package/{esm2020 → esm2022}/color-palette/src/color-palette.module.mjs +19 -19
  89. package/esm2022/color-picker/src/color-picker.component.mjs +119 -0
  90. package/{esm2020 → esm2022}/color-picker/src/color-picker.module.mjs +25 -25
  91. package/esm2022/common/public-api.mjs +17 -0
  92. package/esm2022/common/src/classes/components.class.mjs +72 -0
  93. package/esm2022/common/src/classes/data.class.mjs +2 -0
  94. package/esm2022/common/src/classes/events.class.mjs +96 -0
  95. package/{esm2020 → esm2022}/common/src/common.module.mjs +13 -13
  96. package/esm2022/common/src/components/base-component.class.mjs +57 -0
  97. package/esm2022/common/src/components/button-base-component.class.mjs +69 -0
  98. package/esm2022/common/src/components/color-component.class.mjs +27 -0
  99. package/{esm2020 → esm2022}/common/src/components/index.mjs +2 -1
  100. package/esm2022/common/src/components/interactive-component.class.mjs +63 -0
  101. package/{esm2020 → esm2022}/common/src/components/look-component.class.mjs +3 -3
  102. package/esm2022/common/src/components/value-component.class.mjs +206 -0
  103. package/esm2022/common/src/directives/auto-focus.directive.mjs +57 -0
  104. package/esm2022/common/src/directives/debounce-time.directive.mjs +49 -0
  105. package/esm2022/common/src/directives/hotkey.directive.mjs +82 -0
  106. package/esm2022/common/src/directives/infinite-scroll.directive.mjs +69 -0
  107. package/esm2022/common/src/directives/responsive.directive.mjs +35 -0
  108. package/esm2022/common/src/services/custom-cdk-overlay.service.mjs +50 -0
  109. package/esm2022/common/src/services/hotkey.service.mjs +40 -0
  110. package/esm2022/common/src/services/overlay.service.mjs +115 -0
  111. package/esm2022/context-menu/src/context-menu.component.mjs +270 -0
  112. package/{esm2020 → esm2022}/context-menu/src/context-menu.module.mjs +9 -9
  113. package/esm2022/data-pager/src/data-pager-base.component.mjs +35 -0
  114. package/esm2022/data-pager/src/data-pager-info.component.mjs +61 -0
  115. package/esm2022/data-pager/src/data-pager-input-selector.component.mjs +53 -0
  116. package/esm2022/data-pager/src/data-pager-next-buttons.components.mjs +66 -0
  117. package/esm2022/data-pager/src/data-pager-numeric-selector.component.mjs +100 -0
  118. package/esm2022/data-pager/src/data-pager-pagesize-dropdown.component.mjs +88 -0
  119. package/esm2022/data-pager/src/data-pager-prev-buttons.component.mjs +61 -0
  120. package/esm2022/data-pager/src/data-pager.component.mjs +146 -0
  121. package/{esm2020 → esm2022}/data-pager/src/data-pager.module.mjs +17 -17
  122. package/esm2022/data-table/src/data-column-cell-template.directive.mjs +18 -0
  123. package/esm2022/data-table/src/data-column.directive.mjs +50 -0
  124. package/esm2022/data-table/src/data-table.component.mjs +139 -0
  125. package/{esm2020 → esm2022}/data-table/src/data-table.module.mjs +5 -5
  126. package/esm2022/date-picker/src/datepicker.component.mjs +240 -0
  127. package/{esm2020 → esm2022}/date-picker/src/datepicker.module.mjs +12 -12
  128. package/esm2022/decorators/src/close-button.component.mjs +51 -0
  129. package/{esm2020 → esm2022}/decorators/src/content.component.mjs +4 -4
  130. package/{esm2020 → esm2022}/decorators/src/decorators.module.mjs +29 -29
  131. package/{esm2020 → esm2022}/decorators/src/footer.component.mjs +5 -5
  132. package/{esm2020 → esm2022}/decorators/src/form-hint.component.mjs +4 -4
  133. package/{esm2020 → esm2022}/decorators/src/header.component.mjs +5 -5
  134. package/esm2022/decorators/src/icon.component.mjs +30 -0
  135. package/esm2022/decorators/src/overlay.component.mjs +20 -0
  136. package/{esm2020 → esm2022}/decorators/src/placeholder.component.mjs +4 -4
  137. package/{esm2020 → esm2022}/decorators/src/prefix.component.mjs +4 -4
  138. package/esm2022/decorators/src/sub-title.component.mjs +27 -0
  139. package/{esm2020 → esm2022}/decorators/src/suffix.component.mjs +4 -4
  140. package/esm2022/decorators/src/text.component.mjs +22 -0
  141. package/{esm2020 → esm2022}/decorators/src/title.component.mjs +4 -4
  142. package/{esm2020 → esm2022}/dialog/src/dialog.component.mjs +7 -4
  143. package/{esm2020 → esm2022}/dialog/src/dialog.module.mjs +5 -5
  144. package/esm2022/dialog/src/dialog.service.mjs +154 -0
  145. package/esm2022/drawer/src/drawer-container.component.mjs +38 -0
  146. package/esm2022/drawer/src/drawer.component.mjs +144 -0
  147. package/{esm2020 → esm2022}/drawer/src/drawer.module.mjs +5 -5
  148. package/esm2022/dropdown/src/dropdown-panel.component.mjs +105 -0
  149. package/{esm2020 → esm2022}/dropdown/src/dropdown.module.mjs +5 -5
  150. package/{esm2020 → esm2022}/form/src/form-field.component.mjs +4 -4
  151. package/esm2022/form/src/form.component.mjs +163 -0
  152. package/{esm2020 → esm2022}/form/src/form.module.mjs +11 -11
  153. package/esm2022/form/src/validation-rule.widget.mjs +113 -0
  154. package/esm2022/form/src/validation-summary.component.mjs +109 -0
  155. package/esm2022/image/src/image.component.mjs +79 -0
  156. package/{esm2020 → esm2022}/image/src/image.module.mjs +5 -5
  157. package/esm2022/label/src/label.component.mjs +48 -0
  158. package/{esm2020 → esm2022}/label/src/label.module.mjs +5 -5
  159. package/{esm2020 → esm2022}/loading/src/loading-spinner.component.mjs +6 -5
  160. package/esm2022/loading/src/loading.component.mjs +67 -0
  161. package/esm2022/loading/src/loading.directive.mjs +76 -0
  162. package/{esm2020 → esm2022}/loading/src/loading.module.mjs +5 -5
  163. package/esm2022/loading/src/loading.service.mjs +158 -0
  164. package/esm2022/menu/src/menu.component.mjs +346 -0
  165. package/{esm2020 → esm2022}/menu/src/menu.module.mjs +8 -8
  166. package/esm2022/mixin/src/base-components.class.mjs +110 -0
  167. package/esm2022/mixin/src/base-menu-mixin.class.mjs +134 -0
  168. package/esm2022/mixin/src/button-mixin.class.mjs +71 -0
  169. package/esm2022/mixin/src/clickable-mixin.class.mjs +24 -0
  170. package/esm2022/mixin/src/color-look-mixing.class.mjs +48 -0
  171. package/esm2022/mixin/src/datalist-component.class.mjs +151 -0
  172. package/esm2022/mixin/src/dropdown-mixin.class.mjs +99 -0
  173. package/esm2022/mixin/src/interactive-mixin.class.mjs +81 -0
  174. package/esm2022/mixin/src/loading-mixin.class.mjs +26 -0
  175. package/esm2022/mixin/src/selection-component.class.mjs +183 -0
  176. package/esm2022/mixin/src/sizable-mixin.class.mjs +22 -0
  177. package/esm2022/mixin/src/textbox-mixin.class.mjs +66 -0
  178. package/esm2022/mixin/src/value-mixin.class.mjs +220 -0
  179. package/esm2022/notification/src/notification.component.mjs +92 -0
  180. package/{esm2020 → esm2022}/notification/src/notification.module.mjs +5 -5
  181. package/esm2022/notification/src/notification.service.mjs +109 -0
  182. package/esm2022/number-box/src/number-box.component.mjs +268 -0
  183. package/{esm2020 → esm2022}/number-box/src/number-box.module.mjs +9 -9
  184. package/esm2022/page/src/base-page.class.mjs +63 -0
  185. package/esm2022/page/src/page.component.mjs +46 -0
  186. package/{esm2020 → esm2022}/page/src/page.module.mjs +5 -5
  187. package/esm2022/password-box/src/password-box.component.mjs +63 -0
  188. package/{esm2020 → esm2022}/password-box/src/password-box.module.mjs +8 -8
  189. package/esm2022/picker/src/picker-column.component.mjs +20 -0
  190. package/{esm2020 → esm2022}/picker/src/picker.component.mjs +4 -4
  191. package/{esm2020 → esm2022}/picker/src/picker.module.mjs +9 -9
  192. package/esm2022/popover/src/popover.component.mjs +262 -0
  193. package/{esm2020 → esm2022}/popover/src/popover.module.mjs +5 -5
  194. package/esm2022/popup/src/popup.component.mjs +145 -0
  195. package/{esm2020 → esm2022}/popup/src/popup.module.mjs +5 -5
  196. package/esm2022/popup/src/popup.service.mjs +116 -0
  197. package/{esm2020 → esm2022}/progress-bar/src/progress-bar.component.mjs +5 -5
  198. package/{esm2020 → esm2022}/progress-bar/src/progress-bar.module.mjs +5 -5
  199. package/{esm2020 → esm2022}/radio/src/radio.component.mjs +4 -4
  200. package/{esm2020 → esm2022}/radio/src/radio.module.mjs +5 -5
  201. package/esm2022/range-slider/src/range-slider.component.mjs +117 -0
  202. package/{esm2020 → esm2022}/range-slider/src/range-slider.module.mjs +5 -5
  203. package/esm2022/rating/src/rating.component.mjs +41 -0
  204. package/{esm2020 → esm2022}/rating/src/rating.component.module.mjs +5 -5
  205. package/esm2022/result/src/result.component.mjs +26 -0
  206. package/{esm2020 → esm2022}/result/src/result.module.mjs +5 -5
  207. package/esm2022/search-box/src/search-box.component.mjs +54 -0
  208. package/{esm2020 → esm2022}/search-box/src/search-box.module.mjs +5 -5
  209. package/esm2022/select-box/src/selectbox.component.mjs +391 -0
  210. package/{esm2020 → esm2022}/select-box/src/selectbox.module.mjs +27 -27
  211. package/{esm2020 → esm2022}/selection-list/src/selection-list.component.mjs +8 -8
  212. package/{esm2020 → esm2022}/selection-list/src/selection-list.module.mjs +5 -5
  213. package/{esm2020 → esm2022}/switch/src/switch-content.component.mjs +4 -4
  214. package/{esm2020 → esm2022}/switch/src/switch.component.mjs +7 -4
  215. package/{esm2020 → esm2022}/switch/src/switch.module.mjs +5 -5
  216. package/esm2022/tabs/src/tab-content.directive.mjs +31 -0
  217. package/esm2022/tabs/src/tab-item.component.mjs +140 -0
  218. package/esm2022/tabs/src/tabs.class.mjs +6 -0
  219. package/{esm2020 → esm2022}/tabs/src/tabs.component.mjs +14 -11
  220. package/{esm2020 → esm2022}/tabs/src/tabs.module.mjs +5 -5
  221. package/{esm2020 → esm2022}/tag/src/tag.component.mjs +6 -6
  222. package/{esm2020 → esm2022}/tag/src/tag.module.mjs +5 -5
  223. package/esm2022/textarea/src/textarea.component.mjs +29 -0
  224. package/{esm2020 → esm2022}/textarea/src/textarea.module.mjs +5 -5
  225. package/esm2022/textbox/src/mask-options.directive.mjs +19 -0
  226. package/esm2022/textbox/src/textbox.component.mjs +95 -0
  227. package/{esm2020 → esm2022}/textbox/src/textbox.module.mjs +13 -13
  228. package/esm2022/time-box/src/time-box.component.mjs +305 -0
  229. package/{esm2020 → esm2022}/time-box/src/time-box.module.mjs +8 -8
  230. package/esm2022/toast/src/toast.component.mjs +67 -0
  231. package/{esm2020 → esm2022}/toast/src/toast.module.mjs +5 -5
  232. package/esm2022/toast/src/toast.service.mjs +136 -0
  233. package/esm2022/tooltip/src/tooltip.component.mjs +21 -0
  234. package/esm2022/tooltip/src/tooltip.directive.mjs +163 -0
  235. package/{esm2020 → esm2022}/tooltip/src/tooltip.module.mjs +5 -5
  236. package/esm2022/tree-view/src/tree-view.component.mjs +107 -0
  237. package/{esm2020 → esm2022}/tree-view/src/tree-view.module.mjs +5 -5
  238. package/esm2022/uploader/src/uploader.component.mjs +101 -0
  239. package/{esm2020 → esm2022}/uploader/src/uploader.module.mjs +5 -5
  240. package/{fesm2020 → fesm2022}/acorex-components-action-sheet.mjs +21 -16
  241. package/{fesm2020 → fesm2022}/acorex-components-action-sheet.mjs.map +1 -1
  242. package/{fesm2020 → fesm2022}/acorex-components-alert.mjs +41 -32
  243. package/{fesm2020 → fesm2022}/acorex-components-alert.mjs.map +1 -1
  244. package/{fesm2020 → fesm2022}/acorex-components-avatar.mjs +12 -11
  245. package/{fesm2020 → fesm2022}/acorex-components-avatar.mjs.map +1 -1
  246. package/{fesm2015 → fesm2022}/acorex-components-badge.mjs +9 -9
  247. package/{fesm2015 → fesm2022}/acorex-components-badge.mjs.map +1 -1
  248. package/{fesm2020 → fesm2022}/acorex-components-breadcrumbs.mjs +16 -11
  249. package/{fesm2020 → fesm2022}/acorex-components-breadcrumbs.mjs.map +1 -1
  250. package/{fesm2020 → fesm2022}/acorex-components-button.mjs +45 -48
  251. package/fesm2022/acorex-components-button.mjs.map +1 -0
  252. package/fesm2022/acorex-components-calendar.mjs +837 -0
  253. package/fesm2022/acorex-components-calendar.mjs.map +1 -0
  254. package/fesm2022/acorex-components-card.mjs +41 -0
  255. package/{fesm2015 → fesm2022}/acorex-components-card.mjs.map +1 -1
  256. package/{fesm2020 → fesm2022}/acorex-components-checkbox.mjs +8 -8
  257. package/{fesm2015 → fesm2022}/acorex-components-checkbox.mjs.map +1 -1
  258. package/{fesm2015 → fesm2022}/acorex-components-chips.mjs +10 -11
  259. package/{fesm2020 → fesm2022}/acorex-components-chips.mjs.map +1 -1
  260. package/{fesm2015 → fesm2022}/acorex-components-collapse.mjs +21 -18
  261. package/{fesm2020 → fesm2022}/acorex-components-collapse.mjs.map +1 -1
  262. package/{fesm2020 → fesm2022}/acorex-components-color-palette.mjs +337 -331
  263. package/{fesm2020 → fesm2022}/acorex-components-color-palette.mjs.map +1 -1
  264. package/fesm2022/acorex-components-color-picker.mjs +182 -0
  265. package/fesm2022/acorex-components-color-picker.mjs.map +1 -0
  266. package/{fesm2020 → fesm2022}/acorex-components-common.mjs +405 -140
  267. package/fesm2022/acorex-components-common.mjs.map +1 -0
  268. package/{fesm2020 → fesm2022}/acorex-components-context-menu.mjs +29 -20
  269. package/{fesm2015 → fesm2022}/acorex-components-context-menu.mjs.map +1 -1
  270. package/{fesm2020 → fesm2022}/acorex-components-data-pager.mjs +95 -80
  271. package/{fesm2020 → fesm2022}/acorex-components-data-pager.mjs.map +1 -1
  272. package/{fesm2020 → fesm2022}/acorex-components-data-table.mjs +40 -31
  273. package/{fesm2020 → fesm2022}/acorex-components-data-table.mjs.map +1 -1
  274. package/fesm2022/acorex-components-date-picker.mjs +285 -0
  275. package/fesm2022/acorex-components-date-picker.mjs.map +1 -0
  276. package/{fesm2020 → fesm2022}/acorex-components-decorators.mjs +80 -80
  277. package/{fesm2015 → fesm2022}/acorex-components-decorators.mjs.map +1 -1
  278. package/{fesm2020 → fesm2022}/acorex-components-dialog.mjs +16 -11
  279. package/{fesm2015 → fesm2022}/acorex-components-dialog.mjs.map +1 -1
  280. package/{fesm2020 → fesm2022}/acorex-components-drawer.mjs +25 -21
  281. package/{fesm2020 → fesm2022}/acorex-components-drawer.mjs.map +1 -1
  282. package/{fesm2020 → fesm2022}/acorex-components-dropdown.mjs +19 -16
  283. package/fesm2022/acorex-components-dropdown.mjs.map +1 -0
  284. package/{fesm2020 → fesm2022}/acorex-components-form.mjs +65 -61
  285. package/fesm2022/acorex-components-form.mjs.map +1 -0
  286. package/{fesm2015 → fesm2022}/acorex-components-image.mjs +17 -15
  287. package/{fesm2015 → fesm2022}/acorex-components-image.mjs.map +1 -1
  288. package/{fesm2015 → fesm2022}/acorex-components-label.mjs +12 -10
  289. package/fesm2022/acorex-components-label.mjs.map +1 -0
  290. package/{fesm2020 → fesm2022}/acorex-components-loading.mjs +42 -29
  291. package/{fesm2020 → fesm2022}/acorex-components-loading.mjs.map +1 -1
  292. package/{fesm2020 → fesm2022}/acorex-components-menu.mjs +26 -19
  293. package/{fesm2020 → fesm2022}/acorex-components-menu.mjs.map +1 -1
  294. package/{fesm2015 → fesm2022}/acorex-components-mixin.mjs +276 -284
  295. package/{fesm2020 → fesm2022}/acorex-components-mixin.mjs.map +1 -1
  296. package/{fesm2020 → fesm2022}/acorex-components-notification.mjs +24 -18
  297. package/{fesm2020 → fesm2022}/acorex-components-notification.mjs.map +1 -1
  298. package/{fesm2020 → fesm2022}/acorex-components-number-box.mjs +42 -35
  299. package/{fesm2015 → fesm2022}/acorex-components-number-box.mjs.map +1 -1
  300. package/{fesm2020 → fesm2022}/acorex-components-page.mjs +20 -17
  301. package/{fesm2020 → fesm2022}/acorex-components-page.mjs.map +1 -1
  302. package/fesm2022/acorex-components-password-box.mjs +99 -0
  303. package/{fesm2015 → fesm2022}/acorex-components-password-box.mjs.map +1 -1
  304. package/{fesm2020 → fesm2022}/acorex-components-picker.mjs +15 -18
  305. package/{fesm2015 → fesm2022}/acorex-components-picker.mjs.map +1 -1
  306. package/{fesm2020 → fesm2022}/acorex-components-popover.mjs +50 -37
  307. package/{fesm2015 → fesm2022}/acorex-components-popover.mjs.map +1 -1
  308. package/{fesm2020 → fesm2022}/acorex-components-popup.mjs +30 -19
  309. package/{fesm2020 → fesm2022}/acorex-components-popup.mjs.map +1 -1
  310. package/{fesm2020 → fesm2022}/acorex-components-progress-bar.mjs +8 -9
  311. package/{fesm2015 → fesm2022}/acorex-components-progress-bar.mjs.map +1 -1
  312. package/fesm2022/acorex-components-radio.mjs +65 -0
  313. package/{fesm2015 → fesm2022}/acorex-components-radio.mjs.map +1 -1
  314. package/{fesm2020 → fesm2022}/acorex-components-range-slider.mjs +16 -16
  315. package/fesm2022/acorex-components-range-slider.mjs.map +1 -0
  316. package/fesm2022/acorex-components-rating.mjs +64 -0
  317. package/{fesm2015 → fesm2022}/acorex-components-rating.mjs.map +1 -1
  318. package/{fesm2020 → fesm2022}/acorex-components-result.mjs +10 -10
  319. package/{fesm2020 → fesm2022}/acorex-components-result.mjs.map +1 -1
  320. package/{fesm2020 → fesm2022}/acorex-components-search-box.mjs +12 -11
  321. package/{fesm2020 → fesm2022}/acorex-components-search-box.mjs.map +1 -1
  322. package/{fesm2020 → fesm2022}/acorex-components-select-box.mjs +56 -46
  323. package/{fesm2020 → fesm2022}/acorex-components-select-box.mjs.map +1 -1
  324. package/{fesm2020 → fesm2022}/acorex-components-selection-list.mjs +11 -12
  325. package/{fesm2015 → fesm2022}/acorex-components-selection-list.mjs.map +1 -1
  326. package/{fesm2020 → fesm2022}/acorex-components-switch.mjs +13 -11
  327. package/{fesm2015 → fesm2022}/acorex-components-switch.mjs.map +1 -1
  328. package/{fesm2020 → fesm2022}/acorex-components-tabs.mjs +36 -26
  329. package/{fesm2015 → fesm2022}/acorex-components-tabs.mjs.map +1 -1
  330. package/{fesm2020 → fesm2022}/acorex-components-tag.mjs +9 -10
  331. package/{fesm2020 → fesm2022}/acorex-components-tag.mjs.map +1 -1
  332. package/fesm2022/acorex-components-textarea.mjs +52 -0
  333. package/{fesm2020 → fesm2022}/acorex-components-textarea.mjs.map +1 -1
  334. package/{fesm2020 → fesm2022}/acorex-components-textbox.mjs +34 -30
  335. package/{fesm2020 → fesm2022}/acorex-components-textbox.mjs.map +1 -1
  336. package/{fesm2020 → fesm2022}/acorex-components-time-box.mjs +30 -22
  337. package/{fesm2020 → fesm2022}/acorex-components-time-box.mjs.map +1 -1
  338. package/{fesm2020 → fesm2022}/acorex-components-toast.mjs +22 -18
  339. package/{fesm2020 → fesm2022}/acorex-components-toast.mjs.map +1 -1
  340. package/{fesm2020 → fesm2022}/acorex-components-tooltip.mjs +20 -14
  341. package/{fesm2020 → fesm2022}/acorex-components-tooltip.mjs.map +1 -1
  342. package/fesm2022/acorex-components-tree-view.mjs +131 -0
  343. package/{fesm2015 → fesm2022}/acorex-components-tree-view.mjs.map +1 -1
  344. package/{fesm2020 → fesm2022}/acorex-components-uploader.mjs +15 -13
  345. package/{fesm2020 → fesm2022}/acorex-components-uploader.mjs.map +1 -1
  346. package/{fesm2015 → fesm2022}/acorex-components.mjs +0 -1
  347. package/form/src/form.component.d.ts +2 -2
  348. package/form/src/validation-rule.widget.d.ts +1 -1
  349. package/form/src/validation-summary.component.d.ts +2 -2
  350. package/form/src/validation.class.d.ts +1 -1
  351. package/image/src/image.component.d.ts +1 -1
  352. package/label/src/label.component.d.ts +1 -1
  353. package/loading/src/loading.component.d.ts +1 -1
  354. package/loading/src/loading.directive.d.ts +1 -1
  355. package/loading/src/loading.service.d.ts +2 -2
  356. package/menu/src/menu.component.d.ts +1 -1
  357. package/mixin/src/base-components.class.d.ts +7 -7
  358. package/mixin/src/base-menu-mixin.class.d.ts +5 -5
  359. package/mixin/src/button-mixin.class.d.ts +2 -2
  360. package/mixin/src/clickable-mixin.class.d.ts +2 -2
  361. package/mixin/src/color-look-mixing.class.d.ts +2 -2
  362. package/mixin/src/constratctor.d.ts +2 -2
  363. package/mixin/src/datalist-component.class.d.ts +10 -10
  364. package/mixin/src/datalist.class.d.ts +2 -2
  365. package/mixin/src/dropdown-mixin.class.d.ts +2 -2
  366. package/mixin/src/interactive-mixin.class.d.ts +4 -4
  367. package/mixin/src/loading-mixin.class.d.ts +2 -2
  368. package/mixin/src/mixin.class.d.ts +61 -61
  369. package/mixin/src/page-component.class.d.ts +2 -2
  370. package/mixin/src/selection-component.class.d.ts +2 -2
  371. package/mixin/src/sizable-mixin.class.d.ts +2 -2
  372. package/mixin/src/textbox-mixin.class.d.ts +2 -2
  373. package/mixin/src/value-mixin.class.d.ts +8 -8
  374. package/notification/src/notification.class.d.ts +1 -1
  375. package/number-box/src/number-box.component.d.ts +1 -1
  376. package/package.json +172 -284
  377. package/password-box/src/password-box.component.d.ts +1 -1
  378. package/picker/src/picker-column.component.d.ts +1 -1
  379. package/popover/src/popover.component.d.ts +1 -1
  380. package/popup/src/popup.service.d.ts +2 -2
  381. package/progress-bar/src/progress-bar.component.d.ts +1 -1
  382. package/radio/src/radio.component.d.ts +1 -1
  383. package/range-slider/src/range-slider.component.d.ts +1 -1
  384. package/result/src/result.component.d.ts +1 -1
  385. package/search-box/src/search-box.component.d.ts +1 -1
  386. package/select-box/src/selectbox.component.d.ts +1 -1
  387. package/selection-list/src/selection-list.component.d.ts +1 -1
  388. package/switch/src/switch.component.d.ts +1 -1
  389. package/tabs/src/tab-content.directive.d.ts +1 -1
  390. package/tabs/src/tab-item.component.d.ts +3 -3
  391. package/tabs/src/tabs.class.d.ts +1 -1
  392. package/tabs/src/tabs.component.d.ts +1 -1
  393. package/tag/src/tag.component.d.ts +1 -1
  394. package/textarea/src/textarea.component.d.ts +1 -1
  395. package/textbox/src/mask-options.directive.d.ts +2 -2
  396. package/textbox/src/textbox.component.d.ts +1 -1
  397. package/time-box/src/time-box.component.d.ts +2 -2
  398. package/tooltip/src/tooltip.component.d.ts +1 -1
  399. package/tooltip/src/tooltip.directive.d.ts +1 -1
  400. package/tree-view/src/tree-view.component.d.ts +1 -1
  401. package/uploader/src/uploader.component.d.ts +1 -1
  402. package/esm2020/action-sheet/src/action-sheet.component.mjs +0 -76
  403. package/esm2020/action-sheet/src/action-sheet.service.mjs +0 -91
  404. package/esm2020/alert/src/alert.component.mjs +0 -178
  405. package/esm2020/avatar/src/avatar.component.mjs +0 -41
  406. package/esm2020/badge/src/badge.component.mjs +0 -27
  407. package/esm2020/breadcrumbs/src/breadcrumbs-item.component.mjs +0 -46
  408. package/esm2020/breadcrumbs/src/breadcrumbs.component.mjs +0 -25
  409. package/esm2020/button/src/button-group.component.mjs +0 -88
  410. package/esm2020/button/src/button-item.component.mjs +0 -77
  411. package/esm2020/button/src/button.component.mjs +0 -85
  412. package/esm2020/calendar/src/calendar.class.mjs +0 -127
  413. package/esm2020/calendar/src/calendar.component.mjs +0 -382
  414. package/esm2020/calendar/src/calendar.module.mjs +0 -22
  415. package/esm2020/card/src/card.component.mjs +0 -17
  416. package/esm2020/checkbox/src/checkbox.component.mjs +0 -41
  417. package/esm2020/collapse/src/collapse-group.component.mjs +0 -50
  418. package/esm2020/collapse/src/collapse.component.mjs +0 -45
  419. package/esm2020/color-palette/src/color-palette-input.component.mjs +0 -129
  420. package/esm2020/color-palette/src/color-palette-picker.component.mjs +0 -158
  421. package/esm2020/color-palette/src/color-palette-preview.component.mjs +0 -60
  422. package/esm2020/color-palette/src/color-palette-swatches.component.mjs +0 -302
  423. package/esm2020/color-palette/src/color-palette.component.mjs +0 -74
  424. package/esm2020/color-picker/src/color-picker.component.mjs +0 -105
  425. package/esm2020/common/public-api.mjs +0 -16
  426. package/esm2020/common/src/classes/components.class.mjs +0 -69
  427. package/esm2020/common/src/classes/events.class.mjs +0 -58
  428. package/esm2020/common/src/components/base-component.class.mjs +0 -57
  429. package/esm2020/common/src/components/button-base-component.class.mjs +0 -68
  430. package/esm2020/common/src/components/color-component.class.mjs +0 -27
  431. package/esm2020/common/src/components/interactive-component.class.mjs +0 -62
  432. package/esm2020/common/src/directives/auto-focus.directive.mjs +0 -55
  433. package/esm2020/common/src/directives/debounce-time.directive.mjs +0 -47
  434. package/esm2020/common/src/directives/hotkey.directive.mjs +0 -79
  435. package/esm2020/common/src/directives/infinite-scroll.directive.mjs +0 -63
  436. package/esm2020/common/src/directives/responsive.directive.mjs +0 -34
  437. package/esm2020/common/src/services/custom-cdk-overlay.service.mjs +0 -48
  438. package/esm2020/common/src/services/hotkey.service.mjs +0 -38
  439. package/esm2020/common/src/services/overlay.service.mjs +0 -111
  440. package/esm2020/context-menu/src/context-menu.component.mjs +0 -260
  441. package/esm2020/data-pager/src/data-pager-base.component.mjs +0 -38
  442. package/esm2020/data-pager/src/data-pager-info.component.mjs +0 -57
  443. package/esm2020/data-pager/src/data-pager-input-selector.component.mjs +0 -51
  444. package/esm2020/data-pager/src/data-pager-next-buttons.components.mjs +0 -63
  445. package/esm2020/data-pager/src/data-pager-numeric-selector.component.mjs +0 -98
  446. package/esm2020/data-pager/src/data-pager-pagesize-dropdown.component.mjs +0 -85
  447. package/esm2020/data-pager/src/data-pager-prev-buttons.component.mjs +0 -59
  448. package/esm2020/data-pager/src/data-pager.component.mjs +0 -143
  449. package/esm2020/data-table/src/data-column-cell-template.directive.mjs +0 -17
  450. package/esm2020/data-table/src/data-column.directive.mjs +0 -43
  451. package/esm2020/data-table/src/data-table.component.mjs +0 -137
  452. package/esm2020/date-picker/src/datepicker.component.mjs +0 -249
  453. package/esm2020/decorators/src/close-button.component.mjs +0 -50
  454. package/esm2020/decorators/src/icon.component.mjs +0 -29
  455. package/esm2020/decorators/src/overlay.component.mjs +0 -22
  456. package/esm2020/decorators/src/sub-title.component.mjs +0 -27
  457. package/esm2020/decorators/src/text.component.mjs +0 -21
  458. package/esm2020/dialog/src/dialog.service.mjs +0 -151
  459. package/esm2020/drawer/src/drawer-container.component.mjs +0 -37
  460. package/esm2020/drawer/src/drawer.component.mjs +0 -140
  461. package/esm2020/dropdown/src/dropdown-panel.component.mjs +0 -101
  462. package/esm2020/form/src/form.component.mjs +0 -160
  463. package/esm2020/form/src/validation-rule.widget.mjs +0 -115
  464. package/esm2020/form/src/validation-summary.component.mjs +0 -105
  465. package/esm2020/image/src/image.component.mjs +0 -76
  466. package/esm2020/label/src/label.component.mjs +0 -45
  467. package/esm2020/loading/src/loading.component.mjs +0 -64
  468. package/esm2020/loading/src/loading.directive.mjs +0 -68
  469. package/esm2020/loading/src/loading.service.mjs +0 -156
  470. package/esm2020/menu/src/menu.component.mjs +0 -338
  471. package/esm2020/mixin/src/base-components.class.mjs +0 -110
  472. package/esm2020/mixin/src/base-menu-mixin.class.mjs +0 -138
  473. package/esm2020/mixin/src/button-mixin.class.mjs +0 -70
  474. package/esm2020/mixin/src/clickable-mixin.class.mjs +0 -24
  475. package/esm2020/mixin/src/color-look-mixing.class.mjs +0 -48
  476. package/esm2020/mixin/src/datalist-component.class.mjs +0 -163
  477. package/esm2020/mixin/src/dropdown-mixin.class.mjs +0 -99
  478. package/esm2020/mixin/src/interactive-mixin.class.mjs +0 -84
  479. package/esm2020/mixin/src/loading-mixin.class.mjs +0 -18
  480. package/esm2020/mixin/src/selection-component.class.mjs +0 -180
  481. package/esm2020/mixin/src/sizable-mixin.class.mjs +0 -18
  482. package/esm2020/mixin/src/textbox-mixin.class.mjs +0 -58
  483. package/esm2020/mixin/src/value-mixin.class.mjs +0 -230
  484. package/esm2020/notification/src/notification.component.mjs +0 -87
  485. package/esm2020/notification/src/notification.service.mjs +0 -107
  486. package/esm2020/number-box/src/number-box.component.mjs +0 -260
  487. package/esm2020/page/src/base-page.class.mjs +0 -61
  488. package/esm2020/page/src/page.component.mjs +0 -44
  489. package/esm2020/password-box/src/password-box.component.mjs +0 -62
  490. package/esm2020/picker/src/picker-column.component.mjs +0 -22
  491. package/esm2020/popover/src/popover.component.mjs +0 -248
  492. package/esm2020/popup/src/popup.component.mjs +0 -135
  493. package/esm2020/popup/src/popup.service.mjs +0 -114
  494. package/esm2020/range-slider/src/range-slider.component.mjs +0 -116
  495. package/esm2020/rating/src/rating.component.mjs +0 -41
  496. package/esm2020/result/src/result.component.mjs +0 -25
  497. package/esm2020/search-box/src/search-box.component.mjs +0 -52
  498. package/esm2020/select-box/src/selectbox.component.mjs +0 -380
  499. package/esm2020/tabs/src/tab-content.directive.mjs +0 -29
  500. package/esm2020/tabs/src/tab-item.component.mjs +0 -136
  501. package/esm2020/tabs/src/tabs.class.mjs +0 -4
  502. package/esm2020/textarea/src/textarea.component.mjs +0 -28
  503. package/esm2020/textbox/src/mask-options.directive.mjs +0 -17
  504. package/esm2020/textbox/src/textbox.component.mjs +0 -92
  505. package/esm2020/time-box/src/time-box.component.mjs +0 -296
  506. package/esm2020/toast/src/toast.component.mjs +0 -64
  507. package/esm2020/toast/src/toast.service.mjs +0 -134
  508. package/esm2020/tooltip/src/tooltip.component.mjs +0 -20
  509. package/esm2020/tooltip/src/tooltip.directive.mjs +0 -157
  510. package/esm2020/tree-view/src/tree-view.component.mjs +0 -108
  511. package/esm2020/uploader/src/uploader.component.mjs +0 -98
  512. package/fesm2015/acorex-components-action-sheet.mjs +0 -193
  513. package/fesm2015/acorex-components-action-sheet.mjs.map +0 -1
  514. package/fesm2015/acorex-components-alert.mjs +0 -208
  515. package/fesm2015/acorex-components-alert.mjs.map +0 -1
  516. package/fesm2015/acorex-components-avatar.mjs +0 -81
  517. package/fesm2015/acorex-components-avatar.mjs.map +0 -1
  518. package/fesm2015/acorex-components-breadcrumbs.mjs +0 -91
  519. package/fesm2015/acorex-components-breadcrumbs.mjs.map +0 -1
  520. package/fesm2015/acorex-components-button.mjs +0 -281
  521. package/fesm2015/acorex-components-button.mjs.map +0 -1
  522. package/fesm2015/acorex-components-calendar.mjs +0 -531
  523. package/fesm2015/acorex-components-calendar.mjs.map +0 -1
  524. package/fesm2015/acorex-components-card.mjs +0 -41
  525. package/fesm2015/acorex-components-checkbox.mjs +0 -67
  526. package/fesm2015/acorex-components-chips.mjs.map +0 -1
  527. package/fesm2015/acorex-components-collapse.mjs.map +0 -1
  528. package/fesm2015/acorex-components-color-palette.mjs +0 -772
  529. package/fesm2015/acorex-components-color-palette.mjs.map +0 -1
  530. package/fesm2015/acorex-components-color-picker.mjs +0 -172
  531. package/fesm2015/acorex-components-color-picker.mjs.map +0 -1
  532. package/fesm2015/acorex-components-common.mjs +0 -955
  533. package/fesm2015/acorex-components-common.mjs.map +0 -1
  534. package/fesm2015/acorex-components-context-menu.mjs +0 -301
  535. package/fesm2015/acorex-components-data-pager.mjs +0 -615
  536. package/fesm2015/acorex-components-data-pager.mjs.map +0 -1
  537. package/fesm2015/acorex-components-data-table.mjs +0 -224
  538. package/fesm2015/acorex-components-data-table.mjs.map +0 -1
  539. package/fesm2015/acorex-components-date-picker.mjs +0 -297
  540. package/fesm2015/acorex-components-date-picker.mjs.map +0 -1
  541. package/fesm2015/acorex-components-decorators.mjs +0 -356
  542. package/fesm2015/acorex-components-dialog.mjs +0 -233
  543. package/fesm2015/acorex-components-drawer.mjs +0 -202
  544. package/fesm2015/acorex-components-drawer.mjs.map +0 -1
  545. package/fesm2015/acorex-components-dropdown.mjs +0 -135
  546. package/fesm2015/acorex-components-dropdown.mjs.map +0 -1
  547. package/fesm2015/acorex-components-form.mjs +0 -450
  548. package/fesm2015/acorex-components-form.mjs.map +0 -1
  549. package/fesm2015/acorex-components-label.mjs.map +0 -1
  550. package/fesm2015/acorex-components-loading.mjs +0 -385
  551. package/fesm2015/acorex-components-loading.mjs.map +0 -1
  552. package/fesm2015/acorex-components-menu.mjs +0 -381
  553. package/fesm2015/acorex-components-menu.mjs.map +0 -1
  554. package/fesm2015/acorex-components-mixin.mjs.map +0 -1
  555. package/fesm2015/acorex-components-notification.mjs +0 -217
  556. package/fesm2015/acorex-components-notification.mjs.map +0 -1
  557. package/fesm2015/acorex-components-number-box.mjs +0 -300
  558. package/fesm2015/acorex-components-page.mjs +0 -127
  559. package/fesm2015/acorex-components-page.mjs.map +0 -1
  560. package/fesm2015/acorex-components-password-box.mjs +0 -99
  561. package/fesm2015/acorex-components-picker.mjs +0 -77
  562. package/fesm2015/acorex-components-popover.mjs +0 -278
  563. package/fesm2015/acorex-components-popup.mjs +0 -275
  564. package/fesm2015/acorex-components-popup.mjs.map +0 -1
  565. package/fesm2015/acorex-components-progress-bar.mjs +0 -57
  566. package/fesm2015/acorex-components-radio.mjs +0 -66
  567. package/fesm2015/acorex-components-range-slider.mjs +0 -148
  568. package/fesm2015/acorex-components-range-slider.mjs.map +0 -1
  569. package/fesm2015/acorex-components-rating.mjs +0 -65
  570. package/fesm2015/acorex-components-result.mjs +0 -49
  571. package/fesm2015/acorex-components-result.mjs.map +0 -1
  572. package/fesm2015/acorex-components-search-box.mjs +0 -84
  573. package/fesm2015/acorex-components-search-box.mjs.map +0 -1
  574. package/fesm2015/acorex-components-select-box.mjs +0 -453
  575. package/fesm2015/acorex-components-select-box.mjs.map +0 -1
  576. package/fesm2015/acorex-components-selection-list.mjs +0 -89
  577. package/fesm2015/acorex-components-switch.mjs +0 -91
  578. package/fesm2015/acorex-components-tabs.mjs +0 -299
  579. package/fesm2015/acorex-components-tag.mjs +0 -53
  580. package/fesm2015/acorex-components-tag.mjs.map +0 -1
  581. package/fesm2015/acorex-components-textarea.mjs +0 -52
  582. package/fesm2015/acorex-components-textarea.mjs.map +0 -1
  583. package/fesm2015/acorex-components-textbox.mjs +0 -149
  584. package/fesm2015/acorex-components-textbox.mjs.map +0 -1
  585. package/fesm2015/acorex-components-time-box.mjs +0 -336
  586. package/fesm2015/acorex-components-time-box.mjs.map +0 -1
  587. package/fesm2015/acorex-components-toast.mjs +0 -222
  588. package/fesm2015/acorex-components-toast.mjs.map +0 -1
  589. package/fesm2015/acorex-components-tooltip.mjs +0 -164
  590. package/fesm2015/acorex-components-tooltip.mjs.map +0 -1
  591. package/fesm2015/acorex-components-tree-view.mjs +0 -133
  592. package/fesm2015/acorex-components-uploader.mjs +0 -129
  593. package/fesm2015/acorex-components-uploader.mjs.map +0 -1
  594. package/fesm2020/acorex-components-badge.mjs +0 -53
  595. package/fesm2020/acorex-components-badge.mjs.map +0 -1
  596. package/fesm2020/acorex-components-button.mjs.map +0 -1
  597. package/fesm2020/acorex-components-calendar.mjs +0 -530
  598. package/fesm2020/acorex-components-calendar.mjs.map +0 -1
  599. package/fesm2020/acorex-components-card.mjs +0 -41
  600. package/fesm2020/acorex-components-card.mjs.map +0 -1
  601. package/fesm2020/acorex-components-checkbox.mjs.map +0 -1
  602. package/fesm2020/acorex-components-chips.mjs +0 -57
  603. package/fesm2020/acorex-components-collapse.mjs +0 -115
  604. package/fesm2020/acorex-components-color-picker.mjs +0 -169
  605. package/fesm2020/acorex-components-color-picker.mjs.map +0 -1
  606. package/fesm2020/acorex-components-common.mjs.map +0 -1
  607. package/fesm2020/acorex-components-context-menu.mjs.map +0 -1
  608. package/fesm2020/acorex-components-date-picker.mjs +0 -295
  609. package/fesm2020/acorex-components-date-picker.mjs.map +0 -1
  610. package/fesm2020/acorex-components-decorators.mjs.map +0 -1
  611. package/fesm2020/acorex-components-dialog.mjs.map +0 -1
  612. package/fesm2020/acorex-components-dropdown.mjs.map +0 -1
  613. package/fesm2020/acorex-components-form.mjs.map +0 -1
  614. package/fesm2020/acorex-components-image.mjs +0 -100
  615. package/fesm2020/acorex-components-image.mjs.map +0 -1
  616. package/fesm2020/acorex-components-label.mjs +0 -71
  617. package/fesm2020/acorex-components-label.mjs.map +0 -1
  618. package/fesm2020/acorex-components-mixin.mjs +0 -1259
  619. package/fesm2020/acorex-components-number-box.mjs.map +0 -1
  620. package/fesm2020/acorex-components-password-box.mjs +0 -99
  621. package/fesm2020/acorex-components-password-box.mjs.map +0 -1
  622. package/fesm2020/acorex-components-picker.mjs.map +0 -1
  623. package/fesm2020/acorex-components-popover.mjs.map +0 -1
  624. package/fesm2020/acorex-components-progress-bar.mjs.map +0 -1
  625. package/fesm2020/acorex-components-radio.mjs +0 -66
  626. package/fesm2020/acorex-components-radio.mjs.map +0 -1
  627. package/fesm2020/acorex-components-range-slider.mjs.map +0 -1
  628. package/fesm2020/acorex-components-rating.mjs +0 -65
  629. package/fesm2020/acorex-components-rating.mjs.map +0 -1
  630. package/fesm2020/acorex-components-selection-list.mjs.map +0 -1
  631. package/fesm2020/acorex-components-switch.mjs.map +0 -1
  632. package/fesm2020/acorex-components-tabs.mjs.map +0 -1
  633. package/fesm2020/acorex-components-textarea.mjs +0 -52
  634. package/fesm2020/acorex-components-tree-view.mjs +0 -133
  635. package/fesm2020/acorex-components-tree-view.mjs.map +0 -1
  636. package/fesm2020/acorex-components.mjs +0 -12
  637. package/fesm2020/acorex-components.mjs.map +0 -1
  638. /package/{esm2020 → esm2022}/acorex-components.mjs +0 -0
  639. /package/{esm2020 → esm2022}/action-sheet/acorex-components-action-sheet.mjs +0 -0
  640. /package/{esm2020 → esm2022}/action-sheet/public-api.mjs +0 -0
  641. /package/{esm2020 → esm2022}/action-sheet/src/action-sheet.interface.mjs +0 -0
  642. /package/{esm2020 → esm2022}/alert/acorex-components-alert.mjs +0 -0
  643. /package/{esm2020 → esm2022}/alert/public-api.mjs +0 -0
  644. /package/{esm2020 → esm2022}/avatar/acorex-components-avatar.mjs +0 -0
  645. /package/{esm2020 → esm2022}/avatar/public-api.mjs +0 -0
  646. /package/{esm2020 → esm2022}/badge/acorex-components-badge.mjs +0 -0
  647. /package/{esm2020 → esm2022}/badge/public-api.mjs +0 -0
  648. /package/{esm2020 → esm2022}/breadcrumbs/acorex-components-breadcrumbs.mjs +0 -0
  649. /package/{esm2020 → esm2022}/breadcrumbs/public-api.mjs +0 -0
  650. /package/{esm2020 → esm2022}/breadcrumbs/src/breadcrumbs-item.class.mjs +0 -0
  651. /package/{esm2020 → esm2022}/button/acorex-components-button.mjs +0 -0
  652. /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
  653. /package/{esm2020 → esm2022}/button/src/button-item.class.mjs +0 -0
  654. /package/{esm2020 → esm2022}/calendar/acorex-components-calendar.mjs +0 -0
  655. /package/{esm2020 → esm2022}/card/acorex-components-card.mjs +0 -0
  656. /package/{esm2020 → esm2022}/card/public-api.mjs +0 -0
  657. /package/{esm2020 → esm2022}/checkbox/acorex-components-checkbox.mjs +0 -0
  658. /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
  659. /package/{esm2020 → esm2022}/chips/acorex-components-chips.mjs +0 -0
  660. /package/{esm2020 → esm2022}/chips/public-api.mjs +0 -0
  661. /package/{esm2020 → esm2022}/collapse/acorex-components-collapse.mjs +0 -0
  662. /package/{esm2020 → esm2022}/collapse/public-api.mjs +0 -0
  663. /package/{esm2020 → esm2022}/color-palette/acorex-components-color-palette.mjs +0 -0
  664. /package/{esm2020 → esm2022}/color-palette/public-api.mjs +0 -0
  665. /package/{esm2020 → esm2022}/color-picker/acorex-components-color-picker.mjs +0 -0
  666. /package/{esm2020 → esm2022}/color-picker/public-api.mjs +0 -0
  667. /package/{esm2020 → esm2022}/common/acorex-components-common.mjs +0 -0
  668. /package/{esm2020 → esm2022}/common/src/classes/drawing.class.mjs +0 -0
  669. /package/{esm2020 → esm2022}/common/src/classes/styles.class.mjs +0 -0
  670. /package/{esm2020 → esm2022}/common/src/components/colorlook-component.class.mjs +0 -0
  671. /package/{esm2020 → esm2022}/common/src/constant/positions.mjs +0 -0
  672. /package/{esm2020 → esm2022}/context-menu/acorex-components-context-menu.mjs +0 -0
  673. /package/{esm2020 → esm2022}/context-menu/public-api.mjs +0 -0
  674. /package/{esm2020 → esm2022}/data-pager/acorex-components-data-pager.mjs +0 -0
  675. /package/{esm2020 → esm2022}/data-pager/public-api.mjs +0 -0
  676. /package/{esm2020 → esm2022}/data-table/acorex-components-data-table.mjs +0 -0
  677. /package/{esm2020 → esm2022}/data-table/public-api.mjs +0 -0
  678. /package/{esm2020 → esm2022}/date-picker/acorex-components-date-picker.mjs +0 -0
  679. /package/{esm2020 → esm2022}/date-picker/public-api.mjs +0 -0
  680. /package/{esm2020 → esm2022}/decorators/acorex-components-decorators.mjs +0 -0
  681. /package/{esm2020 → esm2022}/decorators/public-api.mjs +0 -0
  682. /package/{esm2020 → esm2022}/dialog/acorex-components-dialog.mjs +0 -0
  683. /package/{esm2020 → esm2022}/dialog/public-api.mjs +0 -0
  684. /package/{esm2020 → esm2022}/dialog/src/dialog.class.mjs +0 -0
  685. /package/{esm2020 → esm2022}/drawer/acorex-components-drawer.mjs +0 -0
  686. /package/{esm2020 → esm2022}/drawer/public-api.mjs +0 -0
  687. /package/{esm2020 → esm2022}/dropdown/acorex-components-dropdown.mjs +0 -0
  688. /package/{esm2020 → esm2022}/dropdown/public-api.mjs +0 -0
  689. /package/{esm2020 → esm2022}/form/acorex-components-form.mjs +0 -0
  690. /package/{esm2020 → esm2022}/form/public-api.mjs +0 -0
  691. /package/{esm2020 → esm2022}/form/src/validation.class.mjs +0 -0
  692. /package/{esm2020 → esm2022}/image/acorex-components-image.mjs +0 -0
  693. /package/{esm2020 → esm2022}/image/public-api.mjs +0 -0
  694. /package/{esm2020 → esm2022}/label/acorex-components-label.mjs +0 -0
  695. /package/{esm2020 → esm2022}/label/public-api.mjs +0 -0
  696. /package/{esm2020 → esm2022}/loading/acorex-components-loading.mjs +0 -0
  697. /package/{esm2020 → esm2022}/loading/public-api.mjs +0 -0
  698. /package/{esm2020 → esm2022}/menu/acorex-components-menu.mjs +0 -0
  699. /package/{esm2020 → esm2022}/menu/public-api.mjs +0 -0
  700. /package/{esm2020 → esm2022}/mixin/acorex-components-mixin.mjs +0 -0
  701. /package/{esm2020 → esm2022}/mixin/public-api.mjs +0 -0
  702. /package/{esm2020 → esm2022}/mixin/src/constratctor.mjs +0 -0
  703. /package/{esm2020 → esm2022}/mixin/src/datalist.class.mjs +0 -0
  704. /package/{esm2020 → esm2022}/mixin/src/mixin.class.mjs +0 -0
  705. /package/{esm2020 → esm2022}/mixin/src/page-component.class.mjs +0 -0
  706. /package/{esm2020 → esm2022}/notification/acorex-components-notification.mjs +0 -0
  707. /package/{esm2020 → esm2022}/notification/public-api.mjs +0 -0
  708. /package/{esm2020 → esm2022}/notification/src/notification.class.mjs +0 -0
  709. /package/{esm2020 → esm2022}/number-box/acorex-components-number-box.mjs +0 -0
  710. /package/{esm2020 → esm2022}/number-box/public-api.mjs +0 -0
  711. /package/{esm2020 → esm2022}/page/acorex-components-page.mjs +0 -0
  712. /package/{esm2020 → esm2022}/page/public-api.mjs +0 -0
  713. /package/{esm2020 → esm2022}/password-box/acorex-components-password-box.mjs +0 -0
  714. /package/{esm2020 → esm2022}/password-box/public-api.mjs +0 -0
  715. /package/{esm2020 → esm2022}/picker/acorex-components-picker.mjs +0 -0
  716. /package/{esm2020 → esm2022}/picker/public-api.mjs +0 -0
  717. /package/{esm2020 → esm2022}/popover/acorex-components-popover.mjs +0 -0
  718. /package/{esm2020 → esm2022}/popover/public-api.mjs +0 -0
  719. /package/{esm2020 → esm2022}/popup/acorex-components-popup.mjs +0 -0
  720. /package/{esm2020 → esm2022}/popup/public-api.mjs +0 -0
  721. /package/{esm2020 → esm2022}/progress-bar/acorex-components-progress-bar.mjs +0 -0
  722. /package/{esm2020 → esm2022}/progress-bar/public-api.mjs +0 -0
  723. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  724. /package/{esm2020 → esm2022}/radio/acorex-components-radio.mjs +0 -0
  725. /package/{esm2020 → esm2022}/radio/public-api.mjs +0 -0
  726. /package/{esm2020 → esm2022}/range-slider/acorex-components-range-slider.mjs +0 -0
  727. /package/{esm2020 → esm2022}/range-slider/public-api.mjs +0 -0
  728. /package/{esm2020 → esm2022}/rating/acorex-components-rating.mjs +0 -0
  729. /package/{esm2020 → esm2022}/rating/public-api.mjs +0 -0
  730. /package/{esm2020 → esm2022}/result/acorex-components-result.mjs +0 -0
  731. /package/{esm2020 → esm2022}/result/public-api.mjs +0 -0
  732. /package/{esm2020 → esm2022}/search-box/acorex-components-search-box.mjs +0 -0
  733. /package/{esm2020 → esm2022}/search-box/public-api.mjs +0 -0
  734. /package/{esm2020 → esm2022}/select-box/acorex-components-select-box.mjs +0 -0
  735. /package/{esm2020 → esm2022}/select-box/public-api.mjs +0 -0
  736. /package/{esm2020 → esm2022}/selection-list/acorex-components-selection-list.mjs +0 -0
  737. /package/{esm2020 → esm2022}/selection-list/public-api.mjs +0 -0
  738. /package/{esm2020 → esm2022}/switch/acorex-components-switch.mjs +0 -0
  739. /package/{esm2020 → esm2022}/switch/public-api.mjs +0 -0
  740. /package/{esm2020 → esm2022}/tabs/acorex-components-tabs.mjs +0 -0
  741. /package/{esm2020 → esm2022}/tabs/public-api.mjs +0 -0
  742. /package/{esm2020 → esm2022}/tag/acorex-components-tag.mjs +0 -0
  743. /package/{esm2020 → esm2022}/tag/public-api.mjs +0 -0
  744. /package/{esm2020 → esm2022}/textarea/acorex-components-textarea.mjs +0 -0
  745. /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
  746. /package/{esm2020 → esm2022}/textbox/acorex-components-textbox.mjs +0 -0
  747. /package/{esm2020 → esm2022}/textbox/public-api.mjs +0 -0
  748. /package/{esm2020 → esm2022}/time-box/acorex-components-time-box.mjs +0 -0
  749. /package/{esm2020 → esm2022}/time-box/public-api.mjs +0 -0
  750. /package/{esm2020 → esm2022}/toast/acorex-components-toast.mjs +0 -0
  751. /package/{esm2020 → esm2022}/toast/public-api.mjs +0 -0
  752. /package/{esm2020 → esm2022}/toast/src/toast.class.mjs +0 -0
  753. /package/{esm2020 → esm2022}/tooltip/acorex-components-tooltip.mjs +0 -0
  754. /package/{esm2020 → esm2022}/tooltip/public-api.mjs +0 -0
  755. /package/{esm2020 → esm2022}/tree-view/acorex-components-tree-view.mjs +0 -0
  756. /package/{esm2020 → esm2022}/tree-view/public-api.mjs +0 -0
  757. /package/{esm2020 → esm2022}/uploader/acorex-components-uploader.mjs +0 -0
  758. /package/{esm2020 → esm2022}/uploader/public-api.mjs +0 -0
  759. /package/{fesm2015 → fesm2022}/acorex-components.mjs.map +0 -0
@@ -0,0 +1,206 @@
1
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
+ import { EventEmitter, Injectable } from '@angular/core';
3
+ import { AXObjectUtil } from '@acorex/core/utils';
4
+ import { MXBaseComponent } from './base-component.class';
5
+ import * as i0 from "@angular/core";
6
+ export class MXValueComponent extends MXBaseComponent {
7
+ /**
8
+ * Fires each time the user press a key.
9
+ * @event
10
+ */
11
+ onValueChanged = new EventEmitter();
12
+ valueChange = new EventEmitter();
13
+ stateChange = new EventEmitter();
14
+ _readonly = false;
15
+ /**
16
+ * If set to true, user cannot change the value of component.
17
+ */
18
+ get readonly() {
19
+ return this._readonly;
20
+ }
21
+ set readonly(value) {
22
+ this._readonly = coerceBooleanProperty(value);
23
+ }
24
+ _name;
25
+ get name() {
26
+ return this._name;
27
+ }
28
+ set name(value) {
29
+ this._name = value;
30
+ }
31
+ _isUserInteraction = false;
32
+ get isUserInteraction() {
33
+ return this._isUserInteraction;
34
+ }
35
+ set isUserInteraction(value) {
36
+ this._isUserInteraction = value;
37
+ }
38
+ initValue;
39
+ defaultValue;
40
+ _value;
41
+ get value() {
42
+ return this.getValue(this._value) || this.defaultValue;
43
+ }
44
+ set value(v) {
45
+ v = this.setValue(v);
46
+ //if (!this._isInited ) {
47
+ const old = AXObjectUtil.deepJSONClone(this.value);
48
+ // TODO: check real equality
49
+ if (v != old) {
50
+ this._value = v;
51
+ this.emitOnValueChangedEvent(old, this.value);
52
+ this.cdr.markForCheck();
53
+ if (v == null || v == undefined || v == '' || (Array.isArray(v) && v.length == 0)) {
54
+ this.setState('clear');
55
+ }
56
+ // else {
57
+ // if (this._isInited) {
58
+ // this.validate();
59
+ // }
60
+ // }
61
+ }
62
+ this._isUserInteraction = false;
63
+ //}
64
+ }
65
+ _state = 'clear';
66
+ get state() {
67
+ return this._state;
68
+ }
69
+ set state(value) {
70
+ this.setState(value);
71
+ this.stateChange.emit(value);
72
+ }
73
+ emitOnValueChangedEvent(oldValue, newValue) {
74
+ this.valueChange.emit(newValue);
75
+ this.onValueChanged.emit({
76
+ component: this,
77
+ value: newValue,
78
+ oldValue: oldValue,
79
+ name: this.name,
80
+ isUserInteraction: this.isUserInteraction,
81
+ });
82
+ this._isUserInteraction = false;
83
+ }
84
+ setValue(value) {
85
+ return value;
86
+ }
87
+ getValue(value) {
88
+ return value;
89
+ }
90
+ ngOnInit() {
91
+ this.getHostElement().setAttribute('ax-form-input', 'true');
92
+ }
93
+ ngAfterViewInit() {
94
+ this._checkRequired();
95
+ }
96
+ ngOnDestroy() {
97
+ debugger;
98
+ this.onValueChanged?.unsubscribe();
99
+ this.onOptionChanged?.unsubscribe();
100
+ }
101
+ clear() {
102
+ this.value = null;
103
+ }
104
+ _checkRequired() {
105
+ const isRequired = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).some(c => c.__axContext__.enabled && c.__axContext__.rule == 'required');
106
+ //
107
+ if (isRequired) {
108
+ const container = this.getHostElement().classList.contains('ax-editor-container')
109
+ ? this.getHostElement()
110
+ : this.getHostElement().querySelector('.ax-editor-container');
111
+ const formField = container?.closest('.ax-form-field');
112
+ const label = formField?.querySelector('ax-label')?.__axContext__;
113
+ if (label)
114
+ label.required = true;
115
+ }
116
+ }
117
+ validate() {
118
+ const rules = Array.from(this.getHostElement().querySelectorAll('ax-validation-rule')).filter(c => c.__axContext__.enabled);
119
+ //
120
+ if (!rules || rules.length === 0) {
121
+ this.setState('clear');
122
+ return Promise.resolve({
123
+ result: true,
124
+ value: this.value,
125
+ name: this.name,
126
+ id: this.id,
127
+ });
128
+ }
129
+ return new Promise(resolve => {
130
+ Promise.all(rules
131
+ .filter(c => typeof c?.validate === 'function')
132
+ .map(c => {
133
+ return c.validate(this.value);
134
+ })).then(d => {
135
+ const error = d.find(c => c.result === false);
136
+ if (error) {
137
+ this.setState('error', error.message);
138
+ resolve({
139
+ result: false,
140
+ value: this.value,
141
+ message: error.message,
142
+ name: this.name,
143
+ id: this.id,
144
+ });
145
+ }
146
+ else {
147
+ this.setState('success');
148
+ resolve({
149
+ result: true,
150
+ value: this.value,
151
+ name: this.name,
152
+ id: this.id,
153
+ });
154
+ }
155
+ });
156
+ });
157
+ }
158
+ setState(state, ...args) {
159
+ const container = this.getHostElement().classList.contains('ax-editor-container')
160
+ ? this.getHostElement()
161
+ : this.getHostElement().querySelector('.ax-editor-container');
162
+ const formField = container?.closest('.ax-form-field');
163
+ const label = formField?.querySelector('ax-label') || formField?.querySelector('label');
164
+ let target = container || this.getHostElement().firstElementChild;
165
+ if (target?.querySelector('.ax-error-container')) {
166
+ target = target.querySelector('.ax-error-container');
167
+ }
168
+ const parent = target?.parentElement;
169
+ if (!target || !parent)
170
+ return;
171
+ switch (state) {
172
+ case 'clear':
173
+ this._state = 'clear';
174
+ if (parent.querySelector('span.ax-error-message')) {
175
+ parent.removeChild(parent.querySelector('span.ax-error-message'));
176
+ }
177
+ label?.classList.remove('ax-state-error');
178
+ target.classList.remove('ax-state-error', 'ax-state-success');
179
+ break;
180
+ case 'success':
181
+ this.setState('clear');
182
+ target.classList.add('ax-state-success');
183
+ this._state = 'success';
184
+ break;
185
+ case 'error':
186
+ this.setState('clear');
187
+ if (args[0]) {
188
+ const span = document.createElement('span');
189
+ span.innerText = args[0];
190
+ span.classList.add('ax-error-message');
191
+ parent.appendChild(span);
192
+ }
193
+ label?.classList.add('ax-state-error');
194
+ target.classList.add('ax-state-error');
195
+ this._state = 'error';
196
+ break;
197
+ }
198
+ this.cdr.markForCheck();
199
+ }
200
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MXValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
201
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MXValueComponent });
202
+ }
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MXValueComponent, decorators: [{
204
+ type: Injectable
205
+ }] });
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY29tcG9uZW50LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uL3NyYy9jb21wb25lbnRzL3ZhbHVlLWNvbXBvbmVudC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFvQixlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFJM0UsTUFBTSxPQUFPLGdCQUEwQixTQUFRLGVBQWU7SUFDNUQ7OztPQUdHO0lBQ0gsY0FBYyxHQUEyQyxJQUFJLFlBQVksRUFBNEIsQ0FBQztJQUV0RyxXQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFDekQsV0FBVyxHQUFtQyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUUzRSxTQUFTLEdBQVksS0FBSyxDQUFDO0lBRW5DOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLEtBQUssQ0FBUztJQUN0QixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVPLGtCQUFrQixHQUFZLEtBQUssQ0FBQztJQUU1QyxJQUFJ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QU07U0FDVDtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzt1R0E5TlUsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhPYmplY3RVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgQVhDb21wb25lbnRTdGF0ZSwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICcuLi9jbGFzc2VzL2V2ZW50cy5jbGFzcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNWFZhbHVlQ29tcG9uZW50PFQgPSBhbnk+IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiAgRmlyZXMgZWFjaCB0aW1lIHRoZSB1c2VyIHByZXNzIGEga2V5LlxyXG4gICAqICBAZXZlbnRcclxuICAgKi9cclxuICBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4oKTtcclxuXHJcbiAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgc3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENvbXBvbmVudFN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDb21wb25lbnRTdGF0ZT4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogIElmIHNldCB0byB0cnVlLCB1c2VyIGNhbm5vdCBjaGFuZ2UgdGhlIHZhbHVlIG9mIGNvbXBvbmVudC5cclxuICAgKi9cclxuICBnZXQgcmVhZG9ubHkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XHJcbiAgfVxyXG4gIHNldCByZWFkb25seSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fcmVhZG9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nO1xyXG4gIGdldCBuYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX25hbWU7XHJcbiAgfVxyXG4gIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX25hbWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2lzVXNlckludGVyYWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBpc1VzZXJJbnRlcmFjdGlvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbjtcclxuICB9XHJcblxyXG4gIHNldCBpc1VzZXJJbnRlcmFjdGlvbih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faXNVc2VySW50ZXJhY3Rpb24gPSB2YWx1ZTtcclxuICB9XHJcblxyXG5cclxuICBpbml0VmFsdWU6VDtcclxuICBkZWZhdWx0VmFsdWU6VDtcclxuXHJcbiAgcHJpdmF0ZSBfdmFsdWU6IFQ7XHJcbiAgZ2V0IHZhbHVlKCk6IFQge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUodGhpcy5fdmFsdWUpIHx8IHRoaXMuZGVmYXVsdFZhbHVlO1xyXG4gIH1cclxuICBzZXQgdmFsdWUodjogVCkge1xyXG4gICAgdiA9IHRoaXMuc2V0VmFsdWUodik7XHJcbiAgICAvL2lmICghdGhpcy5faXNJbml0ZWQgKSB7XHJcbiAgICBjb25zdCBvbGQgPSBBWE9iamVjdFV0aWwuZGVlcEpTT05DbG9uZSh0aGlzLnZhbHVlKTtcclxuICAgIC8vIFRPRE86IGNoZWNrIHJlYWwgZXF1YWxpdHlcclxuICAgIGlmICh2ICE9IG9sZCkge1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgIHRoaXMuZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkLCB0aGlzLnZhbHVlKTtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIGlmICh2ID09IG51bGwgfHwgdiA9PSB1bmRlZmluZWQgfHwgdiA9PSAnJyB8fCAoQXJyYXkuaXNBcnJheSh2KSAmJiB2Lmxlbmd0aCA9PSAwKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gZWxzZSB7XHJcbiAgICAgIC8vICAgaWYgKHRoaXMuX2lzSW5pdGVkKSB7XHJcbiAgICAgIC8vICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICB0aGlzLl9pc1VzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xyXG4gICAgLy99XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zdGF0ZTogQVhDb21wb25lbnRTdGF0ZSA9ICdjbGVhcic7XHJcblxyXG4gIGdldCBzdGF0ZSgpOiBBWENvbXBvbmVudFN0YXRlIHtcclxuICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcclxuICB9XHJcblxyXG4gIHNldCBzdGF0ZSh2YWx1ZTogQVhDb21wb25lbnRTdGF0ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh2YWx1ZSk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGVtaXRPblZhbHVlQ2hhbmdlZEV2ZW50KG9sZFZhbHVlPzogYW55LCBuZXdWYWx1ZT86IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcclxuICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgdmFsdWU6IG5ld1ZhbHVlLFxyXG4gICAgICBvbGRWYWx1ZTogb2xkVmFsdWUsXHJcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRoaXMuaXNVc2VySW50ZXJhY3Rpb24sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJvdGVjdGVkIHNldFZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkuc2V0QXR0cmlidXRlKCdheC1mb3JtLWlucHV0JywgJ3RydWUnKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jaGVja1JlcXVpcmVkKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBkZWJ1Z2dlclxyXG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlZD8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMub25PcHRpb25DaGFuZ2VkPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NoZWNrUmVxdWlyZWQoKSB7XHJcbiAgICBjb25zdCBpc1JlcXVpcmVkID0gQXJyYXkuZnJvbSh0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbCgnYXgtdmFsaWRhdGlvbi1ydWxlJykpLnNvbWUoXHJcbiAgICAgIGMgPT4gKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLmVuYWJsZWQgJiYgKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLnJ1bGUgPT0gJ3JlcXVpcmVkJ1xyXG4gICAgKTtcclxuICAgIC8vXHJcbiAgICBpZiAoaXNSZXF1aXJlZCkge1xyXG4gICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkuY2xhc3NMaXN0LmNvbnRhaW5zKCdheC1lZGl0b3ItY29udGFpbmVyJylcclxuICAgICAgICA/IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKVxyXG4gICAgICAgIDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1lZGl0b3ItY29udGFpbmVyJyk7XHJcbiAgICAgIGNvbnN0IGZvcm1GaWVsZCA9IGNvbnRhaW5lcj8uY2xvc2VzdCgnLmF4LWZvcm0tZmllbGQnKTtcclxuICAgICAgY29uc3QgbGFiZWwgPSAoZm9ybUZpZWxkPy5xdWVyeVNlbGVjdG9yKCdheC1sYWJlbCcpIGFzIGFueSk/Ll9fYXhDb250ZXh0X187XHJcbiAgICAgIGlmIChsYWJlbCkgbGFiZWwucmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGNvbnN0IHJ1bGVzID0gQXJyYXkuZnJvbSh0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbCgnYXgtdmFsaWRhdGlvbi1ydWxlJykpLmZpbHRlcihjID0+IChjIGFzIGFueSkuX19heENvbnRleHRfXy5lbmFibGVkKTtcclxuICAgIC8vXHJcbiAgICBpZiAoIXJ1bGVzIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKCdjbGVhcicpO1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcclxuICAgICAgICByZXN1bHQ6IHRydWUsXHJcbiAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXHJcbiAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxyXG4gICAgICAgIGlkOiB0aGlzLmlkLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PihyZXNvbHZlID0+IHtcclxuICAgICAgUHJvbWlzZS5hbGwoXHJcbiAgICAgICAgcnVsZXNcclxuICAgICAgICAgIC5maWx0ZXIoYyA9PiB0eXBlb2YgKGMgYXMgYW55KT8udmFsaWRhdGUgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAubWFwKGMgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKGMgYXMgYW55KS52YWxpZGF0ZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICkudGhlbihkID0+IHtcclxuICAgICAgICBjb25zdCBlcnJvciA9IGQuZmluZChjID0+IGMucmVzdWx0ID09PSBmYWxzZSk7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKCdlcnJvcicsIGVycm9yLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgcmVzb2x2ZSh7XHJcbiAgICAgICAgICAgIHJlc3VsdDogZmFsc2UsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxyXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXHJcbiAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoJ3N1Y2Nlc3MnKTtcclxuICAgICAgICAgIHJlc29sdmUoe1xyXG4gICAgICAgICAgICByZXN1bHQ6IHRydWUsXHJcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXHJcbiAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHByb3RlY3RlZCBzZXRTdGF0ZShzdGF0ZTogQVhDb21wb25lbnRTdGF0ZSwgLi4uYXJncykge1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5jb250YWlucygnYXgtZWRpdG9yLWNvbnRhaW5lcicpXHJcbiAgICAgID8gdGhpcy5nZXRIb3N0RWxlbWVudCgpXHJcbiAgICAgIDogdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1lZGl0b3ItY29udGFpbmVyJyk7XHJcbiAgICBjb25zdCBmb3JtRmllbGQgPSBjb250YWluZXI/LmNsb3Nlc3QoJy5heC1mb3JtLWZpZWxkJyk7XHJcbiAgICBjb25zdCBsYWJlbCA9IGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignYXgtbGFiZWwnKSB8fCBmb3JtRmllbGQ/LnF1ZXJ5U2VsZWN0b3IoJ2xhYmVsJyk7XHJcbiAgICBsZXQgdGFyZ2V0ID0gY29udGFpbmVyIHx8IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5maXJzdEVsZW1lbnRDaGlsZDtcclxuICAgIGlmICh0YXJnZXQ/LnF1ZXJ5U2VsZWN0b3IoJy5heC1lcnJvci1jb250YWluZXInKSkge1xyXG4gICAgICB0YXJnZXQgPSB0YXJnZXQucXVlcnlTZWxlY3RvcignLmF4LWVycm9yLWNvbnRhaW5lcicpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyZW50ID0gdGFyZ2V0Py5wYXJlbnRFbGVtZW50O1xyXG4gICAgaWYgKCF0YXJnZXQgfHwgIXBhcmVudCkgcmV0dXJuO1xyXG5cclxuICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgY2FzZSAnY2xlYXInOlxyXG4gICAgICAgIHRoaXMuX3N0YXRlID0gJ2NsZWFyJztcclxuICAgICAgICBpZiAocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uYXgtZXJyb3ItbWVzc2FnZScpKSB7XHJcbiAgICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uYXgtZXJyb3ItbWVzc2FnZScpISk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsPy5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicpO1xyXG4gICAgICAgIHRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicsICdheC1zdGF0ZS1zdWNjZXNzJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLXN1Y2Nlc3MnKTtcclxuICAgICAgICB0aGlzLl9zdGF0ZSA9ICdzdWNjZXNzJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZXJyb3InOlxyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgaWYgKGFyZ3NbMF0pIHtcclxuICAgICAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgICBzcGFuLmlubmVyVGV4dCA9IGFyZ3NbMF07XHJcbiAgICAgICAgICBzcGFuLmNsYXNzTGlzdC5hZGQoJ2F4LWVycm9yLW1lc3NhZ2UnKTtcclxuICAgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChzcGFuKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWw/LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XHJcbiAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XHJcblxyXG4gICAgICAgIHRoaXMuX3N0YXRlID0gJ2Vycm9yJztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,57 @@
1
+ import { Directive, Host, Input, Optional, Self, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../classes/components.class";
4
+ export class AXAutoFocusDirective {
5
+ el;
6
+ _host;
7
+ autoFocus = true;
8
+ constructor(el, _host) {
9
+ this.el = el;
10
+ this._host = _host;
11
+ }
12
+ time = 100;
13
+ ngAfterContentInit() {
14
+ if (this.autoFocus) {
15
+ const list = [
16
+ 'button',
17
+ 'input',
18
+ '[href]',
19
+ 'select',
20
+ 'textarea',
21
+ '[tabindex]',
22
+ ].map((c) => c + ':not([tabindex="-1"])');
23
+ const focusable = this.el.nativeElement.querySelector(list.join(', ')) ??
24
+ this.el.nativeElement;
25
+ const attr = document.createAttribute('autofocus');
26
+ focusable.setAttributeNode(attr);
27
+ const hasTabindex = focusable.hasAttribute('tabindex');
28
+ if (!hasTabindex) {
29
+ focusable.setAttribute('tabIndex', '0');
30
+ }
31
+ setTimeout(() => {
32
+ focusable.focus();
33
+ }, 100);
34
+ }
35
+ }
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXAutoFocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXFocusableComponent, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
37
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: { autoFocus: ["axAutoFocus", "autoFocus"], time: ["focus-time", "time"] }, ngImport: i0 });
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXAutoFocusDirective, decorators: [{
40
+ type: Directive,
41
+ args: [{
42
+ selector: '[axAutoFocus]',
43
+ }]
44
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AXFocusableComponent, decorators: [{
45
+ type: Host
46
+ }, {
47
+ type: Self
48
+ }, {
49
+ type: Optional
50
+ }] }]; }, propDecorators: { autoFocus: [{
51
+ type: Input,
52
+ args: ['axAutoFocus']
53
+ }], time: [{
54
+ type: Input,
55
+ args: ['focus-time']
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxJQUFJLEVBQ0osS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7OztBQU12QixNQUFNLE9BQU8sb0JBQW9CO0lBTXJCO0lBSUQ7SUFQRixTQUFTLEdBQWEsSUFBSSxDQUFDO0lBRWxDLFlBQ1UsRUFBMkIsRUFJNUIsS0FBMkI7UUFKMUIsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFJNUIsVUFBSyxHQUFMLEtBQUssQ0FBc0I7SUFDaEMsQ0FBQztJQUlMLElBQUksR0FBVyxHQUFHLENBQUM7SUFFbkIsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixNQUFNLElBQUksR0FBRztnQkFDWCxRQUFRO2dCQUNSLE9BQU87Z0JBQ1AsUUFBUTtnQkFDUixRQUFRO2dCQUNSLFVBQVU7Z0JBQ1YsWUFBWTthQUNiLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsdUJBQXVCLENBQUMsQ0FBQztZQUUxQyxNQUFNLFNBQVMsR0FDYixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFFeEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNuRCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNoQixTQUFTLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN6QztZQUNELFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQzt1R0ExQ1Usb0JBQW9COzJGQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCOzswQkFRSSxJQUFJOzswQkFDSixJQUFJOzswQkFDSixRQUFROzRDQU5KLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxhQUFhO2dCQWFwQixJQUFJO3NCQURILEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0LFxyXG4gIElucHV0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNlbGYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYRm9jdXNhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY2xhc3Nlcy9jb21wb25lbnRzLmNsYXNzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2F4QXV0b0ZvY3VzXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEF1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG5cclxuICBASW5wdXQoJ2F4QXV0b0ZvY3VzJylcclxuICBwdWJsaWMgYXV0b0ZvY3VzPzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBASG9zdCgpXHJcbiAgICBAU2VsZigpXHJcbiAgICBAT3B0aW9uYWwoKVxyXG4gICAgcHVibGljIF9ob3N0OiBBWEZvY3VzYWJsZUNvbXBvbmVudFxyXG4gICkgeyB9XHJcblxyXG5cclxuICBASW5wdXQoJ2ZvY3VzLXRpbWUnKVxyXG4gIHRpbWU6IG51bWJlciA9IDEwMDtcclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XHJcbiAgICAgIGNvbnN0IGxpc3QgPSBbXHJcbiAgICAgICAgJ2J1dHRvbicsXHJcbiAgICAgICAgJ2lucHV0JyxcclxuICAgICAgICAnW2hyZWZdJyxcclxuICAgICAgICAnc2VsZWN0JyxcclxuICAgICAgICAndGV4dGFyZWEnLFxyXG4gICAgICAgICdbdGFiaW5kZXhdJyxcclxuICAgICAgXS5tYXAoKGMpID0+IGMgKyAnOm5vdChbdGFiaW5kZXg9XCItMVwiXSknKTtcclxuXHJcbiAgICAgIGNvbnN0IGZvY3VzYWJsZSA9XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KGxpc3Quam9pbignLCAnKSkgPz9cclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIFxyXG4gICAgICBjb25zdCBhdHRyID0gZG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKCdhdXRvZm9jdXMnKTtcclxuICAgICAgZm9jdXNhYmxlLnNldEF0dHJpYnV0ZU5vZGUoYXR0cik7XHJcbiAgICAgIGNvbnN0IGhhc1RhYmluZGV4ID0gZm9jdXNhYmxlLmhhc0F0dHJpYnV0ZSgndGFiaW5kZXgnKTtcclxuICAgICAgaWYgKCFoYXNUYWJpbmRleCkge1xyXG4gICAgICAgIGZvY3VzYWJsZS5zZXRBdHRyaWJ1dGUoJ3RhYkluZGV4JywgJzAnKTtcclxuICAgICAgfVxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBmb2N1c2FibGUuZm9jdXMoKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,49 @@
1
+ import { Directive, EventEmitter, Input, Output } from "@angular/core";
2
+ import { debounceTime, distinctUntilChanged, skip } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ export class AXNgModelChangeDebouncedDirective {
6
+ ngModel;
7
+ ngModelChangeDebounced = new EventEmitter();
8
+ ngModelChangeDebounceTimeChange = new EventEmitter();
9
+ _ngModelChangeDebounceTime = 0;
10
+ get ngModelChangeDebounceTime() {
11
+ return this._ngModelChangeDebounceTime;
12
+ }
13
+ set ngModelChangeDebounceTime(v) {
14
+ if (v != this._ngModelChangeDebounceTime) {
15
+ this._ngModelChangeDebounceTime = v;
16
+ this.ngModelChangeDebounceTimeChange.emit(v);
17
+ this.update();
18
+ }
19
+ }
20
+ subscription;
21
+ ngOnDestroy() {
22
+ this.subscription.unsubscribe();
23
+ }
24
+ constructor(ngModel) {
25
+ this.ngModel = ngModel;
26
+ this.ngModelChangeDebounceTime = 0;
27
+ }
28
+ update() {
29
+ this.subscription?.unsubscribe();
30
+ //
31
+ this.subscription = this.ngModel.control.valueChanges.pipe(skip(1), // skip initial value
32
+ distinctUntilChanged(), debounceTime(this.ngModelChangeDebounceTime)).subscribe((value) => this.ngModelChangeDebounced.emit(value));
33
+ }
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXNgModelChangeDebouncedDirective, deps: [{ token: i1.NgModel }], target: i0.ɵɵFactoryTarget.Directive });
35
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXNgModelChangeDebouncedDirective, selector: "[ngModelChangeDebounced]", inputs: { ngModelChangeDebounceTime: "ngModelChangeDebounceTime" }, outputs: { ngModelChangeDebounced: "ngModelChangeDebounced", ngModelChangeDebounceTimeChange: "ngModelChangeDebounceTimeChange" }, ngImport: i0 });
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXNgModelChangeDebouncedDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: '[ngModelChangeDebounced]',
41
+ }]
42
+ }], ctorParameters: function () { return [{ type: i1.NgModel }]; }, propDecorators: { ngModelChangeDebounced: [{
43
+ type: Output
44
+ }], ngModelChangeDebounceTimeChange: [{
45
+ type: Output
46
+ }], ngModelChangeDebounceTime: [{
47
+ type: Input
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UtdGltZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvZGVib3VuY2UtdGltZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBZ0IsTUFBTSxNQUFNLENBQUM7OztBQUs5RSxNQUFNLE9BQU8saUNBQWlDO0lBMkJ0QjtJQXhCcEIsc0JBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUdqRCwrQkFBK0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO0lBRXBELDBCQUEwQixHQUFXLENBQUMsQ0FBQztJQUMvQyxJQUNXLHlCQUF5QjtRQUNoQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBVyx5QkFBeUIsQ0FBQyxDQUFTO1FBQzFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUN0QyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1NBQ2hCO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBZTtJQUVuQyxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFBb0IsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxNQUFNO1FBQ1YsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxFQUFFO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN0RCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUscUJBQXFCO1FBQzlCLG9CQUFvQixFQUFFLEVBQ3RCLFlBQVksQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FDL0MsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO3VHQXZDUSxpQ0FBaUM7MkZBQWpDLGlDQUFpQzs7MkZBQWpDLGlDQUFpQztrQkFIN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO2lCQUN2Qzs4RkFJRyxzQkFBc0I7c0JBRHJCLE1BQU07Z0JBSVAsK0JBQStCO3NCQUQ5QixNQUFNO2dCQUtJLHlCQUF5QjtzQkFEbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNraXAsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW25nTW9kZWxDaGFuZ2VEZWJvdW5jZWRdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYTmdNb2RlbENoYW5nZURlYm91bmNlZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBuZ01vZGVsQ2hhbmdlRGVib3VuY2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBuZ01vZGVsQ2hhbmdlRGVib3VuY2VUaW1lQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KClcclxuXHJcbiAgICBwcml2YXRlIF9uZ01vZGVsQ2hhbmdlRGVib3VuY2VUaW1lOiBudW1iZXIgPSAwO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBnZXQgbmdNb2RlbENoYW5nZURlYm91bmNlVGltZSgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9uZ01vZGVsQ2hhbmdlRGVib3VuY2VUaW1lO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHNldCBuZ01vZGVsQ2hhbmdlRGVib3VuY2VUaW1lKHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh2ICE9IHRoaXMuX25nTW9kZWxDaGFuZ2VEZWJvdW5jZVRpbWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fbmdNb2RlbENoYW5nZURlYm91bmNlVGltZSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMubmdNb2RlbENoYW5nZURlYm91bmNlVGltZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSgpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nTW9kZWw6IE5nTW9kZWwpIHtcclxuICAgICAgICB0aGlzLm5nTW9kZWxDaGFuZ2VEZWJvdW5jZVRpbWUgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlKCkge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLm5nTW9kZWwuY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgICAgICAgc2tpcCgxKSwgLy8gc2tpcCBpbml0aWFsIHZhbHVlXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLm5nTW9kZWxDaGFuZ2VEZWJvdW5jZVRpbWUpXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm5nTW9kZWxDaGFuZ2VEZWJvdW5jZWQuZW1pdCh2YWx1ZSkpO1xyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,82 @@
1
+ import { Directive, Host, Input, Optional, Self, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../classes/components.class";
4
+ import * as i2 from "../services/hotkey.service";
5
+ export class AXHotkeyDirective {
6
+ el;
7
+ _host;
8
+ hs;
9
+ hotkey = '';
10
+ _subs = [];
11
+ constructor(el, _host, hs) {
12
+ this.el = el;
13
+ this._host = _host;
14
+ this.hs = hs;
15
+ }
16
+ ngAfterViewInit() {
17
+ if (!this.hotkey || !this._host)
18
+ return;
19
+ if (typeof this.hotkey == 'string') {
20
+ this._addDefaultAction(this.hotkey);
21
+ }
22
+ else if (typeof this.hotkey == 'object' && !Array.isArray(this.hotkey)) {
23
+ this._addHotKeyAction([this.hotkey]);
24
+ }
25
+ else if (Array.isArray(this.hotkey)) {
26
+ this._addHotKeyAction(this.hotkey);
27
+ }
28
+ }
29
+ _addDefaultAction(hotkey) {
30
+ this._subs.push(this.hs.addShortcut({ keys: hotkey }).subscribe(() => {
31
+ ['click', 'toggle', 'open', 'focus'].forEach((a) => {
32
+ if (this._host[a]) {
33
+ this._host[a]();
34
+ return;
35
+ }
36
+ });
37
+ }));
38
+ }
39
+ _addHotKeyAction(hotkeys) {
40
+ hotkeys.forEach((k) => {
41
+ const hotkey = Object.entries(k)[0][0];
42
+ const action = Object.entries(k)[0][1];
43
+ if (!action)
44
+ this._addDefaultAction(hotkey);
45
+ else {
46
+ this._subs.push(this.hs.addShortcut({ keys: hotkey }).subscribe(() => {
47
+ if (typeof action == 'string' && this._host[action]) {
48
+ this._host[action]();
49
+ return;
50
+ }
51
+ if (typeof action == 'function') {
52
+ action();
53
+ return;
54
+ }
55
+ }));
56
+ }
57
+ });
58
+ }
59
+ ngOnDestroy() {
60
+ this._subs.forEach((s) => {
61
+ s.unsubscribe();
62
+ });
63
+ }
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHotkeyDirective, deps: [{ token: i0.ElementRef }, { token: i1.AXComponent, host: true, optional: true, self: true }, { token: i2.AXHotkeysService }], target: i0.ɵɵFactoryTarget.Directive });
65
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXHotkeyDirective, selector: "[hotkey]", inputs: { hotkey: "hotkey" }, ngImport: i0 });
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXHotkeyDirective, decorators: [{
68
+ type: Directive,
69
+ args: [{
70
+ selector: '[hotkey]',
71
+ }]
72
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.AXComponent, decorators: [{
73
+ type: Host
74
+ }, {
75
+ type: Self
76
+ }, {
77
+ type: Optional
78
+ }] }, { type: i2.AXHotkeysService }]; }, propDecorators: { hotkey: [{
79
+ type: Input,
80
+ args: ['hotkey']
81
+ }] } });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbW1vbi9zcmMvZGlyZWN0aXZlcy9ob3RrZXkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsSUFBSSxFQUNKLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZCLE1BQU0sT0FBTyxpQkFBaUI7SUFPbEI7SUFJRDtJQUNDO0lBVkgsTUFBTSxHQUErQyxFQUFFLENBQUM7SUFFdkQsS0FBSyxHQUFtQixFQUFFLENBQUM7SUFFbkMsWUFDVSxFQUEyQixFQUk1QixLQUFrQixFQUNqQixFQUFvQjtRQUxwQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUk1QixVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQ2pCLE9BQUUsR0FBRixFQUFFLENBQWtCO0lBQzNCLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFFeEMsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksUUFBUSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckM7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBd0IsQ0FBQyxDQUFDLENBQUM7U0FDeEQ7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBYztRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbkQsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDakQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2hCLE9BQU87aUJBQ1I7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBeUI7UUFDaEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sTUFBTSxHQUFhLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFZLENBQUM7WUFDNUQsTUFBTSxNQUFNLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsTUFBTTtnQkFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3ZDO2dCQUNILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDbkQsSUFBSSxPQUFPLE1BQU0sSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTt3QkFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO3dCQUNyQixPQUFPO3FCQUNSO29CQUNELElBQUksT0FBTyxNQUFNLElBQUksVUFBVSxFQUFFO3dCQUMvQixNQUFNLEVBQUUsQ0FBQzt3QkFDVCxPQUFPO3FCQUNSO2dCQUNILENBQUMsQ0FBQyxDQUNILENBQUM7YUFDSDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBbEVVLGlCQUFpQjsyRkFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO2lCQUNyQjs7MEJBU0ksSUFBSTs7MEJBQ0osSUFBSTs7MEJBQ0osUUFBUTsyRUFSSixNQUFNO3NCQURaLEtBQUs7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0LFxyXG4gIElucHV0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNlbGYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBWENvbXBvbmVudCB9IGZyb20gJy4uL2NsYXNzZXMvY29tcG9uZW50cy5jbGFzcyc7XHJcbmltcG9ydCB7IEFYSG90a2V5c1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ob3RrZXkuc2VydmljZSc7XHJcblxyXG5leHBvcnQgdHlwZSBBWEhvdEtleUFjdGlvbiA9IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgRnVuY3Rpb247IHBhcm1hcz86IGFueSB9O1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbaG90a2V5XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEhvdGtleURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgnaG90a2V5JylcclxuICBwdWJsaWMgaG90a2V5OiBzdHJpbmcgfCBBWEhvdEtleUFjdGlvbiB8IEFYSG90S2V5QWN0aW9uW10gPSAnJztcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIEBIb3N0KClcclxuICAgIEBTZWxmKClcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBwdWJsaWMgX2hvc3Q6IEFYQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBoczogQVhIb3RrZXlzU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmhvdGtleSB8fCAhdGhpcy5faG9zdCkgcmV0dXJuO1xyXG5cclxuICAgIGlmICh0eXBlb2YgdGhpcy5ob3RrZXkgPT0gJ3N0cmluZycpIHtcclxuICAgICAgdGhpcy5fYWRkRGVmYXVsdEFjdGlvbih0aGlzLmhvdGtleSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLmhvdGtleSA9PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheSh0aGlzLmhvdGtleSkpIHtcclxuICAgICAgdGhpcy5fYWRkSG90S2V5QWN0aW9uKFt0aGlzLmhvdGtleSBhcyBBWEhvdEtleUFjdGlvbl0pO1xyXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaG90a2V5KSkge1xyXG4gICAgICB0aGlzLl9hZGRIb3RLZXlBY3Rpb24odGhpcy5ob3RrZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYWRkRGVmYXVsdEFjdGlvbihob3RrZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLmhzLmFkZFNob3J0Y3V0KHsga2V5czogaG90a2V5IH0pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgWydjbGljaycsICd0b2dnbGUnLCAnb3BlbicsICdmb2N1cyddLmZvckVhY2goKGEpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLl9ob3N0W2FdKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hvc3RbYV0oKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FkZEhvdEtleUFjdGlvbihob3RrZXlzOiBBWEhvdEtleUFjdGlvbltdKSB7XHJcbiAgICBob3RrZXlzLmZvckVhY2goKGspID0+IHtcclxuICAgICAgY29uc3QgaG90a2V5ID0gKDx1bmtub3duPk9iamVjdC5lbnRyaWVzKGspWzBdWzBdKSBhcyBzdHJpbmc7XHJcbiAgICAgIGNvbnN0IGFjdGlvbiA9IDx1bmtub3duPk9iamVjdC5lbnRyaWVzKGspWzBdWzFdO1xyXG4gICAgICBpZiAoIWFjdGlvbikgdGhpcy5fYWRkRGVmYXVsdEFjdGlvbihob3RrZXkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgICAgICB0aGlzLmhzLmFkZFNob3J0Y3V0KHsga2V5czogaG90a2V5IH0pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYWN0aW9uID09ICdzdHJpbmcnICYmIHRoaXMuX2hvc3RbYWN0aW9uXSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2hvc3RbYWN0aW9uXSgpO1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGFjdGlvbiA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgYWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2goKHMpID0+IHtcclxuICAgICAgcy51bnN1YnNjcmliZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,69 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { fromEvent } from 'rxjs';
3
+ import { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ ;
6
+ const AX_DEFAULT_SCROLL_POSITION = {
7
+ scrollHeight: 0,
8
+ scrollTop: 0,
9
+ clientHeight: 0
10
+ };
11
+ export class AXInfiniteScrollerDirective {
12
+ elm;
13
+ scrollEvent$;
14
+ userScrolledDown$;
15
+ requestOnScroll$;
16
+ scrollCallback;
17
+ immediateCallback;
18
+ scrollPercent = 70;
19
+ constructor(elm) {
20
+ this.elm = elm;
21
+ }
22
+ ngAfterViewInit() {
23
+ this.registerScrollEvent();
24
+ this.streamScrollEvents();
25
+ this.requestCallbackOnScroll();
26
+ }
27
+ registerScrollEvent() {
28
+ this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');
29
+ }
30
+ streamScrollEvents() {
31
+ this.userScrolledDown$ = this.scrollEvent$
32
+ .pipe(map((e) => ({
33
+ scrollHeight: e.target.scrollHeight,
34
+ scrollTop: e.target.scrollTop,
35
+ clientHeight: e.target.clientHeight
36
+ })), pairwise(), filter(positions => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1])));
37
+ }
38
+ requestCallbackOnScroll() {
39
+ this.requestOnScroll$ = this.userScrolledDown$;
40
+ if (this.immediateCallback) {
41
+ this.requestOnScroll$ = this.requestOnScroll$.pipe(startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION]));
42
+ }
43
+ this.requestOnScroll$.pipe(exhaustMap(() => {
44
+ return this.scrollCallback();
45
+ }));
46
+ //.subscribe((data) => { console.log(data) }, (err) => console.log(err));
47
+ }
48
+ isUserScrollingDown = (positions) => {
49
+ return positions[0].sT < positions[1].sT;
50
+ };
51
+ isScrollExpectedPercent = (position) => {
52
+ return ((position.sT + position.cH) / position.sH) > (this.scrollPercent / 100);
53
+ };
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXInfiniteScrollerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
55
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXInfiniteScrollerDirective, selector: "[axInfiniteScroller]", inputs: { scrollCallback: "scrollCallback", immediateCallback: "immediateCallback", scrollPercent: "scrollPercent" }, ngImport: i0 });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXInfiniteScrollerDirective, decorators: [{
58
+ type: Directive,
59
+ args: [{
60
+ selector: '[axInfiniteScroller]'
61
+ }]
62
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { scrollCallback: [{
63
+ type: Input
64
+ }], immediateCallback: [{
65
+ type: Input
66
+ }], scrollPercent: [{
67
+ type: Input
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbW1vbi9zcmMvZGlyZWN0aXZlcy9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTZCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTzdFLENBQUM7QUFFRixNQUFNLDBCQUEwQixHQUFxQjtJQUNqRCxZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxDQUFDO0lBQ1osWUFBWSxFQUFFLENBQUM7Q0FDbEIsQ0FBQztBQUtGLE1BQU0sT0FBTywyQkFBMkI7SUFrQmhCO0lBaEJaLFlBQVksQ0FBa0I7SUFFOUIsaUJBQWlCLENBQWtCO0lBR25DLGdCQUFnQixDQUFrQjtJQUcxQyxjQUFjLENBQVc7SUFHekIsaUJBQWlCLENBQUM7SUFHbEIsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUVuQixZQUFvQixHQUFlO1FBQWYsUUFBRyxHQUFILEdBQUcsQ0FBWTtJQUFJLENBQUM7SUFFeEMsZUFBZTtRQUVYLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBRW5DLENBQUM7SUFFTyxtQkFBbUI7UUFFdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFFcEUsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVk7YUFDckMsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBb0IsRUFBRSxDQUFDLENBQUM7WUFDL0IsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWTtZQUNuQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQzdCLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVk7U0FDdEMsQ0FBQyxDQUFDLEVBQ0gsUUFBUSxFQUFFLEVBQ1YsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN6RyxDQUFDO0lBQ1YsQ0FBQztJQUVPLHVCQUF1QjtRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBRS9DLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUM5QyxTQUFTLENBQUMsQ0FBQywwQkFBMEIsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLENBQ3RFLENBQUM7U0FDTDtRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ0gseUVBQXlFO0lBRWpGLENBQUM7SUFFTyxtQkFBbUIsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQ3hDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdDLENBQUMsQ0FBQTtJQUVPLHVCQUF1QixHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDM0MsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNwRixDQUFDLENBQUE7dUdBeEVRLDJCQUEyQjsyRkFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ25DO2lHQVdHLGNBQWM7c0JBRGIsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZXhoYXVzdE1hcCwgZmlsdGVyLCBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFNjcm9sbFBvc2l0aW9uIHtcclxuICAgIHNjcm9sbEhlaWdodDogbnVtYmVyO1xyXG4gICAgc2Nyb2xsVG9wOiBudW1iZXI7XHJcbiAgICBjbGllbnRIZWlnaHQ6IG51bWJlcjtcclxufTtcclxuXHJcbmNvbnN0IEFYX0RFRkFVTFRfU0NST0xMX1BPU0lUSU9OOiBBWFNjcm9sbFBvc2l0aW9uID0ge1xyXG4gICAgc2Nyb2xsSGVpZ2h0OiAwLFxyXG4gICAgc2Nyb2xsVG9wOiAwLFxyXG4gICAgY2xpZW50SGVpZ2h0OiAwXHJcbn07XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2F4SW5maW5pdGVTY3JvbGxlcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEluZmluaXRlU2Nyb2xsZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgICBwcml2YXRlIHNjcm9sbEV2ZW50JDogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICAgIHByaXZhdGUgdXNlclNjcm9sbGVkRG93biQ6IE9ic2VydmFibGU8YW55PjtcclxuXHJcblxyXG4gICAgcHJpdmF0ZSByZXF1ZXN0T25TY3JvbGwkOiBPYnNlcnZhYmxlPGFueT47XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNjcm9sbENhbGxiYWNrOiBGdW5jdGlvbjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaW1tZWRpYXRlQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNjcm9sbFBlcmNlbnQgPSA3MDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsbTogRWxlbWVudFJlZikgeyB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyU2Nyb2xsRXZlbnQoKTtcclxuXHJcbiAgICAgICAgdGhpcy5zdHJlYW1TY3JvbGxFdmVudHMoKTtcclxuXHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0Q2FsbGJhY2tPblNjcm9sbCgpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlZ2lzdGVyU2Nyb2xsRXZlbnQoKSB7XHJcblxyXG4gICAgICAgIHRoaXMuc2Nyb2xsRXZlbnQkID0gZnJvbUV2ZW50KHRoaXMuZWxtLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdHJlYW1TY3JvbGxFdmVudHMoKSB7XHJcbiAgICAgICAgdGhpcy51c2VyU2Nyb2xsZWREb3duJCA9IHRoaXMuc2Nyb2xsRXZlbnQkXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKChlOiBhbnkpOiBBWFNjcm9sbFBvc2l0aW9uID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiBlLnRhcmdldC5zY3JvbGxIZWlnaHQsXHJcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiBlLnRhcmdldC5zY3JvbGxUb3AsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50SGVpZ2h0OiBlLnRhcmdldC5jbGllbnRIZWlnaHRcclxuICAgICAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIocG9zaXRpb25zID0+IHRoaXMuaXNVc2VyU2Nyb2xsaW5nRG93bihwb3NpdGlvbnMpICYmIHRoaXMuaXNTY3JvbGxFeHBlY3RlZFBlcmNlbnQocG9zaXRpb25zWzFdKSlcclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlcXVlc3RDYWxsYmFja09uU2Nyb2xsKCkge1xyXG4gICAgICAgIHRoaXMucmVxdWVzdE9uU2Nyb2xsJCA9IHRoaXMudXNlclNjcm9sbGVkRG93biQ7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmltbWVkaWF0ZUNhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdE9uU2Nyb2xsJCA9IHRoaXMucmVxdWVzdE9uU2Nyb2xsJC5waXBlKFxyXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKFtBWF9ERUZBVUxUX1NDUk9MTF9QT1NJVElPTiwgQVhfREVGQVVMVF9TQ1JPTExfUE9TSVRJT05dKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0T25TY3JvbGwkLnBpcGUoXHJcbiAgICAgICAgICAgIGV4aGF1c3RNYXAoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2Nyb2xsQ2FsbGJhY2soKTtcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIC8vLnN1YnNjcmliZSgoZGF0YSkgPT4geyBjb25zb2xlLmxvZyhkYXRhKSB9LCAoZXJyKSA9PiBjb25zb2xlLmxvZyhlcnIpKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1VzZXJTY3JvbGxpbmdEb3duID0gKHBvc2l0aW9ucykgPT4ge1xyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbnNbMF0uc1QgPCBwb3NpdGlvbnNbMV0uc1Q7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1Njcm9sbEV4cGVjdGVkUGVyY2VudCA9IChwb3NpdGlvbikgPT4ge1xyXG4gICAgICAgIHJldHVybiAoKHBvc2l0aW9uLnNUICsgcG9zaXRpb24uY0gpIC8gcG9zaXRpb24uc0gpID4gKHRoaXMuc2Nyb2xsUGVyY2VudCAvIDEwMCk7XHJcbiAgICB9XHJcblxyXG59Il19
@@ -0,0 +1,35 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AXResponsiveDirective {
4
+ _elementRef;
5
+ _observer = new ResizeObserver(entries => {
6
+ for (let entry of entries) {
7
+ if (entry.target) {
8
+ const e = entry.target;
9
+ const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];
10
+ elements.map(c => ({
11
+ element: c,
12
+ classList: Array.from(c.classList).filter(c => c.includes('sm')).map(c => c.slice(3))
13
+ })).forEach(c => {
14
+ e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);
15
+ });
16
+ }
17
+ }
18
+ });
19
+ ;
20
+ constructor(_elementRef) {
21
+ this._elementRef = _elementRef;
22
+ this._observer.observe(_elementRef.nativeElement);
23
+ }
24
+ ngOnDestroy() {
25
+ this._observer.disconnect();
26
+ this._observer.unobserve(this._elementRef.nativeElement);
27
+ }
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXResponsiveDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
29
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AXResponsiveDirective, selector: "[ax-responsive]", ngImport: i0 });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXResponsiveDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{ selector: '[ax-responsive]' }]
34
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvcmVzcG9uc2l2ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7O0FBR2pFLE1BQU0sT0FBTyxxQkFBcUI7SUFrQlY7SUFoQlosU0FBUyxHQUFtQixJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM3RCxLQUFLLElBQUksS0FBSyxJQUFJLE9BQU8sRUFBRTtZQUV2QixJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2QsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDdkIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2YsT0FBTyxFQUFFLENBQUM7b0JBQ1YsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUN4RixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ1osQ0FBQyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMvRyxDQUFDLENBQUMsQ0FBQzthQUNOO1NBQ0o7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFFSixZQUFvQixXQUF1QztRQUF2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7UUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdELENBQUM7dUdBekJRLHFCQUFxQjsyRkFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1theC1yZXNwb25zaXZlXScgfSlcclxuZXhwb3J0IGNsYXNzIEFYUmVzcG9uc2l2ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfb2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGZvciAobGV0IGVudHJ5IG9mIGVudHJpZXMpIHtcclxuXHJcbiAgICAgICAgICAgIGlmIChlbnRyeS50YXJnZXQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBlbnRyeS50YXJnZXQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IFtlLCAuLi5BcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbChgW2NsYXNzKj0nc206J11gKSldO1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudHMubWFwKGMgPT4gKHtcclxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiBjLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTGlzdDogQXJyYXkuZnJvbShjLmNsYXNzTGlzdCkuZmlsdGVyKGMgPT4gYy5pbmNsdWRlcygnc20nKSkubWFwKGMgPT4gYy5zbGljZSgzKSlcclxuICAgICAgICAgICAgICAgIH0pKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGUuY2xpZW50V2lkdGggPCAzMjAgPyBjLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5jLmNsYXNzTGlzdCkgOiBjLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi5jLmNsYXNzTGlzdCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0pOztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pikge1xyXG4gICAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUoX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5fb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgICAgIHRoaXMuX29ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxufSJdfQ==
@@ -0,0 +1,50 @@
1
+ import { Overlay, OverlayContainer, } from '@angular/cdk/overlay';
2
+ // TODO: 'ComponentFactoryResolver' is deprecated.
3
+ import { Inject, Injectable, } from '@angular/core';
4
+ import { DOCUMENT } from '@angular/common';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/overlay";
7
+ import * as i2 from "@angular/cdk/bidi";
8
+ import * as i3 from "@angular/common";
9
+ export class DynamicOverlayContainer extends OverlayContainer {
10
+ setContainerElement(containerElement) {
11
+ this._containerElement = containerElement;
12
+ }
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
14
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlayContainer, providedIn: 'root' });
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlayContainer, decorators: [{
17
+ type: Injectable,
18
+ args: [{
19
+ providedIn: 'root',
20
+ }]
21
+ }] });
22
+ export class DynamicOverlay extends Overlay {
23
+ _dynamicOverlayContainer;
24
+ renderer;
25
+ constructor(scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, rendererFactory, _location, _outsideClickDispatcher) {
26
+ super(scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher);
27
+ this.renderer = rendererFactory.createRenderer(null, null);
28
+ this._dynamicOverlayContainer = _overlayContainer;
29
+ }
30
+ setContainerElement(containerElement) {
31
+ this.renderer.setStyle(containerElement, 'transform', 'translateZ(0)');
32
+ this._dynamicOverlayContainer.setContainerElement(containerElement);
33
+ }
34
+ createOn(containerElement, config) {
35
+ this.setContainerElement(containerElement);
36
+ return super.create(config);
37
+ }
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlay, deps: [{ token: i1.ScrollStrategyOptions }, { token: DynamicOverlayContainer }, { token: i0.ComponentFactoryResolver }, { token: i1.OverlayPositionBuilder }, { token: i1.OverlayKeyboardDispatcher }, { token: i0.Injector }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i2.Directionality }, { token: i0.RendererFactory2 }, { token: i3.Location }, { token: i1.OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
39
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlay, providedIn: 'root' });
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlay, decorators: [{
42
+ type: Injectable,
43
+ args: [{
44
+ providedIn: 'root',
45
+ }]
46
+ }], ctorParameters: function () { return [{ type: i1.ScrollStrategyOptions }, { type: DynamicOverlayContainer }, { type: i0.ComponentFactoryResolver }, { type: i1.OverlayPositionBuilder }, { type: i1.OverlayKeyboardDispatcher }, { type: i0.Injector }, { type: i0.NgZone }, { type: undefined, decorators: [{
47
+ type: Inject,
48
+ args: [DOCUMENT]
49
+ }] }, { type: i2.Directionality }, { type: i0.RendererFactory2 }, { type: i3.Location }, { type: i1.OverlayOutsideClickDispatcher }]; } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNkay1vdmVybGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9jb21tb24vc3JjL3NlcnZpY2VzL2N1c3RvbS1jZGstb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBSVAsZ0JBQWdCLEdBSWpCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsa0RBQWtEO0FBQ2xELE9BQU8sRUFFTCxNQUFNLEVBS04sVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFLckQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGdCQUFnQjtJQUNwRCxtQkFBbUIsQ0FBQyxnQkFBNkI7UUFDdEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO0lBQzVDLENBQUM7dUdBSFUsdUJBQXVCOzJHQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUFVRCxNQUFNLE9BQU8sY0FBZSxTQUFRLE9BQU87SUFDeEIsd0JBQXdCLENBQTBCO0lBQzNELFFBQVEsQ0FBWTtJQUU1QixZQUNFLGdCQUF1QyxFQUN2QyxpQkFBMEMsRUFDMUMseUJBQW1ELEVBQ25ELGdCQUF3QyxFQUN4QyxtQkFBOEMsRUFDOUMsU0FBbUIsRUFDbkIsT0FBZSxFQUNHLFNBQWMsRUFDaEMsZUFBK0IsRUFDL0IsZUFBaUMsRUFDakMsU0FBbUIsRUFDbkIsdUJBQXNEO1FBRXRELEtBQUssQ0FDSCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULGVBQWUsRUFDZixTQUFTLEVBQ1QsdUJBQXVCLENBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxpQkFBaUIsQ0FBQztJQUNwRCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsZ0JBQTZCO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sUUFBUSxDQUNiLGdCQUE2QixFQUM3QixNQUFzQjtRQUV0QixJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQzt1R0EvQ1UsY0FBYyxnUUFZZixRQUFROzJHQVpQLGNBQWMsY0FGYixNQUFNOzsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBYUksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBPdmVybGF5LFxyXG4gIE92ZXJsYXlLZXlib2FyZERpc3BhdGNoZXIsXHJcbiAgT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcclxuICBTY3JvbGxTdHJhdGVneU9wdGlvbnMsXHJcbiAgT3ZlcmxheUNvbnRhaW5lcixcclxuICBPdmVybGF5UmVmLFxyXG4gIE92ZXJsYXlDb25maWcsXHJcbiAgT3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5cclxuLy8gVE9ETzogJ0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcicgaXMgZGVwcmVjYXRlZC5cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgSW5qZWN0LFxyXG4gIEluamVjdG9yLFxyXG4gIE5nWm9uZSxcclxuICBSZW5kZXJlcjIsXHJcbiAgUmVuZGVyZXJGYWN0b3J5MixcclxuICBJbmplY3RhYmxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IERPQ1VNRU5ULCBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY092ZXJsYXlDb250YWluZXIgZXh0ZW5kcyBPdmVybGF5Q29udGFpbmVyIHtcclxuICBwdWJsaWMgc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29udGFpbmVyRWxlbWVudCA9IGNvbnRhaW5lckVsZW1lbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY092ZXJsYXkgZXh0ZW5kcyBPdmVybGF5IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9keW5hbWljT3ZlcmxheUNvbnRhaW5lcjogRHluYW1pY092ZXJsYXlDb250YWluZXI7XHJcbiAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHNjcm9sbFN0cmF0ZWdpZXM6IFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcclxuICAgIF9vdmVybGF5Q29udGFpbmVyOiBEeW5hbWljT3ZlcmxheUNvbnRhaW5lcixcclxuICAgIF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIF9wb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXHJcbiAgICBfa2V5Ym9hcmREaXNwYXRjaGVyOiBPdmVybGF5S2V5Ym9hcmREaXNwYXRjaGVyLFxyXG4gICAgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIF9uZ1pvbmU6IE5nWm9uZSxcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIF9kb2N1bWVudDogYW55LFxyXG4gICAgX2RpcmVjdGlvbmFsaXR5OiBEaXJlY3Rpb25hbGl0eSxcclxuICAgIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcclxuICAgIF9sb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICBfb3V0c2lkZUNsaWNrRGlzcGF0Y2hlcjogT3ZlcmxheU91dHNpZGVDbGlja0Rpc3BhdGNoZXJcclxuICApIHtcclxuICAgIHN1cGVyKFxyXG4gICAgICBzY3JvbGxTdHJhdGVnaWVzLFxyXG4gICAgICBfb3ZlcmxheUNvbnRhaW5lcixcclxuICAgICAgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgX3Bvc2l0aW9uQnVpbGRlcixcclxuICAgICAgX2tleWJvYXJkRGlzcGF0Y2hlcixcclxuICAgICAgX2luamVjdG9yLFxyXG4gICAgICBfbmdab25lLFxyXG4gICAgICBfZG9jdW1lbnQsXHJcbiAgICAgIF9kaXJlY3Rpb25hbGl0eSxcclxuICAgICAgX2xvY2F0aW9uLFxyXG4gICAgICBfb3V0c2lkZUNsaWNrRGlzcGF0Y2hlclxyXG4gICAgKTtcclxuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcblxyXG4gICAgdGhpcy5fZHluYW1pY092ZXJsYXlDb250YWluZXIgPSBfb3ZlcmxheUNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjb250YWluZXJFbGVtZW50LCAndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZVooMCknKTtcclxuICAgIHRoaXMuX2R5bmFtaWNPdmVybGF5Q29udGFpbmVyLnNldENvbnRhaW5lckVsZW1lbnQoY29udGFpbmVyRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JlYXRlT24oXHJcbiAgICBjb250YWluZXJFbGVtZW50OiBIVE1MRWxlbWVudCxcclxuICAgIGNvbmZpZz86IE92ZXJsYXlDb25maWdcclxuICApOiBPdmVybGF5UmVmIHtcclxuICAgIHRoaXMuc2V0Q29udGFpbmVyRWxlbWVudChjb250YWluZXJFbGVtZW50KTtcclxuICAgIHJldHVybiBzdXBlci5jcmVhdGUoY29uZmlnKTtcclxuICB9XHJcbn1cclxuIl19