@acorex/components 21.0.1-next.8 → 21.0.1-next.81

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 (340) hide show
  1. package/conversation2/README.md +71 -31
  2. package/fab/README.md +3 -0
  3. package/fesm2022/acorex-components-accordion.mjs +19 -22
  4. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  5. package/fesm2022/acorex-components-action-sheet.mjs +284 -118
  6. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  7. package/fesm2022/acorex-components-alert.mjs +13 -13
  8. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  9. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  10. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  11. package/fesm2022/acorex-components-audio-wave.mjs +11 -10
  12. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  13. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  14. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  15. package/fesm2022/acorex-components-avatar.mjs +12 -12
  16. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  17. package/fesm2022/acorex-components-badge.mjs +9 -9
  18. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  19. package/fesm2022/acorex-components-bottom-navigation.mjs +11 -11
  20. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  21. package/fesm2022/acorex-components-breadcrumbs.mjs +11 -11
  22. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  23. package/fesm2022/acorex-components-button-group.mjs +39 -24
  24. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  25. package/fesm2022/acorex-components-button.mjs +18 -18
  26. package/fesm2022/acorex-components-button.mjs.map +1 -1
  27. package/fesm2022/acorex-components-calendar.mjs +17 -17
  28. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  29. package/fesm2022/acorex-components-check-box.mjs +10 -10
  30. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  31. package/fesm2022/acorex-components-chips.mjs +12 -14
  32. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  33. package/fesm2022/acorex-components-circular-progress.mjs +12 -10
  34. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  35. package/fesm2022/acorex-components-code-editor.mjs +13 -13
  36. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  37. package/fesm2022/acorex-components-collapse.mjs +22 -19
  38. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  39. package/fesm2022/acorex-components-color-box.mjs +9 -9
  40. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  41. package/fesm2022/acorex-components-color-palette.mjs +33 -38
  42. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  43. package/fesm2022/acorex-components-command.mjs +31 -14
  44. package/fesm2022/acorex-components-command.mjs.map +1 -1
  45. package/fesm2022/acorex-components-comment.mjs +94 -91
  46. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  47. package/fesm2022/acorex-components-conversation.mjs +52 -52
  48. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  49. package/fesm2022/acorex-components-conversation2.mjs +5147 -3762
  50. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  51. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  52. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  53. package/fesm2022/acorex-components-data-list.mjs +4 -4
  54. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  55. package/fesm2022/acorex-components-data-pager.mjs +33 -33
  56. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  57. package/fesm2022/acorex-components-data-table.mjs +125 -492
  58. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  59. package/fesm2022/acorex-components-datetime-box.mjs +9 -10
  60. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  61. package/fesm2022/acorex-components-datetime-input.mjs +12 -12
  62. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  63. package/fesm2022/acorex-components-datetime-picker.mjs +19 -17
  64. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  65. package/fesm2022/acorex-components-decorators.mjs +44 -37
  66. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  67. package/fesm2022/acorex-components-dialog.mjs +75 -54
  68. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  69. package/fesm2022/acorex-components-drawer-legacy.mjs +13 -13
  70. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -1
  71. package/fesm2022/acorex-components-drawer.mjs +15 -16
  72. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  73. package/fesm2022/acorex-components-dropdown-button.mjs +19 -11
  74. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  75. package/fesm2022/acorex-components-dropdown.mjs +28 -57
  76. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  77. package/fesm2022/acorex-components-editor.mjs +11 -11
  78. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  79. package/fesm2022/acorex-components-fab.mjs +114 -0
  80. package/fesm2022/acorex-components-fab.mjs.map +1 -0
  81. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  82. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  83. package/fesm2022/acorex-components-flow-chart.mjs +16 -16
  84. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  85. package/fesm2022/acorex-components-form.mjs +49 -43
  86. package/fesm2022/acorex-components-form.mjs.map +1 -1
  87. package/fesm2022/acorex-components-grid-layout-builder.mjs +44 -23
  88. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  89. package/fesm2022/acorex-components-image-editor.mjs +44 -44
  90. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  91. package/fesm2022/acorex-components-image.mjs +9 -9
  92. package/fesm2022/acorex-components-image.mjs.map +1 -1
  93. package/fesm2022/acorex-components-json-viewer.mjs +8 -8
  94. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  95. package/fesm2022/acorex-components-kanban.mjs +16 -12
  96. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  97. package/fesm2022/acorex-components-kbd.mjs +29 -11
  98. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  99. package/fesm2022/acorex-components-label.mjs +9 -9
  100. package/fesm2022/acorex-components-label.mjs.map +1 -1
  101. package/fesm2022/acorex-components-list.mjs +69 -21
  102. package/fesm2022/acorex-components-list.mjs.map +1 -1
  103. package/fesm2022/acorex-components-loading-dialog.mjs +82 -45
  104. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  105. package/fesm2022/acorex-components-loading.mjs +92 -52
  106. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  107. package/fesm2022/acorex-components-map.mjs +14 -14
  108. package/fesm2022/acorex-components-map.mjs.map +1 -1
  109. package/fesm2022/acorex-components-media-viewer.mjs +294 -92
  110. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  111. package/fesm2022/acorex-components-menu.mjs +78 -37
  112. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  113. package/fesm2022/{acorex-components-modal-acorex-components-modal-CXXcFToK.mjs → acorex-components-modal-acorex-components-modal-DWNqU6or.mjs} +48 -24
  114. package/fesm2022/acorex-components-modal-acorex-components-modal-DWNqU6or.mjs.map +1 -0
  115. package/fesm2022/acorex-components-modal-modal-content.component-DplJbJyk.mjs +214 -0
  116. package/fesm2022/acorex-components-modal-modal-content.component-DplJbJyk.mjs.map +1 -0
  117. package/fesm2022/acorex-components-modal.mjs +1 -1
  118. package/fesm2022/acorex-components-navbar.mjs +9 -9
  119. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  120. package/fesm2022/acorex-components-notification.mjs +381 -260
  121. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  122. package/fesm2022/acorex-components-number-box-legacy.mjs +9 -9
  123. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -1
  124. package/fesm2022/acorex-components-number-box.mjs +45 -26
  125. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  126. package/fesm2022/acorex-components-otp.mjs +9 -9
  127. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  128. package/fesm2022/acorex-components-page.mjs +10 -10
  129. package/fesm2022/acorex-components-page.mjs.map +1 -1
  130. package/fesm2022/acorex-components-paint.mjs +55 -39
  131. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  132. package/fesm2022/acorex-components-password-box.mjs +13 -13
  133. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  134. package/fesm2022/acorex-components-pdf-reader.mjs +8 -8
  135. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  136. package/fesm2022/acorex-components-phone-box.mjs +88 -41
  137. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  138. package/fesm2022/acorex-components-picker.mjs +24 -23
  139. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  140. package/fesm2022/acorex-components-popover.mjs +255 -202
  141. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  142. package/fesm2022/acorex-components-popup.mjs +309 -113
  143. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  144. package/fesm2022/acorex-components-progress-bar.mjs +11 -9
  145. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/acorex-components-qrcode.mjs +9 -9
  147. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  148. package/fesm2022/acorex-components-query-builder.mjs +8 -8
  149. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  150. package/fesm2022/acorex-components-radio.mjs +10 -9
  151. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  152. package/fesm2022/acorex-components-rail-navigation.mjs +38 -36
  153. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  154. package/fesm2022/acorex-components-range-slider.mjs +10 -10
  155. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  156. package/fesm2022/acorex-components-rate-picker.mjs +20 -35
  157. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  158. package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
  159. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  160. package/fesm2022/acorex-components-result.mjs +8 -8
  161. package/fesm2022/acorex-components-result.mjs.map +1 -1
  162. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  163. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  164. package/fesm2022/acorex-components-rrule.mjs +9 -9
  165. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  166. package/fesm2022/acorex-components-scheduler-picker.mjs +56 -56
  167. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  168. package/fesm2022/acorex-components-scheduler.mjs +159 -83
  169. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  170. package/fesm2022/acorex-components-scss.mjs +4 -4
  171. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  172. package/fesm2022/acorex-components-search-box.mjs +16 -10
  173. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  174. package/fesm2022/acorex-components-select-box.mjs +11 -9
  175. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  176. package/fesm2022/acorex-components-selection-list-2.mjs +11 -11
  177. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  178. package/fesm2022/acorex-components-selection-list.mjs +9 -9
  179. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  180. package/fesm2022/acorex-components-side-menu.mjs +81 -24
  181. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  182. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  183. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  184. package/fesm2022/acorex-components-slider.mjs +12 -12
  185. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  186. package/fesm2022/acorex-components-sliding-item.mjs +16 -16
  187. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  188. package/fesm2022/acorex-components-step-wizard.mjs +14 -14
  189. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  190. package/fesm2022/acorex-components-switch.mjs +14 -14
  191. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  192. package/fesm2022/acorex-components-tabs.mjs +15 -15
  193. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  194. package/fesm2022/acorex-components-tag-box.mjs +9 -9
  195. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  196. package/fesm2022/acorex-components-tag.mjs +9 -9
  197. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  198. package/fesm2022/acorex-components-text-area.mjs +9 -9
  199. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  200. package/fesm2022/acorex-components-text-box.mjs +51 -129
  201. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  202. package/fesm2022/acorex-components-time-duration.mjs +39 -24
  203. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  204. package/fesm2022/acorex-components-time-line.mjs +12 -12
  205. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  206. package/fesm2022/acorex-components-toast.mjs +239 -131
  207. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  208. package/fesm2022/acorex-components-toolbar.mjs +9 -9
  209. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  210. package/fesm2022/acorex-components-tooltip.mjs +77 -66
  211. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  212. package/fesm2022/acorex-components-tree-view-legacy.mjs +16 -12
  213. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -1
  214. package/fesm2022/acorex-components-tree-view.mjs +32 -11
  215. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  216. package/fesm2022/acorex-components-uploader.mjs +16 -16
  217. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  218. package/fesm2022/acorex-components-video-player.mjs +8 -8
  219. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  220. package/fesm2022/acorex-components-wysiwyg.mjs +43 -43
  221. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  222. package/fesm2022/acorex-components.mjs.map +1 -1
  223. package/package.json +150 -155
  224. package/{accordion/index.d.ts → types/acorex-components-accordion.d.ts} +7 -4
  225. package/types/acorex-components-action-sheet.d.ts +256 -0
  226. package/{button-group/index.d.ts → types/acorex-components-button-group.d.ts} +14 -12
  227. package/{button/index.d.ts → types/acorex-components-button.d.ts} +3 -3
  228. package/{calendar/index.d.ts → types/acorex-components-calendar.d.ts} +1 -1
  229. package/{check-box/index.d.ts → types/acorex-components-check-box.d.ts} +1 -1
  230. package/{chips/index.d.ts → types/acorex-components-chips.d.ts} +3 -8
  231. package/{code-editor/index.d.ts → types/acorex-components-code-editor.d.ts} +1 -1
  232. package/{collapse/index.d.ts → types/acorex-components-collapse.d.ts} +4 -6
  233. package/{color-palette/index.d.ts → types/acorex-components-color-palette.d.ts} +1 -2
  234. package/{command/index.d.ts → types/acorex-components-command.d.ts} +35 -13
  235. package/{comment/index.d.ts → types/acorex-components-comment.d.ts} +23 -22
  236. package/{conversation/index.d.ts → types/acorex-components-conversation.d.ts} +1 -1
  237. package/{conversation2/index.d.ts → types/acorex-components-conversation2.d.ts} +3356 -3032
  238. package/{data-pager/index.d.ts → types/acorex-components-data-pager.d.ts} +1 -1
  239. package/{data-table/index.d.ts → types/acorex-components-data-table.d.ts} +26 -256
  240. package/{datetime-input/index.d.ts → types/acorex-components-datetime-input.d.ts} +1 -1
  241. package/{dialog/index.d.ts → types/acorex-components-dialog.d.ts} +18 -14
  242. package/{dropdown-button/index.d.ts → types/acorex-components-dropdown-button.d.ts} +4 -2
  243. package/{dropdown/index.d.ts → types/acorex-components-dropdown.d.ts} +5 -14
  244. package/types/acorex-components-fab.d.ts +50 -0
  245. package/{form/index.d.ts → types/acorex-components-form.d.ts} +3 -2
  246. package/{grid-layout-builder/index.d.ts → types/acorex-components-grid-layout-builder.d.ts} +16 -2
  247. package/{kanban/index.d.ts → types/acorex-components-kanban.d.ts} +1 -6
  248. package/types/acorex-components-kbd.d.ts +29 -0
  249. package/{list/index.d.ts → types/acorex-components-list.d.ts} +24 -2
  250. package/{loading-dialog/index.d.ts → types/acorex-components-loading-dialog.d.ts} +31 -15
  251. package/{loading/index.d.ts → types/acorex-components-loading.d.ts} +4 -2
  252. package/types/acorex-components-media-viewer.d.ts +184 -0
  253. package/{menu/index.d.ts → types/acorex-components-menu.d.ts} +13 -7
  254. package/{modal/index.d.ts → types/acorex-components-modal.d.ts} +7 -0
  255. package/{notification/index.d.ts → types/acorex-components-notification.d.ts} +47 -32
  256. package/{number-box/index.d.ts → types/acorex-components-number-box.d.ts} +3 -0
  257. package/{paint/index.d.ts → types/acorex-components-paint.d.ts} +7 -6
  258. package/{phone-box/index.d.ts → types/acorex-components-phone-box.d.ts} +13 -3
  259. package/{popover/index.d.ts → types/acorex-components-popover.d.ts} +46 -36
  260. package/types/acorex-components-popup.d.ts +193 -0
  261. package/{radio/index.d.ts → types/acorex-components-radio.d.ts} +1 -1
  262. package/{rate-picker/index.d.ts → types/acorex-components-rate-picker.d.ts} +5 -15
  263. package/{scheduler-picker/index.d.ts → types/acorex-components-scheduler-picker.d.ts} +82 -81
  264. package/{scheduler/index.d.ts → types/acorex-components-scheduler.d.ts} +46 -23
  265. package/{select-box/index.d.ts → types/acorex-components-select-box.d.ts} +7 -7
  266. package/{side-menu/index.d.ts → types/acorex-components-side-menu.d.ts} +10 -3
  267. package/{slider/index.d.ts → types/acorex-components-slider.d.ts} +2 -2
  268. package/{tabs/index.d.ts → types/acorex-components-tabs.d.ts} +1 -1
  269. package/{tag/index.d.ts → types/acorex-components-tag.d.ts} +3 -3
  270. package/types/acorex-components-text-box.d.ts +79 -0
  271. package/{time-duration/index.d.ts → types/acorex-components-time-duration.d.ts} +6 -4
  272. package/{toast/index.d.ts → types/acorex-components-toast.d.ts} +24 -18
  273. package/{tooltip/index.d.ts → types/acorex-components-tooltip.d.ts} +6 -9
  274. package/{tree-view-legacy/index.d.ts → types/acorex-components-tree-view-legacy.d.ts} +1 -0
  275. package/{tree-view/index.d.ts → types/acorex-components-tree-view.d.ts} +17 -0
  276. package/action-sheet/index.d.ts +0 -174
  277. package/fesm2022/acorex-components-modal-acorex-components-modal-CXXcFToK.mjs.map +0 -1
  278. package/fesm2022/acorex-components-modal-modal-content.component-B4rhHeEz.mjs +0 -212
  279. package/fesm2022/acorex-components-modal-modal-content.component-B4rhHeEz.mjs.map +0 -1
  280. package/kbd/index.d.ts +0 -23
  281. package/media-viewer/index.d.ts +0 -145
  282. package/popup/index.d.ts +0 -120
  283. package/text-box/index.d.ts +0 -95
  284. /package/{alert/index.d.ts → types/acorex-components-alert.d.ts} +0 -0
  285. /package/{aspect-ratio/index.d.ts → types/acorex-components-aspect-ratio.d.ts} +0 -0
  286. /package/{audio-wave/index.d.ts → types/acorex-components-audio-wave.d.ts} +0 -0
  287. /package/{autocomplete/index.d.ts → types/acorex-components-autocomplete.d.ts} +0 -0
  288. /package/{avatar/index.d.ts → types/acorex-components-avatar.d.ts} +0 -0
  289. /package/{badge/index.d.ts → types/acorex-components-badge.d.ts} +0 -0
  290. /package/{bottom-navigation/index.d.ts → types/acorex-components-bottom-navigation.d.ts} +0 -0
  291. /package/{breadcrumbs/index.d.ts → types/acorex-components-breadcrumbs.d.ts} +0 -0
  292. /package/{circular-progress/index.d.ts → types/acorex-components-circular-progress.d.ts} +0 -0
  293. /package/{color-box/index.d.ts → types/acorex-components-color-box.d.ts} +0 -0
  294. /package/{cron-job/index.d.ts → types/acorex-components-cron-job.d.ts} +0 -0
  295. /package/{data-list/index.d.ts → types/acorex-components-data-list.d.ts} +0 -0
  296. /package/{datetime-box/index.d.ts → types/acorex-components-datetime-box.d.ts} +0 -0
  297. /package/{datetime-picker/index.d.ts → types/acorex-components-datetime-picker.d.ts} +0 -0
  298. /package/{decorators/index.d.ts → types/acorex-components-decorators.d.ts} +0 -0
  299. /package/{drawer-legacy/index.d.ts → types/acorex-components-drawer-legacy.d.ts} +0 -0
  300. /package/{drawer/index.d.ts → types/acorex-components-drawer.d.ts} +0 -0
  301. /package/{editor/index.d.ts → types/acorex-components-editor.d.ts} +0 -0
  302. /package/{file-explorer/index.d.ts → types/acorex-components-file-explorer.d.ts} +0 -0
  303. /package/{flow-chart/index.d.ts → types/acorex-components-flow-chart.d.ts} +0 -0
  304. /package/{image-editor/index.d.ts → types/acorex-components-image-editor.d.ts} +0 -0
  305. /package/{image/index.d.ts → types/acorex-components-image.d.ts} +0 -0
  306. /package/{json-viewer/index.d.ts → types/acorex-components-json-viewer.d.ts} +0 -0
  307. /package/{label/index.d.ts → types/acorex-components-label.d.ts} +0 -0
  308. /package/{map/index.d.ts → types/acorex-components-map.d.ts} +0 -0
  309. /package/{navbar/index.d.ts → types/acorex-components-navbar.d.ts} +0 -0
  310. /package/{number-box-legacy/index.d.ts → types/acorex-components-number-box-legacy.d.ts} +0 -0
  311. /package/{otp/index.d.ts → types/acorex-components-otp.d.ts} +0 -0
  312. /package/{page/index.d.ts → types/acorex-components-page.d.ts} +0 -0
  313. /package/{password-box/index.d.ts → types/acorex-components-password-box.d.ts} +0 -0
  314. /package/{pdf-reader/index.d.ts → types/acorex-components-pdf-reader.d.ts} +0 -0
  315. /package/{picker/index.d.ts → types/acorex-components-picker.d.ts} +0 -0
  316. /package/{progress-bar/index.d.ts → types/acorex-components-progress-bar.d.ts} +0 -0
  317. /package/{qrcode/index.d.ts → types/acorex-components-qrcode.d.ts} +0 -0
  318. /package/{query-builder/index.d.ts → types/acorex-components-query-builder.d.ts} +0 -0
  319. /package/{rail-navigation/index.d.ts → types/acorex-components-rail-navigation.d.ts} +0 -0
  320. /package/{range-slider/index.d.ts → types/acorex-components-range-slider.d.ts} +0 -0
  321. /package/{rest-api-generator/index.d.ts → types/acorex-components-rest-api-generator.d.ts} +0 -0
  322. /package/{result/index.d.ts → types/acorex-components-result.d.ts} +0 -0
  323. /package/{routing-progress/index.d.ts → types/acorex-components-routing-progress.d.ts} +0 -0
  324. /package/{rrule/index.d.ts → types/acorex-components-rrule.d.ts} +0 -0
  325. /package/{scss/index.d.ts → types/acorex-components-scss.d.ts} +0 -0
  326. /package/{search-box/index.d.ts → types/acorex-components-search-box.d.ts} +0 -0
  327. /package/{selection-list-2/index.d.ts → types/acorex-components-selection-list-2.d.ts} +0 -0
  328. /package/{selection-list/index.d.ts → types/acorex-components-selection-list.d.ts} +0 -0
  329. /package/{skeleton/index.d.ts → types/acorex-components-skeleton.d.ts} +0 -0
  330. /package/{sliding-item/index.d.ts → types/acorex-components-sliding-item.d.ts} +0 -0
  331. /package/{step-wizard/index.d.ts → types/acorex-components-step-wizard.d.ts} +0 -0
  332. /package/{switch/index.d.ts → types/acorex-components-switch.d.ts} +0 -0
  333. /package/{tag-box/index.d.ts → types/acorex-components-tag-box.d.ts} +0 -0
  334. /package/{text-area/index.d.ts → types/acorex-components-text-area.d.ts} +0 -0
  335. /package/{time-line/index.d.ts → types/acorex-components-time-line.d.ts} +0 -0
  336. /package/{toolbar/index.d.ts → types/acorex-components-toolbar.d.ts} +0 -0
  337. /package/{uploader/index.d.ts → types/acorex-components-uploader.d.ts} +0 -0
  338. /package/{video-player/index.d.ts → types/acorex-components-video-player.d.ts} +0 -0
  339. /package/{wysiwyg/index.d.ts → types/acorex-components-wysiwyg.d.ts} +0 -0
  340. /package/{index.d.ts → types/acorex-components.d.ts} +0 -0
@@ -1,12 +1,11 @@
1
1
  import { MXBaseComponent, convertToPlacement, AXFocusableComponent, AXComponent } from '@acorex/cdk/common';
2
+ import { AXOverlayService } from '@acorex/cdk/overlay';
2
3
  import { AXPlatform } from '@acorex/core/platform';
3
- import { AXHtmlUtil } from '@acorex/core/utils';
4
- import { Overlay } from '@angular/cdk/overlay';
5
- import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
4
+ import { AXTranslationService } from '@acorex/core/translation';
6
5
  import { isPlatformBrowser, CommonModule } from '@angular/common';
7
6
  import * as i0 from '@angular/core';
8
- import { inject, DOCUMENT, PLATFORM_ID, Renderer2, input, EventEmitter, ElementRef, TemplateRef, Output, Input, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
9
- import { Subject, fromEvent, delay, debounceTime } from 'rxjs';
7
+ import { inject, DOCUMENT, PLATFORM_ID, input, afterNextRender, EventEmitter, ElementRef, TemplateRef, Output, Input, ViewChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
8
+ import { Subject, fromEvent, delay } from 'rxjs';
10
9
 
11
10
  /**
12
11
  * @category Components
@@ -15,45 +14,67 @@ import { Subject, fromEvent, delay, debounceTime } from 'rxjs';
15
14
  class AXPopoverComponent extends MXBaseComponent {
16
15
  constructor() {
17
16
  super(...arguments);
18
- this.#platform = inject(AXPlatform);
17
+ this.platform = inject(AXPlatform);
19
18
  this.document = inject(DOCUMENT);
20
19
  this.platformID = inject(PLATFORM_ID);
21
- this.renderer = inject(Renderer2);
22
- this.onKeyDownListenerFn = () => undefined;
20
+ this.overlayService = inject(AXOverlayService);
21
+ this.onKeyDownHandler = null;
23
22
  /** @ignore */
24
- this._platform = inject(AXPlatform);
23
+ this._overlayRef = null;
25
24
  /** @ignore */
26
- this._overlay = inject(Overlay);
25
+ this._lastActiveElement = null;
27
26
  /** @ignore */
28
- this._isMouseOverButton = false;
27
+ this._targetEvents = {};
29
28
  /** @ignore */
30
- this._isMouseOverTooltip = false;
29
+ this._outsideClickHandler = null;
31
30
  /** @ignore */
32
- this._targetEvents = {};
31
+ this._scrollHandler = null;
33
32
  /** @ignore */
34
- this._overlayEvents = {};
33
+ this._scrollListenerActive = false;
34
+ /** @ignore */
35
+ this.resizeObserver = null;
35
36
  /** @ignore */
36
37
  this.resize$ = new Subject();
37
- //
38
38
  /** @ignore */
39
39
  this._disabled = false;
40
- this.width = input('auto', ...(ngDevMode ? [{ debugName: "width" }] : []));
40
+ this.width = input('fit-content', ...(ngDevMode ? [{ debugName: "width" }] : []));
41
+ this.disablePanelClass = input(false, ...(ngDevMode ? [{ debugName: "disablePanelClass" }] : []));
42
+ this.translateService = inject(AXTranslationService);
43
+ this.#init = afterNextRender(() => {
44
+ const lang = this.translateService.getActiveLang();
45
+ let defaultPlacementDirection;
46
+ if (lang === 'en-US') {
47
+ defaultPlacementDirection = 'bottom-start';
48
+ }
49
+ else {
50
+ defaultPlacementDirection = 'bottom-end';
51
+ }
52
+ if (!this.placement)
53
+ this.placement = defaultPlacementDirection;
54
+ const converted = this.placement
55
+ ? convertToPlacement(this.placement)
56
+ : convertToPlacement(defaultPlacementDirection);
57
+ this._placements = converted;
58
+ this.resize$.subscribe(() => {
59
+ if (this.isOpen) {
60
+ this.updatePosition();
61
+ }
62
+ });
63
+ });
41
64
  /** @ignore */
42
65
  this._offsetX = 0;
43
- //
44
66
  /** @ignore */
45
67
  this._offsetY = 0;
46
68
  /** @ignore */
47
- this._defautPlacements = convertToPlacement('bottom-start');
69
+ this._placements = [];
48
70
  /** @ignore */
49
- this._placements = [...this._defautPlacements];
71
+ this._placement = null;
50
72
  /** @ignore */
51
- this._placement = this._placements;
73
+ this._componentRef = null;
52
74
  /** @ignore */
53
75
  this._openOn = 'toggle';
54
76
  /** @ignore */
55
77
  this._closeOn = 'clickOut';
56
- //
57
78
  /**
58
79
  * Determines if a backdrop should be displayed behind the popover.
59
80
  */
@@ -61,16 +82,19 @@ class AXPopoverComponent extends MXBaseComponent {
61
82
  /**
62
83
  * Delay in milliseconds before the popover opens after a trigger event.
63
84
  */
64
- this.openAfter = 200;
85
+ this._openAfter = 200;
65
86
  /**
66
87
  * Delay in milliseconds before the popover closes after a trigger event.
67
88
  */
68
- this.closeAfter = 200;
89
+ this._closeAfter = 200;
90
+ /**
91
+ * Whether to update the popover position when scrolling.
92
+ */
93
+ this.repositionOnScroll = true;
69
94
  /**
70
95
  * Enables or disables adaptivity.
71
96
  */
72
97
  this.adaptivityEnabled = false;
73
- //
74
98
  /**
75
99
  * Emits when the component is opened.
76
100
  * @event
@@ -82,7 +106,7 @@ class AXPopoverComponent extends MXBaseComponent {
82
106
  */
83
107
  this.onClosed = new EventEmitter();
84
108
  }
85
- #platform;
109
+ #init;
86
110
  /**
87
111
  * Gets or sets whether the popover is disabled.
88
112
  * When disabled, the popover will not open and will close if already open.
@@ -149,7 +173,6 @@ class AXPopoverComponent extends MXBaseComponent {
149
173
  this._target = v.nativeElement;
150
174
  else if (typeof v?.getHostElement == 'function')
151
175
  this._target = v.getHostElement();
152
- //
153
176
  this.bindTargetEvents();
154
177
  }
155
178
  /**
@@ -166,10 +189,14 @@ class AXPopoverComponent extends MXBaseComponent {
166
189
  name: 'placement',
167
190
  value: v,
168
191
  afterCallback: (o, n) => {
192
+ if (!n)
193
+ return;
169
194
  const converted = convertToPlacement(n);
170
- this._placements = converted.length ? converted : this._defautPlacements;
195
+ this._placements = converted;
171
196
  this.updateOffset();
172
- this.updatePositionStrategy();
197
+ if (this._overlayRef) {
198
+ this._overlayRef.updatePosition();
199
+ }
173
200
  },
174
201
  });
175
202
  }
@@ -205,7 +232,6 @@ class AXPopoverComponent extends MXBaseComponent {
205
232
  }
206
233
  /**
207
234
  * Sets the trigger for closing the popover and rebinds target events.
208
- * @param v
209
235
  */
210
236
  set closeOn(v) {
211
237
  this.setOption({
@@ -216,6 +242,20 @@ class AXPopoverComponent extends MXBaseComponent {
216
242
  },
217
243
  });
218
244
  }
245
+ get openAfter() {
246
+ return this._openAfter;
247
+ }
248
+ set openAfter(value) {
249
+ this._openAfter = value;
250
+ this.bindTargetEvents();
251
+ }
252
+ get closeAfter() {
253
+ return this._closeAfter;
254
+ }
255
+ set closeAfter(value) {
256
+ this._closeAfter = value;
257
+ this.bindTargetEvents();
258
+ }
219
259
  /** @ignore */
220
260
  _emitOnOpenedEvent() {
221
261
  this.onOpened.emit({
@@ -230,25 +270,12 @@ class AXPopoverComponent extends MXBaseComponent {
230
270
  htmlElement: this.getHostElement(),
231
271
  });
232
272
  }
233
- //
234
- /** @ignore */
235
- _handleMouseEnter(e) {
236
- this._isMouseOverTooltip = true;
237
- }
238
- /** @ignore */
239
- _handleMouseLeave(e) {
240
- this._isMouseOverTooltip = false;
241
- setTimeout(() => {
242
- if (!this._isMouseOverButton && this.closeOn == 'leave') {
243
- this.close();
244
- }
245
- }, 250);
246
- }
247
273
  /** @ignore */
248
274
  removeTargetEvents() {
249
275
  Object.entries(this._targetEvents).forEach((e) => {
250
- e[1].unsubscribe();
276
+ e[1]?.unsubscribe();
251
277
  });
278
+ this._targetEvents = {};
252
279
  }
253
280
  /** @ignore */
254
281
  bindTargetEvents() {
@@ -257,84 +284,126 @@ class AXPopoverComponent extends MXBaseComponent {
257
284
  return;
258
285
  const targetMouseEnter$ = fromEvent(this._target, 'mouseenter');
259
286
  const targetMouseLeave$ = fromEvent(this._target, 'mouseleave');
260
- if (this.openOn == 'hover') {
287
+ if (this.openOn === 'hover') {
261
288
  this._targetEvents.mouseenter = targetMouseEnter$.pipe(delay(this.openAfter)).subscribe(() => {
262
- this._isMouseOverButton = true;
263
289
  this.open();
264
290
  });
265
291
  }
266
- if (this.closeOn == 'leave') {
292
+ if (this.closeOn === 'leave') {
267
293
  this._targetEvents.mouseleave = targetMouseLeave$.pipe(delay(this.closeAfter)).subscribe(() => {
268
- this._isMouseOverButton = false;
269
- if (!this._isMouseOverTooltip) {
270
- this.close();
271
- }
294
+ this.close();
272
295
  });
273
296
  }
274
297
  if (this.openOn === 'click' || this.openOn === 'toggle') {
275
298
  const click$ = fromEvent(this._target, 'click');
276
- this._targetEvents.click = click$.subscribe((e) => {
277
- this.openOn == 'toggle' ? this.toggle() : this.open();
299
+ this._targetEvents.click = click$.subscribe(() => {
300
+ this.openOn === 'toggle' ? this.toggle() : this.open();
278
301
  });
279
302
  }
280
303
  }
281
- //
282
304
  /** @ignore */
283
305
  bindOverlayEvents() {
284
- this.removeOverlayEvents();
285
- this._overlayEvents.attach = this._overlayRef.attachments().subscribe(() => {
286
- this.initializeResizeObserver();
287
- if (this.openOn == 'hover') {
288
- this._overlayRef?.overlayElement?.addEventListener('mouseenter', this._handleMouseEnter.bind(this));
289
- }
290
- if (this.closeOn == 'leave') {
291
- this._overlayRef?.overlayElement?.addEventListener('mouseleave', this._handleMouseLeave.bind(this));
292
- }
293
- //
294
- this._overlayEvents.outside = this._overlayRef._outsidePointerEvents.subscribe((e) => {
306
+ const overlayElement = this._overlayRef?.overlayElement;
307
+ if (!overlayElement)
308
+ return;
309
+ overlayElement.style.pointerEvents = 'none';
310
+ // Outside click handler
311
+ if (this.closeOn === 'clickOut') {
312
+ this._outsideClickHandler = (e) => {
295
313
  const el = e.target;
296
- if (this.closeOn == 'clickOut' &&
297
- this.isOpen &&
298
- !this._target.contains(el) &&
299
- !this._overlayRef?.overlayElement?.contains(el)) {
300
- this.close();
301
- }
302
- });
303
- //
304
- this._overlayEvents.scroll = this._platform.scroll.subscribe((c) => {
305
- //__axContext__
306
- const el = c.nativeEvent.target;
307
- if (!this.isActionsheetStyle && isPlatformBrowser(this.platformID)) {
308
- if (el == this.document) {
309
- this.close();
314
+ if (this.isOpen && !this._target?.contains(el) && !overlayElement?.contains(el)) {
315
+ // Check if the click is inside a child overlay (e.g., selectbox dropdown)
316
+ // Child overlays have a higher z-index than this popover
317
+ if (this.isClickInsideChildOverlay(el)) {
310
318
  return;
311
319
  }
312
- if (el?.closest &&
313
- !el.closest('.ax-overlay-pane') &&
314
- !this._target.contains(el) &&
315
- !this._overlayRef?.overlayElement?.contains(el)) {
316
- this.close();
317
- }
320
+ this.close();
318
321
  }
319
- });
320
- });
322
+ };
323
+ this.document.addEventListener('mousedown', this._outsideClickHandler);
324
+ }
325
+ // Scroll listener to close on scroll
326
+ this.setupScrollListener();
327
+ // Resize observer
328
+ this.initializeResizeObserver();
329
+ setTimeout(() => {
330
+ overlayElement.style.pointerEvents = 'auto';
331
+ }, this.openAfter);
321
332
  }
322
333
  /** @ignore */
323
334
  removeOverlayEvents() {
324
- this._overlayRef?.overlayElement?.removeEventListener('mouseenter', this._handleMouseEnter.bind(this));
325
- this._overlayRef?.overlayElement?.addEventListener('mouseleave', this._handleMouseLeave.bind(this));
326
- Object.entries(this._overlayEvents).forEach((e) => {
327
- e[1].unsubscribe();
335
+ if (this._outsideClickHandler) {
336
+ this.document.removeEventListener('mousedown', this._outsideClickHandler);
337
+ this._outsideClickHandler = null;
338
+ }
339
+ this.removeScrollListener();
340
+ }
341
+ /** @ignore */
342
+ setupScrollListener() {
343
+ if (!this.repositionOnScroll || !isPlatformBrowser(this.platformID)) {
344
+ return;
345
+ }
346
+ this._scrollHandler = () => {
347
+ // Ignore scroll events during initial setup
348
+ if (!this._scrollListenerActive) {
349
+ return;
350
+ }
351
+ // Update popover position to follow the anchor element
352
+ this._overlayRef?.updatePosition();
353
+ };
354
+ // Listen on document with capture to catch all scroll events
355
+ this.document.addEventListener('scroll', this._scrollHandler, true);
356
+ window.addEventListener('scroll', this._scrollHandler, true);
357
+ // Delay activation to prevent initial layout scroll events from triggering
358
+ requestAnimationFrame(() => {
359
+ this._scrollListenerActive = true;
328
360
  });
329
361
  }
330
- //
362
+ /** @ignore */
363
+ removeScrollListener() {
364
+ if (this._scrollHandler) {
365
+ this.document.removeEventListener('scroll', this._scrollHandler, true);
366
+ window.removeEventListener('scroll', this._scrollHandler, true);
367
+ this._scrollHandler = null;
368
+ }
369
+ this._scrollListenerActive = false;
370
+ }
371
+ /**
372
+ * Checks if the clicked element is inside a child overlay (e.g., selectbox dropdown).
373
+ * Child overlays are identified by having a higher z-index than this popover's overlay.
374
+ * @ignore
375
+ */
376
+ isClickInsideChildOverlay(element) {
377
+ const overlayElement = this._overlayRef?.overlayElement;
378
+ if (!overlayElement)
379
+ return false;
380
+ // Find if the clicked element is inside any overlay container
381
+ const clickedOverlay = element.closest('.ax-overlay-container');
382
+ if (!clickedOverlay)
383
+ return false;
384
+ // Get z-index values
385
+ const popoverZIndex = parseInt(overlayElement.style.zIndex || '0', 10);
386
+ const clickedZIndex = parseInt(clickedOverlay.style.zIndex || '0', 10);
387
+ // If the clicked overlay has a higher z-index, it's a child overlay
388
+ return clickedZIndex > popoverZIndex;
389
+ }
390
+ /** @ignore */
391
+ handleOverlayDisposed() {
392
+ // Called when overlay is disposed externally (e.g., by scroll)
393
+ this.disconnectResizeObserver();
394
+ this.removeOverlayEvents();
395
+ this.removeKeyDownListener();
396
+ this._overlayRef = null;
397
+ this._componentRef = null;
398
+ this.restoreFocus();
399
+ this._emitOnClosedEvent();
400
+ }
331
401
  /**
332
402
  * Toggles the component's open state.
333
403
  */
334
404
  toggle() {
335
405
  this.isOpen ? this.close() : this.open();
336
406
  }
337
- //
338
407
  /**
339
408
  * Closes the component if it's open, detaches the overlay, restores focus, and emits the closed event.
340
409
  */
@@ -343,29 +412,45 @@ class AXPopoverComponent extends MXBaseComponent {
343
412
  return;
344
413
  }
345
414
  this.disconnectResizeObserver();
346
- this._overlayRef?.detach();
415
+ this.removeOverlayEvents();
416
+ this.removeKeyDownListener();
417
+ if (this._overlayRef) {
418
+ this._overlayRef.dispose();
419
+ this._overlayRef = null;
420
+ }
421
+ this._componentRef = null;
347
422
  this.restoreFocus();
348
423
  this._emitOnClosedEvent();
349
- this.onKeyDownListenerFn();
350
424
  }
351
- //
352
425
  /**
353
426
  * Opens the component if it's not already open, saves focus, opens the overlay, and emits the opened event.
354
427
  */
355
- open() {
428
+ async open() {
356
429
  if (this.isOpen || this.disabled) {
357
430
  return;
358
431
  }
432
+ this.addKeyDownListener();
433
+ this.saveFocus();
434
+ await this.openOverlayInternal();
435
+ this._emitOnOpenedEvent();
436
+ }
437
+ /** @ignore */
438
+ addKeyDownListener() {
359
439
  if (isPlatformBrowser(this.platformID)) {
360
- this.onKeyDownListenerFn = this.renderer.listen(this.document.body, 'keydown', (e) => {
361
- if (e.key == 'Escape') {
440
+ this.onKeyDownHandler = (e) => {
441
+ if (e.key === 'Escape') {
362
442
  this.close();
363
443
  }
364
- });
444
+ };
445
+ this.document.addEventListener('keydown', this.onKeyDownHandler);
446
+ }
447
+ }
448
+ /** @ignore */
449
+ removeKeyDownListener() {
450
+ if (this.onKeyDownHandler) {
451
+ this.document.removeEventListener('keydown', this.onKeyDownHandler);
452
+ this.onKeyDownHandler = null;
365
453
  }
366
- this.saveFocus();
367
- this.openOverlayInternal();
368
- this._emitOnOpenedEvent();
369
454
  }
370
455
  /** @ignore */
371
456
  saveFocus() {
@@ -376,105 +461,74 @@ class AXPopoverComponent extends MXBaseComponent {
376
461
  /** @ignore */
377
462
  restoreFocus() {
378
463
  if (this._lastActiveElement instanceof HTMLElement) {
379
- if (this._lastActiveElement?.focus) {
380
- this._lastActiveElement.focus();
381
- }
464
+ this._lastActiveElement?.focus?.();
382
465
  }
383
466
  }
384
467
  /** @ignore */
385
- openOverlayInternal() {
468
+ async openOverlayInternal() {
386
469
  const targetRef = this._target;
387
470
  if (!targetRef)
388
471
  return;
389
- //if (!this._overlayRef) {
390
- if (this.isActionsheetStyle) {
391
- this._overlayRef = this._overlay.create({
392
- positionStrategy: this._overlay.position().global().bottom().centerHorizontally(),
393
- disposeOnNavigation: true,
394
- scrollStrategy: this._overlay.scrollStrategies.block(),
395
- panelClass: [
396
- 'ax-actionsheet-base',
397
- 'ax-animate-slideInUp',
398
- 'ax-animate-faster',
399
- this.panelClass ? this.panelClass : this.#platform.isDark() ? 'ax-dark' : '',
400
- ],
401
- hasBackdrop: true,
402
- width: '100%',
403
- });
472
+ // Build panel classes
473
+ const panelClasses = ['ax-animate-fadeIn', 'ax-animate-faster'];
474
+ if (this.platform.isDark()) {
475
+ panelClasses.push('ax-dark');
404
476
  }
405
- else {
406
- this._overlayRef = this._overlay.create({
407
- positionStrategy: this._overlay.position().flexibleConnectedTo(targetRef).withPositions(this._placements),
408
- scrollStrategy: this._overlay.scrollStrategies.noop(),
409
- disposeOnNavigation: true,
410
- panelClass: ['ax-animate-fadeIn', 'ax-animate-faster', this.#platform.isDark() ? 'ax-dark' : ''],
411
- maxHeight: 'unset',
412
- hasBackdrop: this.hasBackdrop,
413
- backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],
414
- direction: AXHtmlUtil.isRtl(this.getHostElement()) ? 'rtl' : 'ltr',
415
- width: this.width(),
416
- });
417
- // this._overlayRef.setDirection()
477
+ if (this.panelClass) {
478
+ panelClasses.push(this.panelClass);
418
479
  }
419
- //
420
- this.bindOverlayEvents();
421
- //}
422
- //
480
+ // Determine content to display
481
+ let contentToRender;
482
+ let inputs;
423
483
  if (this.content instanceof TemplateRef) {
424
- this._portal = new TemplatePortal(this.content, this.getViewContainer(), {
425
- $implicit: this.context,
426
- ref: this,
427
- });
428
- this._overlayRef?.attach(this._portal);
484
+ contentToRender = this.content;
429
485
  }
430
486
  else if (typeof this.content === 'function') {
431
- this._portal = new ComponentPortal(this.content);
432
- this._componentRef = this._overlayRef?.attach(this._portal);
433
- Object.assign(this._componentRef.instance, this.context);
487
+ contentToRender = this.content;
488
+ inputs = this.context;
434
489
  }
435
490
  else {
436
- this._portal = new TemplatePortal(this._baseTemplate, this.getViewContainer(), {
437
- $implicit: this.context,
438
- ref: this,
439
- });
440
- this._overlayRef?.attach(this._portal);
491
+ contentToRender = this._baseTemplate;
441
492
  }
493
+ // Create the overlay
494
+ this._overlayRef = await this.overlayService.create(contentToRender, {
495
+ inputs,
496
+ anchorOptions: {
497
+ anchor: targetRef,
498
+ placement: this._placement,
499
+ offsetX: this._offsetX,
500
+ offsetY: this._offsetY,
501
+ autoFlip: true,
502
+ },
503
+ panelClass: !this.disablePanelClass() ? panelClasses : '',
504
+ width: this.width(),
505
+ onDispose: () => this.handleOverlayDisposed(),
506
+ actionSheetStyle: this.adaptivityEnabled,
507
+ });
508
+ // Store component ref if it's a component
509
+ if (this._overlayRef.instance && 'instance' in this._overlayRef.instance) {
510
+ this._componentRef = this._overlayRef.instance;
511
+ if (this.context && this._componentRef.instance) {
512
+ Object.assign(this._componentRef.instance, this.context);
513
+ }
514
+ }
515
+ // Bind overlay events
516
+ this.bindOverlayEvents();
442
517
  }
443
518
  /**
444
519
  * Checks if the overlay is currently open.
445
520
  * @returns {boolean}
446
521
  */
447
522
  get isOpen() {
448
- return this._overlayRef ? this._overlayRef.hasAttached() : false;
449
- }
450
- /**
451
- * Determines if the actionsheet style should be applied.
452
- * @returns {boolean}
453
- */
454
- get isActionsheetStyle() {
455
- return this._platform.is('SM') && this.adaptivityEnabled;
456
- }
457
- /** @ignore */
458
- updatePositionStrategy() {
459
- const targetRef = this._target;
460
- if (!targetRef)
461
- return;
462
- let strategy;
463
- if (this.isActionsheetStyle) {
464
- strategy = this._overlay.position().global().bottom().centerHorizontally();
465
- }
466
- else {
467
- strategy = this._overlay.position().flexibleConnectedTo(targetRef).withPositions(this._placements);
468
- }
469
- this._overlayRef?.updatePositionStrategy(strategy);
523
+ return this._overlayRef !== null;
470
524
  }
471
525
  /** @ignore */
472
526
  updateOffset() {
473
527
  this._placements?.forEach((p) => {
474
- if (this.offsetY != null)
475
- p.offsetY = this.offsetY;
476
- if (this.offsetX != null)
477
- p.offsetX = this.offsetX;
528
+ if (this._offsetY != null)
529
+ p.offsetY = this._offsetY;
530
+ if (this._offsetX != null)
531
+ p.offsetX = this._offsetX;
478
532
  });
479
533
  }
480
534
  /**
@@ -488,7 +542,13 @@ class AXPopoverComponent extends MXBaseComponent {
488
542
  * Focuses the overlay element.
489
543
  */
490
544
  focus() {
491
- //TODO: need this??
545
+ // Optional focus behavior
546
+ }
547
+ /**
548
+ * Brings this popover to the front of all other overlays.
549
+ */
550
+ bringToFront() {
551
+ this._overlayRef?.bringToFront();
492
552
  }
493
553
  /** @ignore */
494
554
  initializeResizeObserver() {
@@ -499,7 +559,7 @@ class AXPopoverComponent extends MXBaseComponent {
499
559
  this.resizeObserver = new ResizeObserver(() => {
500
560
  this.resize$.next();
501
561
  });
502
- this.resizeObserver.observe(this._overlayRef?.overlayElement);
562
+ this.resizeObserver.observe(this._overlayRef.overlayElement);
503
563
  }
504
564
  /** @ignore */
505
565
  disconnectResizeObserver() {
@@ -508,40 +568,31 @@ class AXPopoverComponent extends MXBaseComponent {
508
568
  this.resizeObserver = null;
509
569
  }
510
570
  }
511
- //
512
- ngOnInit() {
513
- super.ngOnInit();
514
- // this.platformService.directionChange.subscribe((c) => {
515
- // this.isRtl = c.data == 'rtl';
516
- // });
517
- this.resize$.pipe(debounceTime(50)).subscribe(() => {
518
- if (this.isOpen) {
519
- this.updatePosition();
520
- }
521
- });
522
- }
523
571
  /** @ignore */
524
572
  ngOnDestroy() {
525
573
  this.disconnectResizeObserver();
526
574
  this.resize$.complete();
527
575
  this.removeTargetEvents();
528
576
  this.removeOverlayEvents();
529
- this._overlayRef?.detach();
530
- this._overlayRef?.dispose();
577
+ this.removeKeyDownListener();
578
+ if (this._overlayRef) {
579
+ this._overlayRef.dispose();
580
+ this._overlayRef = null;
581
+ }
531
582
  }
532
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
533
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.15", type: AXPopoverComponent, isStandalone: true, selector: "ax-popover", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, offsetX: { classPropertyName: "offsetX", publicName: "offsetX", isSignal: false, isRequired: false, transformFunction: null }, offsetY: { classPropertyName: "offsetY", publicName: "offsetY", isSignal: false, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: false, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: false, isRequired: false, transformFunction: null }, openOn: { classPropertyName: "openOn", publicName: "openOn", isSignal: false, isRequired: false, transformFunction: null }, closeOn: { classPropertyName: "closeOn", publicName: "closeOn", isSignal: false, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: false, isRequired: false, transformFunction: null }, openAfter: { classPropertyName: "openAfter", publicName: "openAfter", isSignal: false, isRequired: false, transformFunction: null }, closeAfter: { classPropertyName: "closeAfter", publicName: "closeAfter", isSignal: false, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: false, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: false, isRequired: false, transformFunction: null }, adaptivityEnabled: { classPropertyName: "adaptivityEnabled", publicName: "adaptivityEnabled", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, providers: [
583
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
584
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.3", type: AXPopoverComponent, isStandalone: true, selector: "ax-popover", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, disablePanelClass: { classPropertyName: "disablePanelClass", publicName: "disablePanelClass", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, offsetX: { classPropertyName: "offsetX", publicName: "offsetX", isSignal: false, isRequired: false, transformFunction: null }, offsetY: { classPropertyName: "offsetY", publicName: "offsetY", isSignal: false, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: false, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: false, isRequired: false, transformFunction: null }, openOn: { classPropertyName: "openOn", publicName: "openOn", isSignal: false, isRequired: false, transformFunction: null }, closeOn: { classPropertyName: "closeOn", publicName: "closeOn", isSignal: false, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: false, isRequired: false, transformFunction: null }, openAfter: { classPropertyName: "openAfter", publicName: "openAfter", isSignal: false, isRequired: false, transformFunction: null }, closeAfter: { classPropertyName: "closeAfter", publicName: "closeAfter", isSignal: false, isRequired: false, transformFunction: null }, repositionOnScroll: { classPropertyName: "repositionOnScroll", publicName: "repositionOnScroll", isSignal: false, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: false, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: false, isRequired: false, transformFunction: null }, adaptivityEnabled: { classPropertyName: "adaptivityEnabled", publicName: "adaptivityEnabled", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, providers: [
534
585
  { provide: AXFocusableComponent, useExisting: AXPopoverComponent },
535
586
  { provide: AXComponent, useExisting: AXPopoverComponent },
536
587
  ], viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
537
588
  }
538
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPopoverComponent, decorators: [{
589
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXPopoverComponent, decorators: [{
539
590
  type: Component,
540
591
  args: [{ selector: 'ax-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
541
592
  { provide: AXFocusableComponent, useExisting: AXPopoverComponent },
542
593
  { provide: AXComponent, useExisting: AXPopoverComponent },
543
594
  ], template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
544
- }], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], disabled: [{
595
+ }], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], disablePanelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "disablePanelClass", required: false }] }], disabled: [{
545
596
  type: Input
546
597
  }], offsetX: [{
547
598
  type: Input
@@ -566,6 +617,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
566
617
  type: Input
567
618
  }], closeAfter: [{
568
619
  type: Input
620
+ }], repositionOnScroll: [{
621
+ type: Input
569
622
  }], backdropClass: [{
570
623
  type: Input
571
624
  }], panelClass: [{
@@ -579,11 +632,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
579
632
  }] } });
580
633
 
581
634
  class AXPopoverModule {
582
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
583
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AXPopoverModule, imports: [CommonModule, AXPopoverComponent], exports: [AXPopoverComponent] }); }
584
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPopoverModule, imports: [CommonModule] }); }
635
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
636
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXPopoverModule, imports: [CommonModule, AXPopoverComponent], exports: [AXPopoverComponent] }); }
637
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXPopoverModule, imports: [CommonModule] }); }
585
638
  }
586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXPopoverModule, decorators: [{
639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXPopoverModule, decorators: [{
587
640
  type: NgModule,
588
641
  args: [{
589
642
  imports: [CommonModule, AXPopoverComponent],