@acorex/components 19.11.0-next.0 → 19.11.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/README.md +22 -20
  2. package/action-sheet/lib/action-sheet.component.d.ts +1 -1
  3. package/action-sheet/lib/action-sheet.module.d.ts +11 -11
  4. package/alert/lib/alert.component.d.ts +1 -1
  5. package/alert/lib/alert.module.d.ts +4 -4
  6. package/audio-wave/lib/audio-wave.component.d.ts +1 -1
  7. package/audio-wave/lib/audio-wave.module.d.ts +7 -7
  8. package/avatar/lib/avatar-group.component.d.ts +1 -1
  9. package/avatar/lib/avatar.component.d.ts +1 -1
  10. package/avatar/lib/avatar.module.d.ts +4 -4
  11. package/badge/lib/badge.component.d.ts +1 -1
  12. package/badge/lib/badge.module.d.ts +3 -3
  13. package/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.d.ts +1 -1
  14. package/bottom-navigation/lib/bottom-navigation.component.d.ts +1 -1
  15. package/bottom-navigation/lib/bottom-navigation.module.d.ts +4 -4
  16. package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +1 -1
  17. package/breadcrumbs/lib/breadcrumbs.component.d.ts +1 -1
  18. package/breadcrumbs/lib/breadcrumbs.module.d.ts +5 -5
  19. package/button/lib/button-item-list.component.d.ts +1 -1
  20. package/button/lib/button-item.component.d.ts +1 -1
  21. package/button/lib/button.component.d.ts +1 -1
  22. package/button/lib/button.module.d.ts +8 -8
  23. package/button-group/lib/button-group-item.component.d.ts +1 -1
  24. package/button-group/lib/button-group.component.d.ts +1 -1
  25. package/button-group/lib/button-group.module.d.ts +6 -6
  26. package/calendar/lib/calendar-range.component.d.ts +1 -1
  27. package/calendar/lib/calendar.component.d.ts +1 -1
  28. package/calendar/lib/calendar.module.d.ts +8 -8
  29. package/check-box/lib/check-box.component.d.ts +1 -1
  30. package/check-box/lib/check-box.module.d.ts +5 -5
  31. package/chips/lib/chips.component.d.ts +1 -1
  32. package/chips/lib/chips.module.d.ts +3 -3
  33. package/circular-progress/lib/circular-progress.component.d.ts +1 -1
  34. package/circular-progress/lib/circular-progress.module.d.ts +1 -1
  35. package/collapse/lib/collapse-group.component.d.ts +1 -1
  36. package/collapse/lib/collapse.component.d.ts +1 -1
  37. package/collapse/lib/collapse.module.d.ts +5 -5
  38. package/color-box/lib/color-box.component.d.ts +1 -1
  39. package/color-box/lib/color-box.module.d.ts +6 -6
  40. package/color-palette/lib/color-palette-input.component.d.ts +1 -1
  41. package/color-palette/lib/color-palette-picker.component.d.ts +1 -1
  42. package/color-palette/lib/color-palette-preview.component.d.ts +3 -3
  43. package/color-palette/lib/color-palette-swatches.component.d.ts +1 -1
  44. package/color-palette/lib/color-palette.component.d.ts +3 -3
  45. package/color-palette/lib/color-palette.module.d.ts +17 -17
  46. package/comment/lib/comment-container/comment-container.component.d.ts +1 -1
  47. package/comment/lib/comment-item/comment-item.component.d.ts +1 -1
  48. package/comment/lib/comment-tools/comment-date/comment-date.component.d.ts +1 -1
  49. package/comment/lib/comment-tools/comment-like/comment-like.component.d.ts +1 -1
  50. package/comment/lib/comment-tools/comment-menu-options/comment-menu-options.component.d.ts +1 -1
  51. package/comment/lib/comment-tools/comment-reply-more/comment-reply-more.component.d.ts +1 -1
  52. package/comment/lib/comment-tools/comment-reply-text/comment-reply-text.component.d.ts +1 -1
  53. package/comment/lib/comment-view/comment-view.component.d.ts +1 -1
  54. package/comment/lib/comment.module.d.ts +16 -16
  55. package/common/lib/common.module.d.ts +1 -1
  56. package/common/lib/directives/auto-focus.directive.d.ts +1 -1
  57. package/common/lib/directives/hotkey.directive.d.ts +1 -1
  58. package/common/lib/directives/infinite-scroll.directive.d.ts +1 -1
  59. package/common/lib/directives/responsive.directive.d.ts +1 -1
  60. package/conversation/lib/conversation-container/conversation-container.component.d.ts +2 -3
  61. package/conversation/lib/conversation-input/conversation-input.component.d.ts +1 -1
  62. package/conversation/lib/conversation-message/conversation-message.component.d.ts +2 -1
  63. package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +1 -1
  64. package/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.d.ts +1 -1
  65. package/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.d.ts +1 -1
  66. package/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.d.ts +1 -1
  67. package/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.d.ts +1 -1
  68. package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +1 -1
  69. package/conversation/lib/conversation-view/conversation-view.component.d.ts +1 -1
  70. package/conversation/lib/conversation.module.d.ts +29 -29
  71. package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +1 -1
  72. package/cron-job/lib/cron-job.module.d.ts +20 -20
  73. package/cron-job/lib/day/day.component.d.ts +1 -1
  74. package/cron-job/lib/hours/hours.component.d.ts +1 -1
  75. package/cron-job/lib/minutes/minutes.component.d.ts +1 -1
  76. package/cron-job/lib/month/month.component.d.ts +1 -1
  77. package/cron-job/lib/seconds/seconds.component.d.ts +1 -1
  78. package/cron-job/lib/year/year.component.d.ts +1 -1
  79. package/data-pager/lib/data-pager-info.component.d.ts +1 -1
  80. package/data-pager/lib/data-pager-input-selector.component.d.ts +1 -1
  81. package/data-pager/lib/data-pager-next-buttons.component.d.ts +1 -1
  82. package/data-pager/lib/data-pager-numeric-selector.component.d.ts +1 -1
  83. package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +1 -1
  84. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +1 -1
  85. package/data-pager/lib/data-pager.component.d.ts +1 -1
  86. package/data-pager/lib/data-pager.module.d.ts +17 -17
  87. package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +1 -1
  88. package/data-table/lib/columns/data-text-column.component.d.ts +1 -1
  89. package/data-table/lib/columns/row-command-column.component.d.ts +2 -2
  90. package/data-table/lib/columns/row-expand-column.component.d.ts +1 -1
  91. package/data-table/lib/columns/row-index-column.component.d.ts +10 -10
  92. package/data-table/lib/columns/row-select-column.component.d.ts +1 -1
  93. package/data-table/lib/data-table/data-table.component.d.ts +19 -4
  94. package/data-table/lib/data-table.module.d.ts +22 -22
  95. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +1 -1
  96. package/datetime-box/lib/datetime-box.component.d.ts +3 -1
  97. package/datetime-box/lib/datetime-box.module.d.ts +8 -8
  98. package/datetime-input/lib/datetime-input.component.d.ts +1 -1
  99. package/datetime-input/lib/datetime-input.module.d.ts +5 -5
  100. package/datetime-picker/lib/datetime-picker.component.d.ts +3 -1
  101. package/datetime-picker/lib/datetime-picker.module.d.ts +11 -11
  102. package/decorators/lib/components/clear-button/clear-button.component.d.ts +1 -1
  103. package/decorators/lib/components/close-button/close-button.component.d.ts +1 -1
  104. package/decorators/lib/components/color-indicator/color-indicator.component.d.ts +1 -1
  105. package/decorators/lib/components/full-screen/full-screen-button.component.d.ts +1 -1
  106. package/decorators/lib/components/generic-content.component.d.ts +1 -1
  107. package/decorators/lib/components/heading/heading.component.d.ts +1 -3
  108. package/decorators/lib/components/icon/icon.component.d.ts +1 -1
  109. package/decorators/lib/decorators.module.d.ts +9 -9
  110. package/dialog/lib/dialog.class.d.ts +1 -0
  111. package/dialog/lib/dialog.component.d.ts +1 -1
  112. package/dialog/lib/dialog.module.d.ts +11 -11
  113. package/drawer/lib/drawer/drawer-container/drawer-container.component.d.ts +1 -1
  114. package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +1 -1
  115. package/drawer/lib/drawer.module.d.ts +4 -4
  116. package/dropdown/lib/dropdown-box.component.d.ts +1 -1
  117. package/dropdown/lib/dropdown-panel.component.d.ts +1 -1
  118. package/dropdown/lib/dropdown.module.d.ts +9 -9
  119. package/dropdown-button/lib/dropdown-button.component.d.ts +1 -1
  120. package/dropdown-button/lib/dropdown-button.module.d.ts +8 -8
  121. package/fesm2022/acorex-components-action-sheet.mjs +20 -53
  122. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  123. package/fesm2022/acorex-components-alert.mjs +11 -13
  124. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  125. package/fesm2022/acorex-components-audio-wave.mjs +12 -15
  126. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  127. package/fesm2022/acorex-components-avatar.mjs +14 -16
  128. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  129. package/fesm2022/acorex-components-badge.mjs +10 -11
  130. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  131. package/fesm2022/acorex-components-bottom-navigation.mjs +14 -15
  132. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  133. package/fesm2022/acorex-components-breadcrumbs.mjs +15 -17
  134. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  135. package/fesm2022/acorex-components-button-group.mjs +16 -18
  136. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  137. package/fesm2022/acorex-components-button.mjs +28 -51
  138. package/fesm2022/acorex-components-button.mjs.map +1 -1
  139. package/fesm2022/acorex-components-calendar.mjs +26 -42
  140. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  141. package/fesm2022/acorex-components-check-box.mjs +11 -12
  142. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  143. package/fesm2022/acorex-components-chips.mjs +10 -11
  144. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  145. package/fesm2022/acorex-components-circular-progress.mjs +10 -11
  146. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  147. package/fesm2022/acorex-components-collapse.mjs +16 -20
  148. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  149. package/fesm2022/acorex-components-color-box.mjs +23 -40
  150. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  151. package/fesm2022/acorex-components-color-palette.mjs +50 -56
  152. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  153. package/fesm2022/acorex-components-comment.mjs +47 -63
  154. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  155. package/fesm2022/acorex-components-common.mjs +107 -127
  156. package/fesm2022/acorex-components-common.mjs.map +1 -1
  157. package/fesm2022/acorex-components-conversation.mjs +109 -104
  158. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  159. package/fesm2022/acorex-components-cron-job.mjs +312 -248
  160. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  161. package/fesm2022/acorex-components-data-pager.mjs +79 -67
  162. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  163. package/fesm2022/acorex-components-data-table.mjs +173 -219
  164. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  165. package/fesm2022/acorex-components-datetime-box.mjs +18 -41
  166. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  167. package/fesm2022/acorex-components-datetime-input.mjs +17 -33
  168. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  169. package/fesm2022/acorex-components-datetime-picker.mjs +41 -30
  170. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  171. package/fesm2022/acorex-components-decorators.mjs +43 -61
  172. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  173. package/fesm2022/acorex-components-dialog.mjs +34 -30
  174. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  175. package/fesm2022/acorex-components-drawer.mjs +17 -18
  176. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  177. package/fesm2022/acorex-components-dropdown-button.mjs +15 -20
  178. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  179. package/fesm2022/acorex-components-dropdown.mjs +18 -21
  180. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  181. package/fesm2022/acorex-components-file-explorer.mjs +190 -143
  182. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  183. package/fesm2022/acorex-components-form.mjs +56 -50
  184. package/fesm2022/acorex-components-form.mjs.map +1 -1
  185. package/fesm2022/acorex-components-grid-layout-builder.mjs +18 -23
  186. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  187. package/fesm2022/acorex-components-image-editor.mjs +44 -52
  188. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  189. package/fesm2022/acorex-components-image.mjs +11 -16
  190. package/fesm2022/acorex-components-image.mjs.map +1 -1
  191. package/fesm2022/acorex-components-json-viewer.mjs +12 -18
  192. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  193. package/fesm2022/acorex-components-kbd.mjs +18 -16
  194. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  195. package/fesm2022/acorex-components-label.mjs +10 -11
  196. package/fesm2022/acorex-components-label.mjs.map +1 -1
  197. package/fesm2022/acorex-components-list.mjs +29 -34
  198. package/fesm2022/acorex-components-list.mjs.map +1 -1
  199. package/fesm2022/acorex-components-loading-dialog.mjs +46 -45
  200. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  201. package/fesm2022/acorex-components-loading.mjs +22 -31
  202. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  203. package/fesm2022/acorex-components-map.mjs +14 -18
  204. package/fesm2022/acorex-components-map.mjs.map +1 -1
  205. package/fesm2022/acorex-components-media-viewer.mjs +73 -78
  206. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  207. package/fesm2022/acorex-components-menu.mjs +28 -41
  208. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  209. package/fesm2022/acorex-components-navbar.mjs +10 -11
  210. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  211. package/fesm2022/acorex-components-notification.mjs +19 -26
  212. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  213. package/fesm2022/acorex-components-number-box.mjs +11 -13
  214. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  215. package/fesm2022/acorex-components-otp.mjs +13 -15
  216. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  217. package/fesm2022/acorex-components-page.mjs +11 -11
  218. package/fesm2022/acorex-components-paint.mjs +34 -68
  219. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  220. package/fesm2022/acorex-components-password-box.mjs +21 -51
  221. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  222. package/fesm2022/acorex-components-pdf-reader.mjs +10 -11
  223. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  224. package/fesm2022/acorex-components-phone-box.mjs +19 -66
  225. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  226. package/fesm2022/acorex-components-picker.mjs +21 -23
  227. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  228. package/fesm2022/acorex-components-popover.mjs +14 -29
  229. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  230. package/fesm2022/acorex-components-popup.mjs +28 -51
  231. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  232. package/fesm2022/acorex-components-progress-bar.mjs +10 -11
  233. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  234. package/fesm2022/acorex-components-qrcode.mjs +10 -11
  235. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  236. package/fesm2022/acorex-components-query-builder.mjs +31 -28
  237. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  238. package/fesm2022/acorex-components-radio.mjs +11 -12
  239. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  240. package/fesm2022/acorex-components-rail-navigation.mjs +19 -22
  241. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  242. package/fesm2022/acorex-components-range-slider.mjs +12 -14
  243. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  244. package/fesm2022/acorex-components-rate-picker.mjs +10 -11
  245. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  246. package/fesm2022/acorex-components-rest-api-generator.mjs +361 -0
  247. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -0
  248. package/fesm2022/acorex-components-result.mjs +16 -17
  249. package/fesm2022/acorex-components-result.mjs.map +1 -1
  250. package/fesm2022/acorex-components-routing-progress.mjs +16 -17
  251. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  252. package/fesm2022/acorex-components-scheduler.mjs +30 -27
  253. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  254. package/fesm2022/acorex-components-scss.mjs +4 -4
  255. package/fesm2022/acorex-components-search-box.mjs +20 -58
  256. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  257. package/fesm2022/acorex-components-select-box.mjs +55 -48
  258. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  259. package/fesm2022/acorex-components-selection-list.mjs +15 -34
  260. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  261. package/fesm2022/acorex-components-side-menu.mjs +26 -56
  262. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  263. package/fesm2022/acorex-components-skeleton.mjs +10 -11
  264. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  265. package/fesm2022/acorex-components-slider.mjs +11 -12
  266. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  267. package/fesm2022/acorex-components-sliding-item.mjs +19 -22
  268. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  269. package/fesm2022/acorex-components-step-wizard.mjs +20 -24
  270. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  271. package/fesm2022/acorex-components-switch.mjs +13 -15
  272. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  273. package/fesm2022/acorex-components-tabs.mjs +19 -22
  274. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  275. package/fesm2022/acorex-components-tag.mjs +10 -11
  276. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  277. package/fesm2022/acorex-components-text-area.mjs +12 -24
  278. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  279. package/fesm2022/acorex-components-text-box.mjs +17 -47
  280. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  281. package/fesm2022/acorex-components-time-line.mjs +16 -18
  282. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  283. package/fesm2022/acorex-components-toast.mjs +27 -31
  284. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  285. package/fesm2022/acorex-components-toolbar.mjs +10 -12
  286. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  287. package/fesm2022/acorex-components-tooltip.mjs +31 -32
  288. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  289. package/fesm2022/acorex-components-tree-view.mjs +51 -39
  290. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  291. package/fesm2022/acorex-components-uploader.mjs +47 -55
  292. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  293. package/fesm2022/acorex-components-video-player.mjs +10 -11
  294. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  295. package/fesm2022/acorex-components-wysiwyg.mjs +66 -72
  296. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  297. package/file-explorer/index.d.ts +2 -0
  298. package/file-explorer/lib/file-explorer-container/file-explorer-container.component.d.ts +1 -6
  299. package/file-explorer/lib/file-explorer-header/file-explorer-header.component.d.ts +9 -0
  300. package/file-explorer/lib/file-explorer-internal.service.d.ts +18 -0
  301. package/file-explorer/lib/file-explorer-item/file-explorer-item.component.d.ts +1 -1
  302. package/file-explorer/lib/file-explorer-tree/file-explorer-tree.component.d.ts +13 -0
  303. package/file-explorer/lib/file-explorer-view/file-explorer-view.component.d.ts +3 -16
  304. package/file-explorer/lib/file-explorer.module.d.ts +14 -11
  305. package/file-explorer/lib/file-explorer.service.d.ts +6 -1
  306. package/form/lib/form-field.component.d.ts +1 -1
  307. package/form/lib/form.component.d.ts +1 -1
  308. package/form/lib/form.module.d.ts +11 -11
  309. package/form/lib/validation-rule.directive.d.ts +1 -1
  310. package/form/lib/validation-summary.component.d.ts +1 -1
  311. package/grid-layout-builder/lib/grid-layout-builder.module.d.ts +5 -5
  312. package/grid-layout-builder/lib/grid-layout-container.component.d.ts +1 -1
  313. package/grid-layout-builder/lib/grid-layout-widget.component.d.ts +1 -1
  314. package/grid-layout-builder/lib/grid-layout-widget.directive.d.ts +1 -1
  315. package/image/lib/image.component.d.ts +1 -1
  316. package/image/lib/image.module.d.ts +3 -3
  317. package/image-editor/lib/image-editor-container/image-editor-container.component.d.ts +1 -1
  318. package/image-editor/lib/image-editor-tools/image-editor-color-picker/image-editor-color-picker.component.d.ts +1 -1
  319. package/image-editor/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.d.ts +1 -1
  320. package/image-editor/lib/image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component.d.ts +1 -1
  321. package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +1 -1
  322. package/image-editor/lib/image-editor.module.d.ts +16 -16
  323. package/json-viewer/lib/json-viewer/json-viewer.component.d.ts +1 -1
  324. package/json-viewer/lib/json-viewer.module.d.ts +5 -5
  325. package/kbd/lib/kbd-item/kbd-item.component.d.ts +2 -1
  326. package/kbd/lib/kbd.component.d.ts +1 -1
  327. package/kbd/lib/kbd.module.d.ts +4 -4
  328. package/label/lib/label.component.d.ts +1 -1
  329. package/label/lib/label.module.d.ts +3 -3
  330. package/list/lib/list.component.d.ts +2 -2
  331. package/list/lib/list.module.d.ts +5 -5
  332. package/loading/lib/loading-spinner.component.d.ts +1 -1
  333. package/loading/lib/loading.component.d.ts +1 -1
  334. package/loading/lib/loading.directive.d.ts +1 -1
  335. package/loading/lib/loading.module.d.ts +8 -8
  336. package/loading-dialog/lib/loading-dialog.component.d.ts +18 -18
  337. package/loading-dialog/lib/loading-dialog.module.d.ts +9 -9
  338. package/map/lib/map.component.d.ts +1 -1
  339. package/map/lib/map.module.d.ts +3 -3
  340. package/media-viewer/lib/media-viewer-container/media-viewer-container.component.d.ts +1 -1
  341. package/media-viewer/lib/media-viewer-slider/media-viewer-slider.component.d.ts +1 -1
  342. package/media-viewer/lib/media-viewer-tools/audio-player/audio-player.component.d.ts +1 -1
  343. package/media-viewer/lib/media-viewer-tools/file-info/file-info.component.d.ts +1 -1
  344. package/media-viewer/lib/media-viewer-tools/image-viewer/image-viewer.component.d.ts +1 -1
  345. package/media-viewer/lib/media-viewer-tools/pdf-reader/pdf-reader.component.d.ts +1 -1
  346. package/media-viewer/lib/media-viewer-tools/video-player/video-player.component.d.ts +1 -1
  347. package/media-viewer/lib/media-viewer.module.d.ts +18 -18
  348. package/menu/lib/context-menu.component.d.ts +1 -1
  349. package/menu/lib/menu-item.component.d.ts +1 -1
  350. package/menu/lib/menu.component.d.ts +1 -1
  351. package/menu/lib/menu.module.d.ts +10 -10
  352. package/navbar/lib/navbar.component.d.ts +1 -1
  353. package/navbar/lib/navbar.module.d.ts +3 -3
  354. package/notification/lib/notification.component.d.ts +1 -1
  355. package/notification/lib/notification.module.d.ts +9 -9
  356. package/number-box/lib/number-box.component.d.ts +1 -1
  357. package/number-box/lib/number-box.module.d.ts +7 -7
  358. package/otp/lib/otp.component.d.ts +1 -1
  359. package/otp/lib/otp.module.d.ts +4 -4
  360. package/package.json +5 -1
  361. package/paint/lib/paint/paint-container/paint-container.component.d.ts +1 -1
  362. package/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.d.ts +1 -1
  363. package/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.d.ts +1 -1
  364. package/paint/lib/paint/paint-view/paint-view.component.d.ts +1 -1
  365. package/paint/lib/paint.module.d.ts +13 -13
  366. package/password-box/lib/password-box.component.d.ts +1 -1
  367. package/password-box/lib/password-box.module.d.ts +10 -10
  368. package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +1 -1
  369. package/pdf-reader/lib/pdf-reader/pdf-reader.component.d.ts +1 -1
  370. package/pdf-reader/lib/pdf-reader.module.d.ts +1 -1
  371. package/phone-box/lib/phone-box.component.d.ts +2 -2
  372. package/phone-box/lib/phone-box.module.d.ts +10 -10
  373. package/picker/lib/picker-container/picker-container.component.d.ts +1 -1
  374. package/picker/lib/picker-items/picker-items.component.d.ts +1 -1
  375. package/picker/lib/picker-title/picker-title.component.d.ts +1 -1
  376. package/picker/lib/picker.module.d.ts +6 -6
  377. package/popover/lib/popover.component.d.ts +1 -1
  378. package/popover/lib/popover.module.d.ts +3 -3
  379. package/popup/lib/popup.component.d.ts +9 -9
  380. package/popup/lib/popup.module.d.ts +10 -10
  381. package/progress-bar/lib/progress-bar.component.d.ts +1 -1
  382. package/progress-bar/lib/progress-bar.module.d.ts +3 -3
  383. package/qrcode/lib/qrcode.component.d.ts +1 -1
  384. package/qrcode/lib/qrcode.module.d.ts +3 -3
  385. package/query-builder/lib/query-builder.component.d.ts +1 -1
  386. package/query-builder/lib/query-builder.module.d.ts +10 -10
  387. package/radio/lib/radio.component.d.ts +1 -1
  388. package/radio/lib/radio.module.d.ts +4 -4
  389. package/rail-navigation/lib/rail-navigation-item/rail-navigation-item.component.d.ts +1 -1
  390. package/rail-navigation/lib/rail-navigation.component.d.ts +1 -1
  391. package/rail-navigation/lib/rail-navigation.module.d.ts +5 -5
  392. package/range-slider/lib/range-slider.component.d.ts +1 -1
  393. package/range-slider/lib/range-slider.module.d.ts +3 -3
  394. package/rate-picker/lib/rate-picker.component.d.ts +1 -1
  395. package/rate-picker/lib/rate-picker.module.d.ts +3 -3
  396. package/rest-api-generator/README.md +3 -0
  397. package/rest-api-generator/index.d.ts +8 -0
  398. package/rest-api-generator/lib/query-params/query-params.component.d.ts +16 -0
  399. package/rest-api-generator/lib/request-body/request-body.component.d.ts +22 -0
  400. package/rest-api-generator/lib/request-headers/request-headers.component.d.ts +22 -0
  401. package/rest-api-generator/lib/rest-api-auth/rest-api-auth.component.d.ts +22 -0
  402. package/rest-api-generator/lib/rest-api-generator.component.d.ts +14 -0
  403. package/rest-api-generator/lib/rest-api-generator.module.d.ts +19 -0
  404. package/rest-api-generator/lib/rest-api-generator.service.d.ts +7 -0
  405. package/rest-api-generator/lib/types.d.ts +20 -0
  406. package/result/lib/result.component.d.ts +7 -7
  407. package/result/lib/result.module.d.ts +3 -3
  408. package/routing-progress/lib/routing-progress.component.d.ts +7 -7
  409. package/routing-progress/lib/routing-progress.module.d.ts +3 -3
  410. package/scheduler/lib/scheduler-month-view.component.d.ts +1 -1
  411. package/scheduler/lib/scheduler-week-view.component.d.ts +1 -1
  412. package/scheduler/lib/scheduler.component.d.ts +1 -1
  413. package/scheduler/lib/scheduler.module.d.ts +9 -9
  414. package/search-box/lib/search-box.component.d.ts +2 -1
  415. package/search-box/lib/search-box.module.d.ts +9 -9
  416. package/select-box/lib/select-box.component.d.ts +12 -4
  417. package/select-box/lib/select-box.module.d.ts +15 -15
  418. package/selection-list/lib/selection-list.component.d.ts +1 -1
  419. package/selection-list/lib/selection-list.module.d.ts +8 -8
  420. package/side-menu/lib/side-menu-item/side-menu-item.component.d.ts +1 -1
  421. package/side-menu/lib/side-menu.component.d.ts +1 -1
  422. package/side-menu/lib/side-menu.directive.d.ts +1 -1
  423. package/side-menu/lib/side-menu.module.d.ts +10 -10
  424. package/skeleton/lib/skeleton.component.d.ts +1 -1
  425. package/skeleton/lib/skeleton.module.d.ts +3 -3
  426. package/slider/lib/slider.component.d.ts +1 -1
  427. package/slider/lib/slider.module.d.ts +5 -5
  428. package/sliding-item/lib/sliding-item/sliding-item.component.d.ts +1 -1
  429. package/sliding-item/lib/sliding-item-prefix/sliding-item-prefix.component.d.ts +1 -1
  430. package/sliding-item/lib/sliding-item-suffix/sliding-item-suffix.component.d.ts +1 -1
  431. package/sliding-item/lib/sliding-item.module.d.ts +6 -6
  432. package/step-wizard/lib/step-wizard-item/step-wizard-item.component.d.ts +1 -1
  433. package/step-wizard/lib/step-wizard.component.d.ts +1 -1
  434. package/step-wizard/lib/step-wizard.directive.d.ts +1 -1
  435. package/step-wizard/lib/step-wizard.module.d.ts +8 -8
  436. package/switch/lib/switch-content.component.d.ts +1 -1
  437. package/switch/lib/switch.component.d.ts +1 -1
  438. package/switch/lib/switch.module.d.ts +5 -5
  439. package/tabs/lib/tab-content.directive.d.ts +1 -1
  440. package/tabs/lib/tab-item.component.d.ts +1 -1
  441. package/tabs/lib/tabs.component.d.ts +1 -1
  442. package/tabs/lib/tabs.module.d.ts +7 -7
  443. package/tag/lib/tag.component.d.ts +1 -1
  444. package/tag/lib/tag.module.d.ts +3 -3
  445. package/text-area/lib/text-area.component.d.ts +1 -1
  446. package/text-area/lib/text-area.module.d.ts +4 -4
  447. package/text-box/lib/mask-options.directive.d.ts +1 -1
  448. package/text-box/lib/text-box.component.d.ts +1 -1
  449. package/text-box/lib/text-box.module.d.ts +8 -8
  450. package/time-line/lib/time-line-item.component.d.ts +1 -1
  451. package/time-line/lib/time-line.component.d.ts +1 -1
  452. package/time-line/lib/time-line.module.d.ts +4 -4
  453. package/toast/lib/toast.component.d.ts +1 -1
  454. package/toast/lib/toast.module.d.ts +8 -8
  455. package/toast/lib/toast.service.d.ts +1 -0
  456. package/toolbar/lib/toolbar.component.d.ts +1 -1
  457. package/toolbar/lib/toolbar.module.d.ts +3 -3
  458. package/tooltip/lib/tooltip.component.d.ts +1 -1
  459. package/tooltip/lib/tooltip.directive.d.ts +3 -2
  460. package/tooltip/lib/tooltip.module.d.ts +5 -5
  461. package/tree-view/lib/tree-view-item.component.d.ts +1 -1
  462. package/tree-view/lib/tree-view.class.d.ts +2 -0
  463. package/tree-view/lib/tree-view.component.d.ts +5 -3
  464. package/tree-view/lib/tree-view.component.module.d.ts +11 -11
  465. package/uploader/lib/uploader-browse-handle.directive.d.ts +1 -1
  466. package/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.d.ts +1 -1
  467. package/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.d.ts +1 -1
  468. package/uploader/lib/uploader-list/uploader-list.component.d.ts +1 -1
  469. package/uploader/lib/uploader-zone.directive.d.ts +1 -1
  470. package/uploader/lib/uploader.models.d.ts +4 -2
  471. package/uploader/lib/uploader.module.d.ts +16 -16
  472. package/video-player/lib/video-player/video-player.component.d.ts +1 -1
  473. package/video-player/lib/video-player.module.d.ts +1 -1
  474. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +1 -1
  475. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.d.ts +1 -1
  476. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +1 -1
  477. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.d.ts +1 -1
  478. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.d.ts +1 -1
  479. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.d.ts +1 -1
  480. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.d.ts +1 -1
  481. package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +1 -1
  482. package/wysiwyg/lib/wysiwyg.module.d.ts +16 -16
@@ -1,24 +1,17 @@
1
1
  import { MXInputBaseValueComponent, MXLookComponent, AXComponent, AXFocusableComponent, AXClearableComponent, AXValuableComponent, MXBaseComponent } from '@acorex/components/common';
2
2
  import { AXDialogService, AXDialogModule } from '@acorex/components/dialog';
3
+ import { AXLoadingSpinnerComponent, AXLoadingModule } from '@acorex/components/loading';
3
4
  import * as i0 from '@angular/core';
4
- import { signal, Injectable, inject, viewChild, forwardRef, ViewEncapsulation, Component, HostBinding, input, Renderer2, computed, NgZone, afterNextRender, effect, ChangeDetectionStrategy, NgModule } from '@angular/core';
5
- import * as i1$1 from '@angular/forms';
5
+ import { signal, Injectable, inject, viewChild, forwardRef, Component, ViewEncapsulation, HostBinding, input, Renderer2, computed, NgZone, afterNextRender, effect, ChangeDetectionStrategy, NgModule } from '@angular/core';
6
+ import * as i1 from '@angular/forms';
6
7
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
7
8
  import { classes } from 'polytype';
8
- import * as i1 from '@acorex/components/loading';
9
- import { AXLoadingModule } from '@acorex/components/loading';
10
- import * as i2 from '@acorex/components/color-box';
11
- import { AXColorBoxModule } from '@acorex/components/color-box';
12
- import * as i3 from '@acorex/components/tooltip';
13
- import { AXTooltipModule } from '@acorex/components/tooltip';
14
- import * as i1$2 from '@acorex/components/button';
15
- import { AXButtonModule } from '@acorex/components/button';
16
- import * as i2$1 from '@acorex/components/decorators';
17
- import { AXDecoratorModule } from '@acorex/components/decorators';
18
- import * as i3$1 from '@acorex/components/range-slider';
19
- import { AXRangeSliderModule } from '@acorex/components/range-slider';
20
- import * as i4 from '@acorex/components/popover';
21
- import { AXPopoverModule } from '@acorex/components/popover';
9
+ import { AXColorBoxComponent, AXColorBoxModule } from '@acorex/components/color-box';
10
+ import { AXTooltipDirective, AXTooltipModule } from '@acorex/components/tooltip';
11
+ import { AXButtonComponent, AXButtonModule } from '@acorex/components/button';
12
+ import { AXDecoratorIconComponent, AXDecoratorModule } from '@acorex/components/decorators';
13
+ import { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';
14
+ import { AXRangeSliderComponent, AXRangeSliderModule } from '@acorex/components/range-slider';
22
15
  import { AXSelectBoxModule } from '@acorex/components/select-box';
23
16
 
24
17
  class AXImageEditorService {
@@ -35,10 +28,10 @@ class AXImageEditorService {
35
28
  this.initialImage = signal(null);
36
29
  this.imageBlob = signal([]);
37
30
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorService }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
32
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorService }); }
40
33
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorService, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorService, decorators: [{
42
35
  type: Injectable
43
36
  }] });
44
37
 
@@ -80,8 +73,8 @@ class AXImageEditorContainerComponent extends classes((MXInputBaseValueComponent
80
73
  this.commitValue(null);
81
74
  }
82
75
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXImageEditorContainerComponent, isStandalone: false, selector: "ax-image-editor-container", inputs: { look: "look" }, outputs: { onValueChanged: "onValueChanged" }, providers: [
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: AXImageEditorContainerComponent, isStandalone: true, selector: "ax-image-editor-container", inputs: { look: "look" }, outputs: { onValueChanged: "onValueChanged" }, providers: [
85
78
  AXImageEditorService,
86
79
  { provide: AXComponent, useExisting: AXImageEditorContainerComponent },
87
80
  { provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },
@@ -92,11 +85,11 @@ class AXImageEditorContainerComponent extends classes((MXInputBaseValueComponent
92
85
  useExisting: forwardRef(() => AXImageEditorContainerComponent),
93
86
  multi: true,
94
87
  },
95
- ], viewQueries: [{ propertyName: "imageEditorContainer", first: true, predicate: ["f"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (service.isImageLoad()) {\n <div #f class=\"ax-editor-container ax-{{ look }}\">\n <ng-content> </ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\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", styles: ["ax-image-editor-container{width:fit-content;display:block}ax-image-editor-container>.ax-editor-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto!important}ax-image-editor-container .ax-loading-spinner-container{display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: i1.AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }], encapsulation: i0.ViewEncapsulation.None }); }
88
+ ], viewQueries: [{ propertyName: "imageEditorContainer", first: true, predicate: ["f"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (service.isImageLoad()) {\n <div #f class=\"ax-editor-container ax-{{ look }}\">\n <ng-content> </ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\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", styles: ["ax-image-editor-container{width:fit-content;display:block}ax-image-editor-container>.ax-editor-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto!important;--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0}ax-image-editor-container .ax-loading-spinner-container{display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }], encapsulation: i0.ViewEncapsulation.None }); }
96
89
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorContainerComponent, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorContainerComponent, decorators: [{
98
91
  type: Component,
99
- args: [{ selector: 'ax-image-editor-container', encapsulation: ViewEncapsulation.None, standalone: false, outputs: ['onValueChanged'], inputs: ['look'], providers: [
92
+ args: [{ selector: 'ax-image-editor-container', encapsulation: ViewEncapsulation.None, outputs: ['onValueChanged'], inputs: ['look'], providers: [
100
93
  AXImageEditorService,
101
94
  { provide: AXComponent, useExisting: AXImageEditorContainerComponent },
102
95
  { provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },
@@ -107,7 +100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
107
100
  useExisting: forwardRef(() => AXImageEditorContainerComponent),
108
101
  multi: true,
109
102
  },
110
- ], template: "@if (service.isImageLoad()) {\n <div #f class=\"ax-editor-container ax-{{ look }}\">\n <ng-content> </ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\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", styles: ["ax-image-editor-container{width:fit-content;display:block}ax-image-editor-container>.ax-editor-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto!important}ax-image-editor-container .ax-loading-spinner-container{display:flex;justify-content:center;align-items:center}\n"] }]
103
+ ], imports: [AXLoadingSpinnerComponent], template: "@if (service.isImageLoad()) {\n <div #f class=\"ax-editor-container ax-{{ look }}\">\n <ng-content> </ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\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", styles: ["ax-image-editor-container{width:fit-content;display:block}ax-image-editor-container>.ax-editor-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto!important;--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0}ax-image-editor-container .ax-loading-spinner-container{display:flex;justify-content:center;align-items:center}\n"] }]
111
104
  }] });
112
105
 
113
106
  /**
@@ -129,12 +122,12 @@ class AXImageEditorColorPickerComponent {
129
122
  get __hostClass() {
130
123
  return `.5rem`;
131
124
  }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXImageEditorColorPickerComponent, isStandalone: false, selector: "ax-image-editor-color-picker", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<ax-color-box axTooltip=\"Color Picker\" axTooltipPlacement=\"top\" look=\"none\" [ngModel]=\"selectedColor()\" (ngModelChange)=\"changeColorHandler($event)\">\n</ax-color-box>\n", styles: ["ax-image-editor-color-picker{margin-inline:0!important}ax-image-editor-color-picker .ax-submit-color{border:1px solid rgba(var(--ax-sys-body-text-color));width:.6rem;height:.6rem;border-radius:1000vmax}ax-image-editor-color-picker .ax-color-flex-container{display:flex;align-items:center;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AXColorBoxComponent, selector: "ax-color-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "showBadge", "showValue", "showClearButton", "showIcon"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange"] }, { kind: "directive", type: i3.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], encapsulation: i0.ViewEncapsulation.None }); }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.7", type: AXImageEditorColorPickerComponent, isStandalone: true, selector: "ax-image-editor-color-picker", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<ax-color-box axTooltip=\"Color Picker\" axTooltipPlacement=\"top\" look=\"none\" [ngModel]=\"selectedColor()\" (ngModelChange)=\"changeColorHandler($event)\">\n</ax-color-box>\n", styles: ["ax-image-editor-color-picker{margin-inline:0!important}ax-image-editor-color-picker .ax-submit-color{border:1px solid rgba(var(--ax-sys-body-text-color));width:.6rem;height:.6rem;border-radius:1000vmax}ax-image-editor-color-picker .ax-color-flex-container{display:flex;align-items:center;cursor:pointer}\n"], dependencies: [{ kind: "component", type: AXColorBoxComponent, selector: "ax-color-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "showBadge", "showValue", "showClearButton", "showIcon"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
134
127
  }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorColorPickerComponent, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorColorPickerComponent, decorators: [{
136
129
  type: Component,
137
- args: [{ selector: 'ax-image-editor-color-picker', encapsulation: ViewEncapsulation.None, standalone: false, template: "<ax-color-box axTooltip=\"Color Picker\" axTooltipPlacement=\"top\" look=\"none\" [ngModel]=\"selectedColor()\" (ngModelChange)=\"changeColorHandler($event)\">\n</ax-color-box>\n", styles: ["ax-image-editor-color-picker{margin-inline:0!important}ax-image-editor-color-picker .ax-submit-color{border:1px solid rgba(var(--ax-sys-body-text-color));width:.6rem;height:.6rem;border-radius:1000vmax}ax-image-editor-color-picker .ax-color-flex-container{display:flex;align-items:center;cursor:pointer}\n"] }]
130
+ args: [{ selector: 'ax-image-editor-color-picker', encapsulation: ViewEncapsulation.None, imports: [AXColorBoxComponent, AXTooltipDirective, FormsModule], template: "<ax-color-box axTooltip=\"Color Picker\" axTooltipPlacement=\"top\" look=\"none\" [ngModel]=\"selectedColor()\" (ngModelChange)=\"changeColorHandler($event)\">\n</ax-color-box>\n", styles: ["ax-image-editor-color-picker{margin-inline:0!important}ax-image-editor-color-picker .ax-submit-color{border:1px solid rgba(var(--ax-sys-body-text-color));width:.6rem;height:.6rem;border-radius:1000vmax}ax-image-editor-color-picker .ax-color-flex-container{display:flex;align-items:center;cursor:pointer}\n"] }]
138
131
  }], propDecorators: { __hostClass: [{
139
132
  type: HostBinding,
140
133
  args: ['style.marginInline']
@@ -163,12 +156,12 @@ class AXImageEditorCropComponent {
163
156
  return { userInteract: true, state: !prev.state };
164
157
  });
165
158
  }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorCropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
167
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXImageEditorCropComponent, isStandalone: false, selector: "ax-image-editor-crop", ngImport: i0, template: "<ax-button\n axTooltip=\"Crop Image\"\n axTooltipPlacement=\"top\"\n [selected]=\"service.cropState().state && true\"\n (click)=\"crop()\"\n look=\"blank\"\n>\n <ax-icon class=\"ax-icon ax-icon-crop\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Rotate Left\" axTooltipPlacement=\"top\" (click)=\"rotateLeftHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></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-redo\"></ax-icon>\n</ax-button>\n", dependencies: [{ kind: "component", type: i1$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: i3.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], encapsulation: i0.ViewEncapsulation.None }); }
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorCropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.7", type: AXImageEditorCropComponent, isStandalone: true, selector: "ax-image-editor-crop", ngImport: i0, template: "<ax-button\n axTooltip=\"Crop Image\"\n axTooltipPlacement=\"top\"\n [selected]=\"service.cropState().state && true\"\n (click)=\"crop()\"\n look=\"blank\"\n>\n <ax-icon class=\"ax-icon ax-icon-crop\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Rotate Left\" axTooltipPlacement=\"top\" (click)=\"rotateLeftHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></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-redo\"></ax-icon>\n</ax-button>\n", dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None }); }
168
161
  }
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorCropComponent, decorators: [{
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorCropComponent, decorators: [{
170
163
  type: Component,
171
- args: [{ selector: 'ax-image-editor-crop', encapsulation: ViewEncapsulation.None, standalone: false, template: "<ax-button\n axTooltip=\"Crop Image\"\n axTooltipPlacement=\"top\"\n [selected]=\"service.cropState().state && true\"\n (click)=\"crop()\"\n look=\"blank\"\n>\n <ax-icon class=\"ax-icon ax-icon-crop\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Rotate Left\" axTooltipPlacement=\"top\" (click)=\"rotateLeftHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></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-redo\"></ax-icon>\n</ax-button>\n" }]
164
+ args: [{ selector: 'ax-image-editor-crop', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXTooltipDirective, AXDecoratorIconComponent], template: "<ax-button\n axTooltip=\"Crop Image\"\n axTooltipPlacement=\"top\"\n [selected]=\"service.cropState().state && true\"\n (click)=\"crop()\"\n look=\"blank\"\n>\n <ax-icon class=\"ax-icon ax-icon-crop\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Rotate Left\" axTooltipPlacement=\"top\" (click)=\"rotateLeftHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></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-redo\"></ax-icon>\n</ax-button>\n" }]
172
165
  }] });
173
166
 
174
167
  /**
@@ -208,12 +201,12 @@ class AXImageEditorPenModeChangerComponent {
208
201
  valueHandler(e) {
209
202
  this.service.lineWidth.set(e);
210
203
  }
211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorPenModeChangerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
212
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXImageEditorPenModeChangerComponent, isStandalone: false, selector: "ax-image-editor-pen-mode-changer", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<ax-button axTooltip=\"Draw Utilities\" axTooltipPlacement=\"top\" look=\"blank\" #alignPop>\n @switch (service.penType()) {\n @case ('pen') {\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n }\n @case ('highlight') {\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n }\n }\n</ax-button>\n\n<ax-button axTooltip=\"Reset Changes\" axTooltipPlacement=\"top\" (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-refresh\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-image-editor-pen-mode-changer{margin-inline:0!important}ax-image-editor-pen-mode-changer ax-range-slider{padding:.5rem .75rem}ax-image-editor-pen-mode-changer ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}ax-image-editor-pen-mode-changer .ax-paint-pen-mode-changer-container{display:flex;align-items:center}ax-image-editor-pen-mode-changer .ax-paint-pen-mode-changer-container .ax-pen-type-container{margin-inline-end:.5rem}ax-image-editor-pen-mode-changer .ax-overlay-pane{padding:.5rem!important}\n"], dependencies: [{ kind: "component", type: i1$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: i3.AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], encapsulation: i0.ViewEncapsulation.None }); }
204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorPenModeChangerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
205
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: AXImageEditorPenModeChangerComponent, isStandalone: true, selector: "ax-image-editor-pen-mode-changer", host: { properties: { "style.marginInline": "this.__hostClass" } }, ngImport: i0, template: "<ax-button axTooltip=\"Draw Utilities\" axTooltipPlacement=\"top\" look=\"blank\" #alignPop>\n @switch (service.penType()) {\n @case ('pen') {\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n }\n @case ('highlight') {\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n }\n }\n</ax-button>\n\n<ax-button axTooltip=\"Reset Changes\" axTooltipPlacement=\"top\" (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-refresh\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-image-editor-pen-mode-changer{margin-inline:0!important}ax-image-editor-pen-mode-changer ax-range-slider{padding:.5rem .75rem}ax-image-editor-pen-mode-changer ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}ax-image-editor-pen-mode-changer .ax-paint-pen-mode-changer-container{display:flex;align-items:center}ax-image-editor-pen-mode-changer .ax-paint-pen-mode-changer-container .ax-pen-type-container{margin-inline-end:.5rem}ax-image-editor-pen-mode-changer .ax-overlay-pane{padding:.5rem!important}\n"], dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
213
206
  }
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorPenModeChangerComponent, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorPenModeChangerComponent, decorators: [{
215
208
  type: Component,
216
- args: [{ selector: 'ax-image-editor-pen-mode-changer', encapsulation: ViewEncapsulation.None, standalone: false, template: "<ax-button axTooltip=\"Draw Utilities\" axTooltipPlacement=\"top\" look=\"blank\" #alignPop>\n @switch (service.penType()) {\n @case ('pen') {\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n }\n @case ('highlight') {\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n }\n }\n</ax-button>\n\n<ax-button axTooltip=\"Reset Changes\" axTooltipPlacement=\"top\" (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-refresh\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-image-editor-pen-mode-changer{margin-inline:0!important}ax-image-editor-pen-mode-changer ax-range-slider{padding:.5rem .75rem}ax-image-editor-pen-mode-changer ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}ax-image-editor-pen-mode-changer .ax-paint-pen-mode-changer-container{display:flex;align-items:center}ax-image-editor-pen-mode-changer .ax-paint-pen-mode-changer-container .ax-pen-type-container{margin-inline-end:.5rem}ax-image-editor-pen-mode-changer .ax-overlay-pane{padding:.5rem!important}\n"] }]
209
+ args: [{ selector: 'ax-image-editor-pen-mode-changer', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXTooltipDirective, AXDecoratorIconComponent, AXPopoverComponent, AXRangeSliderComponent, FormsModule], template: "<ax-button axTooltip=\"Draw Utilities\" axTooltipPlacement=\"top\" look=\"blank\" #alignPop>\n @switch (service.penType()) {\n @case ('pen') {\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n }\n @case ('highlight') {\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n }\n }\n</ax-button>\n\n<ax-button axTooltip=\"Reset Changes\" axTooltipPlacement=\"top\" (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-refresh\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-image-editor-pen-mode-changer{margin-inline:0!important}ax-image-editor-pen-mode-changer ax-range-slider{padding:.5rem .75rem}ax-image-editor-pen-mode-changer ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}ax-image-editor-pen-mode-changer .ax-paint-pen-mode-changer-container{display:flex;align-items:center}ax-image-editor-pen-mode-changer .ax-paint-pen-mode-changer-container .ax-pen-type-container{margin-inline-end:.5rem}ax-image-editor-pen-mode-changer .ax-overlay-pane{padding:.5rem!important}\n"] }]
217
210
  }], propDecorators: { __hostClass: [{
218
211
  type: HostBinding,
219
212
  args: ['style.marginInline']
@@ -567,12 +560,12 @@ class AXImageEditorViewComponent extends MXBaseComponent {
567
560
  get __hostStyle() {
568
561
  return `width: ${this.service.initialImage()?.width}px; height: ${this.service.initialImage()?.height}px`;
569
562
  }
570
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
571
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.3", type: AXImageEditorViewComponent, isStandalone: false, selector: "ax-image-editor-view", inputs: { src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style": "this.__hostStyle" } }, viewQueries: [{ propertyName: "canvasElem", first: true, predicate: ["canvasElem"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<canvas\n tabindex=\"1\"\n (mousedown)=\"mouseDownHandler($event)\"\n (mouseup)=\"mouseUpHandler()\"\n (mousemove)=\"mouseMoveHandler($event)\"\n (touchstart)=\"touchStartHandler($event)\"\n (touchend)=\"touchEndHandler()\"\n (touchmove)=\"touchMoveHandler($event)\"\n class=\"ax-canvas-element\"\n #canvasElem\n></canvas>\n<ax-button\n (click)=\"cropButtonHandler()\"\n [style]=\"{ display: service.cropState().state ? 'block' : 'none' }\"\n class=\"ax-crop-save ax-sm\"\n text=\"Crop\"\n></ax-button>\n", styles: ["ax-image-editor-view{position:relative;display:flex;justify-content:center;align-items:center;background-color:#fff;width:100%}ax-image-editor-view .ax-canvas-element{cursor:crosshair}ax-image-editor-view .ax-crop-save{position:absolute;top:0;right:0;margin:1rem}\n"], dependencies: [{ kind: "component", type: i1$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
563
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
564
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.7", type: AXImageEditorViewComponent, isStandalone: true, selector: "ax-image-editor-view", inputs: { src: { classPropertyName: "src", publicName: "src", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style": "this.__hostStyle" } }, viewQueries: [{ propertyName: "canvasElem", first: true, predicate: ["canvasElem"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<canvas\n tabindex=\"1\"\n (mousedown)=\"mouseDownHandler($event)\"\n (mouseup)=\"mouseUpHandler()\"\n (mousemove)=\"mouseMoveHandler($event)\"\n (touchstart)=\"touchStartHandler($event)\"\n (touchend)=\"touchEndHandler()\"\n (touchmove)=\"touchMoveHandler($event)\"\n class=\"ax-canvas-element\"\n #canvasElem\n></canvas>\n<ax-button\n (click)=\"cropButtonHandler()\"\n [style]=\"{ display: service.cropState().state ? 'block' : 'none' }\"\n class=\"ax-crop-save ax-sm\"\n text=\"Crop\"\n></ax-button>\n", styles: ["ax-image-editor-view{position:relative;display:flex;justify-content:center;align-items:center;background-color:#fff;width:100%}ax-image-editor-view .ax-canvas-element{cursor:crosshair}ax-image-editor-view .ax-crop-save{position:absolute;top:0;right:0;margin:1rem}\n"], dependencies: [{ kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
572
565
  }
573
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorViewComponent, decorators: [{
566
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorViewComponent, decorators: [{
574
567
  type: Component,
575
- args: [{ selector: 'ax-image-editor-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<canvas\n tabindex=\"1\"\n (mousedown)=\"mouseDownHandler($event)\"\n (mouseup)=\"mouseUpHandler()\"\n (mousemove)=\"mouseMoveHandler($event)\"\n (touchstart)=\"touchStartHandler($event)\"\n (touchend)=\"touchEndHandler()\"\n (touchmove)=\"touchMoveHandler($event)\"\n class=\"ax-canvas-element\"\n #canvasElem\n></canvas>\n<ax-button\n (click)=\"cropButtonHandler()\"\n [style]=\"{ display: service.cropState().state ? 'block' : 'none' }\"\n class=\"ax-crop-save ax-sm\"\n text=\"Crop\"\n></ax-button>\n", styles: ["ax-image-editor-view{position:relative;display:flex;justify-content:center;align-items:center;background-color:#fff;width:100%}ax-image-editor-view .ax-canvas-element{cursor:crosshair}ax-image-editor-view .ax-crop-save{position:absolute;top:0;right:0;margin:1rem}\n"] }]
568
+ args: [{ selector: 'ax-image-editor-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent], template: "<canvas\n tabindex=\"1\"\n (mousedown)=\"mouseDownHandler($event)\"\n (mouseup)=\"mouseUpHandler()\"\n (mousemove)=\"mouseMoveHandler($event)\"\n (touchstart)=\"touchStartHandler($event)\"\n (touchend)=\"touchEndHandler()\"\n (touchmove)=\"touchMoveHandler($event)\"\n class=\"ax-canvas-element\"\n #canvasElem\n></canvas>\n<ax-button\n (click)=\"cropButtonHandler()\"\n [style]=\"{ display: service.cropState().state ? 'block' : 'none' }\"\n class=\"ax-crop-save ax-sm\"\n text=\"Crop\"\n></ax-button>\n", styles: ["ax-image-editor-view{position:relative;display:flex;justify-content:center;align-items:center;background-color:#fff;width:100%}ax-image-editor-view .ax-canvas-element{cursor:crosshair}ax-image-editor-view .ax-crop-save{position:absolute;top:0;right:0;margin:1rem}\n"] }]
576
569
  }], ctorParameters: () => [], propDecorators: { __hostStyle: [{
577
570
  type: HostBinding,
578
571
  args: ['style']
@@ -598,12 +591,8 @@ const MODULES = [
598
591
  AXTooltipModule,
599
592
  ];
600
593
  class AXImageEditorModule {
601
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
602
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorModule, declarations: [AXImageEditorColorPickerComponent,
603
- AXImageEditorPenModeChangerComponent,
604
- AXImageEditorViewComponent,
605
- AXImageEditorContainerComponent,
606
- AXImageEditorCropComponent], imports: [AXButtonModule,
594
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
595
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorModule, imports: [AXButtonModule,
607
596
  FormsModule,
608
597
  AXRangeSliderModule,
609
598
  AXSelectBoxModule,
@@ -612,18 +601,21 @@ class AXImageEditorModule {
612
601
  AXDecoratorModule,
613
602
  AXLoadingModule,
614
603
  AXDialogModule,
615
- AXTooltipModule], exports: [AXImageEditorColorPickerComponent,
604
+ AXTooltipModule, AXImageEditorColorPickerComponent,
605
+ AXImageEditorPenModeChangerComponent,
606
+ AXImageEditorViewComponent,
607
+ AXImageEditorContainerComponent,
608
+ AXImageEditorCropComponent], exports: [AXImageEditorColorPickerComponent,
616
609
  AXImageEditorPenModeChangerComponent,
617
610
  AXImageEditorViewComponent,
618
611
  AXImageEditorContainerComponent,
619
612
  AXImageEditorCropComponent] }); }
620
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorModule, imports: [MODULES] }); }
613
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorModule, imports: [MODULES, COMPONENT] }); }
621
614
  }
622
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorModule, decorators: [{
615
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: AXImageEditorModule, decorators: [{
623
616
  type: NgModule,
624
617
  args: [{
625
- declarations: [...COMPONENT],
626
- imports: [...MODULES],
618
+ imports: [...MODULES, ...COMPONENT],
627
619
  exports: [...COMPONENT],
628
620
  providers: [],
629
621
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-image-editor.mjs","sources":["../../../../libs/components/image-editor/src/lib/image-editor.service.ts","../../../../libs/components/image-editor/src/lib/image-editor-container/image-editor-container.component.ts","../../../../libs/components/image-editor/src/lib/image-editor-container/image-editor-container.component.html","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-color-picker/image-editor-color-picker.component.ts","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-color-picker/image-editor-color-picker.component.html","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.ts","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.html","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component.ts","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component.html","../../../../libs/components/image-editor/src/lib/image-editor-view/image-editor-view.component.ts","../../../../libs/components/image-editor/src/lib/image-editor-view/image-editor-view.component.html","../../../../libs/components/image-editor/src/lib/image-editor.module.ts","../../../../libs/components/image-editor/src/acorex-components-image-editor.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXImageEditorService {\n penColor = signal<string | CanvasGradient | CanvasPattern>('');\n lineCap = signal<CanvasLineCap>('round');\n lineWidth = signal<number>(10);\n penType = signal<'pen' | 'highlight'>('pen');\n toggleClear = signal({ state: false, userInteract: false });\n cropState = signal({ state: false, userInteract: false });\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}\n","import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXStyleColorType,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport {\n Component,\n ElementRef,\n forwardRef,\n inject,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\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 standalone: false,\n outputs: ['onValueChanged'],\n inputs: ['look'],\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})\nexport class AXImageEditorContainerComponent extends classes(\n MXInputBaseValueComponent<Blob[]>,\n MXLookComponent,\n) {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n imageEditorContainer = viewChild<ElementRef>('f');\n\n /** @ignore */\n protected dialogService: AXDialogService = inject(AXDialogService);\n\n /** @ignore */\n protected options = signal({\n color: 'primary',\n title: 'Attention',\n vertical: false,\n content: 'Do you want to save changes?',\n orientation: 'vertical' as any,\n draggable: true,\n });\n\n save() {\n if (this.service.initialImage() !== this.service.newImage()) {\n this.dialogService\n .confirm(\n this.options().title,\n this.options().content,\n this.options().color as AXStyleColorType,\n this.options().orientation,\n this.options().draggable,\n )\n .then((data) => {\n if (data.result) {\n this.service.initialImage.set(this.service.newImage());\n this.commitValue(this.service.imageBlob(), true);\n }\n })\n .catch(() => this.commitValue(null));\n } else {\n this.commitValue(null);\n }\n }\n}\n","@if (service.isImageLoad()) {\n <div #f class=\"ax-editor-container ax-{{ look }}\">\n <ng-content> </ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\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","import { Component, HostBinding, ViewEncapsulation, inject, signal } from '@angular/core';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint color picker.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-color-picker',\n templateUrl: './image-editor-color-picker.component.html',\n styles: `\n ax-image-editor-color-picker {\n margin-inline: 0 !important;\n\n .ax-submit-color {\n border: 1px solid rgba(var(--ax-sys-body-text-color));\n width: 0.6rem;\n height: 0.6rem;\n border-radius: 1000vmax;\n }\n .ax-color-flex-container {\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n }\n `,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class AXImageEditorColorPickerComponent {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected selectedColor = signal('rgb(12, 12, 12)');\n\n /** @ignore */\n protected changeColorHandler(e: string) {\n this.service.penColor.set(e);\n this.selectedColor.set(e);\n }\n\n @HostBinding('style.marginInline')\n get __hostClass(): string {\n return `.5rem`;\n }\n}\n","<ax-color-box axTooltip=\"Color Picker\" axTooltipPlacement=\"top\" look=\"none\" [ngModel]=\"selectedColor()\" (ngModelChange)=\"changeColorHandler($event)\">\n</ax-color-box>\n","import { 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-crop',\n templateUrl: './image-editor-crop.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class AXImageEditorCropComponent {\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 /** @ignore */\n protected crop() {\n this.service.cropState.update((prev) => {\n return { userInteract: true, state: !prev.state };\n });\n }\n}\n","<ax-button\n axTooltip=\"Crop Image\"\n axTooltipPlacement=\"top\"\n [selected]=\"service.cropState().state && true\"\n (click)=\"crop()\"\n look=\"blank\"\n>\n <ax-icon class=\"ax-icon ax-icon-crop\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Rotate Left\" axTooltipPlacement=\"top\" (click)=\"rotateLeftHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></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-redo\"></ax-icon>\n</ax-button>\n","import { AXPlacement } from '@acorex/components/common';\nimport { AXPopoverCloseTrigger, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { Component, HostBinding, inject, signal, 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-pen-mode-changer',\n templateUrl: './image-editor-pen-mode-changer.component.html',\n styleUrl: './image-editor-pen-mode-changer.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: false\n})\nexport class AXImageEditorPenModeChangerComponent {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected value = 10;\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected selectedPenType = signal<'pen' | 'highlight'>('pen');\n\n /** @ignore */\n protected penTypeHandler(e: 'pen' | 'highlight') {\n this.service.penType.set(e);\n }\n\n /** @ignore */\n protected clear() {\n this.service.toggleClear.set({ userInteract: true, state: true });\n }\n\n /** @ignore */\n @HostBinding('style.marginInline')\n get __hostClass(): string {\n return `.5rem`;\n }\n\n /** @ignore */\n protected valueHandler(e: number) {\n this.service.lineWidth.set(e);\n }\n}\n","<ax-button axTooltip=\"Draw Utilities\" axTooltipPlacement=\"top\" look=\"blank\" #alignPop>\n @switch (service.penType()) {\n @case ('pen') {\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n }\n @case ('highlight') {\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n }\n }\n</ax-button>\n\n<ax-button axTooltip=\"Reset Changes\" axTooltipPlacement=\"top\" (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-refresh\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n</ax-popover>\n","import { MXBaseComponent } from '@acorex/components/common';\r\nimport {\r\n afterNextRender,\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n ElementRef,\r\n HostBinding,\r\n inject,\r\n input,\r\n NgZone,\r\n OnDestroy,\r\n Renderer2,\r\n signal,\r\n viewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { AXImageEditorContainerComponent } from '../image-editor-container/image-editor-container.component';\r\nimport { AXImageEditorService } from '../image-editor.service';\r\n\r\n@Component({\r\n selector: 'ax-image-editor-view',\r\n templateUrl: './image-editor-view.component.html',\r\n styleUrls: ['./image-editor-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n standalone: false,\r\n})\r\nexport class AXImageEditorViewComponent extends MXBaseComponent implements OnDestroy {\r\n /**\r\n * its receive image src.\r\n */\r\n src = input<string>('');\r\n /** @ignore */\r\n protected canvasElem = viewChild<ElementRef<HTMLCanvasElement>>('canvasElem');\r\n /** @ignore */\r\n protected ctx = signal<CanvasRenderingContext2D>(null);\r\n /** @ignore */\r\n protected service = inject(AXImageEditorService);\r\n /** @ignore */\r\n protected cropImageData = signal<ImageData>(null);\r\n /** @ignore */\r\n protected isMouseDown = signal(false);\r\n /** @ignore */\r\n protected cropStartX = signal(0);\r\n /** @ignore */\r\n protected cropStartY = signal(0);\r\n /** @ignore */\r\n protected cropEndX = signal(0);\r\n /** @ignore */\r\n protected cropEndY = signal(0);\r\n /** @ignore */\r\n protected parent = inject(AXImageEditorContainerComponent);\r\n protected renderer = inject(Renderer2);\r\n /** @ignore */\r\n protected imageAspect = computed(() => {\r\n return this.service.initialImage().width / this.service.initialImage().height;\r\n });\r\n\r\n private ngZone = inject(NgZone);\r\n\r\n /** @ignore */\r\n resizeEventListener;\r\n /** @ignore */\r\n imageLoadEventListener;\r\n\r\n /** @ignore */\r\n protected resizeWindow() {\r\n this.canvasResponsive(this.service.newImage());\r\n }\r\n\r\n /** @ignore */\r\n protected canvasResponsive(image: HTMLImageElement) {\r\n if (!this.parent.imageEditorContainer()) return;\r\n\r\n const parentWidth = (this.parent.imageEditorContainer().nativeElement as HTMLDivElement).clientWidth;\r\n const imageWidth = this.service.initialImage().width;\r\n\r\n if (parentWidth < imageWidth) {\r\n this.getHostElement().style.width = `${parentWidth}px`;\r\n this.getHostElement().style.height = `${parentWidth * this.imageAspect()}px`;\r\n this.canvasElem().nativeElement.width = parentWidth;\r\n this.canvasElem().nativeElement.height = parentWidth * this.imageAspect();\r\n this.ctx().drawImage(image, 0, 0, parentWidth, parentWidth * this.imageAspect());\r\n } else {\r\n this.getHostElement().style.width = `${imageWidth}px`;\r\n this.getHostElement().style.height = `${imageWidth / this.imageAspect()}px`;\r\n this.canvasElem().nativeElement.width = imageWidth;\r\n this.canvasElem().nativeElement.height = imageWidth / this.imageAspect();\r\n this.ctx().drawImage(image, 0, 0, imageWidth, imageWidth / this.imageAspect());\r\n }\r\n }\r\n\r\n /** @ignore */\r\n constructor() {\r\n super();\r\n afterNextRender(() => {\r\n this.resizeEventListener = this.renderer.listen(window, 'resize', this.resizeWindow.bind(this));\r\n //load image\r\n this.service.initialImage.set(new Image());\r\n this.service.initialImage().src = this.src();\r\n this.service.initialImage().crossOrigin = 'anonymous';\r\n this.imageLoadEventListener = this.renderer.listen(\r\n this.service.initialImage(),\r\n 'load',\r\n this.imageLoaded.bind(this),\r\n );\r\n //set canvas options\r\n this.ctx.set(this.canvasElem().nativeElement.getContext('2d', { willReadFrequently: true }));\r\n this.ctx().lineJoin = 'round';\r\n this.ctx().lineCap = this.service.lineCap();\r\n this.ctx().strokeStyle = this.service.penColor();\r\n this.ctx().lineWidth = this.service.lineWidth();\r\n this.ctx().globalCompositeOperation = 'source-over';\r\n this.ctx().globalAlpha = 1;\r\n });\r\n\r\n effect(() => {\r\n if (this.parent.imageEditorContainer() && this.service.isImageLoad()) {\r\n this.canvasResponsive(this.service.initialImage());\r\n }\r\n });\r\n\r\n effect(() => {\r\n if (!this.service.toggleClear().userInteract) return;\r\n if (this.service.toggleClear().state) {\r\n this.imageLoaded();\r\n }\r\n });\r\n\r\n effect(() => {\r\n if (!this.service.cropState().userInteract || !this.ctx()) return;\r\n if (this.service.cropState().state) {\r\n this.ctx().filter = 'brightness(40%)';\r\n } else {\r\n this.ctx().filter = 'brightness(100%)';\r\n }\r\n this.ctx().drawImage(\r\n this.service.newImage(),\r\n 0,\r\n 0,\r\n this.service.newImage().width,\r\n this.service.newImage().height,\r\n );\r\n });\r\n\r\n effect(() => {\r\n if (!this.service.rotate().userInteract || !this.ctx()) return;\r\n this.rotateImage();\r\n });\r\n }\r\n\r\n /** @ignore */\r\n ngOnDestroy(): void {\r\n if (this.resizeEventListener) {\r\n this.resizeEventListener();\r\n }\r\n\r\n if (this.imageLoadEventListener) {\r\n this.imageLoadEventListener();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected imageLoaded() {\r\n this.service.newImage.set(this.service.initialImage());\r\n this.service.toggleClear.set({ userInteract: false, state: false });\r\n this.service.isImageLoad.set(true);\r\n this.canvasResponsive(this.service.initialImage());\r\n }\r\n\r\n /** @ignore */\r\n protected penConfigHandler(penType: 'pen' | 'highlight') {\r\n switch (penType) {\r\n case 'pen':\r\n this.ctx().globalAlpha = 1;\r\n break;\r\n case 'highlight':\r\n this.ctx().globalAlpha = 0.008;\r\n break;\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected getBoundingCanvasHandler() {\r\n return this.canvasElem().nativeElement.getBoundingClientRect();\r\n }\r\n\r\n /** @ignore */\r\n protected mouseDownHandler(e: MouseEvent) {\r\n this.isMouseDown.set(true);\r\n\r\n if (this.service.cropState().state) {\r\n this.cropStartX.set(e.offsetX);\r\n this.cropStartY.set(e.offsetY);\r\n this.cropEndX.set(0);\r\n } else {\r\n this.penConfigHandler(this.service.penType());\r\n this.ctx().strokeStyle = this.service.penColor();\r\n this.ctx().lineCap = this.service.lineCap();\r\n this.ctx().lineWidth = this.service.lineWidth();\r\n\r\n this.ctx().beginPath();\r\n this.ctx().moveTo(e.offsetX, e.offsetY);\r\n this.ctx().lineTo(e.offsetX, e.offsetY);\r\n this.ctx().stroke();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected mouseMoveHandler(e: MouseEvent) {\r\n if (!this.isMouseDown()) return;\r\n if (this.service.cropState().state) {\r\n this.ctx().globalCompositeOperation = 'screen';\r\n this.cropEndX.set(e.offsetX);\r\n this.cropEndY.set(e.offsetY);\r\n this.drawSelection();\r\n } else {\r\n this.ctx().lineTo(e.offsetX, e.offsetY);\r\n this.ctx().stroke();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected mouseUpHandler() {\r\n this.isMouseDown.set(false);\r\n if (this.service.cropState().state && this.cropEndX()) {\r\n this.ctx().globalCompositeOperation = 'source-over';\r\n this.cropImageFunction();\r\n } else {\r\n this.ctx().closePath();\r\n this.saveImageChange();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected touchStartHandler(e: TouchEvent) {\r\n const offsetX = e.touches[0].clientX - this.getBoundingCanvasHandler().left;\r\n const offsetY = e.touches[0].clientY - this.getBoundingCanvasHandler().top;\r\n\r\n this.isMouseDown.set(true);\r\n\r\n if (this.service.cropState().state) {\r\n this.cropStartX.set(offsetX);\r\n this.cropStartY.set(offsetY);\r\n this.cropEndX.set(0);\r\n } else {\r\n this.penConfigHandler(this.service.penType());\r\n this.ctx().strokeStyle = this.service.penColor();\r\n this.ctx().lineCap = this.service.lineCap();\r\n this.ctx().lineWidth = this.service.lineWidth();\r\n\r\n this.ctx().beginPath();\r\n this.ctx().moveTo(offsetX, offsetY);\r\n this.ctx().lineTo(offsetX, offsetY);\r\n this.ctx().stroke();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected touchMoveHandler(e: TouchEvent) {\r\n e.preventDefault(); // prevent page from scroll\r\n if (!this.isMouseDown()) return;\r\n const offsetX = e.touches[0].clientX - this.getBoundingCanvasHandler().left;\r\n const offsetY = e.touches[0].clientY - this.getBoundingCanvasHandler().top;\r\n\r\n if (this.service.cropState().state) {\r\n this.ctx().globalCompositeOperation = 'screen';\r\n this.cropEndX.set(offsetX);\r\n this.cropEndY.set(offsetY);\r\n this.drawSelection();\r\n } else {\r\n this.ctx().lineTo(offsetX, offsetY);\r\n this.ctx().stroke();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected touchEndHandler() {\r\n this.isMouseDown.set(false);\r\n if (this.service.cropState().state && this.cropEndX()) {\r\n this.ctx().globalCompositeOperation = 'source-over';\r\n this.cropImageFunction();\r\n } else {\r\n this.ctx().closePath();\r\n this.saveImageChange();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected drawSelection() {\r\n this.ngZone.runOutsideAngular(() => {\r\n const cropWidth = this.cropEndX() - this.cropStartX();\r\n const cropHeight = this.cropEndY() - this.cropStartY();\r\n\r\n this.ctx().clearRect(\r\n 0,\r\n 0,\r\n this.canvasElem().nativeElement.width,\r\n this.canvasElem().nativeElement.height,\r\n );\r\n this.ctx().drawImage(this.service.newImage(), 0, 0);\r\n this.ctx().strokeStyle = 'white';\r\n this.ctx().setLineDash([4, 10]);\r\n this.ctx().lineWidth = 2;\r\n this.ctx().strokeRect(this.cropStartX(), this.cropStartY(), cropWidth, cropHeight);\r\n });\r\n }\r\n\r\n /** @ignore */\r\n protected cropImageFunction() {\r\n this.ctx().clearRect(0, 0, this.canvasElem().nativeElement.width, this.canvasElem().nativeElement.height);\r\n this.ctx().drawImage(this.service.newImage(), 0, 0);\r\n\r\n let imageData: ImageData;\r\n if (this.cropStartX() < this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n imageData = this.ctx().getImageData(\r\n this.cropStartX(),\r\n this.cropEndY(),\r\n this.cropEndX() - this.cropStartX(),\r\n this.cropStartY() - this.cropEndY(),\r\n );\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n imageData = this.ctx().getImageData(\r\n this.cropEndX(),\r\n this.cropEndY(),\r\n this.cropStartX() - this.cropEndX(),\r\n this.cropStartY() - this.cropEndY(),\r\n );\r\n } else if (this.cropStartX() < this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n imageData = this.ctx().getImageData(\r\n this.cropStartX(),\r\n this.cropStartY(),\r\n this.cropEndX() - this.cropStartX(),\r\n this.cropEndY() - this.cropStartY(),\r\n );\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n imageData = this.ctx().getImageData(\r\n this.cropEndX(),\r\n this.cropStartY(),\r\n this.cropStartX() - this.cropEndX(),\r\n this.cropEndY() - this.cropStartY(),\r\n );\r\n }\r\n\r\n const data: Uint8ClampedArray = imageData.data;\r\n\r\n const brightnessFactor = 2.4; // Increase brightness by 20%\r\n for (let i = 0; i < data.length; i += 4) {\r\n data[i] = data[i] * brightnessFactor; // Red\r\n data[i + 1] = data[i + 1] * brightnessFactor; // Green\r\n data[i + 2] = data[i + 2] * brightnessFactor; // Blue\r\n }\r\n\r\n if (this.cropStartX() < this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n this.ctx().putImageData(imageData, this.cropStartX(), this.cropEndY());\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n this.ctx().putImageData(imageData, this.cropEndX(), this.cropEndY());\r\n } else if (this.cropStartX() < this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n this.ctx().putImageData(imageData, this.cropStartX(), this.cropStartY());\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n this.ctx().putImageData(imageData, this.cropEndX(), this.cropStartY());\r\n }\r\n\r\n this.cropImageData.set(imageData);\r\n }\r\n\r\n /** @ignore */\r\n protected cropButtonHandler() {\r\n let cropWidth: number;\r\n let cropHeight: number;\r\n\r\n this.service.rotate.update((prev) => {\r\n return { userInteract: false, state: prev.state };\r\n });\r\n\r\n if (this.cropStartX() < this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n cropWidth = this.cropEndX() - this.cropStartX();\r\n cropHeight = this.cropStartY() - this.cropEndY();\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n cropWidth = this.cropStartX() - this.cropEndX();\r\n cropHeight = this.cropStartY() - this.cropEndY();\r\n } else if (this.cropStartX() < this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n cropWidth = this.cropEndX() - this.cropStartX();\r\n cropHeight = this.cropEndY() - this.cropStartY();\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n cropWidth = this.cropStartX() - this.cropEndX();\r\n cropHeight = this.cropEndY() - this.cropStartY();\r\n }\r\n\r\n this.canvasElem().nativeElement.width = cropWidth;\r\n this.canvasElem().nativeElement.height = cropHeight;\r\n\r\n this.ctx().putImageData(this.cropImageData(), 0, 0);\r\n this.saveImageChange();\r\n this.cropImageData.set(null);\r\n this.service.cropState.set({ userInteract: false, state: false });\r\n }\r\n\r\n /** @ignore */\r\n protected rotateImage() {\r\n this.ctx().save();\r\n this.ctx().clearRect(0, 0, this.canvasElem().nativeElement.width, this.canvasElem().nativeElement.height);\r\n this.ctx().translate(this.service.newImage().width / 2, this.service.newImage().height / 2);\r\n this.ctx().rotate((this.service.rotate().state * Math.PI) / 180);\r\n this.ctx().drawImage(\r\n this.service.newImage(),\r\n -this.service.newImage().width / 2,\r\n -this.service.newImage().height / 2,\r\n this.service.newImage().width,\r\n this.service.newImage().height,\r\n );\r\n this.ctx().restore();\r\n\r\n this.saveImageChange();\r\n this.service.rotate.update((prev) => {\r\n return { state: prev.state, userInteract: false };\r\n });\r\n }\r\n\r\n /** @ignore */\r\n protected saveImageChange() {\r\n const newImage = new Image();\r\n newImage.crossOrigin = 'anonymous';\r\n newImage.src = this.canvasElem().nativeElement.toDataURL('image/jpeg', 1);\r\n this.service.newImage.set(newImage);\r\n\r\n const tempBlob = [];\r\n this.canvasElem().nativeElement.toBlob(\r\n (blob) => {\r\n tempBlob.push(blob);\r\n },\r\n 'image/jpeg',\r\n 1,\r\n );\r\n this.canvasElem().nativeElement.toBlob(\r\n (blob) => {\r\n tempBlob.push(blob);\r\n },\r\n 'image/png',\r\n 1,\r\n );\r\n this.canvasElem().nativeElement.toBlob(\r\n (blob) => {\r\n tempBlob.push(blob);\r\n },\r\n 'image/webp',\r\n 1,\r\n );\r\n this.service.imageBlob.set(tempBlob);\r\n }\r\n\r\n /** @ignore */\r\n @HostBinding('style')\r\n private get __hostStyle(): string {\r\n return `width: ${this.service.initialImage()?.width}px; height: ${this.service.initialImage()?.height}px`;\r\n }\r\n}\r\n","<canvas\n tabindex=\"1\"\n (mousedown)=\"mouseDownHandler($event)\"\n (mouseup)=\"mouseUpHandler()\"\n (mousemove)=\"mouseMoveHandler($event)\"\n (touchstart)=\"touchStartHandler($event)\"\n (touchend)=\"touchEndHandler()\"\n (touchmove)=\"touchMoveHandler($event)\"\n class=\"ax-canvas-element\"\n #canvasElem\n></canvas>\n<ax-button\n (click)=\"cropButtonHandler()\"\n [style]=\"{ display: service.cropState().state ? 'block' : 'none' }\"\n class=\"ax-crop-save ax-sm\"\n text=\"Crop\"\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 { AXImageEditorColorPickerComponent } from './image-editor-tools/image-editor-color-picker/image-editor-color-picker.component';\nimport { AXImageEditorCropComponent } from './image-editor-tools/image-editor-crop/image-editor-crop.component';\nimport { AXImageEditorPenModeChangerComponent } from './image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component';\nimport { AXImageEditorViewComponent } from './image-editor-view/image-editor-view.component';\n\nconst COMPONENT = [\n AXImageEditorColorPickerComponent,\n AXImageEditorPenModeChangerComponent,\n AXImageEditorViewComponent,\n AXImageEditorContainerComponent,\n AXImageEditorCropComponent,\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 declarations: [...COMPONENT],\n imports: [...MODULES],\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","i2","i3","i5","i6"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-image-editor.mjs","sources":["../../../../libs/components/image-editor/src/lib/image-editor.service.ts","../../../../libs/components/image-editor/src/lib/image-editor-container/image-editor-container.component.ts","../../../../libs/components/image-editor/src/lib/image-editor-container/image-editor-container.component.html","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-color-picker/image-editor-color-picker.component.ts","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-color-picker/image-editor-color-picker.component.html","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.ts","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.html","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component.ts","../../../../libs/components/image-editor/src/lib/image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component.html","../../../../libs/components/image-editor/src/lib/image-editor-view/image-editor-view.component.ts","../../../../libs/components/image-editor/src/lib/image-editor-view/image-editor-view.component.html","../../../../libs/components/image-editor/src/lib/image-editor.module.ts","../../../../libs/components/image-editor/src/acorex-components-image-editor.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class AXImageEditorService {\n penColor = signal<string | CanvasGradient | CanvasPattern>('');\n lineCap = signal<CanvasLineCap>('round');\n lineWidth = signal<number>(10);\n penType = signal<'pen' | 'highlight'>('pen');\n toggleClear = signal({ state: false, userInteract: false });\n cropState = signal({ state: false, userInteract: false });\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}\n","import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXStyleColorType,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingSpinnerComponent } from '@acorex/components/loading';\nimport { Component, ElementRef, forwardRef, inject, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\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'],\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: [AXLoadingSpinnerComponent],\n})\nexport class AXImageEditorContainerComponent extends classes(MXInputBaseValueComponent<Blob[]>, MXLookComponent) {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n imageEditorContainer = viewChild<ElementRef>('f');\n\n /** @ignore */\n protected dialogService: AXDialogService = inject(AXDialogService);\n\n /** @ignore */\n protected options = signal({\n color: 'primary',\n title: 'Attention',\n vertical: false,\n content: 'Do you want to save changes?',\n orientation: 'vertical' as any,\n draggable: true,\n });\n\n save() {\n if (this.service.initialImage() !== this.service.newImage()) {\n this.dialogService\n .confirm(this.options().title, this.options().content, this.options().color as AXStyleColorType, this.options().orientation, this.options().draggable)\n .then((data) => {\n if (data.result) {\n this.service.initialImage.set(this.service.newImage());\n this.commitValue(this.service.imageBlob(), true);\n }\n })\n .catch(() => this.commitValue(null));\n } else {\n this.commitValue(null);\n }\n }\n}\n","@if (service.isImageLoad()) {\n <div #f class=\"ax-editor-container ax-{{ look }}\">\n <ng-content> </ng-content>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\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","import { AXColorBoxComponent } from '@acorex/components/color-box';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { Component, HostBinding, ViewEncapsulation, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXImageEditorService } from '../../image-editor.service';\n\n/**\n * paint color picker.\n * @category Components\n */\n@Component({\n selector: 'ax-image-editor-color-picker',\n templateUrl: './image-editor-color-picker.component.html',\n styles: `\n ax-image-editor-color-picker {\n margin-inline: 0 !important;\n\n .ax-submit-color {\n border: 1px solid rgba(var(--ax-sys-body-text-color));\n width: 0.6rem;\n height: 0.6rem;\n border-radius: 1000vmax;\n }\n .ax-color-flex-container {\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n }\n `,\n encapsulation: ViewEncapsulation.None,\n imports: [AXColorBoxComponent, AXTooltipDirective, FormsModule],\n})\nexport class AXImageEditorColorPickerComponent {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected selectedColor = signal('rgb(12, 12, 12)');\n\n /** @ignore */\n protected changeColorHandler(e: string) {\n this.service.penColor.set(e);\n this.selectedColor.set(e);\n }\n\n @HostBinding('style.marginInline')\n get __hostClass(): string {\n return `.5rem`;\n }\n}\n","<ax-color-box axTooltip=\"Color Picker\" axTooltipPlacement=\"top\" look=\"none\" [ngModel]=\"selectedColor()\" (ngModelChange)=\"changeColorHandler($event)\">\n</ax-color-box>\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorIconComponent } 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-crop',\n templateUrl: './image-editor-crop.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXTooltipDirective, AXDecoratorIconComponent],\n})\nexport class AXImageEditorCropComponent {\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 /** @ignore */\n protected crop() {\n this.service.cropState.update((prev) => {\n return { userInteract: true, state: !prev.state };\n });\n }\n}\n","<ax-button\n axTooltip=\"Crop Image\"\n axTooltipPlacement=\"top\"\n [selected]=\"service.cropState().state && true\"\n (click)=\"crop()\"\n look=\"blank\"\n>\n <ax-icon class=\"ax-icon ax-icon-crop\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Rotate Left\" axTooltipPlacement=\"top\" (click)=\"rotateLeftHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></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-redo\"></ax-icon>\n</ax-button>\n","import { AXButtonComponent } from '@acorex/components/button';\nimport { AXPlacement } from '@acorex/components/common';\nimport { AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXPopoverCloseTrigger, AXPopoverComponent, AXPopoverOpenTrigger } from '@acorex/components/popover';\nimport { AXRangeSliderComponent } from '@acorex/components/range-slider';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { Component, HostBinding, 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-mode-changer',\n templateUrl: './image-editor-pen-mode-changer.component.html',\n styleUrl: './image-editor-pen-mode-changer.component.scss',\n encapsulation: ViewEncapsulation.None,\n imports: [AXButtonComponent, AXTooltipDirective, AXDecoratorIconComponent, AXPopoverComponent, AXRangeSliderComponent, FormsModule],\n})\nexport class AXImageEditorPenModeChangerComponent {\n /** @ignore */\n protected service = inject(AXImageEditorService);\n\n /** @ignore */\n protected value = 10;\n\n /** @ignore */\n protected popoverOption: {\n openOn: AXPopoverOpenTrigger;\n closeOn: AXPopoverCloseTrigger;\n placement: AXPlacement;\n offsetX: number;\n offsetY: number;\n } = {\n openOn: 'click',\n closeOn: 'clickOut',\n placement: 'top',\n offsetX: 0,\n offsetY: 0,\n };\n\n /** @ignore */\n protected selectedPenType = signal<'pen' | 'highlight'>('pen');\n\n /** @ignore */\n protected penTypeHandler(e: 'pen' | 'highlight') {\n this.service.penType.set(e);\n }\n\n /** @ignore */\n protected clear() {\n this.service.toggleClear.set({ userInteract: true, state: true });\n }\n\n /** @ignore */\n @HostBinding('style.marginInline')\n get __hostClass(): string {\n return `.5rem`;\n }\n\n /** @ignore */\n protected valueHandler(e: number) {\n this.service.lineWidth.set(e);\n }\n}\n","<ax-button axTooltip=\"Draw Utilities\" axTooltipPlacement=\"top\" look=\"blank\" #alignPop>\n @switch (service.penType()) {\n @case ('pen') {\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n }\n @case ('highlight') {\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n }\n }\n</ax-button>\n\n<ax-button axTooltip=\"Reset Changes\" axTooltipPlacement=\"top\" (click)=\"clear()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-refresh\"></ax-icon>\n</ax-button>\n\n<ax-popover\n [openOn]=\"popoverOption.openOn\"\n [closeOn]=\"popoverOption.closeOn\"\n [target]=\"alignPop\"\n [placement]=\"popoverOption.placement\"\n>\n <div class=\"ax-overlay-pane\">\n <ax-button\n (click)=\"penTypeHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'pen' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n </ax-button>\n\n <ax-button\n (click)=\"penTypeHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.penType() === 'highlight' ? true : false\"\n >\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n </ax-button>\n\n <div class=\"ax-paint-width-slider\">\n <ax-range-slider\n [min]=\"2\"\n [max]=\"20\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"valueHandler($event)\"\n ></ax-range-slider>\n </div>\n </div>\n</ax-popover>\n","import { AXButtonComponent } from '@acorex/components/button';\r\nimport { MXBaseComponent } from '@acorex/components/common';\r\nimport {\r\n afterNextRender,\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n ElementRef,\r\n HostBinding,\r\n inject,\r\n input,\r\n NgZone,\r\n OnDestroy,\r\n Renderer2,\r\n signal,\r\n viewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { AXImageEditorContainerComponent } from '../image-editor-container/image-editor-container.component';\r\nimport { AXImageEditorService } from '../image-editor.service';\r\n\r\n@Component({\r\n selector: 'ax-image-editor-view',\r\n templateUrl: './image-editor-view.component.html',\r\n styleUrls: ['./image-editor-view.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [AXButtonComponent],\r\n})\r\nexport class AXImageEditorViewComponent extends MXBaseComponent implements OnDestroy {\r\n /**\r\n * its receive image src.\r\n */\r\n src = input<string>('');\r\n /** @ignore */\r\n protected canvasElem = viewChild<ElementRef<HTMLCanvasElement>>('canvasElem');\r\n /** @ignore */\r\n protected ctx = signal<CanvasRenderingContext2D>(null);\r\n /** @ignore */\r\n protected service = inject(AXImageEditorService);\r\n /** @ignore */\r\n protected cropImageData = signal<ImageData>(null);\r\n /** @ignore */\r\n protected isMouseDown = signal(false);\r\n /** @ignore */\r\n protected cropStartX = signal(0);\r\n /** @ignore */\r\n protected cropStartY = signal(0);\r\n /** @ignore */\r\n protected cropEndX = signal(0);\r\n /** @ignore */\r\n protected cropEndY = signal(0);\r\n /** @ignore */\r\n protected parent = inject(AXImageEditorContainerComponent);\r\n protected renderer = inject(Renderer2);\r\n /** @ignore */\r\n protected imageAspect = computed(() => {\r\n return this.service.initialImage().width / this.service.initialImage().height;\r\n });\r\n\r\n private ngZone = inject(NgZone);\r\n\r\n /** @ignore */\r\n resizeEventListener;\r\n /** @ignore */\r\n imageLoadEventListener;\r\n\r\n /** @ignore */\r\n protected resizeWindow() {\r\n this.canvasResponsive(this.service.newImage());\r\n }\r\n\r\n /** @ignore */\r\n protected canvasResponsive(image: HTMLImageElement) {\r\n if (!this.parent.imageEditorContainer()) return;\r\n\r\n const parentWidth = (this.parent.imageEditorContainer().nativeElement as HTMLDivElement).clientWidth;\r\n const imageWidth = this.service.initialImage().width;\r\n\r\n if (parentWidth < imageWidth) {\r\n this.getHostElement().style.width = `${parentWidth}px`;\r\n this.getHostElement().style.height = `${parentWidth * this.imageAspect()}px`;\r\n this.canvasElem().nativeElement.width = parentWidth;\r\n this.canvasElem().nativeElement.height = parentWidth * this.imageAspect();\r\n this.ctx().drawImage(image, 0, 0, parentWidth, parentWidth * this.imageAspect());\r\n } else {\r\n this.getHostElement().style.width = `${imageWidth}px`;\r\n this.getHostElement().style.height = `${imageWidth / this.imageAspect()}px`;\r\n this.canvasElem().nativeElement.width = imageWidth;\r\n this.canvasElem().nativeElement.height = imageWidth / this.imageAspect();\r\n this.ctx().drawImage(image, 0, 0, imageWidth, imageWidth / this.imageAspect());\r\n }\r\n }\r\n\r\n /** @ignore */\r\n constructor() {\r\n super();\r\n afterNextRender(() => {\r\n this.resizeEventListener = this.renderer.listen(window, 'resize', this.resizeWindow.bind(this));\r\n //load image\r\n this.service.initialImage.set(new Image());\r\n this.service.initialImage().src = this.src();\r\n this.service.initialImage().crossOrigin = 'anonymous';\r\n this.imageLoadEventListener = this.renderer.listen(this.service.initialImage(), 'load', this.imageLoaded.bind(this));\r\n //set canvas options\r\n this.ctx.set(this.canvasElem().nativeElement.getContext('2d', { willReadFrequently: true }));\r\n this.ctx().lineJoin = 'round';\r\n this.ctx().lineCap = this.service.lineCap();\r\n this.ctx().strokeStyle = this.service.penColor();\r\n this.ctx().lineWidth = this.service.lineWidth();\r\n this.ctx().globalCompositeOperation = 'source-over';\r\n this.ctx().globalAlpha = 1;\r\n });\r\n\r\n effect(() => {\r\n if (this.parent.imageEditorContainer() && this.service.isImageLoad()) {\r\n this.canvasResponsive(this.service.initialImage());\r\n }\r\n });\r\n\r\n effect(() => {\r\n if (!this.service.toggleClear().userInteract) return;\r\n if (this.service.toggleClear().state) {\r\n this.imageLoaded();\r\n }\r\n });\r\n\r\n effect(() => {\r\n if (!this.service.cropState().userInteract || !this.ctx()) return;\r\n if (this.service.cropState().state) {\r\n this.ctx().filter = 'brightness(40%)';\r\n } else {\r\n this.ctx().filter = 'brightness(100%)';\r\n }\r\n this.ctx().drawImage(this.service.newImage(), 0, 0, this.service.newImage().width, this.service.newImage().height);\r\n });\r\n\r\n effect(() => {\r\n if (!this.service.rotate().userInteract || !this.ctx()) return;\r\n this.rotateImage();\r\n });\r\n }\r\n\r\n /** @ignore */\r\n ngOnDestroy(): void {\r\n if (this.resizeEventListener) {\r\n this.resizeEventListener();\r\n }\r\n\r\n if (this.imageLoadEventListener) {\r\n this.imageLoadEventListener();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected imageLoaded() {\r\n this.service.newImage.set(this.service.initialImage());\r\n this.service.toggleClear.set({ userInteract: false, state: false });\r\n this.service.isImageLoad.set(true);\r\n this.canvasResponsive(this.service.initialImage());\r\n }\r\n\r\n /** @ignore */\r\n protected penConfigHandler(penType: 'pen' | 'highlight') {\r\n switch (penType) {\r\n case 'pen':\r\n this.ctx().globalAlpha = 1;\r\n break;\r\n case 'highlight':\r\n this.ctx().globalAlpha = 0.008;\r\n break;\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected getBoundingCanvasHandler() {\r\n return this.canvasElem().nativeElement.getBoundingClientRect();\r\n }\r\n\r\n /** @ignore */\r\n protected mouseDownHandler(e: MouseEvent) {\r\n this.isMouseDown.set(true);\r\n\r\n if (this.service.cropState().state) {\r\n this.cropStartX.set(e.offsetX);\r\n this.cropStartY.set(e.offsetY);\r\n this.cropEndX.set(0);\r\n } else {\r\n this.penConfigHandler(this.service.penType());\r\n this.ctx().strokeStyle = this.service.penColor();\r\n this.ctx().lineCap = this.service.lineCap();\r\n this.ctx().lineWidth = this.service.lineWidth();\r\n\r\n this.ctx().beginPath();\r\n this.ctx().moveTo(e.offsetX, e.offsetY);\r\n this.ctx().lineTo(e.offsetX, e.offsetY);\r\n this.ctx().stroke();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected mouseMoveHandler(e: MouseEvent) {\r\n if (!this.isMouseDown()) return;\r\n if (this.service.cropState().state) {\r\n this.ctx().globalCompositeOperation = 'screen';\r\n this.cropEndX.set(e.offsetX);\r\n this.cropEndY.set(e.offsetY);\r\n this.drawSelection();\r\n } else {\r\n this.ctx().lineTo(e.offsetX, e.offsetY);\r\n this.ctx().stroke();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected mouseUpHandler() {\r\n this.isMouseDown.set(false);\r\n if (this.service.cropState().state && this.cropEndX()) {\r\n this.ctx().globalCompositeOperation = 'source-over';\r\n this.cropImageFunction();\r\n } else {\r\n this.ctx().closePath();\r\n this.saveImageChange();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected touchStartHandler(e: TouchEvent) {\r\n const offsetX = e.touches[0].clientX - this.getBoundingCanvasHandler().left;\r\n const offsetY = e.touches[0].clientY - this.getBoundingCanvasHandler().top;\r\n\r\n this.isMouseDown.set(true);\r\n\r\n if (this.service.cropState().state) {\r\n this.cropStartX.set(offsetX);\r\n this.cropStartY.set(offsetY);\r\n this.cropEndX.set(0);\r\n } else {\r\n this.penConfigHandler(this.service.penType());\r\n this.ctx().strokeStyle = this.service.penColor();\r\n this.ctx().lineCap = this.service.lineCap();\r\n this.ctx().lineWidth = this.service.lineWidth();\r\n\r\n this.ctx().beginPath();\r\n this.ctx().moveTo(offsetX, offsetY);\r\n this.ctx().lineTo(offsetX, offsetY);\r\n this.ctx().stroke();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected touchMoveHandler(e: TouchEvent) {\r\n e.preventDefault(); // prevent page from scroll\r\n if (!this.isMouseDown()) return;\r\n const offsetX = e.touches[0].clientX - this.getBoundingCanvasHandler().left;\r\n const offsetY = e.touches[0].clientY - this.getBoundingCanvasHandler().top;\r\n\r\n if (this.service.cropState().state) {\r\n this.ctx().globalCompositeOperation = 'screen';\r\n this.cropEndX.set(offsetX);\r\n this.cropEndY.set(offsetY);\r\n this.drawSelection();\r\n } else {\r\n this.ctx().lineTo(offsetX, offsetY);\r\n this.ctx().stroke();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected touchEndHandler() {\r\n this.isMouseDown.set(false);\r\n if (this.service.cropState().state && this.cropEndX()) {\r\n this.ctx().globalCompositeOperation = 'source-over';\r\n this.cropImageFunction();\r\n } else {\r\n this.ctx().closePath();\r\n this.saveImageChange();\r\n }\r\n }\r\n\r\n /** @ignore */\r\n protected drawSelection() {\r\n this.ngZone.runOutsideAngular(() => {\r\n const cropWidth = this.cropEndX() - this.cropStartX();\r\n const cropHeight = this.cropEndY() - this.cropStartY();\r\n\r\n this.ctx().clearRect(0, 0, this.canvasElem().nativeElement.width, this.canvasElem().nativeElement.height);\r\n this.ctx().drawImage(this.service.newImage(), 0, 0);\r\n this.ctx().strokeStyle = 'white';\r\n this.ctx().setLineDash([4, 10]);\r\n this.ctx().lineWidth = 2;\r\n this.ctx().strokeRect(this.cropStartX(), this.cropStartY(), cropWidth, cropHeight);\r\n });\r\n }\r\n\r\n /** @ignore */\r\n protected cropImageFunction() {\r\n this.ctx().clearRect(0, 0, this.canvasElem().nativeElement.width, this.canvasElem().nativeElement.height);\r\n this.ctx().drawImage(this.service.newImage(), 0, 0);\r\n\r\n let imageData: ImageData;\r\n if (this.cropStartX() < this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n imageData = this.ctx().getImageData(this.cropStartX(), this.cropEndY(), this.cropEndX() - this.cropStartX(), this.cropStartY() - this.cropEndY());\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n imageData = this.ctx().getImageData(this.cropEndX(), this.cropEndY(), this.cropStartX() - this.cropEndX(), this.cropStartY() - this.cropEndY());\r\n } else if (this.cropStartX() < this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n imageData = this.ctx().getImageData(this.cropStartX(), this.cropStartY(), this.cropEndX() - this.cropStartX(), this.cropEndY() - this.cropStartY());\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n imageData = this.ctx().getImageData(this.cropEndX(), this.cropStartY(), this.cropStartX() - this.cropEndX(), this.cropEndY() - this.cropStartY());\r\n }\r\n\r\n const data: Uint8ClampedArray = imageData.data;\r\n\r\n const brightnessFactor = 2.4; // Increase brightness by 20%\r\n for (let i = 0; i < data.length; i += 4) {\r\n data[i] = data[i] * brightnessFactor; // Red\r\n data[i + 1] = data[i + 1] * brightnessFactor; // Green\r\n data[i + 2] = data[i + 2] * brightnessFactor; // Blue\r\n }\r\n\r\n if (this.cropStartX() < this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n this.ctx().putImageData(imageData, this.cropStartX(), this.cropEndY());\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n this.ctx().putImageData(imageData, this.cropEndX(), this.cropEndY());\r\n } else if (this.cropStartX() < this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n this.ctx().putImageData(imageData, this.cropStartX(), this.cropStartY());\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n this.ctx().putImageData(imageData, this.cropEndX(), this.cropStartY());\r\n }\r\n\r\n this.cropImageData.set(imageData);\r\n }\r\n\r\n /** @ignore */\r\n protected cropButtonHandler() {\r\n let cropWidth: number;\r\n let cropHeight: number;\r\n\r\n this.service.rotate.update((prev) => {\r\n return { userInteract: false, state: prev.state };\r\n });\r\n\r\n if (this.cropStartX() < this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n cropWidth = this.cropEndX() - this.cropStartX();\r\n cropHeight = this.cropStartY() - this.cropEndY();\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() > this.cropEndY()) {\r\n cropWidth = this.cropStartX() - this.cropEndX();\r\n cropHeight = this.cropStartY() - this.cropEndY();\r\n } else if (this.cropStartX() < this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n cropWidth = this.cropEndX() - this.cropStartX();\r\n cropHeight = this.cropEndY() - this.cropStartY();\r\n } else if (this.cropStartX() > this.cropEndX() && this.cropStartY() < this.cropEndY()) {\r\n cropWidth = this.cropStartX() - this.cropEndX();\r\n cropHeight = this.cropEndY() - this.cropStartY();\r\n }\r\n\r\n this.canvasElem().nativeElement.width = cropWidth;\r\n this.canvasElem().nativeElement.height = cropHeight;\r\n\r\n this.ctx().putImageData(this.cropImageData(), 0, 0);\r\n this.saveImageChange();\r\n this.cropImageData.set(null);\r\n this.service.cropState.set({ userInteract: false, state: false });\r\n }\r\n\r\n /** @ignore */\r\n protected rotateImage() {\r\n this.ctx().save();\r\n this.ctx().clearRect(0, 0, this.canvasElem().nativeElement.width, this.canvasElem().nativeElement.height);\r\n this.ctx().translate(this.service.newImage().width / 2, this.service.newImage().height / 2);\r\n this.ctx().rotate((this.service.rotate().state * Math.PI) / 180);\r\n this.ctx().drawImage(\r\n this.service.newImage(),\r\n -this.service.newImage().width / 2,\r\n -this.service.newImage().height / 2,\r\n this.service.newImage().width,\r\n this.service.newImage().height,\r\n );\r\n this.ctx().restore();\r\n\r\n this.saveImageChange();\r\n this.service.rotate.update((prev) => {\r\n return { state: prev.state, userInteract: false };\r\n });\r\n }\r\n\r\n /** @ignore */\r\n protected saveImageChange() {\r\n const newImage = new Image();\r\n newImage.crossOrigin = 'anonymous';\r\n newImage.src = this.canvasElem().nativeElement.toDataURL('image/jpeg', 1);\r\n this.service.newImage.set(newImage);\r\n\r\n const tempBlob = [];\r\n this.canvasElem().nativeElement.toBlob(\r\n (blob) => {\r\n tempBlob.push(blob);\r\n },\r\n 'image/jpeg',\r\n 1,\r\n );\r\n this.canvasElem().nativeElement.toBlob(\r\n (blob) => {\r\n tempBlob.push(blob);\r\n },\r\n 'image/png',\r\n 1,\r\n );\r\n this.canvasElem().nativeElement.toBlob(\r\n (blob) => {\r\n tempBlob.push(blob);\r\n },\r\n 'image/webp',\r\n 1,\r\n );\r\n this.service.imageBlob.set(tempBlob);\r\n }\r\n\r\n /** @ignore */\r\n @HostBinding('style')\r\n private get __hostStyle(): string {\r\n return `width: ${this.service.initialImage()?.width}px; height: ${this.service.initialImage()?.height}px`;\r\n }\r\n}\r\n","<canvas\n tabindex=\"1\"\n (mousedown)=\"mouseDownHandler($event)\"\n (mouseup)=\"mouseUpHandler()\"\n (mousemove)=\"mouseMoveHandler($event)\"\n (touchstart)=\"touchStartHandler($event)\"\n (touchend)=\"touchEndHandler()\"\n (touchmove)=\"touchMoveHandler($event)\"\n class=\"ax-canvas-element\"\n #canvasElem\n></canvas>\n<ax-button\n (click)=\"cropButtonHandler()\"\n [style]=\"{ display: service.cropState().state ? 'block' : 'none' }\"\n class=\"ax-crop-save ax-sm\"\n text=\"Crop\"\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 { AXImageEditorColorPickerComponent } from './image-editor-tools/image-editor-color-picker/image-editor-color-picker.component';\nimport { AXImageEditorCropComponent } from './image-editor-tools/image-editor-crop/image-editor-crop.component';\nimport { AXImageEditorPenModeChangerComponent } from './image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component';\nimport { AXImageEditorViewComponent } from './image-editor-view/image-editor-view.component';\n\nconst COMPONENT = [\n AXImageEditorColorPickerComponent,\n AXImageEditorPenModeChangerComponent,\n AXImageEditorViewComponent,\n AXImageEditorContainerComponent,\n AXImageEditorCropComponent,\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":[],"mappings":"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"}