@acorex/components 18.16.0-next.8 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (697) hide show
  1. package/color-palette/lib/color-palette-picker.component.d.ts +1 -5
  2. package/comment/lib/comment-tools/comment-like/comment-like.component.d.ts +4 -2
  3. package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +31 -1
  4. package/fesm2022/acorex-components-action-sheet.mjs +11 -11
  5. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  6. package/fesm2022/acorex-components-alert.mjs +8 -8
  7. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  8. package/fesm2022/acorex-components-audio-wave.mjs +8 -8
  9. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  10. package/fesm2022/acorex-components-avatar.mjs +12 -11
  11. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  12. package/fesm2022/acorex-components-badge.mjs +8 -8
  13. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  14. package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
  15. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  16. package/fesm2022/acorex-components-breadcrumbs.mjs +12 -12
  17. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  18. package/fesm2022/acorex-components-button-group.mjs +12 -11
  19. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  20. package/fesm2022/acorex-components-button.mjs +16 -15
  21. package/fesm2022/acorex-components-button.mjs.map +1 -1
  22. package/fesm2022/acorex-components-calendar.mjs +15 -15
  23. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  24. package/fesm2022/acorex-components-check-box.mjs +8 -8
  25. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  26. package/fesm2022/acorex-components-chips.mjs +8 -8
  27. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  28. package/fesm2022/acorex-components-circular-progress.mjs +8 -8
  29. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  30. package/fesm2022/acorex-components-collapse.mjs +12 -11
  31. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  32. package/fesm2022/acorex-components-color-box.mjs +8 -8
  33. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  34. package/fesm2022/acorex-components-color-palette.mjs +53 -63
  35. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  36. package/fesm2022/acorex-components-comment.mjs +43 -38
  37. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  38. package/fesm2022/acorex-components-common.mjs +100 -89
  39. package/fesm2022/acorex-components-common.mjs.map +1 -1
  40. package/fesm2022/acorex-components-conversation.mjs +104 -77
  41. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  42. package/fesm2022/acorex-components-cron-job.mjs +54 -54
  43. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  44. package/fesm2022/acorex-components-data-pager.mjs +38 -32
  45. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  46. package/fesm2022/acorex-components-data-table.mjs +42 -36
  47. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  48. package/fesm2022/acorex-components-datetime-box.mjs +8 -8
  49. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  50. package/fesm2022/acorex-components-datetime-input.mjs +8 -8
  51. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  52. package/fesm2022/acorex-components-datetime-picker.mjs +8 -8
  53. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  54. package/fesm2022/acorex-components-decorators.mjs +20 -19
  55. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  56. package/fesm2022/acorex-components-dialog.mjs +11 -11
  57. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  58. package/fesm2022/acorex-components-drawer.mjs +16 -16
  59. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  60. package/fesm2022/acorex-components-dropdown-button.mjs +8 -8
  61. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  62. package/fesm2022/acorex-components-dropdown.mjs +15 -15
  63. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  64. package/fesm2022/acorex-components-form.mjs +21 -18
  65. package/fesm2022/acorex-components-form.mjs.map +1 -1
  66. package/fesm2022/acorex-components-image-editor.mjs +46 -43
  67. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  68. package/fesm2022/acorex-components-image.mjs +8 -8
  69. package/fesm2022/acorex-components-image.mjs.map +1 -1
  70. package/fesm2022/acorex-components-json-viewer.mjs +9 -9
  71. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  72. package/fesm2022/acorex-components-label.mjs +8 -8
  73. package/fesm2022/acorex-components-label.mjs.map +1 -1
  74. package/fesm2022/acorex-components-list.mjs +8 -8
  75. package/fesm2022/acorex-components-list.mjs.map +1 -1
  76. package/fesm2022/acorex-components-loading-dialog.mjs +11 -11
  77. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  78. package/fesm2022/acorex-components-loading.mjs +19 -18
  79. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  80. package/fesm2022/acorex-components-map.mjs +268 -11
  81. package/fesm2022/acorex-components-map.mjs.map +1 -1
  82. package/fesm2022/acorex-components-media-viewer.mjs +51 -51
  83. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  84. package/fesm2022/acorex-components-menu.mjs +19 -19
  85. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  86. package/fesm2022/acorex-components-nav.mjs +12 -12
  87. package/fesm2022/acorex-components-nav.mjs.map +1 -1
  88. package/fesm2022/acorex-components-navbar.mjs +8 -8
  89. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  90. package/fesm2022/acorex-components-notification.mjs +11 -11
  91. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  92. package/fesm2022/acorex-components-number-box.mjs +8 -8
  93. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  94. package/fesm2022/acorex-components-otp.mjs +9 -9
  95. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  96. package/fesm2022/acorex-components-page.mjs +10 -10
  97. package/fesm2022/acorex-components-paint.mjs +46 -35
  98. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  99. package/fesm2022/acorex-components-password-box.mjs +12 -12
  100. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  101. package/fesm2022/acorex-components-phone-box.mjs +8 -8
  102. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  103. package/fesm2022/acorex-components-picker.mjs +12 -11
  104. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  105. package/fesm2022/acorex-components-popover.mjs +8 -8
  106. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  107. package/fesm2022/acorex-components-popup.mjs +11 -11
  108. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  109. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  110. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  111. package/fesm2022/acorex-components-qrcode.mjs +8 -8
  112. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  113. package/fesm2022/acorex-components-radio.mjs +8 -8
  114. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  115. package/fesm2022/acorex-components-range-slider.mjs +18 -11
  116. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  117. package/fesm2022/acorex-components-rate-picker.mjs +8 -8
  118. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  119. package/fesm2022/acorex-components-result.mjs +8 -8
  120. package/fesm2022/acorex-components-result.mjs.map +1 -1
  121. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  122. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  123. package/fesm2022/acorex-components-scheduler.mjs +16 -16
  124. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  125. package/fesm2022/acorex-components-scss.mjs +4 -4
  126. package/fesm2022/acorex-components-search-box.mjs +8 -8
  127. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  128. package/fesm2022/acorex-components-select-box.mjs +8 -8
  129. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  130. package/fesm2022/acorex-components-selection-list.mjs +8 -8
  131. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  132. package/fesm2022/acorex-components-side-menu.mjs +12 -12
  133. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  134. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  135. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  136. package/fesm2022/acorex-components-slider.mjs +8 -8
  137. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  138. package/fesm2022/acorex-components-step-wizard.mjs +16 -15
  139. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  140. package/fesm2022/acorex-components-switch.mjs +12 -11
  141. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  142. package/fesm2022/acorex-components-tabs.mjs +44 -46
  143. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  144. package/fesm2022/acorex-components-tag.mjs +8 -8
  145. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  146. package/fesm2022/acorex-components-text-area.mjs +8 -8
  147. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  148. package/fesm2022/acorex-components-text-box.mjs +12 -11
  149. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  150. package/fesm2022/acorex-components-time-line.mjs +14 -14
  151. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  152. package/fesm2022/acorex-components-toast.mjs +11 -11
  153. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  154. package/fesm2022/acorex-components-tooltip.mjs +12 -11
  155. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  156. package/fesm2022/acorex-components-tree-view.mjs +13 -13
  157. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  158. package/fesm2022/acorex-components-uploader.mjs +27 -25
  159. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  160. package/fesm2022/acorex-components-wysiwyg.mjs +47 -47
  161. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  162. package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +1 -0
  163. package/map/index.d.ts +2 -1
  164. package/map/lib/map.component.d.ts +1 -1
  165. package/map/lib/map.config.d.ts +13 -0
  166. package/map/lib/map.service.d.ts +37 -0
  167. package/package.json +4 -166
  168. package/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.d.ts +5 -2
  169. package/paint/lib/paint/paint-view/paint-view.component.d.ts +6 -1
  170. package/range-slider/lib/range-slider.component.d.ts +1 -0
  171. package/esm2022/acorex-components.mjs +0 -5
  172. package/esm2022/action-sheet/acorex-components-action-sheet.mjs +0 -5
  173. package/esm2022/action-sheet/index.mjs +0 -5
  174. package/esm2022/action-sheet/lib/action-sheet.class.mjs +0 -2
  175. package/esm2022/action-sheet/lib/action-sheet.component.mjs +0 -109
  176. package/esm2022/action-sheet/lib/action-sheet.module.mjs +0 -54
  177. package/esm2022/action-sheet/lib/action-sheet.service.mjs +0 -60
  178. package/esm2022/alert/acorex-components-alert.mjs +0 -5
  179. package/esm2022/alert/index.mjs +0 -3
  180. package/esm2022/alert/lib/alert.component.mjs +0 -142
  181. package/esm2022/alert/lib/alert.module.mjs +0 -22
  182. package/esm2022/audio-wave/acorex-components-audio-wave.mjs +0 -5
  183. package/esm2022/audio-wave/index.mjs +0 -4
  184. package/esm2022/audio-wave/lib/audio-wave.component.mjs +0 -347
  185. package/esm2022/audio-wave/lib/audio-wave.module.mjs +0 -22
  186. package/esm2022/audio-wave/lib/interfaces/audio-wave.interface.mjs +0 -2
  187. package/esm2022/avatar/acorex-components-avatar.mjs +0 -5
  188. package/esm2022/avatar/index.mjs +0 -4
  189. package/esm2022/avatar/lib/avatar-group.component.mjs +0 -14
  190. package/esm2022/avatar/lib/avatar.component.mjs +0 -54
  191. package/esm2022/avatar/lib/avatar.module.mjs +0 -22
  192. package/esm2022/badge/acorex-components-badge.mjs +0 -5
  193. package/esm2022/badge/index.mjs +0 -3
  194. package/esm2022/badge/lib/badge.component.mjs +0 -30
  195. package/esm2022/badge/lib/badge.module.mjs +0 -19
  196. package/esm2022/bottom-navigation/acorex-components-bottom-navigation.mjs +0 -5
  197. package/esm2022/bottom-navigation/index.mjs +0 -4
  198. package/esm2022/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.mjs +0 -46
  199. package/esm2022/bottom-navigation/lib/bottom-navigation.component.mjs +0 -67
  200. package/esm2022/bottom-navigation/lib/bottom-navigation.module.mjs +0 -22
  201. package/esm2022/breadcrumbs/acorex-components-breadcrumbs.mjs +0 -5
  202. package/esm2022/breadcrumbs/index.mjs +0 -5
  203. package/esm2022/breadcrumbs/lib/breadcrumbs-item.class.mjs +0 -2
  204. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +0 -41
  205. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +0 -31
  206. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +0 -21
  207. package/esm2022/button/acorex-components-button.mjs +0 -5
  208. package/esm2022/button/index.mjs +0 -7
  209. package/esm2022/button/lib/button-item-list.component.mjs +0 -153
  210. package/esm2022/button/lib/button-item.class.mjs +0 -2
  211. package/esm2022/button/lib/button-item.component.mjs +0 -152
  212. package/esm2022/button/lib/button.class.mjs +0 -2
  213. package/esm2022/button/lib/button.component.mjs +0 -116
  214. package/esm2022/button/lib/button.module.mjs +0 -26
  215. package/esm2022/button-group/acorex-components-button-group.mjs +0 -5
  216. package/esm2022/button-group/index.mjs +0 -4
  217. package/esm2022/button-group/lib/button-group-item.component.mjs +0 -141
  218. package/esm2022/button-group/lib/button-group.component.mjs +0 -170
  219. package/esm2022/button-group/lib/button-group.module.mjs +0 -23
  220. package/esm2022/calendar/acorex-components-calendar.mjs +0 -5
  221. package/esm2022/calendar/index.mjs +0 -5
  222. package/esm2022/calendar/lib/calendar-range.component.mjs +0 -248
  223. package/esm2022/calendar/lib/calendar.class.mjs +0 -163
  224. package/esm2022/calendar/lib/calendar.component.mjs +0 -631
  225. package/esm2022/calendar/lib/calendar.module.mjs +0 -26
  226. package/esm2022/check-box/acorex-components-check-box.mjs +0 -5
  227. package/esm2022/check-box/index.mjs +0 -3
  228. package/esm2022/check-box/lib/check-box.component.mjs +0 -138
  229. package/esm2022/check-box/lib/check-box.module.mjs +0 -21
  230. package/esm2022/chips/acorex-components-chips.mjs +0 -5
  231. package/esm2022/chips/index.mjs +0 -3
  232. package/esm2022/chips/lib/chips.component.mjs +0 -36
  233. package/esm2022/chips/lib/chips.module.mjs +0 -19
  234. package/esm2022/circular-progress/acorex-components-circular-progress.mjs +0 -5
  235. package/esm2022/circular-progress/index.mjs +0 -3
  236. package/esm2022/circular-progress/lib/circular-progress.component.mjs +0 -95
  237. package/esm2022/circular-progress/lib/circular-progress.module.mjs +0 -17
  238. package/esm2022/collapse/acorex-components-collapse.mjs +0 -5
  239. package/esm2022/collapse/index.mjs +0 -4
  240. package/esm2022/collapse/lib/collapse-group.component.mjs +0 -171
  241. package/esm2022/collapse/lib/collapse.component.mjs +0 -198
  242. package/esm2022/collapse/lib/collapse.module.mjs +0 -21
  243. package/esm2022/color-box/acorex-components-color-box.mjs +0 -5
  244. package/esm2022/color-box/index.mjs +0 -3
  245. package/esm2022/color-box/lib/color-box.component.mjs +0 -92
  246. package/esm2022/color-box/lib/color-box.module.mjs +0 -24
  247. package/esm2022/color-palette/acorex-components-color-palette.mjs +0 -5
  248. package/esm2022/color-palette/index.mjs +0 -8
  249. package/esm2022/color-palette/lib/color-palette-input.component.mjs +0 -157
  250. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +0 -277
  251. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +0 -80
  252. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +0 -121
  253. package/esm2022/color-palette/lib/color-palette.class.mjs +0 -238
  254. package/esm2022/color-palette/lib/color-palette.component.mjs +0 -58
  255. package/esm2022/color-palette/lib/color-palette.module.mjs +0 -66
  256. package/esm2022/comment/acorex-components-comment.mjs +0 -5
  257. package/esm2022/comment/index.mjs +0 -10
  258. package/esm2022/comment/lib/comment-container/comment-container.component.mjs +0 -37
  259. package/esm2022/comment/lib/comment-item/comment-item.component.mjs +0 -37
  260. package/esm2022/comment/lib/comment-tools/comment-date/comment-date.component.mjs +0 -16
  261. package/esm2022/comment/lib/comment-tools/comment-like/comment-like.component.mjs +0 -23
  262. package/esm2022/comment/lib/comment-tools/comment-menu-options/comment-menu-options.component.mjs +0 -16
  263. package/esm2022/comment/lib/comment-tools/comment-reply-more/comment-reply-more.component.mjs +0 -12
  264. package/esm2022/comment/lib/comment-tools/comment-reply-text/comment-reply-text.component.mjs +0 -12
  265. package/esm2022/comment/lib/comment-view/comment-view.component.mjs +0 -15
  266. package/esm2022/comment/lib/comment.module.mjs +0 -71
  267. package/esm2022/common/acorex-components-common.mjs +0 -5
  268. package/esm2022/common/index.mjs +0 -31
  269. package/esm2022/common/lib/classes/components.class.mjs +0 -76
  270. package/esm2022/common/lib/classes/datalist.class.mjs +0 -50
  271. package/esm2022/common/lib/classes/datasource.class.mjs +0 -134
  272. package/esm2022/common/lib/classes/events.class.mjs +0 -79
  273. package/esm2022/common/lib/classes/styles.class.mjs +0 -13
  274. package/esm2022/common/lib/common.module.mjs +0 -22
  275. package/esm2022/common/lib/components/base-component.class.mjs +0 -74
  276. package/esm2022/common/lib/components/button-base-component.class.mjs +0 -88
  277. package/esm2022/common/lib/components/color-component.class.mjs +0 -25
  278. package/esm2022/common/lib/components/colorlook-component.class.mjs +0 -6
  279. package/esm2022/common/lib/components/input-base-value-component.class.mjs +0 -54
  280. package/esm2022/common/lib/components/interactive-component.class.mjs +0 -129
  281. package/esm2022/common/lib/components/look-component.class.mjs +0 -33
  282. package/esm2022/common/lib/components/selection-base.component.class.mjs +0 -233
  283. package/esm2022/common/lib/components/value-component.class.mjs +0 -232
  284. package/esm2022/common/lib/directives/auto-focus.directive.mjs +0 -63
  285. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +0 -51
  286. package/esm2022/common/lib/directives/hotkey.directive.mjs +0 -80
  287. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +0 -60
  288. package/esm2022/common/lib/directives/inverted-color.directive.mjs +0 -52
  289. package/esm2022/common/lib/directives/responsive.directive.mjs +0 -37
  290. package/esm2022/common/lib/directives/ripple.directive.mjs +0 -65
  291. package/esm2022/common/lib/services/dom.service.mjs +0 -16
  292. package/esm2022/common/lib/services/hotkey.service.mjs +0 -52
  293. package/esm2022/common/lib/types/base/button.type.mjs +0 -18
  294. package/esm2022/common/lib/types/base/color.type.mjs +0 -16
  295. package/esm2022/common/lib/types/base/component.types.mjs +0 -27
  296. package/esm2022/common/lib/types/base/events.types.mjs +0 -19
  297. package/esm2022/common/lib/types/base/index.mjs +0 -8
  298. package/esm2022/common/lib/types/base/interactive.type.mjs +0 -31
  299. package/esm2022/common/lib/types/base/look.type.mjs +0 -16
  300. package/esm2022/common/lib/types/base/value.type.mjs +0 -19
  301. package/esm2022/common/lib/types/direction.mjs +0 -2
  302. package/esm2022/common/lib/types/orientation.mjs +0 -2
  303. package/esm2022/common/lib/types/placement.mjs +0 -166
  304. package/esm2022/common/lib/types/range.mjs +0 -2
  305. package/esm2022/common/lib/types/selection-mode.mjs +0 -5
  306. package/esm2022/conversation/acorex-components-conversation.mjs +0 -5
  307. package/esm2022/conversation/index.mjs +0 -19
  308. package/esm2022/conversation/lib/classes/events.interface.mjs +0 -4
  309. package/esm2022/conversation/lib/conversation-container/conversation-container.component.mjs +0 -15
  310. package/esm2022/conversation/lib/conversation-input/conversation-input.component.mjs +0 -193
  311. package/esm2022/conversation/lib/conversation-input/conversation-input.interface.mjs +0 -2
  312. package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +0 -110
  313. package/esm2022/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.mjs +0 -120
  314. package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +0 -79
  315. package/esm2022/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.mjs +0 -69
  316. package/esm2022/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.mjs +0 -24
  317. package/esm2022/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.mjs +0 -130
  318. package/esm2022/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.mjs +0 -31
  319. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +0 -190
  320. package/esm2022/conversation/lib/conversation-view/conversation-view.component.mjs +0 -52
  321. package/esm2022/conversation/lib/conversation.module.mjs +0 -200
  322. package/esm2022/conversation/lib/conversation.types.mjs +0 -10
  323. package/esm2022/conversation/lib/services/conversation-message-type-registry.service.mjs +0 -20
  324. package/esm2022/conversation/lib/services/conversation.service.mjs +0 -14
  325. package/esm2022/conversation/lib/services/recording.service.mjs +0 -76
  326. package/esm2022/cron-job/acorex-components-cron-job.mjs +0 -5
  327. package/esm2022/cron-job/index.mjs +0 -9
  328. package/esm2022/cron-job/lib/cron-job-container/cron-job-container.component.mjs +0 -107
  329. package/esm2022/cron-job/lib/cron-job.module.mjs +0 -80
  330. package/esm2022/cron-job/lib/cron-job.service.mjs +0 -60
  331. package/esm2022/cron-job/lib/day/day.component.mjs +0 -66
  332. package/esm2022/cron-job/lib/day/day.model.mjs +0 -88
  333. package/esm2022/cron-job/lib/day/day.service.mjs +0 -196
  334. package/esm2022/cron-job/lib/hours/hours.component.mjs +0 -43
  335. package/esm2022/cron-job/lib/hours/hours.model.mjs +0 -8
  336. package/esm2022/cron-job/lib/hours/hours.service.mjs +0 -82
  337. package/esm2022/cron-job/lib/minutes/minutes.component.mjs +0 -43
  338. package/esm2022/cron-job/lib/minutes/minutes.model.mjs +0 -8
  339. package/esm2022/cron-job/lib/minutes/minutes.service.mjs +0 -82
  340. package/esm2022/cron-job/lib/month/month.component.mjs +0 -52
  341. package/esm2022/cron-job/lib/month/month.model.mjs +0 -8
  342. package/esm2022/cron-job/lib/month/month.service.mjs +0 -96
  343. package/esm2022/cron-job/lib/seconds/seconds.component.mjs +0 -43
  344. package/esm2022/cron-job/lib/seconds/seconds.model.mjs +0 -8
  345. package/esm2022/cron-job/lib/seconds/seconds.service.mjs +0 -82
  346. package/esm2022/cron-job/lib/types/iexpression.mjs +0 -2
  347. package/esm2022/cron-job/lib/types/shared.model.mjs +0 -49
  348. package/esm2022/cron-job/lib/year/year.component.mjs +0 -50
  349. package/esm2022/cron-job/lib/year/year.model.mjs +0 -28
  350. package/esm2022/cron-job/lib/year/year.service.mjs +0 -82
  351. package/esm2022/data-pager/acorex-components-data-pager.mjs +0 -5
  352. package/esm2022/data-pager/index.mjs +0 -10
  353. package/esm2022/data-pager/lib/data-pager-base.component.mjs +0 -52
  354. package/esm2022/data-pager/lib/data-pager-info.component.mjs +0 -50
  355. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +0 -90
  356. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +0 -113
  357. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +0 -166
  358. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +0 -105
  359. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +0 -112
  360. package/esm2022/data-pager/lib/data-pager.component.mjs +0 -298
  361. package/esm2022/data-pager/lib/data-pager.module.mjs +0 -73
  362. package/esm2022/data-table/acorex-components-data-table.mjs +0 -5
  363. package/esm2022/data-table/index.mjs +0 -11
  364. package/esm2022/data-table/lib/base-data-table.class.mjs +0 -46
  365. package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +0 -61
  366. package/esm2022/data-table/lib/columns/data-table-column.mjs +0 -34
  367. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +0 -128
  368. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +0 -343
  369. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +0 -128
  370. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +0 -168
  371. package/esm2022/data-table/lib/data-table/data-table.component.mjs +0 -513
  372. package/esm2022/data-table/lib/data-table.module.mjs +0 -107
  373. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +0 -438
  374. package/esm2022/datetime-box/acorex-components-datetime-box.mjs +0 -5
  375. package/esm2022/datetime-box/index.mjs +0 -3
  376. package/esm2022/datetime-box/lib/datetime-box.component.mjs +0 -186
  377. package/esm2022/datetime-box/lib/datetime-box.module.mjs +0 -26
  378. package/esm2022/datetime-input/acorex-components-datetime-input.mjs +0 -5
  379. package/esm2022/datetime-input/index.mjs +0 -3
  380. package/esm2022/datetime-input/lib/datetime-input.component.mjs +0 -673
  381. package/esm2022/datetime-input/lib/datetime-input.module.mjs +0 -23
  382. package/esm2022/datetime-picker/acorex-components-datetime-picker.mjs +0 -5
  383. package/esm2022/datetime-picker/index.mjs +0 -4
  384. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +0 -389
  385. package/esm2022/datetime-picker/lib/datetime-picker.config.mjs +0 -22
  386. package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +0 -44
  387. package/esm2022/decorators/acorex-components-decorators.mjs +0 -5
  388. package/esm2022/decorators/index.mjs +0 -6
  389. package/esm2022/decorators/lib/components/clear-button.component.mjs +0 -80
  390. package/esm2022/decorators/lib/components/close-button.component.mjs +0 -65
  391. package/esm2022/decorators/lib/components/generic-content.component.mjs +0 -42
  392. package/esm2022/decorators/lib/components/icon.component.mjs +0 -37
  393. package/esm2022/decorators/lib/decorators.module.mjs +0 -24
  394. package/esm2022/dialog/acorex-components-dialog.mjs +0 -5
  395. package/esm2022/dialog/index.mjs +0 -5
  396. package/esm2022/dialog/lib/dialog.class.mjs +0 -2
  397. package/esm2022/dialog/lib/dialog.component.mjs +0 -77
  398. package/esm2022/dialog/lib/dialog.module.mjs +0 -48
  399. package/esm2022/dialog/lib/dialog.service.mjs +0 -168
  400. package/esm2022/drawer/acorex-components-drawer.mjs +0 -5
  401. package/esm2022/drawer/index.mjs +0 -4
  402. package/esm2022/drawer/lib/drawer/drawer-container/drawer-container.component.mjs +0 -32
  403. package/esm2022/drawer/lib/drawer/drawer-item/drawer.component.mjs +0 -157
  404. package/esm2022/drawer/lib/drawer.module.mjs +0 -22
  405. package/esm2022/drawer/lib/drawer.service.mjs +0 -13
  406. package/esm2022/dropdown/acorex-components-dropdown.mjs +0 -5
  407. package/esm2022/dropdown/index.mjs +0 -5
  408. package/esm2022/dropdown/lib/dropdown-box.class.mjs +0 -50
  409. package/esm2022/dropdown/lib/dropdown-box.component.mjs +0 -160
  410. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +0 -221
  411. package/esm2022/dropdown/lib/dropdown.module.mjs +0 -25
  412. package/esm2022/dropdown-button/acorex-components-dropdown-button.mjs +0 -5
  413. package/esm2022/dropdown-button/index.mjs +0 -3
  414. package/esm2022/dropdown-button/lib/dropdown-button.component.mjs +0 -124
  415. package/esm2022/dropdown-button/lib/dropdown-button.module.mjs +0 -26
  416. package/esm2022/form/acorex-components-form.mjs +0 -5
  417. package/esm2022/form/index.mjs +0 -7
  418. package/esm2022/form/lib/form-field.component.mjs +0 -142
  419. package/esm2022/form/lib/form.component.mjs +0 -205
  420. package/esm2022/form/lib/form.config.mjs +0 -16
  421. package/esm2022/form/lib/form.module.mjs +0 -27
  422. package/esm2022/form/lib/validation-rule.directive.mjs +0 -36
  423. package/esm2022/form/lib/validation-summary.component.mjs +0 -157
  424. package/esm2022/image/acorex-components-image.mjs +0 -5
  425. package/esm2022/image/index.mjs +0 -3
  426. package/esm2022/image/lib/image.component.mjs +0 -118
  427. package/esm2022/image/lib/image.module.mjs +0 -19
  428. package/esm2022/image-editor/acorex-components-image-editor.mjs +0 -5
  429. package/esm2022/image-editor/index.mjs +0 -8
  430. package/esm2022/image-editor/lib/image-editor-container/image-editor-container.component.mjs +0 -24
  431. package/esm2022/image-editor/lib/image-editor-toolbar/image-editor-toolbar.component.mjs +0 -69
  432. package/esm2022/image-editor/lib/image-editor-tools/image-editor-color-picker/image-editor-color-picker.component.mjs +0 -36
  433. package/esm2022/image-editor/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.mjs +0 -37
  434. package/esm2022/image-editor/lib/image-editor-tools/image-editor-pen-mode-changer/image-editor-pen-mode-changer.component.mjs +0 -57
  435. package/esm2022/image-editor/lib/image-editor-view/image-editor-view.component.mjs +0 -359
  436. package/esm2022/image-editor/lib/image-editor.module.mjs +0 -72
  437. package/esm2022/image-editor/lib/image-editor.service.mjs +0 -23
  438. package/esm2022/index.mjs +0 -2
  439. package/esm2022/json-viewer/acorex-components-json-viewer.mjs +0 -5
  440. package/esm2022/json-viewer/index.mjs +0 -3
  441. package/esm2022/json-viewer/lib/json-viewer/json-viewer.component.mjs +0 -43
  442. package/esm2022/json-viewer/lib/json-viewer.module.mjs +0 -23
  443. package/esm2022/label/acorex-components-label.mjs +0 -5
  444. package/esm2022/label/index.mjs +0 -3
  445. package/esm2022/label/lib/label.component.mjs +0 -78
  446. package/esm2022/label/lib/label.module.mjs +0 -21
  447. package/esm2022/list/acorex-components-list.mjs +0 -5
  448. package/esm2022/list/index.mjs +0 -3
  449. package/esm2022/list/lib/list.component.mjs +0 -295
  450. package/esm2022/list/lib/list.module.mjs +0 -23
  451. package/esm2022/loading/acorex-components-loading.mjs +0 -5
  452. package/esm2022/loading/index.mjs +0 -7
  453. package/esm2022/loading/lib/loading-spinner.component.mjs +0 -62
  454. package/esm2022/loading/lib/loading.component.mjs +0 -80
  455. package/esm2022/loading/lib/loading.config.mjs +0 -17
  456. package/esm2022/loading/lib/loading.directive.mjs +0 -39
  457. package/esm2022/loading/lib/loading.module.mjs +0 -27
  458. package/esm2022/loading/lib/loading.service.mjs +0 -123
  459. package/esm2022/loading-dialog/acorex-components-loading-dialog.mjs +0 -5
  460. package/esm2022/loading-dialog/index.mjs +0 -5
  461. package/esm2022/loading-dialog/lib/loading-dialog.class.mjs +0 -2
  462. package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +0 -98
  463. package/esm2022/loading-dialog/lib/loading-dialog.module.mjs +0 -27
  464. package/esm2022/loading-dialog/lib/loading-dialog.service.mjs +0 -37
  465. package/esm2022/map/acorex-components-map.mjs +0 -5
  466. package/esm2022/map/index.mjs +0 -3
  467. package/esm2022/map/lib/map.component.mjs +0 -182
  468. package/esm2022/map/lib/map.module.mjs +0 -18
  469. package/esm2022/media-viewer/acorex-components-media-viewer.mjs +0 -5
  470. package/esm2022/media-viewer/index.mjs +0 -12
  471. package/esm2022/media-viewer/lib/media-viewer-container/media-viewer-container.component.mjs +0 -52
  472. package/esm2022/media-viewer/lib/media-viewer-slider/media-viewer-slider.component.mjs +0 -37
  473. package/esm2022/media-viewer/lib/media-viewer-thumbnail/media-viewer-thumbnail.component.mjs +0 -24
  474. package/esm2022/media-viewer/lib/media-viewer-tools/audio-player/audio-player.component.mjs +0 -19
  475. package/esm2022/media-viewer/lib/media-viewer-tools/file-info/file-info.component.mjs +0 -21
  476. package/esm2022/media-viewer/lib/media-viewer-tools/full-screen/full-screen.component.mjs +0 -20
  477. package/esm2022/media-viewer/lib/media-viewer-tools/image-viewer/image-viewer.component.mjs +0 -15
  478. package/esm2022/media-viewer/lib/media-viewer-tools/pdf-reader/pdf-reader.component.mjs +0 -17
  479. package/esm2022/media-viewer/lib/media-viewer-tools/video-player/video-player.component.mjs +0 -19
  480. package/esm2022/media-viewer/lib/media-viewer-type-registry.service.mjs +0 -20
  481. package/esm2022/media-viewer/lib/media-viewer-types.mjs +0 -10
  482. package/esm2022/media-viewer/lib/media-viewer.module.mjs +0 -140
  483. package/esm2022/media-viewer/lib/media-viewer.service.mjs +0 -15
  484. package/esm2022/menu/acorex-components-menu.mjs +0 -5
  485. package/esm2022/menu/index.mjs +0 -7
  486. package/esm2022/menu/lib/context-menu.component.mjs +0 -251
  487. package/esm2022/menu/lib/menu-item.component.mjs +0 -310
  488. package/esm2022/menu/lib/menu.component.mjs +0 -58
  489. package/esm2022/menu/lib/menu.module.mjs +0 -28
  490. package/esm2022/menu/lib/menu.service.mjs +0 -19
  491. package/esm2022/menu/lib/menu.types.mjs +0 -14
  492. package/esm2022/nav/acorex-components-nav.mjs +0 -5
  493. package/esm2022/nav/index.mjs +0 -4
  494. package/esm2022/nav/lib/nav-item/nav-item.component.mjs +0 -63
  495. package/esm2022/nav/lib/nav.component.mjs +0 -16
  496. package/esm2022/nav/lib/nav.module.mjs +0 -23
  497. package/esm2022/navbar/acorex-components-navbar.mjs +0 -5
  498. package/esm2022/navbar/index.mjs +0 -3
  499. package/esm2022/navbar/lib/navbar.component.mjs +0 -23
  500. package/esm2022/navbar/lib/navbar.module.mjs +0 -18
  501. package/esm2022/notification/acorex-components-notification.mjs +0 -5
  502. package/esm2022/notification/index.mjs +0 -6
  503. package/esm2022/notification/lib/notification.class.mjs +0 -2
  504. package/esm2022/notification/lib/notification.component.mjs +0 -110
  505. package/esm2022/notification/lib/notification.config.mjs +0 -21
  506. package/esm2022/notification/lib/notification.module.mjs +0 -28
  507. package/esm2022/notification/lib/notification.service.mjs +0 -195
  508. package/esm2022/number-box/acorex-components-number-box.mjs +0 -5
  509. package/esm2022/number-box/index.mjs +0 -3
  510. package/esm2022/number-box/lib/number-box.component.mjs +0 -378
  511. package/esm2022/number-box/lib/number-box.module.mjs +0 -25
  512. package/esm2022/otp/acorex-components-otp.mjs +0 -5
  513. package/esm2022/otp/index.mjs +0 -4
  514. package/esm2022/otp/lib/otp.class.mjs +0 -4
  515. package/esm2022/otp/lib/otp.component.mjs +0 -195
  516. package/esm2022/otp/lib/otp.module.mjs +0 -22
  517. package/esm2022/page/acorex-components-page.mjs +0 -5
  518. package/esm2022/page/index.mjs +0 -4
  519. package/esm2022/page/lib/base-page.class.mjs +0 -62
  520. package/esm2022/page/lib/page.component.mjs +0 -58
  521. package/esm2022/page/lib/page.module.mjs +0 -18
  522. package/esm2022/paint/acorex-components-paint.mjs +0 -5
  523. package/esm2022/paint/index.mjs +0 -7
  524. package/esm2022/paint/lib/paint/paint-container/paint-container.component.mjs +0 -41
  525. package/esm2022/paint/lib/paint/paint-toolbar/paint-toolbar.component.mjs +0 -15
  526. package/esm2022/paint/lib/paint/paint-tools/paint-color-picker/paint-color-picker.component.mjs +0 -36
  527. package/esm2022/paint/lib/paint/paint-tools/paint-pen-mode-changer/paint-pen-mode-changer.component.mjs +0 -56
  528. package/esm2022/paint/lib/paint/paint-view/paint-view.component.mjs +0 -158
  529. package/esm2022/paint/lib/paint/paint.service.mjs +0 -16
  530. package/esm2022/paint/lib/paint.module.mjs +0 -62
  531. package/esm2022/password-box/acorex-components-password-box.mjs +0 -5
  532. package/esm2022/password-box/index.mjs +0 -4
  533. package/esm2022/password-box/lib/password-box.component.mjs +0 -93
  534. package/esm2022/password-box/lib/password-box.module.mjs +0 -42
  535. package/esm2022/password-box/lib/password-strength-validation/password-strength-validation.component.mjs +0 -71
  536. package/esm2022/phone-box/acorex-components-phone-box.mjs +0 -5
  537. package/esm2022/phone-box/index.mjs +0 -3
  538. package/esm2022/phone-box/lib/phone-box.component.mjs +0 -207
  539. package/esm2022/phone-box/lib/phone-box.module.mjs +0 -44
  540. package/esm2022/picker/acorex-components-picker.mjs +0 -5
  541. package/esm2022/picker/index.mjs +0 -4
  542. package/esm2022/picker/lib/picker-column.directive.mjs +0 -66
  543. package/esm2022/picker/lib/picker.component.mjs +0 -193
  544. package/esm2022/picker/lib/picker.module.mjs +0 -22
  545. package/esm2022/popover/acorex-components-popover.mjs +0 -5
  546. package/esm2022/popover/index.mjs +0 -3
  547. package/esm2022/popover/lib/popover.component.mjs +0 -525
  548. package/esm2022/popover/lib/popover.module.mjs +0 -19
  549. package/esm2022/popup/acorex-components-popup.mjs +0 -5
  550. package/esm2022/popup/index.mjs +0 -5
  551. package/esm2022/popup/lib/popup.component.mjs +0 -178
  552. package/esm2022/popup/lib/popup.interface.mjs +0 -2
  553. package/esm2022/popup/lib/popup.module.mjs +0 -45
  554. package/esm2022/popup/lib/popup.service.mjs +0 -69
  555. package/esm2022/progress-bar/acorex-components-progress-bar.mjs +0 -5
  556. package/esm2022/progress-bar/index.mjs +0 -3
  557. package/esm2022/progress-bar/lib/progress-bar.component.mjs +0 -86
  558. package/esm2022/progress-bar/lib/progress-bar.module.mjs +0 -19
  559. package/esm2022/qrcode/acorex-components-qrcode.mjs +0 -5
  560. package/esm2022/qrcode/index.mjs +0 -4
  561. package/esm2022/qrcode/lib/qrcode.class.mjs +0 -12
  562. package/esm2022/qrcode/lib/qrcode.component.mjs +0 -93
  563. package/esm2022/qrcode/lib/qrcode.module.mjs +0 -18
  564. package/esm2022/radio/acorex-components-radio.mjs +0 -5
  565. package/esm2022/radio/index.mjs +0 -3
  566. package/esm2022/radio/lib/radio.component.mjs +0 -57
  567. package/esm2022/radio/lib/radio.module.mjs +0 -22
  568. package/esm2022/range-slider/acorex-components-range-slider.mjs +0 -5
  569. package/esm2022/range-slider/index.mjs +0 -4
  570. package/esm2022/range-slider/lib/range-slider.class.mjs +0 -3
  571. package/esm2022/range-slider/lib/range-slider.component.mjs +0 -650
  572. package/esm2022/range-slider/lib/range-slider.module.mjs +0 -18
  573. package/esm2022/rate-picker/acorex-components-rate-picker.mjs +0 -5
  574. package/esm2022/rate-picker/index.mjs +0 -3
  575. package/esm2022/rate-picker/lib/calculatePercentage.mjs +0 -45
  576. package/esm2022/rate-picker/lib/rate-picker.component.mjs +0 -253
  577. package/esm2022/rate-picker/lib/rate-picker.module.mjs +0 -18
  578. package/esm2022/result/acorex-components-result.mjs +0 -5
  579. package/esm2022/result/index.mjs +0 -3
  580. package/esm2022/result/lib/result.component.mjs +0 -41
  581. package/esm2022/result/lib/result.module.mjs +0 -19
  582. package/esm2022/routing-progress/acorex-components-routing-progress.mjs +0 -5
  583. package/esm2022/routing-progress/index.mjs +0 -3
  584. package/esm2022/routing-progress/lib/routing-progress.component.mjs +0 -72
  585. package/esm2022/routing-progress/lib/routing-progress.module.mjs +0 -21
  586. package/esm2022/scheduler/acorex-components-scheduler.mjs +0 -5
  587. package/esm2022/scheduler/index.mjs +0 -5
  588. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +0 -72
  589. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +0 -16
  590. package/esm2022/scheduler/lib/scheduler.component.mjs +0 -54
  591. package/esm2022/scheduler/lib/scheduler.module.mjs +0 -27
  592. package/esm2022/scss/acorex-components-scss.mjs +0 -5
  593. package/esm2022/scss/index.mjs +0 -2
  594. package/esm2022/scss/lib/scss.module.mjs +0 -15
  595. package/esm2022/search-box/acorex-components-search-box.mjs +0 -5
  596. package/esm2022/search-box/index.mjs +0 -3
  597. package/esm2022/search-box/lib/search-box.component.mjs +0 -90
  598. package/esm2022/search-box/lib/search-box.module.mjs +0 -46
  599. package/esm2022/select-box/acorex-components-select-box.mjs +0 -5
  600. package/esm2022/select-box/index.mjs +0 -3
  601. package/esm2022/select-box/lib/select-box.component.mjs +0 -368
  602. package/esm2022/select-box/lib/select-box.module.mjs +0 -69
  603. package/esm2022/selection-list/acorex-components-selection-list.mjs +0 -5
  604. package/esm2022/selection-list/index.mjs +0 -3
  605. package/esm2022/selection-list/lib/selection-list.component.mjs +0 -173
  606. package/esm2022/selection-list/lib/selection-list.module.mjs +0 -24
  607. package/esm2022/side-menu/acorex-components-side-menu.mjs +0 -5
  608. package/esm2022/side-menu/index.mjs +0 -4
  609. package/esm2022/side-menu/lib/side-menu-item/side-menu-item.component.mjs +0 -87
  610. package/esm2022/side-menu/lib/side-menu.component.mjs +0 -16
  611. package/esm2022/side-menu/lib/side-menu.module.mjs +0 -43
  612. package/esm2022/skeleton/acorex-components-skeleton.mjs +0 -5
  613. package/esm2022/skeleton/index.mjs +0 -3
  614. package/esm2022/skeleton/lib/skeleton.component.mjs +0 -34
  615. package/esm2022/skeleton/lib/skeleton.module.mjs +0 -18
  616. package/esm2022/slider/acorex-components-slider.mjs +0 -5
  617. package/esm2022/slider/index.mjs +0 -3
  618. package/esm2022/slider/lib/slider.component.mjs +0 -163
  619. package/esm2022/slider/lib/slider.module.mjs +0 -23
  620. package/esm2022/step-wizard/acorex-components-step-wizard.mjs +0 -5
  621. package/esm2022/step-wizard/index.mjs +0 -6
  622. package/esm2022/step-wizard/lib/step-wizard-item/step-wizard-item.component.mjs +0 -70
  623. package/esm2022/step-wizard/lib/step-wizard.class.mjs +0 -2
  624. package/esm2022/step-wizard/lib/step-wizard.component.mjs +0 -151
  625. package/esm2022/step-wizard/lib/step-wizard.directive.mjs +0 -28
  626. package/esm2022/step-wizard/lib/step-wizard.module.mjs +0 -25
  627. package/esm2022/switch/acorex-components-switch.mjs +0 -5
  628. package/esm2022/switch/index.mjs +0 -4
  629. package/esm2022/switch/lib/switch-content.component.mjs +0 -19
  630. package/esm2022/switch/lib/switch.component.mjs +0 -54
  631. package/esm2022/switch/lib/switch.module.mjs +0 -21
  632. package/esm2022/tabs/acorex-components-tabs.mjs +0 -5
  633. package/esm2022/tabs/index.mjs +0 -6
  634. package/esm2022/tabs/lib/tab-content.directive.mjs +0 -28
  635. package/esm2022/tabs/lib/tab-item.component.mjs +0 -149
  636. package/esm2022/tabs/lib/tabs.class.mjs +0 -4
  637. package/esm2022/tabs/lib/tabs.component.mjs +0 -183
  638. package/esm2022/tabs/lib/tabs.module.mjs +0 -25
  639. package/esm2022/tag/acorex-components-tag.mjs +0 -5
  640. package/esm2022/tag/index.mjs +0 -3
  641. package/esm2022/tag/lib/tag.component.mjs +0 -25
  642. package/esm2022/tag/lib/tag.module.mjs +0 -19
  643. package/esm2022/text-area/acorex-components-text-area.mjs +0 -5
  644. package/esm2022/text-area/index.mjs +0 -3
  645. package/esm2022/text-area/lib/text-area.component.mjs +0 -76
  646. package/esm2022/text-area/lib/text-area.module.mjs +0 -19
  647. package/esm2022/text-box/acorex-components-text-box.mjs +0 -5
  648. package/esm2022/text-box/index.mjs +0 -4
  649. package/esm2022/text-box/lib/mask-options.directive.mjs +0 -29
  650. package/esm2022/text-box/lib/text-box.component.mjs +0 -153
  651. package/esm2022/text-box/lib/text-box.module.mjs +0 -24
  652. package/esm2022/time-line/acorex-components-time-line.mjs +0 -5
  653. package/esm2022/time-line/index.mjs +0 -4
  654. package/esm2022/time-line/lib/time-line-item.component.mjs +0 -47
  655. package/esm2022/time-line/lib/time-line.component.mjs +0 -28
  656. package/esm2022/time-line/lib/time-line.module.mjs +0 -19
  657. package/esm2022/toast/acorex-components-toast.mjs +0 -5
  658. package/esm2022/toast/index.mjs +0 -6
  659. package/esm2022/toast/lib/toast.class.mjs +0 -2
  660. package/esm2022/toast/lib/toast.component.mjs +0 -86
  661. package/esm2022/toast/lib/toast.config.mjs +0 -26
  662. package/esm2022/toast/lib/toast.module.mjs +0 -27
  663. package/esm2022/toast/lib/toast.service.mjs +0 -235
  664. package/esm2022/tooltip/acorex-components-tooltip.mjs +0 -5
  665. package/esm2022/tooltip/index.mjs +0 -4
  666. package/esm2022/tooltip/lib/tooltip.component.mjs +0 -20
  667. package/esm2022/tooltip/lib/tooltip.directive.mjs +0 -80
  668. package/esm2022/tooltip/lib/tooltip.module.mjs +0 -22
  669. package/esm2022/tree-view/acorex-components-tree-view.mjs +0 -5
  670. package/esm2022/tree-view/index.mjs +0 -4
  671. package/esm2022/tree-view/lib/tree-view-item.component.mjs +0 -86
  672. package/esm2022/tree-view/lib/tree-view.class.mjs +0 -4
  673. package/esm2022/tree-view/lib/tree-view.component.mjs +0 -338
  674. package/esm2022/tree-view/lib/tree-view.component.module.mjs +0 -50
  675. package/esm2022/uploader/acorex-components-uploader.mjs +0 -5
  676. package/esm2022/uploader/index.mjs +0 -9
  677. package/esm2022/uploader/lib/uploader-browse-handle.directive.mjs +0 -27
  678. package/esm2022/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.mjs +0 -55
  679. package/esm2022/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.mjs +0 -27
  680. package/esm2022/uploader/lib/uploader-list/uploader-list.component.mjs +0 -24
  681. package/esm2022/uploader/lib/uploader-zone.directive.mjs +0 -121
  682. package/esm2022/uploader/lib/uploader.models.mjs +0 -100
  683. package/esm2022/uploader/lib/uploader.module.mjs +0 -76
  684. package/esm2022/uploader/lib/uploader.service.mjs +0 -125
  685. package/esm2022/wysiwyg/acorex-components-wysiwyg.mjs +0 -5
  686. package/esm2022/wysiwyg/index.mjs +0 -11
  687. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.mjs +0 -137
  688. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-toolbar/wysiwyg-toolbar.component.mjs +0 -21
  689. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.mjs +0 -56
  690. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.mjs +0 -76
  691. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.mjs +0 -129
  692. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.mjs +0 -30
  693. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.mjs +0 -43
  694. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.mjs +0 -64
  695. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.mjs +0 -49
  696. package/esm2022/wysiwyg/lib/wysiwyg/wysiwyg.service.mjs +0 -17
  697. package/esm2022/wysiwyg/lib/wysiwyg.module.mjs +0 -75
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-common.mjs","sources":["../../../../libs/components/common/src/lib/types/base/button.type.ts","../../../../libs/components/common/src/lib/types/base/color.type.ts","../../../../libs/components/common/src/lib/types/base/component.types.ts","../../../../libs/components/common/src/lib/types/base/events.types.ts","../../../../libs/components/common/src/lib/types/base/interactive.type.ts","../../../../libs/components/common/src/lib/types/base/look.type.ts","../../../../libs/components/common/src/lib/types/base/value.type.ts","../../../../libs/components/common/src/lib/types/placement.ts","../../../../libs/components/common/src/lib/types/selection-mode.ts","../../../../libs/components/common/src/lib/classes/events.class.ts","../../../../libs/components/common/src/lib/classes/components.class.ts","../../../../libs/components/common/src/lib/classes/datalist.class.ts","../../../../libs/components/common/src/lib/classes/datasource.class.ts","../../../../libs/components/common/src/lib/classes/styles.class.ts","../../../../libs/components/common/src/lib/directives/auto-focus.directive.ts","../../../../libs/components/common/src/lib/services/hotkey.service.ts","../../../../libs/components/common/src/lib/directives/hotkey.directive.ts","../../../../libs/components/common/src/lib/directives/infinite-scroll.directive.ts","../../../../libs/components/common/src/lib/directives/responsive.directive.ts","../../../../libs/components/common/src/lib/common.module.ts","../../../../libs/components/common/src/lib/services/dom.service.ts","../../../../libs/components/common/src/lib/components/base-component.class.ts","../../../../libs/components/common/src/lib/components/color-component.class.ts","../../../../libs/components/common/src/lib/components/look-component.class.ts","../../../../libs/components/common/src/lib/components/colorlook-component.class.ts","../../../../libs/components/common/src/lib/components/interactive-component.class.ts","../../../../libs/components/common/src/lib/components/button-base-component.class.ts","../../../../libs/components/common/src/lib/components/value-component.class.ts","../../../../libs/components/common/src/lib/components/input-base-value-component.class.ts","../../../../libs/components/common/src/lib/components/selection-base.component.class.ts","../../../../libs/components/common/src/lib/directives/delayed-value-changed.directive.ts","../../../../libs/components/common/src/lib/directives/inverted-color.directive.ts","../../../../libs/components/common/src/lib/directives/ripple.directive.ts","../../../../libs/components/common/src/acorex-components-common.ts"],"sourcesContent":["import { Component, model, output } from '@angular/core';\n\n@Component({\n template: '',\n})\nexport abstract class NXButtonComponent {\n text = model<string>();\n\n toggleableChange = output<boolean>();\n selectedChange = output<boolean>();\n}\n","import { Component, model } from '@angular/core';\nimport { AXStyleColorType } from '../../classes/styles.class';\n\n@Component({\n template: '',\n})\nexport abstract class NXColorComponent {\n color = model<AXStyleColorType>('ghost');\n}\n","import { afterNextRender, ElementRef, inject, Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport abstract class NXComponent {\n #elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n #isRendered = signal(false);\n\n protected isRendered = this.#isRendered.asReadonly();\n\n #afterNextRender = afterNextRender(() => {\n if (!this.isRendered()) {\n this.nativeElement['__axContext__'] = this;\n this.#isRendered.set(true);\n }\n });\n\n public get nativeElement(): HTMLElement {\n return this.#elementRef.nativeElement;\n }\n}\n","import { NXComponent } from './component.types';\n\n/**\n * Base event class\n * @category Events\n */\nexport class NXEvent<T extends NXComponent = NXComponent> {\n sender: T;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class NXNativeEvent<T extends NXComponent = NXComponent, E extends Event = Event> extends NXEvent<T> {\n nativeEvent: E;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class NXClickEvent<T extends NXComponent = NXComponent> extends NXNativeEvent<T, MouseEvent> {}\n","import { AXHtmlUtil } from '@acorex/core/utils';\nimport { Component, model, output } from '@angular/core';\nimport { NXComponent } from './component.types';\n\n@Component({\n template: '',\n})\nexport abstract class NXInteractiveComponent extends NXComponent {\n disabled = model<boolean>(false);\n tabIndex = model<number>(0);\n\n onFocus = output();\n onBlur = output();\n\n focus() {\n AXHtmlUtil.focusElement(this.nativeElement);\n }\n\n blur() {\n AXHtmlUtil.blurElement(this.nativeElement);\n }\n\n hasFocus(): boolean {\n return AXHtmlUtil.hasFocus(this.nativeElement);\n }\n}\n","import { Component, model } from '@angular/core';\nimport { AXStyleLookType } from '../../classes/styles.class';\n\n@Component({\n template: '',\n})\nexport abstract class NXLookComponent {\n look = model<AXStyleLookType>('solid');\n}\n","import { Component, model, output } from '@angular/core';\n\n@Component({\n template: '',\n})\nexport abstract class NXValueComponent {\n readonly = model<boolean>();\n name = model<string>();\n value = model();\n\n onValueChanged = output();\n}\n","import { clone, flatten } from 'lodash-es';\n\nconst defaultOffset = 3;\n\nexport type AXPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'end'\n | 'end-top'\n | 'end-bottom'\n | 'start'\n | 'start-top'\n | 'start-bottom';\nexport type AXPlacementType = AXConnectedPosition | AXConnectedPosition[] | AXPlacement | AXPlacement[];\n\nexport function convertToPlacement(value: AXPlacementType): AXConnectedPosition[] {\n const result: AXConnectedPosition[] = [];\n if (value == null) return result;\n if (Array.isArray(value)) {\n const list = flatten(value.map((m) => convertToPlacement(m)).filter((m) => m != null)).map((m) =>\n clone(m),\n );\n result.push(...list);\n } else {\n if (typeof value === 'string') {\n const p = AX_PLACEMENT_MAP[value];\n if (p) {\n result.push(...[clone(p.origin), ...clone(p.alts)]);\n }\n } else {\n if ('originX' in value && 'originY' in value) {\n result.push(clone(value));\n }\n }\n }\n return result;\n}\n\nexport interface AXConnectedPosition {\n originX: 'start' | 'center' | 'end';\n originY: 'top' | 'center' | 'bottom';\n overlayX: 'start' | 'center' | 'end';\n overlayY: 'top' | 'center' | 'bottom';\n weight?: number;\n offsetX?: number;\n offsetY?: number;\n}\n\nexport const AX_PLACEMENT_TOP: AXConnectedPosition = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -defaultOffset,\n};\n\nexport const AX_PLACEMENT_TOP_START: AXConnectedPosition = {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -defaultOffset,\n};\nexport const AX_PLACEMENT_TOP_END: AXConnectedPosition = {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -defaultOffset,\n};\n\nexport const AX_PLACEMENT_BOTTOM: AXConnectedPosition = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: defaultOffset,\n};\n\nexport const AX_PLACEMENT_BOTTOM_START: AXConnectedPosition = {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: defaultOffset,\n};\n\nexport const AX_PLACEMENT_BOTTOM_END: AXConnectedPosition = {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: defaultOffset,\n};\n\nexport const AX_PLACEMENT_START: AXConnectedPosition = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -defaultOffset,\n};\n\nexport const AX_PLACEMENT_START_TOP: AXConnectedPosition = {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -defaultOffset,\n};\n\nexport const AX_PLACEMENT_START_BOTTOM: AXConnectedPosition = {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: -defaultOffset,\n};\n\nexport const AX_PLACEMENT_END: AXConnectedPosition = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: defaultOffset,\n};\n\nexport const AX_PLACEMENT_END_TOP: AXConnectedPosition = {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: defaultOffset,\n};\n\nexport const AX_PLACEMENT_END_BOTTOM: AXConnectedPosition = {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: defaultOffset,\n};\n\nexport const AX_PLACEMENT_MAP: {\n [key: string]: { origin: AXConnectedPosition; alts?: AXConnectedPosition[] };\n} = {\n top: {\n origin: AX_PLACEMENT_TOP,\n alts: [AX_PLACEMENT_BOTTOM],\n },\n 'top-start': {\n origin: AX_PLACEMENT_TOP_START,\n alts: [AX_PLACEMENT_BOTTOM_START],\n },\n 'top-end': {\n origin: AX_PLACEMENT_TOP_END,\n alts: [AX_PLACEMENT_BOTTOM_END],\n },\n bottom: {\n origin: AX_PLACEMENT_BOTTOM,\n alts: [AX_PLACEMENT_BOTTOM],\n },\n 'bottom-start': {\n origin: AX_PLACEMENT_BOTTOM_START,\n alts: [\n AX_PLACEMENT_BOTTOM_END,\n AX_PLACEMENT_TOP_START,\n AX_PLACEMENT_TOP_END,\n AX_PLACEMENT_START,\n AX_PLACEMENT_END,\n ],\n },\n 'bottom-end': {\n origin: AX_PLACEMENT_BOTTOM_END,\n alts: [AX_PLACEMENT_TOP_END],\n },\n end: {\n origin: AX_PLACEMENT_END,\n alts: [AX_PLACEMENT_START],\n },\n 'end-top': {\n origin: AX_PLACEMENT_END_TOP,\n alts: [AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_START_BOTTOM],\n },\n 'end-bottom': {\n origin: AX_PLACEMENT_END_BOTTOM,\n alts: [AX_PLACEMENT_END_TOP, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP],\n },\n start: {\n origin: AX_PLACEMENT_START,\n alts: [AX_PLACEMENT_END],\n },\n 'start-top': {\n origin: AX_PLACEMENT_START_TOP,\n alts: [AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_END_BOTTOM],\n },\n 'start-bottom': {\n origin: AX_PLACEMENT_START_BOTTOM,\n alts: [AX_PLACEMENT_START_TOP, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP],\n },\n};\n","/**\n * A token that specifies the selection mode of component.\n */\n\nexport type AXSelectionMode = 'single' | 'multiple' | 'none';\n","/**\n * Contains native event\n * @category Events\n */\nexport class AXEvent {\n /**\n * The sender component\n */\n component: any;\n /**\n * The root native element\n */\n htmlElement?: HTMLElement;\n\n isUserInteraction?: boolean = false;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXHtmlEvent<E extends Event = Event> extends AXEvent {\n nativeEvent?: E;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXValueChangedEvent<T = any> extends AXEvent {\n name?: string;\n value?: T;\n oldValue?: T;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXOptionChangedEvent<T = any> extends AXEvent {\n name?: string;\n newValue?: T;\n oldValue?: T;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXClickEvent extends AXHtmlEvent<MouseEvent> {\n /**\n * uses for extra data\n */\n data?: any = null;\n\n override nativeEvent?: any = null;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXButtonClickEvent extends AXClickEvent {\n name: string;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXItemClickEvent<T = any> extends AXClickEvent {\n name?: string;\n item: T;\n}\n\n/**\n * Fires each time the component gets focused.\n * @category Events\n */\nexport class AXFocusEvent extends AXHtmlEvent<FocusEvent> { }\n\n/**\n * Fires each time an item or multiple items selected by the user or value.\n * @category Events\n */\nexport class AXSelectionValueChangedEvent extends AXValueChangedEvent<any | any[]> {\n override value?: any = null;\n override oldValue?: any = null;\n selectedKeys?: any[] = [];\n selectedItems?: any[] = [];\n}\n\n/**\n * Contains range start & end values\n * @category Events\n */\nexport class AXRangeChangedEvent<T> extends AXEvent {\n /**\n * The range start value\n */\n start?: T;\n /**\n * The range end value\n */\n end?: T;\n}\n","import { AXValidationRuleOptions, AXValidationSummary } from '@acorex/core/validation';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXEvent, AXValueChangedEvent } from './events.class';\n\nexport const TAB_META_KEY = '__meta__';\n\nexport class AXComponentCloseEvent extends AXEvent {\n data?: any;\n}\nexport class AXComponentClosing {\n cancel = false;\n data?: any;\n}\n\nexport class AXComponentResult {\n sender: any;\n data?: any;\n}\n\nexport interface AXFormValidationRule {\n rule: string;\n options?: AXValidationRuleOptions;\n}\n\n/**\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons after the primary text.\n */\nexport class AXComponentClosedPromise extends Promise<AXComponentResult> {\n private closeMethod: () => void;\n constructor(\n executor: (\n resolve: (value?: AXComponentResult | PromiseLike<AXComponentResult>) => void,\n reject: (reason?: any) => void,\n ) => void,\n ) {\n super(executor);\n }\n\n public close() {\n if (this.closeMethod) {\n this.closeMethod();\n }\n }\n}\n\n@Injectable()\nexport abstract class AXComponent {}\n\n@Injectable()\nexport abstract class AXClosbaleComponent extends AXComponent {\n abstract close(): void;\n}\n\n@Injectable()\nexport abstract class AXClearableComponent extends AXComponent {\n abstract reset(u: boolean): void;\n abstract get readonly(): boolean;\n abstract get disabled(): boolean;\n abstract get value(): unknown;\n}\n\n@Injectable()\nexport abstract class AXSearchableComponent extends AXComponent {\n abstract search(value: string): void;\n}\n\n@Injectable()\nexport abstract class AXValuableComponent extends AXComponent {\n abstract get isRequired(): boolean;\n validationRulesChange: EventEmitter<AXFormValidationRule[]>;\n abstract get name(): string;\n abstract get value(): unknown;\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<unknown>>;\n abstract commitValue(value: unknown, u: boolean);\n\n abstract addValidationRule(rule: AXFormValidationRule);\n\n abstract removeValidationRule(rule: AXFormValidationRule);\n\n abstract validate(): Promise<AXValidationSummary>;\n abstract reset(e: boolean): void;\n abstract resetErrors(): void;\n}\n\n@Injectable()\nexport abstract class AXFocusableComponent extends AXComponent {\n abstract focus();\n}\n\nexport interface AXPagedComponentInterface {\n goToPage(page: number);\n get totalCount(): number;\n get pageSize(): number;\n onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\n}\n\n@Injectable()\nexport abstract class AXPagedComponent extends AXComponent implements AXPagedComponentInterface {\n abstract goToPage(page: number);\n abstract get totalCount(): number;\n abstract pageSize: number;\n abstract onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\n}\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport { BehaviorSubject, Observable, Subscription, debounceTime, distinctUntilChanged } from 'rxjs';\nimport { AXDataSource } from './datasource.class';\n\nexport interface AXDataListQuery {\n take?: number;\n skip?: number;\n searchQuery?: string;\n}\nexport interface AXDataListFetchCallbackResult {\n items: Array<any>;\n total: number;\n}\n\nexport type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise<AXDataListFetchCallbackResult>;\n\nexport type AXDataListItems = Array<any> | AXDataListFetchDataCallback;\n\nexport class AXListDataSource<T = unknown> extends DataSource<T> {\n private debounceTime = 0;\n private subscription = new Subscription();\n public source: AXDataSource<T>;\n private dataStream: BehaviorSubject<T[]>;\n\n private _range: { start: number; end: number } = { start: 0, end: 0 };\n public get range(): { start: number; end: number } {\n return this._range;\n }\n\n /**\n * @ignore\n */\n constructor(private config: { source: AXDataSource<T>; debounceTime?: number }) {\n super();\n this.source = config.source;\n if (config.debounceTime) this.debounceTime = config.debounceTime;\n //\n this.dataStream = new BehaviorSubject<T[]>(this.config.source.cachedItems);\n this.source.onChanged.subscribe((data) => {\n this.dataStream.next(data.cachedItems);\n });\n }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n this.subscription.add(\n collectionViewer.viewChange\n .pipe(debounceTime(this.debounceTime))\n .pipe(distinctUntilChanged())\n .subscribe((range) => {\n this._range = range;\n const startPage = this.getPageForIndex(range.start);\n const endPage = this.getPageForIndex(range.end - 1);\n for (let i = startPage; i <= endPage; i++) {\n this.source.setPage(i);\n }\n }),\n );\n return this.dataStream;\n }\n\n disconnect(): void {\n this.subscription.unsubscribe();\n }\n\n private getPageForIndex(index: number): number {\n return Math.floor(index / this.source.config.pageSize);\n }\n\n refresh() {\n this.dataStream.next(new Array(this.source.pageSize));\n this.source.refresh();\n }\n}\n","import { filter } from 'lodash-es';\nimport { Subject } from 'rxjs';\n\nexport type AXDataSourceOperator = {\n type: 'equal' | 'isNull' | 'isEmpty' | 'lt' | 'lte' | 'gt' | 'gte' | 'startsWith' | 'endsWith' | 'contains';\n negative?: boolean;\n};\nexport type AXFilterLogic = 'and' | 'or';\nexport type AXSortOrder = 'asc' | 'desc';\n\nexport type AXDataSourceFilterOption = {\n field: string;\n value?: unknown;\n operator: AXDataSourceOperator;\n logic?: AXFilterLogic;\n filters?: AXDataSourceFilterOption[];\n};\nexport type AXDataSourceSortOption = { field: string; dir: 'asc' | 'desc' };\n\nexport interface AXDataSourceQuery {\n take: number;\n skip: number;\n filter?: AXDataSourceFilterOption;\n sort: AXDataSourceSortOption[];\n}\nexport interface AXDataSourceCallbackResult<T> {\n items: Array<T>;\n total: number;\n}\n\nexport type AXDataSourceLoadCallback<T> = (e: AXDataSourceQuery) => Promise<AXDataSourceCallbackResult<T>>;\nexport type AXDataSourceByKeyCallback<T> = (key: unknown) => Promise<T>;\n\nexport interface AXDataSourceConfig<T = unknown> {\n key?: string;\n pageSize: number;\n load: AXDataSourceLoadCallback<T>;\n byKey?: AXDataSourceByKeyCallback<T>;\n}\n\nexport interface AXDataSourceChangedEvent<T = unknown> {\n cachedItems: Array<T>;\n items: Array<T>;\n totalCount: number;\n totalPages: number;\n page: number;\n}\n\nexport class AXDataSource<T = unknown> {\n config!: AXDataSourceConfig<T>;\n useCache = true;\n\n private _totalCount = 0;\n public get totalCount(): number {\n return this._totalCount;\n }\n\n public get totalPages(): number {\n return Math.floor(this.totalCount / this.config.pageSize);\n }\n\n public get pageSize(): number {\n return this.config.pageSize;\n }\n\n private _cachedItems: T[];\n public get cachedItems(): T[] {\n return this._cachedItems;\n }\n\n private _items: T[] = [];\n public get items(): T[] {\n return this._items;\n }\n\n private fetchedPages = new Set<number>();\n private _page = 0;\n private _query: AXDataSourceQuery = { skip: 0, take: 0, sort: [] };\n\n public get query(): AXDataSourceQuery {\n return this._query;\n }\n\n public onChanged = new Subject<AXDataSourceChangedEvent<T>>();\n\n public onLoadingChanged = new Subject<boolean>();\n private _isLoading = false;\n public get isLoading(): boolean {\n return this._isLoading;\n }\n\n constructor(config: AXDataSourceConfig<T>) {\n this.config = config;\n this._cachedItems = new Array(this.config.pageSize);\n this._items = new Array(0);\n this._query.take = this.config.pageSize;\n }\n\n private load() {\n const page = this._page;\n if (this.fetchedPages.has(page) && this.useCache) {\n return;\n }\n this.setLoadingState(true);\n this.fetchedPages.add(page);\n this._query.take = this.config.pageSize;\n this._query.skip = page * this.config.pageSize;\n this.config\n .load({ ...this._query })\n .then((result) => {\n if (this._totalCount != result.total) {\n this._cachedItems = new Array(result.total);\n this._totalCount = result.total;\n }\n this._items = result.items;\n this._cachedItems.splice(page * this.config.pageSize, this.config.pageSize, ...result.items);\n const event = {\n cachedItems: this.cachedItems,\n items: this.items,\n page: page,\n totalCount: this.totalCount,\n totalPages: this.totalPages,\n };\n this.onChanged.next(event);\n })\n .finally(() => {\n this.setLoadingState(false);\n });\n }\n\n private setLoadingState(value: boolean) {\n this._isLoading = value;\n this.onLoadingChanged.next(this._isLoading);\n }\n\n public setPage(page: number) {\n if (this._page != page || this._items.length == 0) {\n this._page = page;\n this.load();\n }\n }\n public setPageSize(pageSize: number) {\n this.config.pageSize = pageSize;\n this.load();\n }\n\n public filter(value: AXDataSourceFilterOption) {\n this._query.filter = value;\n }\n\n public sort(...value: AXDataSourceSortOption[]) {\n this._query.sort = value;\n }\n\n public clearFilter() {\n this._query.filter = null;\n }\n\n public reset() {\n this._query.filter = null;\n this._query.sort = [];\n this._query.skip = 0;\n this._items = new Array(0);\n this._cachedItems = new Array(this.config.pageSize);\n this.fetchedPages.clear();\n this._page = 0;\n this._totalCount = 0;\n }\n\n public refresh() {\n const currentFilter = this._query.filter;\n const currentSort = this._query.sort;\n this.reset();\n this._query.filter = currentFilter;\n this._query.sort = currentSort;\n this.load();\n }\n\n find(key: unknown): T | Promise<T> {\n const fromCache = this.cachedItems.find((c) => (!this.config.key && c == key) || (c && this.config.key && c[this.config.key] == key));\n if (fromCache) return fromCache;\n return this.config.byKey ? this.config.byKey(key) : null;\n }\n}\n\nexport function convertArrayToDataSource<T>(\n items: T[],\n options: { key: string; pageSize: number } = { key: 'id', pageSize: 100 },\n): AXDataSource {\n const config: AXDataSourceConfig = {\n key: options.key,\n pageSize: options.pageSize,\n load: (e: AXDataSourceQuery) => {\n const result = e.filter ? filter(items, e.filter) : items;\n return Promise.resolve({\n items: result.slice(e.skip, e.skip + e.take),\n total: result.length,\n });\n },\n byKey: (v: unknown) => Promise.resolve<T>(items.find((c) => c[options.key] == v)),\n };\n return new AXDataSource(config);\n}\n","export const AX_STYLE_COLOR_TYPES = ['primary', 'secondary', 'success', 'warning', 'danger', 'info', 'ghost'];\n\n/**\n * A token that specifies the color style of component.\n */\nexport type AXStyleColorType = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'ghost';\n\nexport type AXStyleLookType = 'solid' | 'blank' | 'outline' | 'twotone' | 'flat' | 'fill' | 'link' | 'none';\n\nexport const AX_STYLE_LOOK_TYPES = ['solid', 'blank', 'outline', 'twotone', 'flat', 'fill', 'none'];\n\nexport const AX_LOCATIONS = [\n 'bottom-start',\n 'bottom-center',\n 'bottom-end',\n 'top-start',\n 'top-center',\n 'top-end',\n 'center-end',\n 'center-start',\n];\n\nexport type AXLocation =\n | 'bottom-start'\n | 'bottom-center'\n | 'bottom-end'\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'center-end'\n | 'center-start';\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n Host,\n inject,\n Input,\n Optional,\n PLATFORM_ID,\n Renderer2,\n Self,\n} from '@angular/core';\nimport { AXFocusableComponent } from '../classes/components.class';\n\n@Directive({\n selector: '[axAutoFocus]',\n})\nexport class AXAutoFocusDirective implements AfterViewInit {\n @Input('axAutoFocus')\n public autoFocus?: boolean = true;\n\n @Input('axAutoFocusTime')\n time = 50;\n\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n constructor(\n private renderer: Renderer2,\n private el: ElementRef<HTMLElement>,\n @Host()\n @Self()\n @Optional()\n public _host: AXFocusableComponent,\n ) {}\n\n ngAfterViewInit(): void {\n this.doFocus();\n }\n\n protected doFocus() {\n if (this.autoFocus) {\n if (this._host) {\n setTimeout(() => {\n this._host.focus();\n }, this.time);\n return;\n }\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(\n (c) => c + ':not([tabindex=\"-1\"])',\n );\n\n const focusable =\n this.el.nativeElement.querySelector<HTMLElement>(list.join(', ')) ?? this.el.nativeElement;\n\n if (isPlatformBrowser(this.platformID)) {\n const attr = this.document.createAttribute('autofocus');\n focusable.setAttributeNode(attr);\n }\n const hasTabindex = focusable.hasAttribute('tabindex');\n if (!hasTabindex) {\n focusable.setAttribute('tabindex', '0');\n }\n setTimeout(() => {\n focusable.focus();\n }, this.time);\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { EventManager } from '@angular/platform-browser';\nimport { Observable } from 'rxjs/internal/Observable';\n\ntype Options = {\n /**\n * element - An html element\n */\n element: any;\n /**\n * keys - string of keys like (Control.f)\n */\n keys: string;\n};\n\n@Injectable()\nexport class AXHotkeysService {\n defaults: Partial<Options> = {\n element: this.document,\n };\n\n constructor(\n private eventManager: EventManager,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n /**\n * Add shortcut\n *\n *\n * @param options\n * @returns Observable\n *\n */\n addShortcut(options: Partial<Options>) {\n const merged = { ...this.defaults, ...options };\n const event = `keydown.${merged.keys}`;\n return new Observable((observer) => {\n const handler = (e: UIEvent) => {\n e.preventDefault();\n observer.next(e);\n };\n if (merged.element) {\n // Todo: check addEventListener is not function\n\n const dispose = this.eventManager.addEventListener(merged.element, event, handler);\n return () => {\n dispose();\n };\n } else {\n return null;\n }\n });\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Host, Input, Optional, Self } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXComponent } from '../classes/components.class';\nimport { AXHotkeysService } from '../services/hotkey.service';\n\nexport type AXHotKeyAction = { [key: string]: string | Function; parmas?: any };\n\n@Directive({\n selector: '[axHotkey]',\n})\nexport class AXHotkeyDirective implements AfterViewInit {\n @Input()\n public axHotkey: string | AXHotKeyAction | AXHotKeyAction[] = '';\n\n private _subs: Subscription[] = [];\n\n constructor(\n private el: ElementRef<HTMLElement>,\n @Host()\n @Self()\n @Optional()\n public _host: AXComponent,\n private hs: AXHotkeysService,\n ) {}\n\n ngAfterViewInit(): void {\n if (!this.axHotkey || !this._host) return;\n\n if (typeof this.axHotkey == 'string') {\n this._addDefaultAction(this.axHotkey);\n } else if (typeof this.axHotkey == 'object' && !Array.isArray(this.axHotkey)) {\n this._addHotKeyAction([this.axHotkey as AXHotKeyAction]);\n } else if (Array.isArray(this.axHotkey)) {\n this._addHotKeyAction(this.axHotkey);\n }\n }\n\n private _addDefaultAction(hotkey: string) {\n this._subs.push(\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\n ['click', 'toggle', 'open', 'focus'].forEach((a) => {\n if (this._host[a]) {\n this._host[a]();\n return;\n }\n });\n }),\n );\n }\n\n private _addHotKeyAction(hotkeys: AXHotKeyAction[]) {\n hotkeys.forEach((k) => {\n const hotkey = (<unknown>Object.entries(k)[0][0]) as string;\n const action = <unknown>Object.entries(k)[0][1];\n if (!action) this._addDefaultAction(hotkey);\n else {\n this._subs.push(\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\n if (typeof action == 'string' && this._host[action]) {\n this._host[action]();\n return;\n }\n if (typeof action == 'function') {\n action();\n return;\n }\n }),\n );\n }\n });\n }\n\n ngOnDestroy() {\n this._subs.forEach((s) => {\n s.unsubscribe();\n });\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\nimport { Observable, fromEvent } from 'rxjs';\nimport { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';\n\nexport interface AXScrollPosition {\n scrollHeight: number;\n scrollTop: number;\n clientHeight: number;\n}\n\nconst AX_DEFAULT_SCROLL_POSITION: AXScrollPosition = {\n scrollHeight: 0,\n scrollTop: 0,\n clientHeight: 0,\n};\n\n@Directive({\n selector: '[axInfiniteScroller]',\n})\nexport class AXInfiniteScrollerDirective implements AfterViewInit {\n private scrollEvent$: Observable<any>;\n\n private userScrolledDown$: Observable<any>;\n\n private requestOnScroll$: Observable<any>;\n\n @Input()\n scrollCallback: Function;\n\n @Input()\n immediateCallback;\n\n @Input()\n scrollPercent = 70;\n\n constructor(private elm: ElementRef) {}\n\n ngAfterViewInit() {\n this.registerScrollEvent();\n\n this.streamScrollEvents();\n\n this.requestCallbackOnScroll();\n }\n\n private registerScrollEvent() {\n this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');\n }\n\n private streamScrollEvents() {\n this.userScrolledDown$ = this.scrollEvent$.pipe(\n map(\n (e: any): AXScrollPosition => ({\n scrollHeight: e.target.scrollHeight,\n scrollTop: e.target.scrollTop,\n clientHeight: e.target.clientHeight,\n }),\n ),\n pairwise(),\n filter((positions) => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1])),\n );\n }\n\n private requestCallbackOnScroll() {\n this.requestOnScroll$ = this.userScrolledDown$;\n\n if (this.immediateCallback) {\n this.requestOnScroll$ = this.requestOnScroll$.pipe(startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION]));\n }\n\n this.requestOnScroll$.pipe(\n exhaustMap(() => {\n return this.scrollCallback();\n }),\n );\n }\n\n private isUserScrollingDown = (positions) => {\n return positions[0].sT < positions[1].sT;\n };\n\n private isScrollExpectedPercent = (position) => {\n return (position.sT + position.cH) / position.sH > this.scrollPercent / 100;\n };\n}\n","import { Directive, ElementRef, OnDestroy } from '@angular/core';\n\n@Directive({ selector: '[axResponsive]' })\nexport class AXResponsiveDirective implements OnDestroy {\n private _observer: ResizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target) {\n const e = entry.target;\n const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];\n elements\n .map((c) => ({\n element: c,\n classList: Array.from(c.classList)\n .filter((c) => c.includes('sm'))\n .map((c) => c.slice(3)),\n }))\n .forEach((c) => {\n e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);\n });\n }\n }\n });\n\n constructor(private _elementRef: ElementRef<HTMLDivElement>) {\n this._observer.observe(_elementRef.nativeElement);\n }\n\n ngOnDestroy() {\n this._observer?.disconnect();\n this._observer?.unobserve(this._elementRef.nativeElement);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXAutoFocusDirective } from './directives/auto-focus.directive';\nimport { AXHotkeyDirective } from './directives/hotkey.directive';\nimport { AXInfiniteScrollerDirective } from './directives/infinite-scroll.directive';\nimport { AXResponsiveDirective } from './directives/responsive.directive';\nimport { AXHotkeysService } from './services/hotkey.service';\n@NgModule({\n declarations: [AXResponsiveDirective, AXInfiniteScrollerDirective, AXAutoFocusDirective, AXHotkeyDirective],\n imports: [],\n exports: [AXResponsiveDirective, AXInfiniteScrollerDirective, AXAutoFocusDirective, AXHotkeyDirective],\n providers: [AXHotkeysService],\n})\nexport class AXCommonModule {}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class AXDomService {\n generateElementId(): string {\n const dateString = Date.now().toString(36);\n const randomness = Math.random().toString(36).substr(2);\n return dateString + randomness;\n }\n}\n","import {\n ChangeDetectorRef,\n ElementRef,\n EventEmitter,\n Injectable,\n ViewContainerRef,\n inject,\n} from '@angular/core';\nimport { AXOptionChangedEvent } from '../classes/events.class';\nimport { AXDomService } from '../services/dom.service';\n\nexport type MXComponentOptionChanging<T = any> = { name: string; value?: T };\nexport type MXComponentOptionChanged<T = any> = MXComponentOptionChanging<T>;\n\nexport type MXComponentSetOption<T> = {\n name: string;\n value?: T;\n afterCallback?: (oldValue?: T, newValue?: T) => void;\n beforeCallback?: (oldValue?: T, newValue?: T) => void;\n};\n\nexport type AXComponentState = 'clear' | 'success' | 'error';\n\n@Injectable()\nexport abstract class MXBaseComponent {\n private _cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\n private _elementRef: ElementRef = inject(ElementRef);\n private _viewRef: ViewContainerRef = inject(ViewContainerRef);\n private _domService = inject(AXDomService);\n\n private _id: string = this._domService.generateElementId();\n public get id(): string {\n return this._id;\n }\n public set id(v: string) {\n this._id = v;\n }\n\n protected get cdr(): ChangeDetectorRef {\n return this._cdr;\n }\n\n public getHostElement<T = HTMLElement>(): T {\n return this._elementRef?.nativeElement as T;\n }\n\n protected getViewContainer(): ViewContainerRef {\n return this._viewRef;\n }\n\n protected internalOptionChanging(option: MXComponentOptionChanging): any {\n return option?.value;\n }\n\n protected internalOptionChanged(option: MXComponentOptionChanged): void {}\n /**\n * @ignore\n */\n protected ngOnInit(): void {\n (this.getHostElement() as any).__axContext__ = this;\n }\n\n /**\n * Fired when an option related to the component changes.\n *\n * @event\n */\n public onOptionChanged: EventEmitter<AXOptionChangedEvent> = new EventEmitter<AXOptionChangedEvent>();\n\n public setOption<T = any>(option: MXComponentSetOption<T>) {\n const oldValue = this[option.name];\n let newValue = this.internalOptionChanging({\n name: option.name,\n value: option.value,\n });\n if (option.beforeCallback) {\n newValue = option.beforeCallback(oldValue, newValue);\n }\n //TODO : check real changes if value is object\n if (oldValue != newValue) {\n this[`_${option.name}`] = option.value;\n this.onOptionChanged.emit({\n component: this,\n name: option.name,\n newValue,\n oldValue,\n });\n const emitter = this[`${option.name}Change`] as EventEmitter<any>;\n emitter?.emit(newValue);\n this.internalOptionChanged({ name: option.name, value: newValue });\n }\n if (option.afterCallback) option.afterCallback(oldValue, newValue);\n }\n}\n","import { EventEmitter } from '@angular/core';\nimport { AXStyleColorType } from '../classes/styles.class';\nimport { MXBaseComponent } from './base-component.class';\n\nexport class MXColorComponent extends MXBaseComponent {\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\n private _color: AXStyleColorType = 'ghost';\n /**\n * Predefined color schemes\n */\n get color(): AXStyleColorType {\n return this._color;\n }\n set color(value: AXStyleColorType) {\n this.setOption({\n name: 'color',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { AXStyleLookType } from '../classes/styles.class';\nimport { MXBaseComponent } from './base-component.class';\n\n@Injectable()\nexport abstract class MXLookableComponent {\n look: AXStyleLookType;\n}\n\nexport class MXLookComponent extends MXBaseComponent {\n lookChange: EventEmitter<AXStyleLookType> = new EventEmitter();\n private _look?: AXStyleLookType = 'solid';\n /**\n * Predefined look schemes\n */\n get look(): AXStyleLookType {\n return this._look;\n }\n set look(value: AXStyleLookType) {\n this.setOption({\n name: 'look',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n}\n","import { classes } from 'polytype';\nimport { MXColorComponent } from './color-component.class';\nimport { MXLookComponent } from './look-component.class';\n\nexport class MXColorLookComponent extends classes(MXColorComponent, MXLookComponent) {}\n","import { AXHtmlUtil } from '@acorex/core/utils';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { EventEmitter } from '@angular/core';\nimport { noop } from 'rxjs';\nimport { AXFocusEvent } from '../classes/events.class';\nimport { MXBaseComponent } from './base-component.class';\n\nexport class MXInteractiveComponent extends MXBaseComponent {\n /**\n * @ignore\n */\n protected onTouchedCallback: () => void = noop;\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedCallback = fn;\n }\n\n private _touched = false;\n /**\n * Indicates whether the component has been touched.\n *\n */\n public get touched(): boolean {\n return this._touched;\n }\n\n /**\n * @ignore\n */\n\n protected markAsTouched() {\n if (!this.touched) {\n this.onTouchedCallback();\n this._touched = true;\n }\n }\n\n /**\n * Emits an event whenever the disabled state of the component changes.\n *\n * @event\n */\n disabledChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n private _disabled: boolean;\n /**\n * If set to true, it disables the component.\n */\n public get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n value = coerceBooleanProperty(value);\n this.setOption({\n name: 'disabled',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n _tabIndex = 0;\n /**\n * Specifies the tabindex of the component.\n */\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n this.setOption({\n name: 'tabIndex',\n value: value != null ? coerceNumberProperty(value) : 0,\n });\n }\n\n /**\n * Fires each time the component gets focused.\n * @event\n */\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n protected emitOnFocusEvent(e: FocusEvent): void {\n this.onFocus.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n /**\n * Fires each time the component gets blurred.\n * @event\n */\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n protected emitOnBlurEvent(e: FocusEvent): void {\n this.markAsTouched();\n this.onBlur.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n // /**\n // * Fires each time the user clicks the button.\n // * @event\n // */\n // onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n // protected emitOnClickEvent(e: MouseEvent): void {\n // this.onClick.emit({\n // component: this,\n // htmlElement: this.getHostElement(),\n // nativeEvent: e,\n // });\n // }\n\n focus() {\n AXHtmlUtil.focusElement(this.getHostElement());\n }\n\n blur() {\n AXHtmlUtil.blurElement(this.getHostElement());\n }\n\n /**\n * Check component is focused or has any focused element.\n */\n hasFocus(): boolean {\n return AXHtmlUtil.hasFocus(this.getHostElement());\n }\n\n // private _focused = signal(false);\n\n // protected markAsFocused() {\n // this._focused.set(true);\n // }\n\n // protected markAsBlured() {\n // this._focused.set(false);\n // }\n}\n","import { EventEmitter } from '@angular/core';\nimport { classes } from 'polytype';\nimport { MXColorLookComponent } from './colorlook-component.class';\nimport { MXInteractiveComponent } from './interactive-component.class';\n\nexport class MXButtonBaseComponent extends classes(MXInteractiveComponent, MXColorLookComponent) {\n /**\n * Emits an event when the text associated with the button changes.\n *\n * @event\n */\n textChange: EventEmitter<string> = new EventEmitter();\n private _text: string;\n /**\n * Defines the primary text to show inside the button.\n */\n get text(): string {\n return this._text;\n }\n set text(v: string) {\n this.setOption({\n name: 'text',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n /**\n * Emits an event when the toggleable state of the action sheet changes.\n *\n * @event\n */\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\n private _toggleable?: boolean = false;\n /**\n * Provides visual styling that indicates if the Button is active\n */\n get toggleable(): boolean {\n return this._toggleable;\n }\n set toggleable(value: boolean) {\n this.setOption({\n name: 'toggleable',\n value,\n });\n }\n\n /**\n * Emits an event whenever the selection state of the component changes.\n *\n * @event\n */\n selectedChange: EventEmitter<boolean> = new EventEmitter();\n private _selected?: boolean = false;\n /**\n * Indicates if the Button is selected or not\n */\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: boolean) {\n this.setOption({\n name: 'selected',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n /**\n * @ignore\n */\n constructor() {\n super();\n }\n /**\n * @ignore\n */\n protected get cssClasses() {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-el-interactive': true,\n };\n cssClasses[`ax-el-${this['color'] || 'solid'}${this['look'] ? '-' + this['look'] : '-solid'}`] = true;\n return cssClasses;\n }\n}\n","import { isBrowser } from '@acorex/core/platform';\nimport { AXValidationService, AXValidationSummary } from '@acorex/core/validation';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { EventEmitter, Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { clone, isEqual } from 'lodash-es';\nimport { noop } from 'rxjs';\nimport { AXFormValidationRule } from '../classes/components.class';\nimport { AXValueChangedEvent } from '../classes/events.class';\nimport { AXComponentState } from './base-component.class';\nimport { MXInteractiveComponent } from './interactive-component.class';\n\n@Injectable()\nexport class MXValueComponent<T = any> extends MXInteractiveComponent implements ControlValueAccessor {\n /**\n * Fires each time the user press a key.\n * @event\n */\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<AXValueChangedEvent<any>>();\n\n /**\n * @deprecated The event should not be used, use ngModelChange instead\n */\n valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n readonlyChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n private _readonly = false;\n /**\n * If set to true, user cannot change the value of component.\n */\n get readonly() {\n return this._readonly;\n }\n set readonly(value: boolean) {\n value = coerceBooleanProperty(value);\n this.setOption({\n name: 'readonly',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n private _name: string;\n get name() {\n return this._name;\n }\n set name(value: string) {\n this._name = value;\n }\n\n private _dirty = false;\n public get dirty() {\n return this._dirty;\n }\n\n markAsDirty() {\n this._dirty = true;\n }\n\n private _isUserInteraction = false;\n\n initValue: T;\n defaultValue: T;\n\n private _value: T;\n /**\n * @deprecated The property should not be used, use ngModel instead\n */\n get value(): T {\n return this.internalGetValue(this._value) ?? this.defaultValue;\n }\n set value(v: T) {\n v = this.internalSetValue(v);\n const old = clone(this.value);\n\n if (v === null || v === undefined || v === '' || (Array.isArray(v) && v.length === 0)) {\n this.setState('clear');\n if (old === null || old === undefined || old === '' || (Array.isArray(old) && old.length === 0)) {\n return;\n }\n }\n\n if (!isEqual(old, v)) {\n this._value = v;\n this.emitOnValueChangedEvent(old, this.value);\n\n this.internalValueChanged(this.value);\n }\n }\n\n stateChange: EventEmitter<AXComponentState> = new EventEmitter<AXComponentState>();\n\n private _state: AXComponentState = 'clear';\n\n get state(): AXComponentState {\n return this._state;\n }\n\n set state(value: AXComponentState) {\n this.setState(value);\n this.stateChange.emit(value);\n }\n\n protected emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\n this.valueChange.emit(newValue);\n this.onValueChanged.emit({\n component: this,\n value: newValue,\n oldValue: oldValue,\n name: this.name,\n isUserInteraction: this._isUserInteraction,\n });\n this.onChangeCallback(newValue);\n this.cdr.markForCheck();\n this._isUserInteraction = false;\n }\n\n protected internalSetValue(value: any): T {\n return value;\n }\n\n protected internalGetValue(value: any): T {\n return value;\n }\n\n protected internalValueChanged(value: any): void {}\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n //\n this.registerValidation();\n }\n\n protected ngOnDestroy() {\n this.onValueChanged?.unsubscribe();\n this.onOptionChanged?.unsubscribe();\n }\n\n protected registerValidation() {\n const a = this.getHostElement().querySelectorAll('[ax-form-item=\"true\"]');\n a.forEach((c) => {\n c.removeAttribute('ax-form-item');\n });\n this.getHostElement().setAttribute('ax-form-item', 'true');\n }\n\n protected document = inject(DOCUMENT);\n protected platformID = inject(PLATFORM_ID);\n private validationService = inject(AXValidationService);\n\n public validationRulesChange: EventEmitter<AXFormValidationRule[]> = new EventEmitter<\n AXFormValidationRule[]\n >();\n private validationRules: AXFormValidationRule[] = [];\n\n public get isRequired(): boolean {\n return this.validationRules?.some((c) => c.rule == 'required');\n }\n\n addValidationRule(rule: AXFormValidationRule) {\n this.validationRules.push(rule);\n this.validationRulesChange.emit(this.validationRules);\n }\n\n removeValidationRule(rule: AXFormValidationRule) {\n this.validationRules = this.validationRules.filter(\n (r) => r.rule !== rule.rule || !isEqual(r.options, rule.options),\n );\n this.validationRulesChange.emit(this.validationRules);\n }\n\n async validate(): Promise<AXValidationSummary> {\n const container_classes = ['ax-editor-container', 'ax-checkbox', 'ax-radio'];\n const container = container_classes.some((c) => this.getHostElement().classList.contains(c))\n ? this.getHostElement()\n : this.getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('ax-form-field') || container?.closest('ax-checkbox');\n const label = formField?.querySelector('ax-label') || formField?.querySelector('label');\n //\n const rules = this.validationService.ruleFor(this.value);\n this.validationRules.forEach((r) => {\n r.options['title'] = (label?.firstChild?.textContent ?? this.name)?.replace('*', '').trim();\n rules.addRule(r.rule as any, r.options);\n });\n const result = await rules.validate();\n if (result.result) {\n this.setState('clear');\n } else {\n const message = result.rules.find((c) => !c.result).message;\n this.setState('error', message);\n }\n return result;\n }\n\n protected setState(state: AXComponentState, ...args) {\n //TODO: find a better solution\n if (isBrowser()) {\n const container = this.getHostElement().classList.contains('ax-editor-container')\n ? this.getHostElement()\n : this.getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('ax-form-field');\n const label = formField?.querySelector('ax-label') || formField?.querySelector('label');\n let target = container || this.getHostElement().firstElementChild;\n if (target?.querySelector('.ax-error-container')) {\n target = target.querySelector('.ax-error-container');\n }\n const parent = target?.parentElement;\n if (!target || !parent) return;\n\n switch (state) {\n case 'clear':\n this._state = 'clear';\n if (parent.querySelector('span.ax-error-message')) {\n parent.removeChild(parent.querySelector('span.ax-error-message')!);\n }\n label?.classList.remove('ax-state-error');\n target.classList.remove('ax-state-error', 'ax-state-success');\n break;\n case 'success':\n this.setState('clear');\n target.classList.add('ax-state-success');\n this._state = 'success';\n break;\n case 'error':\n this.setState('clear');\n if (args[0] && isPlatformBrowser(this.platformID)) {\n const span = this.document.createElement('span');\n span.innerHTML = args[0];\n span.classList.add('ax-error-message');\n parent.appendChild(span);\n }\n label?.classList.add('ax-state-error');\n target.classList.add('ax-state-error');\n\n this._state = 'error';\n break;\n }\n this.cdr.markForCheck();\n }\n }\n\n protected onChangeCallback: (value: T) => void = noop;\n\n registerOnChange(fn: (value: T) => void): void {\n this.onChangeCallback = fn;\n }\n\n writeValue(value: T): void {\n this.value = value;\n }\n\n public commitValue(value: T, u = false) {\n if (u) {\n this.markAsTouched();\n this.markAsDirty();\n this._isUserInteraction = true;\n }\n this.writeValue(value);\n }\n\n reset(e = false) {\n this.commitValue(null, e);\n }\n\n resetErrors() {\n this.setState('clear');\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { AXHtmlEvent } from '../classes/events.class';\nimport { MXValueComponent } from './value-component.class';\n\n@Injectable()\nexport class MXInputBaseValueComponent<T = string> extends MXValueComponent<T> {\n placeholder: string;\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyDown: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyUp: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyPress: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n protected emitOnKeydownEvent(e: KeyboardEvent) {\n this.onKeyDown.emit({\n component: this,\n nativeEvent: e,\n });\n }\n\n protected emitOnKeyupEvent(e: KeyboardEvent) {\n this.onKeyUp.emit({\n component: this,\n nativeEvent: e,\n });\n }\n\n protected emitOnKeypressEvent(e: KeyboardEvent) {\n this.onKeyPress.emit({\n component: this,\n nativeEvent: e,\n });\n }\n\n override focus(): void {\n const input = this.getHostElement().querySelector('input');\n if (input) input.focus();\n else super.focus();\n }\n}\n","import { AXFormatService } from '@acorex/core/format';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Injectable, InjectionToken, inject } from '@angular/core';\nimport { MXValueComponent } from './value-component.class';\n\n@Injectable()\nexport class MXSelectionBridgeService {\n public selectedItems: unknown[] = [];\n public cacheList: { [key: string | number]: unknown } = {};\n}\n\nexport const AX_SELECTION_DATA_TOKEN = new InjectionToken<MXSelectionBridgeService>(\n 'AX_SELECTION_DATA_TOKEN',\n);\n\n@Injectable()\nexport abstract class MXSelectionValueComponent<T = unknown> extends MXValueComponent<unknown> {\n private formatService = inject(AXFormatService);\n private dataService = inject(AX_SELECTION_DATA_TOKEN);\n\n disabledCallback: (e: { item: T; index: number }) => boolean;\n\n private _valueField = 'id';\n public get valueField(): string {\n return this._valueField;\n }\n public set valueField(v: string) {\n this.setOption({\n name: 'valueField',\n value: v,\n });\n }\n private _textTemplate = '';\n public get textTemplate(): string {\n return this._textTemplate;\n }\n public set textTemplate(v: string) {\n this.setOption({\n name: 'textTemplate',\n value: v,\n });\n }\n\n private _textField = 'text';\n public get textField(): string {\n return this._textField;\n }\n public set textField(v: string) {\n this.setOption({\n name: 'textField',\n value: v,\n });\n }\n\n private _disabledField = 'disabled';\n public get disabledField(): string {\n return this._disabledField;\n }\n public set disabledField(v: string) {\n this.setOption({\n name: 'disabledField',\n value: v,\n });\n }\n\n private _multiple = false;\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(v: boolean) {\n this.setOption({\n name: 'multiple',\n value: v,\n afterCallback: () => {\n this.reset(false);\n },\n });\n }\n\n get selectedItems(): unknown[] {\n return this.dataService.selectedItems || [];\n }\n\n override internalSetValue(value: unknown) {\n const isArray = Array.isArray(value);\n if (value == null || (isArray && value.length == 0)) {\n return this.multiple ? [] : null;\n }\n const normalizedItems = isArray\n ? this.normalizeItemsList(value, true)\n : this.normalizeItemsList([value], true);\n\n if (normalizedItems.length == 0) {\n return this.multiple ? [] : null;\n }\n const result = this.multiple\n ? normalizedItems.map((c) => c[this.valueField])\n : normalizedItems[0][this.valueField];\n return result;\n }\n\n override emitOnValueChangedEvent(oldValue?: unknown, newValue?: unknown) {\n this._normalizeSelectedItems();\n super.emitOnValueChangedEvent(oldValue, newValue);\n }\n\n abstract getItemByKey(key: unknown): unknown | Promise<unknown>;\n\n protected normalizeItemsList(items: unknown[], findBykey = false): unknown[] {\n if (items == null) return [];\n return items.filter((c) => c != null).map((i) => this.normalizeItem(i, findBykey));\n }\n\n private normalizeItem(item: unknown, findBykey = false): unknown {\n const complex = typeof item == 'object';\n const key = complex ? item[this.valueField] : `${item}`;\n const cacheKey = `k-${key}`;\n const hasText = !complex || item[this.textField] != null;\n //\n if (this.dataService.cacheList[cacheKey] && this.dataService.cacheList[cacheKey][this.textField])\n return this.dataService.cacheList[cacheKey];\n //\n const obj: unknown = {};\n if (complex && hasText) {\n Object.assign(obj, item);\n } else {\n const existsItem = findBykey ? this.getItemByKey(key) : null;\n if (existsItem && existsItem instanceof Promise) {\n obj[this.valueField] = key;\n obj['isLoading'] = true;\n obj[this.textField] = 'Loading';\n //\n existsItem\n .then((r) => {\n if (typeof r === 'object' && r) {\n obj[this.valueField] = r[this.valueField];\n obj[this.textField] = r[this.textField];\n } else {\n obj[this.valueField] = r || key;\n obj[this.textField] = r;\n }\n })\n .finally(() => {\n obj['isLoading'] = false;\n this.dataService.cacheList[cacheKey] = obj;\n this.cdr.markForCheck();\n });\n } else if (existsItem) {\n obj[this.valueField] = complex ? existsItem[this.valueField] : existsItem;\n obj[this.textField] = complex ? existsItem[this.textField] : existsItem;\n } else {\n obj[this.valueField] = complex ? item[this.valueField] : item;\n obj[this.textField] = complex ? item[this.textField] : item;\n }\n }\n this.dataService.cacheList[cacheKey] = obj;\n return obj;\n }\n\n private _normalizeSelectedItems() {\n const values = Array.isArray(this.value) ? this.value : this.value != null ? [this.value] : [];\n this.dataService.selectedItems = values.map((v) => this.normalizeItem(v));\n }\n\n public unselectItems(...items: T[]) {\n if (!items || items.length === 0) {\n this.commitValue([], true);\n return;\n }\n const normalizeItems = Array.isArray(items)\n ? this.normalizeItemsList(items)\n : [this.normalizeItem(items)];\n const newSelectedItems = this.selectedItems.filter(\n (i) => !normalizeItems.some((n) => n[this.valueField] == i[this.valueField]),\n );\n this.commitValue(newSelectedItems, true);\n }\n\n public selectItems(...items: T[]) {\n if (items && items.length) {\n let newSelectedItems = Array.isArray(this.value) ? this.value : [this.value];\n const normalizeItems = Array.isArray(items)\n ? this.normalizeItemsList(items)\n : [this.normalizeItem(items)];\n if (this.multiple) {\n newSelectedItems = [...newSelectedItems, ...normalizeItems];\n } else {\n newSelectedItems = normalizeItems;\n }\n this.commitValue(newSelectedItems, true);\n }\n }\n\n public toggleSelect(...items: T[]) {\n items?.forEach((item) => {\n if (this.multiple) {\n this.isItemSelected(item) ? this.unselectItems(item) : this.selectItems(item);\n } else {\n this.selectItems(item);\n }\n });\n }\n\n public isItemSelected(item: T): boolean {\n return this.selectedItems.some((c) => c[this.valueField] === this.normalizeItem(item)[this.valueField]);\n }\n\n public isItemDisabled(item: T): boolean {\n return (\n this.disabled ||\n coerceBooleanProperty(item[this.disabledField]) === true ||\n (this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false)\n );\n }\n\n // protected getDisplayText(item: T) {\n // const normalizeItem = this.normalizeItem(item) as any;\n // return formattedText || normalizeItem[this.valueField];\n // }\n\n protected getDisplayText(item: T) {\n const normalizeItem = this.normalizeItem(item) as any;\n const formattedTemplate = this.formatService.format(this.textTemplate, 'string', normalizeItem);\n if (this.textTemplate && formattedTemplate != this.textTemplate) return formattedTemplate;\n else return normalizeItem[this.textField] || normalizeItem[this.valueField];\n }\n\n protected getValue(item: T) {\n const normalizeItem = this.normalizeItem(item) as any;\n return normalizeItem[this.valueField];\n }\n\n protected clearSelectionCache() {\n this.dataService.cacheList = {};\n this.dataService.selectedItems = [];\n this.cdr.markForCheck();\n }\n\n protected softClearSelectionCache() {\n this.dataService.cacheList = {};\n this.cdr.markForCheck();\n }\n}\n","import { Directive, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { NgModel } from '@angular/forms';\nimport { Subscription, debounceTime, distinctUntilChanged, skip } from 'rxjs';\n\n@Directive({\n selector: '[axDelayedValueChanged]',\n standalone: true,\n})\nexport class AXNgModelDelayedValueChangedDirective implements OnDestroy {\n @Output()\n axDelayedValueChanged = new EventEmitter<any>();\n\n @Output()\n axDelayTimeChange = new EventEmitter<number>();\n\n private _delayTime = 0;\n @Input()\n public get delayTime(): number {\n return this._delayTime;\n }\n public set delayTime(v: number) {\n if (v != this._delayTime) {\n this._delayTime = v;\n this.axDelayTimeChange.emit(v);\n this.update();\n }\n }\n\n private subscription: Subscription;\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n\n constructor(private ngModel: NgModel) {\n this.delayTime = 0;\n }\n\n private update() {\n this.subscription?.unsubscribe();\n //\n this.subscription = this.ngModel.control.valueChanges\n .pipe(\n skip(1), // skip initial value\n distinctUntilChanged(),\n debounceTime(this.delayTime),\n )\n .subscribe((value) => this.axDelayedValueChanged.emit(value));\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Directive,\n PLATFORM_ID,\n ViewContainerRef,\n afterNextRender,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { AXStyleColorType } from '../classes/styles.class';\n\n@Directive({\n selector: '[axInvertedColor]',\n standalone: true,\n})\nexport class AXInvertedColorDirective {\n color = input.required<AXStyleColorType>();\n ref = inject(ViewContainerRef);\n private platformID = inject(PLATFORM_ID);\n constructor() {\n afterNextRender(() => {\n this.invertColor();\n });\n effect(() => {\n this.invertColor();\n });\n }\n\n protected invertColor() {\n let color;\n let foreColor;\n const invertedVariables = [];\n\n if (isPlatformBrowser(this.platformID)) {\n if (this.color() === 'ghost') {\n color = getComputedStyle(document.documentElement).getPropertyValue(`--ax-color-${this.color()}`);\n foreColor = getComputedStyle(document.documentElement).getPropertyValue(\n `--ax-color-${this.color()}-fore`,\n );\n invertedVariables.push({ name: `--ax-color-ghost`, value: `${foreColor}` });\n invertedVariables.push({ name: `--ax-color-ghost-fore`, value: `${color}` });\n } else {\n const range = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];\n\n color = getComputedStyle(document.documentElement).getPropertyValue(`--ax-color-${this.color()}-500`);\n foreColor = getComputedStyle(document.documentElement).getPropertyValue(\n `--ax-color-${this.color()}-fore`,\n );\n range.forEach((c) => {\n invertedVariables.push({ name: `--ax-color-${this.color()}-${c}`, value: `${foreColor}` });\n });\n invertedVariables.push({ name: `--ax-color-${this.color()}-fore`, value: `${color}` });\n invertedVariables.push({ name: `--ax-color-${this.color()}-fore-tint`, value: `${color}` });\n }\n\n invertedVariables.forEach((c) => {\n (this.ref.element.nativeElement as HTMLElement).style.setProperty(c.name, c.value);\n });\n }\n }\n}\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n inject,\n Input,\n OnDestroy,\n PLATFORM_ID,\n} from '@angular/core';\n\n@Directive({\n selector: '[axRipple]',\n standalone: true,\n})\nexport class AXRippleDirective implements OnDestroy {\n @Input('axRipple')\n public enabled?: boolean = true;\n\n @Input() axRippleColor = 'rgb(255, 255, 255 , 0.3)';\n\n ripple: HTMLSpanElement | null;\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n constructor(\n private el: ElementRef<HTMLElement>,\n private cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n if (this.enabled) {\n this.el.nativeElement.addEventListener('click', (event: MouseEvent) => {\n this.onElementClick(event);\n });\n }\n }\n\n ngOnDestroy() {\n this.el.nativeElement.removeEventListener('click', this.createRipple.bind(this));\n }\n\n private onElementClick(event: MouseEvent) {\n this.createRipple(event);\n }\n\n private createRipple(event: MouseEvent) {\n const element = event.currentTarget as HTMLElement;\n const exists = element.querySelector('.ax-ripple');\n if (exists) exists.remove();\n\n this.el.nativeElement.style.overflow = 'hidden';\n const rect = element.getBoundingClientRect();\n const x = Math.floor(((event.clientX - rect.left) / (rect.right - rect.left)) * element.clientWidth);\n const y = Math.floor(((event.clientY - rect.top) / (rect.bottom - rect.top)) * element.clientHeight);\n if (isPlatformBrowser(this.platformID)) {\n const circle = this.document.createElement('span');\n const diameter = Math.max(element.clientWidth, element.clientHeight);\n const radius = diameter / 2;\n\n circle.style.width = circle.style.height = `${diameter}px`;\n circle.style.left = `${x - radius}px`;\n circle.style.top = `${y - radius}px`;\n circle.style.backgroundColor = `${this.axRippleColor}`;\n circle.classList.add('ax-ripple');\n element.appendChild(circle);\n circle.addEventListener('animationend', () => {\n circle?.remove();\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.AXFocusableComponent","i1.AXComponent","i2.AXHotkeysService","filter","i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-common.mjs","sources":["../../../../libs/components/common/src/lib/types/base/button.type.ts","../../../../libs/components/common/src/lib/types/base/color.type.ts","../../../../libs/components/common/src/lib/types/base/component.types.ts","../../../../libs/components/common/src/lib/types/base/events.types.ts","../../../../libs/components/common/src/lib/types/base/interactive.type.ts","../../../../libs/components/common/src/lib/types/base/look.type.ts","../../../../libs/components/common/src/lib/types/base/value.type.ts","../../../../libs/components/common/src/lib/types/placement.ts","../../../../libs/components/common/src/lib/types/selection-mode.ts","../../../../libs/components/common/src/lib/classes/events.class.ts","../../../../libs/components/common/src/lib/classes/components.class.ts","../../../../libs/components/common/src/lib/classes/datalist.class.ts","../../../../libs/components/common/src/lib/classes/datasource.class.ts","../../../../libs/components/common/src/lib/classes/styles.class.ts","../../../../libs/components/common/src/lib/directives/auto-focus.directive.ts","../../../../libs/components/common/src/lib/services/hotkey.service.ts","../../../../libs/components/common/src/lib/directives/hotkey.directive.ts","../../../../libs/components/common/src/lib/directives/infinite-scroll.directive.ts","../../../../libs/components/common/src/lib/directives/responsive.directive.ts","../../../../libs/components/common/src/lib/common.module.ts","../../../../libs/components/common/src/lib/services/dom.service.ts","../../../../libs/components/common/src/lib/components/base-component.class.ts","../../../../libs/components/common/src/lib/components/color-component.class.ts","../../../../libs/components/common/src/lib/components/look-component.class.ts","../../../../libs/components/common/src/lib/components/colorlook-component.class.ts","../../../../libs/components/common/src/lib/components/interactive-component.class.ts","../../../../libs/components/common/src/lib/components/button-base-component.class.ts","../../../../libs/components/common/src/lib/components/value-component.class.ts","../../../../libs/components/common/src/lib/components/input-base-value-component.class.ts","../../../../libs/components/common/src/lib/components/selection-base.component.class.ts","../../../../libs/components/common/src/lib/directives/delayed-value-changed.directive.ts","../../../../libs/components/common/src/lib/directives/inverted-color.directive.ts","../../../../libs/components/common/src/lib/directives/ripple.directive.ts","../../../../libs/components/common/src/acorex-components-common.ts"],"sourcesContent":["import { Component, model, output } from '@angular/core';\n\n@Component({\n template: '',\n standalone: false\n})\nexport abstract class NXButtonComponent {\n text = model<string>();\n\n toggleableChange = output<boolean>();\n selectedChange = output<boolean>();\n}\n","import { Component, model } from '@angular/core';\nimport { AXStyleColorType } from '../../classes/styles.class';\n\n@Component({\n template: '',\n standalone: false\n})\nexport abstract class NXColorComponent {\n color = model<AXStyleColorType>('ghost');\n}\n","import { afterNextRender, ElementRef, inject, Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport abstract class NXComponent {\n #elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n #isRendered = signal(false);\n\n protected isRendered = this.#isRendered.asReadonly();\n\n #afterNextRender = afterNextRender(() => {\n if (!this.isRendered()) {\n this.nativeElement['__axContext__'] = this;\n this.#isRendered.set(true);\n }\n });\n\n public get nativeElement(): HTMLElement {\n return this.#elementRef.nativeElement;\n }\n}\n","import { NXComponent } from './component.types';\n\n/**\n * Base event class\n * @category Events\n */\nexport class NXEvent<T extends NXComponent = NXComponent> {\n sender: T;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class NXNativeEvent<T extends NXComponent = NXComponent, E extends Event = Event> extends NXEvent<T> {\n nativeEvent: E;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class NXClickEvent<T extends NXComponent = NXComponent> extends NXNativeEvent<T, MouseEvent> {}\n","import { AXHtmlUtil } from '@acorex/core/utils';\nimport { Component, model, output } from '@angular/core';\nimport { NXComponent } from './component.types';\n\n@Component({\n template: '',\n standalone: false\n})\nexport abstract class NXInteractiveComponent extends NXComponent {\n disabled = model<boolean>(false);\n tabIndex = model<number>(0);\n\n onFocus = output();\n onBlur = output();\n\n focus() {\n AXHtmlUtil.focusElement(this.nativeElement);\n }\n\n blur() {\n AXHtmlUtil.blurElement(this.nativeElement);\n }\n\n hasFocus(): boolean {\n return AXHtmlUtil.hasFocus(this.nativeElement);\n }\n}\n","import { Component, model } from '@angular/core';\nimport { AXStyleLookType } from '../../classes/styles.class';\n\n@Component({\n template: '',\n standalone: false\n})\nexport abstract class NXLookComponent {\n look = model<AXStyleLookType>('solid');\n}\n","import { Component, model, output } from '@angular/core';\n\n@Component({\n template: '',\n standalone: false\n})\nexport abstract class NXValueComponent {\n readonly = model<boolean>();\n name = model<string>();\n value = model();\n\n onValueChanged = output();\n}\n","import { clone, flatten } from 'lodash-es';\n\nconst defaultOffset = 3;\n\nexport type AXPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'end'\n | 'end-top'\n | 'end-bottom'\n | 'start'\n | 'start-top'\n | 'start-bottom';\nexport type AXPlacementType = AXConnectedPosition | AXConnectedPosition[] | AXPlacement | AXPlacement[];\n\nexport function convertToPlacement(value: AXPlacementType): AXConnectedPosition[] {\n const result: AXConnectedPosition[] = [];\n if (value == null) return result;\n if (Array.isArray(value)) {\n const list = flatten(value.map((m) => convertToPlacement(m)).filter((m) => m != null)).map((m) =>\n clone(m),\n );\n result.push(...list);\n } else {\n if (typeof value === 'string') {\n const p = AX_PLACEMENT_MAP[value];\n if (p) {\n result.push(...[clone(p.origin), ...clone(p.alts)]);\n }\n } else {\n if ('originX' in value && 'originY' in value) {\n result.push(clone(value));\n }\n }\n }\n return result;\n}\n\nexport interface AXConnectedPosition {\n originX: 'start' | 'center' | 'end';\n originY: 'top' | 'center' | 'bottom';\n overlayX: 'start' | 'center' | 'end';\n overlayY: 'top' | 'center' | 'bottom';\n weight?: number;\n offsetX?: number;\n offsetY?: number;\n}\n\nexport const AX_PLACEMENT_TOP: AXConnectedPosition = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -defaultOffset,\n};\n\nexport const AX_PLACEMENT_TOP_START: AXConnectedPosition = {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -defaultOffset,\n};\nexport const AX_PLACEMENT_TOP_END: AXConnectedPosition = {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -defaultOffset,\n};\n\nexport const AX_PLACEMENT_BOTTOM: AXConnectedPosition = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: defaultOffset,\n};\n\nexport const AX_PLACEMENT_BOTTOM_START: AXConnectedPosition = {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: defaultOffset,\n};\n\nexport const AX_PLACEMENT_BOTTOM_END: AXConnectedPosition = {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: defaultOffset,\n};\n\nexport const AX_PLACEMENT_START: AXConnectedPosition = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -defaultOffset,\n};\n\nexport const AX_PLACEMENT_START_TOP: AXConnectedPosition = {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -defaultOffset,\n};\n\nexport const AX_PLACEMENT_START_BOTTOM: AXConnectedPosition = {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: -defaultOffset,\n};\n\nexport const AX_PLACEMENT_END: AXConnectedPosition = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: defaultOffset,\n};\n\nexport const AX_PLACEMENT_END_TOP: AXConnectedPosition = {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: defaultOffset,\n};\n\nexport const AX_PLACEMENT_END_BOTTOM: AXConnectedPosition = {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: defaultOffset,\n};\n\nexport const AX_PLACEMENT_MAP: {\n [key: string]: { origin: AXConnectedPosition; alts?: AXConnectedPosition[] };\n} = {\n top: {\n origin: AX_PLACEMENT_TOP,\n alts: [AX_PLACEMENT_BOTTOM],\n },\n 'top-start': {\n origin: AX_PLACEMENT_TOP_START,\n alts: [AX_PLACEMENT_BOTTOM_START],\n },\n 'top-end': {\n origin: AX_PLACEMENT_TOP_END,\n alts: [AX_PLACEMENT_BOTTOM_END],\n },\n bottom: {\n origin: AX_PLACEMENT_BOTTOM,\n alts: [AX_PLACEMENT_BOTTOM],\n },\n 'bottom-start': {\n origin: AX_PLACEMENT_BOTTOM_START,\n alts: [\n AX_PLACEMENT_BOTTOM_END,\n AX_PLACEMENT_TOP_START,\n AX_PLACEMENT_TOP_END,\n AX_PLACEMENT_START,\n AX_PLACEMENT_END,\n ],\n },\n 'bottom-end': {\n origin: AX_PLACEMENT_BOTTOM_END,\n alts: [AX_PLACEMENT_TOP_END],\n },\n end: {\n origin: AX_PLACEMENT_END,\n alts: [AX_PLACEMENT_START],\n },\n 'end-top': {\n origin: AX_PLACEMENT_END_TOP,\n alts: [AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_START_BOTTOM],\n },\n 'end-bottom': {\n origin: AX_PLACEMENT_END_BOTTOM,\n alts: [AX_PLACEMENT_END_TOP, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP],\n },\n start: {\n origin: AX_PLACEMENT_START,\n alts: [AX_PLACEMENT_END],\n },\n 'start-top': {\n origin: AX_PLACEMENT_START_TOP,\n alts: [AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_END_BOTTOM],\n },\n 'start-bottom': {\n origin: AX_PLACEMENT_START_BOTTOM,\n alts: [AX_PLACEMENT_START_TOP, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP],\n },\n};\n","/**\n * A token that specifies the selection mode of component.\n */\n\nexport type AXSelectionMode = 'single' | 'multiple' | 'none';\n","/**\n * Contains native event\n * @category Events\n */\nexport class AXEvent {\n /**\n * The sender component\n */\n component: any;\n /**\n * The root native element\n */\n htmlElement?: HTMLElement;\n\n isUserInteraction?: boolean = false;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXHtmlEvent<E extends Event = Event> extends AXEvent {\n nativeEvent?: E;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXValueChangedEvent<T = any> extends AXEvent {\n name?: string;\n value?: T;\n oldValue?: T;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXOptionChangedEvent<T = any> extends AXEvent {\n name?: string;\n newValue?: T;\n oldValue?: T;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXClickEvent extends AXHtmlEvent<MouseEvent> {\n /**\n * uses for extra data\n */\n data?: any = null;\n\n override nativeEvent?: any = null;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXButtonClickEvent extends AXClickEvent {\n name: string;\n}\n\n/**\n * Fires each time the user click the element.\n * @category Events\n */\nexport class AXItemClickEvent<T = any> extends AXClickEvent {\n name?: string;\n item: T;\n}\n\n/**\n * Fires each time the component gets focused.\n * @category Events\n */\nexport class AXFocusEvent extends AXHtmlEvent<FocusEvent> { }\n\n/**\n * Fires each time an item or multiple items selected by the user or value.\n * @category Events\n */\nexport class AXSelectionValueChangedEvent extends AXValueChangedEvent<any | any[]> {\n override value?: any = null;\n override oldValue?: any = null;\n selectedKeys?: any[] = [];\n selectedItems?: any[] = [];\n}\n\n/**\n * Contains range start & end values\n * @category Events\n */\nexport class AXRangeChangedEvent<T> extends AXEvent {\n /**\n * The range start value\n */\n start?: T;\n /**\n * The range end value\n */\n end?: T;\n}\n","import { AXValidationRuleOptions, AXValidationSummary } from '@acorex/core/validation';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXEvent, AXValueChangedEvent } from './events.class';\n\nexport const TAB_META_KEY = '__meta__';\n\nexport class AXComponentCloseEvent extends AXEvent {\n data?: any;\n}\nexport class AXComponentClosing {\n cancel = false;\n data?: any;\n}\n\nexport class AXComponentResult {\n sender: any;\n data?: any;\n}\n\nexport interface AXFormValidationRule {\n rule: string;\n options?: AXValidationRuleOptions;\n}\n\n/**\n * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons after the primary text.\n */\nexport class AXComponentClosedPromise extends Promise<AXComponentResult> {\n private closeMethod: () => void;\n constructor(\n executor: (\n resolve: (value?: AXComponentResult | PromiseLike<AXComponentResult>) => void,\n reject: (reason?: any) => void,\n ) => void,\n ) {\n super(executor);\n }\n\n public close() {\n if (this.closeMethod) {\n this.closeMethod();\n }\n }\n}\n\n@Injectable()\nexport abstract class AXComponent {}\n\n@Injectable()\nexport abstract class AXClosbaleComponent extends AXComponent {\n abstract close(): void;\n}\n\n@Injectable()\nexport abstract class AXClearableComponent extends AXComponent {\n abstract reset(u: boolean): void;\n abstract get readonly(): boolean;\n abstract get disabled(): boolean;\n abstract get value(): unknown;\n}\n\n@Injectable()\nexport abstract class AXSearchableComponent extends AXComponent {\n abstract search(value: string): void;\n}\n\n@Injectable()\nexport abstract class AXValuableComponent extends AXComponent {\n abstract get isRequired(): boolean;\n validationRulesChange: EventEmitter<AXFormValidationRule[]>;\n abstract get name(): string;\n abstract get value(): unknown;\n abstract onValueChanged: EventEmitter<AXValueChangedEvent<unknown>>;\n abstract commitValue(value: unknown, u: boolean);\n\n abstract addValidationRule(rule: AXFormValidationRule);\n\n abstract removeValidationRule(rule: AXFormValidationRule);\n\n abstract validate(): Promise<AXValidationSummary>;\n abstract reset(e: boolean): void;\n abstract resetErrors(): void;\n}\n\n@Injectable()\nexport abstract class AXFocusableComponent extends AXComponent {\n abstract focus();\n}\n\nexport interface AXPagedComponentInterface {\n goToPage(page: number);\n get totalCount(): number;\n get pageSize(): number;\n onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\n}\n\n@Injectable()\nexport abstract class AXPagedComponent extends AXComponent implements AXPagedComponentInterface {\n abstract goToPage(page: number);\n abstract get totalCount(): number;\n abstract pageSize: number;\n abstract onPageChanged: EventEmitter<AXValueChangedEvent<number>>;\n}\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport { BehaviorSubject, Observable, Subscription, debounceTime, distinctUntilChanged } from 'rxjs';\nimport { AXDataSource } from './datasource.class';\n\nexport interface AXDataListQuery {\n take?: number;\n skip?: number;\n searchQuery?: string;\n}\nexport interface AXDataListFetchCallbackResult {\n items: Array<any>;\n total: number;\n}\n\nexport type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise<AXDataListFetchCallbackResult>;\n\nexport type AXDataListItems = Array<any> | AXDataListFetchDataCallback;\n\nexport class AXListDataSource<T = unknown> extends DataSource<T> {\n private debounceTime = 0;\n private subscription = new Subscription();\n public source: AXDataSource<T>;\n private dataStream: BehaviorSubject<T[]>;\n\n private _range: { start: number; end: number } = { start: 0, end: 0 };\n public get range(): { start: number; end: number } {\n return this._range;\n }\n\n /**\n * @ignore\n */\n constructor(private config: { source: AXDataSource<T>; debounceTime?: number }) {\n super();\n this.source = config.source;\n if (config.debounceTime) this.debounceTime = config.debounceTime;\n //\n this.dataStream = new BehaviorSubject<T[]>(this.config.source.cachedItems);\n this.source.onChanged.subscribe((data) => {\n this.dataStream.next(data.cachedItems);\n });\n }\n\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\n this.subscription.add(\n collectionViewer.viewChange\n .pipe(debounceTime(this.debounceTime))\n .pipe(distinctUntilChanged())\n .subscribe((range) => {\n this._range = range;\n const startPage = this.getPageForIndex(range.start);\n const endPage = this.getPageForIndex(range.end - 1);\n for (let i = startPage; i <= endPage; i++) {\n this.source.setPage(i);\n }\n }),\n );\n return this.dataStream;\n }\n\n disconnect(): void {\n this.subscription.unsubscribe();\n }\n\n private getPageForIndex(index: number): number {\n return Math.floor(index / this.source.config.pageSize);\n }\n\n refresh() {\n this.dataStream.next(new Array(this.source.pageSize));\n this.source.refresh();\n }\n}\n","import { filter } from 'lodash-es';\nimport { Subject } from 'rxjs';\n\nexport type AXDataSourceOperator = {\n type: 'equal' | 'isNull' | 'isEmpty' | 'lt' | 'lte' | 'gt' | 'gte' | 'startsWith' | 'endsWith' | 'contains';\n negative?: boolean;\n};\nexport type AXFilterLogic = 'and' | 'or';\nexport type AXSortOrder = 'asc' | 'desc';\n\nexport type AXDataSourceFilterOption = {\n field: string;\n value?: unknown;\n operator: AXDataSourceOperator;\n logic?: AXFilterLogic;\n filters?: AXDataSourceFilterOption[];\n};\nexport type AXDataSourceSortOption = { field: string; dir: 'asc' | 'desc' };\n\nexport interface AXDataSourceQuery {\n take: number;\n skip: number;\n filter?: AXDataSourceFilterOption;\n sort: AXDataSourceSortOption[];\n}\nexport interface AXDataSourceCallbackResult<T> {\n items: Array<T>;\n total: number;\n}\n\nexport type AXDataSourceLoadCallback<T> = (e: AXDataSourceQuery) => Promise<AXDataSourceCallbackResult<T>>;\nexport type AXDataSourceByKeyCallback<T> = (key: unknown) => Promise<T>;\n\nexport interface AXDataSourceConfig<T = unknown> {\n key?: string;\n pageSize: number;\n load: AXDataSourceLoadCallback<T>;\n byKey?: AXDataSourceByKeyCallback<T>;\n}\n\nexport interface AXDataSourceChangedEvent<T = unknown> {\n cachedItems: Array<T>;\n items: Array<T>;\n totalCount: number;\n totalPages: number;\n page: number;\n}\n\nexport class AXDataSource<T = unknown> {\n config!: AXDataSourceConfig<T>;\n useCache = true;\n\n private _totalCount = 0;\n public get totalCount(): number {\n return this._totalCount;\n }\n\n public get totalPages(): number {\n return Math.floor(this.totalCount / this.config.pageSize);\n }\n\n public get pageSize(): number {\n return this.config.pageSize;\n }\n\n private _cachedItems: T[];\n public get cachedItems(): T[] {\n return this._cachedItems;\n }\n\n private _items: T[] = [];\n public get items(): T[] {\n return this._items;\n }\n\n private fetchedPages = new Set<number>();\n private _page = 0;\n private _query: AXDataSourceQuery = { skip: 0, take: 0, sort: [] };\n\n public get query(): AXDataSourceQuery {\n return this._query;\n }\n\n public onChanged = new Subject<AXDataSourceChangedEvent<T>>();\n\n public onLoadingChanged = new Subject<boolean>();\n private _isLoading = false;\n public get isLoading(): boolean {\n return this._isLoading;\n }\n\n constructor(config: AXDataSourceConfig<T>) {\n this.config = config;\n this._cachedItems = new Array(this.config.pageSize);\n this._items = new Array(0);\n this._query.take = this.config.pageSize;\n }\n\n private load() {\n const page = this._page;\n if (this.fetchedPages.has(page) && this.useCache) {\n return;\n }\n this.setLoadingState(true);\n this.fetchedPages.add(page);\n this._query.take = this.config.pageSize;\n this._query.skip = page * this.config.pageSize;\n this.config\n .load({ ...this._query })\n .then((result) => {\n if (this._totalCount != result.total) {\n this._cachedItems = new Array(result.total);\n this._totalCount = result.total;\n }\n this._items = result.items;\n this._cachedItems.splice(page * this.config.pageSize, this.config.pageSize, ...result.items);\n const event = {\n cachedItems: this.cachedItems,\n items: this.items,\n page: page,\n totalCount: this.totalCount,\n totalPages: this.totalPages,\n };\n this.onChanged.next(event);\n })\n .finally(() => {\n this.setLoadingState(false);\n });\n }\n\n private setLoadingState(value: boolean) {\n this._isLoading = value;\n this.onLoadingChanged.next(this._isLoading);\n }\n\n public setPage(page: number) {\n if (this._page != page || this._items.length == 0) {\n this._page = page;\n this.load();\n }\n }\n public setPageSize(pageSize: number) {\n this.config.pageSize = pageSize;\n this.load();\n }\n\n public filter(value: AXDataSourceFilterOption) {\n this._query.filter = value;\n }\n\n public sort(...value: AXDataSourceSortOption[]) {\n this._query.sort = value;\n }\n\n public clearFilter() {\n this._query.filter = null;\n }\n\n public reset() {\n this._query.filter = null;\n this._query.sort = [];\n this._query.skip = 0;\n this._items = new Array(0);\n this._cachedItems = new Array(this.config.pageSize);\n this.fetchedPages.clear();\n this._page = 0;\n this._totalCount = 0;\n }\n\n public refresh() {\n const currentFilter = this._query.filter;\n const currentSort = this._query.sort;\n this.reset();\n this._query.filter = currentFilter;\n this._query.sort = currentSort;\n this.load();\n }\n\n find(key: unknown): T | Promise<T> {\n const fromCache = this.cachedItems.find((c) => (!this.config.key && c == key) || (c && this.config.key && c[this.config.key] == key));\n if (fromCache) return fromCache;\n return this.config.byKey ? this.config.byKey(key) : null;\n }\n}\n\nexport function convertArrayToDataSource<T>(\n items: T[],\n options: { key: string; pageSize: number } = { key: 'id', pageSize: 100 },\n): AXDataSource {\n const config: AXDataSourceConfig = {\n key: options.key,\n pageSize: options.pageSize,\n load: (e: AXDataSourceQuery) => {\n const result = e.filter ? filter(items, e.filter) : items;\n return Promise.resolve({\n items: result.slice(e.skip, e.skip + e.take),\n total: result.length,\n });\n },\n byKey: (v: unknown) => Promise.resolve<T>(items.find((c) => c[options.key] == v)),\n };\n return new AXDataSource(config);\n}\n","export const AX_STYLE_COLOR_TYPES = ['primary', 'secondary', 'success', 'warning', 'danger', 'info', 'ghost'];\n\n/**\n * A token that specifies the color style of component.\n */\nexport type AXStyleColorType = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'ghost';\n\nexport type AXStyleLookType = 'solid' | 'blank' | 'outline' | 'twotone' | 'flat' | 'fill' | 'link' | 'none';\n\nexport const AX_STYLE_LOOK_TYPES = ['solid', 'blank', 'outline', 'twotone', 'flat', 'fill', 'none'];\n\nexport const AX_LOCATIONS = [\n 'bottom-start',\n 'bottom-center',\n 'bottom-end',\n 'top-start',\n 'top-center',\n 'top-end',\n 'center-end',\n 'center-start',\n];\n\nexport type AXLocation =\n | 'bottom-start'\n | 'bottom-center'\n | 'bottom-end'\n | 'top-start'\n | 'top-center'\n | 'top-end'\n | 'center-end'\n | 'center-start';\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n Host,\n inject,\n Input,\n Optional,\n PLATFORM_ID,\n Renderer2,\n Self,\n} from '@angular/core';\nimport { AXFocusableComponent } from '../classes/components.class';\n\n@Directive({\n selector: '[axAutoFocus]',\n standalone: false\n})\nexport class AXAutoFocusDirective implements AfterViewInit {\n @Input('axAutoFocus')\n public autoFocus?: boolean = true;\n\n @Input('axAutoFocusTime')\n time = 50;\n\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n constructor(\n private renderer: Renderer2,\n private el: ElementRef<HTMLElement>,\n @Host()\n @Self()\n @Optional()\n public _host: AXFocusableComponent,\n ) {}\n\n ngAfterViewInit(): void {\n this.doFocus();\n }\n\n protected doFocus() {\n if (this.autoFocus) {\n if (this._host) {\n setTimeout(() => {\n this._host.focus();\n }, this.time);\n return;\n }\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(\n (c) => c + ':not([tabindex=\"-1\"])',\n );\n\n const focusable =\n this.el.nativeElement.querySelector<HTMLElement>(list.join(', ')) ?? this.el.nativeElement;\n\n if (isPlatformBrowser(this.platformID)) {\n const attr = this.document.createAttribute('autofocus');\n focusable.setAttributeNode(attr);\n }\n const hasTabindex = focusable.hasAttribute('tabindex');\n if (!hasTabindex) {\n focusable.setAttribute('tabindex', '0');\n }\n setTimeout(() => {\n focusable.focus();\n }, this.time);\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { EventManager } from '@angular/platform-browser';\nimport { Observable } from 'rxjs/internal/Observable';\n\ntype Options = {\n /**\n * element - An html element\n */\n element: any;\n /**\n * keys - string of keys like (Control.f)\n */\n keys: string;\n};\n\n@Injectable()\nexport class AXHotkeysService {\n defaults: Partial<Options> = {\n element: this.document,\n };\n\n constructor(\n private eventManager: EventManager,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n /**\n * Add shortcut\n *\n *\n * @param options\n * @returns Observable\n *\n */\n addShortcut(options: Partial<Options>) {\n const merged = { ...this.defaults, ...options };\n const event = `keydown.${merged.keys}`;\n return new Observable((observer) => {\n const handler = (e: UIEvent) => {\n e.preventDefault();\n observer.next(e);\n };\n if (merged.element) {\n // Todo: check addEventListener is not function\n\n const dispose = this.eventManager.addEventListener(merged.element, event, handler);\n return () => {\n dispose();\n };\n } else {\n return null;\n }\n });\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Host, Input, Optional, Self } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXComponent } from '../classes/components.class';\nimport { AXHotkeysService } from '../services/hotkey.service';\n\nexport type AXHotKeyAction = { [key: string]: string | Function; parmas?: any };\n\n@Directive({\n selector: '[axHotkey]',\n standalone: false\n})\nexport class AXHotkeyDirective implements AfterViewInit {\n @Input()\n public axHotkey: string | AXHotKeyAction | AXHotKeyAction[] = '';\n\n private _subs: Subscription[] = [];\n\n constructor(\n private el: ElementRef<HTMLElement>,\n @Host()\n @Self()\n @Optional()\n public _host: AXComponent,\n private hs: AXHotkeysService,\n ) {}\n\n ngAfterViewInit(): void {\n if (!this.axHotkey || !this._host) return;\n\n if (typeof this.axHotkey == 'string') {\n this._addDefaultAction(this.axHotkey);\n } else if (typeof this.axHotkey == 'object' && !Array.isArray(this.axHotkey)) {\n this._addHotKeyAction([this.axHotkey as AXHotKeyAction]);\n } else if (Array.isArray(this.axHotkey)) {\n this._addHotKeyAction(this.axHotkey);\n }\n }\n\n private _addDefaultAction(hotkey: string) {\n this._subs.push(\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\n ['click', 'toggle', 'open', 'focus'].forEach((a) => {\n if (this._host[a]) {\n this._host[a]();\n return;\n }\n });\n }),\n );\n }\n\n private _addHotKeyAction(hotkeys: AXHotKeyAction[]) {\n hotkeys.forEach((k) => {\n const hotkey = (<unknown>Object.entries(k)[0][0]) as string;\n const action = <unknown>Object.entries(k)[0][1];\n if (!action) this._addDefaultAction(hotkey);\n else {\n this._subs.push(\n this.hs.addShortcut({ keys: hotkey }).subscribe(() => {\n if (typeof action == 'string' && this._host[action]) {\n this._host[action]();\n return;\n }\n if (typeof action == 'function') {\n action();\n return;\n }\n }),\n );\n }\n });\n }\n\n ngOnDestroy() {\n this._subs.forEach((s) => {\n s.unsubscribe();\n });\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\nimport { Observable, fromEvent } from 'rxjs';\nimport { exhaustMap, filter, map, pairwise, startWith } from 'rxjs/operators';\n\nexport interface AXScrollPosition {\n scrollHeight: number;\n scrollTop: number;\n clientHeight: number;\n}\n\nconst AX_DEFAULT_SCROLL_POSITION: AXScrollPosition = {\n scrollHeight: 0,\n scrollTop: 0,\n clientHeight: 0,\n};\n\n@Directive({\n selector: '[axInfiniteScroller]',\n standalone: false\n})\nexport class AXInfiniteScrollerDirective implements AfterViewInit {\n private scrollEvent$: Observable<any>;\n\n private userScrolledDown$: Observable<any>;\n\n private requestOnScroll$: Observable<any>;\n\n @Input()\n scrollCallback: Function;\n\n @Input()\n immediateCallback;\n\n @Input()\n scrollPercent = 70;\n\n constructor(private elm: ElementRef) {}\n\n ngAfterViewInit() {\n this.registerScrollEvent();\n\n this.streamScrollEvents();\n\n this.requestCallbackOnScroll();\n }\n\n private registerScrollEvent() {\n this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');\n }\n\n private streamScrollEvents() {\n this.userScrolledDown$ = this.scrollEvent$.pipe(\n map(\n (e: any): AXScrollPosition => ({\n scrollHeight: e.target.scrollHeight,\n scrollTop: e.target.scrollTop,\n clientHeight: e.target.clientHeight,\n }),\n ),\n pairwise(),\n filter((positions) => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1])),\n );\n }\n\n private requestCallbackOnScroll() {\n this.requestOnScroll$ = this.userScrolledDown$;\n\n if (this.immediateCallback) {\n this.requestOnScroll$ = this.requestOnScroll$.pipe(startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION]));\n }\n\n this.requestOnScroll$.pipe(\n exhaustMap(() => {\n return this.scrollCallback();\n }),\n );\n }\n\n private isUserScrollingDown = (positions) => {\n return positions[0].sT < positions[1].sT;\n };\n\n private isScrollExpectedPercent = (position) => {\n return (position.sT + position.cH) / position.sH > this.scrollPercent / 100;\n };\n}\n","import { Directive, ElementRef, OnDestroy } from '@angular/core';\n\n@Directive({\n selector: '[axResponsive]',\n standalone: false\n})\nexport class AXResponsiveDirective implements OnDestroy {\n private _observer: ResizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target) {\n const e = entry.target;\n const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];\n elements\n .map((c) => ({\n element: c,\n classList: Array.from(c.classList)\n .filter((c) => c.includes('sm'))\n .map((c) => c.slice(3)),\n }))\n .forEach((c) => {\n e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);\n });\n }\n }\n });\n\n constructor(private _elementRef: ElementRef<HTMLDivElement>) {\n this._observer.observe(_elementRef.nativeElement);\n }\n\n ngOnDestroy() {\n this._observer?.disconnect();\n this._observer?.unobserve(this._elementRef.nativeElement);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXAutoFocusDirective } from './directives/auto-focus.directive';\nimport { AXHotkeyDirective } from './directives/hotkey.directive';\nimport { AXInfiniteScrollerDirective } from './directives/infinite-scroll.directive';\nimport { AXResponsiveDirective } from './directives/responsive.directive';\nimport { AXHotkeysService } from './services/hotkey.service';\n@NgModule({\n declarations: [AXResponsiveDirective, AXInfiniteScrollerDirective, AXAutoFocusDirective, AXHotkeyDirective],\n imports: [],\n exports: [AXResponsiveDirective, AXInfiniteScrollerDirective, AXAutoFocusDirective, AXHotkeyDirective],\n providers: [AXHotkeysService],\n})\nexport class AXCommonModule {}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class AXDomService {\n generateElementId(): string {\n const dateString = Date.now().toString(36);\n const randomness = Math.random().toString(36).substr(2);\n return dateString + randomness;\n }\n}\n","import {\n ChangeDetectorRef,\n ElementRef,\n EventEmitter,\n Injectable,\n ViewContainerRef,\n inject,\n} from '@angular/core';\nimport { AXOptionChangedEvent } from '../classes/events.class';\nimport { AXDomService } from '../services/dom.service';\n\nexport type MXComponentOptionChanging<T = any> = { name: string; value?: T };\nexport type MXComponentOptionChanged<T = any> = MXComponentOptionChanging<T>;\n\nexport type MXComponentSetOption<T> = {\n name: string;\n value?: T;\n afterCallback?: (oldValue?: T, newValue?: T) => void;\n beforeCallback?: (oldValue?: T, newValue?: T) => void;\n};\n\nexport type AXComponentState = 'clear' | 'success' | 'error';\n\n@Injectable()\nexport abstract class MXBaseComponent {\n private _cdr: ChangeDetectorRef = inject(ChangeDetectorRef);\n private _elementRef: ElementRef = inject(ElementRef);\n private _viewRef: ViewContainerRef = inject(ViewContainerRef);\n private _domService = inject(AXDomService);\n\n private _id: string = this._domService.generateElementId();\n public get id(): string {\n return this._id;\n }\n public set id(v: string) {\n this._id = v;\n }\n\n protected get cdr(): ChangeDetectorRef {\n return this._cdr;\n }\n\n public getHostElement<T = HTMLElement>(): T {\n return this._elementRef?.nativeElement as T;\n }\n\n protected getViewContainer(): ViewContainerRef {\n return this._viewRef;\n }\n\n protected internalOptionChanging(option: MXComponentOptionChanging): any {\n return option?.value;\n }\n\n protected internalOptionChanged(option: MXComponentOptionChanged): void {}\n /**\n * @ignore\n */\n protected ngOnInit(): void {\n (this.getHostElement() as any).__axContext__ = this;\n }\n\n /**\n * Fired when an option related to the component changes.\n *\n * @event\n */\n public onOptionChanged: EventEmitter<AXOptionChangedEvent> = new EventEmitter<AXOptionChangedEvent>();\n\n public setOption<T = any>(option: MXComponentSetOption<T>) {\n const oldValue = this[option.name];\n let newValue = this.internalOptionChanging({\n name: option.name,\n value: option.value,\n });\n if (option.beforeCallback) {\n newValue = option.beforeCallback(oldValue, newValue);\n }\n //TODO : check real changes if value is object\n if (oldValue != newValue) {\n this[`_${option.name}`] = option.value;\n this.onOptionChanged.emit({\n component: this,\n name: option.name,\n newValue,\n oldValue,\n });\n const emitter = this[`${option.name}Change`] as EventEmitter<any>;\n emitter?.emit(newValue);\n this.internalOptionChanged({ name: option.name, value: newValue });\n }\n if (option.afterCallback) option.afterCallback(oldValue, newValue);\n }\n}\n","import { EventEmitter } from '@angular/core';\nimport { AXStyleColorType } from '../classes/styles.class';\nimport { MXBaseComponent } from './base-component.class';\n\nexport class MXColorComponent extends MXBaseComponent {\n colorChange: EventEmitter<AXStyleColorType> = new EventEmitter();\n private _color: AXStyleColorType = 'ghost';\n /**\n * Predefined color schemes\n */\n get color(): AXStyleColorType {\n return this._color;\n }\n set color(value: AXStyleColorType) {\n this.setOption({\n name: 'color',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { AXStyleLookType } from '../classes/styles.class';\nimport { MXBaseComponent } from './base-component.class';\n\n@Injectable()\nexport abstract class MXLookableComponent {\n look: AXStyleLookType;\n}\n\nexport class MXLookComponent extends MXBaseComponent {\n lookChange: EventEmitter<AXStyleLookType> = new EventEmitter();\n private _look?: AXStyleLookType = 'solid';\n /**\n * Predefined look schemes\n */\n get look(): AXStyleLookType {\n return this._look;\n }\n set look(value: AXStyleLookType) {\n this.setOption({\n name: 'look',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n}\n","import { classes } from 'polytype';\nimport { MXColorComponent } from './color-component.class';\nimport { MXLookComponent } from './look-component.class';\n\nexport class MXColorLookComponent extends classes(MXColorComponent, MXLookComponent) {}\n","import { AXHtmlUtil } from '@acorex/core/utils';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { EventEmitter } from '@angular/core';\nimport { noop } from 'rxjs';\nimport { AXFocusEvent } from '../classes/events.class';\nimport { MXBaseComponent } from './base-component.class';\n\nexport class MXInteractiveComponent extends MXBaseComponent {\n /**\n * @ignore\n */\n protected onTouchedCallback: () => void = noop;\n\n registerOnTouched(fn: () => void): void {\n this.onTouchedCallback = fn;\n }\n\n private _touched = false;\n /**\n * Indicates whether the component has been touched.\n *\n */\n public get touched(): boolean {\n return this._touched;\n }\n\n /**\n * @ignore\n */\n\n protected markAsTouched() {\n if (!this.touched) {\n this.onTouchedCallback();\n this._touched = true;\n }\n }\n\n /**\n * Emits an event whenever the disabled state of the component changes.\n *\n * @event\n */\n disabledChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n private _disabled: boolean;\n /**\n * If set to true, it disables the component.\n */\n public get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n value = coerceBooleanProperty(value);\n this.setOption({\n name: 'disabled',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n _tabIndex = 0;\n /**\n * Specifies the tabindex of the component.\n */\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n set tabIndex(value: number) {\n this.setOption({\n name: 'tabIndex',\n value: value != null ? coerceNumberProperty(value) : 0,\n });\n }\n\n /**\n * Fires each time the component gets focused.\n * @event\n */\n onFocus: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n protected emitOnFocusEvent(e: FocusEvent): void {\n this.onFocus.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n /**\n * Fires each time the component gets blurred.\n * @event\n */\n onBlur: EventEmitter<AXFocusEvent> = new EventEmitter<AXFocusEvent>();\n\n protected emitOnBlurEvent(e: FocusEvent): void {\n this.markAsTouched();\n this.onBlur.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n // /**\n // * Fires each time the user clicks the button.\n // * @event\n // */\n // onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n // protected emitOnClickEvent(e: MouseEvent): void {\n // this.onClick.emit({\n // component: this,\n // htmlElement: this.getHostElement(),\n // nativeEvent: e,\n // });\n // }\n\n focus() {\n AXHtmlUtil.focusElement(this.getHostElement());\n }\n\n blur() {\n AXHtmlUtil.blurElement(this.getHostElement());\n }\n\n /**\n * Check component is focused or has any focused element.\n */\n hasFocus(): boolean {\n return AXHtmlUtil.hasFocus(this.getHostElement());\n }\n\n // private _focused = signal(false);\n\n // protected markAsFocused() {\n // this._focused.set(true);\n // }\n\n // protected markAsBlured() {\n // this._focused.set(false);\n // }\n}\n","import { EventEmitter } from '@angular/core';\nimport { classes } from 'polytype';\nimport { MXColorLookComponent } from './colorlook-component.class';\nimport { MXInteractiveComponent } from './interactive-component.class';\n\nexport class MXButtonBaseComponent extends classes(MXInteractiveComponent, MXColorLookComponent) {\n /**\n * Emits an event when the text associated with the button changes.\n *\n * @event\n */\n textChange: EventEmitter<string> = new EventEmitter();\n private _text: string;\n /**\n * Defines the primary text to show inside the button.\n */\n get text(): string {\n return this._text;\n }\n set text(v: string) {\n this.setOption({\n name: 'text',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n /**\n * Emits an event when the toggleable state of the action sheet changes.\n *\n * @event\n */\n toggleableChange: EventEmitter<boolean> = new EventEmitter();\n private _toggleable?: boolean = false;\n /**\n * Provides visual styling that indicates if the Button is active\n */\n get toggleable(): boolean {\n return this._toggleable;\n }\n set toggleable(value: boolean) {\n this.setOption({\n name: 'toggleable',\n value,\n });\n }\n\n /**\n * Emits an event whenever the selection state of the component changes.\n *\n * @event\n */\n selectedChange: EventEmitter<boolean> = new EventEmitter();\n private _selected?: boolean = false;\n /**\n * Indicates if the Button is selected or not\n */\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: boolean) {\n this.setOption({\n name: 'selected',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n /**\n * @ignore\n */\n constructor() {\n super();\n }\n /**\n * @ignore\n */\n protected get cssClasses() {\n const cssClasses = {\n 'ax-button-icon': !this.text,\n 'ax-state-disabled': this.disabled,\n 'ax-state-selected': this.selected,\n 'ax-el-interactive': true,\n };\n cssClasses[`ax-el-${this['color'] || 'solid'}${this['look'] ? '-' + this['look'] : '-solid'}`] = true;\n return cssClasses;\n }\n}\n","import { isBrowser } from '@acorex/core/platform';\nimport { AXValidationService, AXValidationSummary } from '@acorex/core/validation';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { EventEmitter, Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { clone, isEqual } from 'lodash-es';\nimport { noop } from 'rxjs';\nimport { AXFormValidationRule } from '../classes/components.class';\nimport { AXValueChangedEvent } from '../classes/events.class';\nimport { AXComponentState } from './base-component.class';\nimport { MXInteractiveComponent } from './interactive-component.class';\n\n@Injectable()\nexport class MXValueComponent<T = any> extends MXInteractiveComponent implements ControlValueAccessor {\n /**\n * Fires each time the user press a key.\n * @event\n */\n onValueChanged: EventEmitter<AXValueChangedEvent<any>> = new EventEmitter<AXValueChangedEvent<any>>();\n\n /**\n * @deprecated The event should not be used, use ngModelChange instead\n */\n valueChange: EventEmitter<any> = new EventEmitter<any>();\n\n readonlyChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n private _readonly = false;\n /**\n * If set to true, user cannot change the value of component.\n */\n get readonly() {\n return this._readonly;\n }\n set readonly(value: boolean) {\n value = coerceBooleanProperty(value);\n this.setOption({\n name: 'readonly',\n value,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n private _name: string;\n get name() {\n return this._name;\n }\n set name(value: string) {\n this._name = value;\n }\n\n private _dirty = false;\n public get dirty() {\n return this._dirty;\n }\n\n markAsDirty() {\n this._dirty = true;\n }\n\n private _isUserInteraction = false;\n\n initValue: T;\n defaultValue: T;\n\n private _value: T;\n /**\n * @deprecated The property should not be used, use ngModel instead\n */\n get value(): T {\n return this.internalGetValue(this._value) ?? this.defaultValue;\n }\n set value(v: T) {\n v = this.internalSetValue(v);\n const old = clone(this.value);\n\n if (v === null || v === undefined || v === '' || (Array.isArray(v) && v.length === 0)) {\n this.setState('clear');\n if (old === null || old === undefined || old === '' || (Array.isArray(old) && old.length === 0)) {\n return;\n }\n }\n\n if (!isEqual(old, v)) {\n this._value = v;\n this.emitOnValueChangedEvent(old, this.value);\n\n this.internalValueChanged(this.value);\n }\n }\n\n stateChange: EventEmitter<AXComponentState> = new EventEmitter<AXComponentState>();\n\n private _state: AXComponentState = 'clear';\n\n get state(): AXComponentState {\n return this._state;\n }\n\n set state(value: AXComponentState) {\n this.setState(value);\n this.stateChange.emit(value);\n }\n\n protected emitOnValueChangedEvent(oldValue?: any, newValue?: any) {\n this.valueChange.emit(newValue);\n this.onValueChanged.emit({\n component: this,\n value: newValue,\n oldValue: oldValue,\n name: this.name,\n isUserInteraction: this._isUserInteraction,\n });\n this.onChangeCallback(newValue);\n this.cdr.markForCheck();\n this._isUserInteraction = false;\n }\n\n protected internalSetValue(value: any): T {\n return value;\n }\n\n protected internalGetValue(value: any): T {\n return value;\n }\n\n protected internalValueChanged(value: any): void {}\n\n protected override ngOnInit(): void {\n super.ngOnInit();\n //\n this.registerValidation();\n }\n\n protected ngOnDestroy() {\n this.onValueChanged?.unsubscribe();\n this.onOptionChanged?.unsubscribe();\n }\n\n protected registerValidation() {\n const a = this.getHostElement().querySelectorAll('[ax-form-item=\"true\"]');\n a.forEach((c) => {\n c.removeAttribute('ax-form-item');\n });\n this.getHostElement().setAttribute('ax-form-item', 'true');\n }\n\n protected document = inject(DOCUMENT);\n protected platformID = inject(PLATFORM_ID);\n private validationService = inject(AXValidationService);\n\n public validationRulesChange: EventEmitter<AXFormValidationRule[]> = new EventEmitter<\n AXFormValidationRule[]\n >();\n private validationRules: AXFormValidationRule[] = [];\n\n public get isRequired(): boolean {\n return this.validationRules?.some((c) => c.rule == 'required');\n }\n\n addValidationRule(rule: AXFormValidationRule) {\n this.validationRules.push(rule);\n this.validationRulesChange.emit(this.validationRules);\n }\n\n removeValidationRule(rule: AXFormValidationRule) {\n this.validationRules = this.validationRules.filter(\n (r) => r.rule !== rule.rule || !isEqual(r.options, rule.options),\n );\n this.validationRulesChange.emit(this.validationRules);\n }\n\n async validate(): Promise<AXValidationSummary> {\n const container_classes = ['ax-editor-container', 'ax-checkbox', 'ax-radio'];\n const container = container_classes.some((c) => this.getHostElement().classList.contains(c))\n ? this.getHostElement()\n : this.getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('ax-form-field') || container?.closest('ax-checkbox');\n const label = formField?.querySelector('ax-label') || formField?.querySelector('label');\n //\n const rules = this.validationService.ruleFor(this.value);\n this.validationRules.forEach((r) => {\n r.options['title'] = (label?.firstChild?.textContent ?? this.name)?.replace('*', '').trim();\n rules.addRule(r.rule as any, r.options);\n });\n const result = await rules.validate();\n if (result.result) {\n this.setState('clear');\n } else {\n const message = result.rules.find((c) => !c.result).message;\n this.setState('error', message);\n }\n return result;\n }\n\n protected setState(state: AXComponentState, ...args) {\n //TODO: find a better solution\n if (isBrowser()) {\n const container = this.getHostElement().classList.contains('ax-editor-container')\n ? this.getHostElement()\n : this.getHostElement().querySelector('.ax-editor-container');\n const formField = container?.closest('ax-form-field');\n const label = formField?.querySelector('ax-label') || formField?.querySelector('label');\n let target = container || this.getHostElement().firstElementChild;\n if (target?.querySelector('.ax-error-container')) {\n target = target.querySelector('.ax-error-container');\n }\n const parent = target?.parentElement;\n if (!target || !parent) return;\n\n switch (state) {\n case 'clear':\n this._state = 'clear';\n if (parent.querySelector('span.ax-error-message')) {\n parent.removeChild(parent.querySelector('span.ax-error-message')!);\n }\n label?.classList.remove('ax-state-error');\n target.classList.remove('ax-state-error', 'ax-state-success');\n break;\n case 'success':\n this.setState('clear');\n target.classList.add('ax-state-success');\n this._state = 'success';\n break;\n case 'error':\n this.setState('clear');\n if (args[0] && isPlatformBrowser(this.platformID)) {\n const span = this.document.createElement('span');\n span.innerHTML = args[0];\n span.classList.add('ax-error-message');\n parent.appendChild(span);\n }\n label?.classList.add('ax-state-error');\n target.classList.add('ax-state-error');\n\n this._state = 'error';\n break;\n }\n this.cdr.markForCheck();\n }\n }\n\n protected onChangeCallback: (value: T) => void = noop;\n\n registerOnChange(fn: (value: T) => void): void {\n this.onChangeCallback = fn;\n }\n\n writeValue(value: T): void {\n this.value = value;\n }\n\n public commitValue(value: T, u = false) {\n if (u) {\n this.markAsTouched();\n this.markAsDirty();\n this._isUserInteraction = true;\n }\n this.writeValue(value);\n }\n\n reset(e = false) {\n this.commitValue(null, e);\n }\n\n resetErrors() {\n this.setState('clear');\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { AXHtmlEvent } from '../classes/events.class';\nimport { MXValueComponent } from './value-component.class';\n\n@Injectable()\nexport class MXInputBaseValueComponent<T = string> extends MXValueComponent<T> {\n placeholder: string;\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyDown: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyUp: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n /**\n * Fires each time the user press a key.\n * @event\n */\n onKeyPress: EventEmitter<AXHtmlEvent<KeyboardEvent>> = new EventEmitter<AXHtmlEvent<KeyboardEvent>>();\n\n protected emitOnKeydownEvent(e: KeyboardEvent) {\n this.onKeyDown.emit({\n component: this,\n nativeEvent: e,\n });\n }\n\n protected emitOnKeyupEvent(e: KeyboardEvent) {\n this.onKeyUp.emit({\n component: this,\n nativeEvent: e,\n });\n }\n\n protected emitOnKeypressEvent(e: KeyboardEvent) {\n this.onKeyPress.emit({\n component: this,\n nativeEvent: e,\n });\n }\n\n override focus(): void {\n const input = this.getHostElement().querySelector('input');\n if (input) input.focus();\n else super.focus();\n }\n}\n","import { AXFormatService } from '@acorex/core/format';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Injectable, InjectionToken, inject } from '@angular/core';\nimport { MXValueComponent } from './value-component.class';\n\n@Injectable()\nexport class MXSelectionBridgeService {\n public selectedItems: unknown[] = [];\n public cacheList: { [key: string | number]: unknown } = {};\n}\n\nexport const AX_SELECTION_DATA_TOKEN = new InjectionToken<MXSelectionBridgeService>(\n 'AX_SELECTION_DATA_TOKEN',\n);\n\n@Injectable()\nexport abstract class MXSelectionValueComponent<T = unknown> extends MXValueComponent<unknown> {\n private formatService = inject(AXFormatService);\n private dataService = inject(AX_SELECTION_DATA_TOKEN);\n\n disabledCallback: (e: { item: T; index: number }) => boolean;\n\n private _valueField = 'id';\n public get valueField(): string {\n return this._valueField;\n }\n public set valueField(v: string) {\n this.setOption({\n name: 'valueField',\n value: v,\n });\n }\n private _textTemplate = '';\n public get textTemplate(): string {\n return this._textTemplate;\n }\n public set textTemplate(v: string) {\n this.setOption({\n name: 'textTemplate',\n value: v,\n });\n }\n\n private _textField = 'text';\n public get textField(): string {\n return this._textField;\n }\n public set textField(v: string) {\n this.setOption({\n name: 'textField',\n value: v,\n });\n }\n\n private _disabledField = 'disabled';\n public get disabledField(): string {\n return this._disabledField;\n }\n public set disabledField(v: string) {\n this.setOption({\n name: 'disabledField',\n value: v,\n });\n }\n\n private _multiple = false;\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(v: boolean) {\n this.setOption({\n name: 'multiple',\n value: v,\n afterCallback: () => {\n this.reset(false);\n },\n });\n }\n\n get selectedItems(): unknown[] {\n return this.dataService.selectedItems || [];\n }\n\n override internalSetValue(value: unknown) {\n const isArray = Array.isArray(value);\n if (value == null || (isArray && value.length == 0)) {\n return this.multiple ? [] : null;\n }\n const normalizedItems = isArray\n ? this.normalizeItemsList(value, true)\n : this.normalizeItemsList([value], true);\n\n if (normalizedItems.length == 0) {\n return this.multiple ? [] : null;\n }\n const result = this.multiple\n ? normalizedItems.map((c) => c[this.valueField])\n : normalizedItems[0][this.valueField];\n return result;\n }\n\n override emitOnValueChangedEvent(oldValue?: unknown, newValue?: unknown) {\n this._normalizeSelectedItems();\n super.emitOnValueChangedEvent(oldValue, newValue);\n }\n\n abstract getItemByKey(key: unknown): unknown | Promise<unknown>;\n\n protected normalizeItemsList(items: unknown[], findBykey = false): unknown[] {\n if (items == null) return [];\n return items.filter((c) => c != null).map((i) => this.normalizeItem(i, findBykey));\n }\n\n private normalizeItem(item: unknown, findBykey = false): unknown {\n const complex = typeof item == 'object';\n const key = complex ? item[this.valueField] : `${item}`;\n const cacheKey = `k-${key}`;\n const hasText = !complex || item[this.textField] != null;\n //\n if (this.dataService.cacheList[cacheKey] && this.dataService.cacheList[cacheKey][this.textField])\n return this.dataService.cacheList[cacheKey];\n //\n const obj: unknown = {};\n if (complex && hasText) {\n Object.assign(obj, item);\n } else {\n const existsItem = findBykey ? this.getItemByKey(key) : null;\n if (existsItem && existsItem instanceof Promise) {\n obj[this.valueField] = key;\n obj['isLoading'] = true;\n obj[this.textField] = 'Loading';\n //\n existsItem\n .then((r) => {\n if (typeof r === 'object' && r) {\n obj[this.valueField] = r[this.valueField];\n obj[this.textField] = r[this.textField];\n } else {\n obj[this.valueField] = r || key;\n obj[this.textField] = r;\n }\n })\n .finally(() => {\n obj['isLoading'] = false;\n this.dataService.cacheList[cacheKey] = obj;\n this.cdr.markForCheck();\n });\n } else if (existsItem) {\n obj[this.valueField] = complex ? existsItem[this.valueField] : existsItem;\n obj[this.textField] = complex ? existsItem[this.textField] : existsItem;\n } else {\n obj[this.valueField] = complex ? item[this.valueField] : item;\n obj[this.textField] = complex ? item[this.textField] : item;\n }\n }\n this.dataService.cacheList[cacheKey] = obj;\n return obj;\n }\n\n private _normalizeSelectedItems() {\n const values = Array.isArray(this.value) ? this.value : this.value != null ? [this.value] : [];\n this.dataService.selectedItems = values.map((v) => this.normalizeItem(v));\n }\n\n public unselectItems(...items: T[]) {\n if (!items || items.length === 0) {\n this.commitValue([], true);\n return;\n }\n const normalizeItems = Array.isArray(items)\n ? this.normalizeItemsList(items)\n : [this.normalizeItem(items)];\n const newSelectedItems = this.selectedItems.filter(\n (i) => !normalizeItems.some((n) => n[this.valueField] == i[this.valueField]),\n );\n this.commitValue(newSelectedItems, true);\n }\n\n public selectItems(...items: T[]) {\n if (items && items.length) {\n let newSelectedItems = Array.isArray(this.value) ? this.value : [this.value];\n const normalizeItems = Array.isArray(items)\n ? this.normalizeItemsList(items)\n : [this.normalizeItem(items)];\n if (this.multiple) {\n newSelectedItems = [...newSelectedItems, ...normalizeItems];\n } else {\n newSelectedItems = normalizeItems;\n }\n this.commitValue(newSelectedItems, true);\n }\n }\n\n public toggleSelect(...items: T[]) {\n items?.forEach((item) => {\n if (this.multiple) {\n this.isItemSelected(item) ? this.unselectItems(item) : this.selectItems(item);\n } else {\n this.selectItems(item);\n }\n });\n }\n\n public isItemSelected(item: T): boolean {\n return this.selectedItems.some((c) => c[this.valueField] === this.normalizeItem(item)[this.valueField]);\n }\n\n public isItemDisabled(item: T): boolean {\n return (\n this.disabled ||\n coerceBooleanProperty(item[this.disabledField]) === true ||\n (this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false)\n );\n }\n\n // protected getDisplayText(item: T) {\n // const normalizeItem = this.normalizeItem(item) as any;\n // return formattedText || normalizeItem[this.valueField];\n // }\n\n protected getDisplayText(item: T) {\n const normalizeItem = this.normalizeItem(item) as any;\n const formattedTemplate = this.formatService.format(this.textTemplate, 'string', normalizeItem);\n if (this.textTemplate && formattedTemplate != this.textTemplate) return formattedTemplate;\n else return normalizeItem[this.textField] || normalizeItem[this.valueField];\n }\n\n protected getValue(item: T) {\n const normalizeItem = this.normalizeItem(item) as any;\n return normalizeItem[this.valueField];\n }\n\n protected clearSelectionCache() {\n this.dataService.cacheList = {};\n this.dataService.selectedItems = [];\n this.cdr.markForCheck();\n }\n\n protected softClearSelectionCache() {\n this.dataService.cacheList = {};\n this.cdr.markForCheck();\n }\n}\n","import { Directive, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { NgModel } from '@angular/forms';\nimport { Subscription, debounceTime, distinctUntilChanged, skip } from 'rxjs';\n\n@Directive({\n selector: '[axDelayedValueChanged]',\n standalone: true,\n})\nexport class AXNgModelDelayedValueChangedDirective implements OnDestroy {\n @Output()\n axDelayedValueChanged = new EventEmitter<any>();\n\n @Output()\n axDelayTimeChange = new EventEmitter<number>();\n\n private _delayTime = 0;\n @Input()\n public get delayTime(): number {\n return this._delayTime;\n }\n public set delayTime(v: number) {\n if (v != this._delayTime) {\n this._delayTime = v;\n this.axDelayTimeChange.emit(v);\n this.update();\n }\n }\n\n private subscription: Subscription;\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n\n constructor(private ngModel: NgModel) {\n this.delayTime = 0;\n }\n\n private update() {\n this.subscription?.unsubscribe();\n //\n this.subscription = this.ngModel.control.valueChanges\n .pipe(\n skip(1), // skip initial value\n distinctUntilChanged(),\n debounceTime(this.delayTime),\n )\n .subscribe((value) => this.axDelayedValueChanged.emit(value));\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Directive,\n PLATFORM_ID,\n ViewContainerRef,\n afterNextRender,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { AXStyleColorType } from '../classes/styles.class';\n\n@Directive({\n selector: '[axInvertedColor]',\n standalone: true,\n})\nexport class AXInvertedColorDirective {\n color = input.required<AXStyleColorType>();\n ref = inject(ViewContainerRef);\n private platformID = inject(PLATFORM_ID);\n constructor() {\n afterNextRender(() => {\n this.invertColor();\n });\n effect(() => {\n this.invertColor();\n });\n }\n\n protected invertColor() {\n let color;\n let foreColor;\n const invertedVariables = [];\n\n if (isPlatformBrowser(this.platformID)) {\n if (this.color() === 'ghost') {\n color = getComputedStyle(document.documentElement).getPropertyValue(`--ax-color-${this.color()}`);\n foreColor = getComputedStyle(document.documentElement).getPropertyValue(\n `--ax-color-${this.color()}-fore`,\n );\n invertedVariables.push({ name: `--ax-color-ghost`, value: `${foreColor}` });\n invertedVariables.push({ name: `--ax-color-ghost-fore`, value: `${color}` });\n } else {\n const range = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];\n\n color = getComputedStyle(document.documentElement).getPropertyValue(`--ax-color-${this.color()}-500`);\n foreColor = getComputedStyle(document.documentElement).getPropertyValue(\n `--ax-color-${this.color()}-fore`,\n );\n range.forEach((c) => {\n invertedVariables.push({ name: `--ax-color-${this.color()}-${c}`, value: `${foreColor}` });\n });\n invertedVariables.push({ name: `--ax-color-${this.color()}-fore`, value: `${color}` });\n invertedVariables.push({ name: `--ax-color-${this.color()}-fore-tint`, value: `${color}` });\n }\n\n invertedVariables.forEach((c) => {\n (this.ref.element.nativeElement as HTMLElement).style.setProperty(c.name, c.value);\n });\n }\n }\n}\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n inject,\n Input,\n OnDestroy,\n PLATFORM_ID,\n} from '@angular/core';\n\n@Directive({\n selector: '[axRipple]',\n standalone: true,\n})\nexport class AXRippleDirective implements OnDestroy {\n @Input('axRipple')\n public enabled?: boolean = true;\n\n @Input() axRippleColor = 'rgb(255, 255, 255 , 0.3)';\n\n ripple: HTMLSpanElement | null;\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n constructor(\n private el: ElementRef<HTMLElement>,\n private cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n if (this.enabled) {\n this.el.nativeElement.addEventListener('click', (event: MouseEvent) => {\n this.onElementClick(event);\n });\n }\n }\n\n ngOnDestroy() {\n this.el.nativeElement.removeEventListener('click', this.createRipple.bind(this));\n }\n\n private onElementClick(event: MouseEvent) {\n this.createRipple(event);\n }\n\n private createRipple(event: MouseEvent) {\n const element = event.currentTarget as HTMLElement;\n const exists = element.querySelector('.ax-ripple');\n if (exists) exists.remove();\n\n this.el.nativeElement.style.overflow = 'hidden';\n const rect = element.getBoundingClientRect();\n const x = Math.floor(((event.clientX - rect.left) / (rect.right - rect.left)) * element.clientWidth);\n const y = Math.floor(((event.clientY - rect.top) / (rect.bottom - rect.top)) * element.clientHeight);\n if (isPlatformBrowser(this.platformID)) {\n const circle = this.document.createElement('span');\n const diameter = Math.max(element.clientWidth, element.clientHeight);\n const radius = diameter / 2;\n\n circle.style.width = circle.style.height = `${diameter}px`;\n circle.style.left = `${x - radius}px`;\n circle.style.top = `${y - radius}px`;\n circle.style.backgroundColor = `${this.axRippleColor}`;\n circle.classList.add('ax-ripple');\n element.appendChild(circle);\n circle.addEventListener('animationend', () => {\n circle?.remove();\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.AXFocusableComponent","i1.AXComponent","i2.AXHotkeysService","filter","i1"],"mappings":"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"}