@acorex/components 7.3.1 → 7.4.1

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 (441) hide show
  1. package/button/lib/button-group.component.d.ts +10 -73
  2. package/button/lib/button-item.class.d.ts +1 -3
  3. package/button/lib/button-item.component.d.ts +12 -75
  4. package/button/lib/button.component.d.ts +1 -1
  5. package/button-group/README.md +3 -0
  6. package/button-group/index.d.ts +2 -0
  7. package/button-group/lib/button-group.component.d.ts +21 -0
  8. package/button-group/lib/button-group.module.d.ts +8 -0
  9. package/calendar/lib/calendar-range.component.d.ts +2 -1
  10. package/calendar/lib/calendar.class.d.ts +9 -8
  11. package/calendar/lib/calendar.component.d.ts +2 -1
  12. package/check-box/lib/check-box.component.d.ts +3 -2
  13. package/color-box/README.md +3 -0
  14. package/color-box/index.d.ts +2 -0
  15. package/color-box/lib/color-box.component.d.ts +27 -0
  16. package/color-box/lib/color-box.module.d.ts +11 -0
  17. package/common/index.d.ts +6 -5
  18. package/common/lib/classes/styles.class.d.ts +0 -9
  19. package/common/lib/components/button-base-component.class.d.ts +0 -2
  20. package/common/lib/components/interactive-component.class.d.ts +7 -1
  21. package/common/lib/types/direction.d.ts +4 -0
  22. package/common/lib/types/orientation.d.ts +4 -0
  23. package/common/lib/types/placement.d.ts +30 -0
  24. package/common/lib/types/selection-mode.d.ts +4 -0
  25. package/data-pager/lib/data-pager.module.d.ts +5 -4
  26. package/data-table/lib/data-column.directive.d.ts +2 -2
  27. package/datetime-box/README.md +3 -0
  28. package/datetime-box/index.d.ts +2 -0
  29. package/datetime-box/lib/datetime-box.component.d.ts +34 -0
  30. package/datetime-box/lib/datetime-box.module.d.ts +13 -0
  31. package/datetime-input/README.md +3 -0
  32. package/datetime-input/index.d.ts +2 -0
  33. package/datetime-input/lib/datetime-input.component.d.ts +44 -0
  34. package/datetime-input/lib/datetime-input.module.d.ts +10 -0
  35. package/datetime-picker/README.md +3 -0
  36. package/datetime-picker/index.d.ts +2 -0
  37. package/datetime-picker/lib/datetime-picker.component.d.ts +42 -0
  38. package/datetime-picker/lib/datetime-picker.module.d.ts +14 -0
  39. package/decorators/index.d.ts +4 -4
  40. package/decorators/lib/decorators.module.d.ts +4 -4
  41. package/dropdown/index.d.ts +2 -0
  42. package/dropdown/lib/dropdown-box.class.d.ts +15 -0
  43. package/dropdown/lib/dropdown-box.component.d.ts +25 -0
  44. package/dropdown/lib/dropdown-panel.component.d.ts +31 -20
  45. package/dropdown/lib/dropdown.module.d.ts +9 -8
  46. package/esm2022/action-sheet/lib/action-sheet.class.mjs +1 -1
  47. package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
  48. package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -4
  49. package/esm2022/action-sheet/lib/action-sheet.service.mjs +3 -3
  50. package/esm2022/alert/lib/alert.component.mjs +3 -3
  51. package/esm2022/alert/lib/alert.module.mjs +4 -4
  52. package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
  53. package/esm2022/avatar/lib/avatar.component.mjs +3 -3
  54. package/esm2022/avatar/lib/avatar.module.mjs +4 -4
  55. package/esm2022/badge/lib/badge.component.mjs +3 -3
  56. package/esm2022/badge/lib/badge.module.mjs +4 -4
  57. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
  58. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  59. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
  60. package/esm2022/button/lib/button-group.component.mjs +36 -29
  61. package/esm2022/button/lib/button-item.class.mjs +1 -1
  62. package/esm2022/button/lib/button-item.component.mjs +46 -32
  63. package/esm2022/button/lib/button.component.mjs +14 -10
  64. package/esm2022/button/lib/button.module.mjs +4 -4
  65. package/esm2022/{color-picker/acorex-components-color-picker.mjs → button-group/acorex-components-button-group.mjs} +1 -1
  66. package/esm2022/button-group/index.mjs +3 -0
  67. package/esm2022/button-group/lib/button-group.component.mjs +97 -0
  68. package/esm2022/button-group/lib/button-group.module.mjs +21 -0
  69. package/esm2022/calendar/lib/calendar-range.component.mjs +14 -13
  70. package/esm2022/calendar/lib/calendar.class.mjs +19 -18
  71. package/esm2022/calendar/lib/calendar.component.mjs +80 -40
  72. package/esm2022/calendar/lib/calendar.module.mjs +4 -4
  73. package/esm2022/check-box/lib/check-box.component.mjs +9 -5
  74. package/esm2022/check-box/lib/check-box.module.mjs +4 -4
  75. package/esm2022/chips/lib/chips.component.mjs +3 -3
  76. package/esm2022/chips/lib/chips.module.mjs +4 -4
  77. package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
  78. package/esm2022/collapse/lib/collapse.component.mjs +3 -3
  79. package/esm2022/collapse/lib/collapse.module.mjs +4 -4
  80. package/esm2022/color-box/acorex-components-color-box.mjs +5 -0
  81. package/esm2022/color-box/index.mjs +3 -0
  82. package/esm2022/color-box/lib/color-box.component.mjs +91 -0
  83. package/esm2022/color-box/lib/color-box.module.mjs +24 -0
  84. package/esm2022/color-palette/lib/color-palette-input.component.mjs +3 -3
  85. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +13 -13
  86. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
  87. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
  88. package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
  89. package/esm2022/color-palette/lib/color-palette.component.mjs +5 -5
  90. package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
  91. package/esm2022/common/index.mjs +7 -6
  92. package/esm2022/common/lib/classes/components.class.mjs +22 -22
  93. package/esm2022/common/lib/classes/styles.class.mjs +1 -2
  94. package/esm2022/common/lib/common.module.mjs +4 -4
  95. package/esm2022/common/lib/components/base-component.class.mjs +3 -3
  96. package/esm2022/common/lib/components/button-base-component.class.mjs +4 -18
  97. package/esm2022/common/lib/components/input-base-value-component.class.mjs +3 -3
  98. package/esm2022/common/lib/components/interactive-component.class.mjs +14 -1
  99. package/esm2022/common/lib/components/value-component.class.mjs +6 -6
  100. package/esm2022/common/lib/directives/auto-focus.directive.mjs +3 -3
  101. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +3 -3
  102. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
  103. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
  104. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
  105. package/esm2022/common/lib/services/dom.service.mjs +3 -3
  106. package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
  107. package/esm2022/common/lib/types/direction.mjs +2 -0
  108. package/esm2022/common/lib/types/orientation.mjs +2 -0
  109. package/esm2022/common/lib/types/placement.mjs +160 -0
  110. package/esm2022/common/lib/types/range.mjs +2 -0
  111. package/esm2022/common/lib/types/selection-mode.mjs +5 -0
  112. package/esm2022/context-menu/lib/context-menu.component.mjs +3 -3
  113. package/esm2022/context-menu/lib/context-menu.module.mjs +4 -4
  114. package/esm2022/data-pager/lib/data-pager-base.component.mjs +6 -6
  115. package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
  116. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
  117. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +4 -4
  118. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +15 -18
  119. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +7 -7
  120. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +4 -4
  121. package/esm2022/data-pager/lib/data-pager.component.mjs +5 -5
  122. package/esm2022/data-pager/lib/data-pager.module.mjs +8 -7
  123. package/esm2022/data-table/lib/data-column.directive.mjs +6 -8
  124. package/esm2022/data-table/lib/data-table.component.mjs +3 -3
  125. package/esm2022/data-table/lib/data-table.module.mjs +4 -4
  126. package/esm2022/datetime-box/acorex-components-datetime-box.mjs +5 -0
  127. package/esm2022/datetime-box/index.mjs +3 -0
  128. package/esm2022/datetime-box/lib/datetime-box.component.mjs +109 -0
  129. package/esm2022/datetime-box/lib/datetime-box.module.mjs +38 -0
  130. package/esm2022/datetime-input/acorex-components-datetime-input.mjs +5 -0
  131. package/esm2022/datetime-input/index.mjs +3 -0
  132. package/esm2022/datetime-input/lib/datetime-input.component.mjs +522 -0
  133. package/esm2022/datetime-input/lib/datetime-input.module.mjs +23 -0
  134. package/esm2022/datetime-picker/acorex-components-datetime-picker.mjs +5 -0
  135. package/esm2022/datetime-picker/index.mjs +3 -0
  136. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +232 -0
  137. package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +41 -0
  138. package/esm2022/decorators/index.mjs +5 -5
  139. package/esm2022/decorators/lib/components/clear-button.component.mjs +58 -0
  140. package/esm2022/decorators/lib/components/close-button.component.mjs +43 -0
  141. package/esm2022/decorators/lib/components/generic-content.component.mjs +17 -0
  142. package/esm2022/decorators/lib/components/icon.component.mjs +26 -0
  143. package/esm2022/decorators/lib/decorators.module.mjs +10 -10
  144. package/esm2022/dialog/lib/dialog.component.mjs +4 -4
  145. package/esm2022/dialog/lib/dialog.module.mjs +4 -4
  146. package/esm2022/dialog/lib/dialog.service.mjs +3 -3
  147. package/esm2022/drawer/lib/drawer-container.component.mjs +3 -3
  148. package/esm2022/drawer/lib/drawer.component.mjs +3 -3
  149. package/esm2022/drawer/lib/drawer.module.mjs +4 -4
  150. package/esm2022/dropdown/index.mjs +3 -1
  151. package/esm2022/dropdown/lib/dropdown-box.class.mjs +38 -0
  152. package/esm2022/dropdown/lib/dropdown-box.component.mjs +94 -0
  153. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +88 -37
  154. package/esm2022/dropdown/lib/dropdown.module.mjs +8 -7
  155. package/esm2022/form/index.mjs +2 -1
  156. package/esm2022/form/lib/form-field.component.mjs +3 -3
  157. package/esm2022/form/lib/form.component.mjs +3 -3
  158. package/esm2022/form/lib/form.config.mjs +36 -0
  159. package/esm2022/form/lib/form.module.mjs +6 -28
  160. package/esm2022/form/lib/validation-rule.widget.mjs +8 -7
  161. package/esm2022/form/lib/validation-summary.component.mjs +4 -4
  162. package/esm2022/image/lib/image.component.mjs +3 -3
  163. package/esm2022/image/lib/image.module.mjs +4 -4
  164. package/esm2022/label/lib/label.component.mjs +3 -3
  165. package/esm2022/label/lib/label.module.mjs +4 -4
  166. package/esm2022/loading/lib/loading-spinner.component.mjs +3 -3
  167. package/esm2022/loading/lib/loading.component.mjs +6 -6
  168. package/esm2022/loading/lib/loading.directive.mjs +20 -51
  169. package/esm2022/loading/lib/loading.module.mjs +6 -6
  170. package/esm2022/loading/lib/loading.service.mjs +36 -28
  171. package/esm2022/menu/lib/menu.component.mjs +3 -3
  172. package/esm2022/menu/lib/menu.module.mjs +4 -4
  173. package/esm2022/mixin/index.mjs +1 -2
  174. package/esm2022/mixin/lib/base-components.class.mjs +3 -3
  175. package/esm2022/mixin/lib/selection-component.class.mjs +3 -3
  176. package/esm2022/mixin/lib/value-mixin.class.mjs +3 -3
  177. package/esm2022/notification/lib/notification.component.mjs +3 -3
  178. package/esm2022/notification/lib/notification.module.mjs +4 -4
  179. package/esm2022/notification/lib/notification.service.mjs +3 -3
  180. package/esm2022/number-box/lib/number-box.component.mjs +3 -3
  181. package/esm2022/number-box/lib/number-box.module.mjs +4 -4
  182. package/esm2022/otp/lib/otp.component.mjs +23 -11
  183. package/esm2022/otp/lib/otp.module.mjs +4 -4
  184. package/esm2022/page/lib/base-page.class.mjs +20 -21
  185. package/esm2022/page/lib/page.component.mjs +13 -13
  186. package/esm2022/page/lib/page.module.mjs +4 -4
  187. package/esm2022/password-box/lib/password-box.component.mjs +3 -3
  188. package/esm2022/password-box/lib/password-box.module.mjs +4 -4
  189. package/esm2022/picker/acorex-components-picker.mjs +5 -0
  190. package/esm2022/picker/index.mjs +4 -0
  191. package/esm2022/picker/lib/picker-column.directive.mjs +73 -0
  192. package/esm2022/picker/lib/picker.component.mjs +148 -0
  193. package/esm2022/picker/lib/picker.module.mjs +22 -0
  194. package/esm2022/popover/index.mjs +1 -2
  195. package/esm2022/popover/lib/popover.component.mjs +270 -166
  196. package/esm2022/popover/lib/popover.module.mjs +4 -4
  197. package/esm2022/popup/lib/popup.component.mjs +40 -15
  198. package/esm2022/popup/lib/popup.module.mjs +6 -6
  199. package/esm2022/popup/lib/popup.service.mjs +9 -6
  200. package/esm2022/progress-bar/lib/progress-bar.component.mjs +9 -13
  201. package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
  202. package/esm2022/radio/lib/radio.component.mjs +36 -21
  203. package/esm2022/radio/lib/radio.module.mjs +4 -4
  204. package/esm2022/range-slider/lib/range-slider.component.mjs +21 -34
  205. package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
  206. package/esm2022/result/lib/result.component.mjs +6 -6
  207. package/esm2022/result/lib/result.module.mjs +4 -4
  208. package/esm2022/scheduler/index.mjs +2 -1
  209. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +16 -9
  210. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +12 -0
  211. package/esm2022/scheduler/lib/scheduler.component.mjs +27 -14
  212. package/esm2022/scheduler/lib/scheduler.module.mjs +10 -9
  213. package/esm2022/search-box/lib/search-box.component.mjs +3 -3
  214. package/esm2022/search-box/lib/search-box.module.mjs +4 -4
  215. package/esm2022/select-box/lib/select-box.component.mjs +7 -7
  216. package/esm2022/select-box/lib/select-box.module.mjs +4 -4
  217. package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
  218. package/esm2022/selection-list/lib/selection-list.module.mjs +4 -4
  219. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  220. package/esm2022/switch/lib/switch.component.mjs +3 -3
  221. package/esm2022/switch/lib/switch.module.mjs +4 -4
  222. package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
  223. package/esm2022/tabs/lib/tab-item.component.mjs +23 -53
  224. package/esm2022/tabs/lib/tabs.class.mjs +1 -1
  225. package/esm2022/tabs/lib/tabs.component.mjs +19 -28
  226. package/esm2022/tabs/lib/tabs.module.mjs +4 -4
  227. package/esm2022/tag/lib/tag.component.mjs +8 -10
  228. package/esm2022/tag/lib/tag.module.mjs +4 -4
  229. package/esm2022/text-area/lib/text-area.component.mjs +3 -3
  230. package/esm2022/text-area/lib/text-area.module.mjs +4 -4
  231. package/esm2022/text-box/lib/mask-options.directive.mjs +3 -3
  232. package/esm2022/text-box/lib/text-box.component.mjs +3 -3
  233. package/esm2022/text-box/lib/text-box.module.mjs +4 -4
  234. package/esm2022/toast/lib/toast.component.mjs +3 -3
  235. package/esm2022/toast/lib/toast.config.mjs +9 -3
  236. package/esm2022/toast/lib/toast.module.mjs +10 -6
  237. package/esm2022/toast/lib/toast.service.mjs +3 -3
  238. package/esm2022/tooltip/lib/tooltip.component.mjs +9 -13
  239. package/esm2022/tooltip/lib/tooltip.directive.mjs +35 -143
  240. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  241. package/esm2022/uploader/index.mjs +4 -2
  242. package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +13 -0
  243. package/esm2022/uploader/lib/uploader-list.component.mjs +14 -0
  244. package/esm2022/uploader/lib/uploader-overlay.component.mjs +12 -0
  245. package/esm2022/uploader/lib/uploader.module.mjs +14 -11
  246. package/fesm2022/acorex-components-action-sheet.mjs +10 -10
  247. package/fesm2022/acorex-components-alert.mjs +7 -7
  248. package/fesm2022/acorex-components-avatar.mjs +10 -10
  249. package/fesm2022/acorex-components-badge.mjs +7 -7
  250. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  251. package/fesm2022/acorex-components-button-group.mjs +122 -0
  252. package/fesm2022/acorex-components-button-group.mjs.map +1 -0
  253. package/fesm2022/acorex-components-button.mjs +138 -116
  254. package/fesm2022/acorex-components-button.mjs.map +1 -1
  255. package/fesm2022/acorex-components-calendar.mjs +110 -68
  256. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  257. package/fesm2022/acorex-components-check-box.mjs +12 -8
  258. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  259. package/fesm2022/acorex-components-chips.mjs +7 -7
  260. package/fesm2022/acorex-components-collapse.mjs +10 -10
  261. package/fesm2022/acorex-components-color-box.mjs +116 -0
  262. package/fesm2022/acorex-components-color-box.mjs.map +1 -0
  263. package/fesm2022/acorex-components-color-palette.mjs +36 -36
  264. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  265. package/fesm2022/acorex-components-common.mjs +238 -301
  266. package/fesm2022/acorex-components-common.mjs.map +1 -1
  267. package/fesm2022/acorex-components-context-menu.mjs +7 -7
  268. package/fesm2022/acorex-components-data-pager.mjs +52 -54
  269. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  270. package/fesm2022/acorex-components-data-table.mjs +12 -14
  271. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  272. package/fesm2022/acorex-components-datetime-box.mjs +146 -0
  273. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -0
  274. package/fesm2022/acorex-components-datetime-input.mjs +547 -0
  275. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -0
  276. package/fesm2022/acorex-components-datetime-picker.mjs +273 -0
  277. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -0
  278. package/fesm2022/acorex-components-decorators.mjs +50 -50
  279. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  280. package/fesm2022/acorex-components-dialog.mjs +11 -11
  281. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  282. package/fesm2022/acorex-components-drawer.mjs +10 -10
  283. package/fesm2022/acorex-components-dropdown.mjs +217 -44
  284. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  285. package/fesm2022/acorex-components-form.mjs +58 -44
  286. package/fesm2022/acorex-components-form.mjs.map +1 -1
  287. package/fesm2022/acorex-components-image.mjs +7 -7
  288. package/fesm2022/acorex-components-label.mjs +7 -7
  289. package/fesm2022/acorex-components-loading.mjs +93 -116
  290. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  291. package/fesm2022/acorex-components-menu.mjs +7 -7
  292. package/fesm2022/acorex-components-mixin.mjs +7 -26
  293. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  294. package/fesm2022/acorex-components-notification.mjs +10 -10
  295. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  296. package/fesm2022/acorex-components-number-box.mjs +7 -7
  297. package/fesm2022/acorex-components-otp.mjs +27 -15
  298. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  299. package/fesm2022/acorex-components-page.mjs +55 -56
  300. package/fesm2022/acorex-components-page.mjs.map +1 -1
  301. package/fesm2022/acorex-components-password-box.mjs +7 -7
  302. package/fesm2022/acorex-components-picker.mjs +242 -0
  303. package/fesm2022/acorex-components-picker.mjs.map +1 -0
  304. package/fesm2022/acorex-components-popover.mjs +275 -241
  305. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  306. package/fesm2022/acorex-components-popup.mjs +52 -24
  307. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  308. package/fesm2022/acorex-components-progress-bar.mjs +12 -16
  309. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  310. package/fesm2022/acorex-components-radio.mjs +39 -25
  311. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  312. package/fesm2022/acorex-components-range-slider.mjs +24 -37
  313. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  314. package/fesm2022/acorex-components-result.mjs +9 -9
  315. package/fesm2022/acorex-components-result.mjs.map +1 -1
  316. package/fesm2022/acorex-components-scheduler.mjs +50 -25
  317. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  318. package/fesm2022/acorex-components-search-box.mjs +7 -7
  319. package/fesm2022/acorex-components-select-box.mjs +10 -10
  320. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  321. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  322. package/fesm2022/acorex-components-switch.mjs +10 -10
  323. package/fesm2022/acorex-components-tabs.mjs +45 -85
  324. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  325. package/fesm2022/acorex-components-tag.mjs +11 -13
  326. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  327. package/fesm2022/acorex-components-text-area.mjs +7 -7
  328. package/fesm2022/acorex-components-text-box.mjs +10 -10
  329. package/fesm2022/acorex-components-toast.mjs +23 -13
  330. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  331. package/fesm2022/acorex-components-tooltip.mjs +45 -157
  332. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  333. package/fesm2022/acorex-components-uploader.mjs +38 -103
  334. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  335. package/form/index.d.ts +1 -0
  336. package/form/lib/form.config.d.ts +17 -0
  337. package/form/lib/form.module.d.ts +0 -1
  338. package/form/lib/validation-rule.widget.d.ts +1 -0
  339. package/loading/lib/loading.directive.d.ts +10 -17
  340. package/loading/lib/loading.module.d.ts +1 -1
  341. package/loading/lib/loading.service.d.ts +10 -15
  342. package/mixin/index.d.ts +0 -1
  343. package/mixin/lib/base-components.class.d.ts +2 -2
  344. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  345. package/mixin/lib/button-mixin.class.d.ts +2 -2
  346. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  347. package/mixin/lib/color-look-mixing.class.d.ts +2 -2
  348. package/mixin/lib/datalist-component.class.d.ts +10 -10
  349. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  350. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  351. package/mixin/lib/mixin.class.d.ts +61 -61
  352. package/mixin/lib/page-component.class.d.ts +2 -2
  353. package/mixin/lib/selection-component.class.d.ts +2 -2
  354. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  355. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  356. package/mixin/lib/value-mixin.class.d.ts +8 -8
  357. package/otp/lib/otp.component.d.ts +10 -6
  358. package/package.json +56 -41
  359. package/page/lib/base-page.class.d.ts +6 -10
  360. package/page/lib/page.component.d.ts +4 -4
  361. package/picker/README.md +3 -0
  362. package/picker/index.d.ts +3 -0
  363. package/picker/lib/picker-column.directive.d.ts +16 -0
  364. package/picker/lib/picker.component.d.ts +30 -0
  365. package/picker/lib/picker.module.d.ts +9 -0
  366. package/popover/index.d.ts +0 -1
  367. package/popover/lib/popover.component.d.ts +51 -27
  368. package/popup/lib/popup.component.d.ts +6 -6
  369. package/progress-bar/lib/progress-bar.component.d.ts +3 -8
  370. package/radio/lib/radio.component.d.ts +8 -10
  371. package/range-slider/lib/range-slider.component.d.ts +12 -12
  372. package/result/lib/result.component.d.ts +2 -2
  373. package/scheduler/index.d.ts +1 -0
  374. package/scheduler/lib/scheduler-month-view.component.d.ts +2 -1
  375. package/scheduler/lib/scheduler-week-view.component.d.ts +6 -0
  376. package/scheduler/lib/scheduler.component.d.ts +6 -0
  377. package/scheduler/lib/scheduler.module.d.ts +7 -6
  378. package/tabs/lib/tab-item.component.d.ts +7 -38
  379. package/tabs/lib/tabs.class.d.ts +2 -1
  380. package/tabs/lib/tabs.component.d.ts +7 -9
  381. package/tag/lib/tag.component.d.ts +2 -4
  382. package/tooltip/lib/tooltip.component.d.ts +3 -6
  383. package/tooltip/lib/tooltip.directive.d.ts +11 -17
  384. package/uploader/index.d.ts +3 -1
  385. package/uploader/lib/uploader-drop-zone.component.d.ts +6 -0
  386. package/uploader/lib/uploader-list.component.d.ts +6 -0
  387. package/uploader/lib/uploader-overlay.component.d.ts +6 -0
  388. package/uploader/lib/uploader.module.d.ts +7 -4
  389. package/color-picker/README.md +0 -3
  390. package/color-picker/index.d.ts +0 -2
  391. package/color-picker/lib/color-picker.component.d.ts +0 -191
  392. package/color-picker/lib/color-picker.module.d.ts +0 -18
  393. package/common/lib/classes/drawing.class.d.ts +0 -9
  394. package/common/lib/constant/positions.d.ts +0 -75
  395. package/common/lib/services/custom-cdk-overlay.service.d.ts +0 -19
  396. package/common/lib/services/overlay.service.d.ts +0 -34
  397. package/date-picker/README.md +0 -3
  398. package/date-picker/index.d.ts +0 -2
  399. package/date-picker/lib/datepicker.component.d.ts +0 -40
  400. package/date-picker/lib/datepicker.module.d.ts +0 -15
  401. package/esm2022/color-picker/index.mjs +0 -3
  402. package/esm2022/color-picker/lib/color-picker.component.mjs +0 -116
  403. package/esm2022/color-picker/lib/color-picker.module.mjs +0 -61
  404. package/esm2022/common/lib/classes/data.class.mjs +0 -2
  405. package/esm2022/common/lib/classes/drawing.class.mjs +0 -2
  406. package/esm2022/common/lib/constant/positions.mjs +0 -75
  407. package/esm2022/common/lib/services/custom-cdk-overlay.service.mjs +0 -49
  408. package/esm2022/common/lib/services/overlay.service.mjs +0 -113
  409. package/esm2022/date-picker/acorex-components-date-picker.mjs +0 -5
  410. package/esm2022/date-picker/index.mjs +0 -3
  411. package/esm2022/date-picker/lib/datepicker.component.mjs +0 -128
  412. package/esm2022/date-picker/lib/datepicker.module.mjs +0 -44
  413. package/esm2022/decorators/lib/clear-button.component.mjs +0 -58
  414. package/esm2022/decorators/lib/close-button.component.mjs +0 -43
  415. package/esm2022/decorators/lib/generic-content.component.mjs +0 -17
  416. package/esm2022/decorators/lib/icon.component.mjs +0 -26
  417. package/esm2022/mixin/lib/loading-mixin.class.mjs +0 -18
  418. package/esm2022/popover/lib/dropdown-component.class.mjs +0 -73
  419. package/esm2022/time-box/acorex-components-time-box.mjs +0 -5
  420. package/esm2022/time-box/index.mjs +0 -3
  421. package/esm2022/time-box/lib/time-box.component.mjs +0 -294
  422. package/esm2022/time-box/lib/time-box.module.mjs +0 -32
  423. package/esm2022/uploader/lib/uploader.component.mjs +0 -99
  424. package/fesm2022/acorex-components-color-picker.mjs +0 -178
  425. package/fesm2022/acorex-components-color-picker.mjs.map +0 -1
  426. package/fesm2022/acorex-components-date-picker.mjs +0 -173
  427. package/fesm2022/acorex-components-date-picker.mjs.map +0 -1
  428. package/fesm2022/acorex-components-time-box.mjs +0 -329
  429. package/fesm2022/acorex-components-time-box.mjs.map +0 -1
  430. package/mixin/lib/loading-mixin.class.d.ts +0 -40
  431. package/popover/lib/dropdown-component.class.d.ts +0 -17
  432. package/time-box/README.md +0 -3
  433. package/time-box/index.d.ts +0 -2
  434. package/time-box/lib/time-box.component.d.ts +0 -50
  435. package/time-box/lib/time-box.module.d.ts +0 -11
  436. package/uploader/lib/uploader.component.d.ts +0 -28
  437. /package/common/lib/{classes/data.class.d.ts → types/range.d.ts} +0 -0
  438. /package/decorators/lib/{clear-button.component.d.ts → components/clear-button.component.d.ts} +0 -0
  439. /package/decorators/lib/{close-button.component.d.ts → components/close-button.component.d.ts} +0 -0
  440. /package/decorators/lib/{generic-content.component.d.ts → components/generic-content.component.d.ts} +0 -0
  441. /package/decorators/lib/{icon.component.d.ts → components/icon.component.d.ts} +0 -0
@@ -1,145 +1,115 @@
1
- import { MXInteractiveComponent } from '@acorex/components/common';
2
- import * as i0 from '@angular/core';
3
- import { EventEmitter, Injectable, inject, ElementRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ViewChild, Output, NgModule } from '@angular/core';
4
- import { Overlay } from '@angular/cdk/overlay';
5
- import { TemplatePortal } from '@angular/cdk/portal';
6
- import { some, includes } from 'lodash-es';
7
- import { fromEvent, throttleTime } from 'rxjs';
1
+ import { MXBaseComponent, convertToPlacement, AXFocusableComponent } from '@acorex/components/common';
8
2
  import { AXPlatform } from '@acorex/core/platform';
9
- import { AXDrawingUtil } from '@acorex/core/utils';
3
+ import { Overlay } from '@angular/cdk/overlay';
4
+ import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
5
+ import * as i0 from '@angular/core';
6
+ import { inject, EventEmitter, ElementRef, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ViewChild, Output, NgModule } from '@angular/core';
7
+ import { fromEvent, delay } from 'rxjs';
10
8
  import { CommonModule } from '@angular/common';
11
9
 
12
- class MXDropDownComponent extends MXInteractiveComponent {
13
- constructor() {
14
- super(...arguments);
15
- this.onOpened = new EventEmitter();
16
- this.onClosed = new EventEmitter();
17
- this.popOverPositions = [];
18
- }
19
- initPopOverPositions() {
20
- const offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));
21
- const list = [
22
- {
23
- originX: 'start',
24
- originY: 'bottom',
25
- overlayX: 'start',
26
- overlayY: 'top',
27
- offsetY: offset,
28
- },
29
- {
30
- originX: 'start',
31
- originY: 'top',
32
- overlayX: 'start',
33
- overlayY: 'bottom',
34
- offsetY: -offset,
35
- },
36
- {
37
- originX: 'end',
38
- originY: 'bottom',
39
- overlayX: 'end',
40
- overlayY: 'top',
41
- offsetY: offset,
42
- },
43
- {
44
- originX: 'end',
45
- originY: 'top',
46
- overlayX: 'end',
47
- overlayY: 'bottom',
48
- offsetY: -offset,
49
- },
50
- ];
51
- this.popOverPositions.push(...list);
52
- }
53
- toggle() {
54
- if (this.disabled !== true) {
55
- this.popover.toggle();
56
- }
57
- }
58
- close() {
59
- if (!this.isOpen || this.disabled) {
60
- return;
61
- }
62
- this.popover.close();
63
- this?.focus();
64
- }
65
- open() {
66
- if (this.isOpen || this.disabled) {
67
- return;
68
- }
69
- this.popover.open();
70
- this.popover.focus();
71
- }
72
- get isOpen() {
73
- return this.popover?.isOpen;
74
- }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MXDropDownComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
76
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MXDropDownComponent }); }
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MXDropDownComponent, decorators: [{
79
- type: Injectable
80
- }] });
81
-
82
- class AXPopoverComponent extends MXInteractiveComponent {
10
+ class AXPopoverComponent extends MXBaseComponent {
83
11
  constructor() {
84
12
  super(...arguments);
85
13
  this._platform = inject(AXPlatform);
86
14
  this._overlay = inject(Overlay);
87
- this.offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));
88
- this.position = [
89
- {
90
- originX: 'start',
91
- originY: 'bottom',
92
- overlayX: 'start',
93
- overlayY: 'top',
94
- offsetY: this.offset,
95
- },
96
- {
97
- originX: 'start',
98
- originY: 'top',
99
- overlayX: 'start',
100
- overlayY: 'bottom',
101
- offsetY: -this.offset,
102
- },
103
- {
104
- originX: 'end',
105
- originY: 'bottom',
106
- overlayX: 'end',
107
- overlayY: 'top',
108
- offsetY: this.offset,
109
- },
110
- {
111
- originX: 'end',
112
- originY: 'top',
113
- overlayX: 'end',
114
- overlayY: 'bottom',
115
- offsetY: -this.offset,
116
- },
117
- ];
118
- this._subs = [];
15
+ this._isMouseOverButton = false;
16
+ this._isMouseOverTooltip = false;
17
+ this._targetEvents = {};
18
+ this._overlayEvents = {};
19
+ //
20
+ this._defautPlacements = convertToPlacement('bottom-start');
21
+ this._placements = [...this._defautPlacements];
22
+ this._placement = this._placements;
119
23
  //
120
- this.openTrigger = 'toggle';
24
+ this._openOn = 'toggle';
121
25
  //
122
- this.closeTrigger = 'clickout';
26
+ this._closeOn = 'clickout';
123
27
  //
124
28
  this.hasBackdrop = false;
125
29
  this.adaptivityEnabled = false;
126
30
  //
127
- this._mousePos = { x: 0, y: 0 };
128
- this._isScrollAttached = false;
129
- //
130
31
  this.onOpened = new EventEmitter();
131
32
  this.onClosed = new EventEmitter();
132
33
  }
34
+ get offsetX() {
35
+ return this._offsetX;
36
+ }
37
+ set offsetX(v) {
38
+ this.setOption({
39
+ name: 'offsetX',
40
+ value: v,
41
+ afterCallback: () => {
42
+ this.updateOffset();
43
+ },
44
+ });
45
+ }
46
+ get offsetY() {
47
+ return this._offsetY;
48
+ }
49
+ set offsetY(v) {
50
+ this.setOption({
51
+ name: 'offsetY',
52
+ value: v,
53
+ afterCallback: () => {
54
+ this.updateOffset();
55
+ },
56
+ });
57
+ }
133
58
  get target() {
134
59
  return this._target;
135
60
  }
136
61
  set target(v) {
62
+ this.removeTargetEvents();
137
63
  if (v instanceof HTMLElement)
138
64
  this._target = v;
139
65
  else if (v instanceof ElementRef)
140
66
  this._target = v.nativeElement;
141
67
  else if (typeof v.getHostElement == 'function')
142
68
  this._target = v.getHostElement();
69
+ //
70
+ this.bindTargetEvents();
71
+ }
72
+ get placement() {
73
+ return this._placement;
74
+ }
75
+ set placement(v) {
76
+ this.setOption({
77
+ name: 'placement',
78
+ value: v,
79
+ afterCallback: (o, n) => {
80
+ const converted = convertToPlacement(n);
81
+ this._placements = converted.length ? converted : this._defautPlacements;
82
+ this.updateOffset();
83
+ this.updatePositionStrategy();
84
+ },
85
+ });
86
+ }
87
+ get componentRef() {
88
+ return this._componentRef;
89
+ }
90
+ get openOn() {
91
+ return this._openOn;
92
+ }
93
+ set openOn(v) {
94
+ this.setOption({
95
+ name: 'openOn',
96
+ value: v,
97
+ afterCallback: () => {
98
+ this.bindTargetEvents();
99
+ },
100
+ });
101
+ }
102
+ get closeOn() {
103
+ return this._closeOn;
104
+ }
105
+ set closeOn(v) {
106
+ this.setOption({
107
+ name: 'closeOn',
108
+ value: v,
109
+ afterCallback: () => {
110
+ this.bindTargetEvents();
111
+ },
112
+ });
143
113
  }
144
114
  _emitOnOpenedEvent() {
145
115
  this.onOpened.emit({
@@ -154,46 +124,90 @@ class AXPopoverComponent extends MXInteractiveComponent {
154
124
  });
155
125
  }
156
126
  //
157
- ngAfterViewInit() {
158
- if (this._target) {
159
- if (this.openTrigger === 'mouseover') {
160
- const mouseEnter$ = fromEvent(this._target, 'mouseover');
161
- this._addSub(mouseEnter$.subscribe(e => {
162
- const point = { x: e.clientX, y: e.clientY };
163
- if (AXDrawingUtil.isInElementBound(point, this._target))
164
- this.open();
165
- }));
166
- }
167
- if (this.closeTrigger === 'mouseout') {
168
- const mouseMove$ = fromEvent(document, 'mousemove');
169
- this._addSub(mouseMove$.pipe(throttleTime(50)).subscribe(e => {
170
- this._mousePos.x = e.clientX;
171
- this._mousePos.y = e.clientY;
172
- if (this.isOpen) {
173
- setTimeout(() => {
174
- if (some([this._target, this._overlayRef.overlayElement], el => includes(document.elementsFromPoint(this._mousePos.x, this._mousePos.y), el)))
175
- this.close();
176
- }, 100);
177
- }
178
- }));
179
- }
180
- //
181
- if (this.openTrigger === 'click' || this.openTrigger === 'toggle') {
182
- const click$ = fromEvent(this._target, 'click');
183
- this._addSub(click$.subscribe(e => {
184
- this.openTrigger == 'toggle' ? this.toggle() : this.open();
185
- }));
127
+ _handleMouseEnter(e) {
128
+ this._isMouseOverTooltip = true;
129
+ }
130
+ _handleMouseLeave(e) {
131
+ this._isMouseOverTooltip = false;
132
+ setTimeout(() => {
133
+ if (!this._isMouseOverButton && this.closeOn == 'leave') {
134
+ this.close();
186
135
  }
136
+ }, 250);
137
+ }
138
+ removeTargetEvents() {
139
+ Object.entries(this._targetEvents).forEach((e) => {
140
+ e[1].unsubscribe();
141
+ });
142
+ }
143
+ bindTargetEvents() {
144
+ this.removeTargetEvents();
145
+ if (!this._target)
146
+ return;
147
+ const targetMouseEnter$ = fromEvent(this._target, 'mouseenter');
148
+ const targetMouseLeave$ = fromEvent(this._target, 'mouseleave');
149
+ if (this.openOn == 'hover') {
150
+ this._targetEvents.mouseenter = targetMouseEnter$.pipe(delay(200)).subscribe(() => {
151
+ this._isMouseOverButton = true;
152
+ this.open();
153
+ });
154
+ }
155
+ if (this.closeOn == 'leave') {
156
+ this._targetEvents.mouseleave = targetMouseLeave$.pipe(delay(200)).subscribe(() => {
157
+ this._isMouseOverButton = false;
158
+ if (!this._isMouseOverTooltip) {
159
+ this.close();
160
+ }
161
+ });
162
+ }
163
+ if (this.openOn === 'click' || this.openOn === 'toggle') {
164
+ const click$ = fromEvent(this._target, 'click');
165
+ this._targetEvents.click = click$.subscribe((e) => {
166
+ this.openOn == 'toggle' ? this.toggle() : this.open();
167
+ });
187
168
  }
188
169
  }
189
170
  //
190
- ngOnDestroy() {
191
- this._overlayRef?.detach();
192
- this._overlayRef?.dispose();
193
- this._subs.forEach(s => {
194
- s?.unsubscribe();
171
+ bindOverlayEvents() {
172
+ this.removeOverlayEvents();
173
+ this._overlayEvents.attach = this._overlayRef.attachments().subscribe(() => {
174
+ if (this.openOn == 'hover') {
175
+ this._overlayRef.overlayElement.addEventListener('mouseenter', this._handleMouseEnter.bind(this));
176
+ }
177
+ if (this.closeOn == 'leave') {
178
+ this._overlayRef.overlayElement.addEventListener('mouseleave', this._handleMouseLeave.bind(this));
179
+ }
180
+ //
181
+ this._overlayEvents.outside = this._overlayRef._outsidePointerEvents.subscribe((e) => {
182
+ const el = e.target;
183
+ if (this.closeOn == 'clickout' &&
184
+ this.isOpen &&
185
+ !this._target.contains(el) &&
186
+ !this._overlayRef?.overlayElement?.contains(el)) {
187
+ this.close();
188
+ }
189
+ });
190
+ //
191
+ this._overlayEvents.scroll = this._platform.scroll.subscribe((c) => {
192
+ const el = c.nativeEvent.target;
193
+ if (this.isOpen &&
194
+ el?.closest &&
195
+ !el.closest('.ax-overlay-pane') &&
196
+ !this._target.contains(el) &&
197
+ !this._overlayRef?.overlayElement?.contains(el)) {
198
+ this.close();
199
+ }
200
+ });
201
+ });
202
+ }
203
+ removeOverlayEvents() {
204
+ this._overlayRef?.overlayElement.removeEventListener('mouseenter', this._handleMouseEnter.bind(this));
205
+ this._overlayRef?.overlayElement.addEventListener('mouseleave', this._handleMouseLeave.bind(this));
206
+ Object.entries(this._overlayEvents).forEach((e) => {
207
+ e[1].unsubscribe();
195
208
  });
196
209
  }
210
+ //
197
211
  toggle() {
198
212
  this.isOpen ? this.close() : this.open();
199
213
  }
@@ -203,124 +217,144 @@ class AXPopoverComponent extends MXInteractiveComponent {
203
217
  return;
204
218
  }
205
219
  this._overlayRef?.detach();
220
+ this.restoreFocus();
206
221
  this._emitOnClosedEvent();
207
- //
208
- if (this._lastActiveElement?.focus) {
209
- this._lastActiveElement.focus();
210
- }
211
- }
212
- dispose() {
213
- this.close();
214
- this._overlayRef?.dispose();
215
- this._overlayRef = null;
216
222
  }
217
223
  //
218
224
  open() {
219
225
  if (this.isOpen) {
220
226
  return;
221
227
  }
222
- this._lastActiveElement = document.activeElement;
223
- this._ensureOverlayCreated();
224
- this._overlayRef?.attach(this._templatePortal);
228
+ this.saveFocus();
229
+ this.openOverlayInternal();
225
230
  this._emitOnOpenedEvent();
226
231
  }
227
- _ensureOverlayCreated() {
232
+ saveFocus() {
233
+ this._lastActiveElement = document.activeElement;
234
+ }
235
+ restoreFocus() {
236
+ if (this._lastActiveElement?.focus) {
237
+ this._lastActiveElement.focus();
238
+ }
239
+ }
240
+ openOverlayInternal() {
228
241
  const targetRef = this._target;
229
242
  if (!targetRef)
230
243
  return;
231
- if (!this._overlayRef) {
232
- if (this._platform.is('SM') && this.adaptivityEnabled) {
233
- this._openAsActionsheet();
234
- }
235
- else {
236
- this._openAsPopover(targetRef);
237
- }
238
- if (this.closeTrigger == 'clickout') {
239
- this._addSub(this._overlayRef._outsidePointerEvents.subscribe(c => {
240
- const target = c.target;
241
- const comElem = targetRef;
242
- if (!comElem.contains(target)) {
243
- this.close();
244
- }
245
- }));
246
- }
247
- this._addSub(this._overlayRef.attachments().subscribe(() => {
248
- if (!this._isScrollAttached) {
249
- this._addSub(this._platform.scroll.subscribe(c => {
250
- try {
251
- if (!c.nativeEvent.target?.closest('.ax-overlay-pane'))
252
- this.close();
253
- }
254
- catch (error) { }
255
- }));
256
- this._isScrollAttached = true;
257
- }
258
- }));
244
+ //if (!this._overlayRef) {
245
+ if (this._platform.is('SM') && this.adaptivityEnabled) {
246
+ this._overlayRef = this._overlay.create({
247
+ positionStrategy: this._overlay.position().global().bottom().centerHorizontally(),
248
+ disposeOnNavigation: true,
249
+ scrollStrategy: this._overlay.scrollStrategies.block(),
250
+ panelClass: ['ax-actionsheet-base', 'ax-animate-slideInUp', 'ax-animate-faster'],
251
+ hasBackdrop: true,
252
+ width: '100%',
253
+ });
254
+ }
255
+ else {
256
+ this._overlayRef = this._overlay.create({
257
+ positionStrategy: this._overlay
258
+ .position()
259
+ .flexibleConnectedTo(targetRef)
260
+ .withPositions(this._placements)
261
+ .withPush(false),
262
+ scrollStrategy: this._overlay.scrollStrategies.close(),
263
+ disposeOnNavigation: true,
264
+ panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],
265
+ maxHeight: 'unset',
266
+ hasBackdrop: this.hasBackdrop,
267
+ backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],
268
+ });
269
+ }
270
+ //
271
+ this.bindOverlayEvents();
272
+ //}
273
+ //
274
+ if (this.content instanceof TemplateRef) {
275
+ this._portal = new TemplatePortal(this.content, this.getViewContainer(), {
276
+ $implicit: this.context,
277
+ ref: this,
278
+ });
279
+ this._overlayRef?.attach(this._portal);
280
+ }
281
+ else if (typeof this.content === 'function') {
282
+ this._portal = new ComponentPortal(this.content);
283
+ this._componentRef = this._overlayRef?.attach(this._portal);
284
+ Object.assign(this._componentRef.instance, this.context);
259
285
  }
260
- if (!this._templatePortal) {
261
- this._templatePortal = new TemplatePortal(this._baseTemplate, this.getViewContainer());
286
+ else {
287
+ this._portal = new TemplatePortal(this._baseTemplate, this.getViewContainer(), {
288
+ $implicit: this.context,
289
+ ref: this,
290
+ });
291
+ this._overlayRef?.attach(this._portal);
262
292
  }
263
293
  }
264
- _openAsPopover(targetRef) {
265
- this._overlayRef = this._overlay.create({
266
- positionStrategy: this._overlay
294
+ get isOpen() {
295
+ return this._overlayRef ? this._overlayRef.hasAttached() : false;
296
+ }
297
+ updatePositionStrategy() {
298
+ const targetRef = this._target;
299
+ if (!targetRef)
300
+ return;
301
+ let strategy;
302
+ if (this._platform.is('SM') && this.adaptivityEnabled) {
303
+ strategy = this._overlay.position().global().bottom().centerHorizontally();
304
+ }
305
+ else {
306
+ strategy = this._overlay
267
307
  .position()
268
308
  .flexibleConnectedTo(targetRef)
269
- .withPositions(Array.isArray(this.position) ? this.position : [this.position])
270
- .withPush(false),
271
- scrollStrategy: this._overlay.scrollStrategies.reposition(),
272
- disposeOnNavigation: true,
273
- panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],
274
- maxHeight: 'unset',
275
- hasBackdrop: this.hasBackdrop,
276
- backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],
277
- });
309
+ .withPositions(this._placements)
310
+ .withPush(false);
311
+ }
312
+ this._overlayRef?.updatePositionStrategy(strategy);
278
313
  }
279
- _openAsActionsheet() {
280
- this._overlayRef = this._overlay.create({
281
- positionStrategy: this._overlay
282
- .position()
283
- .flexibleConnectedTo(document.body)
284
- .withPositions([
285
- {
286
- originX: 'center',
287
- originY: 'bottom',
288
- overlayX: 'center',
289
- overlayY: 'bottom',
290
- },
291
- ]),
292
- disposeOnNavigation: true,
293
- panelClass: ['ax-animate-slideInUp', 'ax-animate-faster'],
294
- hasBackdrop: true,
295
- width: '100%',
314
+ updateOffset() {
315
+ this._placements?.forEach((p) => {
316
+ if (this.offsetY != null)
317
+ p.offsetY = this.offsetY;
318
+ if (this.offsetX != null)
319
+ p.offsetX = this.offsetX;
296
320
  });
297
321
  }
298
- get isOpen() {
299
- return this._overlayRef ? this._overlayRef.hasAttached() : false;
300
- }
301
- _addSub(sub) {
302
- this._subs.push(sub);
303
- }
304
322
  updatePosition() {
305
323
  this._overlayRef?.updatePosition();
306
324
  this.focus();
307
325
  }
308
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
309
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", 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>\n <ng-content></ng-content>\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
326
+ focus() {
327
+ //TODO: need this??
328
+ }
329
+ //
330
+ ngOnDestroy() {
331
+ this.removeTargetEvents();
332
+ this.removeOverlayEvents();
333
+ this._overlayRef?.detach();
334
+ this._overlayRef?.dispose();
335
+ }
336
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
337
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXPopoverComponent, selector: "ax-popover", inputs: { offsetX: "offsetX", offsetY: "offsetY", target: "target", placement: "placement", content: "content", openOn: "openOn", closeOn: "closeOn", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, providers: [{ provide: AXFocusableComponent, useExisting: AXPopoverComponent }], viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
310
338
  }
311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverComponent, decorators: [{
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXPopoverComponent, decorators: [{
312
340
  type: Component,
313
- args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>" }]
314
- }], propDecorators: { target: [{
341
+ args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXFocusableComponent, useExisting: AXPopoverComponent }], template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>" }]
342
+ }], propDecorators: { offsetX: [{
315
343
  type: Input
316
- }], position: [{
344
+ }], offsetY: [{
345
+ type: Input
346
+ }], target: [{
347
+ type: Input
348
+ }], placement: [{
317
349
  type: Input
318
350
  }], _baseTemplate: [{
319
351
  type: ViewChild,
320
352
  args: ['baseTemplate']
321
- }], openTrigger: [{
353
+ }], content: [{
354
+ type: Input
355
+ }], openOn: [{
322
356
  type: Input
323
- }], closeTrigger: [{
357
+ }], closeOn: [{
324
358
  type: Input
325
359
  }], hasBackdrop: [{
326
360
  type: Input
@@ -335,11 +369,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
335
369
  }] } });
336
370
 
337
371
  class AXPopoverModule {
338
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
339
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverModule, declarations: [AXPopoverComponent], imports: [CommonModule], exports: [AXPopoverComponent] }); }
340
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverModule, imports: [CommonModule] }); }
372
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
373
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.9", ngImport: i0, type: AXPopoverModule, declarations: [AXPopoverComponent], imports: [CommonModule], exports: [AXPopoverComponent] }); }
374
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXPopoverModule, imports: [CommonModule] }); }
341
375
  }
342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXPopoverModule, decorators: [{
376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXPopoverModule, decorators: [{
343
377
  type: NgModule,
344
378
  args: [{
345
379
  declarations: [AXPopoverComponent],
@@ -353,5 +387,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
353
387
  * Generated bundle index. Do not edit.
354
388
  */
355
389
 
356
- export { AXPopoverComponent, AXPopoverModule, MXDropDownComponent };
390
+ export { AXPopoverComponent, AXPopoverModule };
357
391
  //# sourceMappingURL=acorex-components-popover.mjs.map