@acorex/components 19.10.9 → 19.10.11

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 (498) hide show
  1. package/action-sheet/lib/action-sheet.component.d.ts +1 -1
  2. package/action-sheet/lib/action-sheet.module.d.ts +11 -11
  3. package/alert/lib/alert.component.d.ts +1 -1
  4. package/alert/lib/alert.module.d.ts +4 -4
  5. package/audio-wave/lib/audio-wave.component.d.ts +1 -1
  6. package/audio-wave/lib/audio-wave.module.d.ts +7 -7
  7. package/autocomplete/README.md +3 -0
  8. package/autocomplete/index.d.ts +2 -0
  9. package/autocomplete/lib/autocomplete.component.d.ts +113 -0
  10. package/autocomplete/lib/autocomplete.module.d.ts +7 -0
  11. package/avatar/lib/avatar-group.component.d.ts +1 -1
  12. package/avatar/lib/avatar.component.d.ts +1 -1
  13. package/avatar/lib/avatar.module.d.ts +4 -4
  14. package/badge/lib/badge.component.d.ts +1 -1
  15. package/badge/lib/badge.module.d.ts +3 -3
  16. package/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.d.ts +1 -1
  17. package/bottom-navigation/lib/bottom-navigation.component.d.ts +1 -1
  18. package/bottom-navigation/lib/bottom-navigation.module.d.ts +4 -4
  19. package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +1 -1
  20. package/breadcrumbs/lib/breadcrumbs.component.d.ts +1 -1
  21. package/breadcrumbs/lib/breadcrumbs.module.d.ts +5 -5
  22. package/button/lib/button-item-list.component.d.ts +1 -1
  23. package/button/lib/button-item.component.d.ts +1 -1
  24. package/button/lib/button.component.d.ts +1 -1
  25. package/button/lib/button.module.d.ts +8 -8
  26. package/button-group/lib/button-group-item.component.d.ts +1 -1
  27. package/button-group/lib/button-group.component.d.ts +1 -1
  28. package/button-group/lib/button-group.module.d.ts +6 -6
  29. package/calendar/lib/calendar-range.component.d.ts +1 -1
  30. package/calendar/lib/calendar.component.d.ts +1 -1
  31. package/calendar/lib/calendar.module.d.ts +8 -8
  32. package/check-box/lib/check-box.component.d.ts +1 -1
  33. package/check-box/lib/check-box.module.d.ts +5 -5
  34. package/chips/lib/chips.component.d.ts +1 -1
  35. package/chips/lib/chips.module.d.ts +3 -3
  36. package/circular-progress/lib/circular-progress.component.d.ts +1 -1
  37. package/circular-progress/lib/circular-progress.module.d.ts +1 -1
  38. package/collapse/lib/collapse-group.component.d.ts +1 -1
  39. package/collapse/lib/collapse.component.d.ts +1 -1
  40. package/collapse/lib/collapse.module.d.ts +5 -5
  41. package/color-box/lib/color-box.component.d.ts +1 -1
  42. package/color-box/lib/color-box.module.d.ts +6 -6
  43. package/color-palette/lib/color-palette-input.component.d.ts +1 -1
  44. package/color-palette/lib/color-palette-picker.component.d.ts +1 -1
  45. package/color-palette/lib/color-palette-preview.component.d.ts +3 -3
  46. package/color-palette/lib/color-palette-swatches.component.d.ts +1 -1
  47. package/color-palette/lib/color-palette.component.d.ts +3 -3
  48. package/color-palette/lib/color-palette.module.d.ts +17 -17
  49. package/comment/lib/comment-container/comment-container.component.d.ts +1 -1
  50. package/comment/lib/comment-item/comment-item.component.d.ts +1 -1
  51. package/comment/lib/comment-tools/comment-date/comment-date.component.d.ts +1 -1
  52. package/comment/lib/comment-tools/comment-like/comment-like.component.d.ts +1 -1
  53. package/comment/lib/comment-tools/comment-menu-options/comment-menu-options.component.d.ts +1 -1
  54. package/comment/lib/comment-tools/comment-reply-more/comment-reply-more.component.d.ts +1 -1
  55. package/comment/lib/comment-tools/comment-reply-text/comment-reply-text.component.d.ts +1 -1
  56. package/comment/lib/comment-view/comment-view.component.d.ts +1 -1
  57. package/comment/lib/comment.module.d.ts +16 -16
  58. package/common/lib/classes/components.class.d.ts +14 -1
  59. package/common/lib/classes/datasource.class.d.ts +2 -2
  60. package/common/lib/common.module.d.ts +1 -1
  61. package/common/lib/directives/auto-focus.directive.d.ts +1 -1
  62. package/common/lib/directives/hotkey.directive.d.ts +1 -1
  63. package/common/lib/directives/infinite-scroll.directive.d.ts +1 -1
  64. package/common/lib/directives/responsive.directive.d.ts +1 -1
  65. package/conversation/lib/conversation-container/conversation-container.component.d.ts +1 -1
  66. package/conversation/lib/conversation-input/conversation-input.component.d.ts +1 -1
  67. package/conversation/lib/conversation-message/conversation-message.component.d.ts +1 -1
  68. package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +1 -1
  69. package/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.d.ts +1 -1
  70. package/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.d.ts +1 -1
  71. package/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.d.ts +1 -1
  72. package/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.d.ts +1 -1
  73. package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +1 -1
  74. package/conversation/lib/conversation-view/conversation-view.component.d.ts +1 -1
  75. package/conversation/lib/conversation.module.d.ts +29 -29
  76. package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +1 -1
  77. package/cron-job/lib/cron-job.module.d.ts +20 -20
  78. package/cron-job/lib/day/day.component.d.ts +1 -1
  79. package/cron-job/lib/hours/hours.component.d.ts +1 -1
  80. package/cron-job/lib/minutes/minutes.component.d.ts +1 -1
  81. package/cron-job/lib/month/month.component.d.ts +1 -1
  82. package/cron-job/lib/seconds/seconds.component.d.ts +1 -1
  83. package/cron-job/lib/year/year.component.d.ts +1 -1
  84. package/data-pager/lib/data-pager-info.component.d.ts +1 -1
  85. package/data-pager/lib/data-pager-input-selector.component.d.ts +1 -1
  86. package/data-pager/lib/data-pager-next-buttons.component.d.ts +1 -1
  87. package/data-pager/lib/data-pager-numeric-selector.component.d.ts +1 -1
  88. package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +1 -1
  89. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +1 -1
  90. package/data-pager/lib/data-pager.component.d.ts +1 -1
  91. package/data-pager/lib/data-pager.module.d.ts +17 -17
  92. package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +1 -1
  93. package/data-table/lib/columns/data-text-column.component.d.ts +1 -1
  94. package/data-table/lib/columns/row-command-column.component.d.ts +2 -2
  95. package/data-table/lib/columns/row-expand-column.component.d.ts +1 -1
  96. package/data-table/lib/columns/row-index-column.component.d.ts +10 -10
  97. package/data-table/lib/columns/row-select-column.component.d.ts +9 -8
  98. package/data-table/lib/data-table/data-table.component.d.ts +1 -1
  99. package/data-table/lib/data-table.module.d.ts +22 -22
  100. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +1 -1
  101. package/datetime-box/lib/datetime-box.component.d.ts +1 -1
  102. package/datetime-box/lib/datetime-box.module.d.ts +8 -8
  103. package/datetime-input/lib/datetime-input.component.d.ts +1 -1
  104. package/datetime-input/lib/datetime-input.module.d.ts +5 -5
  105. package/datetime-picker/lib/datetime-picker.component.d.ts +1 -1
  106. package/datetime-picker/lib/datetime-picker.module.d.ts +11 -11
  107. package/decorators/lib/components/clear-button/clear-button.component.d.ts +1 -1
  108. package/decorators/lib/components/close-button/close-button.component.d.ts +1 -1
  109. package/decorators/lib/components/color-indicator/color-indicator.component.d.ts +1 -1
  110. package/decorators/lib/components/full-screen/full-screen-button.component.d.ts +1 -1
  111. package/decorators/lib/components/generic-content.component.d.ts +1 -1
  112. package/decorators/lib/components/heading/heading.component.d.ts +1 -1
  113. package/decorators/lib/components/icon/icon.component.d.ts +1 -1
  114. package/decorators/lib/decorators.module.d.ts +9 -9
  115. package/dialog/lib/dialog.component.d.ts +1 -1
  116. package/dialog/lib/dialog.module.d.ts +11 -11
  117. package/drawer/lib/drawer/drawer-container/drawer-container.component.d.ts +1 -1
  118. package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +1 -1
  119. package/drawer/lib/drawer.module.d.ts +4 -4
  120. package/dropdown/lib/dropdown-box.component.d.ts +2 -1
  121. package/dropdown/lib/dropdown-panel.component.d.ts +3 -1
  122. package/dropdown/lib/dropdown.module.d.ts +9 -9
  123. package/dropdown-button/lib/dropdown-button.component.d.ts +2 -1
  124. package/dropdown-button/lib/dropdown-button.module.d.ts +8 -8
  125. package/fesm2022/acorex-components-action-sheet.mjs +19 -52
  126. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  127. package/fesm2022/acorex-components-alert.mjs +10 -12
  128. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  129. package/fesm2022/acorex-components-audio-wave.mjs +11 -14
  130. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  131. package/fesm2022/acorex-components-autocomplete.mjs +317 -0
  132. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -0
  133. package/fesm2022/acorex-components-avatar.mjs +12 -14
  134. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  135. package/fesm2022/acorex-components-badge.mjs +9 -10
  136. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  137. package/fesm2022/acorex-components-bottom-navigation.mjs +13 -14
  138. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  139. package/fesm2022/acorex-components-breadcrumbs.mjs +14 -16
  140. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  141. package/fesm2022/acorex-components-button-group.mjs +15 -17
  142. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  143. package/fesm2022/acorex-components-button.mjs +27 -50
  144. package/fesm2022/acorex-components-button.mjs.map +1 -1
  145. package/fesm2022/acorex-components-calendar.mjs +26 -42
  146. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  147. package/fesm2022/acorex-components-check-box.mjs +11 -12
  148. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  149. package/fesm2022/acorex-components-chips.mjs +9 -10
  150. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  151. package/fesm2022/acorex-components-circular-progress.mjs +9 -10
  152. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  153. package/fesm2022/acorex-components-collapse.mjs +14 -18
  154. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  155. package/fesm2022/acorex-components-color-box.mjs +23 -40
  156. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  157. package/fesm2022/acorex-components-color-palette.mjs +49 -55
  158. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  159. package/fesm2022/acorex-components-comment.mjs +46 -62
  160. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  161. package/fesm2022/acorex-components-common.mjs +741 -714
  162. package/fesm2022/acorex-components-common.mjs.map +1 -1
  163. package/fesm2022/acorex-components-conversation.mjs +100 -98
  164. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  165. package/fesm2022/acorex-components-cron-job.mjs +311 -247
  166. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  167. package/fesm2022/acorex-components-data-pager.mjs +82 -73
  168. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  169. package/fesm2022/acorex-components-data-table.mjs +170 -170
  170. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  171. package/fesm2022/acorex-components-datetime-box.mjs +11 -15
  172. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  173. package/fesm2022/acorex-components-datetime-input.mjs +17 -33
  174. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  175. package/fesm2022/acorex-components-datetime-picker.mjs +35 -30
  176. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  177. package/fesm2022/acorex-components-decorators.mjs +41 -57
  178. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  179. package/fesm2022/acorex-components-dialog.mjs +31 -29
  180. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  181. package/fesm2022/acorex-components-drawer.mjs +16 -17
  182. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  183. package/fesm2022/acorex-components-dropdown-button.mjs +21 -20
  184. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  185. package/fesm2022/acorex-components-dropdown.mjs +27 -22
  186. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  187. package/fesm2022/acorex-components-file-explorer.mjs +52 -48
  188. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  189. package/fesm2022/acorex-components-form.mjs +55 -49
  190. package/fesm2022/acorex-components-form.mjs.map +1 -1
  191. package/fesm2022/acorex-components-grid-layout-builder.mjs +148 -602
  192. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  193. package/fesm2022/acorex-components-image-editor.mjs +314 -191
  194. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  195. package/fesm2022/acorex-components-image.mjs +10 -15
  196. package/fesm2022/acorex-components-image.mjs.map +1 -1
  197. package/fesm2022/acorex-components-json-viewer.mjs +11 -17
  198. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  199. package/fesm2022/acorex-components-kbd.mjs +13 -14
  200. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  201. package/fesm2022/acorex-components-label.mjs +9 -10
  202. package/fesm2022/acorex-components-label.mjs.map +1 -1
  203. package/fesm2022/acorex-components-list.mjs +22 -17
  204. package/fesm2022/acorex-components-list.mjs.map +1 -1
  205. package/fesm2022/acorex-components-loading-dialog.mjs +45 -44
  206. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  207. package/fesm2022/acorex-components-loading.mjs +21 -30
  208. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  209. package/fesm2022/acorex-components-map.mjs +13731 -45
  210. package/fesm2022/acorex-components-map.mjs.map +1 -1
  211. package/fesm2022/acorex-components-media-viewer.mjs +87 -78
  212. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  213. package/fesm2022/acorex-components-menu.mjs +27 -40
  214. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  215. package/fesm2022/acorex-components-navbar.mjs +9 -10
  216. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  217. package/fesm2022/acorex-components-notification.mjs +18 -25
  218. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  219. package/fesm2022/acorex-components-number-box.mjs +11 -13
  220. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  221. package/fesm2022/acorex-components-otp.mjs +13 -15
  222. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  223. package/fesm2022/acorex-components-page.mjs +10 -10
  224. package/fesm2022/acorex-components-paint.mjs +32 -66
  225. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  226. package/fesm2022/acorex-components-password-box.mjs +21 -51
  227. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  228. package/fesm2022/acorex-components-pdf-reader.mjs +9 -10
  229. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  230. package/fesm2022/acorex-components-phone-box.mjs +17 -39
  231. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  232. package/fesm2022/acorex-components-picker.mjs +20 -22
  233. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  234. package/fesm2022/acorex-components-popover.mjs +9 -10
  235. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  236. package/fesm2022/acorex-components-popup.mjs +27 -50
  237. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  238. package/fesm2022/acorex-components-progress-bar.mjs +9 -10
  239. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  240. package/fesm2022/acorex-components-qrcode.mjs +9 -10
  241. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  242. package/fesm2022/acorex-components-query-builder.mjs +47 -33
  243. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  244. package/fesm2022/acorex-components-radio.mjs +11 -12
  245. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  246. package/fesm2022/acorex-components-rail-navigation.mjs +18 -21
  247. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  248. package/fesm2022/acorex-components-range-slider.mjs +11 -13
  249. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  250. package/fesm2022/acorex-components-rate-picker.mjs +9 -10
  251. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  252. package/fesm2022/acorex-components-rest-api-generator.mjs +49 -44
  253. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  254. package/fesm2022/acorex-components-result.mjs +15 -16
  255. package/fesm2022/acorex-components-result.mjs.map +1 -1
  256. package/fesm2022/acorex-components-routing-progress.mjs +15 -16
  257. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  258. package/fesm2022/acorex-components-scheduler.mjs +29 -26
  259. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  260. package/fesm2022/acorex-components-scss.mjs +4 -4
  261. package/fesm2022/acorex-components-search-box.mjs +18 -41
  262. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  263. package/fesm2022/acorex-components-select-box.mjs +31 -24
  264. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  265. package/fesm2022/acorex-components-selection-list.mjs +13 -32
  266. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  267. package/fesm2022/acorex-components-side-menu.mjs +24 -54
  268. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  269. package/fesm2022/acorex-components-skeleton.mjs +9 -10
  270. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  271. package/fesm2022/acorex-components-slider.mjs +11 -12
  272. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  273. package/fesm2022/acorex-components-sliding-item.mjs +18 -21
  274. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  275. package/fesm2022/acorex-components-step-wizard.mjs +19 -23
  276. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  277. package/fesm2022/acorex-components-switch.mjs +12 -14
  278. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  279. package/fesm2022/acorex-components-tabs.mjs +18 -21
  280. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  281. package/fesm2022/acorex-components-tag-box.mjs +121 -0
  282. package/fesm2022/acorex-components-tag-box.mjs.map +1 -0
  283. package/fesm2022/acorex-components-tag.mjs +9 -10
  284. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  285. package/fesm2022/acorex-components-text-area.mjs +12 -24
  286. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  287. package/fesm2022/acorex-components-text-box.mjs +17 -47
  288. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  289. package/fesm2022/acorex-components-time-line.mjs +14 -16
  290. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  291. package/fesm2022/acorex-components-toast.mjs +15 -19
  292. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  293. package/fesm2022/acorex-components-toolbar.mjs +9 -11
  294. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  295. package/fesm2022/acorex-components-tooltip.mjs +13 -17
  296. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  297. package/fesm2022/acorex-components-tree-view.mjs +45 -41
  298. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  299. package/fesm2022/acorex-components-uploader.mjs +47 -49
  300. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  301. package/fesm2022/acorex-components-video-player.mjs +9 -10
  302. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  303. package/fesm2022/acorex-components-wysiwyg.mjs +64 -70
  304. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  305. package/file-explorer/lib/file-explorer-container/file-explorer-container.component.d.ts +1 -1
  306. package/file-explorer/lib/file-explorer-header/file-explorer-header.component.d.ts +1 -1
  307. package/file-explorer/lib/file-explorer-item/file-explorer-item.component.d.ts +1 -1
  308. package/file-explorer/lib/file-explorer-tree/file-explorer-tree.component.d.ts +1 -1
  309. package/file-explorer/lib/file-explorer-view/file-explorer-view.component.d.ts +1 -1
  310. package/file-explorer/lib/file-explorer.module.d.ts +14 -14
  311. package/form/lib/form-field.component.d.ts +1 -1
  312. package/form/lib/form.component.d.ts +1 -1
  313. package/form/lib/form.module.d.ts +11 -11
  314. package/form/lib/validation-rule.directive.d.ts +1 -1
  315. package/form/lib/validation-summary.component.d.ts +1 -1
  316. package/grid-layout-builder/index.d.ts +0 -1
  317. package/grid-layout-builder/lib/grid-layout-builder.module.d.ts +4 -5
  318. package/grid-layout-builder/lib/grid-layout-container.component.d.ts +37 -235
  319. package/grid-layout-builder/lib/grid-layout-widget.component.d.ts +7 -87
  320. package/grid-layout-builder/lib/types.d.ts +8 -12
  321. package/image/lib/image.component.d.ts +1 -1
  322. package/image/lib/image.module.d.ts +3 -3
  323. package/image-editor/index.d.ts +7 -2
  324. package/image-editor/lib/image-editor-container/image-editor-container.component.d.ts +4 -1
  325. package/image-editor/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.d.ts +3 -8
  326. package/image-editor/lib/image-editor-tools/image-editor-header/image-editor-header.component.d.ts +12 -0
  327. package/image-editor/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.d.ts +18 -0
  328. package/image-editor/lib/image-editor-tools/image-editor-history/image-editor-history.component.d.ts +13 -0
  329. package/image-editor/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.d.ts +18 -0
  330. package/image-editor/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.d.ts +16 -0
  331. package/image-editor/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.d.ts +12 -0
  332. package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +8 -2
  333. package/image-editor/lib/image-editor.module.d.ts +20 -16
  334. package/image-editor/lib/image-editor.service.d.ts +6 -10
  335. package/json-viewer/lib/json-viewer/json-viewer.component.d.ts +1 -1
  336. package/json-viewer/lib/json-viewer.module.d.ts +5 -5
  337. package/kbd/lib/kbd-item/kbd-item.component.d.ts +1 -1
  338. package/kbd/lib/kbd.component.d.ts +1 -1
  339. package/kbd/lib/kbd.module.d.ts +4 -4
  340. package/label/lib/label.component.d.ts +1 -1
  341. package/label/lib/label.module.d.ts +3 -3
  342. package/list/lib/list.component.d.ts +1 -1
  343. package/list/lib/list.module.d.ts +5 -5
  344. package/loading/lib/loading-spinner.component.d.ts +1 -1
  345. package/loading/lib/loading.component.d.ts +1 -1
  346. package/loading/lib/loading.directive.d.ts +1 -1
  347. package/loading/lib/loading.module.d.ts +8 -8
  348. package/loading-dialog/lib/loading-dialog.component.d.ts +18 -18
  349. package/loading-dialog/lib/loading-dialog.module.d.ts +9 -9
  350. package/map/index.d.ts +2 -0
  351. package/map/lib/map.component.d.ts +23 -4
  352. package/map/lib/map.module.d.ts +3 -3
  353. package/map/lib/map.service.d.ts +27 -1
  354. package/map/lib/map.utility.d.ts +2 -0
  355. package/map/lib/map.world-map.d.ts +28 -0
  356. package/media-viewer/lib/media-viewer-container/media-viewer-container.component.d.ts +1 -1
  357. package/media-viewer/lib/media-viewer-slider/media-viewer-slider.component.d.ts +1 -1
  358. package/media-viewer/lib/media-viewer-tools/audio-player/audio-player.component.d.ts +1 -1
  359. package/media-viewer/lib/media-viewer-tools/file-info/file-info.component.d.ts +1 -1
  360. package/media-viewer/lib/media-viewer-tools/image-viewer/image-viewer.component.d.ts +1 -1
  361. package/media-viewer/lib/media-viewer-tools/pdf-reader/pdf-reader.component.d.ts +1 -1
  362. package/media-viewer/lib/media-viewer-tools/video-player/video-player.component.d.ts +1 -1
  363. package/media-viewer/lib/media-viewer.module.d.ts +18 -18
  364. package/menu/lib/context-menu.component.d.ts +1 -1
  365. package/menu/lib/menu-item.component.d.ts +1 -1
  366. package/menu/lib/menu.component.d.ts +1 -1
  367. package/menu/lib/menu.module.d.ts +10 -10
  368. package/navbar/lib/navbar.component.d.ts +1 -1
  369. package/navbar/lib/navbar.module.d.ts +3 -3
  370. package/notification/lib/notification.component.d.ts +1 -1
  371. package/notification/lib/notification.module.d.ts +9 -9
  372. package/number-box/lib/number-box.component.d.ts +1 -1
  373. package/number-box/lib/number-box.module.d.ts +7 -7
  374. package/otp/lib/otp.component.d.ts +1 -1
  375. package/otp/lib/otp.module.d.ts +4 -4
  376. package/package.json +13 -5
  377. package/paint/lib/paint/paint-container/paint-container.component.d.ts +1 -1
  378. package/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.d.ts +1 -1
  379. package/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.d.ts +1 -1
  380. package/paint/lib/paint/paint-view/paint-view.component.d.ts +1 -1
  381. package/paint/lib/paint.module.d.ts +13 -13
  382. package/password-box/lib/password-box.component.d.ts +1 -1
  383. package/password-box/lib/password-box.module.d.ts +10 -10
  384. package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +1 -1
  385. package/pdf-reader/lib/pdf-reader/pdf-reader.component.d.ts +1 -1
  386. package/pdf-reader/lib/pdf-reader.module.d.ts +1 -1
  387. package/phone-box/lib/phone-box.component.d.ts +1 -1
  388. package/phone-box/lib/phone-box.module.d.ts +10 -10
  389. package/picker/lib/picker-container/picker-container.component.d.ts +1 -1
  390. package/picker/lib/picker-items/picker-items.component.d.ts +1 -1
  391. package/picker/lib/picker-title/picker-title.component.d.ts +1 -1
  392. package/picker/lib/picker.module.d.ts +6 -6
  393. package/popover/lib/popover.component.d.ts +1 -1
  394. package/popover/lib/popover.module.d.ts +3 -3
  395. package/popup/lib/popup.component.d.ts +9 -9
  396. package/popup/lib/popup.module.d.ts +10 -10
  397. package/progress-bar/lib/progress-bar.component.d.ts +1 -1
  398. package/progress-bar/lib/progress-bar.module.d.ts +3 -3
  399. package/qrcode/lib/qrcode.component.d.ts +1 -1
  400. package/qrcode/lib/qrcode.module.d.ts +3 -3
  401. package/query-builder/lib/query-builder.component.d.ts +6 -3
  402. package/query-builder/lib/query-builder.module.d.ts +10 -10
  403. package/radio/lib/radio.component.d.ts +1 -1
  404. package/radio/lib/radio.module.d.ts +4 -4
  405. package/rail-navigation/lib/rail-navigation-item/rail-navigation-item.component.d.ts +1 -1
  406. package/rail-navigation/lib/rail-navigation.component.d.ts +1 -1
  407. package/rail-navigation/lib/rail-navigation.module.d.ts +5 -5
  408. package/range-slider/lib/range-slider.component.d.ts +1 -1
  409. package/range-slider/lib/range-slider.module.d.ts +3 -3
  410. package/rate-picker/lib/rate-picker.component.d.ts +1 -1
  411. package/rate-picker/lib/rate-picker.module.d.ts +3 -3
  412. package/rest-api-generator/lib/query-params/query-params.component.d.ts +1 -1
  413. package/rest-api-generator/lib/request-body/request-body.component.d.ts +1 -1
  414. package/rest-api-generator/lib/request-headers/request-headers.component.d.ts +1 -1
  415. package/rest-api-generator/lib/rest-api-auth/rest-api-auth.component.d.ts +1 -1
  416. package/rest-api-generator/lib/rest-api-generator.component.d.ts +1 -1
  417. package/rest-api-generator/lib/rest-api-generator.module.d.ts +14 -14
  418. package/result/lib/result.component.d.ts +7 -7
  419. package/result/lib/result.module.d.ts +3 -3
  420. package/routing-progress/lib/routing-progress.component.d.ts +7 -7
  421. package/routing-progress/lib/routing-progress.module.d.ts +3 -3
  422. package/scheduler/lib/scheduler-month-view.component.d.ts +1 -1
  423. package/scheduler/lib/scheduler-week-view.component.d.ts +1 -1
  424. package/scheduler/lib/scheduler.component.d.ts +1 -1
  425. package/scheduler/lib/scheduler.module.d.ts +9 -9
  426. package/search-box/lib/search-box.component.d.ts +1 -1
  427. package/search-box/lib/search-box.module.d.ts +9 -9
  428. package/select-box/lib/select-box.component.d.ts +1 -1
  429. package/select-box/lib/select-box.module.d.ts +15 -15
  430. package/selection-list/lib/selection-list.component.d.ts +1 -1
  431. package/selection-list/lib/selection-list.module.d.ts +8 -8
  432. package/side-menu/lib/side-menu-item/side-menu-item.component.d.ts +1 -1
  433. package/side-menu/lib/side-menu.component.d.ts +1 -1
  434. package/side-menu/lib/side-menu.directive.d.ts +1 -1
  435. package/side-menu/lib/side-menu.module.d.ts +10 -10
  436. package/skeleton/lib/skeleton.component.d.ts +1 -1
  437. package/skeleton/lib/skeleton.module.d.ts +3 -3
  438. package/slider/lib/slider.component.d.ts +1 -1
  439. package/slider/lib/slider.module.d.ts +5 -5
  440. package/sliding-item/lib/sliding-item/sliding-item.component.d.ts +1 -1
  441. package/sliding-item/lib/sliding-item-prefix/sliding-item-prefix.component.d.ts +1 -1
  442. package/sliding-item/lib/sliding-item-suffix/sliding-item-suffix.component.d.ts +1 -1
  443. package/sliding-item/lib/sliding-item.module.d.ts +6 -6
  444. package/step-wizard/lib/step-wizard-item/step-wizard-item.component.d.ts +1 -1
  445. package/step-wizard/lib/step-wizard.component.d.ts +1 -1
  446. package/step-wizard/lib/step-wizard.directive.d.ts +1 -1
  447. package/step-wizard/lib/step-wizard.module.d.ts +8 -8
  448. package/switch/lib/switch-content.component.d.ts +1 -1
  449. package/switch/lib/switch.component.d.ts +1 -1
  450. package/switch/lib/switch.module.d.ts +5 -5
  451. package/tabs/lib/tab-content.directive.d.ts +1 -1
  452. package/tabs/lib/tab-item.component.d.ts +1 -1
  453. package/tabs/lib/tabs.component.d.ts +1 -1
  454. package/tabs/lib/tabs.module.d.ts +7 -7
  455. package/tag/lib/tag.component.d.ts +1 -1
  456. package/tag/lib/tag.module.d.ts +3 -3
  457. package/tag-box/README.md +3 -0
  458. package/tag-box/index.d.ts +2 -0
  459. package/tag-box/lib/tag-box.component.d.ts +30 -0
  460. package/tag-box/lib/tag-box.module.d.ts +7 -0
  461. package/text-area/lib/text-area.component.d.ts +1 -1
  462. package/text-area/lib/text-area.module.d.ts +4 -4
  463. package/text-box/lib/mask-options.directive.d.ts +1 -1
  464. package/text-box/lib/text-box.component.d.ts +1 -1
  465. package/text-box/lib/text-box.module.d.ts +8 -8
  466. package/time-line/lib/time-line-item.component.d.ts +1 -1
  467. package/time-line/lib/time-line.component.d.ts +1 -1
  468. package/time-line/lib/time-line.module.d.ts +4 -4
  469. package/toast/lib/toast.component.d.ts +1 -1
  470. package/toast/lib/toast.module.d.ts +8 -8
  471. package/toolbar/lib/toolbar.component.d.ts +1 -1
  472. package/toolbar/lib/toolbar.module.d.ts +3 -3
  473. package/tooltip/lib/tooltip.component.d.ts +1 -1
  474. package/tooltip/lib/tooltip.directive.d.ts +1 -1
  475. package/tooltip/lib/tooltip.module.d.ts +5 -5
  476. package/tree-view/lib/tree-view-item.component.d.ts +3 -2
  477. package/tree-view/lib/tree-view.component.d.ts +6 -7
  478. package/tree-view/lib/tree-view.component.module.d.ts +11 -11
  479. package/uploader/lib/uploader-browse-handle.directive.d.ts +1 -1
  480. package/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.d.ts +1 -1
  481. package/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.d.ts +1 -1
  482. package/uploader/lib/uploader-list/uploader-list.component.d.ts +1 -1
  483. package/uploader/lib/uploader-zone.directive.d.ts +1 -1
  484. package/uploader/lib/uploader.module.d.ts +16 -16
  485. package/video-player/lib/video-player/video-player.component.d.ts +1 -1
  486. package/video-player/lib/video-player.module.d.ts +1 -1
  487. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +1 -1
  488. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.d.ts +1 -1
  489. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +1 -1
  490. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.d.ts +1 -1
  491. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.d.ts +1 -1
  492. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.d.ts +1 -1
  493. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.d.ts +1 -1
  494. package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +1 -1
  495. package/wysiwyg/lib/wysiwyg.module.d.ts +16 -16
  496. package/grid-layout-builder/lib/grid-layout-widget.directive.d.ts +0 -106
  497. package/image-editor/lib/image-editor-tools/image-editor-color-picker/image-editor-color-picker.component.d.ts +0 -17
  498. package/image-editor/lib/image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component.d.ts +0 -34
@@ -1,150 +1,168 @@
1
- import { MXInputBaseValueComponent, MXLookComponent, AXComponent, AXFocusableComponent, AXClearableComponent, AXValuableComponent, MXBaseComponent } from '@acorex/components/common';
1
+ import { AXButtonComponent, AXButtonModule } from '@acorex/components/button';
2
+ import { MXBaseComponent, MXInputBaseValueComponent, MXLookComponent, AXComponent, AXFocusableComponent, AXClearableComponent, AXValuableComponent } from '@acorex/components/common';
3
+ import * as i1 from '@acorex/components/decorators';
4
+ import { AXDecoratorModule, AXDecoratorIconComponent } from '@acorex/components/decorators';
2
5
  import { AXDialogService, AXDialogModule } from '@acorex/components/dialog';
6
+ import { AXLoadingSpinnerComponent, AXLoadingModule } from '@acorex/components/loading';
7
+ import * as i2 from '@acorex/components/toolbar';
8
+ import { AXToolBarModule } from '@acorex/components/toolbar';
9
+ import { CommonModule } from '@angular/common';
3
10
  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';
11
+ import { signal, Injectable, inject, output, ViewEncapsulation, Component, ChangeDetectionStrategy, input, viewChild, Renderer2, computed, linkedSignal, NgZone, afterNextRender, effect, HostBinding, contentChild, forwardRef, NgModule } from '@angular/core';
5
12
  import * as i1$1 from '@angular/forms';
6
- import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
13
+ import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
7
14
  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';
15
+ import { AXTooltipDirective, AXTooltipModule } from '@acorex/components/tooltip';
16
+ import { AXColorBoxComponent, AXColorBoxModule } from '@acorex/components/color-box';
17
+ import { AXRangeSliderComponent, AXRangeSliderModule } from '@acorex/components/range-slider';
21
18
  import { AXPopoverModule } from '@acorex/components/popover';
22
19
  import { AXSelectBoxModule } from '@acorex/components/select-box';
23
20
 
24
21
  class AXImageEditorService {
25
22
  constructor() {
26
- this.penColor = signal('');
27
- this.lineCap = signal('round');
28
- this.lineWidth = signal(10);
29
- this.penType = signal('pen');
30
- this.toggleClear = signal({ state: false, userInteract: false });
31
- this.cropState = signal({ state: false, userInteract: false });
23
+ this.activeToolState = signal(null);
24
+ this.penColor = signal('rgb(12, 12, 12)');
25
+ this.highlightColor = signal('rgb(255, 210, 48)');
26
+ this.penWidth = signal(10);
27
+ this.highlightWidth = signal(10);
28
+ this.penType = signal(null);
32
29
  this.rotate = signal({ state: 0, userInteract: false });
33
30
  this.isImageLoad = signal(false);
34
31
  this.newImage = signal(null);
35
32
  this.initialImage = signal(null);
36
33
  this.imageBlob = signal([]);
34
+ this.undoPressed = signal(false);
35
+ this.redoPressed = signal(false);
37
36
  }
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 }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorService }); }
40
39
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorService, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorService, decorators: [{
42
41
  type: Injectable
43
42
  }] });
44
43
 
45
44
  /**
46
- * paint container.
45
+ * paint mode.
47
46
  * @category Components
48
47
  */
49
- class AXImageEditorContainerComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {
48
+ class AXImageEditorCropComponent {
49
+ constructor() {
50
+ this.service = inject(AXImageEditorService);
51
+ this.cropPressed = output();
52
+ }
53
+ cropButtonHandler() {
54
+ this.cropPressed.emit();
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorCropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AXImageEditorCropComponent, isStandalone: true, selector: "ax-image-editor-crop", outputs: { cropPressed: "cropPressed" }, ngImport: i0, template: "<ax-button (click)=\"cropButtonHandler()\" class=\"ax-crop-save ax-sm\" text=\"Crop\"></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"] }], encapsulation: i0.ViewEncapsulation.None }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorCropComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'ax-image-editor-crop', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent], template: "<ax-button (click)=\"cropButtonHandler()\" class=\"ax-crop-save ax-sm\" text=\"Crop\"></ax-button>\n" }]
62
+ }] });
63
+
64
+ /**
65
+ * paint mode.
66
+ * @category Components
67
+ */
68
+ class AXImageEditorHistoryComponent {
69
+ constructor() {
70
+ this.service = inject(AXImageEditorService);
71
+ }
72
+ UndoHandler() {
73
+ this.service.undoPressed.set(true);
74
+ }
75
+ RedoHandler() {
76
+ this.service.redoPressed.set(true);
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorHistoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AXImageEditorHistoryComponent, isStandalone: true, selector: "ax-image-editor-history", ngImport: i0, template: "<ax-button axTooltip=\"Undo\" axTooltipPlacement=\"top\" (onClick)=\"UndoHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Redo\" axTooltipPlacement=\"top\" (onClick)=\"RedoHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>\n</ax-button>\n", 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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorHistoryComponent, decorators: [{
82
+ type: Component,
83
+ args: [{ selector: 'ax-image-editor-history', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-button axTooltip=\"Undo\" axTooltipPlacement=\"top\" (onClick)=\"UndoHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Redo\" axTooltipPlacement=\"top\" (onClick)=\"RedoHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>\n</ax-button>\n" }]
84
+ }] });
85
+
86
+ /**
87
+ * paint mode.
88
+ * @category Components
89
+ */
90
+ class AXimageEditorHeaderComponent {
91
+ constructor() {
92
+ this.parent = inject(AXImageEditorContainerComponent);
93
+ }
94
+ saveHandler() {
95
+ this.parent.save();
96
+ }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXimageEditorHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AXimageEditorHeaderComponent, isStandalone: true, selector: "ax-image-editor-header", ngImport: i0, template: "<ax-toolbar>\n <ax-prefix>\n <ax-image-editor-history></ax-image-editor-history>\n </ax-prefix>\n\n <ax-suffix>\n <ax-button type=\"submit\" (onClick)=\"saveHandler()\" axTooltip=\"Save\" axTooltipPlacement=\"top\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-save\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n</ax-toolbar>\n", styles: ["ax-image-editor-header{width:100%}ax-image-editor-header ax-toolbar{justify-content:space-between}ax-image-editor-header .ax-start-toolbar-divider{display:none}\n"], dependencies: [{ kind: "component", type: AXImageEditorHistoryComponent, selector: "ax-image-editor-history" }, { 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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXToolBarModule }, { kind: "component", type: i2.AXToolBarComponent, selector: "ax-toolbar" }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], encapsulation: i0.ViewEncapsulation.None }); }
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXimageEditorHeaderComponent, decorators: [{
101
+ type: Component,
102
+ args: [{ selector: 'ax-image-editor-header', encapsulation: ViewEncapsulation.None, imports: [AXImageEditorHistoryComponent, AXButtonComponent, AXDecoratorModule, AXToolBarModule, AXTooltipDirective], template: "<ax-toolbar>\n <ax-prefix>\n <ax-image-editor-history></ax-image-editor-history>\n </ax-prefix>\n\n <ax-suffix>\n <ax-button type=\"submit\" (onClick)=\"saveHandler()\" axTooltip=\"Save\" axTooltipPlacement=\"top\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-save\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n</ax-toolbar>\n", styles: ["ax-image-editor-header{width:100%}ax-image-editor-header ax-toolbar{justify-content:space-between}ax-image-editor-header .ax-start-toolbar-divider{display:none}\n"] }]
103
+ }] });
104
+
105
+ /**
106
+ * paint mode.
107
+ * @category Components
108
+ */
109
+ class AXImageEditorHighlightComponent {
50
110
  constructor() {
51
- super(...arguments);
52
- /** @ignore */
53
111
  this.service = inject(AXImageEditorService);
54
- this.imageEditorContainer = viewChild('f');
55
112
  /** @ignore */
56
- this.dialogService = inject(AXDialogService);
113
+ this.selectedColor = signal(this.service.highlightColor());
57
114
  /** @ignore */
58
- this.options = signal({
59
- color: 'primary',
60
- title: 'Attention',
61
- vertical: false,
62
- content: 'Do you want to save changes?',
63
- orientation: 'vertical',
64
- draggable: true,
65
- });
115
+ this.value = this.service.highlightWidth();
66
116
  }
67
- save() {
68
- if (this.service.initialImage() !== this.service.newImage()) {
69
- this.dialogService
70
- .confirm(this.options().title, this.options().content, this.options().color, this.options().orientation, this.options().draggable)
71
- .then((data) => {
72
- if (data.result) {
73
- this.service.initialImage.set(this.service.newImage());
74
- this.commitValue(this.service.imageBlob(), true);
75
- }
76
- })
77
- .catch(() => this.commitValue(null));
78
- }
79
- else {
80
- this.commitValue(null);
81
- }
117
+ changeColorHandler(e) {
118
+ this.service.highlightColor.set(e);
119
+ this.selectedColor.set(e);
82
120
  }
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: [
85
- AXImageEditorService,
86
- { provide: AXComponent, useExisting: AXImageEditorContainerComponent },
87
- { provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },
88
- { provide: AXClearableComponent, useExisting: AXImageEditorContainerComponent },
89
- { provide: AXValuableComponent, useExisting: AXImageEditorContainerComponent },
90
- {
91
- provide: NG_VALUE_ACCESSOR,
92
- useExisting: forwardRef(() => AXImageEditorContainerComponent),
93
- multi: true,
94
- },
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-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: i1.AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }], encapsulation: i0.ViewEncapsulation.None }); }
121
+ /** @ignore */
122
+ valueHandler(e) {
123
+ this.service.highlightWidth.set(e);
124
+ }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorHighlightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AXImageEditorHighlightComponent, isStandalone: true, selector: "ax-image-editor-highlight", ngImport: i0, template: "<ax-color-box\n [showValue]=\"false\"\n [showIcon]=\"false\"\n axTooltip=\"Highlight Color Picker\"\n axTooltipPlacement=\"top\"\n look=\"none\"\n [ngModel]=\"selectedColor()\"\n (ngModelChange)=\"changeColorHandler($event)\"\n>\n</ax-color-box>\n\n<ax-range-slider [min]=\"2\" [max]=\"20\" [(ngModel)]=\"value\" (ngModelChange)=\"valueHandler($event)\"></ax-range-slider>\n", styles: ["ax-image-editor-highlight{display:flex}ax-image-editor-highlight ax-range-slider{padding:.5rem .75rem;width:10rem}ax-image-editor-highlight ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\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: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { 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: AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
96
127
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorContainerComponent, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorHighlightComponent, decorators: [{
98
129
  type: Component,
99
- args: [{ selector: 'ax-image-editor-container', encapsulation: ViewEncapsulation.None, standalone: false, outputs: ['onValueChanged'], inputs: ['look'], providers: [
100
- AXImageEditorService,
101
- { provide: AXComponent, useExisting: AXImageEditorContainerComponent },
102
- { provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },
103
- { provide: AXClearableComponent, useExisting: AXImageEditorContainerComponent },
104
- { provide: AXValuableComponent, useExisting: AXImageEditorContainerComponent },
105
- {
106
- provide: NG_VALUE_ACCESSOR,
107
- useExisting: forwardRef(() => AXImageEditorContainerComponent),
108
- multi: true,
109
- },
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-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"] }]
130
+ args: [{ selector: 'ax-image-editor-highlight', encapsulation: ViewEncapsulation.None, imports: [AXColorBoxComponent, CommonModule, FormsModule, AXRangeSliderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-color-box\n [showValue]=\"false\"\n [showIcon]=\"false\"\n axTooltip=\"Highlight Color Picker\"\n axTooltipPlacement=\"top\"\n look=\"none\"\n [ngModel]=\"selectedColor()\"\n (ngModelChange)=\"changeColorHandler($event)\"\n>\n</ax-color-box>\n\n<ax-range-slider [min]=\"2\" [max]=\"20\" [(ngModel)]=\"value\" (ngModelChange)=\"valueHandler($event)\"></ax-range-slider>\n", styles: ["ax-image-editor-highlight{display:flex}ax-image-editor-highlight ax-range-slider{padding:.5rem .75rem;width:10rem}ax-image-editor-highlight ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\n"] }]
111
131
  }] });
112
132
 
113
133
  /**
114
- * paint color picker.
134
+ * paint mode.
115
135
  * @category Components
116
136
  */
117
- class AXImageEditorColorPickerComponent {
137
+ class AXImageEditorPenComponent {
118
138
  constructor() {
119
- /** @ignore */
120
139
  this.service = inject(AXImageEditorService);
121
140
  /** @ignore */
122
- this.selectedColor = signal('rgb(12, 12, 12)');
141
+ this.value = this.service.penWidth();
142
+ /** @ignore */
143
+ this.selectedColor = signal(this.service.penColor());
123
144
  }
124
- /** @ignore */
125
145
  changeColorHandler(e) {
126
146
  this.service.penColor.set(e);
127
147
  this.selectedColor.set(e);
128
148
  }
129
- get __hostClass() {
130
- return `.5rem`;
149
+ /** @ignore */
150
+ valueHandler(e) {
151
+ this.service.penWidth.set(e);
131
152
  }
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 }); }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorPenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AXImageEditorPenComponent, isStandalone: true, selector: "ax-image-editor-pen", ngImport: i0, template: "<ax-color-box\n [showValue]=\"false\"\n [showIcon]=\"false\"\n axTooltip=\"Pen Color Picker\"\n axTooltipPlacement=\"top\"\n look=\"none\"\n [ngModel]=\"selectedColor()\"\n (ngModelChange)=\"changeColorHandler($event)\"\n>\n</ax-color-box>\n\n<ax-range-slider [min]=\"2\" [max]=\"20\" [(ngModel)]=\"value\" (ngModelChange)=\"valueHandler($event)\"></ax-range-slider>\n", styles: ["ax-image-editor-pen{display:flex}ax-image-editor-pen ax-range-slider{padding:.5rem .75rem;width:10rem}ax-image-editor-pen ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\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: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { 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: AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["disabled", "readonly", "orientation", "color", "values", "mode", "min", "max", "step", "snap", "tooltipMode", "snapMode", "hasStep", "hasSnap", "hasLable", "hasTooltip"], outputs: ["valuesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
134
155
  }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorColorPickerComponent, decorators: [{
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorPenComponent, decorators: [{
136
157
  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"] }]
138
- }], propDecorators: { __hostClass: [{
139
- type: HostBinding,
140
- args: ['style.marginInline']
141
- }] } });
158
+ args: [{ selector: 'ax-image-editor-pen', encapsulation: ViewEncapsulation.None, imports: [AXColorBoxComponent, CommonModule, FormsModule, AXRangeSliderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-color-box\n [showValue]=\"false\"\n [showIcon]=\"false\"\n axTooltip=\"Pen Color Picker\"\n axTooltipPlacement=\"top\"\n look=\"none\"\n [ngModel]=\"selectedColor()\"\n (ngModelChange)=\"changeColorHandler($event)\"\n>\n</ax-color-box>\n\n<ax-range-slider [min]=\"2\" [max]=\"20\" [(ngModel)]=\"value\" (ngModelChange)=\"valueHandler($event)\"></ax-range-slider>\n", styles: ["ax-image-editor-pen{display:flex}ax-image-editor-pen ax-range-slider{padding:.5rem .75rem;width:10rem}ax-image-editor-pen ax-range-slider .ax-range-slider .ax-range-slider-handler{width:1rem!important;height:1rem!important}\n"] }]
159
+ }] });
142
160
 
143
161
  /**
144
162
  * paint mode.
145
163
  * @category Components
146
164
  */
147
- class AXImageEditorCropComponent {
165
+ class AXImageEditorRotateComponent {
148
166
  constructor() {
149
167
  /** @ignore */
150
168
  this.service = inject(AXImageEditorService);
@@ -157,67 +175,39 @@ class AXImageEditorCropComponent {
157
175
  rotateLeftHandler() {
158
176
  this.service.rotate.set({ state: -90, userInteract: true });
159
177
  }
160
- /** @ignore */
161
- crop() {
162
- this.service.cropState.update((prev) => {
163
- return { userInteract: true, state: !prev.state };
164
- });
165
- }
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 }); }
178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorRotateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
179
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AXImageEditorRotateComponent, isStandalone: true, selector: "ax-image-editor-rotate", ngImport: i0, template: "<ax-button axTooltip=\"Rotate Left\" axTooltipPlacement=\"top\" (click)=\"rotateLeftHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-arrow-turn-left\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Rotate Right\" axTooltipPlacement=\"top\" (click)=\"rotateRightHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-arrow-turn-right\"></ax-icon>\n</ax-button>\n", 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
168
180
  }
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorCropComponent, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorRotateComponent, decorators: [{
170
182
  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" }]
183
+ args: [{ selector: 'ax-image-editor-rotate', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXTooltipDirective, AXDecoratorIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ax-button axTooltip=\"Rotate Left\" axTooltipPlacement=\"top\" (click)=\"rotateLeftHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-arrow-turn-left\"></ax-icon>\n</ax-button>\n\n<ax-button axTooltip=\"Rotate Right\" axTooltipPlacement=\"top\" (click)=\"rotateRightHandler()\" look=\"blank\">\n <ax-icon class=\"ax-icon ax-icon-arrow-turn-right\"></ax-icon>\n</ax-button>\n" }]
172
184
  }] });
173
185
 
174
186
  /**
175
187
  * paint mode.
176
188
  * @category Components
177
189
  */
178
- class AXImageEditorPenModeChangerComponent {
190
+ class AXImageEditorToolSelectorComponent {
179
191
  constructor() {
180
- /** @ignore */
181
192
  this.service = inject(AXImageEditorService);
182
- /** @ignore */
183
- this.value = 10;
184
- /** @ignore */
185
- this.popoverOption = {
186
- openOn: 'click',
187
- closeOn: 'clickOut',
188
- placement: 'top',
189
- offsetX: 0,
190
- offsetY: 0,
191
- };
192
- /** @ignore */
193
- this.selectedPenType = signal('pen');
194
- }
195
- /** @ignore */
196
- penTypeHandler(e) {
197
- this.service.penType.set(e);
198
193
  }
199
- /** @ignore */
200
- clear() {
201
- this.service.toggleClear.set({ userInteract: true, state: true });
202
- }
203
- /** @ignore */
204
- get __hostClass() {
205
- return `.5rem`;
206
- }
207
- /** @ignore */
208
- valueHandler(e) {
209
- this.service.lineWidth.set(e);
194
+ changeToolHandler(tool) {
195
+ if (this.service.activeToolState() === tool) {
196
+ this.service.activeToolState.set(null);
197
+ return;
198
+ }
199
+ this.service.activeToolState.set(tool);
200
+ if (tool === 'pen' || tool === 'highlight') {
201
+ this.service.penType.set(tool);
202
+ }
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.8", ngImport: i0, type: AXImageEditorToolSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
205
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: AXImageEditorToolSelectorComponent, isStandalone: true, selector: "ax-image-editor-tool-selector", ngImport: i0, template: "<ax-button\n axTooltip=\"pen\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'pen' ? true : false\"\n [color]=\"this.service.activeToolState() === 'pen' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"highlight\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'highlight' ? true : false\"\n [color]=\"this.service.activeToolState() === 'highlight' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"crop\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('crop')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'crop' ? true : false\"\n [color]=\"this.service.activeToolState() === 'crop' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-crop\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"rotate\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('rotate')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'rotate' ? true : false\"\n [color]=\"this.service.activeToolState() === 'rotate' ? 'primary' : 'default'\"\n>\n <i class=\"fa-solid fa-rotate\"></i>\n</ax-button>\n", 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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], 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.8", ngImport: i0, type: AXImageEditorToolSelectorComponent, 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"] }]
217
- }], propDecorators: { __hostClass: [{
218
- type: HostBinding,
219
- args: ['style.marginInline']
220
- }] } });
209
+ args: [{ selector: 'ax-image-editor-tool-selector', encapsulation: ViewEncapsulation.None, imports: [AXButtonComponent, AXDecoratorModule, AXTooltipDirective], template: "<ax-button\n axTooltip=\"pen\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('pen')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'pen' ? true : false\"\n [color]=\"this.service.activeToolState() === 'pen' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-pen\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"highlight\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('highlight')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'highlight' ? true : false\"\n [color]=\"this.service.activeToolState() === 'highlight' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"crop\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('crop')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'crop' ? true : false\"\n [color]=\"this.service.activeToolState() === 'crop' ? 'primary' : 'default'\"\n>\n <ax-icon class=\"ax-icon ax-icon-crop\"></ax-icon>\n</ax-button>\n\n<ax-button\n axTooltip=\"rotate\"\n axTooltipPlacement=\"top\"\n (onClick)=\"changeToolHandler('rotate')\"\n look=\"blank\"\n [selected]=\"this.service.activeToolState() === 'rotate' ? true : false\"\n [color]=\"this.service.activeToolState() === 'rotate' ? 'primary' : 'default'\"\n>\n <i class=\"fa-solid fa-rotate\"></i>\n</ax-button>\n" }]
210
+ }] });
221
211
 
222
212
  class AXImageEditorViewComponent extends MXBaseComponent {
223
213
  /** @ignore */
@@ -271,12 +261,16 @@ class AXImageEditorViewComponent extends MXBaseComponent {
271
261
  /** @ignore */
272
262
  this.cropEndY = signal(0);
273
263
  /** @ignore */
264
+ this.isDrawRectangleCreated = signal(false);
265
+ /** @ignore */
274
266
  this.parent = inject(AXImageEditorContainerComponent);
275
267
  this.renderer = inject(Renderer2);
276
268
  /** @ignore */
277
269
  this.imageAspect = computed(() => {
278
270
  return this.service.initialImage().width / this.service.initialImage().height;
279
271
  });
272
+ this.imageEditorHistory = signal([]);
273
+ this.imageEditorHistoryPointer = linkedSignal(() => this.imageEditorHistory().length - 1);
280
274
  this.ngZone = inject(NgZone);
281
275
  afterNextRender(() => {
282
276
  this.resizeEventListener = this.renderer.listen(window, 'resize', this.resizeWindow.bind(this));
@@ -288,11 +282,7 @@ class AXImageEditorViewComponent extends MXBaseComponent {
288
282
  //set canvas options
289
283
  this.ctx.set(this.canvasElem().nativeElement.getContext('2d', { willReadFrequently: true }));
290
284
  this.ctx().lineJoin = 'round';
291
- this.ctx().lineCap = this.service.lineCap();
292
- this.ctx().strokeStyle = this.service.penColor();
293
- this.ctx().lineWidth = this.service.lineWidth();
294
- this.ctx().globalCompositeOperation = 'source-over';
295
- this.ctx().globalAlpha = 1;
285
+ this.ctx().lineCap = 'round';
296
286
  });
297
287
  effect(() => {
298
288
  if (this.parent.imageEditorContainer() && this.service.isImageLoad()) {
@@ -300,21 +290,27 @@ class AXImageEditorViewComponent extends MXBaseComponent {
300
290
  }
301
291
  });
302
292
  effect(() => {
303
- if (!this.service.toggleClear().userInteract)
304
- return;
305
- if (this.service.toggleClear().state) {
306
- this.imageLoaded();
293
+ if (!this.service.undoPressed()) {
294
+ this.imageChanged();
295
+ }
296
+ });
297
+ effect(() => {
298
+ if (!this.service.redoPressed()) {
299
+ this.imageChanged();
307
300
  }
308
301
  });
309
302
  effect(() => {
310
- if (!this.service.cropState().userInteract || !this.ctx())
303
+ if (!this.ctx())
311
304
  return;
312
- if (this.service.cropState().state) {
305
+ this.ctx().globalAlpha = 1;
306
+ if (this.service.activeToolState() === 'crop') {
313
307
  this.ctx().filter = 'brightness(40%)';
314
308
  }
315
309
  else {
316
310
  this.ctx().filter = 'brightness(100%)';
317
311
  }
312
+ if (!this.service.newImage())
313
+ return;
318
314
  this.ctx().drawImage(this.service.newImage(), 0, 0, this.service.newImage().width, this.service.newImage().height);
319
315
  });
320
316
  effect(() => {
@@ -334,19 +330,37 @@ class AXImageEditorViewComponent extends MXBaseComponent {
334
330
  }
335
331
  /** @ignore */
336
332
  imageLoaded() {
333
+ this.imageEditorHistory.set([this.service.initialImage()]);
337
334
  this.service.newImage.set(this.service.initialImage());
338
- this.service.toggleClear.set({ userInteract: false, state: false });
339
335
  this.service.isImageLoad.set(true);
340
- this.canvasResponsive(this.service.initialImage());
336
+ }
337
+ /** @ignore */
338
+ imageChanged() {
339
+ if (this.service.undoPressed() && this.imageEditorHistoryPointer() >= 1) {
340
+ this.imageEditorHistoryPointer.update((prev) => prev - 1);
341
+ this.service.newImage.set(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);
342
+ this.canvasResponsive(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);
343
+ }
344
+ if (this.service.redoPressed() && this.imageEditorHistoryPointer() < this.imageEditorHistory().length - 1) {
345
+ this.imageEditorHistoryPointer.update((prev) => prev + 1);
346
+ this.service.newImage.set(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);
347
+ this.canvasResponsive(this.imageEditorHistory()[this.imageEditorHistoryPointer()]);
348
+ }
349
+ this.service.undoPressed.set(false);
350
+ this.service.redoPressed.set(false);
341
351
  }
342
352
  /** @ignore */
343
353
  penConfigHandler(penType) {
344
354
  switch (penType) {
345
355
  case 'pen':
346
356
  this.ctx().globalAlpha = 1;
357
+ this.ctx().strokeStyle = this.service.penColor();
358
+ this.ctx().lineWidth = this.service.penWidth();
347
359
  break;
348
360
  case 'highlight':
349
361
  this.ctx().globalAlpha = 0.008;
362
+ this.ctx().strokeStyle = this.service.highlightColor();
363
+ this.ctx().lineWidth = this.service.highlightWidth();
350
364
  break;
351
365
  }
352
366
  }
@@ -357,16 +371,15 @@ class AXImageEditorViewComponent extends MXBaseComponent {
357
371
  /** @ignore */
358
372
  mouseDownHandler(e) {
359
373
  this.isMouseDown.set(true);
360
- if (this.service.cropState().state) {
374
+ if (this.service.activeToolState() === 'crop') {
361
375
  this.cropStartX.set(e.offsetX);
362
376
  this.cropStartY.set(e.offsetY);
363
377
  this.cropEndX.set(0);
364
378
  }
365
379
  else {
380
+ if (!this.service.penType())
381
+ return;
366
382
  this.penConfigHandler(this.service.penType());
367
- this.ctx().strokeStyle = this.service.penColor();
368
- this.ctx().lineCap = this.service.lineCap();
369
- this.ctx().lineWidth = this.service.lineWidth();
370
383
  this.ctx().beginPath();
371
384
  this.ctx().moveTo(e.offsetX, e.offsetY);
372
385
  this.ctx().lineTo(e.offsetX, e.offsetY);
@@ -377,13 +390,15 @@ class AXImageEditorViewComponent extends MXBaseComponent {
377
390
  mouseMoveHandler(e) {
378
391
  if (!this.isMouseDown())
379
392
  return;
380
- if (this.service.cropState().state) {
393
+ if (this.service.activeToolState() === 'crop') {
381
394
  this.ctx().globalCompositeOperation = 'screen';
382
395
  this.cropEndX.set(e.offsetX);
383
396
  this.cropEndY.set(e.offsetY);
384
397
  this.drawSelection();
385
398
  }
386
399
  else {
400
+ if (!this.service.penType())
401
+ return;
387
402
  this.ctx().lineTo(e.offsetX, e.offsetY);
388
403
  this.ctx().stroke();
389
404
  }
@@ -391,7 +406,7 @@ class AXImageEditorViewComponent extends MXBaseComponent {
391
406
  /** @ignore */
392
407
  mouseUpHandler() {
393
408
  this.isMouseDown.set(false);
394
- if (this.service.cropState().state && this.cropEndX()) {
409
+ if (this.service.activeToolState() === 'crop' && this.cropEndX()) {
395
410
  this.ctx().globalCompositeOperation = 'source-over';
396
411
  this.cropImageFunction();
397
412
  }
@@ -402,19 +417,18 @@ class AXImageEditorViewComponent extends MXBaseComponent {
402
417
  }
403
418
  /** @ignore */
404
419
  touchStartHandler(e) {
420
+ this.isMouseDown.set(true);
405
421
  const offsetX = e.touches[0].clientX - this.getBoundingCanvasHandler().left;
406
422
  const offsetY = e.touches[0].clientY - this.getBoundingCanvasHandler().top;
407
- this.isMouseDown.set(true);
408
- if (this.service.cropState().state) {
423
+ if (this.service.activeToolState() === 'crop') {
409
424
  this.cropStartX.set(offsetX);
410
425
  this.cropStartY.set(offsetY);
411
426
  this.cropEndX.set(0);
412
427
  }
413
428
  else {
429
+ if (!this.service.penType())
430
+ return;
414
431
  this.penConfigHandler(this.service.penType());
415
- this.ctx().strokeStyle = this.service.penColor();
416
- this.ctx().lineCap = this.service.lineCap();
417
- this.ctx().lineWidth = this.service.lineWidth();
418
432
  this.ctx().beginPath();
419
433
  this.ctx().moveTo(offsetX, offsetY);
420
434
  this.ctx().lineTo(offsetX, offsetY);
@@ -428,13 +442,15 @@ class AXImageEditorViewComponent extends MXBaseComponent {
428
442
  return;
429
443
  const offsetX = e.touches[0].clientX - this.getBoundingCanvasHandler().left;
430
444
  const offsetY = e.touches[0].clientY - this.getBoundingCanvasHandler().top;
431
- if (this.service.cropState().state) {
445
+ if (this.service.activeToolState() === 'crop') {
432
446
  this.ctx().globalCompositeOperation = 'screen';
433
447
  this.cropEndX.set(offsetX);
434
448
  this.cropEndY.set(offsetY);
435
449
  this.drawSelection();
436
450
  }
437
451
  else {
452
+ if (!this.service.penType())
453
+ return;
438
454
  this.ctx().lineTo(offsetX, offsetY);
439
455
  this.ctx().stroke();
440
456
  }
@@ -442,7 +458,7 @@ class AXImageEditorViewComponent extends MXBaseComponent {
442
458
  /** @ignore */
443
459
  touchEndHandler() {
444
460
  this.isMouseDown.set(false);
445
- if (this.service.cropState().state && this.cropEndX()) {
461
+ if (this.service.activeToolState() === 'crop' && this.cropEndX()) {
446
462
  this.ctx().globalCompositeOperation = 'source-over';
447
463
  this.cropImageFunction();
448
464
  }
@@ -463,6 +479,7 @@ class AXImageEditorViewComponent extends MXBaseComponent {
463
479
  this.ctx().lineWidth = 2;
464
480
  this.ctx().strokeRect(this.cropStartX(), this.cropStartY(), cropWidth, cropHeight);
465
481
  });
482
+ this.isDrawRectangleCreated.set(true);
466
483
  }
467
484
  /** @ignore */
468
485
  cropImageFunction() {
@@ -504,6 +521,8 @@ class AXImageEditorViewComponent extends MXBaseComponent {
504
521
  }
505
522
  /** @ignore */
506
523
  cropButtonHandler() {
524
+ if (!this.isDrawRectangleCreated())
525
+ return;
507
526
  let cropWidth;
508
527
  let cropHeight;
509
528
  this.service.rotate.update((prev) => {
@@ -530,7 +549,8 @@ class AXImageEditorViewComponent extends MXBaseComponent {
530
549
  this.ctx().putImageData(this.cropImageData(), 0, 0);
531
550
  this.saveImageChange();
532
551
  this.cropImageData.set(null);
533
- this.service.cropState.set({ userInteract: false, state: false });
552
+ this.service.activeToolState.set(null);
553
+ this.isDrawRectangleCreated.set(false);
534
554
  }
535
555
  /** @ignore */
536
556
  rotateImage() {
@@ -551,6 +571,7 @@ class AXImageEditorViewComponent extends MXBaseComponent {
551
571
  newImage.crossOrigin = 'anonymous';
552
572
  newImage.src = this.canvasElem().nativeElement.toDataURL('image/jpeg', 1);
553
573
  this.service.newImage.set(newImage);
574
+ this.imageEditorHistory.update((prev) => [...prev, newImage]);
554
575
  const tempBlob = [];
555
576
  this.canvasElem().nativeElement.toBlob((blob) => {
556
577
  tempBlob.push(blob);
@@ -567,23 +588,111 @@ class AXImageEditorViewComponent extends MXBaseComponent {
567
588
  get __hostStyle() {
568
589
  return `width: ${this.service.initialImage()?.width}px; height: ${this.service.initialImage()?.height}px`;
569
590
  }
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 }); }
591
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
592
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.1.8", 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", 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"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
572
593
  }
573
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorViewComponent, decorators: [{
594
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorViewComponent, decorators: [{
574
595
  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"] }]
596
+ args: [{ selector: 'ax-image-editor-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, 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", 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
597
  }], ctorParameters: () => [], propDecorators: { __hostStyle: [{
577
598
  type: HostBinding,
578
599
  args: ['style']
579
600
  }] } });
580
601
 
602
+ /**
603
+ * paint container.
604
+ * @category Components
605
+ */
606
+ class AXImageEditorContainerComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {
607
+ constructor() {
608
+ super(...arguments);
609
+ /** @ignore */
610
+ this.service = inject(AXImageEditorService);
611
+ this.imageEditorContainer = viewChild('f');
612
+ this.view = contentChild(AXImageEditorViewComponent);
613
+ /** @ignore */
614
+ this.dialogService = inject(AXDialogService);
615
+ /** @ignore */
616
+ this.options = signal({
617
+ color: 'primary',
618
+ title: 'Attention',
619
+ vertical: false,
620
+ content: 'Do you want to save changes?',
621
+ orientation: 'vertical',
622
+ draggable: true,
623
+ });
624
+ }
625
+ save() {
626
+ if (this.service.initialImage() !== this.service.newImage()) {
627
+ this.dialogService
628
+ .confirm(this.options().title, this.options().content, this.options().color, this.options().orientation, this.options().draggable)
629
+ .then((data) => {
630
+ if (data.result) {
631
+ this.service.initialImage.set(this.service.newImage());
632
+ this.commitValue(this.service.imageBlob(), true);
633
+ }
634
+ })
635
+ .catch(() => this.commitValue(null));
636
+ }
637
+ else {
638
+ this.commitValue(null);
639
+ }
640
+ }
641
+ cropButtonHandler() {
642
+ this.view().cropButtonHandler();
643
+ }
644
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
645
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: AXImageEditorContainerComponent, isStandalone: true, selector: "ax-image-editor-container", inputs: { look: "look" }, outputs: { onValueChanged: "onValueChanged" }, providers: [
646
+ AXImageEditorService,
647
+ { provide: AXComponent, useExisting: AXImageEditorContainerComponent },
648
+ { provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },
649
+ { provide: AXClearableComponent, useExisting: AXImageEditorContainerComponent },
650
+ { provide: AXValuableComponent, useExisting: AXImageEditorContainerComponent },
651
+ {
652
+ provide: NG_VALUE_ACCESSOR,
653
+ useExisting: forwardRef(() => AXImageEditorContainerComponent),
654
+ multi: true,
655
+ },
656
+ ], queries: [{ propertyName: "view", first: true, predicate: AXImageEditorViewComponent, descendants: true, isSignal: true }], 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 <ax-image-editor-header></ax-image-editor-header>\n\n <ng-content select=\"ax-image-editor-view\"> </ng-content>\n\n @if (service.activeToolState()) {\n <ax-toolbar class=\"ax-secondary-toolbar\">\n <ax-prefix>\n @switch (service.activeToolState()) {\n @case ('pen') {\n <ax-image-editor-pen></ax-image-editor-pen>\n }\n @case ('crop') {\n <ax-image-editor-crop (cropPressed)=\"cropButtonHandler()\"></ax-image-editor-crop>\n }\n @case ('highlight') {\n <ax-image-editor-highlight></ax-image-editor-highlight>\n }\n @case ('rotate') {\n <ax-image-editor-rotate></ax-image-editor-rotate>\n }\n }\n </ax-prefix>\n </ax-toolbar>\n }\n\n <ax-toolbar class=\"ax-main-toolbar\">\n <ax-content>\n <ax-image-editor-tool-selector></ax-image-editor-tool-selector>\n </ax-content>\n </ax-toolbar>\n </div>\n <div class=\"ax-error-container\"></div>\n} @else {\n <div class=\"ax-loading-spinner-container\">\n <ax-loading-spinner [size]=\"16\" color=\"primary\" text=\"Loading Image ...\"></ax-loading-spinner>\n </div>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-image-editor-container{width:fit-content;display:block}ax-image-editor-container>.ax-editor-container{display:block;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}ax-image-editor-container .ax-main-toolbar{justify-content:center;padding:.2rem}ax-image-editor-container .ax-secondary-toolbar{padding:.2rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-surface));justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }, { kind: "ngmodule", type: AXToolBarModule }, { kind: "component", type: i2.AXToolBarComponent, selector: "ax-toolbar" }, { kind: "component", type: AXImageEditorCropComponent, selector: "ax-image-editor-crop", outputs: ["cropPressed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: AXImageEditorToolSelectorComponent, selector: "ax-image-editor-tool-selector" }, { kind: "component", type: AXImageEditorPenComponent, selector: "ax-image-editor-pen" }, { kind: "component", type: AXImageEditorHighlightComponent, selector: "ax-image-editor-highlight" }, { kind: "component", type: AXImageEditorRotateComponent, selector: "ax-image-editor-rotate" }, { kind: "component", type: AXimageEditorHeaderComponent, selector: "ax-image-editor-header" }], encapsulation: i0.ViewEncapsulation.None }); }
657
+ }
658
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorContainerComponent, decorators: [{
659
+ type: Component,
660
+ args: [{ selector: 'ax-image-editor-container', encapsulation: ViewEncapsulation.None, outputs: ['onValueChanged'], inputs: ['look'], providers: [
661
+ AXImageEditorService,
662
+ { provide: AXComponent, useExisting: AXImageEditorContainerComponent },
663
+ { provide: AXFocusableComponent, useExisting: AXImageEditorContainerComponent },
664
+ { provide: AXClearableComponent, useExisting: AXImageEditorContainerComponent },
665
+ { provide: AXValuableComponent, useExisting: AXImageEditorContainerComponent },
666
+ {
667
+ provide: NG_VALUE_ACCESSOR,
668
+ useExisting: forwardRef(() => AXImageEditorContainerComponent),
669
+ multi: true,
670
+ },
671
+ ], imports: [
672
+ CommonModule,
673
+ AXDecoratorModule,
674
+ AXLoadingSpinnerComponent,
675
+ AXToolBarModule,
676
+ AXImageEditorCropComponent,
677
+ AXButtonModule,
678
+ AXImageEditorToolSelectorComponent,
679
+ AXImageEditorPenComponent,
680
+ AXImageEditorHighlightComponent,
681
+ AXImageEditorRotateComponent,
682
+ AXimageEditorHeaderComponent,
683
+ ], template: "@if (service.isImageLoad()) {\n <div #f class=\"ax-editor-container ax-{{ look }}\">\n <ax-image-editor-header></ax-image-editor-header>\n\n <ng-content select=\"ax-image-editor-view\"> </ng-content>\n\n @if (service.activeToolState()) {\n <ax-toolbar class=\"ax-secondary-toolbar\">\n <ax-prefix>\n @switch (service.activeToolState()) {\n @case ('pen') {\n <ax-image-editor-pen></ax-image-editor-pen>\n }\n @case ('crop') {\n <ax-image-editor-crop (cropPressed)=\"cropButtonHandler()\"></ax-image-editor-crop>\n }\n @case ('highlight') {\n <ax-image-editor-highlight></ax-image-editor-highlight>\n }\n @case ('rotate') {\n <ax-image-editor-rotate></ax-image-editor-rotate>\n }\n }\n </ax-prefix>\n </ax-toolbar>\n }\n\n <ax-toolbar class=\"ax-main-toolbar\">\n <ax-content>\n <ax-image-editor-tool-selector></ax-image-editor-tool-selector>\n </ax-content>\n </ax-toolbar>\n </div>\n <div class=\"ax-error-container\"></div>\n} @else {\n <div class=\"ax-loading-spinner-container\">\n <ax-loading-spinner [size]=\"16\" color=\"primary\" text=\"Loading Image ...\"></ax-loading-spinner>\n </div>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-image-editor-container{width:fit-content;display:block}ax-image-editor-container>.ax-editor-container{display:block;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}ax-image-editor-container .ax-main-toolbar{justify-content:center;padding:.2rem}ax-image-editor-container .ax-secondary-toolbar{padding:.2rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-surface));justify-content:center}\n"] }]
684
+ }] });
685
+
581
686
  const COMPONENT = [
582
- AXImageEditorColorPickerComponent,
583
- AXImageEditorPenModeChangerComponent,
584
687
  AXImageEditorViewComponent,
585
688
  AXImageEditorContainerComponent,
586
689
  AXImageEditorCropComponent,
690
+ AXImageEditorHistoryComponent,
691
+ AXImageEditorToolSelectorComponent,
692
+ AXImageEditorPenComponent,
693
+ AXImageEditorHighlightComponent,
694
+ AXImageEditorRotateComponent,
695
+ AXimageEditorHeaderComponent,
587
696
  ];
588
697
  const MODULES = [
589
698
  AXButtonModule,
@@ -598,12 +707,8 @@ const MODULES = [
598
707
  AXTooltipModule,
599
708
  ];
600
709
  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,
710
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
711
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorModule, imports: [AXButtonModule,
607
712
  FormsModule,
608
713
  AXRangeSliderModule,
609
714
  AXSelectBoxModule,
@@ -612,18 +717,36 @@ class AXImageEditorModule {
612
717
  AXDecoratorModule,
613
718
  AXLoadingModule,
614
719
  AXDialogModule,
615
- AXTooltipModule], exports: [AXImageEditorColorPickerComponent,
616
- AXImageEditorPenModeChangerComponent,
617
- AXImageEditorViewComponent,
720
+ AXTooltipModule, AXImageEditorViewComponent,
721
+ AXImageEditorContainerComponent,
722
+ AXImageEditorCropComponent,
723
+ AXImageEditorHistoryComponent,
724
+ AXImageEditorToolSelectorComponent,
725
+ AXImageEditorPenComponent,
726
+ AXImageEditorHighlightComponent,
727
+ AXImageEditorRotateComponent,
728
+ AXimageEditorHeaderComponent], exports: [AXImageEditorViewComponent,
618
729
  AXImageEditorContainerComponent,
619
- AXImageEditorCropComponent] }); }
620
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorModule, imports: [MODULES] }); }
730
+ AXImageEditorCropComponent,
731
+ AXImageEditorHistoryComponent,
732
+ AXImageEditorToolSelectorComponent,
733
+ AXImageEditorPenComponent,
734
+ AXImageEditorHighlightComponent,
735
+ AXImageEditorRotateComponent,
736
+ AXimageEditorHeaderComponent] }); }
737
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorModule, imports: [MODULES, AXImageEditorContainerComponent,
738
+ AXImageEditorCropComponent,
739
+ AXImageEditorHistoryComponent,
740
+ AXImageEditorToolSelectorComponent,
741
+ AXImageEditorPenComponent,
742
+ AXImageEditorHighlightComponent,
743
+ AXImageEditorRotateComponent,
744
+ AXimageEditorHeaderComponent] }); }
621
745
  }
622
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXImageEditorModule, decorators: [{
746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AXImageEditorModule, decorators: [{
623
747
  type: NgModule,
624
748
  args: [{
625
- declarations: [...COMPONENT],
626
- imports: [...MODULES],
749
+ imports: [...MODULES, ...COMPONENT],
627
750
  exports: [...COMPONENT],
628
751
  providers: [],
629
752
  }]
@@ -633,5 +756,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
633
756
  * Generated bundle index. Do not edit.
634
757
  */
635
758
 
636
- export { AXImageEditorColorPickerComponent, AXImageEditorContainerComponent, AXImageEditorCropComponent, AXImageEditorModule, AXImageEditorPenModeChangerComponent, AXImageEditorViewComponent };
759
+ export { AXImageEditorContainerComponent, AXImageEditorCropComponent, AXImageEditorHighlightComponent, AXImageEditorHistoryComponent, AXImageEditorModule, AXImageEditorPenComponent, AXImageEditorRotateComponent, AXImageEditorService, AXImageEditorToolSelectorComponent, AXImageEditorViewComponent, AXimageEditorHeaderComponent };
637
760
  //# sourceMappingURL=acorex-components-image-editor.mjs.map