@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
@@ -30,9 +30,16 @@ class AXFormValidationEvent extends AXEvent {
30
30
  * @category Components
31
31
  */
32
32
  class AXFormComponent extends MXBaseComponent {
33
+ /**
34
+ * Determines when the form should be updated.
35
+ */
33
36
  get updateOn() {
34
37
  return this._updateOn;
35
38
  }
39
+ /**
40
+ * Sets the criteria for when the form should be updated.
41
+ * @param v The criteria to set (e.g., 'change', 'blur').
42
+ */
36
43
  set updateOn(v) {
37
44
  this.setOption({
38
45
  name: 'updateOn',
@@ -42,20 +49,53 @@ class AXFormComponent extends MXBaseComponent {
42
49
  },
43
50
  });
44
51
  }
52
+ /**
53
+ * @ignore
54
+ */
45
55
  async _handleSubmit(e) {
46
56
  e.preventDefault();
47
57
  await this.validate();
48
58
  }
59
+ /**
60
+ * @ignore
61
+ */
49
62
  _handleReset() {
50
63
  this.reset();
51
64
  }
65
+ /**
66
+ * @ignore
67
+ */
52
68
  constructor() {
53
69
  super();
70
+ /**
71
+ * Specifies the mode of the label in the form field.
72
+ * @defaultValue 'static'
73
+ */
54
74
  this.labelMode = input('static');
75
+ /**
76
+ * Determines the style of the message in the form field.
77
+ * @defaultValue 'bottom'
78
+ */
55
79
  this.messageStyle = input('bottom');
80
+ /**
81
+ * Emitted when the form is validated.
82
+ *
83
+ * @event
84
+ */
56
85
  this.onValidate = new EventEmitter();
86
+ /**
87
+ * Emitted when the form's update mode changes.
88
+ *
89
+ * @event
90
+ */
57
91
  this.updateOnChange = new EventEmitter();
92
+ /**
93
+ * @ignore
94
+ */
58
95
  this._updateOn = 'blur';
96
+ /**
97
+ * @ignore
98
+ */
59
99
  this._subs = [];
60
100
  }
61
101
  //TODO: check update on
@@ -82,10 +122,16 @@ class AXFormComponent extends MXBaseComponent {
82
122
  // }
83
123
  // });
84
124
  // }
125
+ /**
126
+ * @ignore
127
+ */
85
128
  _clearSubs() {
86
129
  this._subs.forEach((c) => c?.unsubscribe());
87
130
  this._subs = [];
88
131
  }
132
+ /**
133
+ * @ignore
134
+ */
89
135
  get fields() {
90
136
  return Array.from(this.getHostElement().querySelectorAll('[ax-form-item="true"]'))
91
137
  .map((c) => c.__axContext__)
@@ -101,6 +147,9 @@ class AXFormComponent extends MXBaseComponent {
101
147
  this._emitOnValidateEvent(mergedSummary);
102
148
  return mergedSummary;
103
149
  }
150
+ /**
151
+ * @ignore
152
+ */
104
153
  _emitOnValidateEvent(e) {
105
154
  this.onValidate.emit({
106
155
  component: this,
@@ -108,21 +157,30 @@ class AXFormComponent extends MXBaseComponent {
108
157
  htmlElement: this.getHostElement(),
109
158
  });
110
159
  }
160
+ /**
161
+ * Resets all form fields without clearing errors.
162
+ */
111
163
  reset() {
112
164
  this.fields.forEach((c) => c.reset(false));
113
165
  }
166
+ /**
167
+ * Resets validation errors for all form fields.
168
+ */
114
169
  resetErrors() {
115
170
  this.fields.forEach((c) => c.resetErrors());
116
171
  }
172
+ /**
173
+ * @ignore
174
+ */
117
175
  ngOnDestroy() {
118
176
  this._clearSubs();
119
177
  }
120
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.2", type: AXFormComponent, selector: "ax-form", inputs: { labelMode: { classPropertyName: "labelMode", publicName: "labelMode", isSignal: true, isRequired: false, transformFunction: null }, messageStyle: { classPropertyName: "messageStyle", publicName: "messageStyle", isSignal: true, isRequired: false, transformFunction: null }, updateOn: { classPropertyName: "updateOn", publicName: "updateOn", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onValidate: "onValidate", updateOnChange: "updateOnChange" }, usesInheritance: true, ngImport: i0, template: `<form (submit)="_handleSubmit($event)" (reset)="_handleReset()" class="ax-{{ messageStyle() }}-error">
178
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
179
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXFormComponent, selector: "ax-form", inputs: { labelMode: { classPropertyName: "labelMode", publicName: "labelMode", isSignal: true, isRequired: false, transformFunction: null }, messageStyle: { classPropertyName: "messageStyle", publicName: "messageStyle", isSignal: true, isRequired: false, transformFunction: null }, updateOn: { classPropertyName: "updateOn", publicName: "updateOn", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onValidate: "onValidate", updateOnChange: "updateOnChange" }, usesInheritance: true, ngImport: i0, template: `<form (submit)="_handleSubmit($event)" (reset)="_handleReset()" class="ax-{{ messageStyle() }}-error">
122
180
  <ng-content></ng-content>
123
181
  </form>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
124
182
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXFormComponent, decorators: [{
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXFormComponent, decorators: [{
126
184
  type: Component,
127
185
  args: [{
128
186
  selector: 'ax-form',
@@ -140,10 +198,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
140
198
  type: Input
141
199
  }] } });
142
200
 
201
+ /**
202
+ * A container component for form fields that provides styling and structure.
203
+ *
204
+ * @category Components
205
+ */
143
206
  class AXFormFieldComponent extends MXBaseComponent {
207
+ /**
208
+ * @ignore
209
+ */
144
210
  constructor() {
145
211
  super();
212
+ /**
213
+ * Specifies the mode of the label in the form field.
214
+ * @defaultValue 'static'
215
+ */
146
216
  this.labelMode = input('static');
217
+ /**
218
+ * @ignore
219
+ */
147
220
  this._labelMode = signal(this.labelMode());
148
221
  this.unsubscriber = inject(AXUnsubscriber);
149
222
  this.form = inject(AXFormComponent, { optional: true });
@@ -158,21 +231,39 @@ class AXFormFieldComponent extends MXBaseComponent {
158
231
  this.setLabelMode();
159
232
  }, { allowSignalWrites: true });
160
233
  }
234
+ /**
235
+ * Calculates and sets the indentation size for the label based on the width of the prefix element.
236
+ * @ignore
237
+ */
161
238
  calcIndentSize() {
162
239
  const prefix = this.input?.getHostElement()?.querySelector('ax-prefix');
163
240
  if (prefix) {
164
241
  this.label.getHostElement().style.insetInlineStart = prefix?.clientWidth + 'px';
165
242
  }
166
243
  }
244
+ /**
245
+ * Sets the required attribute for the input field based on validation rules.
246
+ * Automatically updates if validation rules change.
247
+ * @ignore
248
+ */
167
249
  setRequired() {
168
250
  this.autoSetRequired();
169
251
  this.input?.validationRulesChange.pipe(this.unsubscriber.takeUntilDestroy).subscribe(() => {
170
252
  this.autoSetRequired();
171
253
  });
172
254
  }
255
+ /**
256
+ * Sets the label mode based on the form's label mode configuration.
257
+ * @ignore
258
+ */
173
259
  setLabelMode() {
174
260
  this._labelMode.set(this.form?.labelMode());
175
261
  }
262
+ /**
263
+ * Subscribes to focus and blur events on the input element.
264
+ * Adds or removes the 'ax-state-focused' class to/from the host element based on the focus state.
265
+ * @ignone
266
+ */
176
267
  listeningEvent() {
177
268
  const focusEvent = this.input?.['onFocus'];
178
269
  focusEvent?.subscribe((e) => {
@@ -199,6 +290,9 @@ class AXFormFieldComponent extends MXBaseComponent {
199
290
  // break;
200
291
  // }
201
292
  // }
293
+ /**
294
+ * @ignore
295
+ */
202
296
  autoSetRequired() {
203
297
  if (this.label && this.input) {
204
298
  if (this.label.required == null || this.label['autoSetRequired']) {
@@ -207,6 +301,9 @@ class AXFormFieldComponent extends MXBaseComponent {
207
301
  }
208
302
  }
209
303
  }
304
+ /**
305
+ * @ignore
306
+ */
210
307
  get __hostClass() {
211
308
  let hasValue;
212
309
  if (this.input) {
@@ -219,10 +316,10 @@ class AXFormFieldComponent extends MXBaseComponent {
219
316
  }
220
317
  return [`ax-state-${this._labelMode()}-label`, `${hasValue ? 'ax-state-has-value' : ''}`];
221
318
  }
222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
223
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.2", type: AXFormFieldComponent, selector: "ax-form-field", inputs: { labelMode: { classPropertyName: "labelMode", publicName: "labelMode", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [AXUnsubscriber], queries: [{ propertyName: "input", first: true, predicate: AXValuableComponent, descendants: true }, { propertyName: "label", first: true, predicate: AXLabelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [".ax-dark ax-form.ax-form-normal .ax-error-message{border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-200));color:rgba(var(--ax-color-danger-fore-tint))}.ax-dark ax-form.ax-form-normal .ax-error-message:before,.ax-dark ax-form.ax-form-normal .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form.ax-form-normal .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form form.ax-float-error .ax-error-message{border-color:rgba(var(--ax-color-danger-700));background-color:rgba(var(--ax-color-danger-700));color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-form form.ax-float-error .ax-error-message:before,.ax-dark ax-form form.ax-float-error .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-700))}.ax-dark ax-form form.ax-float-error .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-700))}ax-form-field{position:relative;display:block;width:100%}ax-form-field.ax-state-floating-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-floating-label>ax-label{position:absolute;top:50%;transform:translateY(-50%);inset-inline-start:1rem;pointer-events:none;z-index:10;transition:all .15s ease-in-out;display:inline-grid}ax-form-field.ax-state-floating-label>ax-label label{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ax-form-field.ax-state-floating-label .ax-input::placeholder{opacity:0}ax-form-field.ax-state-floating-label.ax-state-focused>ax-label,ax-form-field.ax-state-floating-label.ax-state-has-value>ax-label{top:10%;transform:translateY(-10%);inset-inline-start:.25rem;padding:0 .5rem}ax-form-field.ax-state-floating-label.ax-state-focused>ax-label label,ax-form-field.ax-state-floating-label.ax-state-has-value>ax-label label{font-size:.75rem;color:rgba(var(--ax-color-text-default),.5)}ax-form-field.ax-state-floating-label.ax-state-focused .ax-input,ax-form-field.ax-state-floating-label.ax-state-focused .ax-content,ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-input,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-content,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area{padding-top:.875rem}ax-form-field.ax-state-floating-label.ax-state-focused .ax-input::placeholder,ax-form-field.ax-state-floating-label.ax-state-focused .ax-content::placeholder,ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-input::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-content::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area::placeholder{opacity:1}ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area textarea,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area textarea{padding-top:1.5rem!important}ax-form-field.ax-state-over-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-over-label>ax-label{position:absolute;pointer-events:none;z-index:10;transition:all .15s ease-in-out;display:inline-grid;top:10%;transform:translateY(-10%);inset-inline-start:.25rem;padding:0 .5rem}ax-form-field.ax-state-over-label>ax-label label{margin:0;overflow:hidden;text-overflow:ellipsis;font-size:.75rem;white-space:nowrap}ax-form-field.ax-state-over-label .ax-input::placeholder{opacity:0}ax-form-field.ax-state-over-label.ax-state-focused .ax-input,ax-form-field.ax-state-over-label.ax-state-focused .ax-content,ax-form-field.ax-state-over-label.ax-state-focused ax-text-area,ax-form-field.ax-state-over-label.ax-state-has-value .ax-input,ax-form-field.ax-state-over-label.ax-state-has-value .ax-content,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area{padding-top:1rem}ax-form-field.ax-state-over-label.ax-state-focused .ax-input::placeholder,ax-form-field.ax-state-over-label.ax-state-focused .ax-content::placeholder,ax-form-field.ax-state-over-label.ax-state-focused ax-text-area::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value .ax-input::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value .ax-content::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area::placeholder{opacity:1}ax-form-field.ax-state-over-label.ax-state-focused ax-text-area textarea,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area textarea{padding-top:1.5rem!important}ax-form-field.ax-state-floating-label .ax-select-box-selection.ax-multiple,ax-form-field.ax-state-over-label .ax-select-box-selection.ax-multiple{padding-top:1.5rem!important;padding-inline-start:.75rem}ax-form-field .ax-error-message{margin-top:.25rem;margin-bottom:.25rem;display:block;font-size:.75rem;line-height:1rem}ax-form{width:100%}ax-form form.ax-bottom-error .ax-error-message{color:rgba(var(--ax-color-danger-500))}ax-form form.ax-float-error .ax-error-message{position:absolute;bottom:-2.5rem;z-index:20;display:block;width:fit-content;border-radius:.375rem;border-width:1px;border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-500));padding:.25rem .5rem;font-weight:400;color:rgba(var(--ax-color-danger-fore))}ax-form form.ax-float-error .ax-error-message:before,ax-form form.ax-float-error .ax-error-message:after{pointer-events:none;position:absolute;bottom:100%;inset-inline-start:.75rem;z-index:20;height:0px;width:0px;border-bottom-color:rgba(var(--ax-color-danger-500));border-inline-end-color:transparent;border-inline-start-color:transparent;border-top-color:transparent;content:\"\"}ax-form form.ax-float-error .ax-error-message:before{margin-inline-start:-1px;border-width:4px;border-bottom-color:rgba(var(--ax-color-danger-500))}ax-form form.ax-float-error .ax-error-message:after{border-width:4px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
319
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
320
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXFormFieldComponent, selector: "ax-form-field", inputs: { labelMode: { classPropertyName: "labelMode", publicName: "labelMode", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [AXUnsubscriber], queries: [{ propertyName: "input", first: true, predicate: AXValuableComponent, descendants: true }, { propertyName: "label", first: true, predicate: AXLabelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [".ax-dark ax-form.ax-form-normal .ax-error-message{border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-200));color:rgba(var(--ax-color-danger-fore-tint))}.ax-dark ax-form.ax-form-normal .ax-error-message:before,.ax-dark ax-form.ax-form-normal .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form.ax-form-normal .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form form.ax-float-error .ax-error-message{border-color:rgba(var(--ax-color-danger-700));background-color:rgba(var(--ax-color-danger-700));color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-form form.ax-float-error .ax-error-message:before,.ax-dark ax-form form.ax-float-error .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-700))}.ax-dark ax-form form.ax-float-error .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-700))}ax-form-field{position:relative;display:block;width:100%}ax-form-field.ax-state-floating-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-floating-label>ax-label{position:absolute;top:50%;transform:translateY(-50%);inset-inline-start:1rem;pointer-events:none;z-index:10;transition:all .15s ease-in-out;display:inline-grid}ax-form-field.ax-state-floating-label>ax-label label{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ax-form-field.ax-state-floating-label .ax-input::placeholder{opacity:0}ax-form-field.ax-state-floating-label.ax-state-focused>ax-label,ax-form-field.ax-state-floating-label.ax-state-has-value>ax-label{top:10%;transform:translateY(-10%);inset-inline-start:.25rem;padding:0 .5rem}ax-form-field.ax-state-floating-label.ax-state-focused>ax-label label,ax-form-field.ax-state-floating-label.ax-state-has-value>ax-label label{font-size:.75rem;color:rgba(var(--ax-color-text-default),.5)}ax-form-field.ax-state-floating-label.ax-state-focused .ax-input,ax-form-field.ax-state-floating-label.ax-state-focused .ax-content,ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-input,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-content,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area{padding-top:.875rem}ax-form-field.ax-state-floating-label.ax-state-focused .ax-input::placeholder,ax-form-field.ax-state-floating-label.ax-state-focused .ax-content::placeholder,ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-input::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-content::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area::placeholder{opacity:1}ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area textarea,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area textarea{padding-top:1.5rem!important}ax-form-field.ax-state-over-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-over-label>ax-label{position:absolute;pointer-events:none;z-index:10;transition:all .15s ease-in-out;display:inline-grid;top:10%;transform:translateY(-10%);inset-inline-start:.25rem;padding:0 .5rem}ax-form-field.ax-state-over-label>ax-label label{margin:0;overflow:hidden;text-overflow:ellipsis;font-size:.75rem;white-space:nowrap}ax-form-field.ax-state-over-label .ax-input::placeholder{opacity:0}ax-form-field.ax-state-over-label.ax-state-focused .ax-input,ax-form-field.ax-state-over-label.ax-state-focused .ax-content,ax-form-field.ax-state-over-label.ax-state-focused ax-text-area,ax-form-field.ax-state-over-label.ax-state-has-value .ax-input,ax-form-field.ax-state-over-label.ax-state-has-value .ax-content,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area{padding-top:1rem}ax-form-field.ax-state-over-label.ax-state-focused .ax-input::placeholder,ax-form-field.ax-state-over-label.ax-state-focused .ax-content::placeholder,ax-form-field.ax-state-over-label.ax-state-focused ax-text-area::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value .ax-input::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value .ax-content::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area::placeholder{opacity:1}ax-form-field.ax-state-over-label.ax-state-focused ax-text-area textarea,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area textarea{padding-top:1.5rem!important}ax-form-field.ax-state-floating-label .ax-select-box-selection.ax-multiple,ax-form-field.ax-state-over-label .ax-select-box-selection.ax-multiple{padding-top:1.5rem!important;padding-inline-start:.75rem}ax-form-field .ax-error-message{margin-top:.25rem;margin-bottom:.25rem;display:block;font-size:.75rem;line-height:1rem}ax-form{width:100%}ax-form form.ax-bottom-error .ax-error-message{color:rgba(var(--ax-color-danger-500))}ax-form form.ax-float-error .ax-error-message{position:absolute;bottom:-2.5rem;z-index:20;display:block;width:fit-content;border-radius:.375rem;border-width:1px;border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-500));padding:.25rem .5rem;font-weight:400;color:rgba(var(--ax-color-danger-fore))}ax-form form.ax-float-error .ax-error-message:before,ax-form form.ax-float-error .ax-error-message:after{pointer-events:none;position:absolute;bottom:100%;inset-inline-start:.75rem;z-index:20;height:0px;width:0px;border-bottom-color:rgba(var(--ax-color-danger-500));border-inline-end-color:transparent;border-inline-start-color:transparent;border-top-color:transparent;content:\"\"}ax-form form.ax-float-error .ax-error-message:before{margin-inline-start:-1px;border-width:4px;border-bottom-color:rgba(var(--ax-color-danger-500))}ax-form form.ax-float-error .ax-error-message:after{border-width:4px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
224
321
  }
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXFormFieldComponent, decorators: [{
322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXFormFieldComponent, decorators: [{
226
323
  type: Component,
227
324
  args: [{ selector: 'ax-form-field', template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXUnsubscriber], styles: [".ax-dark ax-form.ax-form-normal .ax-error-message{border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-200));color:rgba(var(--ax-color-danger-fore-tint))}.ax-dark ax-form.ax-form-normal .ax-error-message:before,.ax-dark ax-form.ax-form-normal .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form.ax-form-normal .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form form.ax-float-error .ax-error-message{border-color:rgba(var(--ax-color-danger-700));background-color:rgba(var(--ax-color-danger-700));color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-form form.ax-float-error .ax-error-message:before,.ax-dark ax-form form.ax-float-error .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-700))}.ax-dark ax-form form.ax-float-error .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-700))}ax-form-field{position:relative;display:block;width:100%}ax-form-field.ax-state-floating-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-floating-label>ax-label{position:absolute;top:50%;transform:translateY(-50%);inset-inline-start:1rem;pointer-events:none;z-index:10;transition:all .15s ease-in-out;display:inline-grid}ax-form-field.ax-state-floating-label>ax-label label{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ax-form-field.ax-state-floating-label .ax-input::placeholder{opacity:0}ax-form-field.ax-state-floating-label.ax-state-focused>ax-label,ax-form-field.ax-state-floating-label.ax-state-has-value>ax-label{top:10%;transform:translateY(-10%);inset-inline-start:.25rem;padding:0 .5rem}ax-form-field.ax-state-floating-label.ax-state-focused>ax-label label,ax-form-field.ax-state-floating-label.ax-state-has-value>ax-label label{font-size:.75rem;color:rgba(var(--ax-color-text-default),.5)}ax-form-field.ax-state-floating-label.ax-state-focused .ax-input,ax-form-field.ax-state-floating-label.ax-state-focused .ax-content,ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-input,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-content,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area{padding-top:.875rem}ax-form-field.ax-state-floating-label.ax-state-focused .ax-input::placeholder,ax-form-field.ax-state-floating-label.ax-state-focused .ax-content::placeholder,ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-input::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-content::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area::placeholder{opacity:1}ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area textarea,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area textarea{padding-top:1.5rem!important}ax-form-field.ax-state-over-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-over-label>ax-label{position:absolute;pointer-events:none;z-index:10;transition:all .15s ease-in-out;display:inline-grid;top:10%;transform:translateY(-10%);inset-inline-start:.25rem;padding:0 .5rem}ax-form-field.ax-state-over-label>ax-label label{margin:0;overflow:hidden;text-overflow:ellipsis;font-size:.75rem;white-space:nowrap}ax-form-field.ax-state-over-label .ax-input::placeholder{opacity:0}ax-form-field.ax-state-over-label.ax-state-focused .ax-input,ax-form-field.ax-state-over-label.ax-state-focused .ax-content,ax-form-field.ax-state-over-label.ax-state-focused ax-text-area,ax-form-field.ax-state-over-label.ax-state-has-value .ax-input,ax-form-field.ax-state-over-label.ax-state-has-value .ax-content,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area{padding-top:1rem}ax-form-field.ax-state-over-label.ax-state-focused .ax-input::placeholder,ax-form-field.ax-state-over-label.ax-state-focused .ax-content::placeholder,ax-form-field.ax-state-over-label.ax-state-focused ax-text-area::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value .ax-input::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value .ax-content::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area::placeholder{opacity:1}ax-form-field.ax-state-over-label.ax-state-focused ax-text-area textarea,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area textarea{padding-top:1.5rem!important}ax-form-field.ax-state-floating-label .ax-select-box-selection.ax-multiple,ax-form-field.ax-state-over-label .ax-select-box-selection.ax-multiple{padding-top:1.5rem!important;padding-inline-start:.75rem}ax-form-field .ax-error-message{margin-top:.25rem;margin-bottom:.25rem;display:block;font-size:.75rem;line-height:1rem}ax-form{width:100%}ax-form form.ax-bottom-error .ax-error-message{color:rgba(var(--ax-color-danger-500))}ax-form form.ax-float-error .ax-error-message{position:absolute;bottom:-2.5rem;z-index:20;display:block;width:fit-content;border-radius:.375rem;border-width:1px;border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-500));padding:.25rem .5rem;font-weight:400;color:rgba(var(--ax-color-danger-fore))}ax-form form.ax-float-error .ax-error-message:before,ax-form form.ax-float-error .ax-error-message:after{pointer-events:none;position:absolute;bottom:100%;inset-inline-start:.75rem;z-index:20;height:0px;width:0px;border-bottom-color:rgba(var(--ax-color-danger-500));border-inline-end-color:transparent;border-inline-start-color:transparent;border-top-color:transparent;content:\"\"}ax-form form.ax-float-error .ax-error-message:before{margin-inline-start:-1px;border-width:4px;border-bottom-color:rgba(var(--ax-color-danger-500))}ax-form form.ax-float-error .ax-error-message:after{border-width:4px}\n"] }]
228
325
  }], ctorParameters: () => [], propDecorators: { input: [{
@@ -267,10 +364,10 @@ class AXValidationRuleDirective {
267
364
  get ruleOptions() {
268
365
  return Object.assign({ message: this.message, name: this.host.name }, this.options);
269
366
  }
270
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXValidationRuleDirective, deps: [{ token: i1.AXValuableComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
271
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: AXValidationRuleDirective, selector: "ax-validation-rule", inputs: { rule: "rule", options: "options", message: "message" }, ngImport: i0 }); }
367
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXValidationRuleDirective, deps: [{ token: i1.AXValuableComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
368
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: AXValidationRuleDirective, selector: "ax-validation-rule", inputs: { rule: "rule", options: "options", message: "message" }, ngImport: i0 }); }
272
369
  }
273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXValidationRuleDirective, decorators: [{
370
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXValidationRuleDirective, decorators: [{
274
371
  type: Directive,
275
372
  args: [{
276
373
  selector: 'ax-validation-rule',
@@ -283,20 +380,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
283
380
  type: Input
284
381
  }] } });
285
382
 
383
+ /**
384
+ * Displays validation summaries in the form of an alert.
385
+ *
386
+ * @category Components
387
+ */
286
388
  class AXValidationSummaryComponent extends MXBaseComponent {
389
+ /**
390
+ * The title of the validation summary alert.
391
+ */
287
392
  get title() {
288
393
  return this._title;
289
394
  }
395
+ /**
396
+ * Sets the title of the validation summary alert.
397
+ *
398
+ * @param v The title to be set.
399
+ */
290
400
  set title(v) {
291
401
  this._title = v;
292
402
  }
403
+ /**
404
+ * @ignore
405
+ */
293
406
  constructor(_tosatService, host) {
294
407
  super();
295
408
  this._tosatService = _tosatService;
296
409
  this.host = host;
410
+ /**
411
+ * @ignore
412
+ */
297
413
  this._content = null;
414
+ /**
415
+ * @ignore
416
+ */
298
417
  this._title = 'validation.messages.title';
418
+ /**
419
+ * Specifies the display mode for the validation summary.
420
+ *
421
+ * @defaultValue 'toast'
422
+ */
299
423
  this.displayMode = 'toast';
424
+ /**
425
+ * Determines whether the validation summary should automatically hide after a specified time.
426
+ * @defaultValue false
427
+ */
300
428
  this.autoHide = false;
301
429
  //
302
430
  this.sub = host.onValidate.subscribe((e) => {
@@ -322,17 +450,26 @@ class AXValidationSummaryComponent extends MXBaseComponent {
322
450
  this.cdr.markForCheck();
323
451
  });
324
452
  }
453
+ /**
454
+ * @ignore
455
+ */
325
456
  formatRule(rule) {
326
457
  return rule.title ? `<li><b>${rule.title}:</b> ${rule.message}</li>` : `<li>${rule.message}</li>`;
327
458
  }
459
+ /**
460
+ * @ignore
461
+ */
328
462
  _handleOnDismissed() {
329
463
  this._content = null;
330
464
  }
465
+ /**
466
+ * @ignore
467
+ */
331
468
  ngOnDestroy() {
332
469
  this.sub?.unsubscribe();
333
470
  }
334
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXValidationSummaryComponent, deps: [{ token: i1$1.AXToastService }, { token: AXFormComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
335
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXValidationSummaryComponent, selector: "ax-validation-summary", inputs: { title: "title", displayMode: "displayMode", timeOut: "timeOut", autoHide: "autoHide" }, usesInheritance: true, ngImport: i0, template: `
471
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXValidationSummaryComponent, deps: [{ token: i1$1.AXToastService }, { token: AXFormComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
472
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXValidationSummaryComponent, selector: "ax-validation-summary", inputs: { title: "title", displayMode: "displayMode", timeOut: "timeOut", autoHide: "autoHide" }, usesInheritance: true, ngImport: i0, template: `
336
473
  @if (displayMode === 'alert' && _content) {
337
474
  <ax-alert color="danger" [timeOut]="_timeOut" #a (onClosed)="_handleOnDismissed()">
338
475
  <ax-icon></ax-icon>
@@ -349,7 +486,7 @@ class AXValidationSummaryComponent extends MXBaseComponent {
349
486
  }
350
487
  `, isInline: true, dependencies: [{ kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i3.AXAlertComponent, selector: "ax-alert", inputs: ["color", "timeOut"], outputs: ["colorChange", "onClosed", "timeOutChange"] }, { kind: "component", type: i4.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: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
351
488
  }
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXValidationSummaryComponent, decorators: [{
489
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXValidationSummaryComponent, decorators: [{
353
490
  type: Component,
354
491
  args: [{
355
492
  selector: 'ax-validation-summary',
@@ -388,11 +525,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
388
525
  }] } });
389
526
 
390
527
  class AXFormModule {
391
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
392
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXFormModule, declarations: [AXFormFieldComponent, AXFormComponent, AXValidationRuleDirective, AXValidationSummaryComponent], imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule, AXValidationModule, AXTranslationModule], exports: [AXFormFieldComponent, AXFormComponent, AXValidationRuleDirective, AXValidationSummaryComponent] }); }
393
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXFormModule, imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule, AXValidationModule, AXTranslationModule] }); }
528
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
529
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXFormModule, declarations: [AXFormFieldComponent, AXFormComponent, AXValidationRuleDirective, AXValidationSummaryComponent], imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule, AXValidationModule, AXTranslationModule], exports: [AXFormFieldComponent, AXFormComponent, AXValidationRuleDirective, AXValidationSummaryComponent] }); }
530
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXFormModule, imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule, AXValidationModule, AXTranslationModule] }); }
394
531
  }
395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXFormModule, decorators: [{
532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXFormModule, decorators: [{
396
533
  type: NgModule,
397
534
  args: [{
398
535
  declarations: [AXFormFieldComponent, AXFormComponent, AXValidationRuleDirective, AXValidationSummaryComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-form.mjs","sources":["../../../../libs/components/form/src/lib/form.component.ts","../../../../libs/components/form/src/lib/form-field.component.ts","../../../../libs/components/form/src/lib/form.config.ts","../../../../libs/components/form/src/lib/validation-rule.directive.ts","../../../../libs/components/form/src/lib/validation-summary.component.ts","../../../../libs/components/form/src/lib/form.module.ts","../../../../libs/components/form/src/acorex-components-form.ts"],"sourcesContent":["import { AXEvent, AXValuableComponent, MXBaseComponent } from '@acorex/components/common';\nimport { AXValidationSummary } from '@acorex/core/validation';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n InputSignal,\n OnDestroy,\n Output,\n ViewEncapsulation,\n input,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXFormValidationEvent extends AXEvent {\n result: AXValidationSummary;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport type AXFormUpdateOn = 'change' | 'blur' | 'submit';\nexport type AXFormMessageStyle = 'bottom' | 'float';\nexport type AXLabelMode = 'static' | 'floating' | 'over';\n\n/**\n * The AXForm is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-form',\n template: `<form (submit)=\"_handleSubmit($event)\" (reset)=\"_handleReset()\" class=\"ax-{{ messageStyle() }}-error\">\n <ng-content></ng-content>\n </form>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormComponent extends MXBaseComponent implements OnDestroy {\n labelMode = input<AXLabelMode>('static');\n\n messageStyle: InputSignal<AXFormMessageStyle> = input<AXFormMessageStyle>('bottom');\n\n @Output()\n onValidate: EventEmitter<AXFormValidationEvent> = new EventEmitter<AXFormValidationEvent>();\n\n @Output()\n updateOnChange: EventEmitter<AXFormUpdateOn> = new EventEmitter<AXFormUpdateOn>();\n\n private _updateOn: AXFormUpdateOn = 'blur';\n @Input()\n public get updateOn(): AXFormUpdateOn {\n return this._updateOn;\n }\n public set updateOn(v: AXFormUpdateOn) {\n this.setOption({\n name: 'updateOn',\n value: v,\n afterCallback: () => {\n //this._bindEvents();\n },\n });\n }\n\n private _subs: Subscription[] = [];\n\n protected async _handleSubmit(e: SubmitEvent) {\n e.preventDefault();\n await this.validate();\n }\n\n protected _handleReset() {\n this.reset();\n }\n\n constructor() {\n super();\n }\n\n //TODO: check update on\n\n // ngAfterViewInit(): void {\n // //this._bindEvents();\n // }\n\n // private _bindEvents() {\n // this._clearSubs();\n // const widgets = this._getComponenets();\n // //\n // widgets.forEach((w) => {\n // if (this.updateOn == 'change') {\n // this._subs.push(\n // w.onValueChanged?.subscribe((v: AXValueChangedEvent) => {\n // if (v.isUserInteraction) w.validate();\n // }),\n // );\n // } else if (this.updateOn == 'blur') {\n // this._subs.push(\n // w.onBlur?.subscribe((v) => {\n // w.validate();\n // }),\n // );\n // }\n // });\n // }\n\n private _clearSubs() {\n this._subs.forEach((c) => c?.unsubscribe());\n this._subs = [];\n }\n\n private get fields(): AXValuableComponent[] {\n return Array.from(this.getHostElement().querySelectorAll('[ax-form-item=\"true\"]'))\n .map((c) => (c as any).__axContext__)\n .filter((c) => c != null);\n }\n\n async validate(...names: string[]): Promise<AXValidationSummary> {\n const results = await Promise.all(\n this.fields.filter((c) => names == null || names.length == 0 || names.includes(c.name)).map((field) => field.validate()),\n );\n // Merge all validation summaries into one\n const mergedSummary: AXValidationSummary = {\n result: results.every((res) => res.result),\n rules: results.flatMap((res) => res.rules),\n };\n this._emitOnValidateEvent(mergedSummary);\n return mergedSummary;\n }\n\n private _emitOnValidateEvent(e: AXValidationSummary) {\n this.onValidate.emit({\n component: this,\n result: e,\n htmlElement: this.getHostElement(),\n });\n }\n\n reset() {\n this.fields.forEach((c) => c.reset(false));\n }\n\n resetErrors() {\n this.fields.forEach((c) => c.resetErrors());\n }\n\n ngOnDestroy(): void {\n this._clearSubs();\n }\n}\n","import { AXValuableComponent, MXBaseComponent } from '@acorex/components/common';\nimport { AXLabelComponent } from '@acorex/components/label';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n ViewContainerRef,\n ViewEncapsulation,\n WritableSignal,\n afterNextRender,\n effect,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXFormComponent, AXLabelMode } from './form.component';\n\n@Component({\n selector: 'ax-form-field',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXUnsubscriber],\n})\nexport class AXFormFieldComponent extends MXBaseComponent {\n labelMode = input<AXLabelMode>('static');\n\n protected _labelMode: WritableSignal<AXLabelMode> = signal(this.labelMode());\n\n private unsubscriber = inject(AXUnsubscriber);\n\n @ContentChild(AXValuableComponent)\n private input: AXValuableComponent;\n\n @ContentChild(AXLabelComponent)\n private label: AXLabelComponent;\n\n form = inject(AXFormComponent, { optional: true });\n\n host = inject(ViewContainerRef);\n\n prefix: HTMLElement;\n\n constructor() {\n super();\n\n afterNextRender(() => {\n this.calcIndentSize();\n this.setRequired();\n this.setLabelMode();\n this.listeningEvent();\n });\n\n effect(\n () => {\n this.setLabelMode();\n },\n { allowSignalWrites: true },\n );\n }\n\n calcIndentSize() {\n const prefix = (this.input as any)?.getHostElement()?.querySelector('ax-prefix') as HTMLElement;\n if (prefix) {\n this.label.getHostElement().style.insetInlineStart = prefix?.clientWidth + 'px';\n }\n }\n\n setRequired() {\n this.autoSetRequired();\n this.input?.validationRulesChange.pipe(this.unsubscriber.takeUntilDestroy).subscribe(() => {\n this.autoSetRequired();\n });\n }\n\n setLabelMode() {\n this._labelMode.set(this.form?.labelMode());\n }\n\n listeningEvent() {\n const focusEvent = this.input?.['onFocus'] as Subject<any>;\n focusEvent?.subscribe((e) => {\n // this.handleFloating('focus');\n this.host.element.nativeElement.classList.add('ax-state-focused');\n });\n //\n const blurEvent = this.input?.['onBlur'] as Subject<any>;\n blurEvent?.subscribe((e) => {\n // this.handleFloating('blur');\n this.host.element.nativeElement.classList.remove('ax-state-focused');\n });\n }\n // protected handleFloating(mode: 'focus' | 'blur') {\n // const _host = this.host.element.nativeElement as HTMLElement;\n // const placeholder = this.input;\n\n // switch (mode) {\n // case 'focus':\n // _host.classList.add('ax-state-floating');\n // this.label.getHostElement().style.insetInlineStart = 'inherit';\n\n // break;\n // case 'blur':\n // _host.classList.remove('ax-state-floating');\n\n // break;\n // }\n // }\n\n private autoSetRequired() {\n if (this.label && this.input) {\n if (this.label.required == null || this.label['autoSetRequired']) {\n this.label.required = this.input.isRequired;\n this.label['autoSetRequired'] = true;\n }\n }\n }\n\n @HostBinding('class')\n get __hostClass(): string[] {\n let hasValue;\n if (this.input) {\n if (this.input instanceof AXSelectBoxComponent) {\n hasValue = (this.input as any).value?.length;\n } else {\n hasValue = this.input.value;\n }\n }\n return [`ax-state-${this._labelMode()}-label`, `${hasValue ? 'ax-state-has-value' : ''}`];\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface AXFormConfig {}\n\nexport const AX_FORM_CONFIG = new InjectionToken<AXFormConfig>('AX_FORM_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return AXFormDefaultConfig;\n },\n});\n\nexport const AXFormDefaultConfig: AXFormConfig = {};\n\nexport type PartialFormConfig = Partial<AXFormConfig>;\n\nexport function formConfig(config: PartialFormConfig = {}): AXFormConfig {\n const result = {\n ...AXFormDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXValuableComponent } from '@acorex/components/common';\nimport { AXValidationRuleOptions } from '@acorex/core/validation';\nimport { Directive, Input, OnDestroy, OnInit } from '@angular/core';\n\n@Directive({\n selector: 'ax-validation-rule',\n})\nexport class AXValidationRuleDirective implements OnInit, OnDestroy {\n @Input() rule: string;\n @Input() options: Omit<AXValidationRuleOptions, 'message'>;\n @Input() message: string;\n\n constructor(private host: AXValuableComponent) {}\n\n ngOnInit() {\n this.host.addValidationRule({ rule: this.rule, options: this.ruleOptions });\n }\n\n ngOnDestroy() {\n this.host.removeValidationRule({\n rule: this.rule,\n options: this.ruleOptions,\n });\n }\n\n private get ruleOptions(): AXValidationRuleOptions {\n return Object.assign({ message: this.message, name: this.host.name }, this.options);\n }\n}\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXToastService } from '@acorex/components/toast';\nimport { translateSync } from '@acorex/core/translation';\nimport { ChangeDetectionStrategy, Component, Inject, Input, OnDestroy, Optional, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXFormComponent, AXFormValidationEvent } from './form.component';\n\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert';\n\n@Component({\n selector: 'ax-validation-summary',\n template: `\n @if (displayMode === 'alert' && _content) {\n <ax-alert color=\"danger\" [timeOut]=\"_timeOut\" #a (onClosed)=\"_handleOnDismissed()\">\n <ax-icon></ax-icon>\n <ax-title>{{ title | translate | async }}</ax-title>\n <ax-content>\n <div [innerHTML]=\"_content\"></div>\n </ax-content>\n <ax-footer>\n <ax-suffix>\n <ax-button text=\"Dismiss\" (onClick)=\"a.close()\"></ax-button>\n </ax-suffix>\n </ax-footer>\n </ax-alert>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXValidationSummaryComponent extends MXBaseComponent implements OnDestroy {\n protected _content?: string = null;\n private _title = 'validation.messages.title';\n\n @Input()\n public get title(): string {\n return this._title;\n }\n public set title(v: string) {\n this._title = v;\n }\n\n @Input()\n displayMode: AXValidationSummaryDisplayMode = 'toast';\n\n @Input()\n timeOut?: number;\n\n @Input()\n autoHide = false;\n\n protected _timeOut: number;\n\n private sub: Subscription;\n\n constructor(\n private _tosatService: AXToastService,\n @Optional()\n @Inject(AXFormComponent)\n private host: AXFormComponent,\n ) {\n super();\n //\n this.sub = host.onValidate.subscribe((e: AXFormValidationEvent) => {\n if (e.result.result) {\n this._content = null;\n } else {\n const failedRules = e.result.rules.filter((c) => !c.result && c.message);\n\n this._content = `<ul>${failedRules.map((c) => this.formatRule({ title: c['title'] as string, message: c.message })).join('')}</ul>`;\n this._timeOut = this.autoHide ? this.timeOut ?? Math.max(failedRules.length * 1000, 2000) : 0;\n\n if (this.displayMode == 'toast') {\n this._tosatService.show({\n color: 'danger',\n closeButton: true,\n timeOut: this._timeOut,\n timeOutProgress: true,\n content: this._content,\n title: translateSync(this.title),\n location: 'bottom-center',\n });\n }\n }\n this.cdr.markForCheck();\n });\n }\n\n private formatRule(rule: { title?: string; message: string }): string {\n return rule.title ? `<li><b>${rule.title}:</b> ${rule.message}</li>` : `<li>${rule.message}</li>`;\n }\n\n protected _handleOnDismissed() {\n this._content = null;\n }\n\n ngOnDestroy() {\n this.sub?.unsubscribe();\n }\n}\n","import { AXAlertModule } from '@acorex/components/alert';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXFormFieldComponent } from './form-field.component';\nimport { AXFormComponent } from './form.component';\nimport { AXValidationRuleDirective } from './validation-rule.directive';\nimport { AXValidationSummaryComponent } from './validation-summary.component';\n\n@NgModule({\n declarations: [AXFormFieldComponent, AXFormComponent, AXValidationRuleDirective, AXValidationSummaryComponent],\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule, AXValidationModule, AXTranslationModule],\n exports: [AXFormFieldComponent, AXFormComponent, AXValidationRuleDirective, AXValidationSummaryComponent],\n providers: [],\n})\nexport class AXFormModule {}\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-form.mjs","sources":["../../../../libs/components/form/src/lib/form.component.ts","../../../../libs/components/form/src/lib/form-field.component.ts","../../../../libs/components/form/src/lib/form.config.ts","../../../../libs/components/form/src/lib/validation-rule.directive.ts","../../../../libs/components/form/src/lib/validation-summary.component.ts","../../../../libs/components/form/src/lib/form.module.ts","../../../../libs/components/form/src/acorex-components-form.ts"],"sourcesContent":["import { AXEvent, AXValuableComponent, MXBaseComponent } from '@acorex/components/common';\nimport { AXValidationSummary } from '@acorex/core/validation';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n InputSignal,\n OnDestroy,\n Output,\n ViewEncapsulation,\n input,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXFormValidationEvent extends AXEvent {\n result: AXValidationSummary;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport type AXFormUpdateOn = 'change' | 'blur' | 'submit';\nexport type AXFormMessageStyle = 'bottom' | 'float';\nexport type AXLabelMode = 'static' | 'floating' | 'over';\n\n/**\n * The AXForm is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-form',\n template: `<form (submit)=\"_handleSubmit($event)\" (reset)=\"_handleReset()\" class=\"ax-{{ messageStyle() }}-error\">\n <ng-content></ng-content>\n </form>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormComponent extends MXBaseComponent implements OnDestroy {\n /**\n * Specifies the mode of the label in the form field.\n * @defaultValue 'static'\n */\n labelMode = input<AXLabelMode>('static');\n\n /**\n * Determines the style of the message in the form field.\n * @defaultValue 'bottom'\n */\n messageStyle: InputSignal<AXFormMessageStyle> = input<AXFormMessageStyle>('bottom');\n\n /**\n * Emitted when the form is validated.\n *\n * @event\n */\n @Output()\n onValidate: EventEmitter<AXFormValidationEvent> = new EventEmitter<AXFormValidationEvent>();\n\n /**\n * Emitted when the form's update mode changes.\n *\n * @event\n */\n @Output()\n updateOnChange: EventEmitter<AXFormUpdateOn> = new EventEmitter<AXFormUpdateOn>();\n\n /**\n * @ignore\n */\n private _updateOn: AXFormUpdateOn = 'blur';\n\n /**\n * Determines when the form should be updated.\n */\n @Input()\n public get updateOn(): AXFormUpdateOn {\n return this._updateOn;\n }\n\n /**\n * Sets the criteria for when the form should be updated.\n * @param v The criteria to set (e.g., 'change', 'blur').\n */\n public set updateOn(v: AXFormUpdateOn) {\n this.setOption({\n name: 'updateOn',\n value: v,\n afterCallback: () => {\n //this._bindEvents();\n },\n });\n }\n\n /**\n * @ignore\n */\n private _subs: Subscription[] = [];\n\n /**\n * @ignore\n */\n protected async _handleSubmit(e: SubmitEvent) {\n e.preventDefault();\n await this.validate();\n }\n\n /**\n * @ignore\n */\n protected _handleReset() {\n this.reset();\n }\n\n /**\n * @ignore\n */\n constructor() {\n super();\n }\n\n //TODO: check update on\n\n // ngAfterViewInit(): void {\n // //this._bindEvents();\n // }\n\n // private _bindEvents() {\n // this._clearSubs();\n // const widgets = this._getComponenets();\n // //\n // widgets.forEach((w) => {\n // if (this.updateOn == 'change') {\n // this._subs.push(\n // w.onValueChanged?.subscribe((v: AXValueChangedEvent) => {\n // if (v.isUserInteraction) w.validate();\n // }),\n // );\n // } else if (this.updateOn == 'blur') {\n // this._subs.push(\n // w.onBlur?.subscribe((v) => {\n // w.validate();\n // }),\n // );\n // }\n // });\n // }\n\n /**\n * @ignore\n */\n private _clearSubs() {\n this._subs.forEach((c) => c?.unsubscribe());\n this._subs = [];\n }\n\n /**\n * @ignore\n */\n private get fields(): AXValuableComponent[] {\n return Array.from(this.getHostElement().querySelectorAll('[ax-form-item=\"true\"]'))\n .map((c) => (c as any).__axContext__)\n .filter((c) => c != null);\n }\n\n async validate(...names: string[]): Promise<AXValidationSummary> {\n const results = await Promise.all(\n this.fields.filter((c) => names == null || names.length == 0 || names.includes(c.name)).map((field) => field.validate()),\n );\n // Merge all validation summaries into one\n const mergedSummary: AXValidationSummary = {\n result: results.every((res) => res.result),\n rules: results.flatMap((res) => res.rules),\n };\n this._emitOnValidateEvent(mergedSummary);\n return mergedSummary;\n }\n\n /**\n * @ignore\n */\n private _emitOnValidateEvent(e: AXValidationSummary) {\n this.onValidate.emit({\n component: this,\n result: e,\n htmlElement: this.getHostElement(),\n });\n }\n\n /**\n * Resets all form fields without clearing errors.\n */\n reset() {\n this.fields.forEach((c) => c.reset(false));\n }\n\n /**\n * Resets validation errors for all form fields.\n */\n resetErrors() {\n this.fields.forEach((c) => c.resetErrors());\n }\n\n /**\n * @ignore\n */\n ngOnDestroy(): void {\n this._clearSubs();\n }\n}\n","import { AXValuableComponent, MXBaseComponent } from '@acorex/components/common';\nimport { AXLabelComponent } from '@acorex/components/label';\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n ViewContainerRef,\n ViewEncapsulation,\n WritableSignal,\n afterNextRender,\n effect,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXFormComponent, AXLabelMode } from './form.component';\n\n/**\n * A container component for form fields that provides styling and structure.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-form-field',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXUnsubscriber],\n})\nexport class AXFormFieldComponent extends MXBaseComponent {\n /**\n * Specifies the mode of the label in the form field.\n * @defaultValue 'static'\n */\n labelMode = input<AXLabelMode>('static');\n\n /**\n * @ignore\n */\n protected _labelMode: WritableSignal<AXLabelMode> = signal(this.labelMode());\n\n private unsubscriber = inject(AXUnsubscriber);\n\n\n @ContentChild(AXValuableComponent)\n private input: AXValuableComponent;\n\n /**\n * @ignore\n */\n @ContentChild(AXLabelComponent)\n private label: AXLabelComponent;\n\n form = inject(AXFormComponent, { optional: true });\n\n host = inject(ViewContainerRef);\n\n /**\n * @ignore\n */\n prefix: HTMLElement;\n\n /**\n * @ignore\n */\n constructor() {\n super();\n\n afterNextRender(() => {\n this.calcIndentSize();\n this.setRequired();\n this.setLabelMode();\n this.listeningEvent();\n });\n\n effect(\n () => {\n this.setLabelMode();\n },\n { allowSignalWrites: true },\n );\n }\n\n /**\n * Calculates and sets the indentation size for the label based on the width of the prefix element.\n * @ignore\n */\n calcIndentSize() {\n const prefix = (this.input as any)?.getHostElement()?.querySelector('ax-prefix') as HTMLElement;\n if (prefix) {\n this.label.getHostElement().style.insetInlineStart = prefix?.clientWidth + 'px';\n }\n }\n\n /**\n * Sets the required attribute for the input field based on validation rules.\n * Automatically updates if validation rules change.\n * @ignore\n */\n setRequired() {\n this.autoSetRequired();\n this.input?.validationRulesChange.pipe(this.unsubscriber.takeUntilDestroy).subscribe(() => {\n this.autoSetRequired();\n });\n }\n /**\n * Sets the label mode based on the form's label mode configuration.\n * @ignore\n */\n setLabelMode() {\n this._labelMode.set(this.form?.labelMode());\n }\n\n /**\n * Subscribes to focus and blur events on the input element.\n * Adds or removes the 'ax-state-focused' class to/from the host element based on the focus state.\n * @ignone\n */\n listeningEvent() {\n const focusEvent = this.input?.['onFocus'] as Subject<any>;\n focusEvent?.subscribe((e) => {\n // this.handleFloating('focus');\n this.host.element.nativeElement.classList.add('ax-state-focused');\n });\n //\n const blurEvent = this.input?.['onBlur'] as Subject<any>;\n blurEvent?.subscribe((e) => {\n // this.handleFloating('blur');\n this.host.element.nativeElement.classList.remove('ax-state-focused');\n });\n }\n // protected handleFloating(mode: 'focus' | 'blur') {\n // const _host = this.host.element.nativeElement as HTMLElement;\n // const placeholder = this.input;\n\n // switch (mode) {\n // case 'focus':\n // _host.classList.add('ax-state-floating');\n // this.label.getHostElement().style.insetInlineStart = 'inherit';\n\n // break;\n // case 'blur':\n // _host.classList.remove('ax-state-floating');\n\n // break;\n // }\n // }\n\n /**\n * @ignore\n */\n private autoSetRequired() {\n if (this.label && this.input) {\n if (this.label.required == null || this.label['autoSetRequired']) {\n this.label.required = this.input.isRequired;\n this.label['autoSetRequired'] = true;\n }\n }\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n get __hostClass(): string[] {\n let hasValue;\n if (this.input) {\n if (this.input instanceof AXSelectBoxComponent) {\n hasValue = (this.input as any).value?.length;\n } else {\n hasValue = this.input.value;\n }\n }\n return [`ax-state-${this._labelMode()}-label`, `${hasValue ? 'ax-state-has-value' : ''}`];\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface AXFormConfig {}\n\nexport const AX_FORM_CONFIG = new InjectionToken<AXFormConfig>('AX_FORM_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return AXFormDefaultConfig;\n },\n});\n\nexport const AXFormDefaultConfig: AXFormConfig = {};\n\nexport type PartialFormConfig = Partial<AXFormConfig>;\n\nexport function formConfig(config: PartialFormConfig = {}): AXFormConfig {\n const result = {\n ...AXFormDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXValuableComponent } from '@acorex/components/common';\nimport { AXValidationRuleOptions } from '@acorex/core/validation';\nimport { Directive, Input, OnDestroy, OnInit } from '@angular/core';\n\n@Directive({\n selector: 'ax-validation-rule',\n})\nexport class AXValidationRuleDirective implements OnInit, OnDestroy {\n @Input() rule: string;\n @Input() options: Omit<AXValidationRuleOptions, 'message'>;\n @Input() message: string;\n\n constructor(private host: AXValuableComponent) {}\n\n ngOnInit() {\n this.host.addValidationRule({ rule: this.rule, options: this.ruleOptions });\n }\n\n ngOnDestroy() {\n this.host.removeValidationRule({\n rule: this.rule,\n options: this.ruleOptions,\n });\n }\n\n private get ruleOptions(): AXValidationRuleOptions {\n return Object.assign({ message: this.message, name: this.host.name }, this.options);\n }\n}\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXToastService } from '@acorex/components/toast';\nimport { translateSync } from '@acorex/core/translation';\nimport { ChangeDetectionStrategy, Component, Inject, Input, OnDestroy, Optional, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXFormComponent, AXFormValidationEvent } from './form.component';\n\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert';\n\n/**\n * Displays validation summaries in the form of an alert.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-validation-summary',\n template: `\n @if (displayMode === 'alert' && _content) {\n <ax-alert color=\"danger\" [timeOut]=\"_timeOut\" #a (onClosed)=\"_handleOnDismissed()\">\n <ax-icon></ax-icon>\n <ax-title>{{ title | translate | async }}</ax-title>\n <ax-content>\n <div [innerHTML]=\"_content\"></div>\n </ax-content>\n <ax-footer>\n <ax-suffix>\n <ax-button text=\"Dismiss\" (onClick)=\"a.close()\"></ax-button>\n </ax-suffix>\n </ax-footer>\n </ax-alert>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXValidationSummaryComponent extends MXBaseComponent implements OnDestroy {\n /**\n * @ignore\n */\n protected _content?: string = null;\n\n /**\n * @ignore\n */\n private _title = 'validation.messages.title';\n\n /**\n * The title of the validation summary alert.\n */\n @Input()\n public get title(): string {\n return this._title;\n }\n\n /**\n * Sets the title of the validation summary alert.\n *\n * @param v The title to be set.\n */\n public set title(v: string) {\n this._title = v;\n }\n\n /**\n * Specifies the display mode for the validation summary.\n *\n * @defaultValue 'toast'\n */\n @Input()\n displayMode: AXValidationSummaryDisplayMode = 'toast';\n\n /**\n * Specifies the time in milliseconds before the validation summary automatically hides.\n */\n @Input()\n timeOut?: number;\n\n /**\n * Determines whether the validation summary should automatically hide after a specified time.\n * @defaultValue false\n */\n @Input()\n autoHide = false;\n\n /**\n * @ignore\n */\n protected _timeOut: number;\n\n /**\n * @ignore\n */\n private sub: Subscription;\n\n /**\n * @ignore\n */\n constructor(\n private _tosatService: AXToastService,\n @Optional()\n @Inject(AXFormComponent)\n private host: AXFormComponent,\n ) {\n super();\n //\n this.sub = host.onValidate.subscribe((e: AXFormValidationEvent) => {\n if (e.result.result) {\n this._content = null;\n } else {\n const failedRules = e.result.rules.filter((c) => !c.result && c.message);\n\n this._content = `<ul>${failedRules.map((c) => this.formatRule({ title: c['title'] as string, message: c.message })).join('')}</ul>`;\n this._timeOut = this.autoHide ? this.timeOut ?? Math.max(failedRules.length * 1000, 2000) : 0;\n\n if (this.displayMode == 'toast') {\n this._tosatService.show({\n color: 'danger',\n closeButton: true,\n timeOut: this._timeOut,\n timeOutProgress: true,\n content: this._content,\n title: translateSync(this.title),\n location: 'bottom-center',\n });\n }\n }\n this.cdr.markForCheck();\n });\n }\n\n /**\n * @ignore\n */\n private formatRule(rule: { title?: string; message: string }): string {\n return rule.title ? `<li><b>${rule.title}:</b> ${rule.message}</li>` : `<li>${rule.message}</li>`;\n }\n\n /**\n * @ignore\n */\n protected _handleOnDismissed() {\n this._content = null;\n }\n\n /**\n * @ignore\n */\n ngOnDestroy() {\n this.sub?.unsubscribe();\n }\n}\n","import { AXAlertModule } from '@acorex/components/alert';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXFormFieldComponent } from './form-field.component';\nimport { AXFormComponent } from './form.component';\nimport { AXValidationRuleDirective } from './validation-rule.directive';\nimport { AXValidationSummaryComponent } from './validation-summary.component';\n\n@NgModule({\n declarations: [AXFormFieldComponent, AXFormComponent, AXValidationRuleDirective, AXValidationSummaryComponent],\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule, AXValidationModule, AXTranslationModule],\n exports: [AXFormFieldComponent, AXFormComponent, AXValidationRuleDirective, AXValidationSummaryComponent],\n providers: [],\n})\nexport class AXFormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}