@acorex/components 19.14.1 → 19.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/action-sheet/lib/action-sheet.class.d.ts +1 -1
  2. package/action-sheet/lib/action-sheet.component.d.ts +1 -1
  3. package/action-sheet/lib/action-sheet.module.d.ts +1 -1
  4. package/alert/lib/alert.component.d.ts +1 -1
  5. package/audio-wave/lib/interfaces/audio-wave.interface.d.ts +1 -1
  6. package/autocomplete/lib/autocomplete.component.d.ts +1 -1
  7. package/avatar/lib/avatar.component.d.ts +1 -1
  8. package/badge/lib/badge.component.d.ts +1 -1
  9. package/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.d.ts +2 -2
  10. package/bottom-navigation/lib/bottom-navigation.component.d.ts +1 -1
  11. package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +1 -1
  12. package/breadcrumbs/lib/breadcrumbs.component.d.ts +1 -1
  13. package/button/lib/button-item-list.component.d.ts +2 -2
  14. package/button/lib/button-item.class.d.ts +1 -1
  15. package/button/lib/button-item.component.d.ts +1 -1
  16. package/button/lib/button.component.d.ts +1 -1
  17. package/button/lib/button.module.d.ts +1 -1
  18. package/button-group/lib/button-group-item.component.d.ts +1 -1
  19. package/button-group/lib/button-group.component.d.ts +1 -1
  20. package/calendar/lib/calendar-range.component.d.ts +1 -1
  21. package/calendar/lib/calendar.class.d.ts +1 -1
  22. package/calendar/lib/calendar.component.d.ts +1 -1
  23. package/calendar/lib/calendar.module.d.ts +1 -1
  24. package/check-box/lib/check-box.component.d.ts +1 -1
  25. package/chips/lib/chips.component.d.ts +2 -2
  26. package/circular-progress/lib/circular-progress.component.d.ts +1 -1
  27. package/collapse/lib/collapse-group.component.d.ts +1 -1
  28. package/collapse/lib/collapse.component.d.ts +1 -1
  29. package/color-box/lib/color-box.component.d.ts +1 -1
  30. package/color-palette/lib/color-palette-input.component.d.ts +1 -1
  31. package/color-palette/lib/color-palette-picker.component.d.ts +1 -1
  32. package/color-palette/lib/color-palette-preview.component.d.ts +1 -1
  33. package/color-palette/lib/color-palette-swatches.component.d.ts +1 -1
  34. package/color-palette/lib/color-palette.class.d.ts +1 -1
  35. package/color-palette/lib/color-palette.component.d.ts +1 -1
  36. package/conversation/lib/classes/events.interface.d.ts +1 -1
  37. package/conversation/lib/conversation-input/conversation-input.component.d.ts +1 -1
  38. package/conversation/lib/conversation-message/conversation-message.component.d.ts +1 -1
  39. package/conversation/lib/conversation-view/conversation-view.component.d.ts +1 -1
  40. package/conversation/lib/conversation.module.d.ts +1 -1
  41. package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +1 -1
  42. package/cron-job/lib/day/day.component.d.ts +1 -1
  43. package/cron-job/lib/hours/hours.component.d.ts +1 -1
  44. package/cron-job/lib/minutes/minutes.component.d.ts +1 -1
  45. package/cron-job/lib/month/month.component.d.ts +1 -1
  46. package/cron-job/lib/seconds/seconds.component.d.ts +1 -1
  47. package/cron-job/lib/year/year.component.d.ts +1 -1
  48. package/data-pager/lib/data-pager-base.component.d.ts +1 -1
  49. package/data-pager/lib/data-pager-input-selector.component.d.ts +1 -1
  50. package/data-pager/lib/data-pager-next-buttons.component.d.ts +1 -1
  51. package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +1 -1
  52. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +1 -1
  53. package/data-pager/lib/data-pager.component.d.ts +1 -1
  54. package/data-table/lib/base-data-table.class.d.ts +1 -1
  55. package/data-table/lib/columns/data-table-column.d.ts +1 -1
  56. package/data-table/lib/columns/row-command-column.component.d.ts +1 -1
  57. package/data-table/lib/columns/row-select-column.component.d.ts +1 -1
  58. package/data-table/lib/data-table.module.d.ts +1 -1
  59. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +1 -1
  60. package/datetime-box/lib/datetime-box.component.d.ts +1 -1
  61. package/datetime-input/lib/datetime-input.component.d.ts +1 -1
  62. package/datetime-picker/lib/datetime-picker.component.d.ts +1 -1
  63. package/decorators/lib/components/clear-button/clear-button.component.d.ts +2 -2
  64. package/decorators/lib/components/close-button/close-button.component.d.ts +2 -2
  65. package/decorators/lib/components/full-screen/full-screen-button.component.d.ts +1 -1
  66. package/decorators/lib/components/generic-content.component.d.ts +1 -1
  67. package/decorators/lib/components/heading/heading.component.d.ts +1 -1
  68. package/decorators/lib/components/icon/icon.component.d.ts +1 -1
  69. package/dialog/lib/dialog.class.d.ts +1 -1
  70. package/dialog/lib/dialog.component.d.ts +1 -1
  71. package/dialog/lib/dialog.module.d.ts +1 -1
  72. package/dialog/lib/dialog.service.d.ts +1 -1
  73. package/drawer/lib/drawer/drawer-container/drawer-container.component.d.ts +1 -1
  74. package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +1 -1
  75. package/dropdown/lib/dropdown-box.class.d.ts +1 -1
  76. package/dropdown/lib/dropdown-box.component.d.ts +2 -2
  77. package/dropdown/lib/dropdown-panel.component.d.ts +2 -2
  78. package/dropdown/lib/dropdown.module.d.ts +1 -1
  79. package/dropdown-button/lib/dropdown-button.component.d.ts +2 -2
  80. package/dropdown-button/lib/dropdown-button.module.d.ts +1 -1
  81. package/fesm2022/acorex-components-action-sheet.mjs +15 -13
  82. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  83. package/fesm2022/acorex-components-alert.mjs +15 -9
  84. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  85. package/fesm2022/acorex-components-audio-wave.mjs +9 -8
  86. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  87. package/fesm2022/acorex-components-autocomplete.mjs +10 -10
  88. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  89. package/fesm2022/acorex-components-avatar.mjs +13 -12
  90. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  91. package/fesm2022/acorex-components-badge.mjs +9 -9
  92. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  93. package/fesm2022/acorex-components-bottom-navigation.mjs +14 -14
  94. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  95. package/fesm2022/acorex-components-breadcrumbs.mjs +13 -13
  96. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  97. package/fesm2022/acorex-components-button-group.mjs +13 -12
  98. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  99. package/fesm2022/acorex-components-button.mjs +22 -22
  100. package/fesm2022/acorex-components-button.mjs.map +1 -1
  101. package/fesm2022/acorex-components-calendar.mjs +18 -14
  102. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  103. package/fesm2022/acorex-components-check-box.mjs +12 -10
  104. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  105. package/fesm2022/acorex-components-chips.mjs +10 -10
  106. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  107. package/fesm2022/acorex-components-circular-progress.mjs +9 -9
  108. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  109. package/fesm2022/acorex-components-collapse.mjs +15 -13
  110. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  111. package/fesm2022/acorex-components-color-box.mjs +8 -8
  112. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  113. package/fesm2022/acorex-components-color-palette.mjs +36 -26
  114. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  115. package/fesm2022/acorex-components-comment.mjs +37 -36
  116. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  117. package/fesm2022/acorex-components-conversation.mjs +61 -63
  118. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  119. package/fesm2022/acorex-components-cron-job.mjs +57 -53
  120. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  121. package/fesm2022/acorex-components-data-pager.mjs +75 -37
  122. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  123. package/fesm2022/acorex-components-data-table.mjs +59 -39
  124. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  125. package/fesm2022/acorex-components-datetime-box.mjs +8 -8
  126. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  127. package/fesm2022/acorex-components-datetime-input.mjs +8 -8
  128. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  129. package/fesm2022/acorex-components-datetime-picker.mjs +10 -10
  130. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  131. package/fesm2022/acorex-components-decorators.mjs +46 -36
  132. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  133. package/fesm2022/acorex-components-dialog.mjs +21 -13
  134. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  135. package/fesm2022/acorex-components-drawer.mjs +17 -17
  136. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  137. package/fesm2022/acorex-components-dropdown-button.mjs +12 -10
  138. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  139. package/fesm2022/acorex-components-dropdown.mjs +19 -17
  140. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  141. package/fesm2022/acorex-components-file-explorer.mjs +39 -31
  142. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  143. package/fesm2022/acorex-components-flow-chart.mjs +30 -20
  144. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  145. package/fesm2022/acorex-components-form.mjs +20 -18
  146. package/fesm2022/acorex-components-form.mjs.map +1 -1
  147. package/fesm2022/acorex-components-grid-layout-builder.mjs +55 -16
  148. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  149. package/fesm2022/acorex-components-image-editor.mjs +43 -45
  150. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  151. package/fesm2022/acorex-components-image.mjs +15 -9
  152. package/fesm2022/acorex-components-image.mjs.map +1 -1
  153. package/fesm2022/acorex-components-json-viewer.mjs +9 -8
  154. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  155. package/fesm2022/acorex-components-kbd.mjs +13 -12
  156. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  157. package/fesm2022/acorex-components-label.mjs +15 -9
  158. package/fesm2022/acorex-components-label.mjs.map +1 -1
  159. package/fesm2022/acorex-components-list.mjs +8 -8
  160. package/fesm2022/acorex-components-list.mjs.map +1 -1
  161. package/fesm2022/acorex-components-loading-dialog.mjs +12 -12
  162. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  163. package/fesm2022/acorex-components-loading.mjs +19 -19
  164. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  165. package/fesm2022/acorex-components-map.mjs +265 -108
  166. package/fesm2022/acorex-components-map.mjs.map +1 -1
  167. package/fesm2022/acorex-components-media-viewer.mjs +42 -41
  168. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  169. package/fesm2022/acorex-components-menu.mjs +41 -17
  170. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  171. package/fesm2022/{acorex-components-modal-acorex-components-modal-Ckn70-o5.mjs → acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs} +24 -23
  172. package/fesm2022/acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs.map +1 -0
  173. package/fesm2022/acorex-components-modal-modal-content.component-Ef5XWxUb.mjs +216 -0
  174. package/fesm2022/acorex-components-modal-modal-content.component-Ef5XWxUb.mjs.map +1 -0
  175. package/fesm2022/acorex-components-modal.mjs +1 -1
  176. package/fesm2022/acorex-components-navbar.mjs +9 -9
  177. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  178. package/fesm2022/acorex-components-notification.mjs +18 -12
  179. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  180. package/fesm2022/acorex-components-number-box.mjs +8 -8
  181. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  182. package/fesm2022/acorex-components-otp.mjs +20 -8
  183. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  184. package/fesm2022/acorex-components-page.mjs +11 -11
  185. package/fesm2022/acorex-components-page.mjs.map +1 -1
  186. package/fesm2022/acorex-components-paint.mjs +31 -33
  187. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  188. package/fesm2022/acorex-components-password-box.mjs +21 -23
  189. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  190. package/fesm2022/acorex-components-pdf-reader.mjs +9 -8
  191. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  192. package/fesm2022/acorex-components-phone-box.mjs +8 -8
  193. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  194. package/fesm2022/acorex-components-picker.mjs +18 -16
  195. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  196. package/fesm2022/acorex-components-popover.mjs +15 -9
  197. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  198. package/fesm2022/acorex-components-popup.mjs +18 -12
  199. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  200. package/fesm2022/acorex-components-progress-bar.mjs +9 -9
  201. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  202. package/fesm2022/acorex-components-qrcode.mjs +10 -8
  203. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  204. package/fesm2022/acorex-components-query-builder.mjs +9 -9
  205. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  206. package/fesm2022/acorex-components-radio.mjs +10 -8
  207. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  208. package/fesm2022/acorex-components-rail-navigation.mjs +16 -16
  209. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  210. package/fesm2022/acorex-components-range-slider.mjs +13 -11
  211. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  212. package/fesm2022/acorex-components-rate-picker.mjs +10 -8
  213. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  214. package/fesm2022/acorex-components-rest-api-generator.mjs +28 -27
  215. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  216. package/fesm2022/acorex-components-result.mjs +9 -9
  217. package/fesm2022/acorex-components-result.mjs.map +1 -1
  218. package/fesm2022/acorex-components-routing-progress.mjs +9 -9
  219. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  220. package/fesm2022/acorex-components-scheduler.mjs +331 -256
  221. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  222. package/fesm2022/acorex-components-scss.mjs +4 -4
  223. package/fesm2022/acorex-components-search-box.mjs +9 -9
  224. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  225. package/fesm2022/acorex-components-select-box.mjs +18 -12
  226. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  227. package/fesm2022/acorex-components-selection-list.mjs +8 -8
  228. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  229. package/fesm2022/acorex-components-side-menu.mjs +16 -16
  230. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  231. package/fesm2022/acorex-components-skeleton.mjs +9 -9
  232. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  233. package/fesm2022/acorex-components-slider.mjs +10 -8
  234. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  235. package/fesm2022/acorex-components-sliding-item.mjs +17 -16
  236. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  237. package/fesm2022/acorex-components-step-wizard.mjs +16 -16
  238. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  239. package/fesm2022/acorex-components-switch.mjs +14 -11
  240. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  241. package/fesm2022/acorex-components-tabs.mjs +16 -15
  242. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  243. package/fesm2022/acorex-components-tag-box.mjs +10 -10
  244. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  245. package/fesm2022/acorex-components-tag.mjs +9 -9
  246. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  247. package/fesm2022/acorex-components-text-area.mjs +8 -8
  248. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  249. package/fesm2022/acorex-components-text-box.mjs +13 -13
  250. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  251. package/fesm2022/acorex-components-time-duration.mjs +59 -98
  252. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  253. package/fesm2022/acorex-components-time-line.mjs +13 -12
  254. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  255. package/fesm2022/acorex-components-toast.mjs +18 -12
  256. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  257. package/fesm2022/acorex-components-toolbar.mjs +9 -8
  258. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  259. package/fesm2022/acorex-components-tooltip.mjs +12 -12
  260. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  261. package/fesm2022/acorex-components-tree-view.mjs +12 -12
  262. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  263. package/fesm2022/acorex-components-uploader.mjs +27 -27
  264. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  265. package/fesm2022/acorex-components-video-player.mjs +9 -8
  266. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  267. package/fesm2022/acorex-components-wysiwyg.mjs +39 -41
  268. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  269. package/file-explorer/lib/file-explorer-item/file-explorer-item.component.d.ts +1 -1
  270. package/flow-chart/lib/flow-chart-creator/flow-chart-creator.component.d.ts +1 -1
  271. package/flow-chart/lib/flow-chart-renderer/flow-chart-renderer.component.d.ts +1 -1
  272. package/flow-chart/lib/flow-chart.component.d.ts +1 -1
  273. package/form/lib/form-field.component.d.ts +1 -1
  274. package/form/lib/form.component.d.ts +1 -1
  275. package/form/lib/validation-summary.component.d.ts +1 -1
  276. package/grid-layout-builder/lib/grid-layout-container.component.d.ts +4 -3
  277. package/grid-layout-builder/lib/types.d.ts +1 -1
  278. package/image/lib/image.component.d.ts +1 -1
  279. package/image-editor/lib/image-editor-container/image-editor-container.component.d.ts +1 -1
  280. package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +1 -1
  281. package/label/lib/label.component.d.ts +1 -1
  282. package/list/lib/list.component.d.ts +1 -1
  283. package/loading/lib/loading-spinner.component.d.ts +1 -1
  284. package/loading/lib/loading.component.d.ts +1 -1
  285. package/loading-dialog/lib/loading-dialog.class.d.ts +1 -1
  286. package/loading-dialog/lib/loading-dialog.component.d.ts +1 -1
  287. package/loading-dialog/lib/loading-dialog.module.d.ts +1 -1
  288. package/map/lib/map.component.d.ts +38 -11
  289. package/menu/lib/context-menu.component.d.ts +1 -1
  290. package/menu/lib/menu-item.component.d.ts +1 -1
  291. package/menu/lib/menu.component.d.ts +1 -1
  292. package/menu/lib/menu.types.d.ts +1 -1
  293. package/modal/lib/modal-content/modal-content.component.d.ts +1 -1
  294. package/modal/lib/modal.component.d.ts +1 -1
  295. package/navbar/lib/navbar.component.d.ts +1 -1
  296. package/notification/lib/notification.class.d.ts +1 -1
  297. package/notification/lib/notification.component.d.ts +1 -1
  298. package/notification/lib/notification.config.d.ts +1 -1
  299. package/number-box/lib/number-box.component.d.ts +1 -1
  300. package/otp/lib/otp.class.d.ts +1 -1
  301. package/otp/lib/otp.component.d.ts +1 -1
  302. package/package.json +1 -5
  303. package/page/lib/base-page.class.d.ts +1 -1
  304. package/page/lib/page.component.d.ts +1 -1
  305. package/paint/lib/paint/paint-container/paint-container.component.d.ts +1 -1
  306. package/password-box/lib/password-box.component.d.ts +1 -1
  307. package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +9 -11
  308. package/phone-box/lib/phone-box.component.d.ts +1 -1
  309. package/picker/lib/picker-items/picker-items.component.d.ts +1 -1
  310. package/popover/lib/popover.component.d.ts +1 -1
  311. package/popup/lib/popup.component.d.ts +1 -1
  312. package/popup/lib/popup.module.d.ts +1 -1
  313. package/popup/lib/popup.service.d.ts +1 -1
  314. package/progress-bar/lib/progress-bar.component.d.ts +1 -1
  315. package/query-builder/lib/query-builder.component.d.ts +1 -1
  316. package/radio/lib/radio.component.d.ts +1 -1
  317. package/rail-navigation/lib/rail-navigation-item/rail-navigation-item.component.d.ts +1 -1
  318. package/rail-navigation/lib/rail-navigation.component.d.ts +1 -1
  319. package/range-slider/lib/range-slider.class.d.ts +1 -1
  320. package/range-slider/lib/range-slider.component.d.ts +1 -1
  321. package/rate-picker/lib/rate-picker.component.d.ts +1 -1
  322. package/rest-api-generator/lib/query-params/query-params.component.d.ts +1 -1
  323. package/rest-api-generator/lib/request-body/request-body.component.d.ts +1 -1
  324. package/rest-api-generator/lib/request-headers/request-headers.component.d.ts +1 -1
  325. package/rest-api-generator/lib/rest-api-auth/rest-api-auth.component.d.ts +1 -1
  326. package/rest-api-generator/lib/rest-api-generator.component.d.ts +1 -1
  327. package/result/lib/result.component.d.ts +1 -1
  328. package/routing-progress/lib/routing-progress.component.d.ts +1 -1
  329. package/scheduler/lib/scheduler.class.d.ts +35 -31
  330. package/scheduler/lib/scheduler.component.d.ts +60 -41
  331. package/scheduler/lib/scheduler.service.d.ts +15 -14
  332. package/scheduler/lib/views/agenda/scheduler-agenda-view.component.d.ts +14 -12
  333. package/scheduler/lib/views/day/scheduler-day-view.component.d.ts +19 -17
  334. package/scheduler/lib/views/month/scheduler-month-view.component.d.ts +17 -15
  335. package/scheduler/lib/views/timeline-day/scheduler-timeline-day-view.component.d.ts +17 -15
  336. package/scheduler/lib/views/timeline-month/scheduler-timeline-month-view.component.d.ts +15 -13
  337. package/scheduler/lib/views/timeline-multi-day/scheduler-timeline-multi-day-view.component.d.ts +15 -14
  338. package/scheduler/lib/views/week/scheduler-week-view.component.d.ts +19 -17
  339. package/search-box/lib/search-box.component.d.ts +1 -1
  340. package/search-box/lib/search-box.module.d.ts +1 -1
  341. package/select-box/lib/select-box.component.d.ts +2 -1
  342. package/select-box/lib/select-box.module.d.ts +1 -1
  343. package/selection-list/lib/selection-list.component.d.ts +1 -1
  344. package/side-menu/lib/side-menu-item/side-menu-item.component.d.ts +1 -1
  345. package/side-menu/lib/side-menu.component.d.ts +1 -1
  346. package/side-menu/lib/side-menu.module.d.ts +1 -1
  347. package/skeleton/lib/skeleton.component.d.ts +1 -1
  348. package/slider/lib/slider.component.d.ts +1 -1
  349. package/slider/lib/slider.module.d.ts +1 -1
  350. package/sliding-item/lib/sliding-item-prefix/sliding-item-prefix.component.d.ts +1 -1
  351. package/sliding-item/lib/sliding-item-suffix/sliding-item-suffix.component.d.ts +1 -1
  352. package/step-wizard/lib/step-wizard-item/step-wizard-item.component.d.ts +1 -1
  353. package/step-wizard/lib/step-wizard.component.d.ts +1 -1
  354. package/switch/lib/switch-content.component.d.ts +1 -1
  355. package/switch/lib/switch.component.d.ts +1 -1
  356. package/tabs/lib/tab-item.component.d.ts +1 -1
  357. package/tabs/lib/tabs.class.d.ts +1 -1
  358. package/tabs/lib/tabs.component.d.ts +1 -1
  359. package/tag/lib/tag.component.d.ts +1 -1
  360. package/tag-box/lib/tag-box.component.d.ts +1 -1
  361. package/text-area/lib/text-area.component.d.ts +1 -1
  362. package/text-box/lib/text-box.component.d.ts +1 -1
  363. package/text-box/lib/text-box.module.d.ts +1 -1
  364. package/time-duration/lib/time-duration.component.d.ts +3 -5
  365. package/toast/lib/toast.class.d.ts +1 -1
  366. package/toast/lib/toast.component.d.ts +1 -1
  367. package/toast/lib/toast.config.d.ts +1 -1
  368. package/tooltip/lib/tooltip.component.d.ts +1 -1
  369. package/tooltip/lib/tooltip.directive.d.ts +1 -1
  370. package/tree-view/lib/tree-view-item.component.d.ts +1 -1
  371. package/tree-view/lib/tree-view.class.d.ts +1 -1
  372. package/tree-view/lib/tree-view.component.d.ts +1 -1
  373. package/tree-view/lib/tree-view.component.module.d.ts +1 -1
  374. package/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.d.ts +1 -1
  375. package/uploader/lib/uploader.models.d.ts +1 -1
  376. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +1 -1
  377. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.d.ts +1 -1
  378. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +1 -1
  379. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.d.ts +1 -1
  380. package/common/README.md +0 -3
  381. package/common/index.d.ts +0 -32
  382. package/common/lib/classes/components.class.d.ts +0 -97
  383. package/common/lib/classes/datalist.class.d.ts +0 -37
  384. package/common/lib/classes/datasource.class.d.ts +0 -87
  385. package/common/lib/classes/events.class.d.ts +0 -96
  386. package/common/lib/classes/styles.class.d.ts +0 -12
  387. package/common/lib/common.module.d.ts +0 -10
  388. package/common/lib/components/base-component.class.d.ts +0 -42
  389. package/common/lib/components/button-base-component.class.d.ts +0 -55
  390. package/common/lib/components/color-component.class.d.ts +0 -12
  391. package/common/lib/components/colorlook-component.class.d.ts +0 -6
  392. package/common/lib/components/input-base-value-component.class.d.ts +0 -35
  393. package/common/lib/components/interactive-component.class.d.ts +0 -57
  394. package/common/lib/components/look-component.class.d.ts +0 -18
  395. package/common/lib/components/selection-base.component.class.d.ts +0 -53
  396. package/common/lib/components/value-component.class.d.ts +0 -70
  397. package/common/lib/directives/auto-focus.directive.d.ts +0 -17
  398. package/common/lib/directives/copy-clipboard.directive.d.ts +0 -40
  399. package/common/lib/directives/delayed-value-changed.directive.d.ts +0 -17
  400. package/common/lib/directives/hotkey.directive.d.ts +0 -22
  401. package/common/lib/directives/infinite-scroll.directive.d.ts +0 -25
  402. package/common/lib/directives/inverted-color.directive.d.ts +0 -12
  403. package/common/lib/directives/responsive.directive.d.ts +0 -10
  404. package/common/lib/directives/ripple.directive.d.ts +0 -18
  405. package/common/lib/interfaces/component.interface.d.ts +0 -4
  406. package/common/lib/services/dom.service.d.ts +0 -6
  407. package/common/lib/services/hotkey.service.d.ts +0 -31
  408. package/common/lib/types/base/button.type.d.ts +0 -8
  409. package/common/lib/types/base/color.type.d.ts +0 -7
  410. package/common/lib/types/base/component.types.d.ts +0 -8
  411. package/common/lib/types/base/events.types.d.ts +0 -21
  412. package/common/lib/types/base/index.d.ts +0 -7
  413. package/common/lib/types/base/interactive.type.d.ts +0 -13
  414. package/common/lib/types/base/look.type.d.ts +0 -7
  415. package/common/lib/types/base/value.type.d.ts +0 -9
  416. package/common/lib/types/direction.d.ts +0 -4
  417. package/common/lib/types/orientation.d.ts +0 -4
  418. package/common/lib/types/placement.d.ts +0 -30
  419. package/common/lib/types/range.d.ts +0 -4
  420. package/common/lib/types/selection-mode.d.ts +0 -4
  421. package/fesm2022/acorex-components-common.mjs +0 -2087
  422. package/fesm2022/acorex-components-common.mjs.map +0 -1
  423. package/fesm2022/acorex-components-modal-acorex-components-modal-Ckn70-o5.mjs.map +0 -1
  424. package/fesm2022/acorex-components-modal-modal-content.component-DzRhA-Nt.mjs +0 -216
  425. package/fesm2022/acorex-components-modal-modal-content.component-DzRhA-Nt.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-image-editor.mjs","sources":["../../../../packages/components/image-editor/src/lib/image-editor.service.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.html","../../../../packages/components/image-editor/src/lib/image-editor-cropper-window/image-editor-cropper-window.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-cropper-window/image-editor-cropper-window.component.html","../../../../packages/components/image-editor/src/lib/image-editor-view/image-editor-view.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-view/image-editor-view.component.html","../../../../packages/components/image-editor/src/lib/image-editor-container/image-editor-container.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-container/image-editor-container.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-history/image-editor-history.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-history/image-editor-history.component.html","../../../../packages/components/image-editor/src/lib/image-editor.module.ts","../../../../packages/components/image-editor/src/acorex-components-image-editor.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXImageEditorService {\n activeToolState = signal<'pen' | 'highlight' | 'crop' | 'rotate' | 'history'>(null);\n penColor = signal<string | CanvasGradient | CanvasPattern>('rgb(12, 12, 12)');\n highlightColor = signal<string | CanvasGradient | CanvasPattern>('rgb(255, 210, 48)');\n penWidth = signal<number>(10);\n highlightWidth = signal<number>(10);\n penType = signal<'pen' | 'highlight'>(null);\n rotate = signal({ state: 0, userInteract: false });\n isImageLoad = signal(false);\n newImage = signal<HTMLImageElement | null>(null);\n initialImage = signal<HTMLImageElement | null>(null);\n imageBlob = signal<Blob[]>([]);\n undoPressed = signal(false);\n redoPressed = signal(false);\n cropperRatio = signal<'1:1' | '16:9'>(null);\n}\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { Component, inject, output, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-crop',\n templateUrl: './image-editor-crop.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent],\n})\nexport class AXImageEditorCropComponent {\n protected service = inject(AXImageEditorService);\n\n cropPressed = output();\n\n protected cropButtonHandler() {\n this.cropPressed.emit();\n }\n\n protected ratioHandler(r: '1:1' | '16:9') {\n if (this.service.cropperRatio()) {\n this.service.cropperRatio.set(null);\n } else {\n this.service.cropperRatio.set(r);\n }\n }\n}\n","<ax-button (click)=\"cropButtonHandler()\" class=\"ax-crop-save ax-sm\" text=\"Crop\"></ax-button>\n\n<ax-button\n [selected]=\"this.service.cropperRatio() === '1:1' ? true : false\"\n [color]=\"this.service.cropperRatio() === '1:1' ? 'primary' : 'default'\"\n (click)=\"ratioHandler('1:1')\"\n class=\"ax-crop-save ax-sm\"\n text=\"1:1\"\n></ax-button>\n<ax-button\n [selected]=\"this.service.cropperRatio() === '16:9' ? true : false\"\n [color]=\"this.service.cropperRatio() === '16:9' ? 'primary' : 'default'\"\n (click)=\"ratioHandler('16:9')\"\n class=\"ax-crop-save ax-sm\"\n text=\"16:9\"\n></ax-button>\n","import { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-highlight',\n templateUrl: './image-editor-highlight.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXColorBoxComponent, CommonModule, FormsModule, AXRangeSliderComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: `\n ax-image-editor-highlight {\n display: flex;\n ax-range-slider {\n padding: 0.5rem 0.75rem;\n width: 10rem;\n .ax-range-slider {\n .ax-range-slider-handler {\n width: 1rem !important;\n height: 1rem !important;\n }\n }\n }\n }\n `,\n})\nexport class AXImageEditorHighlightComponent {\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected selectedColor = signal(this.service.highlightColor());\n\n /** @ignore */\n protected value = this.service.highlightWidth();\n\n protected changeColorHandler(e: string) {\n this.service.highlightColor.set(e);\n this.selectedColor.set(e);\n }\n\n /** @ignore */\n protected valueHandler(e: number) {\n this.service.highlightWidth.set(e);\n }\n}\n","<ax-color-box\n [showValue]=\"false\"\n [showIcon]=\"false\"\n axTooltip=\"Highlight Color Picker\"\n axTooltipPlacement=\"top\"\n look=\"none\"\n [ngModel]=\"selectedColor()\"\n (ngModelChange)=\"changeColorHandler($event)\"\n>\n</ax-color-box>\n\n<ax-range-slider [min]=\"2\" [max]=\"20\" [(ngModel)]=\"value\" (ngModelChange)=\"valueHandler($event)\"></ax-range-slider>\n","import { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-pen',\n templateUrl: './image-editor-pen.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXColorBoxComponent, CommonModule, FormsModule, AXRangeSliderComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: `\n ax-image-editor-pen {\n display: flex;\n ax-range-slider {\n padding: 0.5rem 0.75rem;\n width: 10rem;\n .ax-range-slider {\n .ax-range-slider-handler {\n width: 1rem !important;\n height: 1rem !important;\n }\n }\n }\n }\n `,\n})\nexport class AXImageEditorPenComponent {\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected value = this.service.penWidth();\n\n /** @ignore */\n protected selectedColor = signal(this.service.penColor());\n\n protected changeColorHandler(e: string) {\n this.service.penColor.set(e);\n this.selectedColor.set(e);\n }\n\n /** @ignore */\n protected valueHandler(e: number) {\n this.service.penWidth.set(e);\n }\n}\n","<ax-color-box\n [showValue]=\"false\"\n [showIcon]=\"false\"\n axTooltip=\"Pen Color Picker\"\n axTooltipPlacement=\"top\"\n look=\"none\"\n [ngModel]=\"selectedColor()\"\n (ngModelChange)=\"changeColorHandler($event)\"\n>\n</ax-color-box>\n\n<ax-range-slider [min]=\"2\" [max]=\"20\" [(ngModel)]=\"value\" (ngModelChange)=\"valueHandler($event)\"></ax-range-slider>\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-rotate',\n templateUrl: './image-editor-rotate.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXTooltipDirective, AXDecoratorIconComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXImageEditorRotateComponent {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected rotateRightHandler() {\n this.service.rotate.set({ state: 90, userInteract: true });\n }\n\n /** @ignore */\n protected rotateLeftHandler() {\n this.service.rotate.set({ state: -90, userInteract: true });\n }\n}\n","<ax-button axTooltip=\"Rotate Left\" axTooltipPlacement=\"top\" (click)=\"rotateLeftHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-arrow-turn-left\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Rotate Right\" axTooltipPlacement=\"top\" (click)=\"rotateRightHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-arrow-turn-right\"></ax-icon>\n</ax-button>\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-tool-selector',\n templateUrl: './image-editor-tool-selector.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective],\n})\nexport class AXImageEditorToolSelectorComponent {\n protected service = inject(AXImageEditorService);\n\n protected changeToolHandler(tool: 'pen' | 'highlight' | 'crop' | 'rotate') {\n if (this.service.activeToolState() === tool) {\n this.service.activeToolState.set(null);\n return;\n }\n\n this.service.activeToolState.set(tool);\n\n if (tool === 'pen' || tool === 'highlight') {\n this.service.penType.set(tool);\n }\n }\n}\n","<ax-button\n axTooltip=\"pen\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'pen' ? true : false\"\n [color]=\"this.service.activeToolState() === 'pen' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"highlight\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'highlight' ? true : false\"\n [color]=\"this.service.activeToolState() === 'highlight' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"crop\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('crop')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'crop' ? true : false\"\n [color]=\"this.service.activeToolState() === 'crop' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-crop\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"rotate\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('rotate')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'rotate' ? true : false\"\n [color]=\"this.service.activeToolState() === 'rotate' ? 'primary' : 'default'\"\n>\n <i class=\"fa-solid fa-rotate\"></i>\n</ax-button>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n NgZone,\n OnDestroy,\n PLATFORM_ID,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXImageEditorService } from '../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-cropper-window',\n templateUrl: './image-editor-cropper-window.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrl: './image-editor-cropper-window.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n})\nexport class AXImageEditorCropperWindowComponent implements OnDestroy {\n showGrid = input(true);\n\n protected service = inject(AXImageEditorService);\n private ngZone = inject(NgZone);\n private selectedHandle = signal<string>(null);\n private panState = signal(false);\n private elementRef: ElementRef = inject(ElementRef);\n protected cropperWindow = viewChild<ElementRef>('r');\n private currentX = signal(-45);\n private currentY = signal(-45);\n private prevX = signal(0);\n private prevY = signal(0);\n protected renderer = inject(Renderer2);\n private platformID = inject(PLATFORM_ID);\n private mouseMoveEvent: () => void;\n private mouseUpEvent: () => void;\n private mouseMoveEvent2: () => void;\n private mouseUpEvent2: () => void;\n private mouseDownEvent: () => void;\n private mouseLeaveEvent: () => void;\n\n #eff = effect(() => {\n const host = this.elementRef.nativeElement as HTMLElement;\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${150}px`;\n host.style.height = `${150}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.width = `${266.6}px`;\n host.style.height = `${150}px`;\n } else {\n host.style.width = `${150}px`;\n host.style.height = `${150}px`;\n }\n });\n\n #init = afterNextRender(() => {\n const host = this.elementRef.nativeElement as HTMLElement;\n\n this.ngZone.runOutsideAngular(() => {\n this.mouseMoveEvent = this.renderer.listen(document, 'pointermove', this.changeSizeHandler.bind(this));\n this.mouseUpEvent = this.renderer.listen(document, 'pointerup', this.clearSelector.bind(this));\n this.mouseDownEvent = this.renderer.listen(host, 'pointerdown', this.panDown.bind(this));\n this.mouseMoveEvent2 = this.renderer.listen(host, 'pointermove', this.panMove.bind(this));\n this.mouseUpEvent2 = this.renderer.listen(host, 'pointerup', this.panUp.bind(this));\n this.mouseLeaveEvent = this.renderer.listen(host, 'pointerleave', this.panUp.bind(this));\n });\n });\n\n ngOnDestroy(): void {\n if (isPlatformBrowser(this.platformID) && this.mouseMoveEvent) {\n this.mouseMoveEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseUpEvent) {\n this.mouseUpEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseDownEvent) {\n this.mouseDownEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseMoveEvent2) {\n this.mouseMoveEvent2();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseUpEvent2) {\n this.mouseUpEvent2();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseLeaveEvent) {\n this.mouseLeaveEvent();\n }\n }\n\n #positionChange = effect(() => {\n this.setPosition(this.currentX(), this.currentY());\n });\n\n protected panMove(e: MouseEvent) {\n if (this.selectedHandle()) return;\n if (!this.panState()) return;\n\n const currentX = e.clientX;\n const currentY = e.clientY;\n const deltaX = currentX - this.prevX();\n const deltaY = currentY - this.prevY();\n this.currentX.update((prev) => prev + deltaX);\n this.currentY.update((prev) => prev + deltaY);\n this.prevX.set(currentX);\n this.prevY.set(currentY);\n }\n\n protected panDown(e: MouseEvent) {\n if (this.selectedHandle()) return;\n this.panState.set(true);\n this.prevX.set(e.clientX);\n this.prevY.set(e.clientY);\n }\n\n protected panUp() {\n if (this.selectedHandle()) return;\n this.panState.set(false);\n }\n\n public getCropperArea() {\n return (this.elementRef.nativeElement as HTMLElement).getBoundingClientRect();\n }\n\n private setPosition(posX: number, posY: number) {\n const el = this.elementRef.nativeElement as HTMLElement;\n el.style.transform = `translate(${posX}px, ${posY}px)`;\n }\n\n private startX: number;\n private startY: number;\n private startWidth: number;\n private startHeight: number;\n private startLeft: number;\n private startTop: number;\n protected edgeCase = false;\n protected handleSelector(e: MouseEvent, value: string) {\n if (this.panState()) return;\n const host = this.elementRef.nativeElement as HTMLElement;\n this.startX = e.clientX;\n this.startY = e.clientY;\n this.startWidth = host.offsetWidth;\n this.startHeight = host.offsetHeight;\n this.startLeft = host.offsetLeft;\n this.startTop = host.offsetTop;\n this.selectedHandle.set(value);\n }\n\n protected changeSizeHandler(e: MouseEvent) {\n if (this.panState()) return;\n if (!this.selectedHandle()) return;\n\n const host = this.elementRef.nativeElement as HTMLElement;\n const rect = host.getBoundingClientRect();\n\n const dy = e.clientY - this.startY;\n const dx = e.clientX - this.startX;\n\n if (rect.width < 20 || rect.height < 20) {\n this.edgeCase = true;\n return;\n }\n\n switch (this.selectedHandle()) {\n case 'right':\n host.style.width = `${e.movementX + rect.width}px`;\n break;\n case 'top':\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n break;\n case 'left':\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n break;\n case 'bottom':\n host.style.height = `${rect.height + e.movementY}px`;\n break;\n case 'right-top':\n if (this.service.cropperRatio() === '1:1') {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${this.startHeight - dy}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${(this.startHeight - dy) * 1.77}px`;\n } else {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${e.movementX + rect.width}px`;\n }\n break;\n case 'bottom-right':\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${e.movementX + rect.width}px`;\n host.style.height = `${e.movementX + rect.width}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${e.movementX + rect.height}px`;\n host.style.width = `${(e.movementX + rect.height) * 1.77}px`;\n } else {\n host.style.height = `${rect.height + e.movementY}px`;\n host.style.width = `${e.movementX + rect.width}px`;\n }\n break;\n case 'bottom-left':\n if (this.service.cropperRatio() === '1:1') {\n host.style.height = `${this.startWidth - dx}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${(this.startWidth - dx) / 1.77}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n } else {\n host.style.height = `${rect.height + e.movementY}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n }\n break;\n case 'left-top':\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${this.startWidth - dx}px`;\n host.style.top = `${this.startLeft + dx}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${(this.startWidth - dx) / 1.77}px`;\n host.style.top = `${this.startLeft + dx}px`;\n } else {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n }\n }\n }\n\n protected clearSelector() {\n if (this.panState()) return;\n const host = this.elementRef.nativeElement as HTMLElement;\n\n if (this.edgeCase) {\n host.style.height = `20px`;\n host.style.width = `20px`;\n this.edgeCase = false;\n }\n\n this.selectedHandle.set(null);\n }\n}\n","<div [ngStyle]=\"!showGrid() && { border: '1px dashed white' }\" #r class=\"ax-image-cropper-window-container\">\n @if (!this.service.cropperRatio()) {\n <div (pointerdown)=\"handleSelector($event, 'right')\" class=\"ax-image-right-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'top')\" class=\"ax-image-top-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'left')\" class=\"ax-image-left-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'bottom')\" class=\"ax-image-bottom-handle ax-handle-shape\"></div>\n }\n\n <div (pointerdown)=\"handleSelector($event, 'right-top')\" class=\"ax-image-right-top-handle ax-handle-shape\"></div>\n <div\n (pointerdown)=\"handleSelector($event, 'bottom-right')\"\n class=\"ax-image-bottom-right-handle ax-handle-shape\"\n ></div>\n <div (pointerdown)=\"handleSelector($event, 'bottom-left')\" class=\"ax-image-bottom-left-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'left-top')\" class=\"ax-image-left-top-handle ax-handle-shape\"></div>\n\n @if (showGrid()) {\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n }\n</div>\n","import { MXBaseComponent } from '@acorex/components/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n HostBinding,\n inject,\n input,\n linkedSignal,\n OnDestroy,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXImageEditorContainerComponent } from '../image-editor-container/image-editor-container.component';\nimport { AXImageEditorCropperWindowComponent } from '../image-editor-cropper-window/image-editor-cropper-window.component';\nimport { AXImageEditorService } from '../image-editor.service';\n\n@Component({\n selector: 'ax-image-editor-view',\n templateUrl: './image-editor-view.component.html',\n styleUrls: ['./image-editor-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXImageEditorCropperWindowComponent],\n})\nexport class AXImageEditorViewComponent extends MXBaseComponent implements OnDestroy {\n /**\n * its change grid display state.\n */\n showGrid = input(true);\n /**\n * its change grid display state.\n */\n lockRatio = signal(false);\n /**\n * its receive image src.\n */\n src = input<string>('');\n /** @ignore */\n protected canvasElem = viewChild<ElementRef<HTMLCanvasElement>>('canvasElem');\n /** @ignore */\n protected cropperWindow = viewChild<AXImageEditorCropperWindowComponent>('f');\n /** @ignore */\n protected ctx = signal<CanvasRenderingContext2D>(null);\n /** @ignore */\n protected service = inject(AXImageEditorService);\n /** @ignore */\n protected isMouseDown = signal(false);\n /** @ignore */\n protected isDrawRectangleCreated = signal(false);\n /** @ignore */\n protected parent = inject(AXImageEditorContainerComponent);\n /** @ignore */\n protected renderer = inject(Renderer2);\n /** @ignore */\n protected imageAspect = computed(() => {\n return this.service.initialImage().width / this.service.initialImage().height;\n });\n /** @ignore */\n protected imageEditorHistory = signal<HTMLImageElement[]>([]);\n /** @ignore */\n protected imageEditorHistoryPointer = linkedSignal(() => this.imageEditorHistory().length - 1);\n\n /** @ignore */\n private resizeEventListener;\n /** @ignore */\n private imageLoadEventListener;\n\n /** @ignore */\n protected resizeWindow() {\n this.canvasResponsive(this.service.newImage());\n }\n\n /** @ignore */\n protected canvasResponsive(image: HTMLImageElement) {\n if (!this.parent.imageEditorContainer()) return;\n\n const parentWidth = (this.parent.imageEditorContainer().nativeElement as HTMLDivElement).clientWidth;\n const imageWidth = this.service.initialImage().width;\n\n if (parentWidth < imageWidth) {\n this.getHostElement().style.width = `${parentWidth}px`;\n this.getHostElement().style.height = `${parentWidth * this.imageAspect()}px`;\n this.canvasElem().nativeElement.width = parentWidth;\n this.canvasElem().nativeElement.height = parentWidth * this.imageAspect();\n this.ctx().drawImage(image, 0, 0, parentWidth, parentWidth * this.imageAspect());\n } else {\n this.getHostElement().style.width = `${imageWidth}px`;\n this.getHostElement().style.height = `${imageWidth / this.imageAspect()}px`;\n this.canvasElem().nativeElement.width = imageWidth;\n this.canvasElem().nativeElement.height = imageWidth / this.imageAspect();\n this.ctx().drawImage(image, 0, 0, imageWidth, imageWidth / this.imageAspect());\n }\n }\n\n /** @ignore */\n constructor() {\n super();\n afterNextRender(() => {\n this.resizeEventListener = this.renderer.listen(window, 'resize', this.resizeWindow.bind(this));\n //load image\n this.service.initialImage.set(new Image());\n this.service.initialImage().src = this.src();\n this.service.initialImage().crossOrigin = 'anonymous';\n this.imageLoadEventListener = this.renderer.listen(\n this.service.initialImage(),\n 'load',\n this.imageLoaded.bind(this),\n );\n //set canvas options\n this.ctx.set(this.canvasElem().nativeElement.getContext('2d', { willReadFrequently: true }));\n this.ctx().lineJoin = 'round';\n this.ctx().lineCap = 'round';\n });\n\n effect(() => {\n if (this.parent.imageEditorContainer() && this.service.isImageLoad()) {\n this.canvasResponsive(this.service.initialImage());\n }\n });\n\n effect(() => {\n if (!this.service.undoPressed()) {\n this.imageChanged();\n }\n });\n\n effect(() => {\n if (!this.service.redoPressed()) {\n this.imageChanged();\n }\n });\n\n effect(() => {\n if (!this.service.rotate().userInteract || !this.ctx()) return;\n this.rotateImage();\n });\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n if (this.resizeEventListener) {\n this.resizeEventListener();\n }\n\n if (this.imageLoadEventListener) {\n this.imageLoadEventListener();\n }\n }\n\n /** @ignore */\n protected imageLoaded() {\n this.imageEditorHistory.set([this.service.initialImage()]);\n this.service.newImage.set(this.service.initialImage());\n this.service.isImageLoad.set(true);\n }\n\n /** @ignore */\n protected imageChanged() {\n if (this.service.undoPressed() && this.imageEditorHistoryPointer() >= 1) {\n this.imageEditorHistoryPointer.update((prev) => prev - 1);\n\n this.service.newImage.set(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n this.canvasResponsive(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n }\n\n if (this.service.redoPressed() && this.imageEditorHistoryPointer() < this.imageEditorHistory().length - 1) {\n this.imageEditorHistoryPointer.update((prev) => prev + 1);\n this.service.newImage.set(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n this.canvasResponsive(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n }\n\n this.service.undoPressed.set(false);\n this.service.redoPressed.set(false);\n }\n\n /** @ignore */\n protected penConfigHandler(penType: 'pen' | 'highlight') {\n switch (penType) {\n case 'pen':\n this.ctx().globalAlpha = 1;\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineWidth = this.service.penWidth();\n break;\n case 'highlight':\n this.ctx().globalAlpha = 0.008;\n this.ctx().strokeStyle = this.service.highlightColor();\n this.ctx().lineWidth = this.service.highlightWidth();\n break;\n }\n }\n\n /** @ignore */\n protected getBoundingCanvasHandler() {\n return this.canvasElem().nativeElement.getBoundingClientRect();\n }\n\n /** @ignore */\n protected mouseDownHandler(e: MouseEvent) {\n this.isMouseDown.set(true);\n if (!this.service.penType()) return;\n\n this.penConfigHandler(this.service.penType());\n this.ctx().beginPath();\n this.ctx().moveTo(e.offsetX, e.offsetY);\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n\n /** @ignore */\n protected mouseMoveHandler(e: MouseEvent) {\n if (!this.isMouseDown()) return;\n if (!this.service.penType()) return;\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n\n /** @ignore */\n protected mouseUpHandler() {\n this.isMouseDown.set(false);\n this.ctx().closePath();\n this.saveImageChange();\n }\n\n /** @ignore */\n cropButtonHandler() {\n const cropRect = this.cropperWindow().getCropperArea();\n const canvasRect = this.canvasElem().nativeElement.getClientRects()[0];\n const dx = cropRect.x - canvasRect.x;\n const dy = cropRect.y - canvasRect.y;\n\n const imageData = this.ctx().getImageData(dx, dy, cropRect.width, cropRect.height);\n this.canvasElem().nativeElement.width = cropRect.width;\n this.canvasElem().nativeElement.height = cropRect.height;\n this.ctx().putImageData(imageData, 0, 0);\n this.saveImageChange();\n this.service.activeToolState.set(null);\n }\n\n /** @ignore */\n protected rotateImage() {\n this.ctx().globalAlpha = 1;\n this.ctx().save();\n this.ctx().clearRect(0, 0, this.canvasElem().nativeElement.width, this.canvasElem().nativeElement.height);\n this.ctx().translate(this.service.newImage().width / 2, this.service.newImage().height / 2);\n this.ctx().rotate((this.service.rotate().state * Math.PI) / 180);\n this.ctx().drawImage(\n this.service.newImage(),\n -this.service.newImage().width / 2,\n -this.service.newImage().height / 2,\n this.service.newImage().width,\n this.service.newImage().height,\n );\n this.ctx().restore();\n\n this.saveImageChange();\n this.service.rotate.update((prev) => {\n return { state: prev.state, userInteract: false };\n });\n }\n\n /** @ignore */\n protected saveImageChange() {\n const newImage = new Image();\n newImage.crossOrigin = 'anonymous';\n newImage.src = this.canvasElem().nativeElement.toDataURL('image/jpeg', 1);\n this.service.newImage.set(newImage);\n this.imageEditorHistory.update((prev) => [...prev, newImage]);\n\n const tempBlob = [];\n this.canvasElem().nativeElement.toBlob(\n (blob) => {\n tempBlob.push(blob);\n },\n 'image/jpeg',\n 1,\n );\n this.canvasElem().nativeElement.toBlob(\n (blob) => {\n tempBlob.push(blob);\n },\n 'image/png',\n 1,\n );\n this.canvasElem().nativeElement.toBlob(\n (blob) => {\n tempBlob.push(blob);\n },\n 'image/webp',\n 1,\n );\n this.service.imageBlob.set(tempBlob);\n }\n\n /** @ignore */\n @HostBinding('style')\n private get __hostStyle(): string {\n return `width: ${this.service.initialImage()?.width}px; height: ${this.service.initialImage()?.height}px`;\n }\n}\n","<canvas\n tabindex=\"1\"\n (pointerdown)=\"mouseDownHandler($event)\"\n (pointerup)=\"mouseUpHandler()\"\n (pointermove)=\"mouseMoveHandler($event)\"\n class=\"ax-canvas-element\"\n #canvasElem\n></canvas>\n\n@if (this.service.activeToolState() === 'crop') {\n <ax-image-editor-cropper-window [showGrid]=\"showGrid()\" #f></ax-image-editor-cropper-window>\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingSpinnerComponent } from '@acorex/components/loading';\nimport { AXToolBarModule } from '@acorex/components/toolbar';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n contentChild,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXImageEditorCropComponent } from '../image-editor-tools/image-editor-crop/image-editor-crop.component';\nimport { AXImageEditorHighlightComponent } from '../image-editor-tools/image-editor-highlight/image-editor-highlight.component';\nimport { AXImageEditorPenComponent } from '../image-editor-tools/image-editor-pen/image-editor-pen.component';\nimport { AXImageEditorRotateComponent } from '../image-editor-tools/image-editor-rotate/image-editor-rotate.component';\nimport { AXImageEditorToolSelectorComponent } from '../image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component';\nimport { AXImageEditorViewComponent } from '../image-editor-view/image-editor-view.component';\nimport { AXImageEditorService } from '../image-editor.service';\n\n/**\n * paint container.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-container',\n templateUrl: './image-editor-container.component.html',\n styleUrl: './image-editor-container.component.scss',\n encapsulation: ViewEncapsulation.None,\n outputs: ['onValueChanged'],\n inputs: ['look', 'disabled'],\n providers: [\n AXImageEditorService,\n { provide: AXComponent, useExisting: AXImageEditorContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },\n { provide: AXClearableComponent, useExisting: AXImageEditorContainerComponent },\n { provide: AXValuableComponent, useExisting: AXImageEditorContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXImageEditorContainerComponent),\n multi: true,\n },\n ],\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXLoadingSpinnerComponent,\n AXToolBarModule,\n AXImageEditorCropComponent,\n AXButtonModule,\n AXImageEditorToolSelectorComponent,\n AXImageEditorPenComponent,\n AXImageEditorHighlightComponent,\n AXImageEditorRotateComponent,\n ],\n})\nexport class AXImageEditorContainerComponent extends classes(MXInputBaseValueComponent<Blob[]>, MXLookComponent) {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n imageEditorContainer = viewChild<ElementRef>('f');\n\n view = contentChild<AXImageEditorViewComponent>(AXImageEditorViewComponent);\n\n save() {\n if (this.service.initialImage() !== this.service.newImage()) {\n this.commitValue(this.service.imageBlob(), true);\n } else {\n this.commitValue(null);\n }\n }\n\n protected cropButtonHandler() {\n this.view().cropButtonHandler();\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n if (this.disabled) return 'ax-state-disabled';\n return '';\n }\n}\n","@if (service.isImageLoad()) {\n <div #f class=\"ax-editor-container ax-{{ look }}\">\n <ng-content select=\"ax-header\"></ng-content>\n\n <ng-content select=\"ax-image-editor-view\"> </ng-content>\n\n @if (service.activeToolState()) {\n <ax-toolbar class=\"ax-secondary-toolbar\">\n <ax-prefix>\n @switch (service.activeToolState()) {\n @case ('pen') {\n <ax-image-editor-pen></ax-image-editor-pen>\n }\n @case ('crop') {\n <ax-image-editor-crop (cropPressed)=\"cropButtonHandler()\"></ax-image-editor-crop>\n }\n @case ('highlight') {\n <ax-image-editor-highlight></ax-image-editor-highlight>\n }\n @case ('rotate') {\n <ax-image-editor-rotate></ax-image-editor-rotate>\n }\n }\n </ax-prefix>\n </ax-toolbar>\n }\n\n <ax-toolbar class=\"ax-main-toolbar\">\n <ax-content>\n <ax-image-editor-tool-selector></ax-image-editor-tool-selector>\n </ax-content>\n </ax-toolbar>\n </div>\n <div class=\"ax-error-container\"></div>\n} @else {\n <div class=\"ax-loading-spinner-container\">\n <ax-loading-spinner [size]=\"16\" color=\"primary\" text=\"Loading Image ...\"></ax-loading-spinner>\n </div>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n\n@if (disabled) {\n <div class=\"ax-disable-overlay\"></div>\n}\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-history',\n templateUrl: './image-editor-history.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXImageEditorHistoryComponent {\n protected service = inject(AXImageEditorService);\n\n protected UndoHandler() {\n this.service.undoPressed.set(true);\n }\n protected RedoHandler() {\n this.service.redoPressed.set(true);\n }\n}\n","<ax-button axTooltip=\"Undo\" axTooltipPlacement=\"top\" (onClick)=\"UndoHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Redo\" axTooltipPlacement=\"top\" (onClick)=\"RedoHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>\n</ax-button>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorContainerComponent } from './image-editor-container/image-editor-container.component';\nimport { AXImageEditorCropperWindowComponent } from './image-editor-cropper-window/image-editor-cropper-window.component';\nimport { AXImageEditorCropComponent } from './image-editor-tools/image-editor-crop/image-editor-crop.component';\nimport { AXImageEditorHighlightComponent } from './image-editor-tools/image-editor-highlight/image-editor-highlight.component';\nimport { AXImageEditorHistoryComponent } from './image-editor-tools/image-editor-history/image-editor-history.component';\nimport { AXImageEditorPenComponent } from './image-editor-tools/image-editor-pen/image-editor-pen.component';\nimport { AXImageEditorRotateComponent } from './image-editor-tools/image-editor-rotate/image-editor-rotate.component';\nimport { AXImageEditorToolSelectorComponent } from './image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component';\nimport { AXImageEditorViewComponent } from './image-editor-view/image-editor-view.component';\n\nconst COMPONENT = [\n AXImageEditorViewComponent,\n AXImageEditorContainerComponent,\n AXImageEditorCropComponent,\n AXImageEditorHistoryComponent,\n AXImageEditorToolSelectorComponent,\n AXImageEditorPenComponent,\n AXImageEditorHighlightComponent,\n AXImageEditorRotateComponent,\n AXImageEditorCropperWindowComponent,\n];\n\nconst MODULES = [\n AXButtonModule,\n FormsModule,\n AXRangeSliderModule,\n AXSelectBoxModule,\n AXColorBoxModule,\n AXPopoverModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXDialogModule,\n AXTooltipModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXImageEditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-image-editor.mjs","sources":["../../../../packages/components/image-editor/src/lib/image-editor.service.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.html","../../../../packages/components/image-editor/src/lib/image-editor-cropper-window/image-editor-cropper-window.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-cropper-window/image-editor-cropper-window.component.html","../../../../packages/components/image-editor/src/lib/image-editor-view/image-editor-view.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-view/image-editor-view.component.html","../../../../packages/components/image-editor/src/lib/image-editor-container/image-editor-container.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-container/image-editor-container.component.html","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-history/image-editor-history.component.ts","../../../../packages/components/image-editor/src/lib/image-editor-tools/image-editor-history/image-editor-history.component.html","../../../../packages/components/image-editor/src/lib/image-editor.module.ts","../../../../packages/components/image-editor/src/acorex-components-image-editor.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXImageEditorService {\n activeToolState = signal<'pen' | 'highlight' | 'crop' | 'rotate' | 'history'>(null);\n penColor = signal<string | CanvasGradient | CanvasPattern>('rgb(12, 12, 12)');\n highlightColor = signal<string | CanvasGradient | CanvasPattern>('rgb(255, 210, 48)');\n penWidth = signal<number>(10);\n highlightWidth = signal<number>(10);\n penType = signal<'pen' | 'highlight'>(null);\n rotate = signal({ state: 0, userInteract: false });\n isImageLoad = signal(false);\n newImage = signal<HTMLImageElement | null>(null);\n initialImage = signal<HTMLImageElement | null>(null);\n imageBlob = signal<Blob[]>([]);\n undoPressed = signal(false);\n redoPressed = signal(false);\n cropperRatio = signal<'1:1' | '16:9'>(null);\n}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { Component, inject, output, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-crop',\n templateUrl: './image-editor-crop.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent],\n providers: [{ provide: AXComponent, useExisting: AXImageEditorCropComponent }],\n})\nexport class AXImageEditorCropComponent {\n protected service = inject(AXImageEditorService);\n\n cropPressed = output();\n\n protected cropButtonHandler() {\n this.cropPressed.emit();\n }\n\n protected ratioHandler(r: '1:1' | '16:9') {\n if (this.service.cropperRatio()) {\n this.service.cropperRatio.set(null);\n } else {\n this.service.cropperRatio.set(r);\n }\n }\n}\n","<ax-button (click)=\"cropButtonHandler()\" class=\"ax-crop-save ax-sm\" text=\"Crop\"></ax-button>\n\n<ax-button\n [selected]=\"this.service.cropperRatio() === '1:1' ? true : false\"\n [color]=\"this.service.cropperRatio() === '1:1' ? 'primary' : 'default'\"\n (click)=\"ratioHandler('1:1')\"\n class=\"ax-crop-save ax-sm\"\n text=\"1:1\"\n></ax-button>\n<ax-button\n [selected]=\"this.service.cropperRatio() === '16:9' ? true : false\"\n [color]=\"this.service.cropperRatio() === '16:9' ? 'primary' : 'default'\"\n (click)=\"ratioHandler('16:9')\"\n class=\"ax-crop-save ax-sm\"\n text=\"16:9\"\n></ax-button>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-highlight',\n templateUrl: './image-editor-highlight.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXColorBoxComponent, CommonModule, FormsModule, AXRangeSliderComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: `\n ax-image-editor-highlight {\n display: flex;\n ax-range-slider {\n padding: 0.5rem 0.75rem;\n width: 10rem;\n .ax-range-slider {\n .ax-range-slider-handler {\n width: 1rem !important;\n height: 1rem !important;\n }\n }\n }\n }\n `,\n providers: [{ provide: AXComponent, useExisting: AXImageEditorHighlightComponent }],\n})\nexport class AXImageEditorHighlightComponent {\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected selectedColor = signal(this.service.highlightColor());\n\n /** @ignore */\n protected value = this.service.highlightWidth();\n\n protected changeColorHandler(e: string) {\n this.service.highlightColor.set(e);\n this.selectedColor.set(e);\n }\n\n /** @ignore */\n protected valueHandler(e: number) {\n this.service.highlightWidth.set(e);\n }\n}\n","<ax-color-box\n [showValue]=\"false\"\n [showIcon]=\"false\"\n axTooltip=\"Highlight Color Picker\"\n axTooltipPlacement=\"top\"\n look=\"none\"\n [ngModel]=\"selectedColor()\"\n (ngModelChange)=\"changeColorHandler($event)\"\n>\n</ax-color-box>\n\n<ax-range-slider [min]=\"2\" [max]=\"20\" [(ngModel)]=\"value\" (ngModelChange)=\"valueHandler($event)\"></ax-range-slider>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-pen',\n templateUrl: './image-editor-pen.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXColorBoxComponent, CommonModule, FormsModule, AXRangeSliderComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: `\n ax-image-editor-pen {\n display: flex;\n ax-range-slider {\n padding: 0.5rem 0.75rem;\n width: 10rem;\n .ax-range-slider {\n .ax-range-slider-handler {\n width: 1rem !important;\n height: 1rem !important;\n }\n }\n }\n }\n `,\n providers: [{ provide: AXComponent, useExisting: AXImageEditorPenComponent }],\n})\nexport class AXImageEditorPenComponent {\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected value = this.service.penWidth();\n\n /** @ignore */\n protected selectedColor = signal(this.service.penColor());\n\n protected changeColorHandler(e: string) {\n this.service.penColor.set(e);\n this.selectedColor.set(e);\n }\n\n /** @ignore */\n protected valueHandler(e: number) {\n this.service.penWidth.set(e);\n }\n}\n","<ax-color-box\n [showValue]=\"false\"\n [showIcon]=\"false\"\n axTooltip=\"Pen Color Picker\"\n axTooltipPlacement=\"top\"\n look=\"none\"\n [ngModel]=\"selectedColor()\"\n (ngModelChange)=\"changeColorHandler($event)\"\n>\n</ax-color-box>\n\n<ax-range-slider [min]=\"2\" [max]=\"20\" [(ngModel)]=\"value\" (ngModelChange)=\"valueHandler($event)\"></ax-range-slider>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-rotate',\n templateUrl: './image-editor-rotate.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXTooltipDirective, AXDecoratorIconComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXImageEditorRotateComponent }],\n})\nexport class AXImageEditorRotateComponent {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected rotateRightHandler() {\n this.service.rotate.set({ state: 90, userInteract: true });\n }\n\n /** @ignore */\n protected rotateLeftHandler() {\n this.service.rotate.set({ state: -90, userInteract: true });\n }\n}\n","<ax-button axTooltip=\"Rotate Left\" axTooltipPlacement=\"top\" (click)=\"rotateLeftHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-arrow-turn-left\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Rotate Right\" axTooltipPlacement=\"top\" (click)=\"rotateRightHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-arrow-turn-right\"></ax-icon>\n</ax-button>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-tool-selector',\n templateUrl: './image-editor-tool-selector.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective],\n providers: [{ provide: AXComponent, useExisting: AXImageEditorToolSelectorComponent }],\n})\nexport class AXImageEditorToolSelectorComponent {\n protected service = inject(AXImageEditorService);\n\n protected changeToolHandler(tool: 'pen' | 'highlight' | 'crop' | 'rotate') {\n if (this.service.activeToolState() === tool) {\n this.service.activeToolState.set(null);\n return;\n }\n\n this.service.activeToolState.set(tool);\n\n if (tool === 'pen' || tool === 'highlight') {\n this.service.penType.set(tool);\n }\n }\n}\n","<ax-button\n axTooltip=\"pen\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'pen' ? true : false\"\n [color]=\"this.service.activeToolState() === 'pen' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"highlight\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'highlight' ? true : false\"\n [color]=\"this.service.activeToolState() === 'highlight' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"crop\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('crop')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'crop' ? true : false\"\n [color]=\"this.service.activeToolState() === 'crop' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-crop\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"rotate\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('rotate')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'rotate' ? true : false\"\n [color]=\"this.service.activeToolState() === 'rotate' ? 'primary' : 'default'\"\n>\n <i class=\"fa-solid fa-rotate\"></i>\n</ax-button>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n effect,\n ElementRef,\n inject,\n input,\n NgZone,\n OnDestroy,\n PLATFORM_ID,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXImageEditorService } from '../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-cropper-window',\n templateUrl: './image-editor-cropper-window.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrl: './image-editor-cropper-window.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n providers: [{ provide: AXComponent, useExisting: AXImageEditorCropperWindowComponent }],\n})\nexport class AXImageEditorCropperWindowComponent implements OnDestroy {\n showGrid = input(true);\n\n protected service = inject(AXImageEditorService);\n private ngZone = inject(NgZone);\n private selectedHandle = signal<string>(null);\n private panState = signal(false);\n private elementRef: ElementRef = inject(ElementRef);\n protected cropperWindow = viewChild<ElementRef>('r');\n private currentX = signal(-45);\n private currentY = signal(-45);\n private prevX = signal(0);\n private prevY = signal(0);\n protected renderer = inject(Renderer2);\n private platformID = inject(PLATFORM_ID);\n private mouseMoveEvent: () => void;\n private mouseUpEvent: () => void;\n private mouseMoveEvent2: () => void;\n private mouseUpEvent2: () => void;\n private mouseDownEvent: () => void;\n private mouseLeaveEvent: () => void;\n\n #eff = effect(() => {\n const host = this.elementRef.nativeElement as HTMLElement;\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${150}px`;\n host.style.height = `${150}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.width = `${266.6}px`;\n host.style.height = `${150}px`;\n } else {\n host.style.width = `${150}px`;\n host.style.height = `${150}px`;\n }\n });\n\n #init = afterNextRender(() => {\n const host = this.elementRef.nativeElement as HTMLElement;\n\n this.ngZone.runOutsideAngular(() => {\n this.mouseMoveEvent = this.renderer.listen(document, 'pointermove', this.changeSizeHandler.bind(this));\n this.mouseUpEvent = this.renderer.listen(document, 'pointerup', this.clearSelector.bind(this));\n this.mouseDownEvent = this.renderer.listen(host, 'pointerdown', this.panDown.bind(this));\n this.mouseMoveEvent2 = this.renderer.listen(host, 'pointermove', this.panMove.bind(this));\n this.mouseUpEvent2 = this.renderer.listen(host, 'pointerup', this.panUp.bind(this));\n this.mouseLeaveEvent = this.renderer.listen(host, 'pointerleave', this.panUp.bind(this));\n });\n });\n\n ngOnDestroy(): void {\n if (isPlatformBrowser(this.platformID) && this.mouseMoveEvent) {\n this.mouseMoveEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseUpEvent) {\n this.mouseUpEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseDownEvent) {\n this.mouseDownEvent();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseMoveEvent2) {\n this.mouseMoveEvent2();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseUpEvent2) {\n this.mouseUpEvent2();\n }\n if (isPlatformBrowser(this.platformID) && this.mouseLeaveEvent) {\n this.mouseLeaveEvent();\n }\n }\n\n #positionChange = effect(() => {\n this.setPosition(this.currentX(), this.currentY());\n });\n\n protected panMove(e: MouseEvent) {\n if (this.selectedHandle()) return;\n if (!this.panState()) return;\n\n const currentX = e.clientX;\n const currentY = e.clientY;\n const deltaX = currentX - this.prevX();\n const deltaY = currentY - this.prevY();\n this.currentX.update((prev) => prev + deltaX);\n this.currentY.update((prev) => prev + deltaY);\n this.prevX.set(currentX);\n this.prevY.set(currentY);\n }\n\n protected panDown(e: MouseEvent) {\n if (this.selectedHandle()) return;\n this.panState.set(true);\n this.prevX.set(e.clientX);\n this.prevY.set(e.clientY);\n }\n\n protected panUp() {\n if (this.selectedHandle()) return;\n this.panState.set(false);\n }\n\n public getCropperArea() {\n return (this.elementRef.nativeElement as HTMLElement).getBoundingClientRect();\n }\n\n private setPosition(posX: number, posY: number) {\n const el = this.elementRef.nativeElement as HTMLElement;\n el.style.transform = `translate(${posX}px, ${posY}px)`;\n }\n\n private startX: number;\n private startY: number;\n private startWidth: number;\n private startHeight: number;\n private startLeft: number;\n private startTop: number;\n protected edgeCase = false;\n protected handleSelector(e: MouseEvent, value: string) {\n if (this.panState()) return;\n const host = this.elementRef.nativeElement as HTMLElement;\n this.startX = e.clientX;\n this.startY = e.clientY;\n this.startWidth = host.offsetWidth;\n this.startHeight = host.offsetHeight;\n this.startLeft = host.offsetLeft;\n this.startTop = host.offsetTop;\n this.selectedHandle.set(value);\n }\n\n protected changeSizeHandler(e: MouseEvent) {\n if (this.panState()) return;\n if (!this.selectedHandle()) return;\n\n const host = this.elementRef.nativeElement as HTMLElement;\n const rect = host.getBoundingClientRect();\n\n const dy = e.clientY - this.startY;\n const dx = e.clientX - this.startX;\n\n if (rect.width < 20 || rect.height < 20) {\n this.edgeCase = true;\n return;\n }\n\n switch (this.selectedHandle()) {\n case 'right':\n host.style.width = `${e.movementX + rect.width}px`;\n break;\n case 'top':\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n break;\n case 'left':\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n break;\n case 'bottom':\n host.style.height = `${rect.height + e.movementY}px`;\n break;\n case 'right-top':\n if (this.service.cropperRatio() === '1:1') {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${this.startHeight - dy}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${(this.startHeight - dy) * 1.77}px`;\n } else {\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n host.style.width = `${e.movementX + rect.width}px`;\n }\n break;\n case 'bottom-right':\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${e.movementX + rect.width}px`;\n host.style.height = `${e.movementX + rect.width}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${e.movementX + rect.height}px`;\n host.style.width = `${(e.movementX + rect.height) * 1.77}px`;\n } else {\n host.style.height = `${rect.height + e.movementY}px`;\n host.style.width = `${e.movementX + rect.width}px`;\n }\n break;\n case 'bottom-left':\n if (this.service.cropperRatio() === '1:1') {\n host.style.height = `${this.startWidth - dx}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.height = `${(this.startWidth - dx) / 1.77}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n } else {\n host.style.height = `${rect.height + e.movementY}px`;\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n }\n break;\n case 'left-top':\n if (this.service.cropperRatio() === '1:1') {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${this.startWidth - dx}px`;\n host.style.top = `${this.startLeft + dx}px`;\n } else if (this.service.cropperRatio() === '16:9') {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${(this.startWidth - dx) / 1.77}px`;\n host.style.top = `${this.startLeft + dx}px`;\n } else {\n host.style.width = `${this.startWidth - dx}px`;\n host.style.left = `${this.startLeft + dx}px`;\n host.style.height = `${this.startHeight - dy}px`;\n host.style.top = `${this.startTop + dy}px`;\n }\n }\n }\n\n protected clearSelector() {\n if (this.panState()) return;\n const host = this.elementRef.nativeElement as HTMLElement;\n\n if (this.edgeCase) {\n host.style.height = `20px`;\n host.style.width = `20px`;\n this.edgeCase = false;\n }\n\n this.selectedHandle.set(null);\n }\n}\n","<div [ngStyle]=\"!showGrid() && { border: '1px dashed white' }\" #r class=\"ax-image-cropper-window-container\">\n @if (!this.service.cropperRatio()) {\n <div (pointerdown)=\"handleSelector($event, 'right')\" class=\"ax-image-right-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'top')\" class=\"ax-image-top-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'left')\" class=\"ax-image-left-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'bottom')\" class=\"ax-image-bottom-handle ax-handle-shape\"></div>\n }\n\n <div (pointerdown)=\"handleSelector($event, 'right-top')\" class=\"ax-image-right-top-handle ax-handle-shape\"></div>\n <div\n (pointerdown)=\"handleSelector($event, 'bottom-right')\"\n class=\"ax-image-bottom-right-handle ax-handle-shape\"\n ></div>\n <div (pointerdown)=\"handleSelector($event, 'bottom-left')\" class=\"ax-image-bottom-left-handle ax-handle-shape\"></div>\n <div (pointerdown)=\"handleSelector($event, 'left-top')\" class=\"ax-image-left-top-handle ax-handle-shape\"></div>\n\n @if (showGrid()) {\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n <div class=\"ax-grid-item\"></div>\n }\n</div>\n","import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n HostBinding,\n inject,\n input,\n linkedSignal,\n OnDestroy,\n Renderer2,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXImageEditorContainerComponent } from '../image-editor-container/image-editor-container.component';\nimport { AXImageEditorCropperWindowComponent } from '../image-editor-cropper-window/image-editor-cropper-window.component';\nimport { AXImageEditorService } from '../image-editor.service';\n\n@Component({\n selector: 'ax-image-editor-view',\n templateUrl: './image-editor-view.component.html',\n styleUrls: ['./image-editor-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXImageEditorCropperWindowComponent],\n providers: [{ provide: AXComponent, useExisting: AXImageEditorViewComponent }],\n})\nexport class AXImageEditorViewComponent extends MXBaseComponent implements OnDestroy {\n /**\n * its change grid display state.\n */\n showGrid = input(true);\n /**\n * its change grid display state.\n */\n lockRatio = signal(false);\n /**\n * its receive image src.\n */\n src = input<string>('');\n /** @ignore */\n protected canvasElem = viewChild<ElementRef<HTMLCanvasElement>>('canvasElem');\n /** @ignore */\n protected cropperWindow = viewChild<AXImageEditorCropperWindowComponent>('f');\n /** @ignore */\n protected ctx = signal<CanvasRenderingContext2D>(null);\n /** @ignore */\n protected service = inject(AXImageEditorService);\n /** @ignore */\n protected isMouseDown = signal(false);\n /** @ignore */\n protected isDrawRectangleCreated = signal(false);\n /** @ignore */\n protected parent = inject(AXImageEditorContainerComponent);\n /** @ignore */\n protected renderer = inject(Renderer2);\n /** @ignore */\n protected imageAspect = computed(() => {\n return this.service.initialImage().width / this.service.initialImage().height;\n });\n /** @ignore */\n protected imageEditorHistory = signal<HTMLImageElement[]>([]);\n /** @ignore */\n protected imageEditorHistoryPointer = linkedSignal(() => this.imageEditorHistory().length - 1);\n\n /** @ignore */\n private resizeEventListener;\n /** @ignore */\n private imageLoadEventListener;\n\n /** @ignore */\n protected resizeWindow() {\n this.canvasResponsive(this.service.newImage());\n }\n\n /** @ignore */\n protected canvasResponsive(image: HTMLImageElement) {\n if (!this.parent.imageEditorContainer()) return;\n\n const parentWidth = (this.parent.imageEditorContainer().nativeElement as HTMLDivElement).clientWidth;\n const imageWidth = this.service.initialImage().width;\n\n if (parentWidth < imageWidth) {\n this.getHostElement().style.width = `${parentWidth}px`;\n this.getHostElement().style.height = `${parentWidth * this.imageAspect()}px`;\n this.canvasElem().nativeElement.width = parentWidth;\n this.canvasElem().nativeElement.height = parentWidth * this.imageAspect();\n this.ctx().drawImage(image, 0, 0, parentWidth, parentWidth * this.imageAspect());\n } else {\n this.getHostElement().style.width = `${imageWidth}px`;\n this.getHostElement().style.height = `${imageWidth / this.imageAspect()}px`;\n this.canvasElem().nativeElement.width = imageWidth;\n this.canvasElem().nativeElement.height = imageWidth / this.imageAspect();\n this.ctx().drawImage(image, 0, 0, imageWidth, imageWidth / this.imageAspect());\n }\n }\n\n /** @ignore */\n constructor() {\n super();\n afterNextRender(() => {\n this.resizeEventListener = this.renderer.listen(window, 'resize', this.resizeWindow.bind(this));\n //load image\n this.service.initialImage.set(new Image());\n this.service.initialImage().src = this.src();\n this.service.initialImage().crossOrigin = 'anonymous';\n this.imageLoadEventListener = this.renderer.listen(\n this.service.initialImage(),\n 'load',\n this.imageLoaded.bind(this),\n );\n //set canvas options\n this.ctx.set(this.canvasElem().nativeElement.getContext('2d', { willReadFrequently: true }));\n this.ctx().lineJoin = 'round';\n this.ctx().lineCap = 'round';\n });\n\n effect(() => {\n if (this.parent.imageEditorContainer() && this.service.isImageLoad()) {\n this.canvasResponsive(this.service.initialImage());\n }\n });\n\n effect(() => {\n if (!this.service.undoPressed()) {\n this.imageChanged();\n }\n });\n\n effect(() => {\n if (!this.service.redoPressed()) {\n this.imageChanged();\n }\n });\n\n effect(() => {\n if (!this.service.rotate().userInteract || !this.ctx()) return;\n this.rotateImage();\n });\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n if (this.resizeEventListener) {\n this.resizeEventListener();\n }\n\n if (this.imageLoadEventListener) {\n this.imageLoadEventListener();\n }\n }\n\n /** @ignore */\n protected imageLoaded() {\n this.imageEditorHistory.set([this.service.initialImage()]);\n this.service.newImage.set(this.service.initialImage());\n this.service.isImageLoad.set(true);\n }\n\n /** @ignore */\n protected imageChanged() {\n if (this.service.undoPressed() && this.imageEditorHistoryPointer() >= 1) {\n this.imageEditorHistoryPointer.update((prev) => prev - 1);\n\n this.service.newImage.set(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n this.canvasResponsive(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n }\n\n if (this.service.redoPressed() && this.imageEditorHistoryPointer() < this.imageEditorHistory().length - 1) {\n this.imageEditorHistoryPointer.update((prev) => prev + 1);\n this.service.newImage.set(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n this.canvasResponsive(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);\n }\n\n this.service.undoPressed.set(false);\n this.service.redoPressed.set(false);\n }\n\n /** @ignore */\n protected penConfigHandler(penType: 'pen' | 'highlight') {\n switch (penType) {\n case 'pen':\n this.ctx().globalAlpha = 1;\n this.ctx().strokeStyle = this.service.penColor();\n this.ctx().lineWidth = this.service.penWidth();\n break;\n case 'highlight':\n this.ctx().globalAlpha = 0.008;\n this.ctx().strokeStyle = this.service.highlightColor();\n this.ctx().lineWidth = this.service.highlightWidth();\n break;\n }\n }\n\n /** @ignore */\n protected getBoundingCanvasHandler() {\n return this.canvasElem().nativeElement.getBoundingClientRect();\n }\n\n /** @ignore */\n protected mouseDownHandler(e: MouseEvent) {\n this.isMouseDown.set(true);\n if (!this.service.penType()) return;\n\n this.penConfigHandler(this.service.penType());\n this.ctx().beginPath();\n this.ctx().moveTo(e.offsetX, e.offsetY);\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n\n /** @ignore */\n protected mouseMoveHandler(e: MouseEvent) {\n if (!this.isMouseDown()) return;\n if (!this.service.penType()) return;\n this.ctx().lineTo(e.offsetX, e.offsetY);\n this.ctx().stroke();\n }\n\n /** @ignore */\n protected mouseUpHandler() {\n this.isMouseDown.set(false);\n this.ctx().closePath();\n this.saveImageChange();\n }\n\n /** @ignore */\n cropButtonHandler() {\n const cropRect = this.cropperWindow().getCropperArea();\n const canvasRect = this.canvasElem().nativeElement.getClientRects()[0];\n const dx = cropRect.x - canvasRect.x;\n const dy = cropRect.y - canvasRect.y;\n\n const imageData = this.ctx().getImageData(dx, dy, cropRect.width, cropRect.height);\n this.canvasElem().nativeElement.width = cropRect.width;\n this.canvasElem().nativeElement.height = cropRect.height;\n this.ctx().putImageData(imageData, 0, 0);\n this.saveImageChange();\n this.service.activeToolState.set(null);\n }\n\n /** @ignore */\n protected rotateImage() {\n this.ctx().globalAlpha = 1;\n this.ctx().save();\n this.ctx().clearRect(0, 0, this.canvasElem().nativeElement.width, this.canvasElem().nativeElement.height);\n this.ctx().translate(this.service.newImage().width / 2, this.service.newImage().height / 2);\n this.ctx().rotate((this.service.rotate().state * Math.PI) / 180);\n this.ctx().drawImage(\n this.service.newImage(),\n -this.service.newImage().width / 2,\n -this.service.newImage().height / 2,\n this.service.newImage().width,\n this.service.newImage().height,\n );\n this.ctx().restore();\n\n this.saveImageChange();\n this.service.rotate.update((prev) => {\n return { state: prev.state, userInteract: false };\n });\n }\n\n /** @ignore */\n protected saveImageChange() {\n const newImage = new Image();\n newImage.crossOrigin = 'anonymous';\n newImage.src = this.canvasElem().nativeElement.toDataURL('image/jpeg', 1);\n this.service.newImage.set(newImage);\n this.imageEditorHistory.update((prev) => [...prev, newImage]);\n\n const tempBlob = [];\n this.canvasElem().nativeElement.toBlob(\n (blob) => {\n tempBlob.push(blob);\n },\n 'image/jpeg',\n 1,\n );\n this.canvasElem().nativeElement.toBlob(\n (blob) => {\n tempBlob.push(blob);\n },\n 'image/png',\n 1,\n );\n this.canvasElem().nativeElement.toBlob(\n (blob) => {\n tempBlob.push(blob);\n },\n 'image/webp',\n 1,\n );\n this.service.imageBlob.set(tempBlob);\n }\n\n /** @ignore */\n @HostBinding('style')\n private get __hostStyle(): string {\n return `width: ${this.service.initialImage()?.width}px; height: ${this.service.initialImage()?.height}px`;\n }\n}\n","<canvas\n tabindex=\"1\"\n (pointerdown)=\"mouseDownHandler($event)\"\n (pointerup)=\"mouseUpHandler()\"\n (pointermove)=\"mouseMoveHandler($event)\"\n class=\"ax-canvas-element\"\n #canvasElem\n></canvas>\n\n@if (this.service.activeToolState() === 'crop') {\n <ax-image-editor-cropper-window [showGrid]=\"showGrid()\" #f></ax-image-editor-cropper-window>\n}\n","import {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingSpinnerComponent } from '@acorex/components/loading';\nimport { AXToolBarModule } from '@acorex/components/toolbar';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n contentChild,\n ElementRef,\n forwardRef,\n HostBinding,\n inject,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXImageEditorCropComponent } from '../image-editor-tools/image-editor-crop/image-editor-crop.component';\nimport { AXImageEditorHighlightComponent } from '../image-editor-tools/image-editor-highlight/image-editor-highlight.component';\nimport { AXImageEditorPenComponent } from '../image-editor-tools/image-editor-pen/image-editor-pen.component';\nimport { AXImageEditorRotateComponent } from '../image-editor-tools/image-editor-rotate/image-editor-rotate.component';\nimport { AXImageEditorToolSelectorComponent } from '../image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component';\nimport { AXImageEditorViewComponent } from '../image-editor-view/image-editor-view.component';\nimport { AXImageEditorService } from '../image-editor.service';\n\n/**\n * paint container.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-container',\n templateUrl: './image-editor-container.component.html',\n styleUrl: './image-editor-container.component.scss',\n encapsulation: ViewEncapsulation.None,\n outputs: ['onValueChanged'],\n inputs: ['look', 'disabled'],\n providers: [\n AXImageEditorService,\n { provide: AXComponent, useExisting: AXImageEditorContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },\n { provide: AXValuableComponent, useExisting: AXImageEditorContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXImageEditorContainerComponent),\n multi: true,\n },\n ],\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXLoadingSpinnerComponent,\n AXToolBarModule,\n AXImageEditorCropComponent,\n AXButtonModule,\n AXImageEditorToolSelectorComponent,\n AXImageEditorPenComponent,\n AXImageEditorHighlightComponent,\n AXImageEditorRotateComponent,\n ],\n})\nexport class AXImageEditorContainerComponent extends classes(MXInputBaseValueComponent<Blob[]>, MXLookComponent) {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n imageEditorContainer = viewChild<ElementRef>('f');\n\n view = contentChild<AXImageEditorViewComponent>(AXImageEditorViewComponent);\n\n save() {\n if (this.service.initialImage() !== this.service.newImage()) {\n this.commitValue(this.service.imageBlob(), true);\n } else {\n this.commitValue(null);\n }\n }\n\n protected cropButtonHandler() {\n this.view().cropButtonHandler();\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n if (this.disabled) return 'ax-state-disabled';\n return '';\n }\n}\n","@if (service.isImageLoad()) {\n <div #f class=\"ax-editor-container ax-{{ look }}\">\n <ng-content select=\"ax-header\"></ng-content>\n\n <ng-content select=\"ax-image-editor-view\"> </ng-content>\n\n @if (service.activeToolState()) {\n <ax-toolbar class=\"ax-secondary-toolbar\">\n <ax-prefix>\n @switch (service.activeToolState()) {\n @case ('pen') {\n <ax-image-editor-pen></ax-image-editor-pen>\n }\n @case ('crop') {\n <ax-image-editor-crop (cropPressed)=\"cropButtonHandler()\"></ax-image-editor-crop>\n }\n @case ('highlight') {\n <ax-image-editor-highlight></ax-image-editor-highlight>\n }\n @case ('rotate') {\n <ax-image-editor-rotate></ax-image-editor-rotate>\n }\n }\n </ax-prefix>\n </ax-toolbar>\n }\n\n <ax-toolbar class=\"ax-main-toolbar\">\n <ax-content>\n <ax-image-editor-tool-selector></ax-image-editor-tool-selector>\n </ax-content>\n </ax-toolbar>\n </div>\n <div class=\"ax-error-container\"></div>\n} @else {\n <div class=\"ax-loading-spinner-container\">\n <ax-loading-spinner [size]=\"16\" color=\"primary\" text=\"Loading Image ...\"></ax-loading-spinner>\n </div>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n\n@if (disabled) {\n <div class=\"ax-disable-overlay\"></div>\n}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint mode.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-history',\n templateUrl: './image-editor-history.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXImageEditorHistoryComponent }],\n})\nexport class AXImageEditorHistoryComponent {\n protected service = inject(AXImageEditorService);\n\n protected UndoHandler() {\n this.service.undoPressed.set(true);\n }\n protected RedoHandler() {\n this.service.redoPressed.set(true);\n }\n}\n","<ax-button axTooltip=\"Undo\" axTooltipPlacement=\"top\" (onClick)=\"UndoHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Redo\" axTooltipPlacement=\"top\" (onClick)=\"RedoHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>\n</ax-button>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXRangeSliderModule } from '@acorex/components/range-slider';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorContainerComponent } from './image-editor-container/image-editor-container.component';\nimport { AXImageEditorCropperWindowComponent } from './image-editor-cropper-window/image-editor-cropper-window.component';\nimport { AXImageEditorCropComponent } from './image-editor-tools/image-editor-crop/image-editor-crop.component';\nimport { AXImageEditorHighlightComponent } from './image-editor-tools/image-editor-highlight/image-editor-highlight.component';\nimport { AXImageEditorHistoryComponent } from './image-editor-tools/image-editor-history/image-editor-history.component';\nimport { AXImageEditorPenComponent } from './image-editor-tools/image-editor-pen/image-editor-pen.component';\nimport { AXImageEditorRotateComponent } from './image-editor-tools/image-editor-rotate/image-editor-rotate.component';\nimport { AXImageEditorToolSelectorComponent } from './image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component';\nimport { AXImageEditorViewComponent } from './image-editor-view/image-editor-view.component';\n\nconst COMPONENT = [\n AXImageEditorViewComponent,\n AXImageEditorContainerComponent,\n AXImageEditorCropComponent,\n AXImageEditorHistoryComponent,\n AXImageEditorToolSelectorComponent,\n AXImageEditorPenComponent,\n AXImageEditorHighlightComponent,\n AXImageEditorRotateComponent,\n AXImageEditorCropperWindowComponent,\n];\n\nconst MODULES = [\n AXButtonModule,\n FormsModule,\n AXRangeSliderModule,\n AXSelectBoxModule,\n AXColorBoxModule,\n AXPopoverModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXDialogModule,\n AXTooltipModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXImageEditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MXBaseComponent } from '@acorex/components/common';
1
+ import { MXBaseComponent, AXComponent } from '@acorex/cdk/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { input, EventEmitter, HostBinding, Output, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
@@ -98,12 +98,18 @@ class AXImageComponent extends MXBaseComponent {
98
98
  get __hostStyle() {
99
99
  return `width: ${this.width()}px; height: ${this.height()}px`;
100
100
  }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXImageComponent, isStandalone: true, selector: "ax-image", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, overlayMode: { classPropertyName: "overlayMode", publicName: "overlayMode", isSignal: false, isRequired: false, transformFunction: null }, src: { classPropertyName: "src", publicName: "src", isSignal: false, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: false, isRequired: false, transformFunction: null }, priority: { classPropertyName: "priority", publicName: "priority", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onLoad: "onLoad", onError: "onError" }, host: { properties: { "class": "this.__hostClass", "style": "this.__hostStyle" } }, providers: [{ provide: 'ax-image', useValue: AXImageComponent }], usesInheritance: true, ngImport: i0, template: "@if (src) {\n <img\n class=\"ax-state-hidden\"\n [class.ax-state-loaded]=\"_isLoaded\"\n [src]=\"src\"\n [alt]=\"alt\"\n [attr.fetchpriority]=\"priority\"\n [attr.loading]=\"lazy ? 'lazy' : 'eager'\"\n (load)=\"_handleLoadImage($event)\"\n (error)=\"_handleErrorImage($event)\"\n />\n}\n<ng-content select=\"ax-overlay\"></ng-content>\n@if (!src || _hasError) {\n <ng-content select=\"ax-placeholder, ng-content\"></ng-content>\n}\n@if (_isLoading) {\n <ng-content select=\"ax-loading, ax-loading-spinner\"></ng-content>\n}\n", styles: ["ax-image{--ax-comp-image-overlay-color: rgb(0 0 0 / .75)}ax-image{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-image img{display:block;height:100%;width:100%}ax-image img.ax-state-hidden{display:none}ax-image img.ax-state-loaded{display:block!important}ax-image.ax-overlay-hover ax-overlay{display:none}ax-image.ax-overlay-hover:hover ax-overlay{display:flex}ax-image.ax-overlay-always ax-overlay{display:flex}ax-image ax-overlay{position:absolute;top:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;background-color:var(--ax-comp-image-overlay-color)}ax-image ax-loading{display:flex;height:100%;width:100%;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: AXImageComponent, isStandalone: true, selector: "ax-image", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, overlayMode: { classPropertyName: "overlayMode", publicName: "overlayMode", isSignal: false, isRequired: false, transformFunction: null }, src: { classPropertyName: "src", publicName: "src", isSignal: false, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: false, isRequired: false, transformFunction: null }, priority: { classPropertyName: "priority", publicName: "priority", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onLoad: "onLoad", onError: "onError" }, host: { properties: { "class": "this.__hostClass", "style": "this.__hostStyle" } }, providers: [
103
+ { provide: 'ax-image', useValue: AXImageComponent },
104
+ { provide: AXComponent, useExisting: AXImageComponent },
105
+ ], usesInheritance: true, ngImport: i0, template: "@if (src) {\n <img\n class=\"ax-state-hidden\"\n [class.ax-state-loaded]=\"_isLoaded\"\n [src]=\"src\"\n [alt]=\"alt\"\n [attr.fetchpriority]=\"priority\"\n [attr.loading]=\"lazy ? 'lazy' : 'eager'\"\n (load)=\"_handleLoadImage($event)\"\n (error)=\"_handleErrorImage($event)\"\n />\n}\n<ng-content select=\"ax-overlay\"></ng-content>\n@if (!src || _hasError) {\n <ng-content select=\"ax-placeholder, ng-content\"></ng-content>\n}\n@if (_isLoading) {\n <ng-content select=\"ax-loading, ax-loading-spinner\"></ng-content>\n}\n", styles: ["ax-image{--ax-comp-image-overlay-color: rgb(0 0 0 / .75)}ax-image{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-image img{display:block;height:100%;width:100%}ax-image img.ax-state-hidden{display:none}ax-image img.ax-state-loaded{display:block!important}ax-image.ax-overlay-hover ax-overlay{display:none}ax-image.ax-overlay-hover:hover ax-overlay{display:flex}ax-image.ax-overlay-always ax-overlay{display:flex}ax-image ax-overlay{position:absolute;top:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;background-color:var(--ax-comp-image-overlay-color)}ax-image ax-loading{display:flex;height:100%;width:100%;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
103
106
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXImageComponent, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXImageComponent, decorators: [{
105
108
  type: Component,
106
- args: [{ selector: 'ax-image', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: 'ax-image', useValue: AXImageComponent }], imports: [CommonModule], template: "@if (src) {\n <img\n class=\"ax-state-hidden\"\n [class.ax-state-loaded]=\"_isLoaded\"\n [src]=\"src\"\n [alt]=\"alt\"\n [attr.fetchpriority]=\"priority\"\n [attr.loading]=\"lazy ? 'lazy' : 'eager'\"\n (load)=\"_handleLoadImage($event)\"\n (error)=\"_handleErrorImage($event)\"\n />\n}\n<ng-content select=\"ax-overlay\"></ng-content>\n@if (!src || _hasError) {\n <ng-content select=\"ax-placeholder, ng-content\"></ng-content>\n}\n@if (_isLoading) {\n <ng-content select=\"ax-loading, ax-loading-spinner\"></ng-content>\n}\n", styles: ["ax-image{--ax-comp-image-overlay-color: rgb(0 0 0 / .75)}ax-image{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-image img{display:block;height:100%;width:100%}ax-image img.ax-state-hidden{display:none}ax-image img.ax-state-loaded{display:block!important}ax-image.ax-overlay-hover ax-overlay{display:none}ax-image.ax-overlay-hover:hover ax-overlay{display:flex}ax-image.ax-overlay-always ax-overlay{display:flex}ax-image ax-overlay{position:absolute;top:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;background-color:var(--ax-comp-image-overlay-color)}ax-image ax-loading{display:flex;height:100%;width:100%;align-items:center;justify-content:center}\n"] }]
109
+ args: [{ selector: 'ax-image', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
110
+ { provide: 'ax-image', useValue: AXImageComponent },
111
+ { provide: AXComponent, useExisting: AXImageComponent },
112
+ ], imports: [CommonModule], template: "@if (src) {\n <img\n class=\"ax-state-hidden\"\n [class.ax-state-loaded]=\"_isLoaded\"\n [src]=\"src\"\n [alt]=\"alt\"\n [attr.fetchpriority]=\"priority\"\n [attr.loading]=\"lazy ? 'lazy' : 'eager'\"\n (load)=\"_handleLoadImage($event)\"\n (error)=\"_handleErrorImage($event)\"\n />\n}\n<ng-content select=\"ax-overlay\"></ng-content>\n@if (!src || _hasError) {\n <ng-content select=\"ax-placeholder, ng-content\"></ng-content>\n}\n@if (_isLoading) {\n <ng-content select=\"ax-loading, ax-loading-spinner\"></ng-content>\n}\n", styles: ["ax-image{--ax-comp-image-overlay-color: rgb(0 0 0 / .75)}ax-image{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-image img{display:block;height:100%;width:100%}ax-image img.ax-state-hidden{display:none}ax-image img.ax-state-loaded{display:block!important}ax-image.ax-overlay-hover ax-overlay{display:none}ax-image.ax-overlay-hover:hover ax-overlay{display:flex}ax-image.ax-overlay-always ax-overlay{display:flex}ax-image ax-overlay{position:absolute;top:0;display:flex;height:100%;width:100%;align-items:center;justify-content:center;background-color:var(--ax-comp-image-overlay-color)}ax-image ax-loading{display:flex;height:100%;width:100%;align-items:center;justify-content:center}\n"] }]
107
113
  }], propDecorators: { overlayMode: [{
108
114
  type: Input
109
115
  }], src: [{
@@ -127,11 +133,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
127
133
  }] } });
128
134
 
129
135
  class AXImageModule {
130
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
131
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXImageModule, imports: [CommonModule, AXImageComponent], exports: [AXImageComponent] }); }
132
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXImageModule, imports: [CommonModule, AXImageComponent] }); }
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
137
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: AXImageModule, imports: [CommonModule, AXImageComponent], exports: [AXImageComponent] }); }
138
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXImageModule, imports: [CommonModule, AXImageComponent] }); }
133
139
  }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXImageModule, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXImageModule, decorators: [{
135
141
  type: NgModule,
136
142
  args: [{
137
143
  imports: [CommonModule, AXImageComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-image.mjs","sources":["../../../../packages/components/image/src/lib/image.component.ts","../../../../packages/components/image/src/lib/image.component.html","../../../../packages/components/image/src/lib/image.module.ts","../../../../packages/components/image/src/acorex-components-image.ts"],"sourcesContent":["import { AXHtmlEvent, MXBaseComponent } from '@acorex/components/common';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n input,\n Input,\n OnInit,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * Displays an image with customizable settings.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-image',\n templateUrl: './image.component.html',\n styleUrls: ['./image.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: 'ax-image', useValue: AXImageComponent }],\n imports: [CommonModule],\n})\nexport class AXImageComponent extends MXBaseComponent implements OnInit {\n width = input<number>(null);\n height = input<number>(null);\n\n /**\n * Specifies when the image overlay should be shown.\n *\n * @defaultValue 'hover'\n */\n @Input()\n overlayMode: 'always' | 'hover' = 'hover';\n\n /**\n * The URL of the image to be displayed.\n *\n * @defaultValue null\n */\n @Input()\n src?: string | null;\n\n /**\n * The alternative text for the image, for accessibility purposes.\n *\n * @defaultValue null\n */\n @Input()\n alt?: string | null;\n\n /**\n * Priority for image loading.\n *\n * @defaultValue 'auto'\n */\n @Input()\n priority: 'low' | 'auto' | 'high' = 'auto';\n\n /**\n * Indicates if the image should be loaded lazily.\n *\n * @defaultValue false\n */\n @Input()\n lazy: boolean;\n\n /**\n * Emits an event when the image has successfully loaded.\n *\n * @event\n */\n @Output()\n onLoad: EventEmitter<AXHtmlEvent> = new EventEmitter<AXHtmlEvent>();\n\n /**\n * Emits an event when there is an error loading the image.\n *\n * @event\n */\n @Output()\n onError: EventEmitter<AXHtmlEvent<ErrorEvent>> = new EventEmitter<AXHtmlEvent<ErrorEvent>>();\n\n /**\n * @ignore\n */\n protected _hasError = false;\n\n /**\n * @ignore\n */\n protected _isLoaded = false;\n\n /**\n * @ignore\n */\n protected _isLoading = false;\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit();\n this._isLoading = this.src != null;\n }\n\n /**\n * @ignore\n */\n _handleLoadImage(e: Event) {\n this._isLoaded = true;\n this._hasError = false;\n this._isLoading = false;\n this.onLoad.emit({\n component: this,\n htmlElement: this.getHostElement(),\n isUserInteraction: false,\n nativeEvent: e,\n });\n }\n\n /**\n * @ignore\n */\n _handleErrorImage(e: ErrorEvent) {\n this._hasError = true;\n this._isLoaded = false;\n this._isLoading = false;\n this.onError.emit({\n component: this,\n htmlElement: this.getHostElement(),\n isUserInteraction: false,\n nativeEvent: e,\n });\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n get __hostClass(): string[] {\n return [\n `ax-overlay-${this.overlayMode}`,\n `${this._hasError || !this.src ? 'ax-state-empty' : ''}`,\n `${this._isLoading ? 'ax-state-loading' : ''}`,\n ];\n }\n\n @HostBinding('style')\n private get __hostStyle(): string {\n return `width: ${this.width()}px; height: ${this.height()}px`;\n }\n}\n","@if (src) {\n <img\n class=\"ax-state-hidden\"\n [class.ax-state-loaded]=\"_isLoaded\"\n [src]=\"src\"\n [alt]=\"alt\"\n [attr.fetchpriority]=\"priority\"\n [attr.loading]=\"lazy ? 'lazy' : 'eager'\"\n (load)=\"_handleLoadImage($event)\"\n (error)=\"_handleErrorImage($event)\"\n />\n}\n<ng-content select=\"ax-overlay\"></ng-content>\n@if (!src || _hasError) {\n <ng-content select=\"ax-placeholder, ng-content\"></ng-content>\n}\n@if (_isLoading) {\n <ng-content select=\"ax-loading, ax-loading-spinner\"></ng-content>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXImageComponent } from './image.component';\n\n@NgModule({\n imports: [CommonModule, AXImageComponent],\n exports: [AXImageComponent],\n providers: [],\n})\nexport class AXImageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAcA;;;;AAIG;AAUG,MAAO,gBAAiB,SAAQ,eAAe,CAAA;AATrD,IAAA,WAAA,GAAA;;AAUE,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,IAAI,CAAC;AAC3B,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAS,IAAI,CAAC;AAE5B;;;;AAIG;QAEH,IAAW,CAAA,WAAA,GAAuB,OAAO;AAkBzC;;;;AAIG;QAEH,IAAQ,CAAA,QAAA,GAA4B,MAAM;AAU1C;;;;AAIG;AAEH,QAAA,IAAA,CAAA,MAAM,GAA8B,IAAI,YAAY,EAAe;AAEnE;;;;AAIG;AAEH,QAAA,IAAA,CAAA,OAAO,GAA0C,IAAI,YAAY,EAA2B;AAE5F;;AAEG;QACO,IAAS,CAAA,SAAA,GAAG,KAAK;AAE3B;;AAEG;QACO,IAAS,CAAA,SAAA,GAAG,KAAK;AAE3B;;AAEG;QACO,IAAU,CAAA,UAAA,GAAG,KAAK;AAwD7B;AAtDC;;AAEG;IACM,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE;QAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI;;AAGpC;;AAEG;AACH,IAAA,gBAAgB,CAAC,CAAQ,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AAClC,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,WAAW,EAAE,CAAC;AACf,SAAA,CAAC;;AAGJ;;AAEG;AACH,IAAA,iBAAiB,CAAC,CAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AAClC,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,WAAW,EAAE,CAAC;AACf,SAAA,CAAC;;AAGJ;;AAEG;AACH,IAAA,IACI,WAAW,GAAA;QACb,OAAO;YACL,CAAc,WAAA,EAAA,IAAI,CAAC,WAAW,CAAE,CAAA;AAChC,YAAA,CAAA,EAAG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,gBAAgB,GAAG,EAAE,CAAE,CAAA;YACxD,CAAG,EAAA,IAAI,CAAC,UAAU,GAAG,kBAAkB,GAAG,EAAE,CAAE,CAAA;SAC/C;;AAGH,IAAA,IACY,WAAW,GAAA;QACrB,OAAO,CAAA,OAAA,EAAU,IAAI,CAAC,KAAK,EAAE,CAAe,YAAA,EAAA,IAAI,CAAC,MAAM,EAAE,CAAA,EAAA,CAAI;;+GA/HpD,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EAHhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,ECzBlE,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,2iBAmBA,s6BDOY,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAEX,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;+BACE,UAAU,EAAA,aAAA,EAGL,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAA,gBAAkB,EAAE,CAAC,EAAA,OAAA,EACvD,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,2iBAAA,EAAA,MAAA,EAAA,CAAA,+2BAAA,CAAA,EAAA;8BAYvB,WAAW,EAAA,CAAA;sBADV;gBASD,GAAG,EAAA,CAAA;sBADF;gBASD,GAAG,EAAA,CAAA;sBADF;gBASD,QAAQ,EAAA,CAAA;sBADP;gBASD,IAAI,EAAA,CAAA;sBADH;gBASD,MAAM,EAAA,CAAA;sBADL;gBASD,OAAO,EAAA,CAAA;sBADN;gBA4DG,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,OAAO;gBAUR,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO;;;MEhJT,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAJd,OAAA,EAAA,CAAA,YAAY,EAAE,gBAAgB,aAC9B,gBAAgB,CAAA,EAAA,CAAA,CAAA;gHAGf,aAAa,EAAA,OAAA,EAAA,CAJd,YAAY,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;;4FAI7B,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;oBACzC,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC3B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;ACRD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-components-image.mjs","sources":["../../../../packages/components/image/src/lib/image.component.ts","../../../../packages/components/image/src/lib/image.component.html","../../../../packages/components/image/src/lib/image.module.ts","../../../../packages/components/image/src/acorex-components-image.ts"],"sourcesContent":["import { AXComponent, AXHtmlEvent, MXBaseComponent } from '@acorex/cdk/common';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n input,\n Input,\n OnInit,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * Displays an image with customizable settings.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-image',\n templateUrl: './image.component.html',\n styleUrls: ['./image.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: 'ax-image', useValue: AXImageComponent },\n { provide: AXComponent, useExisting: AXImageComponent },\n ],\n imports: [CommonModule],\n})\nexport class AXImageComponent extends MXBaseComponent implements OnInit {\n width = input<number>(null);\n height = input<number>(null);\n\n /**\n * Specifies when the image overlay should be shown.\n *\n * @defaultValue 'hover'\n */\n @Input()\n overlayMode: 'always' | 'hover' = 'hover';\n\n /**\n * The URL of the image to be displayed.\n *\n * @defaultValue null\n */\n @Input()\n src?: string | null;\n\n /**\n * The alternative text for the image, for accessibility purposes.\n *\n * @defaultValue null\n */\n @Input()\n alt?: string | null;\n\n /**\n * Priority for image loading.\n *\n * @defaultValue 'auto'\n */\n @Input()\n priority: 'low' | 'auto' | 'high' = 'auto';\n\n /**\n * Indicates if the image should be loaded lazily.\n *\n * @defaultValue false\n */\n @Input()\n lazy: boolean;\n\n /**\n * Emits an event when the image has successfully loaded.\n *\n * @event\n */\n @Output()\n onLoad: EventEmitter<AXHtmlEvent> = new EventEmitter<AXHtmlEvent>();\n\n /**\n * Emits an event when there is an error loading the image.\n *\n * @event\n */\n @Output()\n onError: EventEmitter<AXHtmlEvent<ErrorEvent>> = new EventEmitter<AXHtmlEvent<ErrorEvent>>();\n\n /**\n * @ignore\n */\n protected _hasError = false;\n\n /**\n * @ignore\n */\n protected _isLoaded = false;\n\n /**\n * @ignore\n */\n protected _isLoading = false;\n\n /**\n * @ignore\n */\n override ngOnInit(): void {\n super.ngOnInit();\n this._isLoading = this.src != null;\n }\n\n /**\n * @ignore\n */\n _handleLoadImage(e: Event) {\n this._isLoaded = true;\n this._hasError = false;\n this._isLoading = false;\n this.onLoad.emit({\n component: this,\n htmlElement: this.getHostElement(),\n isUserInteraction: false,\n nativeEvent: e,\n });\n }\n\n /**\n * @ignore\n */\n _handleErrorImage(e: ErrorEvent) {\n this._hasError = true;\n this._isLoaded = false;\n this._isLoading = false;\n this.onError.emit({\n component: this,\n htmlElement: this.getHostElement(),\n isUserInteraction: false,\n nativeEvent: e,\n });\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n get __hostClass(): string[] {\n return [\n `ax-overlay-${this.overlayMode}`,\n `${this._hasError || !this.src ? 'ax-state-empty' : ''}`,\n `${this._isLoading ? 'ax-state-loading' : ''}`,\n ];\n }\n\n @HostBinding('style')\n private get __hostStyle(): string {\n return `width: ${this.width()}px; height: ${this.height()}px`;\n }\n}\n","@if (src) {\n <img\n class=\"ax-state-hidden\"\n [class.ax-state-loaded]=\"_isLoaded\"\n [src]=\"src\"\n [alt]=\"alt\"\n [attr.fetchpriority]=\"priority\"\n [attr.loading]=\"lazy ? 'lazy' : 'eager'\"\n (load)=\"_handleLoadImage($event)\"\n (error)=\"_handleErrorImage($event)\"\n />\n}\n<ng-content select=\"ax-overlay\"></ng-content>\n@if (!src || _hasError) {\n <ng-content select=\"ax-placeholder, ng-content\"></ng-content>\n}\n@if (_isLoading) {\n <ng-content select=\"ax-loading, ax-loading-spinner\"></ng-content>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXImageComponent } from './image.component';\n\n@NgModule({\n imports: [CommonModule, AXImageComponent],\n exports: [AXImageComponent],\n providers: [],\n})\nexport class AXImageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { NgTemplateOutlet, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { input, signal, effect, ViewEncapsulation, Component, NgModule } from '@angular/core';
5
5
  import { FormsModule } from '@angular/forms';
6
+ import { AXComponent } from '@acorex/cdk/common';
6
7
 
7
8
  class JsonViewerComponent {
8
9
  constructor() {
@@ -36,22 +37,22 @@ class JsonViewerComponent {
36
37
  isBoolean(value) {
37
38
  return typeof value === 'boolean';
38
39
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: JsonViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: JsonViewerComponent, isStandalone: true, selector: "ax-json-viewer", inputs: { json: { classPropertyName: "json", publicName: "json", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{--ax-comp-json-viewer-string-color-light: rgb(217, 57, 62);--ax-comp-json-viewer-string-color-dark: rgba(92, 213, 251, 255);--ax-comp-json-viewer-number-color-dark: rgba(var(--ax-sys-color-on-lightest-surface));--ax-comp-json-viewer-number-color-light: rgba(var(--ax-sys-color-on-lightest-surface));--ax-comp-json-viewer-key-color-dark: rgba(124, 172, 248, 255);--ax-comp-json-viewer-key-color-light: rgba(var(--ax-sys-color-on-lightest-surface))}ax-json-viewer{padding:1.5rem;overflow-x:auto;display:block}ax-json-viewer .ax-number-color{color:var(--ax-comp-json-viewer-number-color-light)}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:var(--ax-comp-json-viewer-string-color-light)}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-margin{margin-inline-end:.3rem}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:var(--ax-comp-json-viewer-key-color-light)}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-sys-body-text-color))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:var(--ax-comp-json-viewer-key-color-dark)}.ax-dark ax-json-viewer .ax-string-color{color:var(--ax-comp-json-viewer-string-color-dark)}.ax-dark ax-json-viewer .ax-number-color{color:var(--ax-comp-json-viewer-number-color-dark)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: JsonViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: JsonViewerComponent, isStandalone: true, selector: "ax-json-viewer", inputs: { json: { classPropertyName: "json", publicName: "json", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXComponent, useExisting: JsonViewerComponent }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{--ax-comp-json-viewer-string-color-light: rgb(217, 57, 62);--ax-comp-json-viewer-string-color-dark: rgba(92, 213, 251, 255);--ax-comp-json-viewer-number-color-dark: rgba(var(--ax-sys-color-on-lightest-surface));--ax-comp-json-viewer-number-color-light: rgba(var(--ax-sys-color-on-lightest-surface));--ax-comp-json-viewer-key-color-dark: rgba(124, 172, 248, 255);--ax-comp-json-viewer-key-color-light: rgba(var(--ax-sys-color-on-lightest-surface))}ax-json-viewer{padding:1.5rem;overflow-x:auto;display:block}ax-json-viewer .ax-number-color{color:var(--ax-comp-json-viewer-number-color-light)}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:var(--ax-comp-json-viewer-string-color-light)}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-margin{margin-inline-end:.3rem}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:var(--ax-comp-json-viewer-key-color-light)}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-sys-body-text-color))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:var(--ax-comp-json-viewer-key-color-dark)}.ax-dark ax-json-viewer .ax-string-color{color:var(--ax-comp-json-viewer-string-color-dark)}.ax-dark ax-json-viewer .ax-number-color{color:var(--ax-comp-json-viewer-number-color-dark)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
41
42
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: JsonViewerComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: JsonViewerComponent, decorators: [{
43
44
  type: Component,
44
- args: [{ selector: 'ax-json-viewer', encapsulation: ViewEncapsulation.None, imports: [NgTemplateOutlet], template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{--ax-comp-json-viewer-string-color-light: rgb(217, 57, 62);--ax-comp-json-viewer-string-color-dark: rgba(92, 213, 251, 255);--ax-comp-json-viewer-number-color-dark: rgba(var(--ax-sys-color-on-lightest-surface));--ax-comp-json-viewer-number-color-light: rgba(var(--ax-sys-color-on-lightest-surface));--ax-comp-json-viewer-key-color-dark: rgba(124, 172, 248, 255);--ax-comp-json-viewer-key-color-light: rgba(var(--ax-sys-color-on-lightest-surface))}ax-json-viewer{padding:1.5rem;overflow-x:auto;display:block}ax-json-viewer .ax-number-color{color:var(--ax-comp-json-viewer-number-color-light)}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:var(--ax-comp-json-viewer-string-color-light)}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-margin{margin-inline-end:.3rem}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:var(--ax-comp-json-viewer-key-color-light)}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-sys-body-text-color))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:var(--ax-comp-json-viewer-key-color-dark)}.ax-dark ax-json-viewer .ax-string-color{color:var(--ax-comp-json-viewer-string-color-dark)}.ax-dark ax-json-viewer .ax-number-color{color:var(--ax-comp-json-viewer-number-color-dark)}\n"] }]
45
+ args: [{ selector: 'ax-json-viewer', encapsulation: ViewEncapsulation.None, imports: [NgTemplateOutlet], providers: [{ provide: AXComponent, useExisting: JsonViewerComponent }], template: "<ng-container *ngTemplateOutlet=\"Recursion; context: { list: convertedData() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container *ngTemplateOutlet=\"Recursion; context: { list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n", styles: ["ax-json-viewer{--ax-comp-json-viewer-string-color-light: rgb(217, 57, 62);--ax-comp-json-viewer-string-color-dark: rgba(92, 213, 251, 255);--ax-comp-json-viewer-number-color-dark: rgba(var(--ax-sys-color-on-lightest-surface));--ax-comp-json-viewer-number-color-light: rgba(var(--ax-sys-color-on-lightest-surface));--ax-comp-json-viewer-key-color-dark: rgba(124, 172, 248, 255);--ax-comp-json-viewer-key-color-light: rgba(var(--ax-sys-color-on-lightest-surface))}ax-json-viewer{padding:1.5rem;overflow-x:auto;display:block}ax-json-viewer .ax-number-color{color:var(--ax-comp-json-viewer-number-color-light)}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button,ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:var(--ax-comp-json-viewer-string-color-light)}ax-json-viewer .ax-indent{margin:0;padding:0;height:fit-content}ax-json-viewer .ax-margin{margin-inline-end:.3rem}ax-json-viewer .ax-indent-details{margin:0 2rem;height:fit-content}ax-json-viewer .ax-flex-container{display:flex;justify-content:flex-start;align-items:center;gap:.25rem}ax-json-viewer summary,ax-json-viewer p{color:var(--ax-comp-json-viewer-key-color-light)}ax-json-viewer summary::marker,ax-json-viewer span{color:rgb(var(--ax-sys-body-text-color))}ax-json-viewer details{margin-inline-start:-1rem}ax-json-viewer .ax-nowrap{white-space:nowrap}.ax-dark ax-json-viewer summary,.ax-dark ax-json-viewer p{color:var(--ax-comp-json-viewer-key-color-dark)}.ax-dark ax-json-viewer .ax-string-color{color:var(--ax-comp-json-viewer-string-color-dark)}.ax-dark ax-json-viewer .ax-number-color{color:var(--ax-comp-json-viewer-number-color-dark)}\n"] }]
45
46
  }] });
46
47
 
47
48
  const COMPONENT = [JsonViewerComponent];
48
49
  const MODULES = [AXTextBoxModule, FormsModule, CommonModule];
49
50
  class AXJsonViewerModule {
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXJsonViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
51
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXJsonViewerModule, imports: [AXTextBoxModule, FormsModule, CommonModule, JsonViewerComponent], exports: [JsonViewerComponent] }); }
52
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXJsonViewerModule, imports: [MODULES] }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXJsonViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
52
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.11", ngImport: i0, type: AXJsonViewerModule, imports: [AXTextBoxModule, FormsModule, CommonModule, JsonViewerComponent], exports: [JsonViewerComponent] }); }
53
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXJsonViewerModule, imports: [MODULES] }); }
53
54
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXJsonViewerModule, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXJsonViewerModule, decorators: [{
55
56
  type: NgModule,
56
57
  args: [{
57
58
  imports: [...MODULES, ...COMPONENT],