@acorex/components 7.1.0 → 7.1.2

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 (728) hide show
  1. package/action-sheet/index.d.ts +5 -5
  2. package/action-sheet/public-api.d.ts +3 -3
  3. package/action-sheet/src/action-sheet.component.d.ts +25 -25
  4. package/action-sheet/src/action-sheet.interface.d.ts +20 -20
  5. package/action-sheet/src/action-sheet.module.d.ts +14 -14
  6. package/action-sheet/src/action-sheet.service.d.ts +13 -13
  7. package/alert/index.d.ts +5 -5
  8. package/alert/public-api.d.ts +2 -2
  9. package/alert/src/alert.component.d.ts +88 -88
  10. package/alert/src/alert.module.d.ts +9 -9
  11. package/avatar/index.d.ts +5 -5
  12. package/avatar/public-api.d.ts +3 -3
  13. package/avatar/src/avatar-group.component.d.ts +8 -8
  14. package/avatar/src/avatar.component.d.ts +20 -20
  15. package/avatar/src/avatar.module.d.ts +9 -9
  16. package/badge/index.d.ts +5 -5
  17. package/badge/public-api.d.ts +2 -2
  18. package/badge/src/badge.component.d.ts +41 -41
  19. package/badge/src/badge.module.d.ts +8 -8
  20. package/breadcrumbs/index.d.ts +5 -5
  21. package/breadcrumbs/public-api.d.ts +4 -4
  22. package/breadcrumbs/src/breadcrumbs-item.class.d.ts +9 -9
  23. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +77 -79
  24. package/breadcrumbs/src/breadcrumbs.component.d.ts +13 -13
  25. package/breadcrumbs/src/breadcrumbs.module.d.ts +9 -9
  26. package/button/index.d.ts +5 -5
  27. package/button/public-api.d.ts +5 -5
  28. package/button/src/button-group.component.d.ts +86 -86
  29. package/button/src/button-item.class.d.ts +24 -24
  30. package/button/src/button-item.component.d.ts +82 -80
  31. package/button/src/button.component.d.ts +23 -23
  32. package/button/src/button.module.d.ts +11 -11
  33. package/calendar/index.d.ts +5 -5
  34. package/calendar/public-api.d.ts +4 -4
  35. package/calendar/src/calendar-range.component.d.ts +29 -29
  36. package/calendar/src/calendar.class.d.ts +100 -100
  37. package/calendar/src/calendar.component.d.ts +44 -44
  38. package/calendar/src/calendar.module.d.ts +10 -10
  39. package/card/index.d.ts +5 -5
  40. package/card/public-api.d.ts +2 -2
  41. package/card/src/card.component.d.ts +10 -10
  42. package/card/src/card.module.d.ts +8 -8
  43. package/checkbox/index.d.ts +5 -5
  44. package/checkbox/public-api.d.ts +2 -2
  45. package/checkbox/src/checkbox.component.d.ts +12 -12
  46. package/checkbox/src/checkbox.module.d.ts +10 -10
  47. package/chips/index.d.ts +5 -5
  48. package/chips/public-api.d.ts +2 -2
  49. package/chips/src/chips.component.d.ts +72 -72
  50. package/chips/src/chips.module.d.ts +8 -8
  51. package/collapse/index.d.ts +5 -5
  52. package/collapse/public-api.d.ts +3 -3
  53. package/collapse/src/collapse-group.component.d.ts +15 -15
  54. package/collapse/src/collapse.component.d.ts +17 -17
  55. package/collapse/src/collapse.module.d.ts +9 -9
  56. package/color-palette/index.d.ts +5 -5
  57. package/color-palette/public-api.d.ts +7 -7
  58. package/color-palette/src/color-palette-input.component.d.ts +22 -22
  59. package/color-palette/src/color-palette-picker.component.d.ts +32 -32
  60. package/color-palette/src/color-palette-preview.component.d.ts +11 -11
  61. package/color-palette/src/color-palette-swatches.component.d.ts +18 -18
  62. package/color-palette/src/color-palette.class.d.ts +22 -22
  63. package/color-palette/src/color-palette.component.d.ts +16 -16
  64. package/color-palette/src/color-palette.module.d.ts +19 -19
  65. package/color-picker/index.d.ts +5 -5
  66. package/color-picker/public-api.d.ts +2 -2
  67. package/color-picker/src/color-picker.component.d.ts +190 -193
  68. package/color-picker/src/color-picker.module.d.ts +18 -18
  69. package/common/index.d.ts +5 -5
  70. package/common/public-api.d.ts +16 -16
  71. package/common/src/classes/components.class.d.ts +62 -62
  72. package/common/src/classes/data.class.d.ts +4 -4
  73. package/common/src/classes/drawing.class.d.ts +9 -9
  74. package/common/src/classes/events.class.d.ts +95 -95
  75. package/common/src/classes/styles.class.d.ts +17 -17
  76. package/common/src/common.module.d.ts +11 -11
  77. package/common/src/components/base-component.class.d.ts +28 -28
  78. package/common/src/components/button-base-component.class.d.ts +36 -36
  79. package/common/src/components/color-component.class.d.ts +15 -15
  80. package/common/src/components/colorlook-component.class.d.ts +9 -9
  81. package/common/src/components/index.d.ts +7 -7
  82. package/common/src/components/interactive-component.class.d.ts +37 -37
  83. package/common/src/components/look-component.class.d.ts +15 -15
  84. package/common/src/components/value-component.class.d.ts +45 -45
  85. package/common/src/constant/positions.d.ts +75 -75
  86. package/common/src/directives/auto-focus.directive.d.ts +13 -13
  87. package/common/src/directives/debounce-time.directive.d.ts +17 -17
  88. package/common/src/directives/hotkey.directive.d.ts +22 -22
  89. package/common/src/directives/infinite-scroll.directive.d.ts +25 -25
  90. package/common/src/directives/responsive.directive.d.ts +10 -10
  91. package/common/src/services/custom-cdk-overlay.service.d.ts +19 -19
  92. package/common/src/services/hotkey.service.d.ts +17 -17
  93. package/common/src/services/overlay.service.d.ts +34 -34
  94. package/context-menu/index.d.ts +5 -5
  95. package/context-menu/public-api.d.ts +2 -2
  96. package/context-menu/src/context-menu.component.d.ts +34 -34
  97. package/context-menu/src/context-menu.module.d.ts +13 -13
  98. package/data-pager/index.d.ts +5 -5
  99. package/data-pager/public-api.d.ts +9 -9
  100. package/data-pager/src/data-pager-base.component.d.ts +49 -49
  101. package/data-pager/src/data-pager-info.component.d.ts +15 -15
  102. package/data-pager/src/data-pager-input-selector.component.d.ts +15 -15
  103. package/data-pager/src/data-pager-next-buttons.components.d.ts +16 -16
  104. package/data-pager/src/data-pager-numeric-selector.component.d.ts +18 -18
  105. package/data-pager/src/data-pager-pagesize-dropdown.component.d.ts +18 -18
  106. package/data-pager/src/data-pager-prev-buttons.component.d.ts +15 -15
  107. package/data-pager/src/data-pager.component.d.ts +35 -35
  108. package/data-pager/src/data-pager.module.d.ts +18 -18
  109. package/data-table/index.d.ts +5 -5
  110. package/data-table/public-api.d.ts +4 -4
  111. package/data-table/src/data-column-cell-template.directive.d.ts +8 -8
  112. package/data-table/src/data-column.directive.d.ts +16 -16
  113. package/data-table/src/data-table.component.d.ts +37 -37
  114. package/data-table/src/data-table.module.d.ts +14 -14
  115. package/date-picker/index.d.ts +5 -5
  116. package/date-picker/public-api.d.ts +2 -2
  117. package/date-picker/src/datepicker.component.d.ts +154 -154
  118. package/date-picker/src/datepicker.module.d.ts +15 -15
  119. package/decorators/index.d.ts +5 -5
  120. package/decorators/public-api.d.ts +14 -14
  121. package/decorators/src/close-button.component.d.ts +14 -14
  122. package/decorators/src/content.component.d.ts +8 -8
  123. package/decorators/src/decorators.module.d.ts +20 -20
  124. package/decorators/src/footer.component.d.ts +8 -8
  125. package/decorators/src/form-hint.component.d.ts +8 -8
  126. package/decorators/src/header.component.d.ts +8 -8
  127. package/decorators/src/icon.component.d.ts +10 -10
  128. package/decorators/src/overlay.component.d.ts +6 -6
  129. package/decorators/src/placeholder.component.d.ts +5 -5
  130. package/decorators/src/prefix.component.d.ts +8 -8
  131. package/decorators/src/sub-title.component.d.ts +9 -9
  132. package/decorators/src/suffix.component.d.ts +8 -8
  133. package/decorators/src/text.component.d.ts +9 -9
  134. package/decorators/src/title.component.d.ts +8 -8
  135. package/dialog/index.d.ts +5 -5
  136. package/dialog/public-api.d.ts +4 -4
  137. package/dialog/src/dialog.class.d.ts +13 -13
  138. package/dialog/src/dialog.component.d.ts +16 -16
  139. package/dialog/src/dialog.module.d.ts +14 -14
  140. package/dialog/src/dialog.service.d.ts +38 -38
  141. package/drawer/index.d.ts +5 -5
  142. package/drawer/public-api.d.ts +3 -3
  143. package/drawer/src/drawer-container.component.d.ts +10 -10
  144. package/drawer/src/drawer.component.d.ts +36 -36
  145. package/drawer/src/drawer.module.d.ts +9 -9
  146. package/dropdown/index.d.ts +5 -5
  147. package/dropdown/public-api.d.ts +2 -2
  148. package/dropdown/src/dropdown-panel.component.d.ts +30 -30
  149. package/dropdown/src/dropdown.module.d.ts +14 -14
  150. package/esm2022/acorex-components.mjs +4 -4
  151. package/esm2022/action-sheet/acorex-components-action-sheet.mjs +4 -4
  152. package/esm2022/action-sheet/public-api.mjs +3 -3
  153. package/esm2022/action-sheet/src/action-sheet.component.mjs +81 -80
  154. package/esm2022/action-sheet/src/action-sheet.interface.mjs +2 -2
  155. package/esm2022/action-sheet/src/action-sheet.module.mjs +27 -26
  156. package/esm2022/action-sheet/src/action-sheet.service.mjs +94 -93
  157. package/esm2022/alert/acorex-components-alert.mjs +4 -4
  158. package/esm2022/alert/public-api.mjs +2 -2
  159. package/esm2022/alert/src/alert.component.mjs +189 -188
  160. package/esm2022/alert/src/alert.module.mjs +23 -22
  161. package/esm2022/avatar/acorex-components-avatar.mjs +4 -4
  162. package/esm2022/avatar/public-api.mjs +3 -3
  163. package/esm2022/avatar/src/avatar-group.component.mjs +17 -16
  164. package/esm2022/avatar/src/avatar.component.mjs +44 -43
  165. package/esm2022/avatar/src/avatar.module.mjs +23 -22
  166. package/esm2022/badge/acorex-components-badge.mjs +4 -4
  167. package/esm2022/badge/public-api.mjs +2 -2
  168. package/esm2022/badge/src/badge.component.mjs +29 -28
  169. package/esm2022/badge/src/badge.module.mjs +22 -21
  170. package/esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs +4 -4
  171. package/esm2022/breadcrumbs/public-api.mjs +4 -4
  172. package/esm2022/breadcrumbs/src/breadcrumbs-item.class.mjs +1 -1
  173. package/esm2022/breadcrumbs/src/breadcrumbs-item.component.mjs +51 -50
  174. package/esm2022/breadcrumbs/src/breadcrumbs.component.mjs +28 -27
  175. package/esm2022/breadcrumbs/src/breadcrumbs.module.mjs +21 -20
  176. package/esm2022/button/acorex-components-button.mjs +4 -4
  177. package/esm2022/button/public-api.mjs +5 -5
  178. package/esm2022/button/src/button-group.component.mjs +92 -91
  179. package/esm2022/button/src/button-item.class.mjs +1 -1
  180. package/esm2022/button/src/button-item.component.mjs +70 -69
  181. package/esm2022/button/src/button.component.mjs +79 -78
  182. package/esm2022/button/src/button.module.mjs +33 -32
  183. package/esm2022/calendar/acorex-components-calendar.mjs +4 -4
  184. package/esm2022/calendar/public-api.mjs +4 -4
  185. package/esm2022/calendar/src/calendar-range.component.mjs +175 -174
  186. package/esm2022/calendar/src/calendar.class.mjs +282 -280
  187. package/esm2022/calendar/src/calendar.component.mjs +373 -372
  188. package/esm2022/calendar/src/calendar.module.mjs +24 -23
  189. package/esm2022/card/acorex-components-card.mjs +4 -4
  190. package/esm2022/card/public-api.mjs +2 -2
  191. package/esm2022/card/src/card.component.mjs +19 -18
  192. package/esm2022/card/src/card.module.mjs +20 -19
  193. package/esm2022/checkbox/acorex-components-checkbox.mjs +4 -4
  194. package/esm2022/checkbox/public-api.mjs +2 -2
  195. package/esm2022/checkbox/src/checkbox.component.mjs +43 -42
  196. package/esm2022/checkbox/src/checkbox.module.mjs +22 -21
  197. package/esm2022/chips/acorex-components-chips.mjs +4 -4
  198. package/esm2022/chips/public-api.mjs +2 -2
  199. package/esm2022/chips/src/chips.component.mjs +34 -33
  200. package/esm2022/chips/src/chips.module.mjs +20 -19
  201. package/esm2022/collapse/acorex-components-collapse.mjs +4 -4
  202. package/esm2022/collapse/public-api.mjs +3 -3
  203. package/esm2022/collapse/src/collapse-group.component.mjs +53 -52
  204. package/esm2022/collapse/src/collapse.component.mjs +48 -47
  205. package/esm2022/collapse/src/collapse.module.mjs +21 -20
  206. package/esm2022/color-palette/acorex-components-color-palette.mjs +4 -4
  207. package/esm2022/color-palette/public-api.mjs +7 -7
  208. package/esm2022/color-palette/src/color-palette-input.component.mjs +131 -130
  209. package/esm2022/color-palette/src/color-palette-picker.component.mjs +160 -159
  210. package/esm2022/color-palette/src/color-palette-preview.component.mjs +57 -56
  211. package/esm2022/color-palette/src/color-palette-swatches.component.mjs +295 -294
  212. package/esm2022/color-palette/src/color-palette.class.mjs +19 -17
  213. package/esm2022/color-palette/src/color-palette.component.mjs +76 -75
  214. package/esm2022/color-palette/src/color-palette.module.mjs +61 -60
  215. package/esm2022/color-picker/acorex-components-color-picker.mjs +4 -4
  216. package/esm2022/color-picker/public-api.mjs +2 -2
  217. package/esm2022/color-picker/src/color-picker.component.mjs +120 -119
  218. package/esm2022/color-picker/src/color-picker.module.mjs +62 -61
  219. package/esm2022/common/acorex-components-common.mjs +4 -4
  220. package/esm2022/common/public-api.mjs +16 -16
  221. package/esm2022/common/src/classes/components.class.mjs +78 -72
  222. package/esm2022/common/src/classes/data.class.mjs +1 -1
  223. package/esm2022/common/src/classes/drawing.class.mjs +1 -1
  224. package/esm2022/common/src/classes/events.class.mjs +95 -95
  225. package/esm2022/common/src/classes/styles.class.mjs +12 -12
  226. package/esm2022/common/src/common.module.mjs +43 -42
  227. package/esm2022/common/src/components/base-component.class.mjs +56 -56
  228. package/esm2022/common/src/components/button-base-component.class.mjs +68 -68
  229. package/esm2022/common/src/components/color-component.class.mjs +26 -26
  230. package/esm2022/common/src/components/colorlook-component.class.mjs +10 -10
  231. package/esm2022/common/src/components/index.mjs +7 -7
  232. package/esm2022/common/src/components/interactive-component.class.mjs +62 -62
  233. package/esm2022/common/src/components/look-component.class.mjs +26 -26
  234. package/esm2022/common/src/components/value-component.class.mjs +207 -206
  235. package/esm2022/common/src/constant/positions.mjs +74 -74
  236. package/esm2022/common/src/directives/auto-focus.directive.mjs +58 -57
  237. package/esm2022/common/src/directives/debounce-time.directive.mjs +50 -49
  238. package/esm2022/common/src/directives/hotkey.directive.mjs +83 -82
  239. package/esm2022/common/src/directives/infinite-scroll.directive.mjs +70 -69
  240. package/esm2022/common/src/directives/responsive.directive.mjs +36 -35
  241. package/esm2022/common/src/services/custom-cdk-overlay.service.mjs +52 -50
  242. package/esm2022/common/src/services/hotkey.service.mjs +41 -40
  243. package/esm2022/common/src/services/overlay.service.mjs +116 -115
  244. package/esm2022/context-menu/acorex-components-context-menu.mjs +4 -4
  245. package/esm2022/context-menu/public-api.mjs +2 -2
  246. package/esm2022/context-menu/src/context-menu.component.mjs +271 -270
  247. package/esm2022/context-menu/src/context-menu.module.mjs +37 -36
  248. package/esm2022/data-pager/acorex-components-data-pager.mjs +4 -4
  249. package/esm2022/data-pager/public-api.mjs +9 -9
  250. package/esm2022/data-pager/src/data-pager-base.component.mjs +37 -35
  251. package/esm2022/data-pager/src/data-pager-info.component.mjs +62 -61
  252. package/esm2022/data-pager/src/data-pager-input-selector.component.mjs +46 -45
  253. package/esm2022/data-pager/src/data-pager-next-buttons.components.mjs +51 -50
  254. package/esm2022/data-pager/src/data-pager-numeric-selector.component.mjs +75 -74
  255. package/esm2022/data-pager/src/data-pager-pagesize-dropdown.component.mjs +67 -66
  256. package/esm2022/data-pager/src/data-pager-prev-buttons.component.mjs +48 -47
  257. package/esm2022/data-pager/src/data-pager.component.mjs +147 -146
  258. package/esm2022/data-pager/src/data-pager.module.mjs +52 -51
  259. package/esm2022/data-table/acorex-components-data-table.mjs +4 -4
  260. package/esm2022/data-table/public-api.mjs +4 -4
  261. package/esm2022/data-table/src/data-column-cell-template.directive.mjs +19 -18
  262. package/esm2022/data-table/src/data-column.directive.mjs +51 -50
  263. package/esm2022/data-table/src/data-table.component.mjs +140 -139
  264. package/esm2022/data-table/src/data-table.module.mjs +28 -27
  265. package/esm2022/date-picker/acorex-components-date-picker.mjs +4 -4
  266. package/esm2022/date-picker/public-api.mjs +2 -2
  267. package/esm2022/date-picker/src/datepicker.component.mjs +241 -240
  268. package/esm2022/date-picker/src/datepicker.module.mjs +45 -44
  269. package/esm2022/decorators/acorex-components-decorators.mjs +4 -4
  270. package/esm2022/decorators/public-api.mjs +14 -14
  271. package/esm2022/decorators/src/close-button.component.mjs +44 -43
  272. package/esm2022/decorators/src/content.component.mjs +22 -21
  273. package/esm2022/decorators/src/decorators.module.mjs +72 -71
  274. package/esm2022/decorators/src/footer.component.mjs +22 -21
  275. package/esm2022/decorators/src/form-hint.component.mjs +21 -20
  276. package/esm2022/decorators/src/header.component.mjs +22 -21
  277. package/esm2022/decorators/src/icon.component.mjs +31 -30
  278. package/esm2022/decorators/src/overlay.component.mjs +21 -20
  279. package/esm2022/decorators/src/placeholder.component.mjs +15 -14
  280. package/esm2022/decorators/src/prefix.component.mjs +22 -21
  281. package/esm2022/decorators/src/sub-title.component.mjs +26 -25
  282. package/esm2022/decorators/src/suffix.component.mjs +22 -21
  283. package/esm2022/decorators/src/text.component.mjs +23 -22
  284. package/esm2022/decorators/src/title.component.mjs +21 -20
  285. package/esm2022/dialog/acorex-components-dialog.mjs +4 -4
  286. package/esm2022/dialog/public-api.mjs +4 -4
  287. package/esm2022/dialog/src/dialog.class.mjs +1 -1
  288. package/esm2022/dialog/src/dialog.component.mjs +56 -55
  289. package/esm2022/dialog/src/dialog.module.mjs +28 -27
  290. package/esm2022/dialog/src/dialog.service.mjs +155 -154
  291. package/esm2022/drawer/acorex-components-drawer.mjs +4 -4
  292. package/esm2022/drawer/public-api.mjs +3 -3
  293. package/esm2022/drawer/src/drawer-container.component.mjs +31 -30
  294. package/esm2022/drawer/src/drawer.component.mjs +139 -138
  295. package/esm2022/drawer/src/drawer.module.mjs +23 -22
  296. package/esm2022/dropdown/acorex-components-dropdown.mjs +4 -4
  297. package/esm2022/dropdown/public-api.mjs +2 -2
  298. package/esm2022/dropdown/src/dropdown-panel.component.mjs +106 -105
  299. package/esm2022/dropdown/src/dropdown.module.mjs +26 -25
  300. package/esm2022/form/acorex-components-form.mjs +4 -4
  301. package/esm2022/form/public-api.mjs +6 -6
  302. package/esm2022/form/src/form-field.component.mjs +16 -15
  303. package/esm2022/form/src/form.component.mjs +164 -163
  304. package/esm2022/form/src/form.module.mjs +64 -63
  305. package/esm2022/form/src/validation-rule.widget.mjs +114 -113
  306. package/esm2022/form/src/validation-summary.component.mjs +82 -81
  307. package/esm2022/form/src/validation.class.mjs +1 -1
  308. package/esm2022/image/acorex-components-image.mjs +4 -4
  309. package/esm2022/image/public-api.mjs +2 -2
  310. package/esm2022/image/src/image.component.mjs +80 -79
  311. package/esm2022/image/src/image.module.mjs +20 -19
  312. package/esm2022/label/acorex-components-label.mjs +4 -4
  313. package/esm2022/label/public-api.mjs +2 -2
  314. package/esm2022/label/src/label.component.mjs +49 -48
  315. package/esm2022/label/src/label.module.mjs +22 -21
  316. package/esm2022/loading/acorex-components-loading.mjs +4 -4
  317. package/esm2022/loading/public-api.mjs +5 -5
  318. package/esm2022/loading/src/loading-spinner.component.mjs +18 -17
  319. package/esm2022/loading/src/loading.component.mjs +58 -57
  320. package/esm2022/loading/src/loading.directive.mjs +77 -76
  321. package/esm2022/loading/src/loading.module.mjs +36 -35
  322. package/esm2022/loading/src/loading.service.mjs +159 -158
  323. package/esm2022/menu/acorex-components-menu.mjs +4 -4
  324. package/esm2022/menu/public-api.mjs +2 -2
  325. package/esm2022/menu/src/menu.component.mjs +347 -346
  326. package/esm2022/menu/src/menu.module.mjs +34 -33
  327. package/esm2022/mixin/acorex-components-mixin.mjs +4 -4
  328. package/esm2022/mixin/public-api.mjs +17 -17
  329. package/esm2022/mixin/src/base-components.class.mjs +111 -110
  330. package/esm2022/mixin/src/base-menu-mixin.class.mjs +133 -133
  331. package/esm2022/mixin/src/button-mixin.class.mjs +70 -70
  332. package/esm2022/mixin/src/clickable-mixin.class.mjs +23 -23
  333. package/esm2022/mixin/src/color-look-mixing.class.mjs +47 -47
  334. package/esm2022/mixin/src/constratctor.mjs +1 -1
  335. package/esm2022/mixin/src/datalist-component.class.mjs +150 -150
  336. package/esm2022/mixin/src/datalist.class.mjs +2 -2
  337. package/esm2022/mixin/src/dropdown-mixin.class.mjs +98 -98
  338. package/esm2022/mixin/src/interactive-mixin.class.mjs +80 -80
  339. package/esm2022/mixin/src/loading-mixin.class.mjs +25 -25
  340. package/esm2022/mixin/src/mixin.class.mjs +25 -25
  341. package/esm2022/mixin/src/page-component.class.mjs +10 -10
  342. package/esm2022/mixin/src/selection-component.class.mjs +182 -182
  343. package/esm2022/mixin/src/sizable-mixin.class.mjs +21 -21
  344. package/esm2022/mixin/src/textbox-mixin.class.mjs +65 -65
  345. package/esm2022/mixin/src/value-mixin.class.mjs +219 -219
  346. package/esm2022/notification/acorex-components-notification.mjs +4 -4
  347. package/esm2022/notification/public-api.mjs +4 -4
  348. package/esm2022/notification/src/notification.class.mjs +1 -1
  349. package/esm2022/notification/src/notification.component.mjs +93 -92
  350. package/esm2022/notification/src/notification.module.mjs +24 -23
  351. package/esm2022/notification/src/notification.service.mjs +110 -109
  352. package/esm2022/number-box/acorex-components-number-box.mjs +4 -4
  353. package/esm2022/number-box/public-api.mjs +2 -2
  354. package/esm2022/number-box/src/number-box.component.mjs +269 -268
  355. package/esm2022/number-box/src/number-box.module.mjs +36 -35
  356. package/esm2022/page/acorex-components-page.mjs +4 -4
  357. package/esm2022/page/public-api.mjs +3 -3
  358. package/esm2022/page/src/base-page.class.mjs +64 -63
  359. package/esm2022/page/src/page.component.mjs +47 -46
  360. package/esm2022/page/src/page.module.mjs +19 -18
  361. package/esm2022/password-box/acorex-components-password-box.mjs +4 -4
  362. package/esm2022/password-box/public-api.mjs +2 -2
  363. package/esm2022/password-box/src/password-box.component.mjs +64 -63
  364. package/esm2022/password-box/src/password-box.module.mjs +33 -32
  365. package/esm2022/picker/acorex-components-picker.mjs +4 -4
  366. package/esm2022/picker/public-api.mjs +3 -3
  367. package/esm2022/picker/src/picker-column.component.mjs +21 -20
  368. package/esm2022/picker/src/picker.component.mjs +17 -16
  369. package/esm2022/picker/src/picker.module.mjs +38 -37
  370. package/esm2022/popover/acorex-components-popover.mjs +4 -4
  371. package/esm2022/popover/public-api.mjs +2 -2
  372. package/esm2022/popover/src/popover.component.mjs +263 -262
  373. package/esm2022/popover/src/popover.module.mjs +20 -19
  374. package/esm2022/popup/acorex-components-popup.mjs +4 -4
  375. package/esm2022/popup/public-api.mjs +3 -3
  376. package/esm2022/popup/src/popup.component.mjs +146 -145
  377. package/esm2022/popup/src/popup.module.mjs +28 -27
  378. package/esm2022/popup/src/popup.service.mjs +117 -116
  379. package/esm2022/progress-bar/acorex-components-progress-bar.mjs +4 -4
  380. package/esm2022/progress-bar/public-api.mjs +2 -2
  381. package/esm2022/progress-bar/src/progress-bar.component.mjs +34 -33
  382. package/esm2022/progress-bar/src/progress-bar.module.mjs +20 -19
  383. package/esm2022/public-api.mjs +4 -4
  384. package/esm2022/radio/acorex-components-radio.mjs +4 -4
  385. package/esm2022/radio/public-api.mjs +2 -2
  386. package/esm2022/radio/src/radio.component.mjs +40 -39
  387. package/esm2022/radio/src/radio.module.mjs +23 -22
  388. package/esm2022/range-slider/acorex-components-range-slider.mjs +4 -4
  389. package/esm2022/range-slider/public-api.mjs +2 -2
  390. package/esm2022/range-slider/src/range-slider.component.mjs +118 -117
  391. package/esm2022/range-slider/src/range-slider.module.mjs +23 -22
  392. package/esm2022/rating/acorex-components-rating.mjs +4 -4
  393. package/esm2022/rating/public-api.mjs +2 -2
  394. package/esm2022/rating/src/rating.component.mjs +42 -41
  395. package/esm2022/rating/src/rating.component.module.mjs +20 -19
  396. package/esm2022/result/acorex-components-result.mjs +4 -4
  397. package/esm2022/result/public-api.mjs +2 -2
  398. package/esm2022/result/src/result.component.mjs +27 -26
  399. package/esm2022/result/src/result.module.mjs +20 -19
  400. package/esm2022/search-box/acorex-components-search-box.mjs +4 -4
  401. package/esm2022/search-box/public-api.mjs +2 -2
  402. package/esm2022/search-box/src/search-box.component.mjs +55 -54
  403. package/esm2022/search-box/src/search-box.module.mjs +26 -25
  404. package/esm2022/select-box/acorex-components-select-box.mjs +4 -4
  405. package/esm2022/select-box/public-api.mjs +2 -2
  406. package/esm2022/select-box/src/selectbox.component.mjs +392 -391
  407. package/esm2022/select-box/src/selectbox.module.mjs +65 -64
  408. package/esm2022/selection-list/acorex-components-selection-list.mjs +4 -4
  409. package/esm2022/selection-list/public-api.mjs +2 -2
  410. package/esm2022/selection-list/src/selection-list.component.mjs +60 -60
  411. package/esm2022/selection-list/src/selection-list.module.mjs +25 -24
  412. package/esm2022/switch/acorex-components-switch.mjs +4 -4
  413. package/esm2022/switch/public-api.mjs +3 -3
  414. package/esm2022/switch/src/switch-content.component.mjs +17 -16
  415. package/esm2022/switch/src/switch.component.mjs +55 -54
  416. package/esm2022/switch/src/switch.module.mjs +23 -22
  417. package/esm2022/tabs/acorex-components-tabs.mjs +4 -4
  418. package/esm2022/tabs/public-api.mjs +5 -5
  419. package/esm2022/tabs/src/tab-content.directive.mjs +32 -31
  420. package/esm2022/tabs/src/tab-item.component.mjs +91 -90
  421. package/esm2022/tabs/src/tabs.class.mjs +5 -5
  422. package/esm2022/tabs/src/tabs.component.mjs +103 -102
  423. package/esm2022/tabs/src/tabs.module.mjs +26 -25
  424. package/esm2022/tag/acorex-components-tag.mjs +4 -4
  425. package/esm2022/tag/public-api.mjs +2 -2
  426. package/esm2022/tag/src/tag.component.mjs +30 -29
  427. package/esm2022/tag/src/tag.module.mjs +20 -19
  428. package/esm2022/textarea/acorex-components-textarea.mjs +4 -4
  429. package/esm2022/textarea/public-api.mjs +2 -2
  430. package/esm2022/textarea/src/textarea.component.mjs +30 -29
  431. package/esm2022/textarea/src/textarea.module.mjs +20 -19
  432. package/esm2022/textbox/acorex-components-textbox.mjs +4 -4
  433. package/esm2022/textbox/public-api.mjs +3 -3
  434. package/esm2022/textbox/src/mask-options.directive.mjs +20 -19
  435. package/esm2022/textbox/src/textbox.component.mjs +96 -95
  436. package/esm2022/textbox/src/textbox.module.mjs +39 -38
  437. package/esm2022/time-box/acorex-components-time-box.mjs +4 -4
  438. package/esm2022/time-box/public-api.mjs +2 -2
  439. package/esm2022/time-box/src/time-box.component.mjs +306 -305
  440. package/esm2022/time-box/src/time-box.module.mjs +33 -32
  441. package/esm2022/toast/acorex-components-toast.mjs +4 -4
  442. package/esm2022/toast/public-api.mjs +4 -4
  443. package/esm2022/toast/src/toast.class.mjs +1 -1
  444. package/esm2022/toast/src/toast.component.mjs +68 -67
  445. package/esm2022/toast/src/toast.module.mjs +23 -22
  446. package/esm2022/toast/src/toast.service.mjs +137 -136
  447. package/esm2022/tooltip/acorex-components-tooltip.mjs +4 -4
  448. package/esm2022/tooltip/public-api.mjs +3 -3
  449. package/esm2022/tooltip/src/tooltip.component.mjs +22 -21
  450. package/esm2022/tooltip/src/tooltip.directive.mjs +164 -163
  451. package/esm2022/tooltip/src/tooltip.module.mjs +23 -22
  452. package/esm2022/tree-view/acorex-components-tree-view.mjs +4 -4
  453. package/esm2022/tree-view/public-api.mjs +2 -2
  454. package/esm2022/tree-view/src/tree-view.component.mjs +108 -107
  455. package/esm2022/tree-view/src/tree-view.module.mjs +21 -20
  456. package/esm2022/uploader/acorex-components-uploader.mjs +4 -4
  457. package/esm2022/uploader/public-api.mjs +2 -2
  458. package/esm2022/uploader/src/uploader.component.mjs +102 -101
  459. package/esm2022/uploader/src/uploader.module.mjs +21 -20
  460. package/fesm2022/acorex-components-action-sheet.mjs +170 -170
  461. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  462. package/fesm2022/acorex-components-alert.mjs +196 -196
  463. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  464. package/fesm2022/acorex-components-avatar.mjs +66 -66
  465. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  466. package/fesm2022/acorex-components-badge.mjs +39 -39
  467. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  468. package/fesm2022/acorex-components-breadcrumbs.mjs +78 -78
  469. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  470. package/fesm2022/acorex-components-button.mjs +245 -245
  471. package/fesm2022/acorex-components-button.mjs.map +1 -1
  472. package/fesm2022/acorex-components-calendar.mjs +815 -815
  473. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  474. package/fesm2022/acorex-components-card.mjs +28 -28
  475. package/fesm2022/acorex-components-card.mjs.map +1 -1
  476. package/fesm2022/acorex-components-checkbox.mjs +51 -51
  477. package/fesm2022/acorex-components-checkbox.mjs.map +1 -1
  478. package/fesm2022/acorex-components-chips.mjs +42 -42
  479. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  480. package/fesm2022/acorex-components-collapse.mjs +102 -102
  481. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  482. package/fesm2022/acorex-components-color-palette.mjs +717 -717
  483. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  484. package/fesm2022/acorex-components-color-picker.mjs +153 -153
  485. package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
  486. package/fesm2022/acorex-components-common.mjs +1150 -1150
  487. package/fesm2022/acorex-components-common.mjs.map +1 -1
  488. package/fesm2022/acorex-components-context-menu.mjs +287 -287
  489. package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
  490. package/fesm2022/acorex-components-data-pager.mjs +487 -487
  491. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  492. package/fesm2022/acorex-components-data-table.mjs +205 -205
  493. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  494. package/fesm2022/acorex-components-date-picker.mjs +256 -256
  495. package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
  496. package/fesm2022/acorex-components-decorators.mjs +287 -287
  497. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  498. package/fesm2022/acorex-components-dialog.mjs +207 -207
  499. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  500. package/fesm2022/acorex-components-drawer.mjs +174 -174
  501. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  502. package/fesm2022/acorex-components-dropdown.mjs +111 -111
  503. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  504. package/fesm2022/acorex-components-form.mjs +392 -392
  505. package/fesm2022/acorex-components-form.mjs.map +1 -1
  506. package/fesm2022/acorex-components-image.mjs +88 -88
  507. package/fesm2022/acorex-components-image.mjs.map +1 -1
  508. package/fesm2022/acorex-components-label.mjs +59 -59
  509. package/fesm2022/acorex-components-label.mjs.map +1 -1
  510. package/fesm2022/acorex-components-loading.mjs +308 -308
  511. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  512. package/fesm2022/acorex-components-menu.mjs +359 -359
  513. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  514. package/fesm2022/acorex-components-mixin.mjs +1214 -1214
  515. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  516. package/fesm2022/acorex-components-notification.mjs +200 -200
  517. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  518. package/fesm2022/acorex-components-number-box.mjs +284 -284
  519. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  520. package/fesm2022/acorex-components-page.mjs +112 -112
  521. package/fesm2022/acorex-components-page.mjs.map +1 -1
  522. package/fesm2022/acorex-components-password-box.mjs +81 -81
  523. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  524. package/fesm2022/acorex-components-picker.mjs +54 -54
  525. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  526. package/fesm2022/acorex-components-popover.mjs +266 -266
  527. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  528. package/fesm2022/acorex-components-popup.mjs +258 -258
  529. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  530. package/fesm2022/acorex-components-progress-bar.mjs +43 -43
  531. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  532. package/fesm2022/acorex-components-radio.mjs +50 -50
  533. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  534. package/fesm2022/acorex-components-range-slider.mjs +127 -127
  535. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  536. package/fesm2022/acorex-components-rating.mjs +51 -51
  537. package/fesm2022/acorex-components-rating.mjs.map +1 -1
  538. package/fesm2022/acorex-components-result.mjs +35 -35
  539. package/fesm2022/acorex-components-result.mjs.map +1 -1
  540. package/fesm2022/acorex-components-search-box.mjs +59 -59
  541. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  542. package/fesm2022/acorex-components-select-box.mjs +422 -422
  543. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  544. package/fesm2022/acorex-components-selection-list.mjs +68 -69
  545. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  546. package/fesm2022/acorex-components-switch.mjs +74 -74
  547. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  548. package/fesm2022/acorex-components-tabs.mjs +227 -227
  549. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  550. package/fesm2022/acorex-components-tag.mjs +38 -38
  551. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  552. package/fesm2022/acorex-components-textarea.mjs +37 -37
  553. package/fesm2022/acorex-components-textarea.mjs.map +1 -1
  554. package/fesm2022/acorex-components-textbox.mjs +130 -130
  555. package/fesm2022/acorex-components-textbox.mjs.map +1 -1
  556. package/fesm2022/acorex-components-time-box.mjs +319 -319
  557. package/fesm2022/acorex-components-time-box.mjs.map +1 -1
  558. package/fesm2022/acorex-components-toast.mjs +204 -204
  559. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  560. package/fesm2022/acorex-components-tooltip.mjs +187 -187
  561. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  562. package/fesm2022/acorex-components-tree-view.mjs +116 -116
  563. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  564. package/fesm2022/acorex-components-uploader.mjs +109 -109
  565. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  566. package/fesm2022/acorex-components.mjs +5 -5
  567. package/form/index.d.ts +5 -5
  568. package/form/public-api.d.ts +6 -6
  569. package/form/src/form-field.component.d.ts +8 -8
  570. package/form/src/form.component.d.ts +51 -51
  571. package/form/src/form.module.d.ts +15 -15
  572. package/form/src/validation-rule.widget.d.ts +18 -18
  573. package/form/src/validation-summary.component.d.ts +23 -23
  574. package/form/src/validation.class.d.ts +18 -18
  575. package/image/index.d.ts +5 -5
  576. package/image/public-api.d.ts +2 -2
  577. package/image/src/image.component.d.ts +27 -27
  578. package/image/src/image.module.d.ts +8 -8
  579. package/index.d.ts +5 -5
  580. package/label/index.d.ts +5 -5
  581. package/label/public-api.d.ts +2 -2
  582. package/label/src/label.component.d.ts +17 -17
  583. package/label/src/label.module.d.ts +8 -8
  584. package/loading/index.d.ts +5 -5
  585. package/loading/public-api.d.ts +5 -5
  586. package/loading/src/loading-spinner.component.d.ts +6 -6
  587. package/loading/src/loading.component.d.ts +21 -21
  588. package/loading/src/loading.directive.d.ts +22 -22
  589. package/loading/src/loading.module.d.ts +13 -13
  590. package/loading/src/loading.service.d.ts +48 -48
  591. package/menu/index.d.ts +5 -5
  592. package/menu/public-api.d.ts +2 -2
  593. package/menu/src/menu.component.d.ts +39 -39
  594. package/menu/src/menu.module.d.ts +12 -12
  595. package/mixin/index.d.ts +5 -5
  596. package/mixin/public-api.d.ts +17 -17
  597. package/mixin/src/base-components.class.d.ts +84 -84
  598. package/mixin/src/base-menu-mixin.class.d.ts +53 -53
  599. package/mixin/src/button-mixin.class.d.ts +53 -53
  600. package/mixin/src/clickable-mixin.class.d.ts +36 -36
  601. package/mixin/src/color-look-mixing.class.d.ts +44 -44
  602. package/mixin/src/constratctor.d.ts +4 -4
  603. package/mixin/src/datalist-component.class.d.ts +59 -59
  604. package/mixin/src/datalist.class.d.ts +11 -11
  605. package/mixin/src/dropdown-mixin.class.d.ts +47 -47
  606. package/mixin/src/interactive-mixin.class.d.ts +63 -63
  607. package/mixin/src/loading-mixin.class.d.ts +40 -40
  608. package/mixin/src/mixin.class.d.ts +679 -679
  609. package/mixin/src/page-component.class.d.ts +28 -28
  610. package/mixin/src/selection-component.class.d.ts +61 -61
  611. package/mixin/src/sizable-mixin.class.d.ts +34 -34
  612. package/mixin/src/textbox-mixin.class.d.ts +72 -72
  613. package/mixin/src/value-mixin.class.d.ts +63 -63
  614. package/notification/index.d.ts +5 -5
  615. package/notification/public-api.d.ts +4 -4
  616. package/notification/src/notification.class.d.ts +18 -18
  617. package/notification/src/notification.component.d.ts +30 -30
  618. package/notification/src/notification.module.d.ts +10 -10
  619. package/notification/src/notification.service.d.ts +16 -16
  620. package/number-box/index.d.ts +5 -5
  621. package/number-box/public-api.d.ts +2 -2
  622. package/number-box/src/number-box.component.d.ts +77 -77
  623. package/number-box/src/number-box.module.d.ts +12 -12
  624. package/package.json +13 -13
  625. package/page/index.d.ts +5 -5
  626. package/page/public-api.d.ts +3 -3
  627. package/page/src/base-page.class.d.ts +25 -25
  628. package/page/src/page.component.d.ts +14 -14
  629. package/page/src/page.module.d.ts +6 -6
  630. package/password-box/index.d.ts +5 -5
  631. package/password-box/public-api.d.ts +2 -2
  632. package/password-box/src/password-box.component.d.ts +25 -25
  633. package/password-box/src/password-box.module.d.ts +11 -11
  634. package/picker/index.d.ts +5 -5
  635. package/picker/public-api.d.ts +3 -3
  636. package/picker/src/picker-column.component.d.ts +11 -11
  637. package/picker/src/picker.component.d.ts +10 -10
  638. package/picker/src/picker.module.d.ts +14 -14
  639. package/popover/index.d.ts +5 -5
  640. package/popover/public-api.d.ts +2 -2
  641. package/popover/src/popover.component.d.ts +51 -51
  642. package/popover/src/popover.module.d.ts +8 -8
  643. package/popup/index.d.ts +5 -5
  644. package/popup/public-api.d.ts +3 -3
  645. package/popup/src/popup.component.d.ts +45 -45
  646. package/popup/src/popup.module.d.ts +14 -14
  647. package/popup/src/popup.service.d.ts +42 -42
  648. package/progress-bar/index.d.ts +5 -5
  649. package/progress-bar/public-api.d.ts +2 -2
  650. package/progress-bar/src/progress-bar.component.d.ts +18 -18
  651. package/progress-bar/src/progress-bar.module.d.ts +8 -8
  652. package/public-api.d.ts +1 -1
  653. package/radio/index.d.ts +5 -5
  654. package/radio/public-api.d.ts +2 -2
  655. package/radio/src/radio.component.d.ts +18 -18
  656. package/radio/src/radio.module.d.ts +9 -9
  657. package/range-slider/index.d.ts +5 -5
  658. package/range-slider/public-api.d.ts +2 -2
  659. package/range-slider/src/range-slider.component.d.ts +41 -41
  660. package/range-slider/src/range-slider.module.d.ts +9 -9
  661. package/rating/index.d.ts +5 -5
  662. package/rating/public-api.d.ts +2 -2
  663. package/rating/src/rating.component.d.ts +21 -21
  664. package/rating/src/rating.component.module.d.ts +8 -8
  665. package/result/index.d.ts +5 -5
  666. package/result/public-api.d.ts +2 -2
  667. package/result/src/result.component.d.ts +12 -12
  668. package/result/src/result.module.d.ts +8 -8
  669. package/search-box/index.d.ts +5 -5
  670. package/search-box/public-api.d.ts +2 -2
  671. package/search-box/src/search-box.component.d.ts +18 -18
  672. package/search-box/src/search-box.module.d.ts +12 -12
  673. package/select-box/index.d.ts +5 -5
  674. package/select-box/public-api.d.ts +2 -2
  675. package/select-box/src/selectbox.component.d.ts +66 -66
  676. package/select-box/src/selectbox.module.d.ts +19 -19
  677. package/selection-list/index.d.ts +5 -5
  678. package/selection-list/public-api.d.ts +2 -2
  679. package/selection-list/src/selection-list.component.d.ts +23 -23
  680. package/selection-list/src/selection-list.module.d.ts +13 -13
  681. package/switch/index.d.ts +5 -5
  682. package/switch/public-api.d.ts +3 -3
  683. package/switch/src/switch-content.component.d.ts +8 -8
  684. package/switch/src/switch.component.d.ts +13 -13
  685. package/switch/src/switch.module.d.ts +11 -11
  686. package/tabs/index.d.ts +5 -5
  687. package/tabs/public-api.d.ts +5 -5
  688. package/tabs/src/tab-content.directive.d.ts +11 -11
  689. package/tabs/src/tab-item.component.d.ts +48 -48
  690. package/tabs/src/tabs.class.d.ts +7 -7
  691. package/tabs/src/tabs.component.d.ts +29 -29
  692. package/tabs/src/tabs.module.d.ts +12 -12
  693. package/tag/index.d.ts +5 -5
  694. package/tag/public-api.d.ts +2 -2
  695. package/tag/src/tag.component.d.ts +11 -11
  696. package/tag/src/tag.module.d.ts +8 -8
  697. package/textarea/index.d.ts +5 -5
  698. package/textarea/public-api.d.ts +2 -2
  699. package/textarea/src/textarea.component.d.ts +14 -14
  700. package/textarea/src/textarea.module.d.ts +9 -9
  701. package/textbox/index.d.ts +5 -5
  702. package/textbox/public-api.d.ts +3 -3
  703. package/textbox/src/mask-options.directive.d.ts +13 -13
  704. package/textbox/src/textbox.component.d.ts +27 -27
  705. package/textbox/src/textbox.module.d.ts +13 -13
  706. package/time-box/index.d.ts +5 -5
  707. package/time-box/public-api.d.ts +2 -2
  708. package/time-box/src/time-box.component.d.ts +50 -50
  709. package/time-box/src/time-box.module.d.ts +11 -11
  710. package/toast/index.d.ts +5 -5
  711. package/toast/public-api.d.ts +4 -4
  712. package/toast/src/toast.class.d.ts +15 -15
  713. package/toast/src/toast.component.d.ts +25 -25
  714. package/toast/src/toast.module.d.ts +9 -9
  715. package/toast/src/toast.service.d.ts +21 -21
  716. package/tooltip/index.d.ts +5 -5
  717. package/tooltip/public-api.d.ts +3 -3
  718. package/tooltip/src/tooltip.component.d.ts +11 -11
  719. package/tooltip/src/tooltip.directive.d.ts +22 -22
  720. package/tooltip/src/tooltip.module.d.ts +10 -10
  721. package/tree-view/index.d.ts +5 -5
  722. package/tree-view/public-api.d.ts +2 -2
  723. package/tree-view/src/tree-view.component.d.ts +33 -33
  724. package/tree-view/src/tree-view.module.d.ts +9 -9
  725. package/uploader/index.d.ts +5 -5
  726. package/uploader/public-api.d.ts +2 -2
  727. package/uploader/src/uploader.component.d.ts +28 -28
  728. package/uploader/src/uploader.module.d.ts +9 -9
@@ -1,262 +1,263 @@
1
- import { TemplatePortal } from '@angular/cdk/portal';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Input, ViewChild, Output, EventEmitter, } from '@angular/core';
3
- import { some, includes } from 'lodash-es';
4
- import { fromEvent, throttleTime } from 'rxjs';
5
- import { AXDrawingUtil } from '@acorex/core/utils';
6
- import { AXInteractiveComponenetMixin, AXBaseComponent } from '@acorex/components/mixin';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/cdk/overlay";
9
- import * as i2 from "@acorex/core/platform";
10
- export class AXPopoverComponent extends AXInteractiveComponenetMixin {
11
- _elementRef;
12
- _cdr;
13
- _zone;
14
- _overlay;
15
- _platform;
16
- _viewContainerRef;
17
- constructor(_elementRef, _cdr, _zone, _overlay, _platform, _viewContainerRef) {
18
- super(_elementRef, _cdr);
19
- this._elementRef = _elementRef;
20
- this._cdr = _cdr;
21
- this._zone = _zone;
22
- this._overlay = _overlay;
23
- this._platform = _platform;
24
- this._viewContainerRef = _viewContainerRef;
25
- }
26
- //
27
- _target;
28
- get target() {
29
- return this._target;
30
- }
31
- set target(v) {
32
- if (v instanceof HTMLElement)
33
- this._target = v;
34
- else if (v instanceof ElementRef)
35
- this._target = v.nativeElement;
36
- else if (v instanceof AXBaseComponent)
37
- this._target = v._getInnerElement();
38
- }
39
- position = [
40
- {
41
- originX: 'start',
42
- originY: 'bottom',
43
- overlayX: 'start',
44
- overlayY: 'top',
45
- },
46
- {
47
- originX: 'start',
48
- originY: 'top',
49
- overlayX: 'start',
50
- overlayY: 'bottom',
51
- },
52
- ];
53
- //
54
- _baseTemplate;
55
- _overlayRef;
56
- _templatePortal;
57
- _subs = [];
58
- //
59
- openTrigger = 'toggle';
60
- //
61
- closeTrigger = 'clickout';
62
- //
63
- hasBackdrop = false;
64
- backdropClass;
65
- adaptivityEnabled = false;
66
- //
67
- _mousePos = { x: 0, y: 0 };
68
- _isScrollAttached = false;
69
- _lastActiveElement;
70
- //
71
- onOpened = new EventEmitter();
72
- onClosed = new EventEmitter();
73
- _emitOnOpenedEvent() {
74
- this.onOpened.emit({
75
- component: this,
76
- htmlElement: this._getHostElement(),
77
- });
78
- }
79
- _emitOnClosedEvent() {
80
- this.onClosed.emit({
81
- component: this,
82
- htmlElement: this._getHostElement(),
83
- });
84
- }
85
- //
86
- onViewInit() {
87
- if (this._target) {
88
- if (this.openTrigger === 'mouseover') {
89
- const mouseEnter$ = fromEvent(this._target, 'mouseover');
90
- this._addSub(mouseEnter$.subscribe((e) => {
91
- const point = { x: e.clientX, y: e.clientY };
92
- if (AXDrawingUtil.isInElementBound(point, this._target))
93
- this.open();
94
- }));
95
- }
96
- if (this.closeTrigger === 'mouseout') {
97
- const mouseMove$ = fromEvent(document, 'mousemove');
98
- this._addSub(mouseMove$.pipe(throttleTime(50)).subscribe((e) => {
99
- this._mousePos.x = e.clientX;
100
- this._mousePos.y = e.clientY;
101
- if (this.isOpen) {
102
- setTimeout(() => {
103
- if (some([this._target, this._overlayRef.overlayElement], (el) => includes(document.elementsFromPoint(this._mousePos.x, this._mousePos.y), el)))
104
- this.close();
105
- }, 100);
106
- }
107
- }));
108
- }
109
- //
110
- if (this.openTrigger === 'click' || this.openTrigger === 'toggle') {
111
- const click$ = fromEvent(this._target, 'click');
112
- this._addSub(click$.subscribe((e) => {
113
- this.openTrigger == 'toggle' ? this.toggle() : this.open();
114
- }));
115
- }
116
- }
117
- }
118
- //
119
- onDestroy() {
120
- this._overlayRef?.detach();
121
- this._overlayRef?.dispose();
122
- this._subs.forEach((s) => {
123
- s?.unsubscribe();
124
- });
125
- }
126
- toggle() {
127
- this.isOpen ? this.close() : this.open();
128
- }
129
- //
130
- close() {
131
- if (!this.isOpen) {
132
- return;
133
- }
134
- this._overlayRef?.detach();
135
- this._emitOnClosedEvent();
136
- //
137
- if (this._lastActiveElement?.focus) {
138
- this._lastActiveElement.focus();
139
- }
140
- }
141
- dispose() {
142
- this.close();
143
- this._overlayRef?.dispose();
144
- this._overlayRef = null;
145
- }
146
- //
147
- open() {
148
- if (this.isOpen) {
149
- return;
150
- }
151
- this._lastActiveElement = document.activeElement;
152
- this._ensureOverlayCreated();
153
- this._overlayRef?.attach(this._templatePortal);
154
- this._emitOnOpenedEvent();
155
- }
156
- _ensureOverlayCreated() {
157
- const targetRef = this._target;
158
- if (!targetRef)
159
- return;
160
- if (!this._overlayRef) {
161
- if (this._platform.is('SM') && this.adaptivityEnabled) {
162
- this._openAsActionsheet();
163
- }
164
- else {
165
- this._openAsPopover(targetRef);
166
- }
167
- if (this.closeTrigger == 'clickout') {
168
- this._addSub(this._overlayRef._outsidePointerEvents.subscribe((c) => {
169
- const target = c.target;
170
- const comElem = targetRef;
171
- if (!comElem.contains(target)) {
172
- this.close();
173
- }
174
- }));
175
- }
176
- this._addSub(this._overlayRef.attachments().subscribe(() => {
177
- if (!this._isScrollAttached) {
178
- this._addSub(this._platform.scroll.subscribe((c) => {
179
- if (!c.nativeEvent.target?.closest('.ax-overlay-pane'))
180
- this.close();
181
- }));
182
- this._isScrollAttached = true;
183
- }
184
- }));
185
- }
186
- if (!this._templatePortal) {
187
- this._templatePortal = new TemplatePortal(this._baseTemplate, this._viewContainerRef);
188
- }
189
- }
190
- _openAsPopover(targetRef) {
191
- this._overlayRef = this._overlay.create({
192
- positionStrategy: this._overlay
193
- .position()
194
- .flexibleConnectedTo(targetRef)
195
- .withPositions(Array.isArray(this.position) ? this.position : [this.position])
196
- .withPush(false),
197
- scrollStrategy: this._overlay.scrollStrategies.close(),
198
- disposeOnNavigation: true,
199
- panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],
200
- maxHeight: 'unset',
201
- hasBackdrop: this.hasBackdrop,
202
- backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],
203
- });
204
- }
205
- _openAsActionsheet() {
206
- this._overlayRef = this._overlay.create({
207
- positionStrategy: this._overlay
208
- .position()
209
- .flexibleConnectedTo(document.body)
210
- .withPositions([
211
- {
212
- originX: 'center',
213
- originY: 'bottom',
214
- overlayX: 'center',
215
- overlayY: 'bottom',
216
- },
217
- ]),
218
- disposeOnNavigation: true,
219
- panelClass: ['ax-animate-slideInUp', 'ax-animate-faster'],
220
- hasBackdrop: true,
221
- width: '100%',
222
- });
223
- }
224
- get isOpen() {
225
- return this._overlayRef ? this._overlayRef.hasAttached() : false;
226
- }
227
- _addSub(sub) {
228
- this._subs.push(sub);
229
- }
230
- updatePosition() {
231
- this._overlayRef?.updatePosition();
232
- this.focus();
233
- }
234
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXPopoverComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
235
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXPopoverComponent, selector: "ax-popover", inputs: { target: "target", position: "position", openTrigger: "openTrigger", closeTrigger: "closeTrigger", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
236
- }
237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXPopoverComponent, decorators: [{
238
- type: Component,
239
- args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>" }]
240
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.Overlay }, { type: i2.AXPlatform }, { type: i0.ViewContainerRef }]; }, propDecorators: { target: [{
241
- type: Input
242
- }], position: [{
243
- type: Input
244
- }], _baseTemplate: [{
245
- type: ViewChild,
246
- args: ['baseTemplate']
247
- }], openTrigger: [{
248
- type: Input
249
- }], closeTrigger: [{
250
- type: Input
251
- }], hasBackdrop: [{
252
- type: Input
253
- }], backdropClass: [{
254
- type: Input
255
- }], adaptivityEnabled: [{
256
- type: Input
257
- }], onOpened: [{
258
- type: Output
259
- }], onClosed: [{
260
- type: Output
261
- }] } });
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9wb3BvdmVyL3NyYy9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3BvcG92ZXIvc3JjL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixVQUFVLEVBSVYsS0FBSyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sWUFBWSxHQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc3RCxPQUFPLEVBQVcsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBU3pGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSw0QkFBNEI7SUFFeEQ7SUFDRDtJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBTlYsWUFDVSxXQUF1QixFQUN4QixJQUF1QixFQUN0QixLQUFhLEVBQ2IsUUFBaUIsRUFDakIsU0FBcUIsRUFDckIsaUJBQW1DO1FBRTNDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFQakIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDeEIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGFBQVEsR0FBUixRQUFR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RkQ2QkQsa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLFlBQVksaUJBRVAsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtvT0FnQnBDLE1BQU07c0JBRGhCLEtBQUs7Z0JBV04sUUFBUTtzQkFEUCxLQUFLO2dCQWlCTixhQUFhO3NCQURaLFNBQVM7dUJBQUMsY0FBYztnQkFRekIsV0FBVztzQkFEVixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFRTixRQUFRO3NCQURQLE1BQU07Z0JBR1AsUUFBUTtzQkFEUCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBOZ1pvbmUsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBJbnB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHNvbWUsIGluY2x1ZGVzIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBWENvbm5lY3RlZFBvc2l0aW9uLCBBWEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xyXG5pbXBvcnQgeyBBWFBvaW50LCBBWERyYXdpbmdVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcclxuaW1wb3J0IHsgQVhJbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiwgQVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXBvcG92ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQb3BvdmVyQ29tcG9uZW50IGV4dGVuZHMgQVhJbnRlcmFjdGl2ZUNvbXBvbmVuZXRNaXhpbiB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtLFxyXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxyXG4gICkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIpO1xyXG4gIH1cclxuICAvL1xyXG4gIHByaXZhdGUgX3RhcmdldDogSFRNTEVsZW1lbnQ7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHRhcmdldCgpOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBBWEJhc2VDb21wb25lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RhcmdldDtcclxuICB9XHJcbiAgcHVibGljIHNldCB0YXJnZXQodjogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgQVhCYXNlQ29tcG9uZW50KSB7XHJcbiAgICBpZiAodiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB0aGlzLl90YXJnZXQgPSB2O1xyXG4gICAgZWxzZSBpZiAodiBpbnN0YW5jZW9mIEVsZW1lbnRSZWYpIHRoaXMuX3RhcmdldCA9IHYubmF0aXZlRWxlbWVudDtcclxuICAgIGVsc2UgaWYgKHYgaW5zdGFuY2VvZiBBWEJhc2VDb21wb25lbnQpIHRoaXMuX3RhcmdldCA9IHYuX2dldElubmVyRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwb3NpdGlvbjogQVhDb25uZWN0ZWRQb3NpdGlvbiB8IEFYQ29ubmVjdGVkUG9zaXRpb25bXSA9IFtcclxuICAgIHtcclxuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgIH0sXHJcbiAgXTtcclxuICAvL1xyXG4gIEBWaWV3Q2hpbGQoJ2Jhc2VUZW1wbGF0ZScpXHJcbiAgX2Jhc2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcclxuICBfdGVtcGxhdGVQb3J0YWw6IFRlbXBsYXRlUG9ydGFsO1xyXG5cclxuICBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICAvL1xyXG4gIEBJbnB1dCgpXHJcbiAgb3BlblRyaWdnZXI6ICdtYW51YWwnIHwgJ2NsaWNrJyB8ICdtb3VzZW92ZXInIHwgJ3RvZ2dsZScgPSAndG9nZ2xlJztcclxuICAvL1xyXG4gIEBJbnB1dCgpXHJcbiAgY2xvc2VUcmlnZ2VyOiAnbWFudWFsJyB8ICdjbGlja291dCcgfCAnbW91c2VvdXQnID0gJ2NsaWNrb3V0JztcclxuICAvL1xyXG4gIEBJbnB1dCgpXHJcbiAgaGFzQmFja2Ryb3A6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBiYWNrZHJvcENsYXNzOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWRhcHRpdml0eUVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvL1xyXG4gIHByaXZhdGUgX21vdXNlUG9zOiBBWFBvaW50ID0geyB4OiAwLCB5OiAwIH07XHJcbiAgcHJpdmF0ZSBfaXNTY3JvbGxBdHRhY2hlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2xhc3RBY3RpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICAvL1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uT3BlbmVkOiBFdmVudEVtaXR0ZXI8QVhFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25DbG9zZWQ6IEV2ZW50RW1pdHRlcjxBWEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhFdmVudD4oKTtcclxuXHJcbiAgX2VtaXRPbk9wZW5lZEV2ZW50KCkge1xyXG4gICAgdGhpcy5vbk9wZW5lZC5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgX2VtaXRPbkNsb3NlZEV2ZW50KCkge1xyXG4gICAgdGhpcy5vbkNsb3NlZC5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvL1xyXG4gIG9uVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5fdGFyZ2V0KSB7XHJcbiAgICAgIGlmICh0aGlzLm9wZW5UcmlnZ2VyID09PSAnbW91c2VvdmVyJykge1xyXG4gICAgICAgIGNvbnN0IG1vdXNlRW50ZXIkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuX3RhcmdldCwgJ21vdXNlb3ZlcicpO1xyXG4gICAgICAgIHRoaXMuX2FkZFN1YihcclxuICAgICAgICAgIG1vdXNlRW50ZXIkLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHsgeDogZS5jbGllbnRYLCB5OiBlLmNsaWVudFkgfTtcclxuICAgICAgICAgICAgaWYgKEFYRHJhd2luZ1V0aWwuaXNJbkVsZW1lbnRCb3VuZChwb2ludCwgdGhpcy5fdGFyZ2V0KSlcclxuICAgICAgICAgICAgICB0aGlzLm9wZW4oKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jbG9zZVRyaWdnZXIgPT09ICdtb3VzZW91dCcpIHtcclxuICAgICAgICBjb25zdCBtb3VzZU1vdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJyk7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKFxyXG4gICAgICAgICAgbW91c2VNb3ZlJC5waXBlKHRocm90dGxlVGltZSg1MCkpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9tb3VzZVBvcy54ID0gZS5jbGllbnRYO1xyXG4gICAgICAgICAgICB0aGlzLl9tb3VzZVBvcy55ID0gZS5jbGllbnRZO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcclxuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgc29tZShbdGhpcy5fdGFyZ2V0LCB0aGlzLl9vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50XSwgKGVsKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIGluY2x1ZGVzKFxyXG4gICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZWxlbWVudHNGcm9tUG9pbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX21vdXNlUG9zLngsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX21vdXNlUG9zLnlcclxuICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICBlbFxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIC8vXHJcbiAgICAgIGlmICh0aGlzLm9wZW5UcmlnZ2VyID09PSAnY2xpY2snIHx8IHRoaXMub3BlblRyaWdnZXIgPT09ICd0b2dnbGUnKSB7XHJcbiAgICAgICAgY29uc3QgY2xpY2skID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuX3RhcmdldCwgJ2NsaWNrJyk7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKFxyXG4gICAgICAgICAgY2xpY2skLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW5UcmlnZ2VyID09ICd0b2dnbGUnID8gdGhpcy50b2dnbGUoKSA6IHRoaXMub3BlbigpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vXHJcbiAgb25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2goKHMpID0+IHtcclxuICAgICAgcz8udW5zdWJzY3JpYmUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPyB0aGlzLmNsb3NlKCkgOiB0aGlzLm9wZW4oKTtcclxuICB9XHJcbiAgLy9cclxuICBjbG9zZSgpIHtcclxuICAgIGlmICghdGhpcy5pc09wZW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgICB0aGlzLl9lbWl0T25DbG9zZWRFdmVudCgpO1xyXG4gICAgLy9cclxuICAgIGlmICh0aGlzLl9sYXN0QWN0aXZlRWxlbWVudD8uZm9jdXMpIHtcclxuICAgICAgdGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRpc3Bvc2UoKSB7XHJcbiAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gbnVsbCBhcyBhbnk7XHJcbiAgfVxyXG4gIC8vXHJcbiAgb3BlbigpIHtcclxuICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9sYXN0QWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICB0aGlzLl9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpO1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uYXR0YWNoKHRoaXMuX3RlbXBsYXRlUG9ydGFsKTtcclxuICAgIHRoaXMuX2VtaXRPbk9wZW5lZEV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9lbnN1cmVPdmVybGF5Q3JlYXRlZCgpIHtcclxuICAgIGNvbnN0IHRhcmdldFJlZiA9IHRoaXMuX3RhcmdldDtcclxuICAgIGlmICghdGFyZ2V0UmVmKSByZXR1cm47XHJcblxyXG4gICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgIGlmICh0aGlzLl9wbGF0Zm9ybS5pcygnU00nKSAmJiB0aGlzLmFkYXB0aXZpdHlFbmFibGVkKSB7XHJcbiAgICAgICAgdGhpcy5fb3BlbkFzQWN0aW9uc2hlZXQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLl9vcGVuQXNQb3BvdmVyKHRhcmdldFJlZik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLmNsb3NlVHJpZ2dlciA9PSAnY2xpY2tvdXQnKSB7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKFxyXG4gICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5fb3V0c2lkZVBvaW50ZXJFdmVudHMuc3Vic2NyaWJlKChjKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGMudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBjb21FbGVtID0gdGFyZ2V0UmVmO1xyXG4gICAgICAgICAgICBpZiAoIWNvbUVsZW0uY29udGFpbnModGFyZ2V0KSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX2FkZFN1YihcclxuICAgICAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIGlmICghdGhpcy5faXNTY3JvbGxBdHRhY2hlZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9hZGRTdWIoXHJcbiAgICAgICAgICAgICAgdGhpcy5fcGxhdGZvcm0uc2Nyb2xsLnN1YnNjcmliZSgoYykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAhKGMubmF0aXZlRXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KT8uY2xvc2VzdChcclxuICAgICAgICAgICAgICAgICAgICAnLmF4LW92ZXJsYXktcGFuZSdcclxuICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5faXNTY3JvbGxBdHRhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5fdGVtcGxhdGVQb3J0YWwpIHtcclxuICAgICAgdGhpcy5fdGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXHJcbiAgICAgICAgdGhpcy5fYmFzZVRlbXBsYXRlLFxyXG4gICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWZcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29wZW5Bc1BvcG92ZXIodGFyZ2V0UmVmOiBIVE1MRWxlbWVudCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheVxyXG4gICAgICAgIC5wb3NpdGlvbigpXHJcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGFyZ2V0UmVmKVxyXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFxyXG4gICAgICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLnBvc2l0aW9uKSA/IHRoaXMucG9zaXRpb24gOiBbdGhpcy5wb3NpdGlvbl1cclxuICAgICAgICApXHJcbiAgICAgICAgLndpdGhQdXNoKGZhbHNlKSxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJ10sXHJcbiAgICAgIG1heEhlaWdodDogJ3Vuc2V0JyxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRoaXMuaGFzQmFja2Ryb3AsXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFt0aGlzLmJhY2tkcm9wQ2xhc3MgfHwgJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ10sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX29wZW5Bc0FjdGlvbnNoZWV0KCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheVxyXG4gICAgICAgIC5wb3NpdGlvbigpXHJcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oZG9jdW1lbnQuYm9keSlcclxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0pLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtc2xpZGVJblVwJywgJ2F4LWFuaW1hdGUtZmFzdGVyJ10sXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX292ZXJsYXlSZWYgPyB0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FkZFN1YihzdWI6IFN1YnNjcmlwdGlvbikge1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKHN1Yik7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQb3NpdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
1
+ import { TemplatePortal } from '@angular/cdk/portal';
2
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Input, ViewChild, Output, EventEmitter, } from '@angular/core';
3
+ import { some, includes } from 'lodash-es';
4
+ import { fromEvent, throttleTime } from 'rxjs';
5
+ import { AXDrawingUtil } from '@acorex/core/utils';
6
+ import { AXInteractiveComponenetMixin, AXBaseComponent } from '@acorex/components/mixin';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/cdk/overlay";
9
+ import * as i2 from "@acorex/core/platform";
10
+ class AXPopoverComponent extends AXInteractiveComponenetMixin {
11
+ _elementRef;
12
+ _cdr;
13
+ _zone;
14
+ _overlay;
15
+ _platform;
16
+ _viewContainerRef;
17
+ constructor(_elementRef, _cdr, _zone, _overlay, _platform, _viewContainerRef) {
18
+ super(_elementRef, _cdr);
19
+ this._elementRef = _elementRef;
20
+ this._cdr = _cdr;
21
+ this._zone = _zone;
22
+ this._overlay = _overlay;
23
+ this._platform = _platform;
24
+ this._viewContainerRef = _viewContainerRef;
25
+ }
26
+ //
27
+ _target;
28
+ get target() {
29
+ return this._target;
30
+ }
31
+ set target(v) {
32
+ if (v instanceof HTMLElement)
33
+ this._target = v;
34
+ else if (v instanceof ElementRef)
35
+ this._target = v.nativeElement;
36
+ else if (v instanceof AXBaseComponent)
37
+ this._target = v._getInnerElement();
38
+ }
39
+ position = [
40
+ {
41
+ originX: 'start',
42
+ originY: 'bottom',
43
+ overlayX: 'start',
44
+ overlayY: 'top',
45
+ },
46
+ {
47
+ originX: 'start',
48
+ originY: 'top',
49
+ overlayX: 'start',
50
+ overlayY: 'bottom',
51
+ },
52
+ ];
53
+ //
54
+ _baseTemplate;
55
+ _overlayRef;
56
+ _templatePortal;
57
+ _subs = [];
58
+ //
59
+ openTrigger = 'toggle';
60
+ //
61
+ closeTrigger = 'clickout';
62
+ //
63
+ hasBackdrop = false;
64
+ backdropClass;
65
+ adaptivityEnabled = false;
66
+ //
67
+ _mousePos = { x: 0, y: 0 };
68
+ _isScrollAttached = false;
69
+ _lastActiveElement;
70
+ //
71
+ onOpened = new EventEmitter();
72
+ onClosed = new EventEmitter();
73
+ _emitOnOpenedEvent() {
74
+ this.onOpened.emit({
75
+ component: this,
76
+ htmlElement: this._getHostElement(),
77
+ });
78
+ }
79
+ _emitOnClosedEvent() {
80
+ this.onClosed.emit({
81
+ component: this,
82
+ htmlElement: this._getHostElement(),
83
+ });
84
+ }
85
+ //
86
+ onViewInit() {
87
+ if (this._target) {
88
+ if (this.openTrigger === 'mouseover') {
89
+ const mouseEnter$ = fromEvent(this._target, 'mouseover');
90
+ this._addSub(mouseEnter$.subscribe((e) => {
91
+ const point = { x: e.clientX, y: e.clientY };
92
+ if (AXDrawingUtil.isInElementBound(point, this._target))
93
+ this.open();
94
+ }));
95
+ }
96
+ if (this.closeTrigger === 'mouseout') {
97
+ const mouseMove$ = fromEvent(document, 'mousemove');
98
+ this._addSub(mouseMove$.pipe(throttleTime(50)).subscribe((e) => {
99
+ this._mousePos.x = e.clientX;
100
+ this._mousePos.y = e.clientY;
101
+ if (this.isOpen) {
102
+ setTimeout(() => {
103
+ if (some([this._target, this._overlayRef.overlayElement], (el) => includes(document.elementsFromPoint(this._mousePos.x, this._mousePos.y), el)))
104
+ this.close();
105
+ }, 100);
106
+ }
107
+ }));
108
+ }
109
+ //
110
+ if (this.openTrigger === 'click' || this.openTrigger === 'toggle') {
111
+ const click$ = fromEvent(this._target, 'click');
112
+ this._addSub(click$.subscribe((e) => {
113
+ this.openTrigger == 'toggle' ? this.toggle() : this.open();
114
+ }));
115
+ }
116
+ }
117
+ }
118
+ //
119
+ onDestroy() {
120
+ this._overlayRef?.detach();
121
+ this._overlayRef?.dispose();
122
+ this._subs.forEach((s) => {
123
+ s?.unsubscribe();
124
+ });
125
+ }
126
+ toggle() {
127
+ this.isOpen ? this.close() : this.open();
128
+ }
129
+ //
130
+ close() {
131
+ if (!this.isOpen) {
132
+ return;
133
+ }
134
+ this._overlayRef?.detach();
135
+ this._emitOnClosedEvent();
136
+ //
137
+ if (this._lastActiveElement?.focus) {
138
+ this._lastActiveElement.focus();
139
+ }
140
+ }
141
+ dispose() {
142
+ this.close();
143
+ this._overlayRef?.dispose();
144
+ this._overlayRef = null;
145
+ }
146
+ //
147
+ open() {
148
+ if (this.isOpen) {
149
+ return;
150
+ }
151
+ this._lastActiveElement = document.activeElement;
152
+ this._ensureOverlayCreated();
153
+ this._overlayRef?.attach(this._templatePortal);
154
+ this._emitOnOpenedEvent();
155
+ }
156
+ _ensureOverlayCreated() {
157
+ const targetRef = this._target;
158
+ if (!targetRef)
159
+ return;
160
+ if (!this._overlayRef) {
161
+ if (this._platform.is('SM') && this.adaptivityEnabled) {
162
+ this._openAsActionsheet();
163
+ }
164
+ else {
165
+ this._openAsPopover(targetRef);
166
+ }
167
+ if (this.closeTrigger == 'clickout') {
168
+ this._addSub(this._overlayRef._outsidePointerEvents.subscribe((c) => {
169
+ const target = c.target;
170
+ const comElem = targetRef;
171
+ if (!comElem.contains(target)) {
172
+ this.close();
173
+ }
174
+ }));
175
+ }
176
+ this._addSub(this._overlayRef.attachments().subscribe(() => {
177
+ if (!this._isScrollAttached) {
178
+ this._addSub(this._platform.scroll.subscribe((c) => {
179
+ if (!c.nativeEvent.target?.closest('.ax-overlay-pane'))
180
+ this.close();
181
+ }));
182
+ this._isScrollAttached = true;
183
+ }
184
+ }));
185
+ }
186
+ if (!this._templatePortal) {
187
+ this._templatePortal = new TemplatePortal(this._baseTemplate, this._viewContainerRef);
188
+ }
189
+ }
190
+ _openAsPopover(targetRef) {
191
+ this._overlayRef = this._overlay.create({
192
+ positionStrategy: this._overlay
193
+ .position()
194
+ .flexibleConnectedTo(targetRef)
195
+ .withPositions(Array.isArray(this.position) ? this.position : [this.position])
196
+ .withPush(false),
197
+ scrollStrategy: this._overlay.scrollStrategies.close(),
198
+ disposeOnNavigation: true,
199
+ panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],
200
+ maxHeight: 'unset',
201
+ hasBackdrop: this.hasBackdrop,
202
+ backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],
203
+ });
204
+ }
205
+ _openAsActionsheet() {
206
+ this._overlayRef = this._overlay.create({
207
+ positionStrategy: this._overlay
208
+ .position()
209
+ .flexibleConnectedTo(document.body)
210
+ .withPositions([
211
+ {
212
+ originX: 'center',
213
+ originY: 'bottom',
214
+ overlayX: 'center',
215
+ overlayY: 'bottom',
216
+ },
217
+ ]),
218
+ disposeOnNavigation: true,
219
+ panelClass: ['ax-animate-slideInUp', 'ax-animate-faster'],
220
+ hasBackdrop: true,
221
+ width: '100%',
222
+ });
223
+ }
224
+ get isOpen() {
225
+ return this._overlayRef ? this._overlayRef.hasAttached() : false;
226
+ }
227
+ _addSub(sub) {
228
+ this._subs.push(sub);
229
+ }
230
+ updatePosition() {
231
+ this._overlayRef?.updatePosition();
232
+ this.focus();
233
+ }
234
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXPopoverComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.Overlay }, { token: i2.AXPlatform }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
235
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AXPopoverComponent, selector: "ax-popover", inputs: { target: "target", position: "position", openTrigger: "openTrigger", closeTrigger: "closeTrigger", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
236
+ }
237
+ export { AXPopoverComponent };
238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXPopoverComponent, decorators: [{
239
+ type: Component,
240
+ args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #baseTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>" }]
241
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.Overlay }, { type: i2.AXPlatform }, { type: i0.ViewContainerRef }]; }, propDecorators: { target: [{
242
+ type: Input
243
+ }], position: [{
244
+ type: Input
245
+ }], _baseTemplate: [{
246
+ type: ViewChild,
247
+ args: ['baseTemplate']
248
+ }], openTrigger: [{
249
+ type: Input
250
+ }], closeTrigger: [{
251
+ type: Input
252
+ }], hasBackdrop: [{
253
+ type: Input
254
+ }], backdropClass: [{
255
+ type: Input
256
+ }], adaptivityEnabled: [{
257
+ type: Input
258
+ }], onOpened: [{
259
+ type: Output
260
+ }], onClosed: [{
261
+ type: Output
262
+ }] } });
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9wb3BvdmVyL3NyYy9wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3BvcG92ZXIvc3JjL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixVQUFVLEVBSVYsS0FBSyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sWUFBWSxHQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc3RCxPQUFPLEVBQVcsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBR3pGLE1BTWEsa0JBQW1CLFNBQVEsNEJBQTRCO0lBRXhEO0lBQ0Q7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQU5WLFlBQ1UsV0FBdUIsRUFDeEIsSUFBdUIsRUFDdEIsS0FBYSxFQUNiLFFBQWlCLEVBQ2pCLFNBQXFCLEVBQ3JCLGlCQUFtQztRQUUzQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBUGpCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3hCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFT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a0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsWUFBWSxpQkFFUCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO29PQWdCcEMsTUFBTTtzQkFEaEIsS0FBSztnQkFXTixRQUFRO3NCQURQLEtBQUs7Z0JBaUJOLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxjQUFjO2dCQVF6QixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQVFOLFFBQVE7c0JBRFAsTUFBTTtnQkFHUCxRQUFRO3NCQURQLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE5nWm9uZSxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgc29tZSwgaW5jbHVkZXMgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGZyb21FdmVudCwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYQ29ubmVjdGVkUG9zaXRpb24sIEFYRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcbmltcG9ydCB7IEFYUG9pbnQsIEFYRHJhd2luZ1V0aWwgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xyXG5pbXBvcnQgeyBBWEludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluLCBBWEJhc2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtcG9wb3ZlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBvcG92ZXJDb21wb25lbnQgZXh0ZW5kcyBBWEludGVyYWN0aXZlQ29tcG9uZW5ldE1peGluIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF96b25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm0sXHJcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgKSB7XHJcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgX2Nkcik7XHJcbiAgfVxyXG4gIC8vXHJcbiAgcHJpdmF0ZSBfdGFyZ2V0OiBIVE1MRWxlbWVudDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgdGFyZ2V0KCk6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IEFYQmFzZUNvbXBvbmVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHRhcmdldCh2OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBBWEJhc2VDb21wb25lbnQpIHtcclxuICAgIGlmICh2IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHRoaXMuX3RhcmdldCA9IHY7XHJcbiAgICBlbHNlIGlmICh2IGluc3RhbmNlb2YgRWxlbWVudFJlZikgdGhpcy5fdGFyZ2V0ID0gdi5uYXRpdmVFbGVtZW50O1xyXG4gICAgZWxzZSBpZiAodiBpbnN0YW5jZW9mIEFYQmFzZUNvbXBvbmVudCkgdGhpcy5fdGFyZ2V0ID0gdi5fZ2V0SW5uZXJFbGVtZW50KCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHBvc2l0aW9uOiBBWENvbm5lY3RlZFBvc2l0aW9uIHwgQVhDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xyXG4gICAge1xyXG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIC8vXHJcbiAgQFZpZXdDaGlsZCgnYmFzZVRlbXBsYXRlJylcclxuICBfYmFzZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG4gIF90ZW1wbGF0ZVBvcnRhbDogVGVtcGxhdGVQb3J0YWw7XHJcblxyXG4gIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBvcGVuVHJpZ2dlcjogJ21hbnVhbCcgfCAnY2xpY2snIHwgJ21vdXNlb3ZlcicgfCAndG9nZ2xlJyA9ICd0b2dnbGUnO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBjbG9zZVRyaWdnZXI6ICdtYW51YWwnIHwgJ2NsaWNrb3V0JyB8ICdtb3VzZW91dCcgPSAnY2xpY2tvdXQnO1xyXG4gIC8vXHJcbiAgQElucHV0KClcclxuICBoYXNCYWNrZHJvcDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGJhY2tkcm9wQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBhZGFwdGl2aXR5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vXHJcbiAgcHJpdmF0ZSBfbW91c2VQb3M6IEFYUG9pbnQgPSB7IHg6IDAsIHk6IDAgfTtcclxuICBwcml2YXRlIF9pc1Njcm9sbEF0dGFjaGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfbGFzdEFjdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIC8vXHJcbiAgQE91dHB1dCgpXHJcbiAgb25PcGVuZWQ6IEV2ZW50RW1pdHRlcjxBWEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhFdmVudD4oKTtcclxuICBAT3V0cHV0KClcclxuICBvbkNsb3NlZDogRXZlbnRFbWl0dGVyPEFYRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWEV2ZW50PigpO1xyXG5cclxuICBfZW1pdE9uT3BlbmVkRXZlbnQoKSB7XHJcbiAgICB0aGlzLm9uT3BlbmVkLmVtaXQoe1xyXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBfZW1pdE9uQ2xvc2VkRXZlbnQoKSB7XHJcbiAgICB0aGlzLm9uQ2xvc2VkLmVtaXQoe1xyXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8vXHJcbiAgb25WaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLl90YXJnZXQpIHtcclxuICAgICAgaWYgKHRoaXMub3BlblRyaWdnZXIgPT09ICdtb3VzZW92ZXInKSB7XHJcbiAgICAgICAgY29uc3QgbW91c2VFbnRlciQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fdGFyZ2V0LCAnbW91c2VvdmVyJyk7XHJcbiAgICAgICAgdGhpcy5fYWRkU3ViKFxyXG4gICAgICAgICAgbW91c2VFbnRlciQuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0geyB4OiBlLmNsaWVudFgsIHk6IGUuY2xpZW50WSB9O1xyXG4gICAgICAgICAgICBpZiAoQVhEcmF3aW5nVXRpbC5pc0luRWxlbWVudEJvdW5kKHBvaW50LCB0aGlzLl90YXJnZXQpKVxyXG4gICAgICAgICAgICAgIHRoaXMub3BlbigpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmNsb3NlVHJpZ2dlciA9PT0gJ21vdXNlb3V0Jykge1xyXG4gICAgICAgIGNvbnN0IG1vdXNlTW92ZSQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZW1vdmUnKTtcclxuICAgICAgICB0aGlzLl9hZGRTdWIoXHJcbiAgICAgICAgICBtb3VzZU1vdmUkLnBpcGUodGhyb3R0bGVUaW1lKDUwKSkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX21vdXNlUG9zLnggPSBlLmNsaWVudFg7XHJcbiAgICAgICAgICAgIHRoaXMuX21vdXNlUG9zLnkgPSBlLmNsaWVudFk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICBzb21lKFt0aGlzLl90YXJnZXQsIHRoaXMuX292ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnRdLCAoZWwpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgaW5jbHVkZXMoXHJcbiAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludChcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbW91c2VQb3MueCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbW91c2VQb3MueVxyXG4gICAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICAgIGVsXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgLy9cclxuICAgICAgaWYgKHRoaXMub3BlblRyaWdnZXIgPT09ICdjbGljaycgfHwgdGhpcy5vcGVuVHJpZ2dlciA9PT0gJ3RvZ2dsZScpIHtcclxuICAgICAgICBjb25zdCBjbGljayQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fdGFyZ2V0LCAnY2xpY2snKTtcclxuICAgICAgICB0aGlzLl9hZGRTdWIoXHJcbiAgICAgICAgICBjbGljayQuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlblRyaWdnZXIgPT0gJ3RvZ2dsZScgPyB0aGlzLnRvZ2dsZSgpIDogdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy9cclxuICBvbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaCgocykgPT4ge1xyXG4gICAgICBzPy51bnN1YnNjcmliZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGUoKSB7XHJcbiAgICB0aGlzLmlzT3BlbiA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xyXG4gIH1cclxuICAvL1xyXG4gIGNsb3NlKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzT3Blbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgIHRoaXMuX2VtaXRPbkNsb3NlZEV2ZW50KCk7XHJcbiAgICAvL1xyXG4gICAgaWYgKHRoaXMuX2xhc3RBY3RpdmVFbGVtZW50Py5mb2N1cykge1xyXG4gICAgICB0aGlzLl9sYXN0QWN0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzcG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSBudWxsIGFzIGFueTtcclxuICB9XHJcbiAgLy9cclxuICBvcGVuKCkge1xyXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX2xhc3RBY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgIHRoaXMuX2Vuc3VyZU92ZXJsYXlDcmVhdGVkKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5hdHRhY2godGhpcy5fdGVtcGxhdGVQb3J0YWwpO1xyXG4gICAgdGhpcy5fZW1pdE9uT3BlbmVkRXZlbnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Vuc3VyZU92ZXJsYXlDcmVhdGVkKCkge1xyXG4gICAgY29uc3QgdGFyZ2V0UmVmID0gdGhpcy5fdGFyZ2V0O1xyXG4gICAgaWYgKCF0YXJnZXRSZWYpIHJldHVybjtcclxuXHJcbiAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgaWYgKHRoaXMuX3BsYXRmb3JtLmlzKCdTTScpICYmIHRoaXMuYWRhcHRpdml0eUVuYWJsZWQpIHtcclxuICAgICAgICB0aGlzLl9vcGVuQXNBY3Rpb25zaGVldCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX29wZW5Bc1BvcG92ZXIodGFyZ2V0UmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuY2xvc2VUcmlnZ2VyID09ICdjbGlja291dCcpIHtcclxuICAgICAgICB0aGlzLl9hZGRTdWIoXHJcbiAgICAgICAgICB0aGlzLl9vdmVybGF5UmVmLl9vdXRzaWRlUG9pbnRlckV2ZW50cy5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gYy50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbUVsZW0gPSB0YXJnZXRSZWY7XHJcbiAgICAgICAgICAgIGlmICghY29tRWxlbS5jb250YWlucyh0YXJnZXQpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fYWRkU3ViKFxyXG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNobWVudHMoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLl9pc1Njcm9sbEF0dGFjaGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FkZFN1YihcclxuICAgICAgICAgICAgICB0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKChjKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICEoYy5uYXRpdmVFdmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpPy5jbG9zZXN0KFxyXG4gICAgICAgICAgICAgICAgICAgICcuYXgtb3ZlcmxheS1wYW5lJ1xyXG4gICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLl9pc1Njcm9sbEF0dGFjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLl90ZW1wbGF0ZVBvcnRhbCkge1xyXG4gICAgICB0aGlzLl90ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcclxuICAgICAgICB0aGlzLl9iYXNlVGVtcGxhdGUsXHJcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlbkFzUG9wb3Zlcih0YXJnZXRSZWY6IEhUTUxFbGVtZW50KSB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5XHJcbiAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoXHJcbiAgICAgICAgICBBcnJheS5pc0FycmF5KHRoaXMucG9zaXRpb24pID8gdGhpcy5wb3NpdGlvbiA6IFt0aGlzLnBvc2l0aW9uXVxyXG4gICAgICAgIClcclxuICAgICAgICAud2l0aFB1c2goZmFsc2UpLFxyXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCksXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1mYWRlSW4nLCAnYXgtYW5pbWF0ZS1mYXN0ZXInXSxcclxuICAgICAgbWF4SGVpZ2h0OiAndW5zZXQnLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdGhpcy5oYXNCYWNrZHJvcCxcclxuICAgICAgYmFja2Ryb3BDbGFzczogW3RoaXMuYmFja2Ryb3BDbGFzcyB8fCAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlbkFzQWN0aW9uc2hlZXQoKSB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5XHJcbiAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhkb2N1bWVudC5ib2R5KVxyXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSksXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1zbGlkZUluVXAnLCAnYXgtYW5pbWF0ZS1mYXN0ZXInXSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCBpc09wZW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVJlZiA/IHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYWRkU3ViKHN1YjogU3Vic2NyaXB0aW9uKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goc3ViKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNiYXNlVGVtcGxhdGU+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L25nLXRlbXBsYXRlPiJdfQ==