@acorex/components 18.5.17 → 18.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (476) hide show
  1. package/audio-wave/lib/audio-wave.component.d.ts +5 -0
  2. package/button-group/lib/button-group.component.d.ts +5 -2
  3. package/calendar/lib/calendar-range.component.d.ts +1 -1
  4. package/calendar/lib/calendar.component.d.ts +1 -1
  5. package/circular-progress/lib/circular-progress.component.d.ts +21 -57
  6. package/color-box/lib/color-box.component.d.ts +1 -1
  7. package/conversation/lib/conversation-input/conversation-input.component.d.ts +1 -1
  8. package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +28 -0
  9. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +20 -0
  10. package/data-pager/lib/data-pager.component.d.ts +111 -0
  11. package/data-table/lib/columns/data-text-column.component.d.ts +58 -0
  12. package/data-table/lib/columns/row-command-column.component.d.ts +83 -0
  13. package/data-table/lib/columns/row-index-column.component.d.ts +51 -0
  14. package/data-table/lib/columns/row-select-column.component.d.ts +47 -0
  15. package/data-table/lib/data-table/data-table.component.d.ts +200 -0
  16. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +185 -0
  17. package/datetime-box/lib/datetime-box.component.d.ts +60 -2
  18. package/datetime-input/lib/datetime-input.component.d.ts +133 -0
  19. package/datetime-picker/lib/datetime-picker.component.d.ts +96 -1
  20. package/decorators/lib/components/clear-button.component.d.ts +25 -0
  21. package/decorators/lib/components/close-button.component.d.ts +22 -0
  22. package/decorators/lib/components/generic-content.component.d.ts +4 -0
  23. package/decorators/lib/components/icon.component.d.ts +12 -0
  24. package/dialog/lib/dialog.component.d.ts +20 -0
  25. package/drawer/lib/drawer-container.component.d.ts +7 -0
  26. package/drawer/lib/drawer.component.d.ts +104 -0
  27. package/dropdown/lib/dropdown-box.component.d.ts +66 -0
  28. package/dropdown/lib/dropdown-panel.component.d.ts +85 -0
  29. package/dropdown-button/lib/dropdown-button.component.d.ts +38 -0
  30. package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
  31. package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -4
  32. package/esm2022/action-sheet/lib/action-sheet.service.mjs +3 -3
  33. package/esm2022/alert/lib/alert.component.mjs +3 -3
  34. package/esm2022/alert/lib/alert.module.mjs +4 -4
  35. package/esm2022/audio-wave/lib/audio-wave.component.mjs +9 -4
  36. package/esm2022/audio-wave/lib/audio-wave.module.mjs +4 -4
  37. package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
  38. package/esm2022/avatar/lib/avatar.component.mjs +3 -3
  39. package/esm2022/avatar/lib/avatar.module.mjs +4 -4
  40. package/esm2022/badge/lib/badge.component.mjs +3 -3
  41. package/esm2022/badge/lib/badge.module.mjs +4 -4
  42. package/esm2022/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.mjs +3 -3
  43. package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +3 -3
  44. package/esm2022/bottom-navigation/lib/bottom-navigation.module.mjs +4 -4
  45. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
  46. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  47. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
  48. package/esm2022/button/lib/button-item-list.component.mjs +3 -3
  49. package/esm2022/button/lib/button-item.component.mjs +3 -3
  50. package/esm2022/button/lib/button.component.mjs +3 -3
  51. package/esm2022/button/lib/button.module.mjs +4 -4
  52. package/esm2022/button-group/lib/button-group.component.mjs +9 -6
  53. package/esm2022/button-group/lib/button-group.module.mjs +4 -4
  54. package/esm2022/calendar/lib/calendar-range.component.mjs +3 -3
  55. package/esm2022/calendar/lib/calendar.class.mjs +3 -3
  56. package/esm2022/calendar/lib/calendar.component.mjs +3 -3
  57. package/esm2022/calendar/lib/calendar.module.mjs +4 -4
  58. package/esm2022/check-box/lib/check-box.component.mjs +3 -3
  59. package/esm2022/check-box/lib/check-box.module.mjs +4 -4
  60. package/esm2022/chips/lib/chips.component.mjs +3 -3
  61. package/esm2022/chips/lib/chips.module.mjs +4 -4
  62. package/esm2022/circular-progress/lib/circular-progress.component.mjs +46 -115
  63. package/esm2022/circular-progress/lib/circular-progress.module.mjs +4 -4
  64. package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
  65. package/esm2022/collapse/lib/collapse.component.mjs +3 -3
  66. package/esm2022/collapse/lib/collapse.module.mjs +4 -4
  67. package/esm2022/color-box/lib/color-box.component.mjs +3 -3
  68. package/esm2022/color-box/lib/color-box.module.mjs +4 -4
  69. package/esm2022/color-palette/lib/color-palette-input.component.mjs +3 -3
  70. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +4 -4
  71. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
  72. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
  73. package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
  74. package/esm2022/color-palette/lib/color-palette.component.mjs +3 -3
  75. package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
  76. package/esm2022/comment/lib/comment-container/comment-container.component.mjs +3 -3
  77. package/esm2022/comment/lib/comment-item/comment-item.component.mjs +3 -3
  78. package/esm2022/comment/lib/comment-like/comment-like.component.mjs +3 -3
  79. package/esm2022/comment/lib/comment-reply/comment-reply.component.mjs +3 -3
  80. package/esm2022/comment/lib/comment-reply-text/comment-reply-text.component.mjs +3 -3
  81. package/esm2022/comment/lib/comment-view/comment-view.component.mjs +3 -3
  82. package/esm2022/comment/lib/comment.module.mjs +4 -4
  83. package/esm2022/comment/lib/services/comment.service.mjs +3 -3
  84. package/esm2022/common/lib/classes/components.class.mjs +21 -21
  85. package/esm2022/common/lib/common.module.mjs +4 -4
  86. package/esm2022/common/lib/components/base-component.class.mjs +3 -3
  87. package/esm2022/common/lib/components/input-base-value-component.class.mjs +3 -3
  88. package/esm2022/common/lib/components/look-component.class.mjs +3 -3
  89. package/esm2022/common/lib/components/selection-base.component.class.mjs +6 -6
  90. package/esm2022/common/lib/components/value-component.class.mjs +3 -3
  91. package/esm2022/common/lib/directives/auto-focus.directive.mjs +3 -3
  92. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +3 -3
  93. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
  94. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
  95. package/esm2022/common/lib/directives/inverted-color.directive.mjs +3 -3
  96. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
  97. package/esm2022/common/lib/directives/ripple.directive.mjs +3 -3
  98. package/esm2022/common/lib/services/dom.service.mjs +3 -3
  99. package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
  100. package/esm2022/conversation/lib/conversation-container/conversation-container.component.mjs +3 -3
  101. package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +3 -3
  102. package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +3 -3
  103. package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +3 -3
  104. package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +3 -3
  105. package/esm2022/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.mjs +3 -3
  106. package/esm2022/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.mjs +3 -3
  107. package/esm2022/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.mjs +3 -3
  108. package/esm2022/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.mjs +3 -3
  109. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +3 -3
  110. package/esm2022/conversation/lib/conversation-view/conversation-view.component.mjs +3 -3
  111. package/esm2022/conversation/lib/conversation.module.mjs +4 -4
  112. package/esm2022/conversation/lib/conversation.types.mjs +3 -3
  113. package/esm2022/conversation/lib/services/conversation-message-type-registry.service.mjs +3 -3
  114. package/esm2022/conversation/lib/services/conversation.service.mjs +3 -3
  115. package/esm2022/conversation/lib/services/recording.service.mjs +3 -3
  116. package/esm2022/data-pager/lib/data-pager-base.component.mjs +6 -6
  117. package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
  118. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
  119. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +3 -3
  120. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +3 -3
  121. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +26 -4
  122. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +21 -4
  123. package/esm2022/data-pager/lib/data-pager.component.mjs +112 -4
  124. package/esm2022/data-pager/lib/data-pager.module.mjs +4 -4
  125. package/esm2022/data-table/lib/base-data-table.class.mjs +3 -3
  126. package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +3 -3
  127. package/esm2022/data-table/lib/columns/data-table-column.mjs +3 -3
  128. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +35 -4
  129. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +69 -7
  130. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +43 -4
  131. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +42 -4
  132. package/esm2022/data-table/lib/data-table/data-table.component.mjs +187 -5
  133. package/esm2022/data-table/lib/data-table.module.mjs +4 -4
  134. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +162 -4
  135. package/esm2022/datetime-box/lib/datetime-box.component.mjs +54 -5
  136. package/esm2022/datetime-box/lib/datetime-box.module.mjs +4 -4
  137. package/esm2022/datetime-input/lib/datetime-input.component.mjs +125 -4
  138. package/esm2022/datetime-input/lib/datetime-input.module.mjs +4 -4
  139. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +93 -4
  140. package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +4 -4
  141. package/esm2022/decorators/lib/components/clear-button.component.mjs +29 -4
  142. package/esm2022/decorators/lib/components/close-button.component.mjs +26 -4
  143. package/esm2022/decorators/lib/components/generic-content.component.mjs +8 -4
  144. package/esm2022/decorators/lib/components/icon.component.mjs +16 -4
  145. package/esm2022/decorators/lib/decorators.module.mjs +4 -4
  146. package/esm2022/dialog/lib/dialog.component.mjs +22 -5
  147. package/esm2022/dialog/lib/dialog.module.mjs +4 -4
  148. package/esm2022/dialog/lib/dialog.service.mjs +3 -3
  149. package/esm2022/drawer/lib/drawer-container.component.mjs +11 -4
  150. package/esm2022/drawer/lib/drawer.component.mjs +105 -4
  151. package/esm2022/drawer/lib/drawer.module.mjs +4 -4
  152. package/esm2022/dropdown/lib/dropdown-box.class.mjs +3 -3
  153. package/esm2022/dropdown/lib/dropdown-box.component.mjs +61 -4
  154. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +80 -4
  155. package/esm2022/dropdown/lib/dropdown.module.mjs +4 -4
  156. package/esm2022/dropdown-button/lib/dropdown-button.component.mjs +39 -4
  157. package/esm2022/dropdown-button/lib/dropdown-button.module.mjs +4 -4
  158. package/esm2022/form/lib/form-field.component.mjs +43 -4
  159. package/esm2022/form/lib/form.component.mjs +62 -4
  160. package/esm2022/form/lib/form.module.mjs +4 -4
  161. package/esm2022/form/lib/validation-rule.directive.mjs +3 -3
  162. package/esm2022/form/lib/validation-summary.component.mjs +44 -4
  163. package/esm2022/image/lib/image.component.mjs +50 -4
  164. package/esm2022/image/lib/image.module.mjs +4 -4
  165. package/esm2022/label/lib/label.component.mjs +35 -4
  166. package/esm2022/label/lib/label.module.mjs +4 -4
  167. package/esm2022/list/lib/list.component.mjs +87 -4
  168. package/esm2022/list/lib/list.module.mjs +4 -4
  169. package/esm2022/loading/lib/loading-spinner.component.mjs +20 -4
  170. package/esm2022/loading/lib/loading.component.mjs +30 -4
  171. package/esm2022/loading/lib/loading.directive.mjs +3 -3
  172. package/esm2022/loading/lib/loading.module.mjs +4 -4
  173. package/esm2022/loading/lib/loading.service.mjs +3 -3
  174. package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +42 -5
  175. package/esm2022/loading-dialog/lib/loading-dialog.module.mjs +4 -4
  176. package/esm2022/loading-dialog/lib/loading-dialog.service.mjs +3 -3
  177. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +50 -4
  178. package/esm2022/menu/lib/menu.component.mjs +10 -4
  179. package/esm2022/menu/lib/menu.module.mjs +4 -4
  180. package/esm2022/menu/lib/menu.service.mjs +3 -3
  181. package/esm2022/nav/lib/nav-item/nav-item.component.mjs +26 -4
  182. package/esm2022/nav/lib/nav.component.mjs +8 -4
  183. package/esm2022/nav/lib/nav.module.mjs +4 -4
  184. package/esm2022/navbar/lib/navbar.component.mjs +9 -4
  185. package/esm2022/navbar/lib/navbar.module.mjs +4 -4
  186. package/esm2022/notification/lib/notification.component.mjs +13 -4
  187. package/esm2022/notification/lib/notification.module.mjs +4 -4
  188. package/esm2022/notification/lib/notification.service.mjs +3 -3
  189. package/esm2022/number-box/lib/number-box.component.mjs +77 -8
  190. package/esm2022/number-box/lib/number-box.module.mjs +4 -4
  191. package/esm2022/otp/lib/otp.component.mjs +38 -4
  192. package/esm2022/otp/lib/otp.module.mjs +4 -4
  193. package/esm2022/page/lib/base-page.class.mjs +3 -3
  194. package/esm2022/page/lib/page.component.mjs +18 -4
  195. package/esm2022/page/lib/page.module.mjs +4 -4
  196. package/esm2022/paint/acorex-components-paint.mjs +5 -0
  197. package/esm2022/paint/index.mjs +8 -0
  198. package/esm2022/paint/lib/paint/paint-container/paint-container.component.mjs +38 -0
  199. package/esm2022/paint/lib/paint/paint-toolbar/paint-toolbar.component.mjs +15 -0
  200. package/esm2022/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.mjs +46 -0
  201. package/esm2022/paint/lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component.mjs +37 -0
  202. package/esm2022/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.mjs +55 -0
  203. package/esm2022/paint/lib/paint/paint-view/paint-view.component.mjs +104 -0
  204. package/esm2022/paint/lib/paint/paint.service.mjs +17 -0
  205. package/esm2022/paint/lib/paint.module.mjs +50 -0
  206. package/esm2022/password-box/lib/password-box.component.mjs +13 -4
  207. package/esm2022/password-box/lib/password-box.module.mjs +4 -4
  208. package/esm2022/phone-box/lib/phone-box.component.mjs +38 -4
  209. package/esm2022/phone-box/lib/phone-box.module.mjs +4 -4
  210. package/esm2022/picker/lib/picker-column.directive.mjs +3 -3
  211. package/esm2022/picker/lib/picker.component.mjs +29 -4
  212. package/esm2022/picker/lib/picker.module.mjs +4 -4
  213. package/esm2022/popover/lib/popover.component.mjs +118 -4
  214. package/esm2022/popover/lib/popover.module.mjs +4 -4
  215. package/esm2022/popup/lib/popup.component.mjs +34 -9
  216. package/esm2022/popup/lib/popup.module.mjs +4 -4
  217. package/esm2022/popup/lib/popup.service.mjs +3 -3
  218. package/esm2022/progress-bar/lib/progress-bar.component.mjs +33 -4
  219. package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
  220. package/esm2022/radio/lib/radio.component.mjs +8 -5
  221. package/esm2022/radio/lib/radio.module.mjs +4 -4
  222. package/esm2022/range-slider/lib/range-slider.component.mjs +8 -4
  223. package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
  224. package/esm2022/result/lib/result.component.mjs +18 -4
  225. package/esm2022/result/lib/result.module.mjs +4 -4
  226. package/esm2022/routing-progress/lib/routing-progress.component.mjs +19 -4
  227. package/esm2022/routing-progress/lib/routing-progress.module.mjs +4 -4
  228. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +3 -3
  229. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +3 -3
  230. package/esm2022/scheduler/lib/scheduler.component.mjs +6 -4
  231. package/esm2022/scheduler/lib/scheduler.module.mjs +4 -4
  232. package/esm2022/scss/lib/scss.module.mjs +4 -4
  233. package/esm2022/search-box/lib/search-box.component.mjs +3 -3
  234. package/esm2022/search-box/lib/search-box.module.mjs +4 -4
  235. package/esm2022/select-box/lib/select-box.component.mjs +5 -5
  236. package/esm2022/select-box/lib/select-box.module.mjs +4 -4
  237. package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
  238. package/esm2022/selection-list/lib/selection-list.module.mjs +4 -4
  239. package/esm2022/side-menu/lib/side-menu-item/side-menu-item.compoent.mjs +3 -3
  240. package/esm2022/side-menu/lib/side-menu.component.mjs +3 -3
  241. package/esm2022/side-menu/lib/side-menu.module.mjs +4 -4
  242. package/esm2022/skeleton/lib/skeleton.component.mjs +3 -3
  243. package/esm2022/skeleton/lib/skeleton.module.mjs +4 -4
  244. package/esm2022/slider/lib/slider.component.mjs +3 -3
  245. package/esm2022/slider/lib/slider.module.mjs +4 -4
  246. package/esm2022/step-wizard/lib/step-wizard-item/step-wizard-item.component.mjs +3 -3
  247. package/esm2022/step-wizard/lib/step-wizard.component.mjs +17 -4
  248. package/esm2022/step-wizard/lib/step-wizard.directive.mjs +3 -3
  249. package/esm2022/step-wizard/lib/step-wizard.module.mjs +4 -4
  250. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  251. package/esm2022/switch/lib/switch.component.mjs +3 -3
  252. package/esm2022/switch/lib/switch.module.mjs +4 -4
  253. package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
  254. package/esm2022/tabs/lib/tab-item.component.mjs +3 -3
  255. package/esm2022/tabs/lib/tabs.component.mjs +3 -3
  256. package/esm2022/tabs/lib/tabs.module.mjs +4 -4
  257. package/esm2022/tag/lib/tag.component.mjs +8 -4
  258. package/esm2022/tag/lib/tag.module.mjs +4 -4
  259. package/esm2022/text-area/lib/text-area.component.mjs +8 -4
  260. package/esm2022/text-area/lib/text-area.module.mjs +4 -4
  261. package/esm2022/text-box/lib/mask-options.directive.mjs +3 -3
  262. package/esm2022/text-box/lib/text-box.component.mjs +3 -3
  263. package/esm2022/text-box/lib/text-box.module.mjs +4 -4
  264. package/esm2022/toast/lib/toast.component.mjs +3 -3
  265. package/esm2022/toast/lib/toast.module.mjs +4 -4
  266. package/esm2022/toast/lib/toast.service.mjs +3 -3
  267. package/esm2022/tooltip/lib/tooltip.component.mjs +3 -3
  268. package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
  269. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  270. package/esm2022/uploader/index.mjs +5 -5
  271. package/esm2022/uploader/lib/uploader-browse-handle.directive.mjs +3 -3
  272. package/esm2022/uploader/lib/{uploader-dialog-container.component.mjs → uploader-dialog-container/uploader-dialog-container.component.mjs} +5 -5
  273. package/esm2022/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.mjs +27 -0
  274. package/esm2022/uploader/lib/uploader-list/uploader-list.component.mjs +24 -0
  275. package/esm2022/uploader/lib/uploader-zone.directive.mjs +26 -19
  276. package/esm2022/uploader/lib/uploader.models.mjs +26 -11
  277. package/esm2022/uploader/lib/uploader.module.mjs +22 -17
  278. package/esm2022/uploader/lib/uploader.service.mjs +54 -25
  279. package/esm2022/wysiwyg/index.mjs +7 -1
  280. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +56 -24
  281. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +7 -267
  282. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.mjs +59 -0
  283. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.mjs +53 -0
  284. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.mjs +156 -0
  285. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.mjs +36 -0
  286. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.mjs +49 -0
  287. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.mjs +67 -0
  288. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.mjs +9 -8
  289. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +4 -5
  290. package/esm2022/wysiwyg/lib/wysiwyg.module.mjs +38 -6
  291. package/fesm2022/acorex-components-action-sheet.mjs +10 -10
  292. package/fesm2022/acorex-components-alert.mjs +7 -7
  293. package/fesm2022/acorex-components-audio-wave.mjs +12 -7
  294. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  295. package/fesm2022/acorex-components-avatar.mjs +10 -10
  296. package/fesm2022/acorex-components-badge.mjs +7 -7
  297. package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
  298. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  299. package/fesm2022/acorex-components-button-group.mjs +12 -9
  300. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  301. package/fesm2022/acorex-components-button.mjs +13 -13
  302. package/fesm2022/acorex-components-calendar.mjs +13 -13
  303. package/fesm2022/acorex-components-check-box.mjs +7 -7
  304. package/fesm2022/acorex-components-chips.mjs +7 -7
  305. package/fesm2022/acorex-components-circular-progress.mjs +49 -118
  306. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  307. package/fesm2022/acorex-components-collapse.mjs +10 -10
  308. package/fesm2022/acorex-components-color-box.mjs +7 -7
  309. package/fesm2022/acorex-components-color-palette.mjs +26 -26
  310. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  311. package/fesm2022/acorex-components-comment.mjs +25 -25
  312. package/fesm2022/acorex-components-common.mjs +70 -70
  313. package/fesm2022/acorex-components-conversation.mjs +49 -49
  314. package/fesm2022/acorex-components-data-pager.mjs +178 -31
  315. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  316. package/fesm2022/acorex-components-data-table.mjs +545 -35
  317. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  318. package/fesm2022/acorex-components-datetime-box.mjs +57 -8
  319. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  320. package/fesm2022/acorex-components-datetime-input.mjs +128 -7
  321. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  322. package/fesm2022/acorex-components-datetime-picker.mjs +96 -7
  323. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  324. package/fesm2022/acorex-components-decorators.mjs +79 -16
  325. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  326. package/fesm2022/acorex-components-dialog.mjs +28 -11
  327. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  328. package/fesm2022/acorex-components-drawer.mjs +118 -10
  329. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  330. package/fesm2022/acorex-components-dropdown-button.mjs +42 -7
  331. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  332. package/fesm2022/acorex-components-dropdown.mjs +146 -13
  333. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  334. package/fesm2022/acorex-components-form.mjs +153 -16
  335. package/fesm2022/acorex-components-form.mjs.map +1 -1
  336. package/fesm2022/acorex-components-image.mjs +53 -7
  337. package/fesm2022/acorex-components-image.mjs.map +1 -1
  338. package/fesm2022/acorex-components-label.mjs +38 -7
  339. package/fesm2022/acorex-components-label.mjs.map +1 -1
  340. package/fesm2022/acorex-components-list.mjs +90 -7
  341. package/fesm2022/acorex-components-list.mjs.map +1 -1
  342. package/fesm2022/acorex-components-loading-dialog.mjs +48 -11
  343. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  344. package/fesm2022/acorex-components-loading.mjs +58 -16
  345. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  346. package/fesm2022/acorex-components-menu.mjs +65 -13
  347. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  348. package/fesm2022/acorex-components-nav.mjs +36 -10
  349. package/fesm2022/acorex-components-nav.mjs.map +1 -1
  350. package/fesm2022/acorex-components-navbar.mjs +12 -7
  351. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  352. package/fesm2022/acorex-components-notification.mjs +19 -10
  353. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  354. package/fesm2022/acorex-components-number-box.mjs +80 -11
  355. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  356. package/fesm2022/acorex-components-otp.mjs +41 -7
  357. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  358. package/fesm2022/acorex-components-page.mjs +24 -10
  359. package/fesm2022/acorex-components-page.mjs.map +1 -1
  360. package/fesm2022/acorex-components-paint.mjs +336 -0
  361. package/fesm2022/acorex-components-paint.mjs.map +1 -0
  362. package/fesm2022/acorex-components-password-box.mjs +16 -7
  363. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  364. package/fesm2022/acorex-components-phone-box.mjs +41 -7
  365. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  366. package/fesm2022/acorex-components-picker.mjs +35 -10
  367. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  368. package/fesm2022/acorex-components-popover.mjs +121 -7
  369. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  370. package/fesm2022/acorex-components-popup.mjs +40 -15
  371. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  372. package/fesm2022/acorex-components-progress-bar.mjs +36 -7
  373. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  374. package/fesm2022/acorex-components-radio.mjs +11 -8
  375. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  376. package/fesm2022/acorex-components-range-slider.mjs +11 -7
  377. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  378. package/fesm2022/acorex-components-result.mjs +21 -7
  379. package/fesm2022/acorex-components-result.mjs.map +1 -1
  380. package/fesm2022/acorex-components-routing-progress.mjs +22 -7
  381. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  382. package/fesm2022/acorex-components-scheduler.mjs +15 -13
  383. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  384. package/fesm2022/acorex-components-scss.mjs +4 -4
  385. package/fesm2022/acorex-components-search-box.mjs +7 -7
  386. package/fesm2022/acorex-components-select-box.mjs +8 -8
  387. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  388. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  389. package/fesm2022/acorex-components-side-menu.mjs +10 -10
  390. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  391. package/fesm2022/acorex-components-slider.mjs +7 -7
  392. package/fesm2022/acorex-components-step-wizard.mjs +26 -13
  393. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  394. package/fesm2022/acorex-components-switch.mjs +10 -10
  395. package/fesm2022/acorex-components-tabs.mjs +13 -13
  396. package/fesm2022/acorex-components-tag.mjs +11 -7
  397. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  398. package/fesm2022/acorex-components-text-area.mjs +11 -7
  399. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  400. package/fesm2022/acorex-components-text-box.mjs +10 -10
  401. package/fesm2022/acorex-components-toast.mjs +10 -10
  402. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  403. package/fesm2022/acorex-components-uploader.mjs +141 -82
  404. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  405. package/fesm2022/acorex-components-wysiwyg.mjs +365 -178
  406. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  407. package/form/lib/form-field.component.d.ts +45 -0
  408. package/form/lib/form.component.d.ts +58 -0
  409. package/form/lib/validation-summary.component.d.ts +49 -0
  410. package/image/lib/image.component.d.ts +61 -0
  411. package/label/lib/label.component.d.ts +34 -0
  412. package/list/lib/list.component.d.ts +98 -0
  413. package/loading/lib/loading-spinner.component.d.ts +20 -0
  414. package/loading/lib/loading.component.d.ts +35 -0
  415. package/loading-dialog/lib/loading-dialog.component.d.ts +39 -1
  416. package/menu/lib/menu-item/menu-item.component.d.ts +52 -0
  417. package/menu/lib/menu.component.d.ts +7 -0
  418. package/nav/lib/nav-item/nav-item.component.d.ts +22 -0
  419. package/nav/lib/nav.component.d.ts +4 -0
  420. package/navbar/lib/navbar.component.d.ts +5 -0
  421. package/notification/lib/notification.component.d.ts +11 -0
  422. package/number-box/lib/number-box.component.d.ts +74 -1
  423. package/otp/lib/otp.component.d.ts +35 -1
  424. package/package.json +74 -68
  425. package/page/lib/page.component.d.ts +15 -0
  426. package/paint/README.md +3 -0
  427. package/paint/index.d.ts +7 -0
  428. package/paint/lib/paint/paint-container/paint-container.component.d.ts +16 -0
  429. package/paint/lib/paint/paint-toolbar/paint-toolbar.component.d.ts +9 -0
  430. package/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.d.ts +27 -0
  431. package/paint/lib/paint/paint-tools/paint-pen-cap/paint-pen-cap.component.d.ts +20 -0
  432. package/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.d.ts +33 -0
  433. package/paint/lib/paint/paint-view/paint-view.component.d.ts +42 -0
  434. package/paint/lib/paint/paint.service.d.ts +10 -0
  435. package/paint/lib/paint.module.d.ts +19 -0
  436. package/password-box/lib/password-box.component.d.ts +14 -1
  437. package/phone-box/lib/phone-box.component.d.ts +39 -1
  438. package/picker/lib/picker.component.d.ts +29 -0
  439. package/popover/lib/popover.component.d.ts +129 -0
  440. package/popup/lib/popup.component.d.ts +39 -4
  441. package/progress-bar/lib/progress-bar.component.d.ts +30 -1
  442. package/radio/lib/radio.component.d.ts +7 -1
  443. package/range-slider/lib/range-slider.component.d.ts +4 -0
  444. package/result/lib/result.component.d.ts +14 -0
  445. package/routing-progress/lib/routing-progress.component.d.ts +16 -0
  446. package/scheduler/lib/scheduler.component.d.ts +2 -0
  447. package/search-box/lib/search-box.component.d.ts +1 -1
  448. package/select-box/lib/select-box.component.d.ts +1 -1
  449. package/slider/lib/slider.component.d.ts +1 -1
  450. package/step-wizard/lib/step-wizard.component.d.ts +13 -0
  451. package/switch/lib/switch.component.d.ts +1 -1
  452. package/tag/lib/tag.component.d.ts +4 -0
  453. package/text-area/lib/text-area.component.d.ts +6 -1
  454. package/text-box/lib/text-box.component.d.ts +1 -1
  455. package/uploader/index.d.ts +4 -4
  456. package/uploader/lib/{uploader-drop-zone.component.d.ts → uploader-drop-zone/uploader-drop-zone.component.d.ts} +3 -1
  457. package/uploader/lib/{uploader-list.component.d.ts → uploader-list/uploader-list.component.d.ts} +2 -3
  458. package/uploader/lib/uploader-zone.directive.d.ts +1 -0
  459. package/uploader/lib/uploader.models.d.ts +14 -4
  460. package/uploader/lib/uploader.module.d.ts +4 -4
  461. package/uploader/lib/uploader.service.d.ts +6 -1
  462. package/wysiwyg/index.d.ts +6 -0
  463. package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +20 -15
  464. package/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.d.ts +1 -100
  465. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.d.ts +31 -0
  466. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +35 -0
  467. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.d.ts +37 -0
  468. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.d.ts +21 -0
  469. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.d.ts +35 -0
  470. package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.d.ts +23 -0
  471. package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +3 -1
  472. package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +0 -1
  473. package/wysiwyg/lib/wysiwyg.module.d.ts +14 -8
  474. package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +0 -18
  475. package/esm2022/uploader/lib/uploader-list.component.mjs +0 -26
  476. /package/uploader/lib/{uploader-dialog-container.component.d.ts → uploader-dialog-container/uploader-dialog-container.component.d.ts} +0 -0
@@ -31,12 +31,14 @@ class AXNotificationComponent extends MXBaseComponent {
31
31
  this.config = config;
32
32
  this.dialogRef = dialogRef;
33
33
  }
34
+ /** @ignore */
34
35
  ngOnInit() {
35
36
  super.ngOnInit();
36
37
  this._initContent();
37
38
  this._initIcon();
38
39
  this._handleTimeOut();
39
40
  }
41
+ /** @ignore */
40
42
  _handleTimeOut() {
41
43
  if (this.config.timeOut) {
42
44
  setTimeout(() => {
@@ -44,6 +46,7 @@ class AXNotificationComponent extends MXBaseComponent {
44
46
  }, this.config.timeOut);
45
47
  }
46
48
  }
49
+ /** @ignore */
47
50
  _initContent() {
48
51
  if (this.config.content instanceof TemplateRef) {
49
52
  this._selectedPortal = new TemplatePortal(this.config.content, this.getViewContainer());
@@ -54,6 +57,7 @@ class AXNotificationComponent extends MXBaseComponent {
54
57
  this.cdr.markForCheck();
55
58
  }
56
59
  }
60
+ /** @ignore */
57
61
  _initIcon() {
58
62
  if (!this.config.icon) {
59
63
  switch (this.config.color) {
@@ -78,24 +82,29 @@ class AXNotificationComponent extends MXBaseComponent {
78
82
  this._icon = this.config.icon;
79
83
  }
80
84
  }
85
+ /** @ignore */
81
86
  _handleButtonClick(button) {
82
87
  if (button.onClick) {
83
88
  button.onClick({ source: button });
84
89
  }
85
90
  }
91
+ /** @ignore */
86
92
  get __hostClass() {
87
93
  return `ax-${this.config.color}`;
88
94
  }
95
+ /**
96
+ * Closes the dialog and provides the component and HTML element for reference.
97
+ */
89
98
  close() {
90
99
  this.dialogRef.close({
91
100
  component: this,
92
101
  htmlElement: this.getHostElement(),
93
102
  });
94
103
  }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNotificationComponent, deps: [{ token: DIALOG_DATA }, { token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXNotificationComponent, selector: "ax-notification", host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], usesInheritance: true, ngImport: i0, template: "<span class=\"ax-notification-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title | translate | async }}</div>\n @if(_selectedPortal){\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n } @else{\n <div>{{ config.content }}</div>\n }\n\n @if(config.buttons?.length){\n <div class=\"ax-notification-buttons\">\n @for(button of config.buttons; track $index){\n <ax-button class=\"ax-xs\" [text]=\"button.text | translate | async\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n @if(button.loading){\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </div>\n }\n\n</div>\n@if(config.closeButton){\n<ax-close-button></ax-close-button>\n}\n@if(config.timeOutProgress && config.timeOut){\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"></div>\n}", styles: ["ax-notification{position:relative;display:flex;width:98vw;overflow:hidden;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface));padding:1rem;font-size:.875rem;line-height:1.25rem;--ax-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ax-shadow-colored: 0 10px 15px -3px var(--ax-shadow-color), 0 4px 6px -4px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow)}@media (min-width: 768px){ax-notification{width:24rem}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem;line-height:1.75rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex:1 1 0%;flex-direction:column;font-weight:400;color:rgba(var(--ax-color-on-surface-fore))}ax-notification .ax-notification-content .ax-notification-title{margin-bottom:.25rem;font-weight:500;line-height:1.5}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-notification-progress{position:absolute;bottom:0;inset-inline-end:0px;inset-inline-start:0px;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}.ax-dark ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-200))}.ax-dark ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-200))}.ax-dark ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-200))}.ax-dark ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-200))}.ax-dark ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-200))}.ax-dark ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-200))}.ax-dark ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-200))}.ax-dark ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-200))}.ax-dark ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-200))}.ax-dark ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-200))}.ax-dark ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-200))}\n"], dependencies: [{ kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i5.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNotificationComponent, deps: [{ token: DIALOG_DATA }, { token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXNotificationComponent, selector: "ax-notification", host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], usesInheritance: true, ngImport: i0, template: "<span class=\"ax-notification-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title | translate | async }}</div>\n @if(_selectedPortal){\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n } @else{\n <div>{{ config.content }}</div>\n }\n\n @if(config.buttons?.length){\n <div class=\"ax-notification-buttons\">\n @for(button of config.buttons; track $index){\n <ax-button class=\"ax-xs\" [text]=\"button.text | translate | async\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n @if(button.loading){\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </div>\n }\n\n</div>\n@if(config.closeButton){\n<ax-close-button></ax-close-button>\n}\n@if(config.timeOutProgress && config.timeOut){\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"></div>\n}", styles: ["ax-notification{position:relative;display:flex;width:98vw;overflow:hidden;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface));padding:1rem;font-size:.875rem;line-height:1.25rem;--ax-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ax-shadow-colored: 0 10px 15px -3px var(--ax-shadow-color), 0 4px 6px -4px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow)}@media (min-width: 768px){ax-notification{width:24rem}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem;line-height:1.75rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex:1 1 0%;flex-direction:column;font-weight:400;color:rgba(var(--ax-color-on-surface-fore))}ax-notification .ax-notification-content .ax-notification-title{margin-bottom:.25rem;font-weight:500;line-height:1.5}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-notification-progress{position:absolute;bottom:0;inset-inline-end:0px;inset-inline-start:0px;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}.ax-dark ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-200))}.ax-dark ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-200))}.ax-dark ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-200))}.ax-dark ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-200))}.ax-dark ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-200))}.ax-dark ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-200))}.ax-dark ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-200))}.ax-dark ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-200))}.ax-dark ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-200))}.ax-dark ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-200))}.ax-dark ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-200))}\n"], dependencies: [{ kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i5.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
97
106
  }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNotificationComponent, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNotificationComponent, decorators: [{
99
108
  type: Component,
100
109
  args: [{ selector: 'ax-notification', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], template: "<span class=\"ax-notification-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title | translate | async }}</div>\n @if(_selectedPortal){\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n } @else{\n <div>{{ config.content }}</div>\n }\n\n @if(config.buttons?.length){\n <div class=\"ax-notification-buttons\">\n @for(button of config.buttons; track $index){\n <ax-button class=\"ax-xs\" [text]=\"button.text | translate | async\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n @if(button.loading){\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </div>\n }\n\n</div>\n@if(config.closeButton){\n<ax-close-button></ax-close-button>\n}\n@if(config.timeOutProgress && config.timeOut){\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"></div>\n}", styles: ["ax-notification{position:relative;display:flex;width:98vw;overflow:hidden;border-radius:var(--ax-rounded-border-default);border-width:1px;border-color:rgba(var(--ax-color-border-default));background-color:rgba(var(--ax-color-surface));padding:1rem;font-size:.875rem;line-height:1.25rem;--ax-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--ax-shadow-colored: 0 10px 15px -3px var(--ax-shadow-color), 0 4px 6px -4px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow)}@media (min-width: 768px){ax-notification{width:24rem}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem;line-height:1.75rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex:1 1 0%;flex-direction:column;font-weight:400;color:rgba(var(--ax-color-on-surface-fore))}ax-notification .ax-notification-content .ax-notification-title{margin-bottom:.25rem;font-weight:500;line-height:1.5}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-notification-progress{position:absolute;bottom:0;inset-inline-end:0px;inset-inline-start:0px;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}.ax-dark ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-200))}.ax-dark ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-200))}.ax-dark ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-200))}.ax-dark ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-200))}.ax-dark ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-200))}.ax-dark ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-200))}.ax-dark ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-200))}.ax-dark ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-200))}.ax-dark ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-200))}.ax-dark ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-200))}.ax-dark ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-200))}.ax-dark ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-200))}\n"] }]
101
110
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -207,21 +216,21 @@ class AXNotificationService {
207
216
  return list[list.length - 1].getHostElement().offsetTop + list[list.length - 1].getHostElement().offsetHeight;
208
217
  }
209
218
  }
210
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
211
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNotificationService }); }
219
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
220
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNotificationService }); }
212
221
  }
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNotificationService, decorators: [{
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNotificationService, decorators: [{
214
223
  type: Injectable
215
224
  }] });
216
225
 
217
226
  const COMPONENT = [AXNotificationComponent];
218
227
  const MODULES = [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule, AXTranslationModule];
219
228
  class AXNotificationModule {
220
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
221
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXNotificationModule, declarations: [AXNotificationComponent], imports: [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule, AXTranslationModule], exports: [AXNotificationComponent] }); }
222
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNotificationModule, providers: [AXNotificationService], imports: [MODULES] }); }
229
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
230
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXNotificationModule, declarations: [AXNotificationComponent], imports: [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule, AXTranslationModule], exports: [AXNotificationComponent] }); }
231
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNotificationModule, providers: [AXNotificationService], imports: [MODULES] }); }
223
232
  }
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNotificationModule, decorators: [{
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNotificationModule, decorators: [{
225
234
  type: NgModule,
226
235
  args: [{
227
236
  declarations: [...COMPONENT],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-notification.mjs","sources":["../../../../libs/components/notification/src/lib/notification.component.ts","../../../../libs/components/notification/src/lib/notification.component.html","../../../../libs/components/notification/src/lib/notification.config.ts","../../../../libs/components/notification/src/lib/notification.service.ts","../../../../libs/components/notification/src/lib/notification.module.ts","../../../../libs/components/notification/src/acorex-components-notification.ts"],"sourcesContent":["import { AXClosbaleComponent, AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { ComponentPortal, ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\nimport { ChangeDetectionStrategy, Component, HostBinding, Inject, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { AXNotificationButtonItem, AXNotificationData } from './notification.class';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }],\n})\nexport class AXNotificationComponent extends MXBaseComponent {\n _selectedPortal: Portal<unknown>;\n _icon: string;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(DIALOG_DATA)\n public config: AXNotificationData,\n private dialogRef: DialogRef<AXComponentCloseEvent>,\n ) {\n super();\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this._initContent();\n this._initIcon();\n this._handleTimeOut();\n }\n\n private _handleTimeOut() {\n if (this.config.timeOut) {\n setTimeout(() => {\n this.close();\n }, this.config.timeOut);\n }\n }\n\n private _initContent() {\n if (this.config.content instanceof TemplateRef) {\n this._selectedPortal = new TemplatePortal(this.config.content as TemplateRef<unknown>, this.getViewContainer());\n this.cdr.markForCheck();\n } else if (typeof this.config.content === 'function') {\n this._selectedPortal = new ComponentPortal(this.config.content as ComponentType<unknown>);\n this.cdr.markForCheck();\n }\n }\n\n private _initIcon() {\n if (!this.config.icon) {\n switch (this.config.color) {\n case 'success':\n this._icon = 'ax-icon ax-icon-check-circle';\n break;\n case 'danger':\n this._icon = 'ax-icon ax-icon-error';\n break;\n case 'warning':\n this._icon = 'ax-icon ax-icon-warning';\n break;\n case 'info':\n this._icon = 'ax-icon ax-icon-info';\n break;\n default:\n this._icon = this.config.icon || 'ax-icon ax-icon-check-circle';\n break;\n }\n } else {\n this._icon = this.config.icon;\n }\n }\n\n protected _handleButtonClick(button: AXNotificationButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-${this.config.color}`;\n }\n\n close() {\n this.dialogRef.close({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n}\n","<span class=\"ax-notification-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title | translate | async }}</div>\n @if(_selectedPortal){\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n } @else{\n <div>{{ config.content }}</div>\n }\n\n @if(config.buttons?.length){\n <div class=\"ax-notification-buttons\">\n @for(button of config.buttons; track $index){\n <ax-button class=\"ax-xs\" [text]=\"button.text | translate | async\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n @if(button.loading){\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </div>\n }\n\n</div>\n@if(config.closeButton){\n<ax-close-button></ax-close-button>\n}\n@if(config.timeOutProgress && config.timeOut){\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"></div>\n}","import { AXLocation } from '@acorex/components/common';\nimport { InjectionToken } from '@angular/core';\n\nexport interface AXNotificationConfig {\n gap: number;\n timeOut: number;\n timeOutProgress: boolean;\n location: AXLocation;\n closeButton: boolean;\n}\n\nexport const AX_NOTIFICATION_CONFIG = new InjectionToken<AXNotificationConfig>('AX_NOTIFICATION_CONFIG', {\n providedIn: 'root',\n factory: () => AXNotificationDefaultConfig,\n});\n\nexport const AXNotificationDefaultConfig: AXNotificationConfig = {\n gap: 5,\n timeOut: 2500,\n timeOutProgress: true,\n closeButton: true,\n location: 'top-end',\n};\n\nexport type PartialNotificationConfig = Partial<AXNotificationConfig>;\n\nexport function notificationConfig(config: PartialNotificationConfig = {}): AXNotificationConfig {\n const result = {\n ...AXNotificationDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { Injectable, inject } from '@angular/core';\nimport { AXNotificationOptions as AXNotificationDisplayConfig, AXNotificationRef } from './notification.class';\nimport { AXNotificationComponent } from './notification.component';\nimport { AXNotificationConfig, AX_NOTIFICATION_CONFIG } from './notification.config';\n\n@Injectable()\nexport class AXNotificationService {\n private dialog: Dialog = inject(Dialog);\n private defaultConfig: AXNotificationConfig = inject(AX_NOTIFICATION_CONFIG);\n\n show(config: AXNotificationDisplayConfig): AXNotificationRef {\n config = Object.assign(\n {\n closeButton: true,\n location: this.defaultConfig.location,\n },\n config,\n );\n const gap = this.defaultConfig.gap;\n\n let positionStrategy = new GlobalPositionStrategy();\n const pos = this.getPosition(config.location) + gap + 'px';\n switch (config.location) {\n case 'bottom-center':\n positionStrategy = positionStrategy.bottom(pos).centerHorizontally();\n break;\n case 'bottom-end':\n positionStrategy = positionStrategy.bottom(pos).right(gap + 'px');\n break;\n case 'bottom-start':\n positionStrategy = positionStrategy.bottom(pos).left(gap + 'px');\n break;\n case 'top-center':\n positionStrategy = positionStrategy.top(pos).centerHorizontally();\n break;\n case 'top-end':\n positionStrategy = positionStrategy.top(pos).right(gap + 'px');\n break;\n case 'top-start':\n positionStrategy = positionStrategy.top(pos).left(gap + 'px');\n break;\n case 'center-start':\n positionStrategy = positionStrategy.centerVertically().left(gap + 'px');\n break;\n case 'center-end':\n positionStrategy = positionStrategy.centerVertically().right(gap + 'px');\n break;\n default:\n break;\n }\n\n const dialogRef = this.dialog.open(AXNotificationComponent, {\n data: config,\n autoFocus: '__no_element__',\n restoreFocus: false,\n role: 'dialog',\n ariaModal: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: false,\n panelClass: ['ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],\n positionStrategy: positionStrategy,\n });\n\n const toastRef = dialogRef.componentInstance as AXNotificationComponent;\n dialogRef.closed.subscribe(() => {\n this.reposition();\n });\n\n return {\n close: () => {\n toastRef.close();\n },\n };\n }\n\n public hideAll() {\n this.dialog.closeAll();\n }\n\n private reposition(): void {\n //TODO: reposition vertically afer close toast\n }\n\n private getPosition(location: string) {\n const list = this.dialog.openDialogs\n .map((c) => c.componentInstance as AXNotificationComponent)\n .filter((c) => c.config.location == location);\n if (list.length == 0) return 0;\n if (location.split('-')[0] == 'bottom') {\n return window.innerHeight - list[list.length - 1].getHostElement().offsetTop;\n } else {\n return list[list.length - 1].getHostElement().offsetTop + list[list.length - 1].getHostElement().offsetHeight;\n }\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXNotificationComponent } from './notification.component';\nimport { AXNotificationService } from './notification.service';\n\nconst COMPONENT = [AXNotificationComponent];\nconst MODULES = [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule, AXTranslationModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [AXNotificationService],\n})\nexport class AXNotificationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-notification.mjs","sources":["../../../../libs/components/notification/src/lib/notification.component.ts","../../../../libs/components/notification/src/lib/notification.component.html","../../../../libs/components/notification/src/lib/notification.config.ts","../../../../libs/components/notification/src/lib/notification.service.ts","../../../../libs/components/notification/src/lib/notification.module.ts","../../../../libs/components/notification/src/acorex-components-notification.ts"],"sourcesContent":["import { AXClosbaleComponent, AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { ComponentPortal, ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\nimport { ChangeDetectionStrategy, Component, HostBinding, Inject, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { AXNotificationButtonItem, AXNotificationData } from './notification.class';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }],\n})\nexport class AXNotificationComponent extends MXBaseComponent {\n\n/** @ignore */\n _selectedPortal: Portal<unknown>;\n\n /** @ignore */\n _icon: string;\n\n /**\n * @ignore\n */\n constructor(\n @Inject(DIALOG_DATA)\n public config: AXNotificationData,\n private dialogRef: DialogRef<AXComponentCloseEvent>,\n ) {\n super();\n }\n\n /** @ignore */\n override ngOnInit() {\n super.ngOnInit();\n this._initContent();\n this._initIcon();\n this._handleTimeOut();\n }\n\n /** @ignore */\n private _handleTimeOut() {\n if (this.config.timeOut) {\n setTimeout(() => {\n this.close();\n }, this.config.timeOut);\n }\n }\n\n /** @ignore */\n private _initContent() {\n if (this.config.content instanceof TemplateRef) {\n this._selectedPortal = new TemplatePortal(this.config.content as TemplateRef<unknown>, this.getViewContainer());\n this.cdr.markForCheck();\n } else if (typeof this.config.content === 'function') {\n this._selectedPortal = new ComponentPortal(this.config.content as ComponentType<unknown>);\n this.cdr.markForCheck();\n }\n }\n\n /** @ignore */\n private _initIcon() {\n if (!this.config.icon) {\n switch (this.config.color) {\n case 'success':\n this._icon = 'ax-icon ax-icon-check-circle';\n break;\n case 'danger':\n this._icon = 'ax-icon ax-icon-error';\n break;\n case 'warning':\n this._icon = 'ax-icon ax-icon-warning';\n break;\n case 'info':\n this._icon = 'ax-icon ax-icon-info';\n break;\n default:\n this._icon = this.config.icon || 'ax-icon ax-icon-check-circle';\n break;\n }\n } else {\n this._icon = this.config.icon;\n }\n }\n\n /** @ignore */\n protected _handleButtonClick(button: AXNotificationButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-${this.config.color}`;\n }\n\n /**\n * Closes the dialog and provides the component and HTML element for reference.\n */\n close() {\n this.dialogRef.close({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n}\n","<span class=\"ax-notification-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title | translate | async }}</div>\n @if(_selectedPortal){\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n } @else{\n <div>{{ config.content }}</div>\n }\n\n @if(config.buttons?.length){\n <div class=\"ax-notification-buttons\">\n @for(button of config.buttons; track $index){\n <ax-button class=\"ax-xs\" [text]=\"button.text | translate | async\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n @if(button.loading){\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </div>\n }\n\n</div>\n@if(config.closeButton){\n<ax-close-button></ax-close-button>\n}\n@if(config.timeOutProgress && config.timeOut){\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"></div>\n}","import { AXLocation } from '@acorex/components/common';\nimport { InjectionToken } from '@angular/core';\n\nexport interface AXNotificationConfig {\n gap: number;\n timeOut: number;\n timeOutProgress: boolean;\n location: AXLocation;\n closeButton: boolean;\n}\n\nexport const AX_NOTIFICATION_CONFIG = new InjectionToken<AXNotificationConfig>('AX_NOTIFICATION_CONFIG', {\n providedIn: 'root',\n factory: () => AXNotificationDefaultConfig,\n});\n\nexport const AXNotificationDefaultConfig: AXNotificationConfig = {\n gap: 5,\n timeOut: 2500,\n timeOutProgress: true,\n closeButton: true,\n location: 'top-end',\n};\n\nexport type PartialNotificationConfig = Partial<AXNotificationConfig>;\n\nexport function notificationConfig(config: PartialNotificationConfig = {}): AXNotificationConfig {\n const result = {\n ...AXNotificationDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { Dialog } from '@angular/cdk/dialog';\nimport { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { Injectable, inject } from '@angular/core';\nimport { AXNotificationOptions as AXNotificationDisplayConfig, AXNotificationRef } from './notification.class';\nimport { AXNotificationComponent } from './notification.component';\nimport { AXNotificationConfig, AX_NOTIFICATION_CONFIG } from './notification.config';\n\n@Injectable()\nexport class AXNotificationService {\n private dialog: Dialog = inject(Dialog);\n private defaultConfig: AXNotificationConfig = inject(AX_NOTIFICATION_CONFIG);\n\n show(config: AXNotificationDisplayConfig): AXNotificationRef {\n config = Object.assign(\n {\n closeButton: true,\n location: this.defaultConfig.location,\n },\n config,\n );\n const gap = this.defaultConfig.gap;\n\n let positionStrategy = new GlobalPositionStrategy();\n const pos = this.getPosition(config.location) + gap + 'px';\n switch (config.location) {\n case 'bottom-center':\n positionStrategy = positionStrategy.bottom(pos).centerHorizontally();\n break;\n case 'bottom-end':\n positionStrategy = positionStrategy.bottom(pos).right(gap + 'px');\n break;\n case 'bottom-start':\n positionStrategy = positionStrategy.bottom(pos).left(gap + 'px');\n break;\n case 'top-center':\n positionStrategy = positionStrategy.top(pos).centerHorizontally();\n break;\n case 'top-end':\n positionStrategy = positionStrategy.top(pos).right(gap + 'px');\n break;\n case 'top-start':\n positionStrategy = positionStrategy.top(pos).left(gap + 'px');\n break;\n case 'center-start':\n positionStrategy = positionStrategy.centerVertically().left(gap + 'px');\n break;\n case 'center-end':\n positionStrategy = positionStrategy.centerVertically().right(gap + 'px');\n break;\n default:\n break;\n }\n\n const dialogRef = this.dialog.open(AXNotificationComponent, {\n data: config,\n autoFocus: '__no_element__',\n restoreFocus: false,\n role: 'dialog',\n ariaModal: true,\n closeOnNavigation: true,\n closeOnDestroy: true,\n hasBackdrop: false,\n panelClass: ['ax-animate-animated', 'ax-animate-fadeIn', 'ax-animate-faster'],\n positionStrategy: positionStrategy,\n });\n\n const toastRef = dialogRef.componentInstance as AXNotificationComponent;\n dialogRef.closed.subscribe(() => {\n this.reposition();\n });\n\n return {\n close: () => {\n toastRef.close();\n },\n };\n }\n\n public hideAll() {\n this.dialog.closeAll();\n }\n\n private reposition(): void {\n //TODO: reposition vertically afer close toast\n }\n\n private getPosition(location: string) {\n const list = this.dialog.openDialogs\n .map((c) => c.componentInstance as AXNotificationComponent)\n .filter((c) => c.config.location == location);\n if (list.length == 0) return 0;\n if (location.split('-')[0] == 'bottom') {\n return window.innerHeight - list[list.length - 1].getHostElement().offsetTop;\n } else {\n return list[list.length - 1].getHostElement().offsetTop + list[list.length - 1].getHostElement().offsetHeight;\n }\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXNotificationComponent } from './notification.component';\nimport { AXNotificationService } from './notification.service';\n\nconst COMPONENT = [AXNotificationComponent];\nconst MODULES = [CommonModule, PortalModule, AXButtonModule, DialogModule, AXLoadingModule, AXDecoratorModule, AXTranslationModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [AXNotificationService],\n})\nexport class AXNotificationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -20,11 +20,13 @@ import { CommonModule } from '@angular/common';
20
20
  class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {
21
21
  constructor() {
22
22
  super(...arguments);
23
+ /** @ignore */
23
24
  this._padDecimalZeros = false;
24
25
  /**
25
26
  * Specifies the value that is used to increment or decrement the **Integer** part of number
26
27
  */
27
28
  this.step = 1;
29
+ /** @ignore */
28
30
  this._decimals = 0;
29
31
  /**
30
32
  * Specifies the value that is used to increment or decrement the **Deciaml** part of number
@@ -34,7 +36,9 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
34
36
  * Specifies whether the Up and Down spin buttons will be rendered or not
35
37
  */
36
38
  this.showSpinButtons = true;
39
+ /** @ignore */
37
40
  this._minValue = Number.MIN_SAFE_INTEGER;
41
+ /** @ignore */
38
42
  this._maxValue = Number.MAX_SAFE_INTEGER;
39
43
  }
40
44
  /**
@@ -43,6 +47,10 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
43
47
  get thousandsSeparator() {
44
48
  return this._thousandsSeparator;
45
49
  }
50
+ /**
51
+ * Sets the thousands separator for formatting.
52
+ * @param {string} v
53
+ */
46
54
  set thousandsSeparator(v) {
47
55
  this.setOption({
48
56
  name: 'thousandsSeparator',
@@ -55,6 +63,10 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
55
63
  get padDecimalZeros() {
56
64
  return this._padDecimalZeros;
57
65
  }
66
+ /**
67
+ * Sets whether decimal zeros should be padded.
68
+ * @param {boolean} v
69
+ */
58
70
  set padDecimalZeros(v) {
59
71
  this.setOption({
60
72
  name: 'padDecimalZeros',
@@ -67,6 +79,9 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
67
79
  get decimals() {
68
80
  return this._decimals;
69
81
  }
82
+ /**
83
+ * Sets the decimal places; defaults to 0 if not provided.
84
+ */
70
85
  set decimals(v) {
71
86
  this.setOption({
72
87
  name: 'decimals',
@@ -79,6 +94,11 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
79
94
  get minValue() {
80
95
  return this._minValue;
81
96
  }
97
+ /**
98
+ * Sets the number of decimal places to be used.
99
+ * @param {number} v
100
+ * @defaultvalue 0
101
+ */
82
102
  set minValue(v) {
83
103
  this.setOption({
84
104
  name: 'minValue',
@@ -91,22 +111,37 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
91
111
  get maxValue() {
92
112
  return this._maxValue;
93
113
  }
114
+ /**
115
+ * Sets the maximum allowable value, defaulting to `Number.MAX_SAFE_INTEGER` if null.
116
+ * @param v
117
+ */
94
118
  set maxValue(v) {
95
119
  this.setOption({
96
120
  name: 'maxValue',
97
121
  value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,
98
122
  });
99
123
  }
124
+ /** @ignore */
100
125
  ngAfterViewInit() {
101
126
  this._updateMask();
102
127
  }
128
+ /**
129
+ * Handles internal option changes and updates the mask accordingly.
130
+ */
103
131
  internalOptionChanged() {
104
132
  this._updateMask();
105
133
  }
134
+ /**
135
+ * Resets the input element to its default state and calls the parent class reset method.
136
+ */
106
137
  reset() {
107
138
  this.input.nativeElement.value = null;
108
139
  super.reset(true);
109
140
  }
141
+ /**
142
+ * Ensures the value is within the min-max range, returning the default if null.
143
+ * @param value
144
+ */
110
145
  internalSetValue(value) {
111
146
  // || (value == 0 && !this._maskObj.value)
112
147
  if (value == null) {
@@ -119,6 +154,7 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
119
154
  return this.maxValue;
120
155
  return v;
121
156
  }
157
+ /** @ignore */
122
158
  _updateMask() {
123
159
  if (!this._maskObj) {
124
160
  this._maskObj = createMask({
@@ -152,12 +188,14 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
152
188
  this._maskDirective?.maskRef?.updateValue();
153
189
  this._maskDirective?.maskRef?.updateControl();
154
190
  }
191
+ /** @ignore */
155
192
  _handleModelChange(value) {
156
193
  if (value == 0 && isEmpty(this.input?.nativeElement?.value)) {
157
194
  value = null;
158
195
  }
159
196
  this.commitValue(value, true);
160
197
  }
198
+ /** @ignore */
161
199
  _handleOnKeydownEvent(e) {
162
200
  if (this.disabled || this.readonly)
163
201
  return;
@@ -183,37 +221,50 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
183
221
  }
184
222
  super.emitOnKeydownEvent(e);
185
223
  }
224
+ /** @ignore */
186
225
  _handleUpDownClick(v) {
187
226
  if (this.disabled || this.readonly)
188
227
  return;
189
228
  v == 1 ? this.stepUp(true) : this.stepDown(true);
190
229
  }
230
+ /**
231
+ * Increases the value by the step amount, ensuring it's at least the minimum value.
232
+ */
191
233
  stepUp(u = false) {
192
234
  if (!this.value) {
193
235
  this.commitValue(Math.max(this.minValue, 0), u);
194
236
  }
195
237
  this.commitValue(this.value + toNumber(this.step), u);
196
238
  }
239
+ /**
240
+ * Decreases the value by the step amount, ensuring it's at least the minimum value.
241
+ */
197
242
  stepDown(u = false) {
198
243
  if (!this.value) {
199
244
  this.commitValue(Math.max(this.minValue, 0), u);
200
245
  }
201
246
  this.commitValue(this.value - toNumber(this.step), u);
202
247
  }
248
+ /**
249
+ * Increases the value by the decimal step amount, using 'auto' or a custom step value.
250
+ */
203
251
  decimalStepUp(u = false) {
204
252
  if (!this.value) {
205
253
  this.commitValue(Math.max(this.minValue, 0), u);
206
254
  }
207
255
  this.commitValue(this.value + toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);
208
256
  }
257
+ /**
258
+ * Decreases the value by the decimal step amount, using 'auto' or a custom step value.
259
+ */
209
260
  decimalStepDown(u = false) {
210
261
  if (!this.value) {
211
262
  this.commitValue(Math.max(this.minValue, 0), u);
212
263
  }
213
264
  this.commitValue(this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);
214
265
  }
215
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNumberBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
216
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", look: "look", thousandsSeparator: "thousandsSeparator", padDecimalZeros: "padDecimalZeros", step: "step", decimals: "decimals", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue", classNames: ["class", "classNames"] }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, providers: [
266
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNumberBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
267
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", look: "look", thousandsSeparator: "thousandsSeparator", padDecimalZeros: "padDecimalZeros", step: "step", decimals: "decimals", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue", classNames: ["class", "classNames"] }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, providers: [
217
268
  { provide: AXComponent, useExisting: AXNumberBoxComponent },
218
269
  { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },
219
270
  { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },
@@ -225,7 +276,7 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
225
276
  },
226
277
  ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container ax-look-{{look}} {{classNames}}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\" [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" />\n @if(input.value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if(showSpinButtons){\n <div class=\"ax-number-box-control\">\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\" [disabled]=\"disabled\"><span\n class=\"ax-icon ax-icon-chevron-up ax-arrow-button \"></span></button>\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1)\" [disabled]=\"disabled\"><span\n class=\"ax-icon ax-icon-chevron-down ax-arrow-button \"></span></button>\n </div>\n\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>", styles: [".ax-number-box-control{display:flex;flex-direction:column}.ax-number-box-control button,.ax-number-box-control button .ax-icon{height:fit-content!important}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
227
278
  }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
229
280
  type: Component,
230
281
  args: [{ selector: 'ax-number-box', inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'], outputs: [
231
282
  'valueChange',
@@ -256,19 +307,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
256
307
  type: Input
257
308
  }], padDecimalZeros: [{
258
309
  type: Input
259
- }], step: [{
310
+ }],
311
+ /**
312
+ * Defines the increment step value.
313
+ */
314
+ step: [{
260
315
  type: Input
261
316
  }], decimals: [{
262
317
  type: Input
263
- }], decimalStep: [{
318
+ }],
319
+ /**
320
+ * Defines the step size for decimal values.
321
+ * @defaultvalue 'auto'
322
+ */
323
+ decimalStep: [{
264
324
  type: Input
265
- }], showSpinButtons: [{
325
+ }],
326
+ /**
327
+ * Indicates whether spin buttons are displayed.
328
+ * @defaultvalue true
329
+ */
330
+ showSpinButtons: [{
266
331
  type: Input
267
332
  }], minValue: [{
268
333
  type: Input
269
334
  }], maxValue: [{
270
335
  type: Input
271
- }], classNames: [{
336
+ }],
337
+ /**
338
+ * CSS classes to apply to the component.
339
+ */
340
+ classNames: [{
272
341
  type: Input,
273
342
  args: ['class']
274
343
  }], _maskDirective: [{
@@ -279,11 +348,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
279
348
  const COMPONENT = [AXNumberBoxComponent];
280
349
  const MODULES = [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule];
281
350
  class AXNumberBoxModule {
282
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNumberBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
283
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXNumberBoxModule, declarations: [AXNumberBoxComponent], imports: [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule], exports: [AXNumberBoxComponent] }); }
284
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNumberBoxModule, imports: [MODULES] }); }
351
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNumberBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
352
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXNumberBoxModule, declarations: [AXNumberBoxComponent], imports: [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule], exports: [AXNumberBoxComponent] }); }
353
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNumberBoxModule, imports: [MODULES] }); }
285
354
  }
286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXNumberBoxModule, decorators: [{
355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXNumberBoxModule, decorators: [{
287
356
  type: NgModule,
288
357
  args: [{
289
358
  declarations: [...COMPONENT],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-number-box.mjs","sources":["../../../../libs/components/number-box/src/lib/number-box.component.ts","../../../../libs/components/number-box/src/lib/number-box.component.html","../../../../libs/components/number-box/src/lib/number-box.module.ts","../../../../libs/components/number-box/src/acorex-components-number-box.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { IMaskDirective } from 'angular-imask';\nimport { MaskedNumber, createMask } from 'imask';\n\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isEmpty, toNumber } from 'lodash-es';\nimport { classes } from 'polytype';\n\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-number-box',\n templateUrl: './number-box.component.html',\n styleUrls: ['./number-box.component.scss'],\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n\n providers: [\n { provide: AXComponent, useExisting: AXNumberBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXValuableComponent, useExisting: AXNumberBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXNumberBoxComponent extends classes(MXInputBaseValueComponent<number>, MXLookComponent) implements AfterViewInit {\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\n\n private _thousandsSeparator: string;\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n public get thousandsSeparator(): string {\n return this._thousandsSeparator;\n }\n public set thousandsSeparator(v: string) {\n this.setOption({\n name: 'thousandsSeparator',\n value: v ?? '',\n });\n }\n\n private _padDecimalZeros = false;\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n public get padDecimalZeros(): boolean {\n return this._padDecimalZeros;\n }\n public set padDecimalZeros(v: boolean) {\n this.setOption({\n name: 'padDecimalZeros',\n value: v,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Integer** part of number\n */\n @Input()\n step = 1;\n\n private _decimals = 0;\n /**\n * Specifies the number of decimals that the user can enter\n */\n @Input()\n public get decimals(): number {\n return this._decimals;\n }\n public set decimals(v: number) {\n this.setOption({\n name: 'decimals',\n value: v ?? 0,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Deciaml** part of number\n */\n @Input()\n decimalStep: number | 'auto' = 'auto';\n\n /**\n * Specifies whether the Up and Down spin buttons will be rendered or not\n */\n @Input()\n showSpinButtons = true;\n\n private _minValue: number = Number.MIN_SAFE_INTEGER;\n /**\n * Specifies the smallest value that is valid\n */\n @Input()\n public get minValue(): number {\n return this._minValue;\n }\n public set minValue(v: number) {\n this.setOption({\n name: 'minValue',\n value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,\n });\n }\n\n private _maxValue: number = Number.MAX_SAFE_INTEGER;\n /**\n * Specifies the greatest value that is valid\n */\n @Input()\n public get maxValue(): number {\n return this._maxValue;\n }\n public set maxValue(v: number) {\n this.setOption({\n name: 'maxValue',\n value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,\n });\n }\n\n @Input('class')\n classNames: string;\n\n /**\n * @ignore\n */\n _maskObj: MaskedNumber;\n\n @ViewChild(IMaskDirective)\n private _maskDirective: IMaskDirective<MaskedNumber>;\n\n ngAfterViewInit(): void {\n this._updateMask();\n }\n\n override internalOptionChanged(): void {\n this._updateMask();\n }\n\n override reset(): void {\n this.input.nativeElement.value = null;\n super.reset(true);\n }\n\n override internalSetValue(value: any): number {\n // || (value == 0 && !this._maskObj.value)\n if (value == null) {\n return this.defaultValue;\n }\n const v = toNumber(value);\n if (v < this.minValue) return this.minValue;\n if (v > this.maxValue) return this.maxValue;\n return v;\n }\n\n private _updateMask() {\n if (!this._maskObj) {\n this._maskObj = createMask({\n mask: Number,\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n\n this._maskObj.format = (v: number, m) => {\n return !isNaN(v)\n ? v.toLocaleString('en-US', {\n useGrouping: false,\n maximumFractionDigits: 20,\n })\n : '';\n };\n } else {\n this._maskObj.updateOptions({\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n }\n this._maskDirective?.maskRef?.updateValue();\n this._maskDirective?.maskRef?.updateControl();\n }\n\n _handleModelChange(value: number) {\n if (value == 0 && isEmpty(this.input?.nativeElement?.value)) {\n value = null;\n }\n\n this.commitValue(value, true);\n }\n\n _handleOnKeydownEvent(e: KeyboardEvent) {\n if (this.disabled || this.readonly) return;\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n const input = e.target as HTMLInputElement;\n const valStr = input.value;\n const decimalPointIndex = valStr.indexOf('.');\n const _cursorPos = input.selectionStart!;\n\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n if (decimalPointIndex > 0 && _cursorPos > decimalPointIndex && this.decimals > 0) {\n e.key === 'ArrowDown' ? this.decimalStepDown(true) : this.decimalStepUp(true);\n } else {\n e.key === 'ArrowDown' ? this.stepDown(true) : this.stepUp(true);\n }\n ignore();\n setTimeout(() => {\n input.setSelectionRange(_cursorPos, _cursorPos);\n }, 5);\n }\n super.emitOnKeydownEvent(e);\n }\n\n protected _handleUpDownClick(v: -1 | 1) {\n if (this.disabled || this.readonly) return;\n v == 1 ? this.stepUp(true) : this.stepDown(true);\n }\n\n stepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value + toNumber(this.step), u);\n }\n\n stepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value - toNumber(this.step), u);\n }\n\n decimalStepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value + toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);\n }\n\n decimalStepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);\n }\n\n // @HostBinding('class')\n // get __hostClass(): string {\n // return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;\n // }\n}\n","<div class=\"ax-editor-container ax-look-{{look}} {{classNames}}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\" [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" />\n @if(input.value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if(showSpinButtons){\n <div class=\"ax-number-box-control\">\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\" [disabled]=\"disabled\"><span\n class=\"ax-icon ax-icon-chevron-up ax-arrow-button \"></span></button>\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1)\" [disabled]=\"disabled\"><span\n class=\"ax-icon ax-icon-chevron-down ax-arrow-button \"></span></button>\n </div>\n\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IMaskModule } from 'angular-imask';\nimport { AXNumberBoxComponent } from './number-box.component';\n\nconst COMPONENT = [AXNumberBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXNumberBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-number-box.mjs","sources":["../../../../libs/components/number-box/src/lib/number-box.component.ts","../../../../libs/components/number-box/src/lib/number-box.component.html","../../../../libs/components/number-box/src/lib/number-box.module.ts","../../../../libs/components/number-box/src/acorex-components-number-box.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { IMaskDirective } from 'angular-imask';\nimport { MaskedNumber, createMask } from 'imask';\n\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isEmpty, toNumber } from 'lodash-es';\nimport { classes } from 'polytype';\n\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-number-box',\n templateUrl: './number-box.component.html',\n styleUrls: ['./number-box.component.scss'],\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n\n providers: [\n { provide: AXComponent, useExisting: AXNumberBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXValuableComponent, useExisting: AXNumberBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXNumberBoxComponent extends classes(MXInputBaseValueComponent<number>, MXLookComponent) implements AfterViewInit {\n\n /** @ignore */\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\n\n /** @ignore */\n private _thousandsSeparator: string;\n\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n\n/**\n * Gets the thousands separator used in the formatting.\n * @param {string} value\n */\n public get thousandsSeparator(): string {\n return this._thousandsSeparator;\n }\n\n/**\n * Sets the thousands separator for formatting.\n * @param {string} v\n */\n public set thousandsSeparator(v: string) {\n this.setOption({\n name: 'thousandsSeparator',\n value: v ?? '',\n });\n }\n\n /** @ignore */\n private _padDecimalZeros = false;\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n\n/**\n * Gets whether decimal zeros are padded.\n * @param {boolean} value\n */\n public get padDecimalZeros(): boolean {\n return this._padDecimalZeros;\n }\n\n/**\n * Sets whether decimal zeros should be padded.\n * @param {boolean} v\n */\n public set padDecimalZeros(v: boolean) {\n this.setOption({\n name: 'padDecimalZeros',\n value: v,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Integer** part of number\n */\n @Input()\n\n /**\n * Defines the increment step value.\n */\n step = 1;\n\n /** @ignore */\n private _decimals = 0;\n /**\n * Specifies the number of decimals that the user can enter\n */\n @Input()\n\n/**\n * Gets the number of decimal places to be used.\n */\n public get decimals(): number {\n return this._decimals;\n }\n\n/**\n * Sets the decimal places; defaults to 0 if not provided.\n */\n public set decimals(v: number) {\n this.setOption({\n name: 'decimals',\n value: v ?? 0,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Deciaml** part of number\n */\n @Input()\n\n/**\n * Defines the step size for decimal values.\n * @defaultvalue 'auto'\n */\n decimalStep: number | 'auto' = 'auto';\n\n /**\n * Specifies whether the Up and Down spin buttons will be rendered or not\n */\n @Input()\n\n /**\n * Indicates whether spin buttons are displayed.\n * @defaultvalue true\n */\n showSpinButtons = true;\n\n /** @ignore */\n private _minValue: number = Number.MIN_SAFE_INTEGER;\n /**\n * Specifies the smallest value that is valid\n */\n @Input()\n\n /**\n * Gets the number of decimal places used.\n * @param {number} value\n */\n public get minValue(): number {\n return this._minValue;\n }\n\n /**\n * Sets the number of decimal places to be used.\n * @param {number} v\n * @defaultvalue 0\n */\n public set minValue(v: number) {\n this.setOption({\n name: 'minValue',\n value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,\n });\n }\n\n /** @ignore */\n private _maxValue: number = Number.MAX_SAFE_INTEGER;\n\n /**\n * Specifies the greatest value that is valid\n */\n @Input()\n\n /**\n * Returns the maximum allowable value.\n */\n public get maxValue(): number {\n return this._maxValue;\n }\n\n/**\n * Sets the maximum allowable value, defaulting to `Number.MAX_SAFE_INTEGER` if null.\n * @param v\n */\n public set maxValue(v: number) {\n this.setOption({\n name: 'maxValue',\n value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,\n });\n }\n\n /**\n * CSS classes to apply to the component.\n * @param classNames\n */\n @Input('class')\n\n /**\n * CSS classes to apply to the component.\n */\n classNames: string;\n\n /**\n * @ignore\n */\n _maskObj: MaskedNumber;\n\n /** @ignore */\n @ViewChild(IMaskDirective)\n\n /** @ignore */\n private _maskDirective: IMaskDirective<MaskedNumber>;\n\n /** @ignore */\n ngAfterViewInit(): void {\n this._updateMask();\n }\n\n /**\n * Handles internal option changes and updates the mask accordingly.\n */\n override internalOptionChanged(): void {\n this._updateMask();\n }\n\n /**\n * Resets the input element to its default state and calls the parent class reset method.\n */\n override reset(): void {\n this.input.nativeElement.value = null;\n super.reset(true);\n }\n\n /**\n * Ensures the value is within the min-max range, returning the default if null.\n * @param value\n */\n override internalSetValue(value: any): number {\n // || (value == 0 && !this._maskObj.value)\n if (value == null) {\n return this.defaultValue;\n }\n const v = toNumber(value);\n if (v < this.minValue) return this.minValue;\n if (v > this.maxValue) return this.maxValue;\n return v;\n }\n\n /** @ignore */\n private _updateMask() {\n if (!this._maskObj) {\n this._maskObj = createMask({\n mask: Number,\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n\n this._maskObj.format = (v: number, m) => {\n return !isNaN(v)\n ? v.toLocaleString('en-US', {\n useGrouping: false,\n maximumFractionDigits: 20,\n })\n : '';\n };\n } else {\n this._maskObj.updateOptions({\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n }\n this._maskDirective?.maskRef?.updateValue();\n this._maskDirective?.maskRef?.updateControl();\n }\n\n /** @ignore */\n _handleModelChange(value: number) {\n if (value == 0 && isEmpty(this.input?.nativeElement?.value)) {\n value = null;\n }\n\n this.commitValue(value, true);\n }\n\n /** @ignore */\n _handleOnKeydownEvent(e: KeyboardEvent) {\n if (this.disabled || this.readonly) return;\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n const input = e.target as HTMLInputElement;\n const valStr = input.value;\n const decimalPointIndex = valStr.indexOf('.');\n const _cursorPos = input.selectionStart!;\n\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n if (decimalPointIndex > 0 && _cursorPos > decimalPointIndex && this.decimals > 0) {\n e.key === 'ArrowDown' ? this.decimalStepDown(true) : this.decimalStepUp(true);\n } else {\n e.key === 'ArrowDown' ? this.stepDown(true) : this.stepUp(true);\n }\n ignore();\n setTimeout(() => {\n input.setSelectionRange(_cursorPos, _cursorPos);\n }, 5);\n }\n super.emitOnKeydownEvent(e);\n }\n\n /** @ignore */\n protected _handleUpDownClick(v: -1 | 1) {\n if (this.disabled || this.readonly) return;\n v == 1 ? this.stepUp(true) : this.stepDown(true);\n }\n\n /**\n * Increases the value by the step amount, ensuring it's at least the minimum value.\n */\n stepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value + toNumber(this.step), u);\n }\n\n /**\n * Decreases the value by the step amount, ensuring it's at least the minimum value.\n */\n stepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value - toNumber(this.step), u);\n }\n\n /**\n * Increases the value by the decimal step amount, using 'auto' or a custom step value.\n */\n decimalStepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value + toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);\n }\n\n /**\n * Decreases the value by the decimal step amount, using 'auto' or a custom step value.\n */\n decimalStepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);\n }\n\n // @HostBinding('class')\n // get __hostClass(): string {\n // return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;\n // }\n}\n","<div class=\"ax-editor-container ax-look-{{look}} {{classNames}}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\" [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" />\n @if(input.value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if(showSpinButtons){\n <div class=\"ax-number-box-control\">\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\" [disabled]=\"disabled\"><span\n class=\"ax-icon ax-icon-chevron-up ax-arrow-button \"></span></button>\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1)\" [disabled]=\"disabled\"><span\n class=\"ax-icon ax-icon-chevron-down ax-arrow-button \"></span></button>\n </div>\n\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IMaskModule } from 'angular-imask';\nimport { AXNumberBoxComponent } from './number-box.component';\n\nconst COMPONENT = [AXNumberBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXNumberBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}