@acorex/components 19.15.0-next.8 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (704) hide show
  1. package/accordion/README.md +3 -0
  2. package/accordion/index.d.ts +41 -0
  3. package/action-sheet/index.d.ts +126 -4
  4. package/alert/index.d.ts +93 -2
  5. package/audio-wave/index.d.ts +143 -3
  6. package/autocomplete/index.d.ts +123 -2
  7. package/avatar/index.d.ts +52 -3
  8. package/badge/index.d.ts +27 -2
  9. package/bottom-navigation/index.d.ts +67 -3
  10. package/breadcrumbs/index.d.ts +56 -4
  11. package/button/index.d.ts +230 -5
  12. package/button-group/index.d.ts +166 -3
  13. package/calendar/index.d.ts +367 -4
  14. package/check-box/index.d.ts +74 -2
  15. package/chips/index.d.ts +37 -2
  16. package/circular-progress/index.d.ts +73 -2
  17. package/collapse/index.d.ts +173 -3
  18. package/color-box/index.d.ts +72 -2
  19. package/color-palette/index.d.ts +293 -7
  20. package/comment/index.d.ts +107 -9
  21. package/conversation/index.d.ts +656 -18
  22. package/cron-job/index.d.ts +329 -8
  23. package/data-pager/index.d.ts +416 -9
  24. package/data-table/index.d.ts +1060 -11
  25. package/datetime-box/index.d.ts +112 -2
  26. package/datetime-input/index.d.ts +135 -2
  27. package/datetime-picker/index.d.ts +147 -3
  28. package/decorators/index.d.ts +129 -8
  29. package/dialog/index.d.ts +122 -4
  30. package/drawer/index.d.ts +86 -3
  31. package/drawer-2/README.md +3 -0
  32. package/drawer-2/index.d.ts +48 -0
  33. package/dropdown/index.d.ts +243 -4
  34. package/dropdown-button/index.d.ts +82 -2
  35. package/fesm2022/acorex-components-accordion.mjs +118 -0
  36. package/fesm2022/acorex-components-accordion.mjs.map +1 -0
  37. package/fesm2022/acorex-components-action-sheet.mjs +20 -27
  38. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  39. package/fesm2022/acorex-components-alert.mjs +9 -9
  40. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  41. package/fesm2022/acorex-components-audio-wave.mjs +8 -8
  42. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  43. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  44. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  45. package/fesm2022/acorex-components-avatar.mjs +11 -11
  46. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  47. package/fesm2022/acorex-components-badge.mjs +9 -8
  48. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  49. package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
  50. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  51. package/fesm2022/acorex-components-breadcrumbs.mjs +15 -21
  52. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  53. package/fesm2022/acorex-components-button-group.mjs +10 -10
  54. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  55. package/fesm2022/acorex-components-button.mjs +21 -27
  56. package/fesm2022/acorex-components-button.mjs.map +1 -1
  57. package/fesm2022/acorex-components-calendar.mjs +28 -22
  58. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  59. package/fesm2022/acorex-components-check-box.mjs +9 -9
  60. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  61. package/fesm2022/acorex-components-chips.mjs +8 -8
  62. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  63. package/fesm2022/acorex-components-circular-progress.mjs +8 -8
  64. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  65. package/fesm2022/acorex-components-collapse.mjs +17 -25
  66. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  67. package/fesm2022/acorex-components-color-box.mjs +9 -11
  68. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  69. package/fesm2022/acorex-components-color-palette.mjs +59 -63
  70. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  71. package/fesm2022/acorex-components-comment.mjs +31 -31
  72. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  73. package/fesm2022/acorex-components-conversation.mjs +119 -151
  74. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  75. package/fesm2022/acorex-components-cron-job.mjs +64 -64
  76. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  77. package/fesm2022/acorex-components-data-pager.mjs +44 -50
  78. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  79. package/fesm2022/acorex-components-data-table.mjs +49 -49
  80. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  81. package/fesm2022/acorex-components-datetime-box.mjs +10 -22
  82. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  83. package/fesm2022/acorex-components-datetime-input.mjs +12 -9
  84. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  85. package/fesm2022/acorex-components-datetime-picker.mjs +10 -16
  86. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  87. package/fesm2022/acorex-components-decorators.mjs +34 -51
  88. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  89. package/fesm2022/acorex-components-dialog.mjs +19 -26
  90. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  91. package/fesm2022/acorex-components-drawer-2.mjs +120 -0
  92. package/fesm2022/acorex-components-drawer-2.mjs.map +1 -0
  93. package/fesm2022/acorex-components-drawer.mjs +149 -60
  94. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  95. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  96. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  97. package/fesm2022/acorex-components-dropdown.mjs +14 -14
  98. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  99. package/fesm2022/acorex-components-file-explorer.mjs +27 -28
  100. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  101. package/fesm2022/acorex-components-flow-chart.mjs +16 -16
  102. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  103. package/fesm2022/acorex-components-form.mjs +25 -30
  104. package/fesm2022/acorex-components-form.mjs.map +1 -1
  105. package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
  106. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  107. package/fesm2022/acorex-components-image-editor.mjs +39 -40
  108. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  109. package/fesm2022/acorex-components-image.mjs +10 -10
  110. package/fesm2022/acorex-components-image.mjs.map +1 -1
  111. package/fesm2022/acorex-components-json-viewer.mjs +7 -7
  112. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  113. package/fesm2022/acorex-components-kbd.mjs +10 -10
  114. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  115. package/fesm2022/acorex-components-label.mjs +9 -9
  116. package/fesm2022/acorex-components-label.mjs.map +1 -1
  117. package/fesm2022/acorex-components-list.mjs +11 -21
  118. package/fesm2022/acorex-components-list.mjs.map +1 -1
  119. package/fesm2022/acorex-components-loading-dialog.mjs +18 -25
  120. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  121. package/fesm2022/acorex-components-loading.mjs +23 -23
  122. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  123. package/fesm2022/acorex-components-map.mjs +700 -193
  124. package/fesm2022/acorex-components-map.mjs.map +1 -1
  125. package/fesm2022/acorex-components-media-viewer.mjs +39 -43
  126. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  127. package/fesm2022/acorex-components-menu.mjs +41 -26
  128. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  129. package/fesm2022/{acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs → acorex-components-modal-acorex-components-modal-DTLjJam5.mjs} +21 -21
  130. package/fesm2022/acorex-components-modal-acorex-components-modal-DTLjJam5.mjs.map +1 -0
  131. package/fesm2022/{acorex-components-modal-modal-content.component-Ef5XWxUb.mjs → acorex-components-modal-modal-content.component-CsxuUsLE.mjs} +5 -5
  132. package/fesm2022/acorex-components-modal-modal-content.component-CsxuUsLE.mjs.map +1 -0
  133. package/fesm2022/acorex-components-modal.mjs +1 -1
  134. package/fesm2022/acorex-components-navbar.mjs +7 -7
  135. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  136. package/fesm2022/acorex-components-notification.mjs +19 -23
  137. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  138. package/fesm2022/acorex-components-number-box.mjs +7 -7
  139. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  140. package/fesm2022/acorex-components-otp.mjs +7 -7
  141. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  142. package/fesm2022/acorex-components-page.mjs +10 -10
  143. package/fesm2022/acorex-components-page.mjs.map +1 -1
  144. package/fesm2022/acorex-components-paint.mjs +29 -29
  145. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  146. package/fesm2022/acorex-components-password-box.mjs +12 -12
  147. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  148. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  149. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  150. package/fesm2022/acorex-components-phone-box.mjs +7 -7
  151. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  152. package/fesm2022/acorex-components-picker.mjs +13 -13
  153. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  154. package/fesm2022/acorex-components-popover.mjs +11 -11
  155. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  156. package/fesm2022/acorex-components-popup.mjs +22 -39
  157. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  158. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  159. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  160. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  161. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  162. package/fesm2022/acorex-components-query-builder.mjs +9 -10
  163. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  164. package/fesm2022/acorex-components-radio.mjs +7 -7
  165. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  166. package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
  167. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  168. package/fesm2022/acorex-components-range-slider.mjs +9 -9
  169. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  170. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  171. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  172. package/fesm2022/acorex-components-rest-api-generator.mjs +26 -26
  173. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  174. package/fesm2022/acorex-components-result.mjs +8 -8
  175. package/fesm2022/acorex-components-result.mjs.map +1 -1
  176. package/fesm2022/acorex-components-routing-progress.mjs +13 -14
  177. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  178. package/fesm2022/acorex-components-scheduler.mjs +192 -146
  179. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  180. package/fesm2022/acorex-components-scss.mjs +4 -4
  181. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  182. package/fesm2022/acorex-components-search-box.mjs +12 -21
  183. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  184. package/fesm2022/acorex-components-select-box.mjs +7 -7
  185. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  186. package/fesm2022/acorex-components-selection-list-2.mjs +163 -0
  187. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -0
  188. package/fesm2022/acorex-components-selection-list.mjs +9 -9
  189. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  190. package/fesm2022/acorex-components-side-menu.mjs +28 -21
  191. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  192. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  193. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  194. package/fesm2022/acorex-components-slider.mjs +14 -15
  195. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  196. package/fesm2022/acorex-components-sliding-item.mjs +14 -14
  197. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  198. package/fesm2022/acorex-components-step-wizard.mjs +18 -18
  199. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  200. package/fesm2022/acorex-components-switch.mjs +12 -12
  201. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  202. package/fesm2022/acorex-components-tabs.mjs +17 -17
  203. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  204. package/fesm2022/acorex-components-tag-box.mjs +7 -7
  205. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  206. package/fesm2022/acorex-components-tag.mjs +8 -8
  207. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  208. package/fesm2022/acorex-components-text-area.mjs +7 -7
  209. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  210. package/fesm2022/acorex-components-text-box.mjs +10 -10
  211. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  212. package/fesm2022/acorex-components-time-duration.mjs +17 -9
  213. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  214. package/fesm2022/acorex-components-time-line.mjs +10 -10
  215. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  216. package/fesm2022/acorex-components-toast.mjs +23 -31
  217. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  218. package/fesm2022/acorex-components-toolbar.mjs +7 -7
  219. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  220. package/fesm2022/acorex-components-tooltip.mjs +16 -16
  221. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  222. package/fesm2022/acorex-components-tree-view.mjs +13 -12
  223. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  224. package/fesm2022/acorex-components-uploader.mjs +28 -28
  225. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  226. package/fesm2022/acorex-components-video-player.mjs +7 -7
  227. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  228. package/fesm2022/acorex-components-wysiwyg.mjs +33 -33
  229. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  230. package/fesm2022/acorex-components.mjs.map +1 -1
  231. package/file-explorer/index.d.ts +103 -8
  232. package/flow-chart/index.d.ts +159 -5
  233. package/form/index.d.ts +283 -6
  234. package/grid-layout-builder/index.d.ts +197 -4
  235. package/image/index.d.ts +95 -2
  236. package/image-editor/index.d.ts +268 -11
  237. package/index.d.ts +3 -1
  238. package/json-viewer/index.d.ts +25 -2
  239. package/kbd/index.d.ts +23 -3
  240. package/label/index.d.ts +58 -2
  241. package/list/index.d.ts +148 -2
  242. package/loading/index.d.ts +149 -6
  243. package/loading-dialog/index.d.ts +115 -4
  244. package/map/index.d.ts +661 -7
  245. package/media-viewer/index.d.ts +142 -9
  246. package/menu/index.d.ts +207 -6
  247. package/modal/index.d.ts +78 -5
  248. package/navbar/index.d.ts +22 -2
  249. package/notification/index.d.ts +134 -5
  250. package/number-box/index.d.ts +179 -2
  251. package/otp/index.d.ts +74 -3
  252. package/package.json +24 -12
  253. package/page/index.d.ts +58 -3
  254. package/paint/index.d.ts +157 -7
  255. package/password-box/index.d.ts +97 -3
  256. package/pdf-reader/index.d.ts +17 -2
  257. package/phone-box/index.d.ts +92 -2
  258. package/picker/index.d.ts +44 -4
  259. package/popover/index.d.ts +222 -2
  260. package/popup/index.d.ts +120 -4
  261. package/progress-bar/index.d.ts +65 -2
  262. package/qrcode/index.d.ts +68 -3
  263. package/query-builder/index.d.ts +52 -2
  264. package/radio/index.d.ts +33 -2
  265. package/rail-navigation/index.d.ts +74 -5
  266. package/range-slider/index.d.ts +320 -3
  267. package/rate-picker/index.d.ts +141 -2
  268. package/rest-api-generator/index.d.ts +129 -8
  269. package/result/index.d.ts +34 -2
  270. package/routing-progress/index.d.ts +39 -2
  271. package/scheduler/index.d.ts +556 -11
  272. package/scss/index.d.ts +10 -1
  273. package/search-box/index.d.ts +51 -2
  274. package/select-box/index.d.ts +161 -2
  275. package/selection-list/index.d.ts +93 -2
  276. package/selection-list-2/README.md +3 -0
  277. package/selection-list-2/index.d.ts +52 -0
  278. package/side-menu/index.d.ts +94 -4
  279. package/skeleton/index.d.ts +28 -2
  280. package/slider/index.d.ts +101 -2
  281. package/sliding-item/index.d.ts +45 -4
  282. package/step-wizard/index.d.ts +109 -5
  283. package/switch/index.d.ts +49 -3
  284. package/tabs/index.d.ts +156 -5
  285. package/tag/index.d.ts +26 -2
  286. package/tag-box/index.d.ts +41 -2
  287. package/text-area/index.d.ts +52 -2
  288. package/text-box/index.d.ts +92 -3
  289. package/time-duration/index.d.ts +48 -3
  290. package/time-line/index.d.ts +33 -3
  291. package/toast/index.d.ts +127 -5
  292. package/toolbar/index.d.ts +22 -2
  293. package/tooltip/index.d.ts +60 -3
  294. package/tree-view/index.d.ts +179 -4
  295. package/uploader/index.d.ts +188 -8
  296. package/video-player/index.d.ts +15 -2
  297. package/wysiwyg/index.d.ts +240 -9
  298. package/action-sheet/lib/action-sheet.class.d.ts +0 -40
  299. package/action-sheet/lib/action-sheet.component.d.ts +0 -59
  300. package/action-sheet/lib/action-sheet.module.d.ts +0 -16
  301. package/action-sheet/lib/action-sheet.service.d.ts +0 -16
  302. package/alert/lib/alert.component.d.ts +0 -82
  303. package/alert/lib/alert.module.d.ts +0 -9
  304. package/audio-wave/lib/audio-wave.component.d.ts +0 -112
  305. package/audio-wave/lib/audio-wave.module.d.ts +0 -12
  306. package/audio-wave/lib/interfaces/audio-wave.interface.d.ts +0 -16
  307. package/autocomplete/lib/autocomplete.component.d.ts +0 -114
  308. package/autocomplete/lib/autocomplete.module.d.ts +0 -7
  309. package/avatar/lib/avatar-group.component.d.ts +0 -5
  310. package/avatar/lib/avatar.component.d.ts +0 -37
  311. package/avatar/lib/avatar.module.d.ts +0 -9
  312. package/badge/lib/badge.component.d.ts +0 -16
  313. package/badge/lib/badge.module.d.ts +0 -8
  314. package/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.d.ts +0 -15
  315. package/bottom-navigation/lib/bottom-navigation.component.d.ts +0 -43
  316. package/bottom-navigation/lib/bottom-navigation.module.d.ts +0 -9
  317. package/breadcrumbs/lib/breadcrumbs-item.class.d.ts +0 -9
  318. package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +0 -25
  319. package/breadcrumbs/lib/breadcrumbs.component.d.ts +0 -15
  320. package/breadcrumbs/lib/breadcrumbs.module.d.ts +0 -10
  321. package/button/lib/button-item-list.component.d.ts +0 -56
  322. package/button/lib/button-item.class.d.ts +0 -24
  323. package/button/lib/button-item.component.d.ts +0 -77
  324. package/button/lib/button.component.d.ts +0 -65
  325. package/button/lib/button.module.d.ts +0 -13
  326. package/button-group/lib/button-group-item.component.d.ts +0 -79
  327. package/button-group/lib/button-group.component.d.ts +0 -79
  328. package/button-group/lib/button-group.module.d.ts +0 -11
  329. package/calendar/lib/calendar-range.component.d.ts +0 -82
  330. package/calendar/lib/calendar.class.d.ts +0 -89
  331. package/calendar/lib/calendar.component.d.ts +0 -183
  332. package/calendar/lib/calendar.module.d.ts +0 -13
  333. package/check-box/lib/check-box.component.d.ts +0 -62
  334. package/check-box/lib/check-box.module.d.ts +0 -10
  335. package/chips/lib/chips.component.d.ts +0 -26
  336. package/chips/lib/chips.module.d.ts +0 -8
  337. package/circular-progress/lib/circular-progress.component.d.ts +0 -63
  338. package/circular-progress/lib/circular-progress.module.d.ts +0 -7
  339. package/collapse/lib/collapse-group.component.d.ts +0 -68
  340. package/collapse/lib/collapse.component.d.ts +0 -101
  341. package/collapse/lib/collapse.module.d.ts +0 -10
  342. package/color-box/lib/color-box.component.d.ts +0 -59
  343. package/color-box/lib/color-box.module.d.ts +0 -11
  344. package/color-palette/lib/color-palette-input.component.d.ts +0 -65
  345. package/color-palette/lib/color-palette-picker.component.d.ts +0 -96
  346. package/color-palette/lib/color-palette-preview.component.d.ts +0 -33
  347. package/color-palette/lib/color-palette-swatches.component.d.ts +0 -51
  348. package/color-palette/lib/color-palette.class.d.ts +0 -28
  349. package/color-palette/lib/color-palette.component.d.ts +0 -18
  350. package/color-palette/lib/color-palette.module.d.ts +0 -22
  351. package/comment/lib/comment-container/comment-container.component.d.ts +0 -13
  352. package/comment/lib/comment-item/comment-item.component.d.ts +0 -23
  353. package/comment/lib/comment-tools/comment-date/comment-date.component.d.ts +0 -10
  354. package/comment/lib/comment-tools/comment-like/comment-like.component.d.ts +0 -16
  355. package/comment/lib/comment-tools/comment-menu-options/comment-menu-options.component.d.ts +0 -10
  356. package/comment/lib/comment-tools/comment-reply-more/comment-reply-more.component.d.ts +0 -5
  357. package/comment/lib/comment-tools/comment-reply-text/comment-reply-text.component.d.ts +0 -5
  358. package/comment/lib/comment-view/comment-view.component.d.ts +0 -9
  359. package/comment/lib/comment.module.d.ts +0 -21
  360. package/conversation/lib/classes/events.interface.d.ts +0 -7
  361. package/conversation/lib/conversation-container/conversation-container.component.d.ts +0 -9
  362. package/conversation/lib/conversation-input/conversation-input.component.d.ts +0 -126
  363. package/conversation/lib/conversation-input/conversation-input.interface.d.ts +0 -10
  364. package/conversation/lib/conversation-message/conversation-message.component.d.ts +0 -62
  365. package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +0 -95
  366. package/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.d.ts +0 -53
  367. package/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.d.ts +0 -40
  368. package/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.d.ts +0 -18
  369. package/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.d.ts +0 -44
  370. package/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.d.ts +0 -20
  371. package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +0 -102
  372. package/conversation/lib/conversation-view/conversation-view.component.d.ts +0 -27
  373. package/conversation/lib/conversation.module.d.ts +0 -45
  374. package/conversation/lib/conversation.types.d.ts +0 -26
  375. package/conversation/lib/services/conversation-message-type-registry.service.d.ts +0 -9
  376. package/conversation/lib/services/conversation.service.d.ts +0 -7
  377. package/conversation/lib/services/recording.service.d.ts +0 -20
  378. package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +0 -30
  379. package/cron-job/lib/cron-job.module.d.ts +0 -25
  380. package/cron-job/lib/cron-job.service.d.ts +0 -22
  381. package/cron-job/lib/day/day.component.d.ts +0 -24
  382. package/cron-job/lib/day/day.model.d.ts +0 -61
  383. package/cron-job/lib/day/day.service.d.ts +0 -17
  384. package/cron-job/lib/hours/hours.component.d.ts +0 -16
  385. package/cron-job/lib/hours/hours.model.d.ts +0 -5
  386. package/cron-job/lib/hours/hours.service.d.ts +0 -13
  387. package/cron-job/lib/minutes/minutes.component.d.ts +0 -16
  388. package/cron-job/lib/minutes/minutes.model.d.ts +0 -5
  389. package/cron-job/lib/minutes/minutes.service.d.ts +0 -13
  390. package/cron-job/lib/month/month.component.d.ts +0 -18
  391. package/cron-job/lib/month/month.model.d.ts +0 -5
  392. package/cron-job/lib/month/month.service.d.ts +0 -14
  393. package/cron-job/lib/seconds/seconds.component.d.ts +0 -16
  394. package/cron-job/lib/seconds/seconds.model.d.ts +0 -5
  395. package/cron-job/lib/seconds/seconds.service.d.ts +0 -13
  396. package/cron-job/lib/types/iexpression.d.ts +0 -3
  397. package/cron-job/lib/types/shared.model.d.ts +0 -37
  398. package/cron-job/lib/year/year.component.d.ts +0 -17
  399. package/cron-job/lib/year/year.model.d.ts +0 -16
  400. package/cron-job/lib/year/year.service.d.ts +0 -12
  401. package/data-pager/lib/data-pager-base.component.d.ts +0 -64
  402. package/data-pager/lib/data-pager-info.component.d.ts +0 -25
  403. package/data-pager/lib/data-pager-input-selector.component.d.ts +0 -28
  404. package/data-pager/lib/data-pager-next-buttons.component.d.ts +0 -32
  405. package/data-pager/lib/data-pager-numeric-selector.component.d.ts +0 -36
  406. package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +0 -42
  407. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +0 -32
  408. package/data-pager/lib/data-pager.component.d.ts +0 -151
  409. package/data-pager/lib/data-pager.module.d.ts +0 -22
  410. package/data-table/lib/base-data-table.class.d.ts +0 -38
  411. package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +0 -24
  412. package/data-table/lib/columns/data-table-column.d.ts +0 -20
  413. package/data-table/lib/columns/data-text-column.component.d.ts +0 -100
  414. package/data-table/lib/columns/row-command-column.component.d.ts +0 -131
  415. package/data-table/lib/columns/row-expand-column.component.d.ts +0 -50
  416. package/data-table/lib/columns/row-index-column.component.d.ts +0 -74
  417. package/data-table/lib/columns/row-select-column.component.d.ts +0 -70
  418. package/data-table/lib/data-table/data-table.component.d.ts +0 -301
  419. package/data-table/lib/data-table.module.d.ts +0 -27
  420. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +0 -253
  421. package/datetime-box/lib/datetime-box.component.d.ts +0 -98
  422. package/datetime-box/lib/datetime-box.module.d.ts +0 -13
  423. package/datetime-input/lib/datetime-input.component.d.ts +0 -123
  424. package/datetime-input/lib/datetime-input.module.d.ts +0 -10
  425. package/datetime-picker/lib/datetime-picker.component.d.ts +0 -121
  426. package/datetime-picker/lib/datetime-picker.config.d.ts +0 -8
  427. package/datetime-picker/lib/datetime-picker.module.d.ts +0 -16
  428. package/decorators/lib/components/clear-button/clear-button.component.d.ts +0 -38
  429. package/decorators/lib/components/close-button/close-button.component.d.ts +0 -35
  430. package/decorators/lib/components/color-indicator/color-indicator.component.d.ts +0 -6
  431. package/decorators/lib/components/full-screen/full-screen-button.component.d.ts +0 -7
  432. package/decorators/lib/components/generic-content.component.d.ts +0 -10
  433. package/decorators/lib/components/heading/heading.component.d.ts +0 -17
  434. package/decorators/lib/components/icon/icon.component.d.ts +0 -20
  435. package/decorators/lib/decorators.module.d.ts +0 -14
  436. package/dialog/lib/dialog.class.d.ts +0 -39
  437. package/dialog/lib/dialog.component.d.ts +0 -41
  438. package/dialog/lib/dialog.module.d.ts +0 -16
  439. package/dialog/lib/dialog.service.d.ts +0 -31
  440. package/drawer/lib/drawer/drawer-container/drawer-container.component.d.ts +0 -12
  441. package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +0 -29
  442. package/drawer/lib/drawer.module.d.ts +0 -9
  443. package/drawer/lib/drawer.service.d.ts +0 -7
  444. package/dropdown/lib/dropdown-box.class.d.ts +0 -17
  445. package/dropdown/lib/dropdown-box.component.d.ts +0 -97
  446. package/dropdown/lib/dropdown-panel.component.d.ts +0 -120
  447. package/dropdown/lib/dropdown.module.d.ts +0 -14
  448. package/dropdown-button/lib/dropdown-button.component.d.ts +0 -67
  449. package/dropdown-button/lib/dropdown-button.module.d.ts +0 -13
  450. package/fesm2022/acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs.map +0 -1
  451. package/fesm2022/acorex-components-modal-modal-content.component-Ef5XWxUb.mjs.map +0 -1
  452. package/file-explorer/lib/file-explorer-container/file-explorer-container.component.d.ts +0 -5
  453. package/file-explorer/lib/file-explorer-header/file-explorer-header.component.d.ts +0 -9
  454. package/file-explorer/lib/file-explorer-internal.service.d.ts +0 -18
  455. package/file-explorer/lib/file-explorer-item/file-explorer-item.component.d.ts +0 -11
  456. package/file-explorer/lib/file-explorer-tree/file-explorer-tree.component.d.ts +0 -13
  457. package/file-explorer/lib/file-explorer-types.d.ts +0 -11
  458. package/file-explorer/lib/file-explorer-view/file-explorer-view.component.d.ts +0 -14
  459. package/file-explorer/lib/file-explorer.module.d.ts +0 -19
  460. package/file-explorer/lib/file-explorer.service.d.ts +0 -11
  461. package/flow-chart/lib/flow-chart-creator/flow-chart-creator.component.d.ts +0 -13
  462. package/flow-chart/lib/flow-chart-renderer/flow-chart-renderer.component.d.ts +0 -22
  463. package/flow-chart/lib/flow-chart.component.d.ts +0 -24
  464. package/flow-chart/lib/flow-chart.module.d.ts +0 -10
  465. package/flow-chart/lib/flow-chart.service.d.ts +0 -57
  466. package/flow-chart/lib/flow-chart.type.d.ts +0 -37
  467. package/form/lib/form-field.component.d.ts +0 -69
  468. package/form/lib/form.component.d.ts +0 -109
  469. package/form/lib/form.config.d.ts +0 -7
  470. package/form/lib/form.module.d.ts +0 -16
  471. package/form/lib/validation-rule.directive.d.ts +0 -17
  472. package/form/lib/validation-summary.component.d.ts +0 -76
  473. package/grid-layout-builder/lib/grid-layout-builder.module.d.ts +0 -9
  474. package/grid-layout-builder/lib/grid-layout-container.component.d.ts +0 -47
  475. package/grid-layout-builder/lib/grid-layout-widget.component.d.ts +0 -39
  476. package/grid-layout-builder/lib/types.d.ts +0 -103
  477. package/grid-layout-builder/lib/utility.d.ts +0 -9
  478. package/image/lib/image.component.d.ts +0 -85
  479. package/image/lib/image.module.d.ts +0 -8
  480. package/image-editor/lib/image-editor-container/image-editor-container.component.d.ts +0 -26
  481. package/image-editor/lib/image-editor-cropper-window/image-editor-cropper-window.component.d.ts +0 -47
  482. package/image-editor/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.d.ts +0 -14
  483. package/image-editor/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.d.ts +0 -18
  484. package/image-editor/lib/image-editor-tools/image-editor-history/image-editor-history.component.d.ts +0 -13
  485. package/image-editor/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.d.ts +0 -18
  486. package/image-editor/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.d.ts +0 -16
  487. package/image-editor/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.d.ts +0 -12
  488. package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +0 -78
  489. package/image-editor/lib/image-editor.module.d.ts +0 -25
  490. package/image-editor/lib/image-editor.service.d.ts +0 -22
  491. package/json-viewer/lib/json-viewer/json-viewer.component.d.ts +0 -13
  492. package/json-viewer/lib/json-viewer.module.d.ts +0 -10
  493. package/kbd/lib/kbd-item/kbd-item.component.d.ts +0 -8
  494. package/kbd/lib/kbd.component.d.ts +0 -5
  495. package/kbd/lib/kbd.module.d.ts +0 -9
  496. package/label/lib/label.component.d.ts +0 -48
  497. package/label/lib/label.module.d.ts +0 -8
  498. package/list/lib/list.component.d.ts +0 -139
  499. package/list/lib/list.module.d.ts +0 -10
  500. package/loading/lib/loading-spinner.component.d.ts +0 -34
  501. package/loading/lib/loading.component.d.ts +0 -53
  502. package/loading/lib/loading.config.d.ts +0 -8
  503. package/loading/lib/loading.directive.d.ts +0 -15
  504. package/loading/lib/loading.module.d.ts +0 -13
  505. package/loading/lib/loading.service.d.ts +0 -29
  506. package/loading-dialog/lib/loading-dialog.class.d.ts +0 -35
  507. package/loading-dialog/lib/loading-dialog.component.d.ts +0 -63
  508. package/loading-dialog/lib/loading-dialog.module.d.ts +0 -14
  509. package/loading-dialog/lib/loading-dialog.service.d.ts +0 -8
  510. package/map/lib/map.component.d.ts +0 -214
  511. package/map/lib/map.config.d.ts +0 -13
  512. package/map/lib/map.module.d.ts +0 -8
  513. package/map/lib/map.service.d.ts +0 -172
  514. package/map/lib/map.type.d.ts +0 -20
  515. package/map/lib/map.utility.d.ts +0 -2
  516. package/map/lib/map.world-map.d.ts +0 -28
  517. package/media-viewer/lib/media-viewer-container/media-viewer-container.component.d.ts +0 -38
  518. package/media-viewer/lib/media-viewer-slider/media-viewer-slider.component.d.ts +0 -18
  519. package/media-viewer/lib/media-viewer-tools/audio-player/audio-player.component.d.ts +0 -8
  520. package/media-viewer/lib/media-viewer-tools/file-info/file-info.component.d.ts +0 -9
  521. package/media-viewer/lib/media-viewer-tools/image-viewer/image-viewer.component.d.ts +0 -6
  522. package/media-viewer/lib/media-viewer-tools/pdf-reader/pdf-reader.component.d.ts +0 -8
  523. package/media-viewer/lib/media-viewer-tools/video-player/video-player.component.d.ts +0 -8
  524. package/media-viewer/lib/media-viewer-type-registry.service.d.ts +0 -9
  525. package/media-viewer/lib/media-viewer-types.d.ts +0 -19
  526. package/media-viewer/lib/media-viewer.module.d.ts +0 -31
  527. package/media-viewer/lib/media-viewer.service.d.ts +0 -8
  528. package/menu/lib/context-menu.component.d.ts +0 -57
  529. package/menu/lib/menu-item.component.d.ts +0 -62
  530. package/menu/lib/menu.component.d.ts +0 -23
  531. package/menu/lib/menu.module.d.ts +0 -15
  532. package/menu/lib/menu.service.d.ts +0 -19
  533. package/menu/lib/menu.types.d.ts +0 -39
  534. package/modal/lib/modal-content/modal-content.component.d.ts +0 -51
  535. package/modal/lib/modal-footer/modal-footer.component.d.ts +0 -5
  536. package/modal/lib/modal-state.service.d.ts +0 -17
  537. package/modal/lib/modal.component.d.ts +0 -18
  538. package/modal/lib/modal.module.d.ts +0 -8
  539. package/modal/lib/modal.service.d.ts +0 -15
  540. package/modal/lib/modal.types.d.ts +0 -34
  541. package/navbar/lib/navbar.component.d.ts +0 -12
  542. package/navbar/lib/navbar.module.d.ts +0 -8
  543. package/notification/lib/notification.class.d.ts +0 -42
  544. package/notification/lib/notification.component.d.ts +0 -41
  545. package/notification/lib/notification.config.d.ts +0 -15
  546. package/notification/lib/notification.module.d.ts +0 -14
  547. package/notification/lib/notification.service.d.ts +0 -25
  548. package/number-box/lib/number-box.component.d.ts +0 -165
  549. package/number-box/lib/number-box.module.d.ts +0 -12
  550. package/otp/lib/otp.class.d.ts +0 -5
  551. package/otp/lib/otp.component.d.ts +0 -59
  552. package/otp/lib/otp.module.d.ts +0 -9
  553. package/page/lib/base-page.class.d.ts +0 -22
  554. package/page/lib/page.component.d.ts +0 -29
  555. package/page/lib/page.module.d.ts +0 -6
  556. package/paint/lib/paint/paint-container/paint-container.component.d.ts +0 -19
  557. package/paint/lib/paint/paint-tools/paint-eraser-tool/paint-eraser-tool.component.d.ts +0 -15
  558. package/paint/lib/paint/paint-tools/paint-highlight-tool/paint-highlight-tool.component.d.ts +0 -18
  559. package/paint/lib/paint/paint-tools/paint-pen-tool/paint-pen-tool.component.d.ts +0 -18
  560. package/paint/lib/paint/paint-tools-selector/paint-tools-selector.component.d.ts +0 -9
  561. package/paint/lib/paint/paint-view/paint-view.component.d.ts +0 -56
  562. package/paint/lib/paint/paint.service.d.ts +0 -12
  563. package/paint/lib/paint.module.d.ts +0 -20
  564. package/password-box/lib/password-box.component.d.ts +0 -42
  565. package/password-box/lib/password-box.module.d.ts +0 -15
  566. package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +0 -40
  567. package/pdf-reader/lib/pdf-reader/pdf-reader.component.d.ts +0 -8
  568. package/pdf-reader/lib/pdf-reader.module.d.ts +0 -7
  569. package/phone-box/lib/phone-box.component.d.ts +0 -75
  570. package/phone-box/lib/phone-box.module.d.ts +0 -15
  571. package/picker/lib/picker-container/picker-container.component.d.ts +0 -7
  572. package/picker/lib/picker-items/picker-items.component.d.ts +0 -20
  573. package/picker/lib/picker-title/picker-title.component.d.ts +0 -5
  574. package/picker/lib/picker.module.d.ts +0 -11
  575. package/popover/lib/popover.component.d.ts +0 -211
  576. package/popover/lib/popover.module.d.ts +0 -8
  577. package/popup/lib/popup.component.d.ts +0 -75
  578. package/popup/lib/popup.interface.d.ts +0 -30
  579. package/popup/lib/popup.module.d.ts +0 -15
  580. package/popup/lib/popup.service.d.ts +0 -22
  581. package/progress-bar/lib/progress-bar.component.d.ts +0 -54
  582. package/progress-bar/lib/progress-bar.module.d.ts +0 -8
  583. package/qrcode/lib/qrcode.class.d.ts +0 -3
  584. package/qrcode/lib/qrcode.component.d.ts +0 -54
  585. package/qrcode/lib/qrcode.module.d.ts +0 -8
  586. package/query-builder/lib/query-builder.component.d.ts +0 -35
  587. package/query-builder/lib/query-builder.module.d.ts +0 -15
  588. package/radio/lib/radio.component.d.ts +0 -22
  589. package/radio/lib/radio.module.d.ts +0 -9
  590. package/rail-navigation/lib/rail-navigation-item/rail-navigation-item.component.d.ts +0 -31
  591. package/rail-navigation/lib/rail-navigation.class.d.ts +0 -8
  592. package/rail-navigation/lib/rail-navigation.component.d.ts +0 -18
  593. package/rail-navigation/lib/rail-navigation.module.d.ts +0 -10
  594. package/rail-navigation/lib/rail-navigation.service.d.ts +0 -9
  595. package/range-slider/lib/range-slider.class.d.ts +0 -9
  596. package/range-slider/lib/range-slider.component.d.ts +0 -301
  597. package/range-slider/lib/range-slider.module.d.ts +0 -8
  598. package/rate-picker/lib/calculatePercentage.d.ts +0 -27
  599. package/rate-picker/lib/rate-picker.component.d.ts +0 -131
  600. package/rate-picker/lib/rate-picker.module.d.ts +0 -8
  601. package/rest-api-generator/lib/query-params/query-params.component.d.ts +0 -16
  602. package/rest-api-generator/lib/request-body/request-body.component.d.ts +0 -22
  603. package/rest-api-generator/lib/request-headers/request-headers.component.d.ts +0 -22
  604. package/rest-api-generator/lib/rest-api-auth/rest-api-auth.component.d.ts +0 -22
  605. package/rest-api-generator/lib/rest-api-generator.component.d.ts +0 -14
  606. package/rest-api-generator/lib/rest-api-generator.module.d.ts +0 -19
  607. package/rest-api-generator/lib/rest-api-generator.service.d.ts +0 -7
  608. package/rest-api-generator/lib/types.d.ts +0 -20
  609. package/result/lib/result.component.d.ts +0 -24
  610. package/result/lib/result.module.d.ts +0 -8
  611. package/routing-progress/lib/routing-progress.component.d.ts +0 -30
  612. package/routing-progress/lib/routing-progress.module.d.ts +0 -8
  613. package/scheduler/lib/scheduler.class.d.ts +0 -77
  614. package/scheduler/lib/scheduler.component.d.ts +0 -91
  615. package/scheduler/lib/scheduler.module.d.ts +0 -11
  616. package/scheduler/lib/scheduler.service.d.ts +0 -78
  617. package/scheduler/lib/views/agenda/scheduler-agenda-view.component.d.ts +0 -45
  618. package/scheduler/lib/views/day/scheduler-day-view.component.d.ts +0 -44
  619. package/scheduler/lib/views/month/scheduler-month-view.component.d.ts +0 -59
  620. package/scheduler/lib/views/timeline-day/scheduler-timeline-day-view.component.d.ts +0 -39
  621. package/scheduler/lib/views/timeline-month/scheduler-timeline-month-view.component.d.ts +0 -47
  622. package/scheduler/lib/views/timeline-multi-day/scheduler-timeline-multi-day-view.component.d.ts +0 -40
  623. package/scheduler/lib/views/week/scheduler-week-view.component.d.ts +0 -74
  624. package/scss/lib/scss.module.d.ts +0 -7
  625. package/search-box/lib/search-box.component.d.ts +0 -40
  626. package/search-box/lib/search-box.module.d.ts +0 -14
  627. package/select-box/lib/select-box.component.d.ts +0 -139
  628. package/select-box/lib/select-box.module.d.ts +0 -20
  629. package/selection-list/lib/selection-list.component.d.ts +0 -77
  630. package/selection-list/lib/selection-list.module.d.ts +0 -13
  631. package/side-menu/lib/side-menu-item/side-menu-item.component.d.ts +0 -30
  632. package/side-menu/lib/side-menu.component.d.ts +0 -39
  633. package/side-menu/lib/side-menu.directive.d.ts +0 -14
  634. package/side-menu/lib/side-menu.module.d.ts +0 -15
  635. package/skeleton/lib/skeleton.component.d.ts +0 -18
  636. package/skeleton/lib/skeleton.module.d.ts +0 -8
  637. package/slider/lib/slider.component.d.ts +0 -92
  638. package/slider/lib/slider.module.d.ts +0 -10
  639. package/sliding-item/lib/sliding-item/sliding-item.component.d.ts +0 -13
  640. package/sliding-item/lib/sliding-item-prefix/sliding-item-prefix.component.d.ts +0 -11
  641. package/sliding-item/lib/sliding-item-suffix/sliding-item-suffix.component.d.ts +0 -11
  642. package/sliding-item/lib/sliding-item.module.d.ts +0 -11
  643. package/step-wizard/lib/step-wizard-item/step-wizard-item.component.d.ts +0 -21
  644. package/step-wizard/lib/step-wizard.class.d.ts +0 -7
  645. package/step-wizard/lib/step-wizard.component.d.ts +0 -63
  646. package/step-wizard/lib/step-wizard.directive.d.ts +0 -11
  647. package/step-wizard/lib/step-wizard.module.d.ts +0 -13
  648. package/switch/lib/switch-content.component.d.ts +0 -10
  649. package/switch/lib/switch.component.d.ts +0 -29
  650. package/switch/lib/switch.module.d.ts +0 -10
  651. package/tabs/lib/tab-content.directive.d.ts +0 -11
  652. package/tabs/lib/tab-item.component.d.ts +0 -56
  653. package/tabs/lib/tabs.class.d.ts +0 -8
  654. package/tabs/lib/tabs.component.d.ts +0 -76
  655. package/tabs/lib/tabs.module.d.ts +0 -12
  656. package/tag/lib/tag.component.d.ts +0 -16
  657. package/tag/lib/tag.module.d.ts +0 -8
  658. package/tag-box/lib/tag-box.component.d.ts +0 -32
  659. package/tag-box/lib/tag-box.module.d.ts +0 -7
  660. package/text-area/lib/text-area.component.d.ts +0 -41
  661. package/text-area/lib/text-area.module.d.ts +0 -9
  662. package/text-box/lib/mask-options.directive.d.ts +0 -17
  663. package/text-box/lib/text-box.component.d.ts +0 -61
  664. package/text-box/lib/text-box.module.d.ts +0 -13
  665. package/time-duration/lib/time-duration.component.d.ts +0 -37
  666. package/time-duration/lib/time-duration.module.d.ts +0 -7
  667. package/time-duration/lib/time-duration.type.d.ts +0 -1
  668. package/time-line/lib/time-line-item.component.d.ts +0 -14
  669. package/time-line/lib/time-line.component.d.ts +0 -9
  670. package/time-line/lib/time-line.module.d.ts +0 -9
  671. package/toast/lib/toast.class.d.ts +0 -27
  672. package/toast/lib/toast.component.d.ts +0 -44
  673. package/toast/lib/toast.config.d.ts +0 -14
  674. package/toast/lib/toast.module.d.ts +0 -13
  675. package/toast/lib/toast.service.d.ts +0 -34
  676. package/toolbar/lib/toolbar.component.d.ts +0 -12
  677. package/toolbar/lib/toolbar.module.d.ts +0 -8
  678. package/tooltip/lib/tooltip.component.d.ts +0 -21
  679. package/tooltip/lib/tooltip.directive.d.ts +0 -29
  680. package/tooltip/lib/tooltip.module.d.ts +0 -10
  681. package/tree-view/lib/tree-view-item.component.d.ts +0 -20
  682. package/tree-view/lib/tree-view.class.d.ts +0 -47
  683. package/tree-view/lib/tree-view.component.d.ts +0 -98
  684. package/tree-view/lib/tree-view.component.module.d.ts +0 -16
  685. package/uploader/lib/uploader-browse-handle.directive.d.ts +0 -11
  686. package/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.d.ts +0 -24
  687. package/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.d.ts +0 -12
  688. package/uploader/lib/uploader-list/uploader-list.component.d.ts +0 -12
  689. package/uploader/lib/uploader-zone.directive.d.ts +0 -31
  690. package/uploader/lib/uploader.models.d.ts +0 -52
  691. package/uploader/lib/uploader.module.d.ts +0 -21
  692. package/uploader/lib/uploader.service.d.ts +0 -30
  693. package/video-player/lib/video-player/video-player.component.d.ts +0 -6
  694. package/video-player/lib/video-player.module.d.ts +0 -7
  695. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +0 -40
  696. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.d.ts +0 -28
  697. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +0 -40
  698. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.d.ts +0 -37
  699. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.d.ts +0 -16
  700. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.d.ts +0 -30
  701. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.d.ts +0 -20
  702. package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +0 -16
  703. package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +0 -11
  704. package/wysiwyg/lib/wysiwyg.module.d.ts +0 -21
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-menu.mjs","sources":["../../../../packages/components/menu/src/lib/menu.service.ts","../../../../packages/components/menu/src/lib/menu.types.ts","../../../../packages/components/menu/src/lib/menu-item.component.ts","../../../../packages/components/menu/src/lib/menu-item.component.html","../../../../packages/components/menu/src/lib/context-menu.component.ts","../../../../packages/components/menu/src/lib/menu.component.html","../../../../packages/components/menu/src/lib/menu.component.ts","../../../../packages/components/menu/src/lib/menu.module.ts","../../../../packages/components/menu/src/acorex-components-menu.ts"],"sourcesContent":["import { AXPoint } from '@acorex/core/utils';\nimport { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXMenuItemComponentBase, AXRootMenu } from './menu.types';\n\n@Injectable()\nexport class AXMenuService {\n public closeAll$: Subject<void> = new Subject();\n public open$: Subject<AXMenuItemComponentBase> = new Subject();\n public close$: Subject<AXMenuItemComponentBase> = new Subject();\n public closeExcept$ = new Subject<AXMenuItemComponentBase>();\n\n public openContextMenu$ = new Subject<{ sender: AXRootMenu; point: AXPoint }>();\n public closeAllContextMenu$ = new Subject<{ sender: AXRootMenu }>();\n}\n","import { AXOrientation, AXStyleColorType, NXClickEvent, NXComponent } from '@acorex/cdk/common';\nimport { OutputEmitterRef, WritableSignal } from '@angular/core';\n\nexport type AXMenuOpenTrigger = 'click' | 'hover';\nexport type AXMenuCloseTrigger = 'click' | 'leave';\n\nexport abstract class AXRootMenu {\n orientation: WritableSignal<AXOrientation>;\n openOn: WritableSignal<AXMenuOpenTrigger>;\n closeOn: WritableSignal<AXMenuCloseTrigger>;\n onItemClick: OutputEmitterRef<AXMenuItemClickBaseEvent>;\n nativeElement: HTMLDivElement;\n hasArrow: WritableSignal<boolean>;\n}\n\nexport abstract class AXMenuItemComponentBase {}\n\nexport abstract class AXMenuItem {\n color?: AXStyleColorType;\n name?: string;\n text: string;\n data?: any;\n icon?: string;\n disabled?: boolean;\n items?: AXMenuItem[];\n suffix?: {\n text: string;\n };\n break?: boolean;\n group?: {\n name?: string;\n title?: string;\n };\n}\n\nexport class AXMenuItemClickBaseEvent<T extends NXComponent = NXComponent> extends NXClickEvent<T> {\n item: {\n name?: string;\n text: string;\n data?: any;\n };\n canceled = false;\n}\n","import { AXComponent, AXStyleColorType, NXComponent } from '@acorex/cdk/common';\nimport { AXHtmlUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostBinding,\n HostListener,\n inject,\n input,\n OnDestroy,\n output,\n Renderer2,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXMenuService } from './menu.service';\nimport { AXMenuItemClickBaseEvent, AXMenuItemComponentBase, AXRootMenu } from './menu.types';\n\nexport type AXMenuItemClickEvent = AXMenuItemClickBaseEvent<AXMenuItemComponent>;\n\n/**\n * Represents a menu item component used within an `ax-menu`.\n * @category Components\n */\n@Component({\n selector: 'ax-menu-item',\n templateUrl: './menu-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXMenuItemComponentBase,\n useExisting: AXMenuItemComponent,\n },\n AXUnsubscriber,\n {\n provide: AXComponent,\n useExisting: AXMenuItemComponent,\n },\n ],\n})\nexport class AXMenuItemComponent extends NXComponent implements OnDestroy {\n protected isOpen = signal(false);\n protected hasSubItems = signal(false);\n protected isFirstLevel = signal(false);\n private mutationObserver!: MutationObserver;\n\n protected root = inject(AXRootMenu);\n protected parent?: AXMenuItemComponent | null;\n protected isRoot = () => this.parent == null;\n\n private service = inject(AXMenuService);\n private scrollableParents: HTMLElement[] = [];\n\n private unsuscriber = inject(AXUnsubscriber);\n private renderer = inject(Renderer2);\n\n protected arrowIcon = computed(() => {\n const isRtl = AXHtmlUtil.isRtl(this.nativeElement);\n return this.root.orientation() == 'horizontal' && this.isFirstLevel()\n ? 'ax-icon-chevron-down'\n : isRtl\n ? 'ax-icon-chevron-left'\n : 'ax-icon-chevron-right';\n });\n\n onClick = output<AXMenuItemClickEvent>();\n\n name = input<string>();\n data = input<any>();\n disabled = input<boolean>();\n color = input<AXStyleColorType>();\n\n constructor() {\n super();\n //\n afterNextRender(() => {\n this.detectSubItems();\n this.observeMutations();\n this.bindScrollEvents();\n });\n //\n this.service.closeAll$.pipe(this.unsuscriber.takeUntilDestroy).subscribe(() => this.close());\n\n this.service.open$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n if ((this as any) === item) {\n this.isOpen.set(true);\n this.calculatePosition();\n }\n });\n //\n this.service.close$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n if ((this as any) == item) {\n this.isOpen.set(false);\n }\n });\n //\n this.service.closeExcept$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n this.closeExcept(item as AXMenuItemComponent);\n });\n }\n\n private closeExcept(item: AXMenuItemComponent) {\n const list: AXMenuItemComponent[] = [item];\n // TODO: Check for better solution\n const parentEl = this.nativeElement.parentElement?.parentElement;\n this.parent = parentEl?.tagName == 'AX-MENU-ITEM' ? (parentEl?.['__axContext__'] as AXMenuItemComponent) : null;\n //\n let parent = item.parent;\n while (parent != null) {\n list.push(parent);\n parent = parent.parent;\n }\n //\n if (!list.includes(this)) {\n this.close();\n }\n }\n\n private observeMutations() {\n this.mutationObserver = new MutationObserver(() => {\n this.detectSubItems();\n });\n\n // Start observing changes in child elements\n this.mutationObserver.observe(this.nativeElement, {\n childList: true,\n subtree: true,\n });\n }\n\n private getText(): string {\n return this.nativeElement.querySelector<HTMLDivElement>('ax-text')?.innerText;\n }\n\n /**\n * Manually detect all `ax-menu-item` elements and check if this menu item has sub-items.\n */\n private detectSubItems() {\n //\n const parentEl = this.nativeElement.parentElement?.parentElement;\n this.parent = parentEl?.tagName == 'AX-MENU-ITEM' ? (parentEl?.['__axContext__'] as AXMenuItemComponent) : null;\n //\n const tag = this.nativeElement.parentElement?.tagName;\n this.isFirstLevel.set(tag == 'AX-MENU' || tag == 'AX-CONTEXT-MENU');\n const subItems = this.nativeElement.querySelectorAll('ax-menu-item');\n if (subItems.length > 0) {\n this.hasSubItems.set(true);\n } else {\n this.hasSubItems.set(false);\n }\n }\n\n open() {\n this.service.closeExcept$.next(this);\n if (!this.disabled() && this.hasSubItems()) {\n this.service.open$.next(this);\n }\n }\n\n close() {\n this.service.close$.next(this);\n }\n\n /**\n * Calculate the position of the submenu to avoid it going out of the viewport.\n */\n private calculatePosition() {\n const submenu = this.nativeElement.querySelector('.ax-menu-items');\n if (!submenu) return;\n\n const submenuRect = submenu.getBoundingClientRect();\n const itemRect = this.nativeElement.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n const isRtl = AXHtmlUtil.isRtl(this.nativeElement);\n\n let top: number | null = null;\n let left: number | null = null;\n\n // For first-level menu items\n if (this.isFirstLevel() && this.root.orientation() === 'horizontal') {\n top =\n itemRect.bottom + submenuRect.height > windowHeight\n ? itemRect.top - submenuRect.height // Open upwards\n : itemRect.bottom; // Open downwards\n\n if (isRtl) {\n // RTL: Align to the right of the parent item\n left =\n itemRect.right - submenuRect.width < 0\n ? itemRect.left // Align to the left if not enough space on the right\n : itemRect.right - submenuRect.width; // Open to the left in RTL\n } else {\n // LTR: Align to the left of the parent item\n left =\n itemRect.left + submenuRect.width > windowWidth\n ? itemRect.right - submenuRect.width // Align to the right edge in LTR\n : itemRect.left; // Open to the left\n }\n } else {\n // For nested submenus\n if (isRtl) {\n // RTL: Nested submenu opens to the left\n left =\n itemRect.left - submenuRect.width < 0\n ? itemRect.right // Align to the right if not enough space on the left\n : itemRect.left - submenuRect.width; // Open to the left in RTL\n } else {\n // LTR: Nested submenu opens to the right\n left =\n itemRect.right + submenuRect.width > windowWidth\n ? itemRect.left - submenuRect.width // Open to the left if not enough space\n : itemRect.right; // Open to the right in LTR\n }\n\n // Adjust top position (align vertically with parent)\n top =\n itemRect.top + submenuRect.height > windowHeight\n ? itemRect.top - (itemRect.bottom + submenuRect.height - windowHeight) // Adjust upwards\n : itemRect.top; // Align with the parent item\n }\n\n // Apply calculated styles for RTL/LTR\n this.renderer.setStyle(submenu, 'left', `${left}px`);\n this.renderer.setStyle(submenu, 'top', `${top}px`);\n this.renderer.setStyle(submenu, 'position', 'fixed'); // Fixed position relative to the viewport\n }\n\n @HostListener('click', ['$event'])\n private handleClick(e: MouseEvent) {\n e.stopPropagation();\n if (this.disabled()) return;\n //\n const event = {\n sender: this,\n nativeEvent: e,\n canceled: false,\n item: {\n name: this.name(),\n text: this.getText(),\n data: this.data(),\n },\n } as AXMenuItemClickEvent;\n //\n this.onClick.emit(event);\n this.root.onItemClick.emit({ ...event, ...{ sender: this.root as any } });\n //\n if (this.hasSubItems() && !event.canceled) {\n this.open();\n } else if (!event.canceled) {\n this.service.closeAll$.next();\n this.service.closeAllContextMenu$.next({ sender: this.root });\n }\n }\n\n @HostListener('mouseenter', ['$event'])\n private handleMouseEnter(event: MouseEvent) {\n event.stopPropagation();\n // Cancel the close delay if the mouse re-enters the element\n if (this.mouseLeaveTimeout) {\n clearTimeout(this.mouseLeaveTimeout);\n this.mouseLeaveTimeout = null; // Reset the timeout\n }\n if (!this.isFirstLevel() || this.root.openOn() == 'hover') {\n this.open();\n }\n }\n\n private mouseLeaveTimeout: any;\n\n @HostListener('mouseleave', ['$event'])\n private handleMouseLeave(event: MouseEvent) {\n event.stopPropagation();\n\n if (this.hasSubItems() && this.root.closeOn() === 'leave') {\n // Clear any previous timeout to avoid multiple triggers\n if (this.mouseLeaveTimeout) {\n clearTimeout(this.mouseLeaveTimeout);\n }\n\n // Set a delay before closing the submenu\n this.mouseLeaveTimeout = setTimeout(() => {\n this.close();\n }, 500); // Adjust the delay (500ms in this case) as per your requirement\n }\n }\n\n @HostListener('window:scroll', ['$event'])\n @HostListener('window:resize', ['$event'])\n private onWindowEvent() {\n this.service.closeAll$.next(); // Close all menus on scroll or resize\n }\n\n /**\n * Close all menus if clicking outside the root menu and all sub-items.\n */\n @HostListener('document:click', ['$event'])\n private onClickOutside(event: MouseEvent) {\n const hostElement = this.root.nativeElement;\n if (!hostElement.contains(event.target as Node)) {\n this.service.closeAll$.next(); // Close all menus if click is outside the root and sub-items\n }\n }\n\n ngOnDestroy() {\n this.removeScrollEvents();\n }\n\n private bindScrollEvents() {\n this.scrollableParents = AXHtmlUtil.getScrollableParents(this.nativeElement);\n\n this.scrollableParents.forEach((parent) => {\n parent.addEventListener('scroll', this.onContainerScroll.bind(this));\n });\n }\n\n // Remove scroll event listeners\n private removeScrollEvents() {\n this.scrollableParents.forEach((parent) => {\n parent.removeEventListener('scroll', this.onContainerScroll.bind(this));\n });\n }\n\n /**\n * Handler for scroll events (window or scrollable parent containers)\n */\n private onContainerScroll() {\n this.service.closeAll$.next(); // Close all menus on scroll\n }\n\n /** @ignore */\n @HostBinding('class')\n get __hostClass(): string[] {\n const list: string[] = ['ax-action-item'];\n if (this.disabled()) {\n list.push('ax-state-disabled');\n }\n list.push(`ax-${this.color() ?? 'default'}`);\n\n return list;\n }\n}\n","<div class=\"ax-action-item-prefix\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n</div>\n<div class=\"ax-action-item-suffix\">\n <ng-content select=\"ax-suffix\"></ng-content>\n @if (hasSubItems() && (!isRoot() || root?.hasArrow())) {\n <i class=\"ax-icon ax-icon-solid {{ arrowIcon() }} \"></i>\n }\n</div>\n<div class=\"ax-menu-items ax-action-list ax-action-list-vertical\" [class.ax-state-open]=\"isOpen()\">\n <ng-content select=\"ax-menu-item,ax-title,ax-divider,ng-container\"></ng-content>\n</div>\n","import { AXComponent, AXOrientation, NXComponent, NXEvent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { isBrowser } from '@acorex/core/platform';\nimport { AXHtmlUtil, AXPoint } from '@acorex/core/utils';\nimport { DOCUMENT, isPlatformBrowser, NgFor, NgTemplateOutlet } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n inject,\n input,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXMenuItemComponent } from './menu-item.component';\nimport { AXMenuService } from './menu.service';\nimport { AXMenuCloseTrigger, AXMenuItem, AXMenuItemClickBaseEvent, AXMenuOpenTrigger, AXRootMenu } from './menu.types';\n\nexport class AXContextMenuOpeningEvent extends NXEvent<AXContextMenuComponent> {\n items: AXMenuItem[];\n canceled = false;\n targetElement: HTMLElement;\n}\nexport type AXContextMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXContextMenuComponent>;\n\n/**\n * Represents a menu component that displays context menu.\n * @category Components\n */\n@Component({\n selector: 'ax-context-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXMenuService,\n {\n provide: AXRootMenu,\n useExisting: AXContextMenuComponent,\n },\n {\n provide: AXComponent,\n useExisting: AXContextMenuComponent,\n },\n ],\n imports: [NgFor, NgTemplateOutlet, AXDecoratorGenericComponent, AXMenuItemComponent, AXDecoratorIconComponent],\n})\nexport class AXContextMenuComponent extends NXComponent {\n // Inputs and Outputs\n\n orientation = input<AXOrientation>('vertical');\n openOn = input<AXMenuOpenTrigger>('hover');\n closeOn = input<AXMenuCloseTrigger>('click');\n orginalItems = input<AXMenuItem[]>([], { alias: 'items' });\n target = input<HTMLElement | HTMLElement[] | string>();\n\n onItemClick = output<AXContextMenuItemsClickEvent>();\n onOpening = output<AXContextMenuOpeningEvent>();\n\n hasArrow = signal<boolean>(true);\n\n // Injected Services\n\n private service = inject(AXMenuService);\n private renderer = inject(Renderer2);\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n // Constructor (Dependency Injection)\n\n /** @ignore */\n constructor() {\n super();\n //\n afterNextRender(() => {\n this.bindContextEvent();\n });\n\n this.service.closeAllContextMenu$.subscribe(() => {\n this.service.closeAll$.next();\n this.close();\n });\n\n this.service.openContextMenu$.subscribe((e) => {\n if ((e.sender as any) == this) {\n this.internalShowAt(e.point);\n }\n });\n }\n\n // Lifecycle Hooks\n\n ngOnDestroy() {\n if (isBrowser()) {\n this.removeContextEvent();\n }\n }\n\n public refresh() {\n this.bindContextEvent();\n }\n\n // Public Methods\n\n public showAt(point: AXPoint) {\n const sender = this as any as AXRootMenu;\n this.service.closeAllContextMenu$.next({ sender });\n this.service.openContextMenu$.next({ sender, point });\n }\n\n public close() {\n this.nativeElement.classList.remove('ax-state-open');\n this.removeBackdrop();\n }\n\n // Private Properties\n\n private backdropElement!: HTMLElement;\n\n protected items = signal<AXMenuItem[]>([]);\n\n // Private Methods (Internal Logic)\n\n /** @ignore */\n private getTargetElements(): HTMLElement[] {\n if (isPlatformBrowser(this.platformID)) {\n const elements: HTMLElement[] =\n typeof this.target() == 'string'\n ? Array.from(this.document.querySelectorAll<HTMLElement>(this.target() as string))\n : Array.isArray(this.target())\n ? (this.target() as HTMLElement[])\n : [this.target() as HTMLElement];\n\n return elements;\n }\n return null;\n }\n\n /** @ignore */\n private bindContextEvent() {\n this.getTargetElements().forEach((e) => {\n e?.addEventListener('contextmenu', this.handleContextMenu.bind(this));\n });\n }\n\n /** @ignore */\n private removeContextEvent() {\n this.getTargetElements().forEach((e) => {\n e?.removeEventListener('contextmenu', this.handleContextMenu.bind(this));\n });\n }\n\n /** @ignore */\n private handleContextMenu(e: MouseEvent) {\n e.preventDefault();\n e.stopPropagation();\n //\n if (isPlatformBrowser(this.platformID)) {\n const elementsUnderMouse = this.document.elementsFromPoint(e.x, e.y) as HTMLElement[];\n const targetElements = this.getTargetElements();\n const targetElement = elementsUnderMouse.find((target) => targetElements.includes(target));\n //\n const event = {\n sender: this,\n canceled: false,\n targetElement: targetElement,\n items: cloneDeep(this.orginalItems()),\n } as AXContextMenuOpeningEvent;\n this.onOpening.emit(event);\n this.items.set(event.items);\n //\n if (!event.canceled) {\n this.showAt({ x: e.clientX, y: e.clientY });\n }\n }\n }\n\n /** @ignore */\n private internalShowAt(point: AXPoint) {\n const elementRef = this.nativeElement;\n elementRef.classList.add('ax-state-open');\n const itemRect = elementRef.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n // Detect RTL (Right-To-Left) mode\n const isRtl = AXHtmlUtil.isRtl(elementRef);\n\n let left: number;\n if (isRtl) {\n left = point.x - itemRect.width;\n if (left < 0) {\n left = point.x;\n }\n } else {\n left = point.x;\n if (left + itemRect.width > windowWidth) {\n left = point.x - itemRect.width;\n }\n }\n\n const bottom = point.y + itemRect.height;\n let top: number;\n\n if (bottom > windowHeight) {\n top = point.y - itemRect.height;\n if (top < 0) {\n top = 0;\n }\n } else {\n top = point.y;\n }\n\n this.renderer.setStyle(elementRef, 'left', `${left}px`);\n this.renderer.setStyle(elementRef, 'top', `${top}px`);\n this.renderer.setStyle(elementRef, 'position', 'fixed');\n\n this.createBackdrop();\n }\n\n /** @ignore */\n private createBackdrop() {\n this.backdropElement = this.renderer.createElement('div');\n this.renderer.setStyle(this.backdropElement, 'position', 'fixed');\n this.renderer.setStyle(this.backdropElement, 'top', '0');\n this.renderer.setStyle(this.backdropElement, 'left', '0');\n this.renderer.setStyle(this.backdropElement, 'width', '100%');\n this.renderer.setStyle(this.backdropElement, 'height', '100%');\n this.renderer.setStyle(this.backdropElement, 'z-index', '1000'); // Ensure it's below the context menu\n this.renderer.setStyle(this.backdropElement, 'background', 'transparent');\n\n this.createEventListeners(this.backdropElement);\n\n this.document.body.appendChild(this.backdropElement);\n this.backdropElement.appendChild(this.nativeElement);\n }\n\n /** @ignore */\n private removeBackdrop() {\n if (this.backdropElement) {\n if (this.backdropElement.parentNode) {\n this.backdropElement.parentNode.removeChild(this.backdropElement);\n }\n this.backdropElement = null;\n }\n }\n\n private createEventListeners(el: HTMLElement) {\n const l1 = this.renderer.listen(el, 'click', () => {\n this.close();\n l1();\n });\n\n const l2 = this.renderer.listen(el, 'wheel', () => {\n this.close();\n l2();\n });\n\n const l3 = this.renderer.listen(el, 'contextmenu', (e: MouseEvent) => {\n this.close();\n // Get all elements under the mouse pointer\n if (isPlatformBrowser(this.platformID)) {\n const elementsUnderMouse = this.document.elementsFromPoint(e.x, e.y) as HTMLElement[];\n const targetElements = this.getTargetElements();\n if (targetElements.some((target) => elementsUnderMouse.includes(target))) {\n e.preventDefault();\n setTimeout(() => {\n //this.internalShowAt({ x: e.x, y: e.y });\n this.handleContextMenu(e);\n });\n }\n }\n l3();\n });\n }\n\n // Host Listeners (UI Interaction Handling)\n\n /** @ignore */\n @HostListener('window:scroll', ['$event'])\n @HostListener('window:resize', ['$event'])\n private onWindowEvent() {\n const sender = this as any as AXRootMenu;\n this.service.closeAllContextMenu$.next({ sender: sender }); // Close all menus on scroll or resize\n }\n\n /** @ignore */\n @HostBinding('class')\n get __hostClass(): any {\n return ['ax-menu-container', `ax-orientation-${this.orientation()}`, 'ax-action-list', 'ax-action-list-vertical'];\n }\n}\n","<ng-content select=\"ax-menu-item,ax-divider,ax-title,ng-container\"></ng-content>\n\n<ng-container\n *ngFor=\"let node of items()\"\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: node }\"\n>\n</ng-container>\n\n<ng-template #Recursion let-item>\n @if (item.group?.title) {\n <ax-title>{{ item.group?.title }}</ax-title>\n }\n <ax-menu-item [name]=\"item.name\" [data]=\"item.data\" [disabled]=\"item.disabled\" [color]=\"item.color\">\n @if (item.icon) {\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"> </ax-icon>\n </ax-prefix>\n }\n @if (item.text) {\n <ax-text>{{ item.text }}</ax-text>\n }\n @if (item.suffix) {\n <ax-suffix>\n <ax-text>{{ item.suffix.text }}</ax-text>\n </ax-suffix>\n }\n <ng-container\n *ngFor=\"let child of item.items\"\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-container>\n </ax-menu-item>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n</ng-template>\n","import { AXComponent, AXOrientation, NXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { NgFor, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n inject,\n input,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXMenuItemComponent } from './menu-item.component';\nimport { AXMenuService } from './menu.service';\nimport { AXMenuCloseTrigger, AXMenuItem, AXMenuItemClickBaseEvent, AXMenuOpenTrigger, AXRootMenu } from './menu.types';\n\nexport type AXMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXMenuComponent>;\n\n/**\n * Represents a menu component that displays menu items.\n * @category Components\n */\n@Component({\n selector: 'ax-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n AXMenuService,\n {\n provide: AXRootMenu,\n useExisting: AXMenuComponent,\n },\n {\n provide: AXComponent,\n useExisting: AXMenuComponent,\n },\n ],\n imports: [NgFor, NgTemplateOutlet, AXDecoratorGenericComponent, AXMenuItemComponent, AXDecoratorIconComponent],\n})\nexport class AXMenuComponent extends NXComponent {\n orientation = input<AXOrientation>('horizontal');\n\n openOn = input<AXMenuOpenTrigger>('hover');\n\n closeOn = input<AXMenuCloseTrigger>('leave');\n\n service = inject(AXMenuService);\n\n onItemClick = output<AXMenuItemsClickEvent>();\n\n items = input<AXMenuItem[]>([]);\n\n hasArrow = input<boolean>(true);\n\n /** @ignore */\n @HostBinding('class')\n get __hostClass(): string[] {\n return [\n 'ax-root-menu',\n 'ax-action-list',\n `ax-action-list-${this.orientation()}`,\n `${!this.hasArrow() ? 'ax-hide-arrow' : ''}`,\n ];\n }\n\n public close() {\n this.service.closeAll$.next();\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXContextMenuComponent } from './context-menu.component';\nimport { AXMenuItemComponent } from './menu-item.component';\nimport { AXMenuComponent } from './menu.component';\n\nconst COMPONENT = [AXMenuItemComponent, AXMenuComponent, AXContextMenuComponent];\nconst MODULES = [AXDecoratorModule, AXLoadingModule, AXTranslationModule, OverlayModule, AXPopoverModule];\n\n@NgModule({\n imports: [CommonModule, ...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-menu.mjs","sources":["../tmp-esm2022/menu/lib/menu.service.js","../tmp-esm2022/menu/lib/menu.types.js","../tmp-esm2022/menu/lib/menu-item.component.js","../tmp-esm2022/menu/lib/context-menu.component.js","../tmp-esm2022/menu/lib/menu.component.js","../tmp-esm2022/menu/lib/menu.module.js","../tmp-esm2022/menu/acorex-components-menu.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class AXMenuService {\n constructor() {\n this.closeAll$ = new Subject();\n this.open$ = new Subject();\n this.close$ = new Subject();\n this.closeExcept$ = new Subject();\n this.openContextMenu$ = new Subject();\n this.closeAllContextMenu$ = new Subject();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXMenuService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXMenuService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9tZW51L3NyYy9saWIvbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFJL0IsTUFBTSxPQUFPLGFBQWE7SUFEMUI7UUFFUyxjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekMsVUFBSyxHQUFxQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3hELFdBQU0sR0FBcUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN6RCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUEyQixDQUFDO1FBRXRELHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUEwQyxDQUFDO1FBQ3pFLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUEwQixDQUFDO0tBQ3JFOzhHQVJZLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUG9pbnQgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhNZW51SXRlbUNvbXBvbmVudEJhc2UsIEFYUm9vdE1lbnUgfSBmcm9tICcuL21lbnUudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNZW51U2VydmljZSB7XG4gIHB1YmxpYyBjbG9zZUFsbCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgb3BlbiQ6IFN1YmplY3Q8QVhNZW51SXRlbUNvbXBvbmVudEJhc2U+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIGNsb3NlJDogU3ViamVjdDxBWE1lbnVJdGVtQ29tcG9uZW50QmFzZT4gPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgY2xvc2VFeGNlcHQkID0gbmV3IFN1YmplY3Q8QVhNZW51SXRlbUNvbXBvbmVudEJhc2U+KCk7XG5cbiAgcHVibGljIG9wZW5Db250ZXh0TWVudSQgPSBuZXcgU3ViamVjdDx7IHNlbmRlcjogQVhSb290TWVudTsgcG9pbnQ6IEFYUG9pbnQgfT4oKTtcbiAgcHVibGljIGNsb3NlQWxsQ29udGV4dE1lbnUkID0gbmV3IFN1YmplY3Q8eyBzZW5kZXI6IEFYUm9vdE1lbnUgfT4oKTtcbn1cbiJdfQ==","import { NXClickEvent } from '@acorex/cdk/common';\nexport class AXRootMenu {\n}\nexport class AXMenuItemComponentBase {\n}\nexport class AXMenuItem {\n}\nexport class AXMenuItemClickBaseEvent extends NXClickEvent {\n constructor() {\n super(...arguments);\n this.canceled = false;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQyxZQUFZLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQU1oRyxNQUFNLE9BQWdCLFVBQVU7Q0FPL0I7QUFFRCxNQUFNLE9BQWdCLHVCQUF1QjtDQUFHO0FBRWhELE1BQU0sT0FBZ0IsVUFBVTtDQWdCL0I7QUFFRCxNQUFNLE9BQU8sd0JBQThELFNBQVEsWUFBZTtJQUFsRzs7UUFNRSxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ25CLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYT3JpZW50YXRpb24sIEFYU3R5bGVDb2xvclR5cGUsIE5YQ2xpY2tFdmVudCwgTlhDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgT3V0cHV0RW1pdHRlclJlZiwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQVhNZW51T3BlblRyaWdnZXIgPSAnY2xpY2snIHwgJ2hvdmVyJztcbmV4cG9ydCB0eXBlIEFYTWVudUNsb3NlVHJpZ2dlciA9ICdjbGljaycgfCAnbGVhdmUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhSb290TWVudSB7XG4gIG9yaWVudGF0aW9uOiBXcml0YWJsZVNpZ25hbDxBWE9yaWVudGF0aW9uPjtcbiAgb3Blbk9uOiBXcml0YWJsZVNpZ25hbDxBWE1lbnVPcGVuVHJpZ2dlcj47XG4gIGNsb3NlT246IFdyaXRhYmxlU2lnbmFsPEFYTWVudUNsb3NlVHJpZ2dlcj47XG4gIG9uSXRlbUNsaWNrOiBPdXRwdXRFbWl0dGVyUmVmPEFYTWVudUl0ZW1DbGlja0Jhc2VFdmVudD47XG4gIG5hdGl2ZUVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuICBoYXNBcnJvdzogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWE1lbnVJdGVtQ29tcG9uZW50QmFzZSB7fVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhNZW51SXRlbSB7XG4gIGNvbG9yPzogQVhTdHlsZUNvbG9yVHlwZTtcbiAgbmFtZT86IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xuICBkYXRhPzogYW55O1xuICBpY29uPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGl0ZW1zPzogQVhNZW51SXRlbVtdO1xuICBzdWZmaXg/OiB7XG4gICAgdGV4dDogc3RyaW5nO1xuICB9O1xuICBicmVhaz86IGJvb2xlYW47XG4gIGdyb3VwPzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBBWE1lbnVJdGVtQ2xpY2tCYXNlRXZlbnQ8VCBleHRlbmRzIE5YQ29tcG9uZW50ID0gTlhDb21wb25lbnQ+IGV4dGVuZHMgTlhDbGlja0V2ZW50PFQ+IHtcbiAgaXRlbToge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGRhdGE/OiBhbnk7XG4gIH07XG4gIGNhbmNlbGVkID0gZmFsc2U7XG59XG4iXX0=","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXHtmlUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { afterNextRender, ChangeDetectionStrategy, Component, computed, HostBinding, HostListener, inject, input, output, Renderer2, signal, ViewEncapsulation, } from '@angular/core';\nimport { AXMenuService } from './menu.service';\nimport { AXMenuItemComponentBase, AXRootMenu } from './menu.types';\nimport * as i0 from \"@angular/core\";\n/**\n * Represents a menu item component used within an `ax-menu`.\n * @category Components\n */\nexport class AXMenuItemComponent extends NXComponent {\n constructor() {\n super();\n this.isOpen = signal(false);\n this.hasSubItems = signal(false);\n this.isFirstLevel = signal(false);\n this.root = inject(AXRootMenu);\n this.isRoot = () => this.parent == null;\n this.service = inject(AXMenuService);\n this.scrollableParents = [];\n this.unsuscriber = inject(AXUnsubscriber);\n this.renderer = inject(Renderer2);\n this.arrowIcon = computed(() => {\n const isRtl = AXHtmlUtil.isRtl(this.nativeElement);\n return this.root.orientation() == 'horizontal' && this.isFirstLevel()\n ? 'ax-icon-chevron-down'\n : isRtl\n ? 'ax-icon-chevron-left'\n : 'ax-icon-chevron-right';\n });\n this.onClick = output();\n this.name = input();\n this.data = input();\n this.disabled = input();\n this.color = input();\n //\n afterNextRender(() => {\n this.detectSubItems();\n this.observeMutations();\n this.bindScrollEvents();\n });\n //\n this.service.closeAll$.pipe(this.unsuscriber.takeUntilDestroy).subscribe(() => this.close());\n this.service.open$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n if (this === item) {\n this.isOpen.set(true);\n this.calculatePosition();\n }\n });\n //\n this.service.close$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n if (this == item) {\n this.isOpen.set(false);\n }\n });\n //\n this.service.closeExcept$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n this.closeExcept(item);\n });\n }\n closeExcept(item) {\n const list = [item];\n // TODO: Check for better solution\n const parentEl = this.nativeElement.parentElement?.parentElement;\n this.parent = parentEl?.tagName == 'AX-MENU-ITEM' ? parentEl?.['__axContext__'] : null;\n //\n let parent = item.parent;\n while (parent != null) {\n list.push(parent);\n parent = parent.parent;\n }\n //\n if (!list.includes(this)) {\n this.close();\n }\n }\n observeMutations() {\n this.mutationObserver = new MutationObserver(() => {\n this.detectSubItems();\n });\n // Start observing changes in child elements\n this.mutationObserver.observe(this.nativeElement, {\n childList: true,\n subtree: true,\n });\n }\n getText() {\n return this.nativeElement.querySelector('ax-text')?.innerText;\n }\n /**\n * Manually detect all `ax-menu-item` elements and check if this menu item has sub-items.\n */\n detectSubItems() {\n //\n const parentEl = this.nativeElement.parentElement?.parentElement;\n this.parent = parentEl?.tagName == 'AX-MENU-ITEM' ? parentEl?.['__axContext__'] : null;\n //\n const tag = this.nativeElement.parentElement?.tagName;\n this.isFirstLevel.set(tag == 'AX-MENU' || tag == 'AX-CONTEXT-MENU');\n const subItems = this.nativeElement.querySelectorAll('ax-menu-item');\n if (subItems.length > 0) {\n this.hasSubItems.set(true);\n }\n else {\n this.hasSubItems.set(false);\n }\n }\n open() {\n this.service.closeExcept$.next(this);\n if (!this.disabled() && this.hasSubItems()) {\n this.service.open$.next(this);\n }\n }\n close() {\n this.service.close$.next(this);\n }\n /**\n * Calculate the position of the submenu to avoid it going out of the viewport.\n */\n calculatePosition() {\n const submenu = this.nativeElement.querySelector('.ax-menu-items');\n if (!submenu)\n return;\n const submenuRect = submenu.getBoundingClientRect();\n const itemRect = this.nativeElement.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const isRtl = AXHtmlUtil.isRtl(this.nativeElement);\n let top = null;\n let left = null;\n // For first-level menu items\n if (this.isFirstLevel() && this.root.orientation() === 'horizontal') {\n top =\n itemRect.bottom + submenuRect.height > windowHeight\n ? itemRect.top - submenuRect.height // Open upwards\n : itemRect.bottom; // Open downwards\n if (isRtl) {\n // RTL: Align to the right of the parent item\n left =\n itemRect.right - submenuRect.width < 0\n ? itemRect.left // Align to the left if not enough space on the right\n : itemRect.right - submenuRect.width; // Open to the left in RTL\n }\n else {\n // LTR: Align to the left of the parent item\n left =\n itemRect.left + submenuRect.width > windowWidth\n ? itemRect.right - submenuRect.width // Align to the right edge in LTR\n : itemRect.left; // Open to the left\n }\n }\n else {\n // For nested submenus\n if (isRtl) {\n // RTL: Nested submenu opens to the left\n left =\n itemRect.left - submenuRect.width < 0\n ? itemRect.right // Align to the right if not enough space on the left\n : itemRect.left - submenuRect.width; // Open to the left in RTL\n }\n else {\n // LTR: Nested submenu opens to the right\n left =\n itemRect.right + submenuRect.width > windowWidth\n ? itemRect.left - submenuRect.width // Open to the left if not enough space\n : itemRect.right; // Open to the right in LTR\n }\n // Adjust top position (align vertically with parent)\n top =\n itemRect.top + submenuRect.height > windowHeight\n ? itemRect.top - (itemRect.bottom + submenuRect.height - windowHeight) // Adjust upwards\n : itemRect.top; // Align with the parent item\n }\n // Apply calculated styles for RTL/LTR\n this.renderer.setStyle(submenu, 'left', `${left}px`);\n this.renderer.setStyle(submenu, 'top', `${top}px`);\n this.renderer.setStyle(submenu, 'position', 'fixed'); // Fixed position relative to the viewport\n }\n handleClick(e) {\n e.stopPropagation();\n if (this.disabled())\n return;\n //\n const event = {\n sender: this,\n nativeEvent: e,\n canceled: false,\n item: {\n name: this.name(),\n text: this.getText(),\n data: this.data(),\n },\n };\n //\n this.onClick.emit(event);\n this.root.onItemClick.emit({ ...event, ...{ sender: this.root } });\n //\n if (this.hasSubItems() && !event.canceled) {\n this.open();\n }\n else if (!event.canceled) {\n this.service.closeAll$.next();\n this.service.closeAllContextMenu$.next({ sender: this.root });\n }\n }\n handleMouseEnter(event) {\n event.stopPropagation();\n // Cancel the close delay if the mouse re-enters the element\n if (this.mouseLeaveTimeout) {\n clearTimeout(this.mouseLeaveTimeout);\n this.mouseLeaveTimeout = null; // Reset the timeout\n }\n if (!this.isFirstLevel() || this.root.openOn() == 'hover') {\n this.open();\n }\n }\n handleMouseLeave(event) {\n event.stopPropagation();\n if (this.hasSubItems() && this.root.closeOn() === 'leave') {\n // Clear any previous timeout to avoid multiple triggers\n if (this.mouseLeaveTimeout) {\n clearTimeout(this.mouseLeaveTimeout);\n }\n // Set a delay before closing the submenu\n this.mouseLeaveTimeout = setTimeout(() => {\n this.close();\n }, 500); // Adjust the delay (500ms in this case) as per your requirement\n }\n }\n onWindowEvent() {\n this.service.closeAll$.next(); // Close all menus on scroll or resize\n }\n /**\n * Close all menus if clicking outside the root menu and all sub-items.\n */\n onClickOutside(event) {\n const hostElement = this.root.nativeElement;\n if (!hostElement.contains(event.target)) {\n this.service.closeAll$.next(); // Close all menus if click is outside the root and sub-items\n }\n }\n ngOnDestroy() {\n this.removeScrollEvents();\n }\n bindScrollEvents() {\n this.scrollableParents = AXHtmlUtil.getScrollableParents(this.nativeElement);\n this.scrollableParents.forEach((parent) => {\n parent.addEventListener('scroll', this.onContainerScroll.bind(this));\n });\n }\n // Remove scroll event listeners\n removeScrollEvents() {\n this.scrollableParents.forEach((parent) => {\n parent.removeEventListener('scroll', this.onContainerScroll.bind(this));\n });\n }\n /**\n * Handler for scroll events (window or scrollable parent containers)\n */\n onContainerScroll() {\n this.service.closeAll$.next(); // Close all menus on scroll\n }\n /** @ignore */\n get __hostClass() {\n const list = ['ax-action-item'];\n if (this.disabled()) {\n list.push('ax-state-disabled');\n }\n list.push(`ax-${this.color() ?? 'default'}`);\n return list;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: AXMenuItemComponent, isStandalone: true, selector: \"ax-menu-item\", inputs: { name: { classPropertyName: \"name\", publicName: \"name\", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: \"color\", publicName: \"color\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: \"onClick\" }, host: { listeners: { \"click\": \"handleClick($event)\", \"mouseenter\": \"handleMouseEnter($event)\", \"mouseleave\": \"handleMouseLeave($event)\", \"window:scroll\": \"onWindowEvent($event)\", \"window:resize\": \"onWindowEvent($event)\", \"document:click\": \"onClickOutside($event)\" }, properties: { \"class\": \"this.__hostClass\" } }, providers: [\n {\n provide: AXMenuItemComponentBase,\n useExisting: AXMenuItemComponent,\n },\n AXUnsubscriber,\n {\n provide: AXComponent,\n useExisting: AXMenuItemComponent,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-action-item-prefix\\\">\\n <ng-content select=\\\"ax-prefix\\\"></ng-content>\\n <ng-content select=\\\"ax-text\\\"></ng-content>\\n</div>\\n<div class=\\\"ax-action-item-suffix\\\">\\n <ng-content select=\\\"ax-suffix\\\"></ng-content>\\n @if (hasSubItems() && (!isRoot() || root?.hasArrow())) {\\n <i class=\\\"ax-icon ax-icon-solid {{ arrowIcon() }} \\\"></i>\\n }\\n</div>\\n<div class=\\\"ax-menu-items ax-action-list ax-action-list-vertical\\\" [class.ax-state-open]=\\\"isOpen()\\\">\\n <ng-content select=\\\"ax-menu-item,ax-title,ax-divider,ng-container\\\"></ng-content>\\n</div>\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXMenuItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-menu-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: AXMenuItemComponentBase,\n useExisting: AXMenuItemComponent,\n },\n AXUnsubscriber,\n {\n provide: AXComponent,\n useExisting: AXMenuItemComponent,\n },\n ], template: \"<div class=\\\"ax-action-item-prefix\\\">\\n <ng-content select=\\\"ax-prefix\\\"></ng-content>\\n <ng-content select=\\\"ax-text\\\"></ng-content>\\n</div>\\n<div class=\\\"ax-action-item-suffix\\\">\\n <ng-content select=\\\"ax-suffix\\\"></ng-content>\\n @if (hasSubItems() && (!isRoot() || root?.hasArrow())) {\\n <i class=\\\"ax-icon ax-icon-solid {{ arrowIcon() }} \\\"></i>\\n }\\n</div>\\n<div class=\\\"ax-menu-items ax-action-list ax-action-list-vertical\\\" [class.ax-state-open]=\\\"isOpen()\\\">\\n <ng-content select=\\\"ax-menu-item,ax-title,ax-divider,ng-container\\\"></ng-content>\\n</div>\\n\" }]\n }], ctorParameters: () => [], propDecorators: { handleClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }], handleMouseEnter: [{\n type: HostListener,\n args: ['mouseenter', ['$event']]\n }], handleMouseLeave: [{\n type: HostListener,\n args: ['mouseleave', ['$event']]\n }], onWindowEvent: [{\n type: HostListener,\n args: ['window:scroll', ['$event']]\n }, {\n type: HostListener,\n args: ['window:resize', ['$event']]\n }], onClickOutside: [{\n type: HostListener,\n args: ['document:click', ['$event']]\n }], __hostClass: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL21lbnUvc3JjL2xpYi9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBb0IsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBNEIsdUJBQXVCLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUk3Rjs7O0dBR0c7QUFrQkgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQVc7SUFnQ2xEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFoQ0EsV0FBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUc3QixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTFCLFdBQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJ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USxDQUFDO2dCQVNqQyxjQUFjO3NCQURyQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQW9DdEMsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbXBvbmVudCwgQVhTdHlsZUNvbG9yVHlwZSwgTlhDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhIdG1sVXRpbCwgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25EZXN0cm95LFxuICBvdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgc2lnbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhNZW51SXRlbUNsaWNrQmFzZUV2ZW50LCBBWE1lbnVJdGVtQ29tcG9uZW50QmFzZSwgQVhSb290TWVudSB9IGZyb20gJy4vbWVudS50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEFYTWVudUl0ZW1DbGlja0V2ZW50ID0gQVhNZW51SXRlbUNsaWNrQmFzZUV2ZW50PEFYTWVudUl0ZW1Db21wb25lbnQ+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBtZW51IGl0ZW0gY29tcG9uZW50IHVzZWQgd2l0aGluIGFuIGBheC1tZW51YC5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW1lbnUtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhNZW51SXRlbUNvbXBvbmVudEJhc2UsXG4gICAgICB1c2VFeGlzdGluZzogQVhNZW51SXRlbUNvbXBvbmVudCxcbiAgICB9LFxuICAgIEFYVW5zdWJzY3JpYmVyLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYTWVudUl0ZW1Db21wb25lbnQsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNZW51SXRlbUNvbXBvbmVudCBleHRlbmRzIE5YQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIGlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCBoYXNTdWJJdGVtcyA9IHNpZ25hbChmYWxzZSk7XG4gIHByb3RlY3RlZCBpc0ZpcnN0TGV2ZWwgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXIhOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHByb3RlY3RlZCByb290ID0gaW5qZWN0KEFYUm9vdE1lbnUpO1xuICBwcm90ZWN0ZWQgcGFyZW50PzogQVhNZW51SXRlbUNvbXBvbmVudCB8IG51bGw7XG4gIHByb3RlY3RlZCBpc1Jvb3QgPSAoKSA9PiB0aGlzLnBhcmVudCA9PSBudWxsO1xuXG4gIHByaXZhdGUgc2VydmljZSA9IGluamVjdChBWE1lbnVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzY3JvbGxhYmxlUGFyZW50czogSFRNTEVsZW1lbnRbXSA9IFtdO1xuXG4gIHByaXZhdGUgdW5zdXNjcmliZXIgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgcHJvdGVjdGVkIGFycm93SWNvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpc1J0bCA9IEFYSHRtbFV0aWwuaXNSdGwodGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcy5yb290Lm9yaWVudGF0aW9uKCkgPT0gJ2hvcml6b250YWwnICYmIHRoaXMuaXNGaXJzdExldmVsKClcbiAgICAgID8gJ2F4LWljb24tY2hldnJvbi1kb3duJ1xuICAgICAgOiBpc1J0bFxuICAgICAgICA/ICdheC1pY29uLWNoZXZyb24tbGVmdCdcbiAgICAgICAgOiAnYXgtaWNvbi1jaGV2cm9uLXJpZ2h0JztcbiAgfSk7XG5cbiAgb25DbGljayA9IG91dHB1dDxBWE1lbnVJdGVtQ2xpY2tFdmVudD4oKTtcblxuICBuYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICBkYXRhID0gaW5wdXQ8YW55PigpO1xuICBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGNvbG9yID0gaW5wdXQ8QVhTdHlsZUNvbG9yVHlwZT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vXG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIHRoaXMuZGV0ZWN0U3ViSXRlbXMoKTtcbiAgICAgIHRoaXMub2JzZXJ2ZU11dGF0aW9ucygpO1xuICAgICAgdGhpcy5iaW5kU2Nyb2xsRXZlbnRzKCk7XG4gICAgfSk7XG4gICAgLy9cbiAgICB0aGlzLnNlcnZpY2UuY2xvc2VBbGwkLnBpcGUodGhpcy51bnN1c2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcblxuICAgIHRoaXMuc2VydmljZS5vcGVuJC5waXBlKHRoaXMudW5zdXNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChpdGVtKSA9PiB7XG4gICAgICBpZiAoKHRoaXMgYXMgYW55KSA9PT0gaXRlbSkge1xuICAgICAgICB0aGlzLmlzT3Blbi5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlUG9zaXRpb24oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvL1xuICAgIHRoaXMuc2VydmljZS5jbG9zZSQucGlwZSh0aGlzLnVuc3VzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgaWYgKCh0aGlzIGFzIGFueSkgPT0gaXRlbSkge1xuICAgICAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vXG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlRXhjZXB0JC5waXBlKHRoaXMudW5zdXNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChpdGVtKSA9PiB7XG4gICAgICB0aGlzLmNsb3NlRXhjZXB0KGl0ZW0gYXMgQVhNZW51SXRlbUNvbXBvbmVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlRXhjZXB0KGl0ZW06IEFYTWVudUl0ZW1Db21wb25lbnQpIHtcbiAgICBjb25zdCBsaXN0OiBBWE1lbnVJdGVtQ29tcG9uZW50W10gPSBbaXRlbV07XG4gICAgLy8gVE9ETzogQ2hlY2sgZm9yIGJldHRlciBzb2x1dGlvblxuICAgIGNvbnN0IHBhcmVudEVsID0gdGhpcy5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ7XG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnRFbD8udGFnTmFtZSA9PSAnQVgtTUVOVS1JVEVNJyA/IChwYXJlbnRFbD8uWydfX2F4Q29udGV4dF9fJ10gYXMgQVhNZW51SXRlbUNvbXBvbmVudCkgOiBudWxsO1xuICAgIC8vXG4gICAgbGV0IHBhcmVudCA9IGl0ZW0ucGFyZW50O1xuICAgIHdoaWxlIChwYXJlbnQgIT0gbnVsbCkge1xuICAgICAgbGlzdC5wdXNoKHBhcmVudCk7XG4gICAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50O1xuICAgIH1cbiAgICAvL1xuICAgIGlmICghbGlzdC5pbmNsdWRlcyh0aGlzKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU11dGF0aW9ucygpIHtcbiAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICB0aGlzLmRldGVjdFN1Ykl0ZW1zKCk7XG4gICAgfSk7XG5cbiAgICAvLyBTdGFydCBvYnNlcnZpbmcgY2hhbmdlcyBpbiBjaGlsZCBlbGVtZW50c1xuICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMubmF0aXZlRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJ2F4LXRleHQnKT8uaW5uZXJUZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbnVhbGx5IGRldGVjdCBhbGwgYGF4LW1lbnUtaXRlbWAgZWxlbWVudHMgYW5kIGNoZWNrIGlmIHRoaXMgbWVudSBpdGVtIGhhcyBzdWItaXRlbXMuXG4gICAqL1xuICBwcml2YXRlIGRldGVjdFN1Ykl0ZW1zKCkge1xuICAgIC8vXG4gICAgY29uc3QgcGFyZW50RWwgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudD8ucGFyZW50RWxlbWVudDtcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudEVsPy50YWdOYW1lID09ICdBWC1NRU5VLUlURU0nID8gKHBhcmVudEVsPy5bJ19fYXhDb250ZXh0X18nXSBhcyBBWE1lbnVJdGVtQ29tcG9uZW50KSA6IG51bGw7XG4gICAgLy9cbiAgICBjb25zdCB0YWcgPSB0aGlzLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudD8udGFnTmFtZTtcbiAgICB0aGlzLmlzRmlyc3RMZXZlbC5zZXQodGFnID09ICdBWC1NRU5VJyB8fCB0YWcgPT0gJ0FYLUNPTlRFWFQtTUVOVScpO1xuICAgIGNvbnN0IHN1Ykl0ZW1zID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2F4LW1lbnUtaXRlbScpO1xuICAgIGlmIChzdWJJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmhhc1N1Ykl0ZW1zLnNldCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYXNTdWJJdGVtcy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlRXhjZXB0JC5uZXh0KHRoaXMpO1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCgpICYmIHRoaXMuaGFzU3ViSXRlbXMoKSkge1xuICAgICAgdGhpcy5zZXJ2aWNlLm9wZW4kLm5leHQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlJC5uZXh0KHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZSB0aGUgcG9zaXRpb24gb2YgdGhlIHN1Ym1lbnUgdG8gYXZvaWQgaXQgZ29pbmcgb3V0IG9mIHRoZSB2aWV3cG9ydC5cbiAgICovXG4gIHByaXZhdGUgY2FsY3VsYXRlUG9zaXRpb24oKSB7XG4gICAgY29uc3Qgc3VibWVudSA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYXgtbWVudS1pdGVtcycpO1xuICAgIGlmICghc3VibWVudSkgcmV0dXJuO1xuXG4gICAgY29uc3Qgc3VibWVudVJlY3QgPSBzdWJtZW51LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGl0ZW1SZWN0ID0gdGhpcy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuXG4gICAgY29uc3QgaXNSdGwgPSBBWEh0bWxVdGlsLmlzUnRsKHRoaXMubmF0aXZlRWxlbWVudCk7XG5cbiAgICBsZXQgdG9wOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgbGVmdDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBGb3IgZmlyc3QtbGV2ZWwgbWVudSBpdGVtc1xuICAgIGlmICh0aGlzLmlzRmlyc3RMZXZlbCgpICYmIHRoaXMucm9vdC5vcmllbnRhdGlvbigpID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgIHRvcCA9XG4gICAgICAgIGl0ZW1SZWN0LmJvdHRvbSArIHN1Ym1lbnVSZWN0LmhlaWdodCA+IHdpbmRvd0hlaWdodFxuICAgICAgICAgID8gaXRlbVJlY3QudG9wIC0gc3VibWVudVJlY3QuaGVpZ2h0IC8vIE9wZW4gdXB3YXJkc1xuICAgICAgICAgIDogaXRlbVJlY3QuYm90dG9tOyAvLyBPcGVuIGRvd253YXJkc1xuXG4gICAgICBpZiAoaXNSdGwpIHtcbiAgICAgICAgLy8gUlRMOiBBbGlnbiB0byB0aGUgcmlnaHQgb2YgdGhlIHBhcmVudCBpdGVtXG4gICAgICAgIGxlZnQgPVxuICAgICAgICAgIGl0ZW1SZWN0LnJpZ2h0IC0gc3VibWVudVJlY3Qud2lkdGggPCAwXG4gICAgICAgICAgICA/IGl0ZW1SZWN0LmxlZnQgLy8gQWxpZ24gdG8gdGhlIGxlZnQgaWYgbm90IGVub3VnaCBzcGFjZSBvbiB0aGUgcmlnaHRcbiAgICAgICAgICAgIDogaXRlbVJlY3QucmlnaHQgLSBzdWJtZW51UmVjdC53aWR0aDsgLy8gT3BlbiB0byB0aGUgbGVmdCBpbiBSVExcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIExUUjogQWxpZ24gdG8gdGhlIGxlZnQgb2YgdGhlIHBhcmVudCBpdGVtXG4gICAgICAgIGxlZnQgPVxuICAgICAgICAgIGl0ZW1SZWN0LmxlZnQgKyBzdWJtZW51UmVjdC53aWR0aCA+IHdpbmRvd1dpZHRoXG4gICAgICAgICAgICA/IGl0ZW1SZWN0LnJpZ2h0IC0gc3VibWVudVJlY3Qud2lkdGggLy8gQWxpZ24gdG8gdGhlIHJpZ2h0IGVkZ2UgaW4gTFRSXG4gICAgICAgICAgICA6IGl0ZW1SZWN0LmxlZnQ7IC8vIE9wZW4gdG8gdGhlIGxlZnRcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRm9yIG5lc3RlZCBzdWJtZW51c1xuICAgICAgaWYgKGlzUnRsKSB7XG4gICAgICAgIC8vIFJUTDogTmVzdGVkIHN1Ym1lbnUgb3BlbnMgdG8gdGhlIGxlZnRcbiAgICAgICAgbGVmdCA9XG4gICAgICAgICAgaXRlbVJlY3QubGVmdCAtIHN1Ym1lbnVSZWN0LndpZHRoIDwgMFxuICAgICAgICAgICAgPyBpdGVtUmVjdC5yaWdodCAvLyBBbGlnbiB0byB0aGUgcmlnaHQgaWYgbm90IGVub3VnaCBzcGFjZSBvbiB0aGUgbGVmdFxuICAgICAgICAgICAgOiBpdGVtUmVjdC5sZWZ0IC0gc3VibWVudVJlY3Qud2lkdGg7IC8vIE9wZW4gdG8gdGhlIGxlZnQgaW4gUlRMXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBMVFI6IE5lc3RlZCBzdWJtZW51IG9wZW5zIHRvIHRoZSByaWdodFxuICAgICAgICBsZWZ0ID1cbiAgICAgICAgICBpdGVtUmVjdC5yaWdodCArIHN1Ym1lbnVSZWN0LndpZHRoID4gd2luZG93V2lkdGhcbiAgICAgICAgICAgID8gaXRlbVJlY3QubGVmdCAtIHN1Ym1lbnVSZWN0LndpZHRoIC8vIE9wZW4gdG8gdGhlIGxlZnQgaWYgbm90IGVub3VnaCBzcGFjZVxuICAgICAgICAgICAgOiBpdGVtUmVjdC5yaWdodDsgLy8gT3BlbiB0byB0aGUgcmlnaHQgaW4gTFRSXG4gICAgICB9XG5cbiAgICAgIC8vIEFkanVzdCB0b3AgcG9zaXRpb24gKGFsaWduIHZlcnRpY2FsbHkgd2l0aCBwYXJlbnQpXG4gICAgICB0b3AgPVxuICAgICAgICBpdGVtUmVjdC50b3AgKyBzdWJtZW51UmVjdC5oZWlnaHQgPiB3aW5kb3dIZWlnaHRcbiAgICAgICAgICA/IGl0ZW1SZWN0LnRvcCAtIChpdGVtUmVjdC5ib3R0b20gKyBzdWJtZW51UmVjdC5oZWlnaHQgLSB3aW5kb3dIZWlnaHQpIC8vIEFkanVzdCB1cHdhcmRzXG4gICAgICAgICAgOiBpdGVtUmVjdC50b3A7IC8vIEFsaWduIHdpdGggdGhlIHBhcmVudCBpdGVtXG4gICAgfVxuXG4gICAgLy8gQXBwbHkgY2FsY3VsYXRlZCBzdHlsZXMgZm9yIFJUTC9MVFJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHN1Ym1lbnUsICdsZWZ0JywgYCR7bGVmdH1weGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc3VibWVudSwgJ3RvcCcsIGAke3RvcH1weGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc3VibWVudSwgJ3Bvc2l0aW9uJywgJ2ZpeGVkJyk7IC8vIEZpeGVkIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydFxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZUNsaWNrKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHJldHVybjtcbiAgICAvL1xuICAgIGNvbnN0IGV2ZW50ID0ge1xuICAgICAgc2VuZGVyOiB0aGlzLFxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICBjYW5jZWxlZDogZmFsc2UsXG4gICAgICBpdGVtOiB7XG4gICAgICAgIG5hbWU6IHRoaXMubmFtZSgpLFxuICAgICAgICB0ZXh0OiB0aGlzLmdldFRleHQoKSxcbiAgICAgICAgZGF0YTogdGhpcy5kYXRhKCksXG4gICAgICB9LFxuICAgIH0gYXMgQVhNZW51SXRlbUNsaWNrRXZlbnQ7XG4gICAgLy9cbiAgICB0aGlzLm9uQ2xpY2suZW1pdChldmVudCk7XG4gICAgdGhpcy5yb290Lm9uSXRlbUNsaWNrLmVtaXQoeyAuLi5ldmVudCwgLi4ueyBzZW5kZXI6IHRoaXMucm9vdCBhcyBhbnkgfSB9KTtcbiAgICAvL1xuICAgIGlmICh0aGlzLmhhc1N1Ykl0ZW1zKCkgJiYgIWV2ZW50LmNhbmNlbGVkKSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9IGVsc2UgaWYgKCFldmVudC5jYW5jZWxlZCkge1xuICAgICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsJC5uZXh0KCk7XG4gICAgICB0aGlzLnNlcnZpY2UuY2xvc2VBbGxDb250ZXh0TWVudSQubmV4dCh7IHNlbmRlcjogdGhpcy5yb290IH0pO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZU1vdXNlRW50ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAvLyBDYW5jZWwgdGhlIGNsb3NlIGRlbGF5IGlmIHRoZSBtb3VzZSByZS1lbnRlcnMgdGhlIGVsZW1lbnRcbiAgICBpZiAodGhpcy5tb3VzZUxlYXZlVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubW91c2VMZWF2ZVRpbWVvdXQpO1xuICAgICAgdGhpcy5tb3VzZUxlYXZlVGltZW91dCA9IG51bGw7IC8vIFJlc2V0IHRoZSB0aW1lb3V0XG4gICAgfVxuICAgIGlmICghdGhpcy5pc0ZpcnN0TGV2ZWwoKSB8fCB0aGlzLnJvb3Qub3Blbk9uKCkgPT0gJ2hvdmVyJykge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtb3VzZUxlYXZlVGltZW91dDogYW55O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZU1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmhhc1N1Ykl0ZW1zKCkgJiYgdGhpcy5yb290LmNsb3NlT24oKSA9PT0gJ2xlYXZlJykge1xuICAgICAgLy8gQ2xlYXIgYW55IHByZXZpb3VzIHRpbWVvdXQgdG8gYXZvaWQgbXVsdGlwbGUgdHJpZ2dlcnNcbiAgICAgIGlmICh0aGlzLm1vdXNlTGVhdmVUaW1lb3V0KSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLm1vdXNlTGVhdmVUaW1lb3V0KTtcbiAgICAgIH1cblxuICAgICAgLy8gU2V0IGEgZGVsYXkgYmVmb3JlIGNsb3NpbmcgdGhlIHN1Ym1lbnVcbiAgICAgIHRoaXMubW91c2VMZWF2ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSwgNTAwKTsgLy8gQWRqdXN0IHRoZSBkZWxheSAoNTAwbXMgaW4gdGhpcyBjYXNlKSBhcyBwZXIgeW91ciByZXF1aXJlbWVudFxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBvbldpbmRvd0V2ZW50KCkge1xuICAgIHRoaXMuc2VydmljZS5jbG9zZUFsbCQubmV4dCgpOyAvLyBDbG9zZSBhbGwgbWVudXMgb24gc2Nyb2xsIG9yIHJlc2l6ZVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIGFsbCBtZW51cyBpZiBjbGlja2luZyBvdXRzaWRlIHRoZSByb290IG1lbnUgYW5kIGFsbCBzdWItaXRlbXMuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25DbGlja091dHNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMucm9vdC5uYXRpdmVFbGVtZW50O1xuICAgIGlmICghaG9zdEVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICB0aGlzLnNlcnZpY2UuY2xvc2VBbGwkLm5leHQoKTsgLy8gQ2xvc2UgYWxsIG1lbnVzIGlmIGNsaWNrIGlzIG91dHNpZGUgdGhlIHJvb3QgYW5kIHN1Yi1pdGVtc1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlU2Nyb2xsRXZlbnRzKCk7XG4gIH1cblxuICBwcml2YXRlIGJpbmRTY3JvbGxFdmVudHMoKSB7XG4gICAgdGhpcy5zY3JvbGxhYmxlUGFyZW50cyA9IEFYSHRtbFV0aWwuZ2V0U2Nyb2xsYWJsZVBhcmVudHModGhpcy5uYXRpdmVFbGVtZW50KTtcblxuICAgIHRoaXMuc2Nyb2xsYWJsZVBhcmVudHMuZm9yRWFjaCgocGFyZW50KSA9PiB7XG4gICAgICBwYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRhaW5lclNjcm9sbC5iaW5kKHRoaXMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBzY3JvbGwgZXZlbnQgbGlzdGVuZXJzXG4gIHByaXZhdGUgcmVtb3ZlU2Nyb2xsRXZlbnRzKCkge1xuICAgIHRoaXMuc2Nyb2xsYWJsZVBhcmVudHMuZm9yRWFjaCgocGFyZW50KSA9PiB7XG4gICAgICBwYXJlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRhaW5lclNjcm9sbC5iaW5kKHRoaXMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVyIGZvciBzY3JvbGwgZXZlbnRzICh3aW5kb3cgb3Igc2Nyb2xsYWJsZSBwYXJlbnQgY29udGFpbmVycylcbiAgICovXG4gIHByaXZhdGUgb25Db250YWluZXJTY3JvbGwoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsJC5uZXh0KCk7IC8vIENsb3NlIGFsbCBtZW51cyBvbiBzY3JvbGxcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGxpc3Q6IHN0cmluZ1tdID0gWydheC1hY3Rpb24taXRlbSddO1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIGxpc3QucHVzaCgnYXgtc3RhdGUtZGlzYWJsZWQnKTtcbiAgICB9XG4gICAgbGlzdC5wdXNoKGBheC0ke3RoaXMuY29sb3IoKSA/PyAnZGVmYXVsdCd9YCk7XG5cbiAgICByZXR1cm4gbGlzdDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LWFjdGlvbi1pdGVtLXByZWZpeFwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXRleHRcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJheC1hY3Rpb24taXRlbS1zdWZmaXhcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtc3VmZml4XCI+PC9uZy1jb250ZW50PlxuICBAaWYgKGhhc1N1Ykl0ZW1zKCkgJiYgKCFpc1Jvb3QoKSB8fCByb290Py5oYXNBcnJvdygpKSkge1xuICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLXNvbGlkIHt7IGFycm93SWNvbigpIH19IFwiPjwvaT5cbiAgfVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYXgtbWVudS1pdGVtcyBheC1hY3Rpb24tbGlzdCBheC1hY3Rpb24tbGlzdC12ZXJ0aWNhbFwiIFtjbGFzcy5heC1zdGF0ZS1vcGVuXT1cImlzT3BlbigpXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LW1lbnUtaXRlbSxheC10aXRsZSxheC1kaXZpZGVyLG5nLWNvbnRhaW5lclwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19","import { AXComponent, NXComponent, NXEvent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { isBrowser } from '@acorex/core/platform';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, DOCUMENT, HostBinding, HostListener, inject, input, output, PLATFORM_ID, Renderer2, signal, ViewEncapsulation, } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXMenuItemComponent } from './menu-item.component';\nimport { AXMenuService } from './menu.service';\nimport { AXRootMenu } from './menu.types';\nimport * as i0 from \"@angular/core\";\nexport class AXContextMenuOpeningEvent extends NXEvent {\n constructor() {\n super(...arguments);\n this.canceled = false;\n }\n}\n/**\n * Represents a menu component that displays context menu.\n * @category Components\n */\nexport class AXContextMenuComponent extends NXComponent {\n // Constructor (Dependency Injection)\n /** @ignore */\n constructor() {\n super();\n // Inputs and Outputs\n this.orientation = input('vertical');\n this.openOn = input('hover');\n this.closeOn = input('click');\n this.orginalItems = input([], { alias: 'items' });\n this.target = input();\n this.onItemClick = output();\n this.onOpening = output();\n this.hasArrow = signal(true);\n // Injected Services\n this.service = inject(AXMenuService);\n this.renderer = inject(Renderer2);\n this.document = inject(DOCUMENT);\n this.platformID = inject(PLATFORM_ID);\n this.items = signal([]);\n //\n afterNextRender(() => {\n this.bindContextEvent();\n });\n this.service.closeAllContextMenu$.subscribe(() => {\n this.service.closeAll$.next();\n this.close();\n });\n this.service.openContextMenu$.subscribe((e) => {\n if (e.sender == this) {\n this.internalShowAt(e.point);\n }\n });\n }\n // Lifecycle Hooks\n ngOnDestroy() {\n if (isBrowser()) {\n this.removeContextEvent();\n }\n }\n refresh() {\n this.bindContextEvent();\n }\n // Public Methods\n showAt(point, targetElement, event) {\n const sender = this;\n this.service.closeAllContextMenu$.next({ sender });\n this.service.openContextMenu$.next({ sender, point });\n if (isPlatformBrowser(this.platformID)) {\n if (!targetElement) {\n targetElement = this.document.elementFromPoint(point.x, point.y);\n }\n if (!event) {\n event = {\n sender: this,\n canceled: false,\n targetElement: targetElement,\n items: cloneDeep(this.orginalItems()),\n };\n if (event.canceled)\n return;\n }\n this.onOpening.emit(event);\n this.items.set(event.items);\n }\n }\n close() {\n this.nativeElement.classList.remove('ax-state-open');\n this.removeBackdrop();\n }\n // Private Methods (Internal Logic)\n /** @ignore */\n getTargetElements() {\n if (isPlatformBrowser(this.platformID)) {\n const elements = typeof this.target() == 'string'\n ? Array.from(this.document.querySelectorAll(this.target()))\n : Array.isArray(this.target())\n ? this.target()\n : [this.target()];\n return elements;\n }\n return null;\n }\n /** @ignore */\n bindContextEvent() {\n this.getTargetElements().forEach((e) => {\n e?.addEventListener('contextmenu', this.handleContextMenu.bind(this));\n });\n }\n /** @ignore */\n removeContextEvent() {\n this.getTargetElements().forEach((e) => {\n e?.removeEventListener('contextmenu', this.handleContextMenu.bind(this));\n });\n }\n /** @ignore */\n handleContextMenu(e) {\n e.preventDefault();\n e.stopPropagation();\n //\n if (isPlatformBrowser(this.platformID)) {\n const elementsUnderMouse = this.document.elementsFromPoint(e.x, e.y);\n const targetElements = this.getTargetElements();\n const targetElement = elementsUnderMouse.find((target) => targetElements.includes(target));\n //\n const event = {\n sender: this,\n canceled: false,\n targetElement: targetElement,\n items: cloneDeep(this.orginalItems()),\n };\n //\n if (!event.canceled) {\n this.showAt({ x: e.clientX, y: e.clientY }, targetElement, event);\n }\n }\n }\n /** @ignore */\n internalShowAt(point) {\n const elementRef = this.nativeElement;\n elementRef.classList.add('ax-state-open');\n const itemRect = elementRef.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n // Detect RTL (Right-To-Left) mode\n const isRtl = AXHtmlUtil.isRtl(elementRef);\n let left;\n if (isRtl) {\n left = point.x - itemRect.width;\n if (left < 0) {\n left = point.x;\n }\n }\n else {\n left = point.x;\n if (left + itemRect.width > windowWidth) {\n left = point.x - itemRect.width;\n }\n }\n const bottom = point.y + itemRect.height;\n let top;\n if (bottom > windowHeight) {\n top = point.y - itemRect.height;\n if (top < 0) {\n top = 0;\n }\n }\n else {\n top = point.y;\n }\n this.renderer.setStyle(elementRef, 'left', `${left}px`);\n this.renderer.setStyle(elementRef, 'top', `${top}px`);\n this.renderer.setStyle(elementRef, 'position', 'fixed');\n this.createBackdrop();\n }\n /** @ignore */\n createBackdrop() {\n this.backdropElement = this.renderer.createElement('div');\n this.renderer.setStyle(this.backdropElement, 'position', 'fixed');\n this.renderer.setStyle(this.backdropElement, 'top', '0');\n this.renderer.setStyle(this.backdropElement, 'left', '0');\n this.renderer.setStyle(this.backdropElement, 'width', '100%');\n this.renderer.setStyle(this.backdropElement, 'height', '100%');\n this.renderer.setStyle(this.backdropElement, 'z-index', '1000'); // Ensure it's below the context menu\n this.renderer.setStyle(this.backdropElement, 'background', 'transparent');\n this.createEventListeners(this.backdropElement);\n this.document.body.appendChild(this.backdropElement);\n this.backdropElement.appendChild(this.nativeElement);\n }\n /** @ignore */\n removeBackdrop() {\n if (this.backdropElement) {\n if (this.backdropElement.parentNode) {\n this.backdropElement.parentNode.removeChild(this.backdropElement);\n }\n this.backdropElement = null;\n }\n }\n createEventListeners(el) {\n const l1 = this.renderer.listen(el, 'click', () => {\n this.close();\n l1();\n });\n const l2 = this.renderer.listen(el, 'wheel', () => {\n this.close();\n l2();\n });\n const l3 = this.renderer.listen(el, 'contextmenu', (e) => {\n this.close();\n // Get all elements under the mouse pointer\n if (isPlatformBrowser(this.platformID)) {\n const elementsUnderMouse = this.document.elementsFromPoint(e.x, e.y);\n const targetElements = this.getTargetElements();\n if (targetElements.some((target) => elementsUnderMouse.includes(target))) {\n e.preventDefault();\n setTimeout(() => {\n //this.internalShowAt({ x: e.x, y: e.y });\n this.handleContextMenu(e);\n });\n }\n }\n l3();\n });\n }\n // Host Listeners (UI Interaction Handling)\n /** @ignore */\n onWindowEvent() {\n const sender = this;\n this.service.closeAllContextMenu$.next({ sender: sender }); // Close all menus on scroll or resize\n }\n /** @ignore */\n get __hostClass() {\n return ['ax-menu-container', `ax-orientation-${this.orientation()}`, 'ax-action-list', 'ax-action-list-vertical'];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: AXContextMenuComponent, isStandalone: true, selector: \"ax-context-menu\", inputs: { orientation: { classPropertyName: \"orientation\", publicName: \"orientation\", isSignal: true, isRequired: false, transformFunction: null }, openOn: { classPropertyName: \"openOn\", publicName: \"openOn\", isSignal: true, isRequired: false, transformFunction: null }, closeOn: { classPropertyName: \"closeOn\", publicName: \"closeOn\", isSignal: true, isRequired: false, transformFunction: null }, orginalItems: { classPropertyName: \"orginalItems\", publicName: \"items\", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: \"target\", publicName: \"target\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onItemClick: \"onItemClick\", onOpening: \"onOpening\" }, host: { listeners: { \"window:scroll\": \"onWindowEvent($event)\", \"window:resize\": \"onWindowEvent($event)\" }, properties: { \"class\": \"this.__hostClass\" } }, providers: [\n AXMenuService,\n {\n provide: AXRootMenu,\n useExisting: AXContextMenuComponent,\n },\n {\n provide: AXComponent,\n useExisting: AXContextMenuComponent,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<ng-content select=\\\"ax-menu-item,ax-divider,ax-title,ng-container\\\"></ng-content>\\n\\n@for (node of items(); track node) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: node }\\\"> </ng-container>\\n}\\n\\n<ng-template #Recursion let-item>\\n @if (item.group?.title) {\\n <ax-title>{{ item.group?.title }}</ax-title>\\n }\\n <ax-menu-item [name]=\\\"item.name\\\" [data]=\\\"item.data\\\" [disabled]=\\\"item.disabled\\\" [color]=\\\"item.color\\\">\\n @if (item.icon) {\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"> </ax-icon>\\n </ax-prefix>\\n }\\n @if (item.text) {\\n <ax-text>{{ item.text }}</ax-text>\\n }\\n @if (item.suffix) {\\n <ax-suffix>\\n <ax-text>{{ item.suffix.text }}</ax-text>\\n </ax-suffix>\\n }\\n @for (child of item.items; track child) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"></ng-container>\\n }\\n </ax-menu-item>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n</ng-template>\\n\", styles: [\"ax-context-menu,ax-menu{--ax-comp-menu-items-min-width: 12rem;--ax-comp-menu-action-list-hover-decorator-opacity: .7;--ax-comp-menu-action-list-horizontal-min-width: 12rem;--ax-comp-menu-action-list-horizontal-gap: 1.25rem;--ax-comp-menu-action-list-vertical-min-width: 12rem}ax-context-menu ax-menu-item.ax-primary,ax-menu ax-menu-item.ax-primary{--ax-comp-menu-item-text-color: var(--ax-sys-color-primary-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-primary-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-primary-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-primary-surface)}ax-context-menu ax-menu-item.ax-secondary,ax-menu ax-menu-item.ax-secondary{--ax-comp-menu-item-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-secondary-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-secondary-surface)}ax-context-menu ax-menu-item.ax-success,ax-menu ax-menu-item.ax-success{--ax-comp-menu-item-text-color: var(--ax-sys-color-success-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-success-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-success-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-success-surface)}ax-context-menu ax-menu-item.ax-warning,ax-menu ax-menu-item.ax-warning{--ax-comp-menu-item-text-color: var(--ax-sys-color-warning-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-warning-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-warning-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-warning-surface)}ax-context-menu ax-menu-item.ax-danger,ax-menu ax-menu-item.ax-danger{--ax-comp-menu-item-text-color: var(--ax-sys-color-danger-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-danger-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-danger-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-danger-surface)}ax-context-menu ax-menu-item.ax-accent1,ax-menu ax-menu-item.ax-accent1{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent1-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent1-surface)}ax-context-menu ax-menu-item.ax-accent2,ax-menu ax-menu-item.ax-accent2{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent2-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent2-surface)}ax-context-menu ax-menu-item.ax-accent3,ax-menu ax-menu-item.ax-accent3{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent3-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent3-surface)}ax-context-menu ax-menu-item.ax-accent4,ax-menu ax-menu-item.ax-accent4{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent4-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent4-surface)}ax-context-menu ax-menu-item.ax-accent5,ax-menu ax-menu-item.ax-accent5{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent5-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent5-surface)}ax-context-menu ax-menu-item.ax-accnt6,ax-menu ax-menu-item.ax-accnt6{--ax-comp-menu-item-text-color: var(--ax-sys-color-accnt6-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accnt6-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accnt6-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accnt6-surface)}ax-context-menu ax-menu-item.ax-accent7,ax-menu ax-menu-item.ax-accent7{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent7-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent7-surface)}ax-context-menu,ax-menu{width:100%;color:inherit;display:flex;width:max-content}ax-context-menu.ax-menu-container,ax-context-menu .ax-menu-items,ax-menu.ax-menu-container,ax-menu .ax-menu-items{--ax-comp-action-item-padding-inline: .875rem;opacity:0;z-index:9999;display:flex;position:fixed;visibility:hidden;width:max-content;height:max-content;flex-direction:column;min-width:var(--ax-comp-menu-items-min-width);color:rgba(var(--ax-comp-menu-items-text-color, var(--ax-sys-color-on-lightest-surface)));background-color:rgba(var(--ax-comp-menu-sub-item-bg-color, var(--ax-sys-color-lightest-surface)));padding-block:var(--ax-comp-menu-items-padding-block, .5rem);border-width:var(--ax-comp-menu-items-border-width, 1px);border-radius:var(--ax-comp-menu-items-border-radius, var(--ax-sys-border-radius));border-color:rgba(var(--ax-comp-menu-items-border-color, var(--ax-sys-color-border-lightest-surface)));--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);transition-property:opacity,color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-context-menu.ax-menu-container.ax-state-open,ax-context-menu .ax-menu-items.ax-state-open,ax-menu.ax-menu-container.ax-state-open,ax-menu .ax-menu-items.ax-state-open{opacity:1;visibility:visible}ax-context-menu.ax-menu-container ax-menu-item,ax-context-menu .ax-menu-items ax-menu-item,ax-menu.ax-menu-container ax-menu-item,ax-menu .ax-menu-items ax-menu-item{color:rgba(var(--ax-comp-menu-item-text-color, var(--ax-sys-color-on-surface)))}ax-context-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item ax-suffix ax-text{color:rgba(var(--ax-comp-menu-item-suffix-text-color))}ax-context-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled),ax-context-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled),ax-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled),ax-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled){color:rgba(var(--ax-comp-menu-item-hover-text-color, var(--ax-sys-color-on-surface)));background-color:rgba(var(--ax-comp-menu-item-hover-bg-color, var(--ax-sys-color-surface)))!important}ax-context-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text{color:rgba(var(--ax-comp-menu-item-hover-suffix-text-color))}ax-context-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item ax-suffix ax-text{font-weight:400!important}ax-context-menu.ax-action-list-horizontal{padding-inline:var(--ax-comp-menu-action-list-horizontal-padding-inline, 1rem)}ax-menu>ax-menu-item{--ax-comp-action-item-padding-inline: 0}ax-menu>ax-menu-item:has(>.ax-action-item-suffix:not(:empty)){gap:.5rem}ax-menu.ax-action-list-horizontal{min-width:var(--ax-comp-menu-action-list-horizontal-min-width);gap:var(--ax-comp-menu-action-list-horizontal-gap)}ax-menu.ax-action-list-horizontal>ax-title{display:none}ax-menu.ax-action-list-horizontal>ax-menu-item{font-weight:500}ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-prefix{padding-inline-start:0!important}ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-suffix:not(ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-suffix:empty){padding-inline-end:0!important;margin-inline-start:0!important}ax-menu.ax-action-list-horizontal>ax-menu-item:hover{background-color:transparent!important}ax-menu.ax-action-list-horizontal>ax-menu-item:hover>.ax-action-item-prefix,ax-menu.ax-action-list-horizontal>ax-menu-item:hover>.ax-action-item-suffix{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}ax-menu.ax-action-list-vertical{width:max-content;min-width:var(--ax-comp-menu-action-list-vertical-min-width)}ax-menu.ax-action-list-vertical>ax-menu-item{font-weight:500}ax-menu.ax-action-list-vertical>ax-menu-item:hover{background-color:transparent!important}ax-menu.ax-action-list-vertical>ax-menu-item:hover>.ax-action-item-prefix,ax-menu.ax-action-list-vertical>ax-menu-item:hover>.ax-action-item-suffix{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}ax-menu>ax-menu-item{padding-block:var(--ax-comp-menu-items-padding-block, .5rem)}ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled){border-radius:var(--ax-comp-menu-items-border-radius, var(--ax-sys-border-radius))}ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled)>ax-icon,ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled)>ax-text{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: AXMenuItemComponent, selector: \"ax-menu-item\", inputs: [\"name\", \"data\", \"disabled\", \"color\"], outputs: [\"onClick\"] }, { kind: \"component\", type: AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXContextMenuComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n AXMenuService,\n {\n provide: AXRootMenu,\n useExisting: AXContextMenuComponent,\n },\n {\n provide: AXComponent,\n useExisting: AXContextMenuComponent,\n },\n ], imports: [NgTemplateOutlet, AXDecoratorGenericComponent, AXMenuItemComponent, AXDecoratorIconComponent], template: \"<ng-content select=\\\"ax-menu-item,ax-divider,ax-title,ng-container\\\"></ng-content>\\n\\n@for (node of items(); track node) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: node }\\\"> </ng-container>\\n}\\n\\n<ng-template #Recursion let-item>\\n @if (item.group?.title) {\\n <ax-title>{{ item.group?.title }}</ax-title>\\n }\\n <ax-menu-item [name]=\\\"item.name\\\" [data]=\\\"item.data\\\" [disabled]=\\\"item.disabled\\\" [color]=\\\"item.color\\\">\\n @if (item.icon) {\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"> </ax-icon>\\n </ax-prefix>\\n }\\n @if (item.text) {\\n <ax-text>{{ item.text }}</ax-text>\\n }\\n @if (item.suffix) {\\n <ax-suffix>\\n <ax-text>{{ item.suffix.text }}</ax-text>\\n </ax-suffix>\\n }\\n @for (child of item.items; track child) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"></ng-container>\\n }\\n </ax-menu-item>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n</ng-template>\\n\", styles: [\"ax-context-menu,ax-menu{--ax-comp-menu-items-min-width: 12rem;--ax-comp-menu-action-list-hover-decorator-opacity: .7;--ax-comp-menu-action-list-horizontal-min-width: 12rem;--ax-comp-menu-action-list-horizontal-gap: 1.25rem;--ax-comp-menu-action-list-vertical-min-width: 12rem}ax-context-menu ax-menu-item.ax-primary,ax-menu ax-menu-item.ax-primary{--ax-comp-menu-item-text-color: var(--ax-sys-color-primary-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-primary-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-primary-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-primary-surface)}ax-context-menu ax-menu-item.ax-secondary,ax-menu ax-menu-item.ax-secondary{--ax-comp-menu-item-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-secondary-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-secondary-surface)}ax-context-menu ax-menu-item.ax-success,ax-menu ax-menu-item.ax-success{--ax-comp-menu-item-text-color: var(--ax-sys-color-success-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-success-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-success-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-success-surface)}ax-context-menu ax-menu-item.ax-warning,ax-menu ax-menu-item.ax-warning{--ax-comp-menu-item-text-color: var(--ax-sys-color-warning-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-warning-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-warning-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-warning-surface)}ax-context-menu ax-menu-item.ax-danger,ax-menu ax-menu-item.ax-danger{--ax-comp-menu-item-text-color: var(--ax-sys-color-danger-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-danger-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-danger-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-danger-surface)}ax-context-menu ax-menu-item.ax-accent1,ax-menu ax-menu-item.ax-accent1{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent1-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent1-surface)}ax-context-menu ax-menu-item.ax-accent2,ax-menu ax-menu-item.ax-accent2{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent2-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent2-surface)}ax-context-menu ax-menu-item.ax-accent3,ax-menu ax-menu-item.ax-accent3{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent3-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent3-surface)}ax-context-menu ax-menu-item.ax-accent4,ax-menu ax-menu-item.ax-accent4{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent4-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent4-surface)}ax-context-menu ax-menu-item.ax-accent5,ax-menu ax-menu-item.ax-accent5{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent5-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent5-surface)}ax-context-menu ax-menu-item.ax-accnt6,ax-menu ax-menu-item.ax-accnt6{--ax-comp-menu-item-text-color: var(--ax-sys-color-accnt6-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accnt6-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accnt6-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accnt6-surface)}ax-context-menu ax-menu-item.ax-accent7,ax-menu ax-menu-item.ax-accent7{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent7-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent7-surface)}ax-context-menu,ax-menu{width:100%;color:inherit;display:flex;width:max-content}ax-context-menu.ax-menu-container,ax-context-menu .ax-menu-items,ax-menu.ax-menu-container,ax-menu .ax-menu-items{--ax-comp-action-item-padding-inline: .875rem;opacity:0;z-index:9999;display:flex;position:fixed;visibility:hidden;width:max-content;height:max-content;flex-direction:column;min-width:var(--ax-comp-menu-items-min-width);color:rgba(var(--ax-comp-menu-items-text-color, var(--ax-sys-color-on-lightest-surface)));background-color:rgba(var(--ax-comp-menu-sub-item-bg-color, var(--ax-sys-color-lightest-surface)));padding-block:var(--ax-comp-menu-items-padding-block, .5rem);border-width:var(--ax-comp-menu-items-border-width, 1px);border-radius:var(--ax-comp-menu-items-border-radius, var(--ax-sys-border-radius));border-color:rgba(var(--ax-comp-menu-items-border-color, var(--ax-sys-color-border-lightest-surface)));--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);transition-property:opacity,color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-context-menu.ax-menu-container.ax-state-open,ax-context-menu .ax-menu-items.ax-state-open,ax-menu.ax-menu-container.ax-state-open,ax-menu .ax-menu-items.ax-state-open{opacity:1;visibility:visible}ax-context-menu.ax-menu-container ax-menu-item,ax-context-menu .ax-menu-items ax-menu-item,ax-menu.ax-menu-container ax-menu-item,ax-menu .ax-menu-items ax-menu-item{color:rgba(var(--ax-comp-menu-item-text-color, var(--ax-sys-color-on-surface)))}ax-context-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item ax-suffix ax-text{color:rgba(var(--ax-comp-menu-item-suffix-text-color))}ax-context-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled),ax-context-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled),ax-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled),ax-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled){color:rgba(var(--ax-comp-menu-item-hover-text-color, var(--ax-sys-color-on-surface)));background-color:rgba(var(--ax-comp-menu-item-hover-bg-color, var(--ax-sys-color-surface)))!important}ax-context-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text{color:rgba(var(--ax-comp-menu-item-hover-suffix-text-color))}ax-context-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item ax-suffix ax-text{font-weight:400!important}ax-context-menu.ax-action-list-horizontal{padding-inline:var(--ax-comp-menu-action-list-horizontal-padding-inline, 1rem)}ax-menu>ax-menu-item{--ax-comp-action-item-padding-inline: 0}ax-menu>ax-menu-item:has(>.ax-action-item-suffix:not(:empty)){gap:.5rem}ax-menu.ax-action-list-horizontal{min-width:var(--ax-comp-menu-action-list-horizontal-min-width);gap:var(--ax-comp-menu-action-list-horizontal-gap)}ax-menu.ax-action-list-horizontal>ax-title{display:none}ax-menu.ax-action-list-horizontal>ax-menu-item{font-weight:500}ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-prefix{padding-inline-start:0!important}ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-suffix:not(ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-suffix:empty){padding-inline-end:0!important;margin-inline-start:0!important}ax-menu.ax-action-list-horizontal>ax-menu-item:hover{background-color:transparent!important}ax-menu.ax-action-list-horizontal>ax-menu-item:hover>.ax-action-item-prefix,ax-menu.ax-action-list-horizontal>ax-menu-item:hover>.ax-action-item-suffix{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}ax-menu.ax-action-list-vertical{width:max-content;min-width:var(--ax-comp-menu-action-list-vertical-min-width)}ax-menu.ax-action-list-vertical>ax-menu-item{font-weight:500}ax-menu.ax-action-list-vertical>ax-menu-item:hover{background-color:transparent!important}ax-menu.ax-action-list-vertical>ax-menu-item:hover>.ax-action-item-prefix,ax-menu.ax-action-list-vertical>ax-menu-item:hover>.ax-action-item-suffix{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}ax-menu>ax-menu-item{padding-block:var(--ax-comp-menu-items-padding-block, .5rem)}ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled){border-radius:var(--ax-comp-menu-items-border-radius, var(--ax-sys-border-radius))}ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled)>ax-icon,ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled)>ax-text{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { onWindowEvent: [{\n type: HostListener,\n args: ['window:scroll', ['$event']]\n }, {\n type: HostListener,\n args: ['window:resize', ['$event']]\n }], __hostClass: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL2NvbnRleHQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL21lbnUvc3JjL2xpYi9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQWlCLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBVyxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUErRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRXZILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxPQUErQjtJQUE5RTs7UUFFRSxh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ZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFyQyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tcG9uZW50LCBBWE9yaWVudGF0aW9uLCBOWENvbXBvbmVudCwgTlhFdmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQsIEFYRGVjb3JhdG9ySWNvbkNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IGlzQnJvd3NlciB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBBWEh0bWxVdGlsLCBBWFBvaW50IH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRE9DVU1FTlQsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIFJlbmRlcmVyMixcbiAgc2lnbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhNZW51Q2xvc2VUcmlnZ2VyLCBBWE1lbnVJdGVtLCBBWE1lbnVJdGVtQ2xpY2tCYXNlRXZlbnQsIEFYTWVudU9wZW5UcmlnZ2VyLCBBWFJvb3RNZW51IH0gZnJvbSAnLi9tZW51LnR5cGVzJztcblxuZXhwb3J0IGNsYXNzIEFYQ29udGV4dE1lbnVPcGVuaW5nRXZlbnQgZXh0ZW5kcyBOWEV2ZW50PEFYQ29udGV4dE1lbnVDb21wb25lbnQ+IHtcbiAgaXRlbXM6IEFYTWVudUl0ZW1bXTtcbiAgY2FuY2VsZWQgPSBmYWxzZTtcbiAgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG59XG5leHBvcnQgdHlwZSBBWENvbnRleHRNZW51SXRlbXNDbGlja0V2ZW50ID0gQVhNZW51SXRlbUNsaWNrQmFzZUV2ZW50PEFYQ29udGV4dE1lbnVDb21wb25lbnQ+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBtZW51IGNvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGNvbnRleHQgbWVudS5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQVhNZW51U2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFJvb3RNZW51LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQ29udGV4dE1lbnVDb21wb25lbnQsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWENvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQsIEFYTWVudUl0ZW1Db21wb25lbnQsIEFYRGVjb3JhdG9ySWNvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29udGV4dE1lbnVDb21wb25lbnQgZXh0ZW5kcyBOWENvbXBvbmVudCB7XG4gIC8vIElucHV0cyBhbmQgT3V0cHV0c1xuXG4gIG9yaWVudGF0aW9uID0gaW5wdXQ8QVhPcmllbnRhdGlvbj4oJ3ZlcnRpY2FsJyk7XG4gIG9wZW5PbiA9IGlucHV0PEFYTWVudU9wZW5UcmlnZ2VyPignaG92ZXInKTtcbiAgY2xvc2VPbiA9IGlucHV0PEFYTWVudUNsb3NlVHJpZ2dlcj4oJ2NsaWNrJyk7XG4gIG9yZ2luYWxJdGVtcyA9IGlucHV0PEFYTWVudUl0ZW1bXT4oW10sIHsgYWxpYXM6ICdpdGVtcycgfSk7XG4gIHRhcmdldCA9IGlucHV0PEhUTUxFbGVtZW50IHwgSFRNTEVsZW1lbnRbXSB8IHN0cmluZz4oKTtcblxuICBvbkl0ZW1DbGljayA9IG91dHB1dDxBWENvbnRleHRNZW51SXRlbXNDbGlja0V2ZW50PigpO1xuICBvbk9wZW5pbmcgPSBvdXRwdXQ8QVhDb250ZXh0TWVudU9wZW5pbmdFdmVudD4oKTtcblxuICBoYXNBcnJvdyA9IHNpZ25hbDxib29sZWFuPih0cnVlKTtcblxuICAvLyBJbmplY3RlZCBTZXJ2aWNlc1xuXG4gIHByaXZhdGUgc2VydmljZSA9IGluamVjdChBWE1lbnVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSBwbGF0Zm9ybUlEID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblxuICAvLyBDb25zdHJ1Y3RvciAoRGVwZW5kZW5jeSBJbmplY3Rpb24pXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICAvL1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICB0aGlzLmJpbmRDb250ZXh0RXZlbnQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VydmljZS5jbG9zZUFsbENvbnRleHRNZW51JC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsJC5uZXh0KCk7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlcnZpY2Uub3BlbkNvbnRleHRNZW51JC5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgIGlmICgoZS5zZW5kZXIgYXMgYW55KSA9PSB0aGlzKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxTaG93QXQoZS5wb2ludCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBMaWZlY3ljbGUgSG9va3NcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAoaXNCcm93c2VyKCkpIHtcbiAgICAgIHRoaXMucmVtb3ZlQ29udGV4dEV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZnJlc2goKSB7XG4gICAgdGhpcy5iaW5kQ29udGV4dEV2ZW50KCk7XG4gIH1cblxuICAvLyBQdWJsaWMgTWV0aG9kc1xuXG4gIHB1YmxpYyBzaG93QXQocG9pbnQ6IEFYUG9pbnQsIHRhcmdldEVsZW1lbnQ/OiBIVE1MRWxlbWVudCwgZXZlbnQ/OiBBWENvbnRleHRNZW51T3BlbmluZ0V2ZW50KSB7XG4gICAgY29uc3Qgc2VuZGVyID0gdGhpcyBhcyBhbnkgYXMgQVhSb290TWVudTtcbiAgICB0aGlzLnNlcnZpY2UuY2xvc2VBbGxDb250ZXh0TWVudSQubmV4dCh7IHNlbmRlciB9KTtcbiAgICB0aGlzLnNlcnZpY2Uub3BlbkNvbnRleHRNZW51JC5uZXh0KHsgc2VuZGVyLCBwb2ludCB9KTtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgaWYgKCF0YXJnZXRFbGVtZW50KSB7XG4gICAgICAgIHRhcmdldEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQocG9pbnQueCwgcG9pbnQueSkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICB9XG4gICAgICBpZiAoIWV2ZW50KSB7XG4gICAgICAgIGV2ZW50ID0ge1xuICAgICAgICAgIHNlbmRlcjogdGhpcyxcbiAgICAgICAgICBjYW5jZWxlZDogZmFsc2UsXG4gICAgICAgICAgdGFyZ2V0RWxlbWVudDogdGFyZ2V0RWxlbWVudCxcbiAgICAgICAgICBpdGVtczogY2xvbmVEZWVwKHRoaXMub3JnaW5hbEl0ZW1zKCkpLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoZXZlbnQuY2FuY2VsZWQpIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMub25PcGVuaW5nLmVtaXQoZXZlbnQpO1xuICAgICAgdGhpcy5pdGVtcy5zZXQoZXZlbnQuaXRlbXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpIHtcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtb3BlbicpO1xuICAgIHRoaXMucmVtb3ZlQmFja2Ryb3AoKTtcbiAgfVxuXG4gIC8vIFByaXZhdGUgUHJvcGVydGllc1xuXG4gIHByaXZhdGUgYmFja2Ryb3BFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG5cbiAgcHJvdGVjdGVkIGl0ZW1zID0gc2lnbmFsPEFYTWVudUl0ZW1bXT4oW10pO1xuXG4gIC8vIFByaXZhdGUgTWV0aG9kcyAoSW50ZXJuYWwgTG9naWMpXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBnZXRUYXJnZXRFbGVtZW50cygpOiBIVE1MRWxlbWVudFtdIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgY29uc3QgZWxlbWVudHM6IEhUTUxFbGVtZW50W10gPVxuICAgICAgICB0eXBlb2YgdGhpcy50YXJnZXQoKSA9PSAnc3RyaW5nJ1xuICAgICAgICAgID8gQXJyYXkuZnJvbSh0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KHRoaXMudGFyZ2V0KCkgYXMgc3RyaW5nKSlcbiAgICAgICAgICA6IEFycmF5LmlzQXJyYXkodGhpcy50YXJnZXQoKSlcbiAgICAgICAgICAgID8gKHRoaXMudGFyZ2V0KCkgYXMgSFRNTEVsZW1lbnRbXSlcbiAgICAgICAgICAgIDogW3RoaXMudGFyZ2V0KCkgYXMgSFRNTEVsZW1lbnRdO1xuXG4gICAgICByZXR1cm4gZWxlbWVudHM7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBiaW5kQ29udGV4dEV2ZW50KCkge1xuICAgIHRoaXMuZ2V0VGFyZ2V0RWxlbWVudHMoKS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICBlPy5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIHRoaXMuaGFuZGxlQ29udGV4dE1lbnUuYmluZCh0aGlzKSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHJlbW92ZUNvbnRleHRFdmVudCgpIHtcbiAgICB0aGlzLmdldFRhcmdldEVsZW1lbnRzKCkuZm9yRWFjaCgoZSkgPT4ge1xuICAgICAgZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCB0aGlzLmhhbmRsZUNvbnRleHRNZW51LmJpbmQodGhpcykpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBoYW5kbGVDb250ZXh0TWVudShlOiBNb3VzZUV2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgLy9cbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgY29uc3QgZWxlbWVudHNVbmRlck1vdXNlID0gdGhpcy5kb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludChlLngsIGUueSkgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnRzID0gdGhpcy5nZXRUYXJnZXRFbGVtZW50cygpO1xuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGVsZW1lbnRzVW5kZXJNb3VzZS5maW5kKCh0YXJnZXQpID0+IHRhcmdldEVsZW1lbnRzLmluY2x1ZGVzKHRhcmdldCkpO1xuICAgICAgLy9cbiAgICAgIGNvbnN0IGV2ZW50OiBBWENvbnRleHRNZW51T3BlbmluZ0V2ZW50ID0ge1xuICAgICAgICBzZW5kZXI6IHRoaXMsXG4gICAgICAgIGNhbmNlbGVkOiBmYWxzZSxcbiAgICAgICAgdGFyZ2V0RWxlbWVudDogdGFyZ2V0RWxlbWVudCxcbiAgICAgICAgaXRlbXM6IGNsb25lRGVlcCh0aGlzLm9yZ2luYWxJdGVtcygpKSxcbiAgICAgIH07XG4gICAgICAvL1xuICAgICAgaWYgKCFldmVudC5jYW5jZWxlZCkge1xuICAgICAgICB0aGlzLnNob3dBdCh7IHg6IGUuY2xpZW50WCwgeTogZS5jbGllbnRZIH0sIHRhcmdldEVsZW1lbnQsIGV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIGludGVybmFsU2hvd0F0KHBvaW50OiBBWFBvaW50KSB7XG4gICAgY29uc3QgZWxlbWVudFJlZiA9IHRoaXMubmF0aXZlRWxlbWVudDtcbiAgICBlbGVtZW50UmVmLmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLW9wZW4nKTtcbiAgICBjb25zdCBpdGVtUmVjdCA9IGVsZW1lbnRSZWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgd2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cbiAgICAvLyBEZXRlY3QgUlRMIChSaWdodC1Uby1MZWZ0KSBtb2RlXG4gICAgY29uc3QgaXNSdGwgPSBBWEh0bWxVdGlsLmlzUnRsKGVsZW1lbnRSZWYpO1xuXG4gICAgbGV0IGxlZnQ6IG51bWJlcjtcbiAgICBpZiAoaXNSdGwpIHtcbiAgICAgIGxlZnQgPSBwb2ludC54IC0gaXRlbVJlY3Qud2lkdGg7XG4gICAgICBpZiAobGVmdCA8IDApIHtcbiAgICAgICAgbGVmdCA9IHBvaW50Lng7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxlZnQgPSBwb2ludC54O1xuICAgICAgaWYgKGxlZnQgKyBpdGVtUmVjdC53aWR0aCA+IHdpbmRvd1dpZHRoKSB7XG4gICAgICAgIGxlZnQgPSBwb2ludC54IC0gaXRlbVJlY3Qud2lkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYm90dG9tID0gcG9pbnQueSArIGl0ZW1SZWN0LmhlaWdodDtcbiAgICBsZXQgdG9wOiBudW1iZXI7XG5cbiAgICBpZiAoYm90dG9tID4gd2luZG93SGVpZ2h0KSB7XG4gICAgICB0b3AgPSBwb2ludC55IC0gaXRlbVJlY3QuaGVpZ2h0O1xuICAgICAgaWYgKHRvcCA8IDApIHtcbiAgICAgICAgdG9wID0gMDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdG9wID0gcG9pbnQueTtcbiAgICB9XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnRSZWYsICdsZWZ0JywgYCR7bGVmdH1weGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudFJlZiwgJ3RvcCcsIGAke3RvcH1weGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudFJlZiwgJ3Bvc2l0aW9uJywgJ2ZpeGVkJyk7XG5cbiAgICB0aGlzLmNyZWF0ZUJhY2tkcm9wKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIGNyZWF0ZUJhY2tkcm9wKCkge1xuICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAncG9zaXRpb24nLCAnZml4ZWQnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAndG9wJywgJzAnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAnbGVmdCcsICcwJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ3dpZHRoJywgJzEwMCUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAnaGVpZ2h0JywgJzEwMCUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAnei1pbmRleCcsICcxMDAwJyk7IC8vIEVuc3VyZSBpdCdzIGJlbG93IHRoZSBjb250ZXh0IG1lbnVcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAnYmFja2dyb3VuZCcsICd0cmFuc3BhcmVudCcpO1xuXG4gICAgdGhpcy5jcmVhdGVFdmVudExpc3RlbmVycyh0aGlzLmJhY2tkcm9wRWxlbWVudCk7XG5cbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5iYWNrZHJvcEVsZW1lbnQpO1xuICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIHJlbW92ZUJhY2tkcm9wKCkge1xuICAgIGlmICh0aGlzLmJhY2tkcm9wRWxlbWVudCkge1xuICAgICAgaWYgKHRoaXMuYmFja2Ryb3BFbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICAgICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmJhY2tkcm9wRWxlbWVudCk7XG4gICAgICB9XG4gICAgICB0aGlzLmJhY2tkcm9wRWxlbWVudCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVFdmVudExpc3RlbmVycyhlbDogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBsMSA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGVsLCAnY2xpY2snLCAoKSA9PiB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICBsMSgpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgbDIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihlbCwgJ3doZWVsJywgKCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgbDIoKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGwzID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oZWwsICdjb250ZXh0bWVudScsIChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAvLyBHZXQgYWxsIGVsZW1lbnRzIHVuZGVyIHRoZSBtb3VzZSBwb2ludGVyXG4gICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgICBjb25zdCBlbGVtZW50c1VuZGVyTW91c2UgPSB0aGlzLmRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KGUueCwgZS55KSBhcyBIVE1MRWxlbWVudFtdO1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50cyA9IHRoaXMuZ2V0VGFyZ2V0RWxlbWVudHMoKTtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnRzLnNvbWUoKHRhcmdldCkgPT4gZWxlbWVudHNVbmRlck1vdXNlLmluY2x1ZGVzKHRhcmdldCkpKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgLy90aGlzLmludGVybmFsU2hvd0F0KHsgeDogZS54LCB5OiBlLnkgfSk7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNvbnRleHRNZW51KGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsMygpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gSG9zdCBMaXN0ZW5lcnMgKFVJIEludGVyYWN0aW9uIEhhbmRsaW5nKVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBvbldpbmRvd0V2ZW50KCkge1xuICAgIGNvbnN0IHNlbmRlciA9IHRoaXMgYXMgYW55IGFzIEFYUm9vdE1lbnU7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlQWxsQ29udGV4dE1lbnUkLm5leHQoeyBzZW5kZXI6IHNlbmRlciB9KTsgLy8gQ2xvc2UgYWxsIG1lbnVzIG9uIHNjcm9sbCBvciByZXNpemVcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogYW55IHtcbiAgICByZXR1cm4gWydheC1tZW51LWNvbnRhaW5lcicsIGBheC1vcmllbnRhdGlvbi0ke3RoaXMub3JpZW50YXRpb24oKX1gLCAnYXgtYWN0aW9uLWxpc3QnLCAnYXgtYWN0aW9uLWxpc3QtdmVydGljYWwnXTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtbWVudS1pdGVtLGF4LWRpdmlkZXIsYXgtdGl0bGUsbmctY29udGFpbmVyXCI+PC9uZy1jb250ZW50PlxuXG5AZm9yIChub2RlIG9mIGl0ZW1zKCk7IHRyYWNrIG5vZGUpIHtcbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJSZWN1cnNpb25cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IG5vZGUgfVwiPiA8L25nLWNvbnRhaW5lcj5cbn1cblxuPG5nLXRlbXBsYXRlICNSZWN1cnNpb24gbGV0LWl0ZW0+XG4gIEBpZiAoaXRlbS5ncm91cD8udGl0bGUpIHtcbiAgICA8YXgtdGl0bGU+e3sgaXRlbS5ncm91cD8udGl0bGUgfX08L2F4LXRpdGxlPlxuICB9XG4gIDxheC1tZW51LWl0ZW0gW25hbWVdPVwiaXRlbS5uYW1lXCIgW2RhdGFdPVwiaXRlbS5kYXRhXCIgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIiBbY29sb3JdPVwiaXRlbS5jb2xvclwiPlxuICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICA8YXgtcHJlZml4PlxuICAgICAgICA8YXgtaWNvbiBbaWNvbl09XCJpdGVtLmljb25cIj4gPC9heC1pY29uPlxuICAgICAgPC9heC1wcmVmaXg+XG4gICAgfVxuICAgIEBpZiAoaXRlbS50ZXh0KSB7XG4gICAgICA8YXgtdGV4dD57eyBpdGVtLnRleHQgfX08L2F4LXRleHQ+XG4gICAgfVxuICAgIEBpZiAoaXRlbS5zdWZmaXgpIHtcbiAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgIDxheC10ZXh0Pnt7IGl0ZW0uc3VmZml4LnRleHQgfX08L2F4LXRleHQ+XG4gICAgICA8L2F4LXN1ZmZpeD5cbiAgICB9XG4gICAgQGZvciAoY2hpbGQgb2YgaXRlbS5pdGVtczsgdHJhY2sgY2hpbGQpIHtcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiUmVjdXJzaW9uXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjaGlsZCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICA8L2F4LW1lbnUtaXRlbT5cbiAgQGlmIChpdGVtLmJyZWFrKSB7XG4gICAgPGF4LWRpdmlkZXI+PC9heC1kaXZpZGVyPlxuICB9XG48L25nLXRlbXBsYXRlPlxuIl19","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, inject, input, output, ViewEncapsulation, } from '@angular/core';\nimport { AXMenuItemComponent } from './menu-item.component';\nimport { AXMenuService } from './menu.service';\nimport { AXRootMenu } from './menu.types';\nimport * as i0 from \"@angular/core\";\n/**\n * Represents a menu component that displays menu items.\n * @category Components\n */\nexport class AXMenuComponent extends NXComponent {\n constructor() {\n super(...arguments);\n this.orientation = input('horizontal');\n this.openOn = input('hover');\n this.closeOn = input('leave');\n this.service = inject(AXMenuService);\n this.onItemClick = output();\n this.items = input([]);\n this.hasArrow = input(true);\n }\n /** @ignore */\n get __hostClass() {\n return [\n 'ax-root-menu',\n 'ax-action-list',\n `ax-action-list-${this.orientation()}`,\n `${!this.hasArrow() ? 'ax-hide-arrow' : ''}`,\n ];\n }\n close() {\n this.service.closeAll$.next();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: AXMenuComponent, isStandalone: true, selector: \"ax-menu\", inputs: { orientation: { classPropertyName: \"orientation\", publicName: \"orientation\", isSignal: true, isRequired: false, transformFunction: null }, openOn: { classPropertyName: \"openOn\", publicName: \"openOn\", isSignal: true, isRequired: false, transformFunction: null }, closeOn: { classPropertyName: \"closeOn\", publicName: \"closeOn\", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: \"items\", publicName: \"items\", isSignal: true, isRequired: false, transformFunction: null }, hasArrow: { classPropertyName: \"hasArrow\", publicName: \"hasArrow\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onItemClick: \"onItemClick\" }, host: { properties: { \"class\": \"this.__hostClass\" } }, providers: [\n AXMenuService,\n {\n provide: AXRootMenu,\n useExisting: AXMenuComponent,\n },\n {\n provide: AXComponent,\n useExisting: AXMenuComponent,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<ng-content select=\\\"ax-menu-item,ax-divider,ax-title,ng-container\\\"></ng-content>\\n\\n@for (node of items(); track node) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: node }\\\"> </ng-container>\\n}\\n\\n<ng-template #Recursion let-item>\\n @if (item.group?.title) {\\n <ax-title>{{ item.group?.title }}</ax-title>\\n }\\n <ax-menu-item [name]=\\\"item.name\\\" [data]=\\\"item.data\\\" [disabled]=\\\"item.disabled\\\" [color]=\\\"item.color\\\">\\n @if (item.icon) {\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"> </ax-icon>\\n </ax-prefix>\\n }\\n @if (item.text) {\\n <ax-text>{{ item.text }}</ax-text>\\n }\\n @if (item.suffix) {\\n <ax-suffix>\\n <ax-text>{{ item.suffix.text }}</ax-text>\\n </ax-suffix>\\n }\\n @for (child of item.items; track child) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"></ng-container>\\n }\\n </ax-menu-item>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n</ng-template>\\n\", styles: [\"ax-context-menu,ax-menu{--ax-comp-menu-items-min-width: 12rem;--ax-comp-menu-action-list-hover-decorator-opacity: .7;--ax-comp-menu-action-list-horizontal-min-width: 12rem;--ax-comp-menu-action-list-horizontal-gap: 1.25rem;--ax-comp-menu-action-list-vertical-min-width: 12rem}ax-context-menu ax-menu-item.ax-primary,ax-menu ax-menu-item.ax-primary{--ax-comp-menu-item-text-color: var(--ax-sys-color-primary-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-primary-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-primary-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-primary-surface)}ax-context-menu ax-menu-item.ax-secondary,ax-menu ax-menu-item.ax-secondary{--ax-comp-menu-item-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-secondary-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-secondary-surface)}ax-context-menu ax-menu-item.ax-success,ax-menu ax-menu-item.ax-success{--ax-comp-menu-item-text-color: var(--ax-sys-color-success-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-success-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-success-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-success-surface)}ax-context-menu ax-menu-item.ax-warning,ax-menu ax-menu-item.ax-warning{--ax-comp-menu-item-text-color: var(--ax-sys-color-warning-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-warning-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-warning-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-warning-surface)}ax-context-menu ax-menu-item.ax-danger,ax-menu ax-menu-item.ax-danger{--ax-comp-menu-item-text-color: var(--ax-sys-color-danger-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-danger-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-danger-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-danger-surface)}ax-context-menu ax-menu-item.ax-accent1,ax-menu ax-menu-item.ax-accent1{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent1-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent1-surface)}ax-context-menu ax-menu-item.ax-accent2,ax-menu ax-menu-item.ax-accent2{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent2-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent2-surface)}ax-context-menu ax-menu-item.ax-accent3,ax-menu ax-menu-item.ax-accent3{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent3-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent3-surface)}ax-context-menu ax-menu-item.ax-accent4,ax-menu ax-menu-item.ax-accent4{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent4-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent4-surface)}ax-context-menu ax-menu-item.ax-accent5,ax-menu ax-menu-item.ax-accent5{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent5-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent5-surface)}ax-context-menu ax-menu-item.ax-accnt6,ax-menu ax-menu-item.ax-accnt6{--ax-comp-menu-item-text-color: var(--ax-sys-color-accnt6-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accnt6-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accnt6-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accnt6-surface)}ax-context-menu ax-menu-item.ax-accent7,ax-menu ax-menu-item.ax-accent7{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent7-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent7-surface)}ax-context-menu,ax-menu{width:100%;color:inherit;display:flex;width:max-content}ax-context-menu.ax-menu-container,ax-context-menu .ax-menu-items,ax-menu.ax-menu-container,ax-menu .ax-menu-items{--ax-comp-action-item-padding-inline: .875rem;opacity:0;z-index:9999;display:flex;position:fixed;visibility:hidden;width:max-content;height:max-content;flex-direction:column;min-width:var(--ax-comp-menu-items-min-width);color:rgba(var(--ax-comp-menu-items-text-color, var(--ax-sys-color-on-lightest-surface)));background-color:rgba(var(--ax-comp-menu-sub-item-bg-color, var(--ax-sys-color-lightest-surface)));padding-block:var(--ax-comp-menu-items-padding-block, .5rem);border-width:var(--ax-comp-menu-items-border-width, 1px);border-radius:var(--ax-comp-menu-items-border-radius, var(--ax-sys-border-radius));border-color:rgba(var(--ax-comp-menu-items-border-color, var(--ax-sys-color-border-lightest-surface)));--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);transition-property:opacity,color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-context-menu.ax-menu-container.ax-state-open,ax-context-menu .ax-menu-items.ax-state-open,ax-menu.ax-menu-container.ax-state-open,ax-menu .ax-menu-items.ax-state-open{opacity:1;visibility:visible}ax-context-menu.ax-menu-container ax-menu-item,ax-context-menu .ax-menu-items ax-menu-item,ax-menu.ax-menu-container ax-menu-item,ax-menu .ax-menu-items ax-menu-item{color:rgba(var(--ax-comp-menu-item-text-color, var(--ax-sys-color-on-surface)))}ax-context-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item ax-suffix ax-text{color:rgba(var(--ax-comp-menu-item-suffix-text-color))}ax-context-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled),ax-context-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled),ax-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled),ax-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled){color:rgba(var(--ax-comp-menu-item-hover-text-color, var(--ax-sys-color-on-surface)));background-color:rgba(var(--ax-comp-menu-item-hover-bg-color, var(--ax-sys-color-surface)))!important}ax-context-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text{color:rgba(var(--ax-comp-menu-item-hover-suffix-text-color))}ax-context-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item ax-suffix ax-text{font-weight:400!important}ax-context-menu.ax-action-list-horizontal{padding-inline:var(--ax-comp-menu-action-list-horizontal-padding-inline, 1rem)}ax-menu>ax-menu-item{--ax-comp-action-item-padding-inline: 0}ax-menu>ax-menu-item:has(>.ax-action-item-suffix:not(:empty)){gap:.5rem}ax-menu.ax-action-list-horizontal{min-width:var(--ax-comp-menu-action-list-horizontal-min-width);gap:var(--ax-comp-menu-action-list-horizontal-gap)}ax-menu.ax-action-list-horizontal>ax-title{display:none}ax-menu.ax-action-list-horizontal>ax-menu-item{font-weight:500}ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-prefix{padding-inline-start:0!important}ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-suffix:not(ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-suffix:empty){padding-inline-end:0!important;margin-inline-start:0!important}ax-menu.ax-action-list-horizontal>ax-menu-item:hover{background-color:transparent!important}ax-menu.ax-action-list-horizontal>ax-menu-item:hover>.ax-action-item-prefix,ax-menu.ax-action-list-horizontal>ax-menu-item:hover>.ax-action-item-suffix{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}ax-menu.ax-action-list-vertical{width:max-content;min-width:var(--ax-comp-menu-action-list-vertical-min-width)}ax-menu.ax-action-list-vertical>ax-menu-item{font-weight:500}ax-menu.ax-action-list-vertical>ax-menu-item:hover{background-color:transparent!important}ax-menu.ax-action-list-vertical>ax-menu-item:hover>.ax-action-item-prefix,ax-menu.ax-action-list-vertical>ax-menu-item:hover>.ax-action-item-suffix{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}ax-menu>ax-menu-item{padding-block:var(--ax-comp-menu-items-padding-block, .5rem)}ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled){border-radius:var(--ax-comp-menu-items-border-radius, var(--ax-sys-border-radius))}ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled)>ax-icon,ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled)>ax-text{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"component\", type: AXMenuItemComponent, selector: \"ax-menu-item\", inputs: [\"name\", \"data\", \"disabled\", \"color\"], outputs: [\"onClick\"] }, { kind: \"component\", type: AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXMenuComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n AXMenuService,\n {\n provide: AXRootMenu,\n useExisting: AXMenuComponent,\n },\n {\n provide: AXComponent,\n useExisting: AXMenuComponent,\n },\n ], imports: [NgTemplateOutlet, AXDecoratorGenericComponent, AXMenuItemComponent, AXDecoratorIconComponent], template: \"<ng-content select=\\\"ax-menu-item,ax-divider,ax-title,ng-container\\\"></ng-content>\\n\\n@for (node of items(); track node) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: node }\\\"> </ng-container>\\n}\\n\\n<ng-template #Recursion let-item>\\n @if (item.group?.title) {\\n <ax-title>{{ item.group?.title }}</ax-title>\\n }\\n <ax-menu-item [name]=\\\"item.name\\\" [data]=\\\"item.data\\\" [disabled]=\\\"item.disabled\\\" [color]=\\\"item.color\\\">\\n @if (item.icon) {\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"> </ax-icon>\\n </ax-prefix>\\n }\\n @if (item.text) {\\n <ax-text>{{ item.text }}</ax-text>\\n }\\n @if (item.suffix) {\\n <ax-suffix>\\n <ax-text>{{ item.suffix.text }}</ax-text>\\n </ax-suffix>\\n }\\n @for (child of item.items; track child) {\\n <ng-container [ngTemplateOutlet]=\\\"Recursion\\\" [ngTemplateOutletContext]=\\\"{ $implicit: child }\\\"></ng-container>\\n }\\n </ax-menu-item>\\n @if (item.break) {\\n <ax-divider></ax-divider>\\n }\\n</ng-template>\\n\", styles: [\"ax-context-menu,ax-menu{--ax-comp-menu-items-min-width: 12rem;--ax-comp-menu-action-list-hover-decorator-opacity: .7;--ax-comp-menu-action-list-horizontal-min-width: 12rem;--ax-comp-menu-action-list-horizontal-gap: 1.25rem;--ax-comp-menu-action-list-vertical-min-width: 12rem}ax-context-menu ax-menu-item.ax-primary,ax-menu ax-menu-item.ax-primary{--ax-comp-menu-item-text-color: var(--ax-sys-color-primary-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-primary-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-primary-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-primary-surface)}ax-context-menu ax-menu-item.ax-secondary,ax-menu ax-menu-item.ax-secondary{--ax-comp-menu-item-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-secondary-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-secondary-surface)}ax-context-menu ax-menu-item.ax-success,ax-menu ax-menu-item.ax-success{--ax-comp-menu-item-text-color: var(--ax-sys-color-success-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-success-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-success-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-success-surface)}ax-context-menu ax-menu-item.ax-warning,ax-menu ax-menu-item.ax-warning{--ax-comp-menu-item-text-color: var(--ax-sys-color-warning-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-warning-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-warning-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-warning-surface)}ax-context-menu ax-menu-item.ax-danger,ax-menu ax-menu-item.ax-danger{--ax-comp-menu-item-text-color: var(--ax-sys-color-danger-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-danger-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-danger-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-danger-surface)}ax-context-menu ax-menu-item.ax-accent1,ax-menu ax-menu-item.ax-accent1{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent1-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent1-surface)}ax-context-menu ax-menu-item.ax-accent2,ax-menu ax-menu-item.ax-accent2{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent2-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent2-surface)}ax-context-menu ax-menu-item.ax-accent3,ax-menu ax-menu-item.ax-accent3{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent3-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent3-surface)}ax-context-menu ax-menu-item.ax-accent4,ax-menu ax-menu-item.ax-accent4{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent4-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent4-surface)}ax-context-menu ax-menu-item.ax-accent5,ax-menu ax-menu-item.ax-accent5{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent5-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent5-surface)}ax-context-menu ax-menu-item.ax-accnt6,ax-menu ax-menu-item.ax-accnt6{--ax-comp-menu-item-text-color: var(--ax-sys-color-accnt6-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accnt6-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accnt6-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accnt6-surface)}ax-context-menu ax-menu-item.ax-accent7,ax-menu ax-menu-item.ax-accent7{--ax-comp-menu-item-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-menu-item-hover-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-menu-item-hover-bg-color: var(--ax-sys-color-accent7-surface), .1;--ax-comp-menu-item-hover-suffix-text-color: var(--ax-sys-color-accent7-surface)}ax-context-menu,ax-menu{width:100%;color:inherit;display:flex;width:max-content}ax-context-menu.ax-menu-container,ax-context-menu .ax-menu-items,ax-menu.ax-menu-container,ax-menu .ax-menu-items{--ax-comp-action-item-padding-inline: .875rem;opacity:0;z-index:9999;display:flex;position:fixed;visibility:hidden;width:max-content;height:max-content;flex-direction:column;min-width:var(--ax-comp-menu-items-min-width);color:rgba(var(--ax-comp-menu-items-text-color, var(--ax-sys-color-on-lightest-surface)));background-color:rgba(var(--ax-comp-menu-sub-item-bg-color, var(--ax-sys-color-lightest-surface)));padding-block:var(--ax-comp-menu-items-padding-block, .5rem);border-width:var(--ax-comp-menu-items-border-width, 1px);border-radius:var(--ax-comp-menu-items-border-radius, var(--ax-sys-border-radius));border-color:rgba(var(--ax-comp-menu-items-border-color, var(--ax-sys-color-border-lightest-surface)));--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);transition-property:opacity,color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-context-menu.ax-menu-container.ax-state-open,ax-context-menu .ax-menu-items.ax-state-open,ax-menu.ax-menu-container.ax-state-open,ax-menu .ax-menu-items.ax-state-open{opacity:1;visibility:visible}ax-context-menu.ax-menu-container ax-menu-item,ax-context-menu .ax-menu-items ax-menu-item,ax-menu.ax-menu-container ax-menu-item,ax-menu .ax-menu-items ax-menu-item{color:rgba(var(--ax-comp-menu-item-text-color, var(--ax-sys-color-on-surface)))}ax-context-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item ax-suffix ax-text{color:rgba(var(--ax-comp-menu-item-suffix-text-color))}ax-context-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled),ax-context-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled),ax-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled),ax-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled){color:rgba(var(--ax-comp-menu-item-hover-text-color, var(--ax-sys-color-on-surface)));background-color:rgba(var(--ax-comp-menu-item-hover-bg-color, var(--ax-sys-color-surface)))!important}ax-context-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item:hover:not(.ax-state-disabled) ax-suffix ax-text{color:rgba(var(--ax-comp-menu-item-hover-suffix-text-color))}ax-context-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-context-menu .ax-menu-items ax-menu-item ax-suffix ax-text,ax-menu.ax-menu-container ax-menu-item ax-suffix ax-text,ax-menu .ax-menu-items ax-menu-item ax-suffix ax-text{font-weight:400!important}ax-context-menu.ax-action-list-horizontal{padding-inline:var(--ax-comp-menu-action-list-horizontal-padding-inline, 1rem)}ax-menu>ax-menu-item{--ax-comp-action-item-padding-inline: 0}ax-menu>ax-menu-item:has(>.ax-action-item-suffix:not(:empty)){gap:.5rem}ax-menu.ax-action-list-horizontal{min-width:var(--ax-comp-menu-action-list-horizontal-min-width);gap:var(--ax-comp-menu-action-list-horizontal-gap)}ax-menu.ax-action-list-horizontal>ax-title{display:none}ax-menu.ax-action-list-horizontal>ax-menu-item{font-weight:500}ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-prefix{padding-inline-start:0!important}ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-suffix:not(ax-menu.ax-action-list-horizontal>ax-menu-item>.ax-action-item-suffix:empty){padding-inline-end:0!important;margin-inline-start:0!important}ax-menu.ax-action-list-horizontal>ax-menu-item:hover{background-color:transparent!important}ax-menu.ax-action-list-horizontal>ax-menu-item:hover>.ax-action-item-prefix,ax-menu.ax-action-list-horizontal>ax-menu-item:hover>.ax-action-item-suffix{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}ax-menu.ax-action-list-vertical{width:max-content;min-width:var(--ax-comp-menu-action-list-vertical-min-width)}ax-menu.ax-action-list-vertical>ax-menu-item{font-weight:500}ax-menu.ax-action-list-vertical>ax-menu-item:hover{background-color:transparent!important}ax-menu.ax-action-list-vertical>ax-menu-item:hover>.ax-action-item-prefix,ax-menu.ax-action-list-vertical>ax-menu-item:hover>.ax-action-item-suffix{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}ax-menu>ax-menu-item{padding-block:var(--ax-comp-menu-items-padding-block, .5rem)}ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled){border-radius:var(--ax-comp-menu-items-border-radius, var(--ax-sys-border-radius))}ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled)>ax-icon,ax-menu>ax-menu-item:hover:not(ax-menu>ax-menu-item:hover.ax-state-disabled)>ax-text{opacity:var(--ax-comp-menu-action-list-hover-decorator-opacity)}\\n\"] }]\n }], propDecorators: { __hostClass: [{\n type: HostBinding,\n args: ['class']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL21lbnUvc3JjL2xpYi9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBaUIsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUErRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBSXZIOzs7R0FHRztBQW9CSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBbkJoRDs7UUFvQkUsZ0JBQVcsR0FBRyxLQUFLLENBQWdCLFlBQVksQ0FBQyxDQUFDO1FBRWpELFdBQU0sR0FBRyxLQUFLLENBQW9CLE9BQU8sQ0FBQyxDQUFDO1FBRTNDLFlBQU8sR0FBRyxLQUFLLENBQXFCLE9BQU8sQ0FBQyxDQUFDO1FBRTdDLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFaEMsZ0JBQVcsR0FBRyxNQUFNLEVBQXlCLENBQUM7UUFFOUMsVUFBSyxHQUFHLEtBQUssQ0FBZSxFQUFFLENBQUMsQ0FBQztRQUVoQyxhQUFRLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO0tBZ0JqQztJQWRDLGNBQWM7SUFDZCxJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixrQkFBa0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3RDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1NBQzdDLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hDLENBQUM7OEdBNUJVLGVBQWU7a0dBQWYsZUFBZSw4eEJBYmY7WUFDVCxhQUFhO1lBQ2I7Z0JBQ0UsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLFdBQVcsRUFBRSxlQUFlO2FBQzdCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLFdBQVcsRUFBRSxlQUFlO2FBQzdCO1NBQ0YsaURDdENILHFpQ0FnQ0EsMjVURE9ZLGdCQUFnQixvSkFBRSwyQkFBMkIseUxBQUUsbUJBQW1CLDhIQUFFLHdCQUF3Qjs7MkZBRTNGLGVBQWU7a0JBbkIzQixTQUFTOytCQUNFLFNBQVMsaUJBR0osaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCxhQUFhO3dCQUNiOzRCQUNFLE9BQU8sRUFBRSxVQUFVOzRCQUNuQixXQUFXLGlCQUFpQjt5QkFDN0I7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLFdBQVc7NEJBQ3BCLFdBQVcsaUJBQWlCO3lCQUM3QjtxQkFDRixXQUNRLENBQUMsZ0JBQWdCLEVBQUUsMkJBQTJCLEVBQUUsbUJBQW1CLEVBQUUsd0JBQXdCLENBQUM7OEJBbUJuRyxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tcG9uZW50LCBBWE9yaWVudGF0aW9uLCBOWENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvckdlbmVyaWNDb21wb25lbnQsIEFYRGVjb3JhdG9ySWNvbkNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhNZW51Q2xvc2VUcmlnZ2VyLCBBWE1lbnVJdGVtLCBBWE1lbnVJdGVtQ2xpY2tCYXNlRXZlbnQsIEFYTWVudU9wZW5UcmlnZ2VyLCBBWFJvb3RNZW51IH0gZnJvbSAnLi9tZW51LnR5cGVzJztcblxuZXhwb3J0IHR5cGUgQVhNZW51SXRlbXNDbGlja0V2ZW50ID0gQVhNZW51SXRlbUNsaWNrQmFzZUV2ZW50PEFYTWVudUNvbXBvbmVudD47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1lbnUgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgbWVudSBpdGVtcy5cbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIEFYTWVudVNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhSb290TWVudSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWE1lbnVDb21wb25lbnQsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENvbXBvbmVudCxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWE1lbnVDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIEFYRGVjb3JhdG9yR2VuZXJpY0NvbXBvbmVudCwgQVhNZW51SXRlbUNvbXBvbmVudCwgQVhEZWNvcmF0b3JJY29uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNZW51Q29tcG9uZW50IGV4dGVuZHMgTlhDb21wb25lbnQge1xuICBvcmllbnRhdGlvbiA9IGlucHV0PEFYT3JpZW50YXRpb24+KCdob3Jpem9udGFsJyk7XG5cbiAgb3Blbk9uID0gaW5wdXQ8QVhNZW51T3BlblRyaWdnZXI+KCdob3ZlcicpO1xuXG4gIGNsb3NlT24gPSBpbnB1dDxBWE1lbnVDbG9zZVRyaWdnZXI+KCdsZWF2ZScpO1xuXG4gIHNlcnZpY2UgPSBpbmplY3QoQVhNZW51U2VydmljZSk7XG5cbiAgb25JdGVtQ2xpY2sgPSBvdXRwdXQ8QVhNZW51SXRlbXNDbGlja0V2ZW50PigpO1xuXG4gIGl0ZW1zID0gaW5wdXQ8QVhNZW51SXRlbVtdPihbXSk7XG5cbiAgaGFzQXJyb3cgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2F4LXJvb3QtbWVudScsXG4gICAgICAnYXgtYWN0aW9uLWxpc3QnLFxuICAgICAgYGF4LWFjdGlvbi1saXN0LSR7dGhpcy5vcmllbnRhdGlvbigpfWAsXG4gICAgICBgJHshdGhpcy5oYXNBcnJvdygpID8gJ2F4LWhpZGUtYXJyb3cnIDogJyd9YCxcbiAgICBdO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCkge1xuICAgIHRoaXMuc2VydmljZS5jbG9zZUFsbCQubmV4dCgpO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1tZW51LWl0ZW0sYXgtZGl2aWRlcixheC10aXRsZSxuZy1jb250YWluZXJcIj48L25nLWNvbnRlbnQ+XG5cbkBmb3IgKG5vZGUgb2YgaXRlbXMoKTsgdHJhY2sgbm9kZSkge1xuICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlJlY3Vyc2lvblwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogbm9kZSB9XCI+IDwvbmctY29udGFpbmVyPlxufVxuXG48bmctdGVtcGxhdGUgI1JlY3Vyc2lvbiBsZXQtaXRlbT5cbiAgQGlmIChpdGVtLmdyb3VwPy50aXRsZSkge1xuICAgIDxheC10aXRsZT57eyBpdGVtLmdyb3VwPy50aXRsZSB9fTwvYXgtdGl0bGU+XG4gIH1cbiAgPGF4LW1lbnUtaXRlbSBbbmFtZV09XCJpdGVtLm5hbWVcIiBbZGF0YV09XCJpdGVtLmRhdGFcIiBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiIFtjb2xvcl09XCJpdGVtLmNvbG9yXCI+XG4gICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgIDxheC1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiPiA8L2F4LWljb24+XG4gICAgICA8L2F4LXByZWZpeD5cbiAgICB9XG4gICAgQGlmIChpdGVtLnRleHQpIHtcbiAgICAgIDxheC10ZXh0Pnt7IGl0ZW0udGV4dCB9fTwvYXgtdGV4dD5cbiAgICB9XG4gICAgQGlmIChpdGVtLnN1ZmZpeCkge1xuICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgPGF4LXRleHQ+e3sgaXRlbS5zdWZmaXgudGV4dCB9fTwvYXgtdGV4dD5cbiAgICAgIDwvYXgtc3VmZml4PlxuICAgIH1cbiAgICBAZm9yIChjaGlsZCBvZiBpdGVtLml0ZW1zOyB0cmFjayBjaGlsZCkge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJSZWN1cnNpb25cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNoaWxkIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gIDwvYXgtbWVudS1pdGVtPlxuICBAaWYgKGl0ZW0uYnJlYWspIHtcbiAgICA8YXgtZGl2aWRlcj48L2F4LWRpdmlkZXI+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXContextMenuComponent } from './context-menu.component';\nimport { AXMenuItemComponent } from './menu-item.component';\nimport { AXMenuComponent } from './menu.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXMenuItemComponent, AXMenuComponent, AXContextMenuComponent];\nconst MODULES = [AXDecoratorModule, AXLoadingModule, AXTranslationModule, OverlayModule, AXPopoverModule];\nexport class AXMenuModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.3\", ngImport: i0, type: AXMenuModule, imports: [CommonModule, AXDecoratorModule, AXLoadingModule, AXTranslationModule, OverlayModule, AXPopoverModule, AXMenuItemComponent, AXMenuComponent, AXContextMenuComponent], exports: [AXMenuItemComponent, AXMenuComponent, AXContextMenuComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXMenuModule, imports: [CommonModule, MODULES, AXMenuComponent, AXContextMenuComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXMenuModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, ...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL21lbnUvc3JjL2xpYi9tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRW5ELE1BQU0sU0FBUyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFDakYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBTzFHLE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxZQUpiLFlBQVksRUFIUCxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFEckYsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixhQUE1RCxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsc0JBQXNCOytHQVFsRSxZQUFZLFlBSmIsWUFBWSxFQUFLLE9BQU8sRUFKSSxlQUFlLEVBQUUsc0JBQXNCOzsyRkFRbEUsWUFBWTtrQkFMeEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7b0JBQ2pELE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFYQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYTWVudUl0ZW1Db21wb25lbnQsIEFYTWVudUNvbXBvbmVudCwgQVhDb250ZXh0TWVudUNvbXBvbmVudF07XG5jb25zdCBNT0RVTEVTID0gW0FYRGVjb3JhdG9yTW9kdWxlLCBBWExvYWRpbmdNb2R1bGUsIEFYVHJhbnNsYXRpb25Nb2R1bGUsIE92ZXJsYXlNb2R1bGUsIEFYUG9wb3Zlck1vZHVsZV07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIC4uLk1PRFVMRVMsIC4uLkNPTVBPTkVOVF0sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1lbnVNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtbWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbWVudS9zcmMvYWNvcmV4LWNvbXBvbmVudHMtbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}