@acorex/components 20.2.0-next.8 → 20.2.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 (303) hide show
  1. package/accordion/index.d.ts +6 -5
  2. package/action-sheet/index.d.ts +57 -10
  3. package/alert/index.d.ts +2 -4
  4. package/aspect-ratio/README.md +3 -0
  5. package/aspect-ratio/index.d.ts +11 -0
  6. package/autocomplete/index.d.ts +7 -2
  7. package/avatar/index.d.ts +12 -6
  8. package/badge/index.d.ts +1 -2
  9. package/bottom-navigation/index.d.ts +10 -2
  10. package/breadcrumbs/index.d.ts +17 -4
  11. package/button/index.d.ts +56 -17
  12. package/button-group/index.d.ts +10 -6
  13. package/calendar/index.d.ts +32 -18
  14. package/check-box/index.d.ts +2 -5
  15. package/chips/index.d.ts +1 -2
  16. package/circular-progress/index.d.ts +23 -18
  17. package/code-editor/README.md +3 -0
  18. package/code-editor/index.d.ts +103 -0
  19. package/collapse/index.d.ts +7 -6
  20. package/color-box/index.d.ts +6 -8
  21. package/color-palette/index.d.ts +19 -24
  22. package/command/README.md +3 -0
  23. package/command/index.d.ts +60 -0
  24. package/comment/index.d.ts +18 -13
  25. package/conversation/index.d.ts +107 -78
  26. package/cron-job/index.d.ts +5 -4
  27. package/data-list/README.md +356 -0
  28. package/data-list/index.d.ts +102 -0
  29. package/data-pager/index.d.ts +22 -17
  30. package/data-table/index.d.ts +59 -3
  31. package/datetime-box/index.d.ts +12 -15
  32. package/datetime-input/index.d.ts +2 -4
  33. package/datetime-picker/index.d.ts +12 -11
  34. package/decorators/index.d.ts +2 -2
  35. package/dialog/index.d.ts +29 -4
  36. package/drawer-2/index.d.ts +22 -8
  37. package/dropdown/index.d.ts +44 -3
  38. package/dropdown-button/index.d.ts +7 -2
  39. package/fesm2022/acorex-components-accordion.mjs +74 -72
  40. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  41. package/fesm2022/acorex-components-action-sheet.mjs +78 -48
  42. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  43. package/fesm2022/acorex-components-alert.mjs +13 -17
  44. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  45. package/fesm2022/acorex-components-aspect-ratio.mjs +36 -0
  46. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -0
  47. package/fesm2022/acorex-components-audio-wave.mjs +7 -7
  48. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  49. package/fesm2022/acorex-components-autocomplete.mjs +32 -11
  50. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  51. package/fesm2022/acorex-components-avatar.mjs +24 -21
  52. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  53. package/fesm2022/acorex-components-badge.mjs +9 -11
  54. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  55. package/fesm2022/acorex-components-bottom-navigation.mjs +18 -16
  56. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  57. package/fesm2022/acorex-components-breadcrumbs.mjs +36 -21
  58. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  59. package/fesm2022/acorex-components-button-group.mjs +35 -26
  60. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  61. package/fesm2022/acorex-components-button.mjs +78 -38
  62. package/fesm2022/acorex-components-button.mjs.map +1 -1
  63. package/fesm2022/acorex-components-calendar.mjs +76 -47
  64. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  65. package/fesm2022/acorex-components-check-box.mjs +11 -14
  66. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  67. package/fesm2022/acorex-components-chips.mjs +9 -11
  68. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  69. package/fesm2022/acorex-components-circular-progress.mjs +31 -26
  70. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  71. package/fesm2022/acorex-components-code-editor.mjs +591 -0
  72. package/fesm2022/acorex-components-code-editor.mjs.map +1 -0
  73. package/fesm2022/acorex-components-collapse.mjs +21 -21
  74. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  75. package/fesm2022/acorex-components-color-box.mjs +39 -33
  76. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  77. package/fesm2022/acorex-components-color-palette.mjs +69 -85
  78. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  79. package/fesm2022/acorex-components-command.mjs +144 -0
  80. package/fesm2022/acorex-components-command.mjs.map +1 -0
  81. package/fesm2022/acorex-components-comment.mjs +51 -45
  82. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  83. package/fesm2022/acorex-components-conversation.mjs +128 -90
  84. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  85. package/fesm2022/acorex-components-cron-job.mjs +54 -48
  86. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  87. package/fesm2022/acorex-components-data-list.mjs +386 -0
  88. package/fesm2022/acorex-components-data-list.mjs.map +1 -0
  89. package/fesm2022/acorex-components-data-pager.mjs +41 -36
  90. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  91. package/fesm2022/acorex-components-data-table.mjs +98 -42
  92. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  93. package/fesm2022/acorex-components-datetime-box.mjs +28 -36
  94. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  95. package/fesm2022/acorex-components-datetime-input.mjs +20 -18
  96. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  97. package/fesm2022/acorex-components-datetime-picker.mjs +92 -44
  98. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  99. package/fesm2022/acorex-components-decorators.mjs +27 -27
  100. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  101. package/fesm2022/acorex-components-dialog.mjs +44 -19
  102. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  103. package/fesm2022/acorex-components-drawer-2.mjs +28 -14
  104. package/fesm2022/acorex-components-drawer-2.mjs.map +1 -1
  105. package/fesm2022/acorex-components-drawer.mjs +13 -13
  106. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  107. package/fesm2022/acorex-components-dropdown-button.mjs +16 -11
  108. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  109. package/fesm2022/acorex-components-dropdown.mjs +57 -13
  110. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  111. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  112. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  113. package/fesm2022/acorex-components-flow-chart.mjs +40 -16
  114. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  115. package/fesm2022/acorex-components-form.mjs +36 -17
  116. package/fesm2022/acorex-components-form.mjs.map +1 -1
  117. package/fesm2022/acorex-components-grid-layout-builder.mjs +125 -15
  118. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  119. package/fesm2022/acorex-components-image-editor.mjs +121 -92
  120. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  121. package/fesm2022/acorex-components-image.mjs +7 -7
  122. package/fesm2022/acorex-components-image.mjs.map +1 -1
  123. package/fesm2022/acorex-components-json-viewer.mjs +8 -8
  124. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  125. package/fesm2022/acorex-components-kanban.mjs +11 -7
  126. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  127. package/fesm2022/acorex-components-kbd.mjs +21 -29
  128. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  129. package/fesm2022/acorex-components-label.mjs +11 -15
  130. package/fesm2022/acorex-components-label.mjs.map +1 -1
  131. package/fesm2022/acorex-components-list.mjs +23 -32
  132. package/fesm2022/acorex-components-list.mjs.map +1 -1
  133. package/fesm2022/acorex-components-loading-dialog.mjs +58 -59
  134. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  135. package/fesm2022/acorex-components-loading.mjs +84 -28
  136. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  137. package/fesm2022/acorex-components-map.mjs +484 -112
  138. package/fesm2022/acorex-components-map.mjs.map +1 -1
  139. package/fesm2022/acorex-components-media-viewer.mjs +37 -37
  140. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  141. package/fesm2022/acorex-components-menu.mjs +67 -37
  142. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  143. package/fesm2022/{acorex-components-modal-acorex-components-modal-C4zx7OP6.mjs → acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs} +117 -40
  144. package/fesm2022/acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs.map +1 -0
  145. package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs +235 -0
  146. package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs.map +1 -0
  147. package/fesm2022/acorex-components-modal.mjs +1 -1
  148. package/fesm2022/acorex-components-navbar.mjs +14 -10
  149. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  150. package/fesm2022/acorex-components-notification.mjs +31 -45
  151. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  152. package/fesm2022/acorex-components-number-box-2.mjs +28 -9
  153. package/fesm2022/acorex-components-number-box-2.mjs.map +1 -1
  154. package/fesm2022/acorex-components-number-box.mjs +16 -10
  155. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  156. package/fesm2022/acorex-components-otp.mjs +14 -15
  157. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  158. package/fesm2022/acorex-components-page.mjs +10 -10
  159. package/fesm2022/acorex-components-page.mjs.map +1 -1
  160. package/fesm2022/acorex-components-paint.mjs +74 -33
  161. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  162. package/fesm2022/acorex-components-password-box.mjs +21 -18
  163. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  164. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  165. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  166. package/fesm2022/acorex-components-phone-box.mjs +51 -15
  167. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  168. package/fesm2022/acorex-components-picker.mjs +26 -16
  169. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  170. package/fesm2022/acorex-components-popover.mjs +13 -18
  171. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  172. package/fesm2022/acorex-components-popup.mjs +10 -10
  173. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  174. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  175. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  176. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  177. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  178. package/fesm2022/acorex-components-query-builder.mjs +7 -7
  179. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  180. package/fesm2022/acorex-components-radio.mjs +8 -8
  181. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  182. package/fesm2022/acorex-components-rail-navigation.mjs +26 -16
  183. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  184. package/fesm2022/acorex-components-range-slider.mjs +13 -9
  185. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  186. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  187. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  188. package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
  189. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  190. package/fesm2022/acorex-components-result.mjs +7 -7
  191. package/fesm2022/acorex-components-result.mjs.map +1 -1
  192. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  193. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  194. package/fesm2022/acorex-components-rrule.mjs +222 -102
  195. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  196. package/fesm2022/acorex-components-scheduler.mjs +1581 -167
  197. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  198. package/fesm2022/acorex-components-scss.mjs +4 -4
  199. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  200. package/fesm2022/acorex-components-search-box.mjs +13 -7
  201. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  202. package/fesm2022/acorex-components-select-box.mjs +105 -38
  203. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  204. package/fesm2022/acorex-components-selection-list-2.mjs +12 -9
  205. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  206. package/fesm2022/acorex-components-selection-list.mjs +14 -11
  207. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  208. package/fesm2022/acorex-components-side-menu.mjs +98 -43
  209. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  210. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  211. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  212. package/fesm2022/acorex-components-slider.mjs +9 -9
  213. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  214. package/fesm2022/acorex-components-sliding-item.mjs +16 -16
  215. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  216. package/fesm2022/acorex-components-step-wizard.mjs +31 -32
  217. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  218. package/fesm2022/acorex-components-switch.mjs +12 -12
  219. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  220. package/fesm2022/acorex-components-tabs.mjs +26 -19
  221. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  222. package/fesm2022/acorex-components-tag-box.mjs +55 -21
  223. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  224. package/fesm2022/acorex-components-tag.mjs +8 -8
  225. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  226. package/fesm2022/acorex-components-text-area.mjs +17 -12
  227. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  228. package/fesm2022/acorex-components-text-box.mjs +29 -13
  229. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  230. package/fesm2022/acorex-components-time-duration.mjs +15 -9
  231. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  232. package/fesm2022/acorex-components-time-line.mjs +13 -10
  233. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  234. package/fesm2022/acorex-components-toast.mjs +59 -14
  235. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  236. package/fesm2022/acorex-components-toolbar.mjs +7 -7
  237. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  238. package/fesm2022/acorex-components-tooltip.mjs +12 -11
  239. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  240. package/fesm2022/acorex-components-tree-view.mjs +12 -12
  241. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  242. package/fesm2022/acorex-components-uploader.mjs +252 -56
  243. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  244. package/fesm2022/acorex-components-video-player.mjs +7 -7
  245. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  246. package/fesm2022/acorex-components-wysiwyg.mjs +104 -62
  247. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  248. package/flow-chart/index.d.ts +24 -0
  249. package/form/index.d.ts +27 -13
  250. package/grid-layout-builder/index.d.ts +115 -4
  251. package/image/index.d.ts +4 -4
  252. package/image-editor/index.d.ts +17 -14
  253. package/json-viewer/index.d.ts +3 -3
  254. package/kanban/index.d.ts +7 -3
  255. package/kbd/index.d.ts +11 -11
  256. package/label/index.d.ts +1 -2
  257. package/list/index.d.ts +4 -14
  258. package/loading/index.d.ts +59 -6
  259. package/loading-dialog/index.d.ts +30 -19
  260. package/map/index.d.ts +95 -2
  261. package/menu/index.d.ts +38 -13
  262. package/modal/index.d.ts +47 -2
  263. package/navbar/index.d.ts +7 -3
  264. package/notification/index.d.ts +1 -8
  265. package/number-box/index.d.ts +1 -0
  266. package/number-box-2/index.d.ts +2 -1
  267. package/otp/index.d.ts +1 -3
  268. package/package.json +43 -4
  269. package/paint/index.d.ts +43 -7
  270. package/password-box/index.d.ts +8 -10
  271. package/phone-box/index.d.ts +18 -16
  272. package/picker/index.d.ts +10 -8
  273. package/popover/index.d.ts +2 -2
  274. package/popup/index.d.ts +2 -2
  275. package/qrcode/index.d.ts +7 -7
  276. package/query-builder/index.d.ts +1 -1
  277. package/radio/index.d.ts +1 -1
  278. package/rail-navigation/index.d.ts +12 -3
  279. package/range-slider/index.d.ts +13 -13
  280. package/rate-picker/index.d.ts +5 -5
  281. package/rest-api-generator/index.d.ts +1 -1
  282. package/rrule/index.d.ts +40 -17
  283. package/scheduler/index.d.ts +541 -191
  284. package/search-box/index.d.ts +3 -2
  285. package/select-box/index.d.ts +22 -10
  286. package/selection-list-2/index.d.ts +3 -3
  287. package/side-menu/index.d.ts +24 -15
  288. package/sliding-item/index.d.ts +4 -5
  289. package/step-wizard/index.d.ts +10 -13
  290. package/switch/index.d.ts +0 -1
  291. package/tabs/index.d.ts +6 -1
  292. package/tag-box/index.d.ts +19 -2
  293. package/text-area/index.d.ts +2 -2
  294. package/text-box/index.d.ts +3 -0
  295. package/time-duration/index.d.ts +1 -0
  296. package/time-line/index.d.ts +3 -0
  297. package/toast/index.d.ts +45 -1
  298. package/tooltip/index.d.ts +2 -1
  299. package/uploader/index.d.ts +215 -5
  300. package/wysiwyg/index.d.ts +27 -5
  301. package/fesm2022/acorex-components-modal-acorex-components-modal-C4zx7OP6.mjs.map +0 -1
  302. package/fesm2022/acorex-components-modal-modal-content.component-DfhgA_WL.mjs +0 -218
  303. package/fesm2022/acorex-components-modal-modal-content.component-DfhgA_WL.mjs.map +0 -1
@@ -1,218 +0,0 @@
1
- import { NXComponent, AXComponent } from '@acorex/cdk/common';
2
- import * as i1 from '@acorex/cdk/focus-trap';
3
- import { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';
4
- import { AXButtonComponent } from '@acorex/components/button';
5
- import * as i3 from '@acorex/components/decorators';
6
- import { AXDecoratorModule } from '@acorex/components/decorators';
7
- import { trigger, transition, style, animate } from '@angular/animations';
8
- import * as i2 from '@angular/common';
9
- import { CommonModule } from '@angular/common';
10
- import * as i0 from '@angular/core';
11
- import { input, model, inject, viewChild, computed, TemplateRef, signal, afterNextRender, effect, HostListener, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
12
- import { DomSanitizer } from '@angular/platform-browser';
13
- import { A as AXModalStateService, a as AXModalFooterComponent } from './acorex-components-modal-acorex-components-modal-C4zx7OP6.mjs';
14
-
15
- class AXModalContentComponent extends NXComponent {
16
- constructor() {
17
- super(...arguments);
18
- this.__content__ = input.required(...(ngDevMode ? [{ debugName: "__content__" }] : []));
19
- this.id = input(...(ngDevMode ? [undefined, { debugName: "id" }] : []));
20
- this.inputs = model(...(ngDevMode ? [undefined, { debugName: "inputs" }] : []));
21
- this.serviceState = inject(AXModalStateService);
22
- this.sanitizer = inject(DomSanitizer);
23
- this.modalContainer = viewChild('c', ...(ngDevMode ? [{ debugName: "modalContainer" }] : []));
24
- this.footer = viewChild(AXModalFooterComponent, ...(ngDevMode ? [{ debugName: "footer" }] : []));
25
- this.isTemplate = computed(() => this.__content__() instanceof TemplateRef, ...(ngDevMode ? [{ debugName: "isTemplate" }] : []));
26
- this.isHtmlElement = computed(() => this.__content__() instanceof HTMLElement, ...(ngDevMode ? [{ debugName: "isHtmlElement" }] : []));
27
- this.component = computed(() => this.__content__(), ...(ngDevMode ? [{ debugName: "component" }] : []));
28
- this.template = computed(() => this.__content__(), ...(ngDevMode ? [{ debugName: "template" }] : []));
29
- this.element = computed(() => this.__content__(), ...(ngDevMode ? [{ debugName: "element" }] : []));
30
- this.modalSizeState = signal('normal', ...(ngDevMode ? [{ debugName: "modalSizeState" }] : []));
31
- this.fullScreenState = signal(false, ...(ngDevMode ? [{ debugName: "fullScreenState" }] : []));
32
- this.isMouseDown = signal(false, ...(ngDevMode ? [{ debugName: "isMouseDown" }] : []));
33
- this.offsetX = signal(0, ...(ngDevMode ? [{ debugName: "offsetX" }] : []));
34
- this.offsetY = signal(0, ...(ngDevMode ? [{ debugName: "offsetY" }] : []));
35
- this.prevLeft = signal('', ...(ngDevMode ? [{ debugName: "prevLeft" }] : []));
36
- this.prevTop = signal('', ...(ngDevMode ? [{ debugName: "prevTop" }] : []));
37
- this.backdropState = computed(() => this.serviceState.modalOption()?.backdrop?.enabled || true, ...(ngDevMode ? [{ debugName: "backdropState" }] : []));
38
- this.headerState = computed(() => this.serviceState.modalOption()?.header || false, ...(ngDevMode ? [{ debugName: "headerState" }] : []));
39
- this.footerState = computed(() => this.serviceState.modalOption()?.footer || false, ...(ngDevMode ? [{ debugName: "footerState" }] : []));
40
- this.closeHeaderButton = computed(() => this.serviceState.modalOption()?.buttons?.close || true, ...(ngDevMode ? [{ debugName: "closeHeaderButton" }] : []));
41
- this.backdropBackground = computed(() => this.serviceState.modalOption()?.backdrop?.background || true, ...(ngDevMode ? [{ debugName: "backdropBackground" }] : []));
42
- this.backdropClass = computed(() => this.serviceState.modalOption()?.backdrop?.cssClass || '', ...(ngDevMode ? [{ debugName: "backdropClass" }] : []));
43
- this.backdropCloseOnClick = computed(() => this.serviceState.modalOption()?.backdrop?.closeOnClick || true, ...(ngDevMode ? [{ debugName: "backdropCloseOnClick" }] : []));
44
- this.minimizePosition = computed(() => this.serviceState.modalOption()?.buttons?.minimize?.position || 'bottom-right', ...(ngDevMode ? [{ debugName: "minimizePosition" }] : []));
45
- this.minimizeState = computed(() => this.serviceState.modalOption()?.buttons?.minimize?.enable || false, ...(ngDevMode ? [{ debugName: "minimizeState" }] : []));
46
- this.maximizeState = computed(() => this.serviceState.modalOption()?.buttons?.maximize || false, ...(ngDevMode ? [{ debugName: "maximizeState" }] : []));
47
- this.modalSize = computed(() => this.serviceState.modalOption()?.size || 'lg', ...(ngDevMode ? [{ debugName: "modalSize" }] : []));
48
- this.headerTitle = computed(() => this.serviceState.modalOption()?.title || '', ...(ngDevMode ? [{ debugName: "headerTitle" }] : []));
49
- this.draggable = computed(() => this.serviceState.modalOption()?.draggable || true, ...(ngDevMode ? [{ debugName: "draggable" }] : []));
50
- this.#init = afterNextRender(() => {
51
- const popFooter = this.nativeElement.querySelector('.ax-modal-footer');
52
- const footer = this.nativeElement.querySelector('.ax-modal-content ax-modal-footer');
53
- if (footer) {
54
- popFooter?.append(footer);
55
- }
56
- });
57
- this.#eff = effect(() => {
58
- const host = this.nativeElement;
59
- if (this.draggable())
60
- host.classList.add('ax-draggable');
61
- if (!this.backdropState())
62
- return;
63
- this.addBackdrop();
64
- if (!this.backdropBackground())
65
- return;
66
- }, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
67
- }
68
- #init;
69
- close() {
70
- this.serviceState.close(this.id());
71
- }
72
- minimize() {
73
- if (this.fullScreenState())
74
- document.exitFullscreen();
75
- this.modalContainer().nativeElement.style.transition = 'all 200ms ease-out';
76
- this.modalContainer().nativeElement.style.top = `auto`;
77
- this.modalContainer().nativeElement.style.bottom = `0`;
78
- if (this.backdropState())
79
- this.removeBackdrop();
80
- this.modalContainer().nativeElement.classList.remove('ax-normal-modal');
81
- this.modalContainer().nativeElement.classList.add('ax-minimize-modal');
82
- requestAnimationFrame(() => {
83
- const width = this.modalContainer().nativeElement.offsetWidth;
84
- const index = this.serviceState.getMapIndexOf(this.id());
85
- if (this.minimizePosition() === 'bottom-right') {
86
- this.modalContainer().nativeElement.style.left = `auto`;
87
- this.modalContainer().nativeElement.style.right = `${index * (width + 10)}px`;
88
- }
89
- else {
90
- this.modalContainer().nativeElement.style.right = `auto`;
91
- this.modalContainer().nativeElement.style.left = `${index * (width + 10)}px`;
92
- }
93
- });
94
- this.modalSizeState.set('minimize');
95
- }
96
- maximize() {
97
- this.modalContainer().nativeElement.style.transition = 'none';
98
- if (this.modalSizeState() === 'minimize')
99
- this.restore();
100
- if (!document.fullscreenElement) {
101
- this.modalContainer().nativeElement.requestFullscreen();
102
- this.fullScreenState.set(true);
103
- }
104
- else {
105
- document.exitFullscreen();
106
- }
107
- document.addEventListener('fullscreenchange', () => {
108
- if (!document.fullscreenElement) {
109
- this.fullScreenState.set(false);
110
- }
111
- });
112
- }
113
- restore() {
114
- setTimeout(() => {
115
- this.modalContainer().nativeElement.style.transition = 'none';
116
- }, 200);
117
- if (this.fullScreenState()) {
118
- document.exitFullscreen();
119
- return;
120
- }
121
- this.modalContainer().nativeElement.style.bottom = `auto`;
122
- this.modalContainer().nativeElement.style.right = `auto`;
123
- this.modalContainer().nativeElement.style.left = this.prevLeft();
124
- this.modalContainer().nativeElement.style.top = this.prevTop();
125
- if (this.backdropState())
126
- this.addBackdrop();
127
- this.modalContainer().nativeElement.classList.remove(`ax-minimize-modal`);
128
- this.modalContainer().nativeElement.classList.add('ax-normal-modal');
129
- this.modalSizeState.set('normal');
130
- }
131
- pointerDownHandler(e) {
132
- if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState())
133
- return;
134
- this.isMouseDown.set(true);
135
- this.offsetX.set(e.clientX - this.modalContainer().nativeElement.offsetLeft);
136
- this.offsetY.set(e.clientY - this.modalContainer().nativeElement.offsetTop);
137
- }
138
- addBackdrop() {
139
- const backdropElem = document.createElement('div');
140
- backdropElem.classList.add('ax-modal-drawer-backdrop');
141
- if (this.backdropClass()) {
142
- backdropElem.classList.add(...this.backdropClass().split(' '));
143
- }
144
- else {
145
- backdropElem.classList.add('ax-default-backdrop');
146
- }
147
- backdropElem.addEventListener('pointerdown', (e) => {
148
- if (!this.backdropCloseOnClick())
149
- return;
150
- if (e.target === e.currentTarget) {
151
- this.close();
152
- }
153
- });
154
- this.nativeElement.appendChild(backdropElem);
155
- }
156
- removeBackdrop() {
157
- const backdropElem = this.nativeElement.querySelector('.ax-modal-drawer-backdrop');
158
- if (backdropElem) {
159
- backdropElem.remove();
160
- }
161
- }
162
- pointerMoveHandler(e) {
163
- if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState())
164
- return;
165
- if (!this.isMouseDown())
166
- return;
167
- this.modalContainer().nativeElement.style.left = `${e.clientX - this.offsetX()}px`;
168
- this.modalContainer().nativeElement.style.top = `${e.clientY - this.offsetY()}px`;
169
- this.prevLeft.set(`${e.clientX - this.offsetX()}px`);
170
- this.prevTop.set(`${e.clientY - this.offsetY()}px`);
171
- }
172
- pointerUpHandler() {
173
- if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState())
174
- return;
175
- this.isMouseDown.set(false);
176
- }
177
- #eff;
178
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXModalContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
179
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXModalContentComponent, isStandalone: true, selector: "ax-modal-content", inputs: { __content__: { classPropertyName: "__content__", publicName: "__content__", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, inputs: { classPropertyName: "inputs", publicName: "inputs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { inputs: "inputsChange" }, host: { listeners: { "pointermove": "pointerMoveHandler($event)", "pointerup": "pointerUpHandler($event)", "pointerleave": "pointerUpHandler($event)" } }, providers: [{ provide: AXComponent, useExisting: AXModalContentComponent }], viewQueries: [{ propertyName: "modalContainer", first: true, predicate: ["c"], descendants: true, isSignal: true }, { propertyName: "footer", first: true, predicate: AXModalFooterComponent, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.AXFocusTrapDirective }], ngImport: i0, template: "<div #c class=\"ax-modal-container ax-{{ modalSizeState() }}-modal ax-modal-{{ modalSize() }}\" [@modalAnimation]>\n @if (headerState()) {\n <div (pointerdown)=\"pointerDownHandler($event)\" class=\"ax-modal-header\">\n <ax-text>{{ headerTitle() }}</ax-text>\n\n <div>\n @if (minimizeState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"minimize()\" look=\"blank\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-minimize\"> </ax-icon>\n </ax-button>\n }\n\n @if (modalSizeState() !== 'normal' || fullScreenState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"restore()\" look=\"blank\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-maximize\"> </ax-icon>\n </ax-button>\n }\n\n @if (maximizeState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"maximize()\" look=\"blank\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-full-screen\"> </ax-icon>\n </ax-button>\n }\n\n @if (closeHeaderButton()) {\n <ax-button class=\"ax-sm\" look=\"blank\" (onClick)=\"close()\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-close\"> </ax-icon>\n </ax-button>\n }\n </div>\n </div>\n }\n\n <div class=\"ax-modal-content\">\n @if (isTemplate()) {\n <ng-container [ngTemplateOutlet]=\"this.template()\" [ngTemplateOutletContext]=\"inputs()\"></ng-container>\n } @else if (isHtmlElement()) {\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(this.element().outerHTML)\"></div>\n } @else {\n <ng-container [ngComponentOutlet]=\"this.component()\" [ngComponentOutletInputs]=\"inputs()\"></ng-container>\n }\n </div>\n\n @if (footerState()) {\n <div class=\"ax-modal-footer\"></div>\n }\n</div>\n", styles: ["ax-modal-content{touch-action:none;-webkit-user-select:none;user-select:none}ax-modal-content .ax-modal-drawer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:50}ax-modal-content .ax-modal-drawer-backdrop.ax-default-backdrop{background-color:#00000080}ax-modal-content.ax-draggable .ax-modal-header:hover{cursor:move}ax-modal-content .ax-modal-container{position:fixed;z-index:55;background-color:rgba(var(--ax-sys-color-lightest-surface));display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));overflow:hidden;max-height:90vh;max-width:100vw}ax-modal-content .ax-modal-container.ax-modal-full{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-modal-fit{width:fit-content}@media (min-width: 320px) and (max-width: 640px){ax-modal-content .ax-modal-container.ax-modal-sm,ax-modal-content .ax-modal-container.ax-modal-md,ax-modal-content .ax-modal-container.ax-modal-lg,ax-modal-content .ax-modal-container.ax-modal-fit{width:93vw}}@media (min-width: 768px){ax-modal-content .ax-modal-container.ax-modal-sm{width:55vw}ax-modal-content .ax-modal-container.ax-modal-md{width:65vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:75vw}}@media (min-width: 1280px){ax-modal-content .ax-modal-container.ax-modal-sm{width:30vw}ax-modal-content .ax-modal-container.ax-modal-md{width:50vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:85vw}}@media (min-width: 1536px){ax-modal-content .ax-modal-container.ax-modal-sm{width:25vw}ax-modal-content .ax-modal-container.ax-modal-md{width:40vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:65vw}}ax-modal-content .ax-modal-container.ax-normal-modal{top:50%;left:50%;transform:translate(-50%,-50%)}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container.ax-minimize-modal{width:fit-content}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-content{display:none}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-footer{display:none}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer,ax-modal-content .ax-modal-container .ax-modal-content{padding:.5rem}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{height:fit-content}ax-modal-content .ax-modal-container .ax-modal-content{overflow:auto;flex-grow:1}ax-modal-content .ax-modal-container .ax-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-modal-content .ax-modal-container .ax-modal-footer{border-top:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.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" }], animations: [
180
- trigger('modalAnimation', [
181
- transition(':enter', [
182
- style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' }),
183
- animate('200ms ease-out', style({ opacity: 1, scale: 1, transformOrigin: 'top left' })),
184
- ]),
185
- transition(':leave', [
186
- style({ opacity: 1, scale: 1, transformOrigin: 'top left' }),
187
- animate('200ms ease-out', style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' })),
188
- ]),
189
- ]),
190
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
191
- }
192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXModalContentComponent, decorators: [{
193
- type: Component,
194
- args: [{ selector: 'ax-modal-content', imports: [CommonModule, AXButtonComponent, AXDecoratorModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [AXFocusTrapDirective], animations: [
195
- trigger('modalAnimation', [
196
- transition(':enter', [
197
- style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' }),
198
- animate('200ms ease-out', style({ opacity: 1, scale: 1, transformOrigin: 'top left' })),
199
- ]),
200
- transition(':leave', [
201
- style({ opacity: 1, scale: 1, transformOrigin: 'top left' }),
202
- animate('200ms ease-out', style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' })),
203
- ]),
204
- ]),
205
- ], providers: [{ provide: AXComponent, useExisting: AXModalContentComponent }], template: "<div #c class=\"ax-modal-container ax-{{ modalSizeState() }}-modal ax-modal-{{ modalSize() }}\" [@modalAnimation]>\n @if (headerState()) {\n <div (pointerdown)=\"pointerDownHandler($event)\" class=\"ax-modal-header\">\n <ax-text>{{ headerTitle() }}</ax-text>\n\n <div>\n @if (minimizeState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"minimize()\" look=\"blank\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-minimize\"> </ax-icon>\n </ax-button>\n }\n\n @if (modalSizeState() !== 'normal' || fullScreenState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"restore()\" look=\"blank\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-maximize\"> </ax-icon>\n </ax-button>\n }\n\n @if (maximizeState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"maximize()\" look=\"blank\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-full-screen\"> </ax-icon>\n </ax-button>\n }\n\n @if (closeHeaderButton()) {\n <ax-button class=\"ax-sm\" look=\"blank\" (onClick)=\"close()\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-close\"> </ax-icon>\n </ax-button>\n }\n </div>\n </div>\n }\n\n <div class=\"ax-modal-content\">\n @if (isTemplate()) {\n <ng-container [ngTemplateOutlet]=\"this.template()\" [ngTemplateOutletContext]=\"inputs()\"></ng-container>\n } @else if (isHtmlElement()) {\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(this.element().outerHTML)\"></div>\n } @else {\n <ng-container [ngComponentOutlet]=\"this.component()\" [ngComponentOutletInputs]=\"inputs()\"></ng-container>\n }\n </div>\n\n @if (footerState()) {\n <div class=\"ax-modal-footer\"></div>\n }\n</div>\n", styles: ["ax-modal-content{touch-action:none;-webkit-user-select:none;user-select:none}ax-modal-content .ax-modal-drawer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:50}ax-modal-content .ax-modal-drawer-backdrop.ax-default-backdrop{background-color:#00000080}ax-modal-content.ax-draggable .ax-modal-header:hover{cursor:move}ax-modal-content .ax-modal-container{position:fixed;z-index:55;background-color:rgba(var(--ax-sys-color-lightest-surface));display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));overflow:hidden;max-height:90vh;max-width:100vw}ax-modal-content .ax-modal-container.ax-modal-full{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-modal-fit{width:fit-content}@media (min-width: 320px) and (max-width: 640px){ax-modal-content .ax-modal-container.ax-modal-sm,ax-modal-content .ax-modal-container.ax-modal-md,ax-modal-content .ax-modal-container.ax-modal-lg,ax-modal-content .ax-modal-container.ax-modal-fit{width:93vw}}@media (min-width: 768px){ax-modal-content .ax-modal-container.ax-modal-sm{width:55vw}ax-modal-content .ax-modal-container.ax-modal-md{width:65vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:75vw}}@media (min-width: 1280px){ax-modal-content .ax-modal-container.ax-modal-sm{width:30vw}ax-modal-content .ax-modal-container.ax-modal-md{width:50vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:85vw}}@media (min-width: 1536px){ax-modal-content .ax-modal-container.ax-modal-sm{width:25vw}ax-modal-content .ax-modal-container.ax-modal-md{width:40vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:65vw}}ax-modal-content .ax-modal-container.ax-normal-modal{top:50%;left:50%;transform:translate(-50%,-50%)}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container.ax-minimize-modal{width:fit-content}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-content{display:none}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-footer{display:none}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer,ax-modal-content .ax-modal-container .ax-modal-content{padding:.5rem}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{height:fit-content}ax-modal-content .ax-modal-container .ax-modal-content{overflow:auto;flex-grow:1}ax-modal-content .ax-modal-container .ax-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-modal-content .ax-modal-container .ax-modal-footer{border-top:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}\n"] }]
206
- }], propDecorators: { pointerMoveHandler: [{
207
- type: HostListener,
208
- args: ['pointermove', ['$event']]
209
- }], pointerUpHandler: [{
210
- type: HostListener,
211
- args: ['pointerup', ['$event']]
212
- }, {
213
- type: HostListener,
214
- args: ['pointerleave', ['$event']]
215
- }] } });
216
-
217
- export { AXModalContentComponent };
218
- //# sourceMappingURL=acorex-components-modal-modal-content.component-DfhgA_WL.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-components-modal-modal-content.component-DfhgA_WL.mjs","sources":["../tmp-esm2022/modal/lib/modal-content/modal-content.component.js"],"sourcesContent":["import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, computed, effect, HostListener, inject, input, model, signal, TemplateRef, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { AXModalFooterComponent } from '../modal-footer/modal-footer.component';\nimport { AXModalStateService } from '../modal-state.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/cdk/focus-trap\";\nimport * as i2 from \"@angular/common\";\nimport * as i3 from \"@acorex/components/decorators\";\nexport class AXModalContentComponent extends NXComponent {\n constructor() {\n super(...arguments);\n this.__content__ = input.required(...(ngDevMode ? [{ debugName: \"__content__\" }] : []));\n this.id = input(...(ngDevMode ? [undefined, { debugName: \"id\" }] : []));\n this.inputs = model(...(ngDevMode ? [undefined, { debugName: \"inputs\" }] : []));\n this.serviceState = inject(AXModalStateService);\n this.sanitizer = inject(DomSanitizer);\n this.modalContainer = viewChild('c', ...(ngDevMode ? [{ debugName: \"modalContainer\" }] : []));\n this.footer = viewChild(AXModalFooterComponent, ...(ngDevMode ? [{ debugName: \"footer\" }] : []));\n this.isTemplate = computed(() => this.__content__() instanceof TemplateRef, ...(ngDevMode ? [{ debugName: \"isTemplate\" }] : []));\n this.isHtmlElement = computed(() => this.__content__() instanceof HTMLElement, ...(ngDevMode ? [{ debugName: \"isHtmlElement\" }] : []));\n this.component = computed(() => this.__content__(), ...(ngDevMode ? [{ debugName: \"component\" }] : []));\n this.template = computed(() => this.__content__(), ...(ngDevMode ? [{ debugName: \"template\" }] : []));\n this.element = computed(() => this.__content__(), ...(ngDevMode ? [{ debugName: \"element\" }] : []));\n this.modalSizeState = signal('normal', ...(ngDevMode ? [{ debugName: \"modalSizeState\" }] : []));\n this.fullScreenState = signal(false, ...(ngDevMode ? [{ debugName: \"fullScreenState\" }] : []));\n this.isMouseDown = signal(false, ...(ngDevMode ? [{ debugName: \"isMouseDown\" }] : []));\n this.offsetX = signal(0, ...(ngDevMode ? [{ debugName: \"offsetX\" }] : []));\n this.offsetY = signal(0, ...(ngDevMode ? [{ debugName: \"offsetY\" }] : []));\n this.prevLeft = signal('', ...(ngDevMode ? [{ debugName: \"prevLeft\" }] : []));\n this.prevTop = signal('', ...(ngDevMode ? [{ debugName: \"prevTop\" }] : []));\n this.backdropState = computed(() => this.serviceState.modalOption()?.backdrop?.enabled || true, ...(ngDevMode ? [{ debugName: \"backdropState\" }] : []));\n this.headerState = computed(() => this.serviceState.modalOption()?.header || false, ...(ngDevMode ? [{ debugName: \"headerState\" }] : []));\n this.footerState = computed(() => this.serviceState.modalOption()?.footer || false, ...(ngDevMode ? [{ debugName: \"footerState\" }] : []));\n this.closeHeaderButton = computed(() => this.serviceState.modalOption()?.buttons?.close || true, ...(ngDevMode ? [{ debugName: \"closeHeaderButton\" }] : []));\n this.backdropBackground = computed(() => this.serviceState.modalOption()?.backdrop?.background || true, ...(ngDevMode ? [{ debugName: \"backdropBackground\" }] : []));\n this.backdropClass = computed(() => this.serviceState.modalOption()?.backdrop?.cssClass || '', ...(ngDevMode ? [{ debugName: \"backdropClass\" }] : []));\n this.backdropCloseOnClick = computed(() => this.serviceState.modalOption()?.backdrop?.closeOnClick || true, ...(ngDevMode ? [{ debugName: \"backdropCloseOnClick\" }] : []));\n this.minimizePosition = computed(() => this.serviceState.modalOption()?.buttons?.minimize?.position || 'bottom-right', ...(ngDevMode ? [{ debugName: \"minimizePosition\" }] : []));\n this.minimizeState = computed(() => this.serviceState.modalOption()?.buttons?.minimize?.enable || false, ...(ngDevMode ? [{ debugName: \"minimizeState\" }] : []));\n this.maximizeState = computed(() => this.serviceState.modalOption()?.buttons?.maximize || false, ...(ngDevMode ? [{ debugName: \"maximizeState\" }] : []));\n this.modalSize = computed(() => this.serviceState.modalOption()?.size || 'lg', ...(ngDevMode ? [{ debugName: \"modalSize\" }] : []));\n this.headerTitle = computed(() => this.serviceState.modalOption()?.title || '', ...(ngDevMode ? [{ debugName: \"headerTitle\" }] : []));\n this.draggable = computed(() => this.serviceState.modalOption()?.draggable || true, ...(ngDevMode ? [{ debugName: \"draggable\" }] : []));\n this.#init = afterNextRender(() => {\n const popFooter = this.nativeElement.querySelector('.ax-modal-footer');\n const footer = this.nativeElement.querySelector('.ax-modal-content ax-modal-footer');\n if (footer) {\n popFooter?.append(footer);\n }\n });\n this.#eff = effect(() => {\n const host = this.nativeElement;\n if (this.draggable())\n host.classList.add('ax-draggable');\n if (!this.backdropState())\n return;\n this.addBackdrop();\n if (!this.backdropBackground())\n return;\n }, ...(ngDevMode ? [{ debugName: \"#eff\" }] : []));\n }\n #init;\n close() {\n this.serviceState.close(this.id());\n }\n minimize() {\n if (this.fullScreenState())\n document.exitFullscreen();\n this.modalContainer().nativeElement.style.transition = 'all 200ms ease-out';\n this.modalContainer().nativeElement.style.top = `auto`;\n this.modalContainer().nativeElement.style.bottom = `0`;\n if (this.backdropState())\n this.removeBackdrop();\n this.modalContainer().nativeElement.classList.remove('ax-normal-modal');\n this.modalContainer().nativeElement.classList.add('ax-minimize-modal');\n requestAnimationFrame(() => {\n const width = this.modalContainer().nativeElement.offsetWidth;\n const index = this.serviceState.getMapIndexOf(this.id());\n if (this.minimizePosition() === 'bottom-right') {\n this.modalContainer().nativeElement.style.left = `auto`;\n this.modalContainer().nativeElement.style.right = `${index * (width + 10)}px`;\n }\n else {\n this.modalContainer().nativeElement.style.right = `auto`;\n this.modalContainer().nativeElement.style.left = `${index * (width + 10)}px`;\n }\n });\n this.modalSizeState.set('minimize');\n }\n maximize() {\n this.modalContainer().nativeElement.style.transition = 'none';\n if (this.modalSizeState() === 'minimize')\n this.restore();\n if (!document.fullscreenElement) {\n this.modalContainer().nativeElement.requestFullscreen();\n this.fullScreenState.set(true);\n }\n else {\n document.exitFullscreen();\n }\n document.addEventListener('fullscreenchange', () => {\n if (!document.fullscreenElement) {\n this.fullScreenState.set(false);\n }\n });\n }\n restore() {\n setTimeout(() => {\n this.modalContainer().nativeElement.style.transition = 'none';\n }, 200);\n if (this.fullScreenState()) {\n document.exitFullscreen();\n return;\n }\n this.modalContainer().nativeElement.style.bottom = `auto`;\n this.modalContainer().nativeElement.style.right = `auto`;\n this.modalContainer().nativeElement.style.left = this.prevLeft();\n this.modalContainer().nativeElement.style.top = this.prevTop();\n if (this.backdropState())\n this.addBackdrop();\n this.modalContainer().nativeElement.classList.remove(`ax-minimize-modal`);\n this.modalContainer().nativeElement.classList.add('ax-normal-modal');\n this.modalSizeState.set('normal');\n }\n pointerDownHandler(e) {\n if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState())\n return;\n this.isMouseDown.set(true);\n this.offsetX.set(e.clientX - this.modalContainer().nativeElement.offsetLeft);\n this.offsetY.set(e.clientY - this.modalContainer().nativeElement.offsetTop);\n }\n addBackdrop() {\n const backdropElem = document.createElement('div');\n backdropElem.classList.add('ax-modal-drawer-backdrop');\n if (this.backdropClass()) {\n backdropElem.classList.add(...this.backdropClass().split(' '));\n }\n else {\n backdropElem.classList.add('ax-default-backdrop');\n }\n backdropElem.addEventListener('pointerdown', (e) => {\n if (!this.backdropCloseOnClick())\n return;\n if (e.target === e.currentTarget) {\n this.close();\n }\n });\n this.nativeElement.appendChild(backdropElem);\n }\n removeBackdrop() {\n const backdropElem = this.nativeElement.querySelector('.ax-modal-drawer-backdrop');\n if (backdropElem) {\n backdropElem.remove();\n }\n }\n pointerMoveHandler(e) {\n if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState())\n return;\n if (!this.isMouseDown())\n return;\n this.modalContainer().nativeElement.style.left = `${e.clientX - this.offsetX()}px`;\n this.modalContainer().nativeElement.style.top = `${e.clientY - this.offsetY()}px`;\n this.prevLeft.set(`${e.clientX - this.offsetX()}px`);\n this.prevTop.set(`${e.clientY - this.offsetY()}px`);\n }\n pointerUpHandler() {\n if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState())\n return;\n this.isMouseDown.set(false);\n }\n #eff;\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXModalContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.3\", type: AXModalContentComponent, isStandalone: true, selector: \"ax-modal-content\", inputs: { __content__: { classPropertyName: \"__content__\", publicName: \"__content__\", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null }, inputs: { classPropertyName: \"inputs\", publicName: \"inputs\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { inputs: \"inputsChange\" }, host: { listeners: { \"pointermove\": \"pointerMoveHandler($event)\", \"pointerup\": \"pointerUpHandler($event)\", \"pointerleave\": \"pointerUpHandler($event)\" } }, providers: [{ provide: AXComponent, useExisting: AXModalContentComponent }], viewQueries: [{ propertyName: \"modalContainer\", first: true, predicate: [\"c\"], descendants: true, isSignal: true }, { propertyName: \"footer\", first: true, predicate: AXModalFooterComponent, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.AXFocusTrapDirective }], ngImport: i0, template: \"<div #c class=\\\"ax-modal-container ax-{{ modalSizeState() }}-modal ax-modal-{{ modalSize() }}\\\" [@modalAnimation]>\\n @if (headerState()) {\\n <div (pointerdown)=\\\"pointerDownHandler($event)\\\" class=\\\"ax-modal-header\\\">\\n <ax-text>{{ headerTitle() }}</ax-text>\\n\\n <div>\\n @if (minimizeState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"minimize()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-minimize\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (modalSizeState() !== 'normal' || fullScreenState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"restore()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-maximize\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (maximizeState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"maximize()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-full-screen\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (closeHeaderButton()) {\\n <ax-button class=\\\"ax-sm\\\" look=\\\"blank\\\" (onClick)=\\\"close()\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-close\\\"> </ax-icon>\\n </ax-button>\\n }\\n </div>\\n </div>\\n }\\n\\n <div class=\\\"ax-modal-content\\\">\\n @if (isTemplate()) {\\n <ng-container [ngTemplateOutlet]=\\\"this.template()\\\" [ngTemplateOutletContext]=\\\"inputs()\\\"></ng-container>\\n } @else if (isHtmlElement()) {\\n <div [innerHTML]=\\\"sanitizer.bypassSecurityTrustHtml(this.element().outerHTML)\\\"></div>\\n } @else {\\n <ng-container [ngComponentOutlet]=\\\"this.component()\\\" [ngComponentOutletInputs]=\\\"inputs()\\\"></ng-container>\\n }\\n </div>\\n\\n @if (footerState()) {\\n <div class=\\\"ax-modal-footer\\\"></div>\\n }\\n</div>\\n\", styles: [\"ax-modal-content{touch-action:none;-webkit-user-select:none;user-select:none}ax-modal-content .ax-modal-drawer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:50}ax-modal-content .ax-modal-drawer-backdrop.ax-default-backdrop{background-color:#00000080}ax-modal-content.ax-draggable .ax-modal-header:hover{cursor:move}ax-modal-content .ax-modal-container{position:fixed;z-index:55;background-color:rgba(var(--ax-sys-color-lightest-surface));display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));overflow:hidden;max-height:90vh;max-width:100vw}ax-modal-content .ax-modal-container.ax-modal-full{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-modal-fit{width:fit-content}@media (min-width: 320px) and (max-width: 640px){ax-modal-content .ax-modal-container.ax-modal-sm,ax-modal-content .ax-modal-container.ax-modal-md,ax-modal-content .ax-modal-container.ax-modal-lg,ax-modal-content .ax-modal-container.ax-modal-fit{width:93vw}}@media (min-width: 768px){ax-modal-content .ax-modal-container.ax-modal-sm{width:55vw}ax-modal-content .ax-modal-container.ax-modal-md{width:65vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:75vw}}@media (min-width: 1280px){ax-modal-content .ax-modal-container.ax-modal-sm{width:30vw}ax-modal-content .ax-modal-container.ax-modal-md{width:50vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:85vw}}@media (min-width: 1536px){ax-modal-content .ax-modal-container.ax-modal-sm{width:25vw}ax-modal-content .ax-modal-container.ax-modal-md{width:40vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:65vw}}ax-modal-content .ax-modal-container.ax-normal-modal{top:50%;left:50%;transform:translate(-50%,-50%)}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container.ax-minimize-modal{width:fit-content}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-content{display:none}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-footer{display:none}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer,ax-modal-content .ax-modal-container .ax-modal-content{padding:.5rem}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{height:fit-content}ax-modal-content .ax-modal-container .ax-modal-content{overflow:auto;flex-grow:1}ax-modal-content .ax-modal-container .ax-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-modal-content .ax-modal-container .ax-modal-footer{border-top:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletEnvironmentInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"directive\", type: i2.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.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\" }], animations: [\n trigger('modalAnimation', [\n transition(':enter', [\n style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' }),\n animate('200ms ease-out', style({ opacity: 1, scale: 1, transformOrigin: 'top left' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, scale: 1, transformOrigin: 'top left' }),\n animate('200ms ease-out', style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' })),\n ]),\n ]),\n ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXModalContentComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-modal-content', imports: [CommonModule, AXButtonComponent, AXDecoratorModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [AXFocusTrapDirective], animations: [\n trigger('modalAnimation', [\n transition(':enter', [\n style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' }),\n animate('200ms ease-out', style({ opacity: 1, scale: 1, transformOrigin: 'top left' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, scale: 1, transformOrigin: 'top left' }),\n animate('200ms ease-out', style({ opacity: 0, scale: 0.8, transformOrigin: 'top left' })),\n ]),\n ]),\n ], providers: [{ provide: AXComponent, useExisting: AXModalContentComponent }], template: \"<div #c class=\\\"ax-modal-container ax-{{ modalSizeState() }}-modal ax-modal-{{ modalSize() }}\\\" [@modalAnimation]>\\n @if (headerState()) {\\n <div (pointerdown)=\\\"pointerDownHandler($event)\\\" class=\\\"ax-modal-header\\\">\\n <ax-text>{{ headerTitle() }}</ax-text>\\n\\n <div>\\n @if (minimizeState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"minimize()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-minimize\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (modalSizeState() !== 'normal' || fullScreenState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"restore()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-maximize\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (maximizeState()) {\\n <ax-button class=\\\"ax-sm\\\" (onClick)=\\\"maximize()\\\" look=\\\"blank\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-full-screen\\\"> </ax-icon>\\n </ax-button>\\n }\\n\\n @if (closeHeaderButton()) {\\n <ax-button class=\\\"ax-sm\\\" look=\\\"blank\\\" (onClick)=\\\"close()\\\" color=\\\"default\\\">\\n <ax-icon class=\\\"ax-icon ax-icon-close\\\"> </ax-icon>\\n </ax-button>\\n }\\n </div>\\n </div>\\n }\\n\\n <div class=\\\"ax-modal-content\\\">\\n @if (isTemplate()) {\\n <ng-container [ngTemplateOutlet]=\\\"this.template()\\\" [ngTemplateOutletContext]=\\\"inputs()\\\"></ng-container>\\n } @else if (isHtmlElement()) {\\n <div [innerHTML]=\\\"sanitizer.bypassSecurityTrustHtml(this.element().outerHTML)\\\"></div>\\n } @else {\\n <ng-container [ngComponentOutlet]=\\\"this.component()\\\" [ngComponentOutletInputs]=\\\"inputs()\\\"></ng-container>\\n }\\n </div>\\n\\n @if (footerState()) {\\n <div class=\\\"ax-modal-footer\\\"></div>\\n }\\n</div>\\n\", styles: [\"ax-modal-content{touch-action:none;-webkit-user-select:none;user-select:none}ax-modal-content .ax-modal-drawer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:50}ax-modal-content .ax-modal-drawer-backdrop.ax-default-backdrop{background-color:#00000080}ax-modal-content.ax-draggable .ax-modal-header:hover{cursor:move}ax-modal-content .ax-modal-container{position:fixed;z-index:55;background-color:rgba(var(--ax-sys-color-lightest-surface));display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));overflow:hidden;max-height:90vh;max-width:100vw}ax-modal-content .ax-modal-container.ax-modal-full{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-modal-fit{width:fit-content}@media (min-width: 320px) and (max-width: 640px){ax-modal-content .ax-modal-container.ax-modal-sm,ax-modal-content .ax-modal-container.ax-modal-md,ax-modal-content .ax-modal-container.ax-modal-lg,ax-modal-content .ax-modal-container.ax-modal-fit{width:93vw}}@media (min-width: 768px){ax-modal-content .ax-modal-container.ax-modal-sm{width:55vw}ax-modal-content .ax-modal-container.ax-modal-md{width:65vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:75vw}}@media (min-width: 1280px){ax-modal-content .ax-modal-container.ax-modal-sm{width:30vw}ax-modal-content .ax-modal-container.ax-modal-md{width:50vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:85vw}}@media (min-width: 1536px){ax-modal-content .ax-modal-container.ax-modal-sm{width:25vw}ax-modal-content .ax-modal-container.ax-modal-md{width:40vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:65vw}}ax-modal-content .ax-modal-container.ax-normal-modal{top:50%;left:50%;transform:translate(-50%,-50%)}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-normal-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container.ax-minimize-modal{width:fit-content}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-content{display:none}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-footer{display:none}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer,ax-modal-content .ax-modal-container .ax-modal-content{padding:.5rem}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{height:fit-content}ax-modal-content .ax-modal-container .ax-modal-content{overflow:auto;flex-grow:1}ax-modal-content .ax-modal-container .ax-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-modal-content .ax-modal-container .ax-modal-footer{border-top:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}\\n\"] }]\n }], propDecorators: { pointerMoveHandler: [{\n type: HostListener,\n args: ['pointermove', ['$event']]\n }], pointerUpHandler: [{\n type: HostListener,\n args: ['pointerup', ['$event']]\n }, {\n type: HostListener,\n args: ['pointerleave', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL21vZGFsL3NyYy9saWIvbW9kYWwtY29udGVudC9tb2RhbC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbW9kYWwvc3JjL2xpYi9tb2RhbC1jb250ZW50L21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFD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QyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7NkJBQzFGLENBQUM7eUJBQ0gsQ0FBQztxQkFDSCxhQUNVLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcseUJBQXlCLEVBQUUsQ0FBQzs4QkE0SmpFLGtCQUFrQjtzQkFEM0IsWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWTdCLGdCQUFnQjtzQkFGekIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNwQyxZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29tcG9uZW50LCBOWENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWEZvY3VzVHJhcERpcmVjdGl2ZSB9IGZyb20gJ0BhY29yZXgvY2RrL2ZvY3VzLXRyYXAnO1xuaW1wb3J0IHsgQVhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhDb21wb25lbnRDb250ZW50LCBBWENvbXBvbmVudElucHV0cywgQVhDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBWE1vZGFsRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtZm9vdGVyL21vZGFsLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNb2RhbFN0YXRlU2VydmljZSB9IGZyb20gJy4uL21vZGFsLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1tb2RhbC1jb250ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbW9kYWwtY29udGVudC5jb21wb25lbnQuc2NzcycsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYQnV0dG9uQ29tcG9uZW50LCBBWERlY29yYXRvck1vZHVsZV0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW0FYRm9jdXNUcmFwRGlyZWN0aXZlXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ21vZGFsQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAsIHNjYWxlOiAwLjgsIHRyYW5zZm9ybU9yaWdpbjogJ3RvcCBsZWZ0JyB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHNjYWxlOiAxLCB0cmFuc2Zvcm1PcmlnaW46ICd0b3AgbGVmdCcgfSkpLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMSwgc2NhbGU6IDEsIHRyYW5zZm9ybU9yaWdpbjogJ3RvcCBsZWZ0JyB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDAsIHNjYWxlOiAwLjgsIHRyYW5zZm9ybU9yaWdpbjogJ3RvcCBsZWZ0JyB9KSksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTW9kYWxDb250ZW50Q29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1vZGFsQ29udGVudENvbXBvbmVudCBleHRlbmRzIE5YQ29tcG9uZW50IHtcbiAgX19jb250ZW50X18gPSBpbnB1dC5yZXF1aXJlZDxBWENvbXBvbmVudENvbnRlbnQgfCBIVE1MRWxlbWVudD4oKTtcbiAgcHVibGljIGlkID0gaW5wdXQ8bnVtYmVyPigpO1xuICBwdWJsaWMgaW5wdXRzID0gbW9kZWw8QVhDb21wb25lbnRJbnB1dHM+KCk7XG4gIHByaXZhdGUgc2VydmljZVN0YXRlID0gaW5qZWN0KEFYTW9kYWxTdGF0ZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG5cbiAgcHJvdGVjdGVkIG1vZGFsQ29udGFpbmVyID0gdmlld0NoaWxkPEVsZW1lbnRSZWY+KCdjJyk7XG4gIHByb3RlY3RlZCBmb290ZXIgPSB2aWV3Q2hpbGQ8QVhNb2RhbEZvb3RlckNvbXBvbmVudD4oQVhNb2RhbEZvb3RlckNvbXBvbmVudCk7XG5cbiAgcHJvdGVjdGVkIGlzVGVtcGxhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9fY29udGVudF9fKCkgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZik7XG4gIHByb3RlY3RlZCBpc0h0bWxFbGVtZW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fX2NvbnRlbnRfXygpIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpO1xuXG4gIHB1YmxpYyBjb21wb25lbnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9fY29udGVudF9fKCkgYXMgQVhDb21wb25lbnRUeXBlPGFueT4pO1xuICBwdWJsaWMgdGVtcGxhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9fY29udGVudF9fKCkgYXMgVGVtcGxhdGVSZWY8YW55Pik7XG4gIHB1YmxpYyBlbGVtZW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fX2NvbnRlbnRfXygpIGFzIEhUTUxFbGVtZW50KTtcblxuICBwcm90ZWN0ZWQgbW9kYWxTaXplU3RhdGUgPSBzaWduYWw8J21pbmltaXplJyB8ICdub3JtYWwnPignbm9ybWFsJyk7XG4gIHByb3RlY3RlZCBmdWxsU2NyZWVuU3RhdGUgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIGlzTW91c2VEb3duID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSBvZmZzZXRYID0gc2lnbmFsKDApO1xuICBwcml2YXRlIG9mZnNldFkgPSBzaWduYWwoMCk7XG4gIHByaXZhdGUgcHJldkxlZnQgPSBzaWduYWwoJycpO1xuICBwcml2YXRlIHByZXZUb3AgPSBzaWduYWwoJycpO1xuICBwcml2YXRlIGJhY2tkcm9wU3RhdGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlcnZpY2VTdGF0ZS5tb2RhbE9wdGlvbigpPy5iYWNrZHJvcD8uZW5hYmxlZCB8fCB0cnVlKTtcbiAgcHJvdGVjdGVkIGhlYWRlclN0YXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXJ2aWNlU3RhdGUubW9kYWxPcHRpb24oKT8uaGVhZGVyIHx8IGZhbHNlKTtcbiAgcHJvdGVjdGVkIGZvb3RlclN0YXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXJ2aWNlU3RhdGUubW9kYWxPcHRpb24oKT8uZm9vdGVyIHx8IGZhbHNlKTtcbiAgcHJvdGVjdGVkIGNsb3NlSGVhZGVyQnV0dG9uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXJ2aWNlU3RhdGUubW9kYWxPcHRpb24oKT8uYnV0dG9ucz8uY2xvc2UgfHwgdHJ1ZSk7XG4gIHByaXZhdGUgYmFja2Ryb3BCYWNrZ3JvdW5kID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXJ2aWNlU3RhdGUubW9kYWxPcHRpb24oKT8uYmFja2Ryb3A/LmJhY2tncm91bmQgfHwgdHJ1ZSk7XG4gIHByaXZhdGUgYmFja2Ryb3BDbGFzcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VydmljZVN0YXRlLm1vZGFsT3B0aW9uKCk/LmJhY2tkcm9wPy5jc3NDbGFzcyB8fCAnJyk7XG4gIHByaXZhdGUgYmFja2Ryb3BDbG9zZU9uQ2xpY2sgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlcnZpY2VTdGF0ZS5tb2RhbE9wdGlvbigpPy5iYWNrZHJvcD8uY2xvc2VPbkNsaWNrIHx8IHRydWUpO1xuICBwcml2YXRlIG1pbmltaXplUG9zaXRpb24gPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLnNlcnZpY2VTdGF0ZS5tb2RhbE9wdGlvbigpPy5idXR0b25zPy5taW5pbWl6ZT8ucG9zaXRpb24gfHwgJ2JvdHRvbS1yaWdodCcsXG4gICk7XG4gIHByb3RlY3RlZCBtaW5pbWl6ZVN0YXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXJ2aWNlU3RhdGUubW9kYWxPcHRpb24oKT8uYnV0dG9ucz8ubWluaW1pemU/LmVuYWJsZSB8fCBmYWxzZSk7XG4gIHByb3RlY3RlZCBtYXhpbWl6ZVN0YXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXJ2aWNlU3RhdGUubW9kYWxPcHRpb24oKT8uYnV0dG9ucz8ubWF4aW1pemUgfHwgZmFsc2UpO1xuICBwcm90ZWN0ZWQgbW9kYWxTaXplID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXJ2aWNlU3RhdGUubW9kYWxPcHRpb24oKT8uc2l6ZSB8fCAnbGcnKTtcbiAgcHJvdGVjdGVkIGhlYWRlclRpdGxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXJ2aWNlU3RhdGUubW9kYWxPcHRpb24oKT8udGl0bGUgfHwgJycpO1xuICBwcml2YXRlIGRyYWdnYWJsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VydmljZVN0YXRlLm1vZGFsT3B0aW9uKCk/LmRyYWdnYWJsZSB8fCB0cnVlKTtcblxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgY29uc3QgcG9wRm9vdGVyID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtbW9kYWwtZm9vdGVyJyk7XG4gICAgY29uc3QgZm9vdGVyID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtbW9kYWwtY29udGVudCBheC1tb2RhbC1mb290ZXInKTtcbiAgICBpZiAoZm9vdGVyKSB7XG4gICAgICBwb3BGb290ZXI/LmFwcGVuZChmb290ZXIpO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGNsb3NlKCkge1xuICAgIHRoaXMuc2VydmljZVN0YXRlLmNsb3NlKHRoaXMuaWQoKSk7XG4gIH1cblxuICBtaW5pbWl6ZSgpIHtcbiAgICBpZiAodGhpcy5mdWxsU2NyZWVuU3RhdGUoKSkgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTtcbiAgICB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5zdHlsZS50cmFuc2l0aW9uID0gJ2FsbCAyMDBtcyBlYXNlLW91dCc7XG5cbiAgICB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSBgYXV0b2A7XG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUuYm90dG9tID0gYDBgO1xuXG4gICAgaWYgKHRoaXMuYmFja2Ryb3BTdGF0ZSgpKSB0aGlzLnJlbW92ZUJhY2tkcm9wKCk7XG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnYXgtbm9ybWFsLW1vZGFsJyk7XG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnYXgtbWluaW1pemUtbW9kYWwnKTtcblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBjb25zdCB3aWR0aCA9IHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlcnZpY2VTdGF0ZS5nZXRNYXBJbmRleE9mKHRoaXMuaWQoKSk7XG5cbiAgICAgIGlmICh0aGlzLm1pbmltaXplUG9zaXRpb24oKSA9PT0gJ2JvdHRvbS1yaWdodCcpIHtcbiAgICAgICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IGBhdXRvYDtcbiAgICAgICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUucmlnaHQgPSBgJHtpbmRleCAqICh3aWR0aCArIDEwKX1weGA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9IGBhdXRvYDtcbiAgICAgICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IGAke2luZGV4ICogKHdpZHRoICsgMTApfXB4YDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMubW9kYWxTaXplU3RhdGUuc2V0KCdtaW5pbWl6ZScpO1xuICB9XG5cbiAgbWF4aW1pemUoKSB7XG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNpdGlvbiA9ICdub25lJztcblxuICAgIGlmICh0aGlzLm1vZGFsU2l6ZVN0YXRlKCkgPT09ICdtaW5pbWl6ZScpIHRoaXMucmVzdG9yZSgpO1xuXG4gICAgaWYgKCFkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCkge1xuICAgICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4oKTtcbiAgICAgIHRoaXMuZnVsbFNjcmVlblN0YXRlLnNldCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTtcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdmdWxsc2NyZWVuY2hhbmdlJywgKCkgPT4ge1xuICAgICAgaWYgKCFkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudCkge1xuICAgICAgICB0aGlzLmZ1bGxTY3JlZW5TdGF0ZS5zZXQoZmFsc2UpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVzdG9yZSgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zaXRpb24gPSAnbm9uZSc7XG4gICAgfSwgMjAwKTtcblxuICAgIGlmICh0aGlzLmZ1bGxTY3JlZW5TdGF0ZSgpKSB7XG4gICAgICBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LnN0eWxlLmJvdHRvbSA9IGBhdXRvYDtcbiAgICB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5zdHlsZS5yaWdodCA9IGBhdXRvYDtcbiAgICB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gdGhpcy5wcmV2TGVmdCgpO1xuICAgIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9IHRoaXMucHJldlRvcCgpO1xuXG4gICAgaWYgKHRoaXMuYmFja2Ryb3BTdGF0ZSgpKSB0aGlzLmFkZEJhY2tkcm9wKCk7XG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShgYXgtbWluaW1pemUtbW9kYWxgKTtcbiAgICB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdheC1ub3JtYWwtbW9kYWwnKTtcbiAgICB0aGlzLm1vZGFsU2l6ZVN0YXRlLnNldCgnbm9ybWFsJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcG9pbnRlckRvd25IYW5kbGVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZHJhZ2dhYmxlKCkgfHwgdGhpcy5tb2RhbFNpemVTdGF0ZSgpID09PSAnbWluaW1pemUnIHx8IHRoaXMuZnVsbFNjcmVlblN0YXRlKCkpIHJldHVybjtcbiAgICB0aGlzLmlzTW91c2VEb3duLnNldCh0cnVlKTtcbiAgICB0aGlzLm9mZnNldFguc2V0KGUuY2xpZW50WCAtIHRoaXMubW9kYWxDb250YWluZXIoKS5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQpO1xuICAgIHRoaXMub2Zmc2V0WS5zZXQoZS5jbGllbnRZIC0gdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkQmFja2Ryb3AoKSB7XG4gICAgY29uc3QgYmFja2Ryb3BFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgYmFja2Ryb3BFbGVtLmNsYXNzTGlzdC5hZGQoJ2F4LW1vZGFsLWRyYXdlci1iYWNrZHJvcCcpO1xuXG4gICAgaWYgKHRoaXMuYmFja2Ryb3BDbGFzcygpKSB7XG4gICAgICBiYWNrZHJvcEVsZW0uY2xhc3NMaXN0LmFkZCguLi50aGlzLmJhY2tkcm9wQ2xhc3MoKS5zcGxpdCgnICcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja2Ryb3BFbGVtLmNsYXNzTGlzdC5hZGQoJ2F4LWRlZmF1bHQtYmFja2Ryb3AnKTtcbiAgICB9XG5cbiAgICBiYWNrZHJvcEVsZW0uYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmJhY2tkcm9wQ2xvc2VPbkNsaWNrKCkpIHJldHVybjtcbiAgICAgIGlmIChlLnRhcmdldCA9PT0gZS5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChiYWNrZHJvcEVsZW0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVCYWNrZHJvcCgpIHtcbiAgICBjb25zdCBiYWNrZHJvcEVsZW0gPSB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmF4LW1vZGFsLWRyYXdlci1iYWNrZHJvcCcpO1xuICAgIGlmIChiYWNrZHJvcEVsZW0pIHtcbiAgICAgIGJhY2tkcm9wRWxlbS5yZW1vdmUoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVybW92ZScsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBwb2ludGVyTW92ZUhhbmRsZXIoZTogTW91c2VFdmVudCkge1xuICAgIGlmICghdGhpcy5kcmFnZ2FibGUoKSB8fCB0aGlzLm1vZGFsU2l6ZVN0YXRlKCkgPT09ICdtaW5pbWl6ZScgfHwgdGhpcy5mdWxsU2NyZWVuU3RhdGUoKSkgcmV0dXJuO1xuICAgIGlmICghdGhpcy5pc01vdXNlRG93bigpKSByZXR1cm47XG4gICAgdGhpcy5tb2RhbENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IGAke2UuY2xpZW50WCAtIHRoaXMub2Zmc2V0WCgpfXB4YDtcbiAgICB0aGlzLm1vZGFsQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSBgJHtlLmNsaWVudFkgLSB0aGlzLm9mZnNldFkoKX1weGA7XG4gICAgdGhpcy5wcmV2TGVmdC5zZXQoYCR7ZS5jbGllbnRYIC0gdGhpcy5vZmZzZXRYKCl9cHhgKTtcbiAgICB0aGlzLnByZXZUb3Auc2V0KGAke2UuY2xpZW50WSAtIHRoaXMub2Zmc2V0WSgpfXB4YCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVydXAnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdwb2ludGVybGVhdmUnLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgcG9pbnRlclVwSGFuZGxlcigpIHtcbiAgICBpZiAoIXRoaXMuZHJhZ2dhYmxlKCkgfHwgdGhpcy5tb2RhbFNpemVTdGF0ZSgpID09PSAnbWluaW1pemUnIHx8IHRoaXMuZnVsbFNjcmVlblN0YXRlKCkpIHJldHVybjtcbiAgICB0aGlzLmlzTW91c2VEb3duLnNldChmYWxzZSk7XG4gIH1cblxuICAjZWZmID0gZWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICh0aGlzLmRyYWdnYWJsZSgpKSBob3N0LmNsYXNzTGlzdC5hZGQoJ2F4LWRyYWdnYWJsZScpO1xuICAgIGlmICghdGhpcy5iYWNrZHJvcFN0YXRlKCkpIHJldHVybjtcbiAgICB0aGlzLmFkZEJhY2tkcm9wKCk7XG4gICAgaWYgKCF0aGlzLmJhY2tkcm9wQmFja2dyb3VuZCgpKSByZXR1cm47XG4gIH0pO1xufVxuIiwiPGRpdiAjYyBjbGFzcz1cImF4LW1vZGFsLWNvbnRhaW5lciBheC17eyBtb2RhbFNpemVTdGF0ZSgpIH19LW1vZGFsICBheC1tb2RhbC17eyBtb2RhbFNpemUoKSB9fVwiIFtAbW9kYWxBbmltYXRpb25dPlxuICBAaWYgKGhlYWRlclN0YXRlKCkpIHtcbiAgICA8ZGl2IChwb2ludGVyZG93bik9XCJwb2ludGVyRG93bkhhbmRsZXIoJGV2ZW50KVwiIGNsYXNzPVwiYXgtbW9kYWwtaGVhZGVyXCI+XG4gICAgICA8YXgtdGV4dD57eyBoZWFkZXJUaXRsZSgpIH19PC9heC10ZXh0PlxuXG4gICAgICA8ZGl2PlxuICAgICAgICBAaWYgKG1pbmltaXplU3RhdGUoKSkge1xuICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC1zbVwiIChvbkNsaWNrKT1cIm1pbmltaXplKClcIiBsb29rPVwiYmxhbmtcIiBjb2xvcj1cImRlZmF1bHRcIj5cbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLW1pbmltaXplXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAobW9kYWxTaXplU3RhdGUoKSAhPT0gJ25vcm1hbCcgfHwgZnVsbFNjcmVlblN0YXRlKCkpIHtcbiAgICAgICAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgtc21cIiAob25DbGljayk9XCJyZXN0b3JlKClcIiBsb29rPVwiYmxhbmtcIiBjb2xvcj1cImRlZmF1bHRcIj5cbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLW1heGltaXplXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAobWF4aW1pemVTdGF0ZSgpKSB7XG4gICAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LXNtXCIgKG9uQ2xpY2spPVwibWF4aW1pemUoKVwiIGxvb2s9XCJibGFua1wiIGNvbG9yPVwiZGVmYXVsdFwiPlxuICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tZnVsbC1zY3JlZW5cIj4gPC9heC1pY29uPlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChjbG9zZUhlYWRlckJ1dHRvbigpKSB7XG4gICAgICAgICAgPGF4LWJ1dHRvbiBjbGFzcz1cImF4LXNtXCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiY2xvc2UoKVwiIGNvbG9yPVwiZGVmYXVsdFwiPlxuICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2xvc2VcIj4gPC9heC1pY29uPlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIDxkaXYgY2xhc3M9XCJheC1tb2RhbC1jb250ZW50XCI+XG4gICAgQGlmIChpc1RlbXBsYXRlKCkpIHtcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGhpcy50ZW1wbGF0ZSgpXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImlucHV0cygpXCI+PC9uZy1jb250YWluZXI+XG4gICAgfSBAZWxzZSBpZiAoaXNIdG1sRWxlbWVudCgpKSB7XG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMuZWxlbWVudCgpLm91dGVySFRNTClcIj48L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxuZy1jb250YWluZXIgW25nQ29tcG9uZW50T3V0bGV0XT1cInRoaXMuY29tcG9uZW50KClcIiBbbmdDb21wb25lbnRPdXRsZXRJbnB1dHNdPVwiaW5wdXRzKClcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gIDwvZGl2PlxuXG4gIEBpZiAoZm9vdGVyU3RhdGUoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJheC1tb2RhbC1mb290ZXJcIj48L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0="],"names":[],"mappings":"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"}