@acorex/components 21.0.1-next.7 → 21.0.1-next.71

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 (337) hide show
  1. package/conversation2/README.md +71 -31
  2. package/fab/README.md +3 -0
  3. package/fesm2022/acorex-components-accordion.mjs +18 -16
  4. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  5. package/fesm2022/acorex-components-action-sheet.mjs +284 -118
  6. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  7. package/fesm2022/acorex-components-alert.mjs +9 -9
  8. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  9. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  10. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  11. package/fesm2022/acorex-components-audio-wave.mjs +8 -8
  12. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  13. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  14. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  15. package/fesm2022/acorex-components-avatar.mjs +11 -11
  16. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  17. package/fesm2022/acorex-components-badge.mjs +8 -8
  18. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  19. package/fesm2022/acorex-components-bottom-navigation.mjs +11 -11
  20. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  21. package/fesm2022/acorex-components-breadcrumbs.mjs +11 -11
  22. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  23. package/fesm2022/acorex-components-button-group.mjs +35 -24
  24. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  25. package/fesm2022/acorex-components-button.mjs +17 -17
  26. package/fesm2022/acorex-components-button.mjs.map +1 -1
  27. package/fesm2022/acorex-components-calendar.mjs +17 -17
  28. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  29. package/fesm2022/acorex-components-check-box.mjs +9 -9
  30. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  31. package/fesm2022/acorex-components-chips.mjs +8 -8
  32. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  33. package/fesm2022/acorex-components-circular-progress.mjs +8 -8
  34. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  35. package/fesm2022/acorex-components-code-editor.mjs +13 -13
  36. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  37. package/fesm2022/acorex-components-collapse.mjs +10 -10
  38. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  39. package/fesm2022/acorex-components-color-box.mjs +9 -9
  40. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  41. package/fesm2022/acorex-components-color-palette.mjs +33 -38
  42. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  43. package/fesm2022/acorex-components-command.mjs +31 -14
  44. package/fesm2022/acorex-components-command.mjs.map +1 -1
  45. package/fesm2022/acorex-components-comment.mjs +94 -91
  46. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  47. package/fesm2022/acorex-components-conversation.mjs +50 -50
  48. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  49. package/fesm2022/acorex-components-conversation2.mjs +5147 -3762
  50. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  51. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  52. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  53. package/fesm2022/acorex-components-data-list.mjs +4 -4
  54. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  55. package/fesm2022/acorex-components-data-pager.mjs +33 -33
  56. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  57. package/fesm2022/acorex-components-data-table.mjs +111 -42
  58. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  59. package/fesm2022/acorex-components-datetime-box.mjs +9 -10
  60. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  61. package/fesm2022/acorex-components-datetime-input.mjs +12 -12
  62. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  63. package/fesm2022/acorex-components-datetime-picker.mjs +19 -17
  64. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  65. package/fesm2022/acorex-components-decorators.mjs +32 -32
  66. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  67. package/fesm2022/acorex-components-dialog.mjs +76 -56
  68. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  69. package/fesm2022/acorex-components-drawer-legacy.mjs +13 -13
  70. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -1
  71. package/fesm2022/acorex-components-drawer.mjs +14 -14
  72. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  73. package/fesm2022/acorex-components-dropdown-button.mjs +19 -11
  74. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  75. package/fesm2022/acorex-components-dropdown.mjs +25 -56
  76. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  77. package/fesm2022/acorex-components-editor.mjs +9 -9
  78. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  79. package/fesm2022/acorex-components-fab.mjs +114 -0
  80. package/fesm2022/acorex-components-fab.mjs.map +1 -0
  81. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  82. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  83. package/fesm2022/acorex-components-flow-chart.mjs +16 -16
  84. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  85. package/fesm2022/acorex-components-form.mjs +36 -38
  86. package/fesm2022/acorex-components-form.mjs.map +1 -1
  87. package/fesm2022/acorex-components-grid-layout-builder.mjs +42 -20
  88. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  89. package/fesm2022/acorex-components-image-editor.mjs +42 -42
  90. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  91. package/fesm2022/acorex-components-image.mjs +9 -9
  92. package/fesm2022/acorex-components-image.mjs.map +1 -1
  93. package/fesm2022/acorex-components-json-viewer.mjs +8 -8
  94. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  95. package/fesm2022/acorex-components-kanban.mjs +15 -30
  96. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  97. package/fesm2022/acorex-components-kbd.mjs +9 -9
  98. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  99. package/fesm2022/acorex-components-label.mjs +9 -9
  100. package/fesm2022/acorex-components-label.mjs.map +1 -1
  101. package/fesm2022/acorex-components-list.mjs +69 -21
  102. package/fesm2022/acorex-components-list.mjs.map +1 -1
  103. package/fesm2022/acorex-components-loading-dialog.mjs +82 -45
  104. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  105. package/fesm2022/acorex-components-loading.mjs +91 -51
  106. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  107. package/fesm2022/acorex-components-map.mjs +14 -14
  108. package/fesm2022/acorex-components-map.mjs.map +1 -1
  109. package/fesm2022/acorex-components-media-viewer.mjs +294 -92
  110. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  111. package/fesm2022/acorex-components-menu.mjs +77 -36
  112. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  113. package/fesm2022/{acorex-components-modal-acorex-components-modal-BnUdtPke.mjs → acorex-components-modal-acorex-components-modal-Bjw8EpLk.mjs} +48 -24
  114. package/fesm2022/acorex-components-modal-acorex-components-modal-Bjw8EpLk.mjs.map +1 -0
  115. package/fesm2022/{acorex-components-modal-modal-content.component-Cgq-wx_m.mjs → acorex-components-modal-modal-content.component-A2h_OC6e.mjs} +8 -8
  116. package/fesm2022/acorex-components-modal-modal-content.component-A2h_OC6e.mjs.map +1 -0
  117. package/fesm2022/acorex-components-modal.mjs +1 -1
  118. package/fesm2022/acorex-components-navbar.mjs +8 -8
  119. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  120. package/fesm2022/acorex-components-notification.mjs +383 -255
  121. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  122. package/fesm2022/acorex-components-number-box-legacy.mjs +7 -7
  123. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -1
  124. package/fesm2022/acorex-components-number-box.mjs +45 -26
  125. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  126. package/fesm2022/acorex-components-otp.mjs +9 -9
  127. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  128. package/fesm2022/acorex-components-page.mjs +10 -10
  129. package/fesm2022/acorex-components-page.mjs.map +1 -1
  130. package/fesm2022/acorex-components-paint.mjs +49 -28
  131. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  132. package/fesm2022/acorex-components-password-box.mjs +11 -11
  133. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  134. package/fesm2022/acorex-components-pdf-reader.mjs +8 -8
  135. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  136. package/fesm2022/acorex-components-phone-box.mjs +88 -41
  137. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  138. package/fesm2022/acorex-components-picker.mjs +24 -23
  139. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  140. package/fesm2022/acorex-components-popover.mjs +255 -202
  141. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  142. package/fesm2022/acorex-components-popup.mjs +309 -113
  143. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  144. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  145. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/acorex-components-qrcode.mjs +9 -9
  147. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  148. package/fesm2022/acorex-components-query-builder.mjs +8 -8
  149. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  150. package/fesm2022/acorex-components-radio.mjs +10 -9
  151. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  152. package/fesm2022/acorex-components-rail-navigation.mjs +14 -14
  153. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  154. package/fesm2022/acorex-components-range-slider.mjs +9 -9
  155. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  156. package/fesm2022/acorex-components-rate-picker.mjs +9 -9
  157. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  158. package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
  159. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  160. package/fesm2022/acorex-components-result.mjs +8 -8
  161. package/fesm2022/acorex-components-result.mjs.map +1 -1
  162. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  163. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  164. package/fesm2022/acorex-components-rrule.mjs +9 -9
  165. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  166. package/fesm2022/acorex-components-scheduler-picker.mjs +54 -54
  167. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  168. package/fesm2022/acorex-components-scheduler.mjs +159 -83
  169. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  170. package/fesm2022/acorex-components-scss.mjs +4 -4
  171. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  172. package/fesm2022/acorex-components-search-box.mjs +7 -7
  173. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  174. package/fesm2022/acorex-components-select-box.mjs +9 -9
  175. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  176. package/fesm2022/acorex-components-selection-list-2.mjs +9 -9
  177. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  178. package/fesm2022/acorex-components-selection-list.mjs +9 -9
  179. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  180. package/fesm2022/acorex-components-side-menu.mjs +28 -20
  181. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  182. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  183. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  184. package/fesm2022/acorex-components-slider.mjs +7 -7
  185. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  186. package/fesm2022/acorex-components-sliding-item.mjs +16 -16
  187. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  188. package/fesm2022/acorex-components-step-wizard.mjs +14 -14
  189. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  190. package/fesm2022/acorex-components-switch.mjs +12 -12
  191. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  192. package/fesm2022/acorex-components-tabs.mjs +15 -15
  193. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  194. package/fesm2022/acorex-components-tag-box.mjs +9 -9
  195. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  196. package/fesm2022/acorex-components-tag.mjs +8 -8
  197. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  198. package/fesm2022/acorex-components-text-area.mjs +9 -9
  199. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  200. package/fesm2022/acorex-components-text-box.mjs +51 -129
  201. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  202. package/fesm2022/acorex-components-time-duration.mjs +39 -24
  203. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  204. package/fesm2022/acorex-components-time-line.mjs +12 -12
  205. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  206. package/fesm2022/acorex-components-toast.mjs +241 -133
  207. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  208. package/fesm2022/acorex-components-toolbar.mjs +9 -9
  209. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  210. package/fesm2022/acorex-components-tooltip.mjs +76 -64
  211. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  212. package/fesm2022/acorex-components-tree-view-legacy.mjs +16 -12
  213. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -1
  214. package/fesm2022/acorex-components-tree-view.mjs +32 -11
  215. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  216. package/fesm2022/acorex-components-uploader.mjs +16 -16
  217. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  218. package/fesm2022/acorex-components-video-player.mjs +7 -7
  219. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  220. package/fesm2022/acorex-components-wysiwyg.mjs +39 -39
  221. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  222. package/package.json +150 -155
  223. package/{accordion/index.d.ts → types/acorex-components-accordion.d.ts} +7 -3
  224. package/types/acorex-components-action-sheet.d.ts +256 -0
  225. package/{button-group/index.d.ts → types/acorex-components-button-group.d.ts} +12 -12
  226. package/{button/index.d.ts → types/acorex-components-button.d.ts} +3 -3
  227. package/{calendar/index.d.ts → types/acorex-components-calendar.d.ts} +1 -1
  228. package/{check-box/index.d.ts → types/acorex-components-check-box.d.ts} +1 -1
  229. package/{code-editor/index.d.ts → types/acorex-components-code-editor.d.ts} +1 -1
  230. package/{color-palette/index.d.ts → types/acorex-components-color-palette.d.ts} +1 -2
  231. package/{command/index.d.ts → types/acorex-components-command.d.ts} +35 -13
  232. package/{comment/index.d.ts → types/acorex-components-comment.d.ts} +23 -22
  233. package/{conversation/index.d.ts → types/acorex-components-conversation.d.ts} +1 -1
  234. package/{conversation2/index.d.ts → types/acorex-components-conversation2.d.ts} +3356 -3032
  235. package/{data-pager/index.d.ts → types/acorex-components-data-pager.d.ts} +1 -1
  236. package/{data-table/index.d.ts → types/acorex-components-data-table.d.ts} +23 -4
  237. package/{datetime-input/index.d.ts → types/acorex-components-datetime-input.d.ts} +1 -1
  238. package/{dialog/index.d.ts → types/acorex-components-dialog.d.ts} +19 -15
  239. package/{dropdown-button/index.d.ts → types/acorex-components-dropdown-button.d.ts} +4 -2
  240. package/{dropdown/index.d.ts → types/acorex-components-dropdown.d.ts} +5 -14
  241. package/types/acorex-components-fab.d.ts +50 -0
  242. package/{form/index.d.ts → types/acorex-components-form.d.ts} +3 -2
  243. package/{grid-layout-builder/index.d.ts → types/acorex-components-grid-layout-builder.d.ts} +15 -0
  244. package/{kanban/index.d.ts → types/acorex-components-kanban.d.ts} +2 -1
  245. package/{list/index.d.ts → types/acorex-components-list.d.ts} +24 -2
  246. package/{loading-dialog/index.d.ts → types/acorex-components-loading-dialog.d.ts} +31 -15
  247. package/{loading/index.d.ts → types/acorex-components-loading.d.ts} +3 -1
  248. package/types/acorex-components-media-viewer.d.ts +184 -0
  249. package/{menu/index.d.ts → types/acorex-components-menu.d.ts} +13 -7
  250. package/{modal/index.d.ts → types/acorex-components-modal.d.ts} +7 -0
  251. package/{notification/index.d.ts → types/acorex-components-notification.d.ts} +47 -30
  252. package/{number-box/index.d.ts → types/acorex-components-number-box.d.ts} +3 -0
  253. package/{paint/index.d.ts → types/acorex-components-paint.d.ts} +6 -0
  254. package/{phone-box/index.d.ts → types/acorex-components-phone-box.d.ts} +13 -3
  255. package/{popover/index.d.ts → types/acorex-components-popover.d.ts} +46 -36
  256. package/types/acorex-components-popup.d.ts +193 -0
  257. package/{radio/index.d.ts → types/acorex-components-radio.d.ts} +1 -1
  258. package/{scheduler-picker/index.d.ts → types/acorex-components-scheduler-picker.d.ts} +82 -81
  259. package/{scheduler/index.d.ts → types/acorex-components-scheduler.d.ts} +46 -23
  260. package/{select-box/index.d.ts → types/acorex-components-select-box.d.ts} +7 -7
  261. package/{side-menu/index.d.ts → types/acorex-components-side-menu.d.ts} +1 -1
  262. package/{tabs/index.d.ts → types/acorex-components-tabs.d.ts} +1 -1
  263. package/{tag/index.d.ts → types/acorex-components-tag.d.ts} +3 -3
  264. package/types/acorex-components-text-box.d.ts +79 -0
  265. package/{time-duration/index.d.ts → types/acorex-components-time-duration.d.ts} +6 -4
  266. package/{toast/index.d.ts → types/acorex-components-toast.d.ts} +24 -18
  267. package/{tooltip/index.d.ts → types/acorex-components-tooltip.d.ts} +6 -8
  268. package/{tree-view-legacy/index.d.ts → types/acorex-components-tree-view-legacy.d.ts} +1 -0
  269. package/{tree-view/index.d.ts → types/acorex-components-tree-view.d.ts} +17 -0
  270. package/action-sheet/index.d.ts +0 -174
  271. package/fesm2022/acorex-components-modal-acorex-components-modal-BnUdtPke.mjs.map +0 -1
  272. package/fesm2022/acorex-components-modal-modal-content.component-Cgq-wx_m.mjs.map +0 -1
  273. package/media-viewer/index.d.ts +0 -145
  274. package/popup/index.d.ts +0 -120
  275. package/text-box/index.d.ts +0 -95
  276. /package/{alert/index.d.ts → types/acorex-components-alert.d.ts} +0 -0
  277. /package/{aspect-ratio/index.d.ts → types/acorex-components-aspect-ratio.d.ts} +0 -0
  278. /package/{audio-wave/index.d.ts → types/acorex-components-audio-wave.d.ts} +0 -0
  279. /package/{autocomplete/index.d.ts → types/acorex-components-autocomplete.d.ts} +0 -0
  280. /package/{avatar/index.d.ts → types/acorex-components-avatar.d.ts} +0 -0
  281. /package/{badge/index.d.ts → types/acorex-components-badge.d.ts} +0 -0
  282. /package/{bottom-navigation/index.d.ts → types/acorex-components-bottom-navigation.d.ts} +0 -0
  283. /package/{breadcrumbs/index.d.ts → types/acorex-components-breadcrumbs.d.ts} +0 -0
  284. /package/{chips/index.d.ts → types/acorex-components-chips.d.ts} +0 -0
  285. /package/{circular-progress/index.d.ts → types/acorex-components-circular-progress.d.ts} +0 -0
  286. /package/{collapse/index.d.ts → types/acorex-components-collapse.d.ts} +0 -0
  287. /package/{color-box/index.d.ts → types/acorex-components-color-box.d.ts} +0 -0
  288. /package/{cron-job/index.d.ts → types/acorex-components-cron-job.d.ts} +0 -0
  289. /package/{data-list/index.d.ts → types/acorex-components-data-list.d.ts} +0 -0
  290. /package/{datetime-box/index.d.ts → types/acorex-components-datetime-box.d.ts} +0 -0
  291. /package/{datetime-picker/index.d.ts → types/acorex-components-datetime-picker.d.ts} +0 -0
  292. /package/{decorators/index.d.ts → types/acorex-components-decorators.d.ts} +0 -0
  293. /package/{drawer-legacy/index.d.ts → types/acorex-components-drawer-legacy.d.ts} +0 -0
  294. /package/{drawer/index.d.ts → types/acorex-components-drawer.d.ts} +0 -0
  295. /package/{editor/index.d.ts → types/acorex-components-editor.d.ts} +0 -0
  296. /package/{file-explorer/index.d.ts → types/acorex-components-file-explorer.d.ts} +0 -0
  297. /package/{flow-chart/index.d.ts → types/acorex-components-flow-chart.d.ts} +0 -0
  298. /package/{image-editor/index.d.ts → types/acorex-components-image-editor.d.ts} +0 -0
  299. /package/{image/index.d.ts → types/acorex-components-image.d.ts} +0 -0
  300. /package/{json-viewer/index.d.ts → types/acorex-components-json-viewer.d.ts} +0 -0
  301. /package/{kbd/index.d.ts → types/acorex-components-kbd.d.ts} +0 -0
  302. /package/{label/index.d.ts → types/acorex-components-label.d.ts} +0 -0
  303. /package/{map/index.d.ts → types/acorex-components-map.d.ts} +0 -0
  304. /package/{navbar/index.d.ts → types/acorex-components-navbar.d.ts} +0 -0
  305. /package/{number-box-legacy/index.d.ts → types/acorex-components-number-box-legacy.d.ts} +0 -0
  306. /package/{otp/index.d.ts → types/acorex-components-otp.d.ts} +0 -0
  307. /package/{page/index.d.ts → types/acorex-components-page.d.ts} +0 -0
  308. /package/{password-box/index.d.ts → types/acorex-components-password-box.d.ts} +0 -0
  309. /package/{pdf-reader/index.d.ts → types/acorex-components-pdf-reader.d.ts} +0 -0
  310. /package/{picker/index.d.ts → types/acorex-components-picker.d.ts} +0 -0
  311. /package/{progress-bar/index.d.ts → types/acorex-components-progress-bar.d.ts} +0 -0
  312. /package/{qrcode/index.d.ts → types/acorex-components-qrcode.d.ts} +0 -0
  313. /package/{query-builder/index.d.ts → types/acorex-components-query-builder.d.ts} +0 -0
  314. /package/{rail-navigation/index.d.ts → types/acorex-components-rail-navigation.d.ts} +0 -0
  315. /package/{range-slider/index.d.ts → types/acorex-components-range-slider.d.ts} +0 -0
  316. /package/{rate-picker/index.d.ts → types/acorex-components-rate-picker.d.ts} +0 -0
  317. /package/{rest-api-generator/index.d.ts → types/acorex-components-rest-api-generator.d.ts} +0 -0
  318. /package/{result/index.d.ts → types/acorex-components-result.d.ts} +0 -0
  319. /package/{routing-progress/index.d.ts → types/acorex-components-routing-progress.d.ts} +0 -0
  320. /package/{rrule/index.d.ts → types/acorex-components-rrule.d.ts} +0 -0
  321. /package/{scss/index.d.ts → types/acorex-components-scss.d.ts} +0 -0
  322. /package/{search-box/index.d.ts → types/acorex-components-search-box.d.ts} +0 -0
  323. /package/{selection-list-2/index.d.ts → types/acorex-components-selection-list-2.d.ts} +0 -0
  324. /package/{selection-list/index.d.ts → types/acorex-components-selection-list.d.ts} +0 -0
  325. /package/{skeleton/index.d.ts → types/acorex-components-skeleton.d.ts} +0 -0
  326. /package/{slider/index.d.ts → types/acorex-components-slider.d.ts} +0 -0
  327. /package/{sliding-item/index.d.ts → types/acorex-components-sliding-item.d.ts} +0 -0
  328. /package/{step-wizard/index.d.ts → types/acorex-components-step-wizard.d.ts} +0 -0
  329. /package/{switch/index.d.ts → types/acorex-components-switch.d.ts} +0 -0
  330. /package/{tag-box/index.d.ts → types/acorex-components-tag-box.d.ts} +0 -0
  331. /package/{text-area/index.d.ts → types/acorex-components-text-area.d.ts} +0 -0
  332. /package/{time-line/index.d.ts → types/acorex-components-time-line.d.ts} +0 -0
  333. /package/{toolbar/index.d.ts → types/acorex-components-toolbar.d.ts} +0 -0
  334. /package/{uploader/index.d.ts → types/acorex-components-uploader.d.ts} +0 -0
  335. /package/{video-player/index.d.ts → types/acorex-components-video-player.d.ts} +0 -0
  336. /package/{wysiwyg/index.d.ts → types/acorex-components-wysiwyg.d.ts} +0 -0
  337. /package/{index.d.ts → types/acorex-components.d.ts} +0 -0
@@ -43,22 +43,22 @@ class JsonViewerComponent {
43
43
  isBoolean(value) {
44
44
  return typeof value === 'boolean';
45
45
  }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: JsonViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: JsonViewerComponent, isStandalone: true, selector: "ax-json-viewer", inputs: { json: { classPropertyName: "json", publicName: "json", isSignal: true, isRequired: true, transformFunction: null } }, providers: [{ provide: AXComponent, useExisting: JsonViewerComponent }], ngImport: i0, template: "<ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: convertedObject() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n\n@if (primitiveData()) {\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(primitiveData()) || isBoolean(primitiveData()) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(primitiveData()) || isBoolean(primitiveData())) {\n {{ primitiveData() }}\n } @else {\n ''{{ primitiveData() }}''\n }\n </p>\n}\n", styles: ["@layer components{ax-json-viewer{padding:calc(var(--spacing,.25rem)*6);display:block;overflow-x:auto}ax-json-viewer .ax-number-color{color:var(--color-blue-900,oklch(37.9% .146 265.522))!important}ax-json-viewer .ax-number-color:where(.dark,.dark *){color:var(--color-indigo-400,oklch(67.3% .182 276.935))!important}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button{-webkit-appearance:none}ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:var(--color-red-600,oklch(57.7% .245 27.325))!important}ax-json-viewer .ax-string-color:where(.dark,.dark *){color:var(--color-cyan-400,oklch(78.9% .154 211.53))!important}ax-json-viewer .ax-indent{margin:calc(var(--spacing,.25rem)*0);height:fit-content;padding:calc(var(--spacing,.25rem)*0)}ax-json-viewer .ax-margin{margin-inline-end:calc(var(--spacing,.25rem)*1)}ax-json-viewer .ax-indent-details{margin-inline:calc(var(--spacing,.25rem)*8);margin-block:calc(var(--spacing,.25rem)*0);height:fit-content}ax-json-viewer .ax-flex-container{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*1);display:flex}ax-json-viewer summary,ax-json-viewer p{color:var(--color-red-900,oklch(39.6% .141 25.723))!important}:is(ax-json-viewer summary,ax-json-viewer p):where(.dark,.dark *){color:var(--color-blue-400,oklch(70.7% .165 254.624))!important}ax-json-viewer span{color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))!important}ax-json-viewer summary::marker{color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))!important}ax-json-viewer details{margin-inline-start:calc(var(--spacing,.25rem)*-4)}ax-json-viewer .ax-nowrap{white-space:nowrap}}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: JsonViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: JsonViewerComponent, isStandalone: true, selector: "ax-json-viewer", inputs: { json: { classPropertyName: "json", publicName: "json", isSignal: true, isRequired: true, transformFunction: null } }, providers: [{ provide: AXComponent, useExisting: JsonViewerComponent }], ngImport: i0, template: "<ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: convertedObject() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n\n@if (primitiveData()) {\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(primitiveData()) || isBoolean(primitiveData()) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(primitiveData()) || isBoolean(primitiveData())) {\n {{ primitiveData() }}\n } @else {\n ''{{ primitiveData() }}''\n }\n </p>\n}\n", styles: ["@layer components{ax-json-viewer{padding:calc(var(--spacing,.25rem) * 6);display:block;overflow-x:auto}ax-json-viewer .ax-number-color{color:var(--color-blue-900,oklch(37.9% .146 265.522))!important}ax-json-viewer .ax-number-color:where(.dark,.dark *){color:var(--color-indigo-400,oklch(67.3% .182 276.935))!important}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button{-webkit-appearance:none}ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:var(--color-red-600,oklch(57.7% .245 27.325))!important}ax-json-viewer .ax-string-color:where(.dark,.dark *){color:var(--color-cyan-400,oklch(78.9% .154 211.53))!important}ax-json-viewer .ax-indent{margin:calc(var(--spacing,.25rem) * 0);height:fit-content;padding:calc(var(--spacing,.25rem) * 0)}ax-json-viewer .ax-margin{margin-inline-end:calc(var(--spacing,.25rem) * 1)}ax-json-viewer .ax-indent-details{margin-inline:calc(var(--spacing,.25rem) * 8);margin-block:calc(var(--spacing,.25rem) * 0);height:fit-content}ax-json-viewer .ax-flex-container{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem) * 1);display:flex}ax-json-viewer summary,ax-json-viewer p{color:var(--color-red-900,oklch(39.6% .141 25.723))!important}:is(ax-json-viewer summary,ax-json-viewer p):where(.dark,.dark *){color:var(--color-blue-400,oklch(70.7% .165 254.624))!important}ax-json-viewer span{color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))!important}ax-json-viewer summary::marker{color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))!important}ax-json-viewer details{margin-inline-start:calc(var(--spacing,.25rem) * -4)}ax-json-viewer .ax-nowrap{white-space:nowrap}}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: JsonViewerComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: JsonViewerComponent, decorators: [{
50
50
  type: Component,
51
- args: [{ selector: 'ax-json-viewer', encapsulation: ViewEncapsulation.None, imports: [NgTemplateOutlet], providers: [{ provide: AXComponent, useExisting: JsonViewerComponent }], template: "<ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: convertedObject() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n\n@if (primitiveData()) {\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(primitiveData()) || isBoolean(primitiveData()) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(primitiveData()) || isBoolean(primitiveData())) {\n {{ primitiveData() }}\n } @else {\n ''{{ primitiveData() }}''\n }\n </p>\n}\n", styles: ["@layer components{ax-json-viewer{padding:calc(var(--spacing,.25rem)*6);display:block;overflow-x:auto}ax-json-viewer .ax-number-color{color:var(--color-blue-900,oklch(37.9% .146 265.522))!important}ax-json-viewer .ax-number-color:where(.dark,.dark *){color:var(--color-indigo-400,oklch(67.3% .182 276.935))!important}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button{-webkit-appearance:none}ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:var(--color-red-600,oklch(57.7% .245 27.325))!important}ax-json-viewer .ax-string-color:where(.dark,.dark *){color:var(--color-cyan-400,oklch(78.9% .154 211.53))!important}ax-json-viewer .ax-indent{margin:calc(var(--spacing,.25rem)*0);height:fit-content;padding:calc(var(--spacing,.25rem)*0)}ax-json-viewer .ax-margin{margin-inline-end:calc(var(--spacing,.25rem)*1)}ax-json-viewer .ax-indent-details{margin-inline:calc(var(--spacing,.25rem)*8);margin-block:calc(var(--spacing,.25rem)*0);height:fit-content}ax-json-viewer .ax-flex-container{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*1);display:flex}ax-json-viewer summary,ax-json-viewer p{color:var(--color-red-900,oklch(39.6% .141 25.723))!important}:is(ax-json-viewer summary,ax-json-viewer p):where(.dark,.dark *){color:var(--color-blue-400,oklch(70.7% .165 254.624))!important}ax-json-viewer span{color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))!important}ax-json-viewer summary::marker{color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))!important}ax-json-viewer details{margin-inline-start:calc(var(--spacing,.25rem)*-4)}ax-json-viewer .ax-nowrap{white-space:nowrap}}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
51
+ args: [{ selector: 'ax-json-viewer', encapsulation: ViewEncapsulation.None, imports: [NgTemplateOutlet], providers: [{ provide: AXComponent, useExisting: JsonViewerComponent }], template: "<ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: convertedObject() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n\n@if (primitiveData()) {\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(primitiveData()) || isBoolean(primitiveData()) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(primitiveData()) || isBoolean(primitiveData())) {\n {{ primitiveData() }}\n } @else {\n ''{{ primitiveData() }}''\n }\n </p>\n}\n", styles: ["@layer components{ax-json-viewer{padding:calc(var(--spacing,.25rem) * 6);display:block;overflow-x:auto}ax-json-viewer .ax-number-color{color:var(--color-blue-900,oklch(37.9% .146 265.522))!important}ax-json-viewer .ax-number-color:where(.dark,.dark *){color:var(--color-indigo-400,oklch(67.3% .182 276.935))!important}ax-json-viewer .ax-number-color input::-webkit-outer-spin-button{-webkit-appearance:none}ax-json-viewer .ax-number-color input::-webkit-inner-spin-button{-webkit-appearance:none}ax-json-viewer .ax-string-color{color:var(--color-red-600,oklch(57.7% .245 27.325))!important}ax-json-viewer .ax-string-color:where(.dark,.dark *){color:var(--color-cyan-400,oklch(78.9% .154 211.53))!important}ax-json-viewer .ax-indent{margin:calc(var(--spacing,.25rem) * 0);height:fit-content;padding:calc(var(--spacing,.25rem) * 0)}ax-json-viewer .ax-margin{margin-inline-end:calc(var(--spacing,.25rem) * 1)}ax-json-viewer .ax-indent-details{margin-inline:calc(var(--spacing,.25rem) * 8);margin-block:calc(var(--spacing,.25rem) * 0);height:fit-content}ax-json-viewer .ax-flex-container{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem) * 1);display:flex}ax-json-viewer summary,ax-json-viewer p{color:var(--color-red-900,oklch(39.6% .141 25.723))!important}:is(ax-json-viewer summary,ax-json-viewer p):where(.dark,.dark *){color:var(--color-blue-400,oklch(70.7% .165 254.624))!important}ax-json-viewer span{color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))!important}ax-json-viewer summary::marker{color:var(--color-on-surface,rgba(var(--ax-sys-color-on-surface)))!important}ax-json-viewer details{margin-inline-start:calc(var(--spacing,.25rem) * -4)}ax-json-viewer .ax-nowrap{white-space:nowrap}}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"] }]
52
52
  }], propDecorators: { json: [{ type: i0.Input, args: [{ isSignal: true, alias: "json", required: true }] }] } });
53
53
 
54
54
  const COMPONENT = [JsonViewerComponent];
55
55
  const MODULES = [AXTextBoxModule, FormsModule, CommonModule];
56
56
  class AXJsonViewerModule {
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXJsonViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
58
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AXJsonViewerModule, imports: [AXTextBoxModule, FormsModule, CommonModule, JsonViewerComponent], exports: [JsonViewerComponent] }); }
59
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXJsonViewerModule, imports: [MODULES] }); }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXJsonViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
58
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXJsonViewerModule, imports: [AXTextBoxModule, FormsModule, CommonModule, JsonViewerComponent], exports: [JsonViewerComponent] }); }
59
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXJsonViewerModule, imports: [MODULES] }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXJsonViewerModule, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXJsonViewerModule, decorators: [{
62
62
  type: NgModule,
63
63
  args: [{
64
64
  imports: [...MODULES, ...COMPONENT],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-json-viewer.mjs","sources":["../../../../packages/components/json-viewer/src/lib/json-viewer/json-viewer.component.ts","../../../../packages/components/json-viewer/src/lib/json-viewer/json-viewer.component.html","../../../../packages/components/json-viewer/src/lib/json-viewer.module.ts","../../../../packages/components/json-viewer/src/acorex-components-json-viewer.ts"],"sourcesContent":["import { AXComponent } from '@acorex/cdk/common';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Component, effect, input, signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-json-viewer',\n templateUrl: './json-viewer.component.html',\n styleUrl: './json-viewer.component.compiled.css',\n encapsulation: ViewEncapsulation.None,\n imports: [NgTemplateOutlet],\n providers: [{ provide: AXComponent, useExisting: JsonViewerComponent }],\n})\nexport class JsonViewerComponent {\n readonly json = input.required<object | boolean | number | string>();\n protected convertedObject = signal<[]>(null);\n protected primitiveData = signal(null);\n\n #effect = effect(() => {\n if (typeof this.json() === 'object') {\n const deeplyNestedArray = this.convertNestedToArray(this.json());\n this.convertedObject.set(deeplyNestedArray);\n } else {\n this.primitiveData.set(this.json());\n }\n });\n\n protected convertNestedToArray(obj) {\n return Object.keys(obj).map((key) => ({\n key: key,\n value: this.isDate(obj[key])\n ? obj[key].toISOString()\n : typeof obj[key] === 'object'\n ? this.convertNestedToArray(obj[key])\n : obj[key],\n }));\n }\n\n protected isArray(arry: any) {\n return Array.isArray(arry);\n }\n\n protected isNumber(i: any) {\n return typeof i === 'number';\n }\n\n protected isDate(value: any) {\n return value instanceof Date;\n }\n\n protected isBoolean(value: any) {\n return typeof value === 'boolean';\n }\n}\n","<ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: convertedObject() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n\n@if (primitiveData()) {\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(primitiveData()) || isBoolean(primitiveData()) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(primitiveData()) || isBoolean(primitiveData())) {\n {{ primitiveData() }}\n } @else {\n ''{{ primitiveData() }}''\n }\n </p>\n}\n","import { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { JsonViewerComponent } from './json-viewer/json-viewer.component';\n\nconst COMPONENT = [JsonViewerComponent];\n\nconst MODULES = [AXTextBoxModule, FormsModule, CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXJsonViewerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-json-viewer.mjs","sources":["../../../../packages/components/json-viewer/src/lib/json-viewer/json-viewer.component.ts","../../../../packages/components/json-viewer/src/lib/json-viewer/json-viewer.component.html","../../../../packages/components/json-viewer/src/lib/json-viewer.module.ts","../../../../packages/components/json-viewer/src/acorex-components-json-viewer.ts"],"sourcesContent":["import { AXComponent } from '@acorex/cdk/common';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Component, effect, input, signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-json-viewer',\n templateUrl: './json-viewer.component.html',\n styleUrl: './json-viewer.component.compiled.css',\n encapsulation: ViewEncapsulation.None,\n imports: [NgTemplateOutlet],\n providers: [{ provide: AXComponent, useExisting: JsonViewerComponent }],\n})\nexport class JsonViewerComponent {\n readonly json = input.required<object | boolean | number | string>();\n protected convertedObject = signal<[]>(null);\n protected primitiveData = signal(null);\n\n #effect = effect(() => {\n if (typeof this.json() === 'object') {\n const deeplyNestedArray = this.convertNestedToArray(this.json());\n this.convertedObject.set(deeplyNestedArray);\n } else {\n this.primitiveData.set(this.json());\n }\n });\n\n protected convertNestedToArray(obj) {\n return Object.keys(obj).map((key) => ({\n key: key,\n value: this.isDate(obj[key])\n ? obj[key].toISOString()\n : typeof obj[key] === 'object'\n ? this.convertNestedToArray(obj[key])\n : obj[key],\n }));\n }\n\n protected isArray(arry: any) {\n return Array.isArray(arry);\n }\n\n protected isNumber(i: any) {\n return typeof i === 'number';\n }\n\n protected isDate(value: any) {\n return value instanceof Date;\n }\n\n protected isBoolean(value: any) {\n return typeof value === 'boolean';\n }\n}\n","<ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: convertedObject() }\"></ng-container>\n\n<ng-template #Recursion let-list=\"list\">\n @for (item of list; track $index) {\n @if (isArray(item.value)) {\n <details>\n <summary>\"{{ item.key }}\"</summary>\n <div class=\"ax-indent-details\">\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ list: item.value }\"></ng-container>\n </div>\n </details>\n } @else {\n <div class=\"ax-flex-container\">\n <p class=\"ax-nowrap ax-margin\">\"{{ item.key }}\"<span>:</span></p>\n\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(item.value) || isBoolean(item.value) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(item.value) || isBoolean(item.value)) {\n {{ item.value }}\n } @else {\n ''{{ item.value }}''\n }\n </p>\n </div>\n }\n }\n</ng-template>\n\n@if (primitiveData()) {\n <p\n class=\"ax-nowrap ax-indent {{\n isNumber(primitiveData()) || isBoolean(primitiveData()) ? 'ax-number-color' : 'ax-string-color'\n }}\"\n >\n @if (isNumber(primitiveData()) || isBoolean(primitiveData())) {\n {{ primitiveData() }}\n } @else {\n ''{{ primitiveData() }}''\n }\n </p>\n}\n","import { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { JsonViewerComponent } from './json-viewer/json-viewer.component';\n\nconst COMPONENT = [JsonViewerComponent];\n\nconst MODULES = [AXTextBoxModule, FormsModule, CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXJsonViewerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -248,7 +248,7 @@ class AXKanbanComponent extends NXComponent {
248
248
  }
249
249
  /**
250
250
  * Emit beforeDrop event and return whether to continue with the drop operation.
251
- * Supports both synchronous and asynchronous event handlers.
251
+ * Supports both synchronous and asynchronous event handlers via the `wait()` method.
252
252
  * @param item The original item from dataSource that is being moved
253
253
  * @param previousStatusKey The status key the item is moving from
254
254
  * @param currentStatusKey The status key the item is moving to
@@ -258,6 +258,7 @@ class AXKanbanComponent extends NXComponent {
258
258
  * @returns Promise<boolean> - true if the drop should proceed, false if it should be canceled
259
259
  */
260
260
  async emitBeforeDropEvent(item, previousStatusKey, currentStatusKey, previousIndex, currentIndex, nativeEvent) {
261
+ const pendingPromises = [];
261
262
  const beforeDropEvent = {
262
263
  sender: this,
263
264
  nativeEvent,
@@ -267,33 +268,17 @@ class AXKanbanComponent extends NXComponent {
267
268
  previousIndex,
268
269
  currentIndex,
269
270
  canceled: false,
271
+ wait: (promise) => {
272
+ pendingPromises.push(promise);
273
+ },
270
274
  };
271
- // Manually invoke handlers to collect and await promises from async handlers
272
- const outputRef = this.onBeforeDrop;
273
- const emitter = outputRef._emitRef?.() || outputRef.emitRef?.();
274
- const promises = [];
275
- if (emitter?.observers || emitter?._observers) {
276
- const observers = emitter.observers || emitter._observers || [];
277
- observers.forEach((observer) => {
278
- try {
279
- const result = observer.next?.(beforeDropEvent) || observer(beforeDropEvent);
280
- if (result instanceof Promise) {
281
- promises.push(result);
282
- }
283
- }
284
- catch (error) {
285
- console.error('Error in onBeforeDrop handler:', error);
286
- }
287
- });
288
- }
289
- else {
290
- // Fallback: emit normally
291
- this.onBeforeDrop.emit(beforeDropEvent);
292
- }
293
- // Wait for all async handlers to complete
294
- if (promises.length > 0) {
295
- await Promise.all(promises);
275
+ // Emit the event - handlers can call event.wait() to register async operations
276
+ this.onBeforeDrop.emit(beforeDropEvent);
277
+ // Wait for all registered async operations to complete
278
+ if (pendingPromises.length > 0) {
279
+ await Promise.all(pendingPromises);
296
280
  }
281
+ // After all async operations complete, check if the drop was canceled
297
282
  return !beforeDropEvent.canceled;
298
283
  }
299
284
  getItemsById(key) {
@@ -321,12 +306,12 @@ class AXKanbanComponent extends NXComponent {
321
306
  const originalItemFromDataSource = this.dataSource().find((originalItem) => originalItem[this.keyField()] === item.id);
322
307
  this.onItemRightClick.emit({ item: originalItemFromDataSource, nativeEvent: event, sender: this });
323
308
  }
324
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXKanbanComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
325
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXKanbanComponent, isStandalone: true, selector: "ax-kanban", inputs: { hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, statuses: { classPropertyName: "statuses", publicName: "statuses", isSignal: true, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, keyField: { classPropertyName: "keyField", publicName: "keyField", isSignal: true, isRequired: false, transformFunction: null }, indexField: { classPropertyName: "indexField", publicName: "indexField", isSignal: true, isRequired: false, transformFunction: null }, titleField: { classPropertyName: "titleField", publicName: "titleField", isSignal: true, isRequired: false, transformFunction: null }, cssClassField: { classPropertyName: "cssClassField", publicName: "cssClassField", isSignal: true, isRequired: false, transformFunction: null }, priorityField: { classPropertyName: "priorityField", publicName: "priorityField", isSignal: true, isRequired: false, transformFunction: null }, statusKeyField: { classPropertyName: "statusKeyField", publicName: "statusKeyField", isSignal: true, isRequired: false, transformFunction: null }, descriptionField: { classPropertyName: "descriptionField", publicName: "descriptionField", isSignal: true, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: true, isRequired: false, transformFunction: null }, headerTemplate: { classPropertyName: "headerTemplate", publicName: "headerTemplate", isSignal: true, isRequired: false, transformFunction: null }, footerTemplate: { classPropertyName: "footerTemplate", publicName: "footerTemplate", isSignal: true, isRequired: false, transformFunction: null }, contentFooterTemplate: { classPropertyName: "contentFooterTemplate", publicName: "contentFooterTemplate", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onBeforeDrop: "onBeforeDrop", onSortChanged: "onSortChanged", onItemClick: "onItemClick", onActionClick: "onActionClick", onItemDblClick: "onItemDblClick", onItemRightClick: "onItemRightClick" }, usesInheritance: true, ngImport: i0, template: "@for (status of filteredStatuses(); track status.key) {\n <div class=\"ax-kanban-status {{ status.cssClass }}\">\n <ax-header>\n @if (headerTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n } @else {\n <ax-title>{{ status.title }}</ax-title>\n }\n </ax-header>\n <ax-content axDropList dropListGroup=\"kanban\" [id]=\"stringify(status.key)\" (dropListDropped)=\"drop($event)\">\n @if (emptyTemplate() && getOriginalItemsById(status.key).length === 0) {\n <ng-container\n [ngTemplateOutlet]=\"emptyTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n }\n @if (itemTemplate()) {\n @for (item of getOriginalItemsById(status.key); track item[keyField()]) {\n <div\n axDrag\n [dragData]=\"item\"\n class=\"{{ item.cssClass }}\"\n [dragStartDelay]=\"dragStartDelay()\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </div>\n }\n } @else {\n @for (item of getItemsById(status.key); track item.id) {\n <div\n axDrag\n [dragData]=\"item\"\n [dragCursor]=\"'grab'\"\n [dragStartDelay]=\"dragStartDelay()\"\n class=\"ax-kanban-item {{ item.cssClass }}\"\n [ngClass]=\"`ax-kanban-${item.priority ?? 'primary'}-periority`\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ax-heading>\n <ax-title>\n <span class=\"ax-kanban-truncate\">{{ item.title }}</span>\n @if (hasActions()) {\n <!-- <ax-icon\n class=\"ax-icon ax-icon-more-horizontal ax-kanban-action-icon\"\n (click)=\"handleActionClick($event, item)\"\n >\n </ax-icon> -->\n }\n </ax-title>\n <ax-subtitle>{{ item.description }}</ax-subtitle>\n </ax-heading>\n </div>\n }\n }\n @if (contentFooterTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"contentFooterTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </ax-content>\n @if (footerTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"footerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </div>\n}\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-content:\"\"}}}@layer base{:root{--ax-comp-kanban-status-min-width:20rem;--ax-comp-kanban-status-min-height:30rem;--ax-comp-kanban-item-indicator-size:.125rem}}@layer components{ax-kanban{grid-auto-columns:var(--ax-comp-kanban-status-min-width);gap:calc(var(--spacing,.25rem)*2);grid-auto-flow:column;display:grid;overflow-x:auto}ax-kanban .ax-kanban-status{height:var(--ax-comp-kanban-status-min-height);gap:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-default);border-radius:var(--radius-default,var(--ax-sys-border-radius));background-color:var(--color-lighter,rgba(var(--ax-sys-color-lighter-surface)));color:var(--color-on-lighter,rgba(var(--ax-sys-color-on-lighter-surface)));clip-path:inset(0 round var(--ax-sys-border-radius));flex-direction:column;display:flex;overflow-y:auto}ax-kanban .ax-kanban-status>ax-header{top:calc(var(--spacing,.25rem)*0);z-index:2;background-color:inherit;position:sticky}ax-kanban .ax-kanban-status>ax-header>ax-title{width:100%;padding-top:calc(var(--spacing,.25rem)*2);text-align:center;font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);display:block}ax-kanban .ax-kanban-status ax-content{gap:calc(var(--spacing,.25rem)*2);padding-inline:calc(var(--spacing,.25rem)*2);flex-direction:column;flex:1;display:flex}ax-kanban .ax-kanban-status ax-content ax-popover{display:none}ax-kanban .ax-kanban-status ax-content .ax-kanban-item{border-radius:calc(var(--ax-sys-border-radius)/2);background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));width:100%;padding-inline:calc(var(--spacing,.25rem)*2);padding-block:calc(var(--spacing,.25rem)*1);color:var(--color-on-lightest,rgba(var(--ax-sys-color-on-lightest-surface)));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:relative}ax-kanban .ax-kanban-status ax-content .ax-kanban-item:where(.dark,.dark *){background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));color:var(--color-on-darkest,rgba(var(--ax-sys-color-on-darkest-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item:before{height:calc(100% - (var(--spacing,.25rem)*2));width:var(--ax-comp-kanban-item-indicator-size);--tw-content:\"\";content:var(--tw-content);border-radius:3.40282e38px;position:absolute;inset-inline-start:calc(var(--spacing,.25rem)*.5)}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-primary-periority:before{background-color:var(--color-primary,rgba(var(--ax-sys-color-primary-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-highest-periority:before{background-color:var(--color-danger-dark,rgba(var(--ax-sys-color-danger-dark-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-high-periority:before{background-color:var(--color-danger-600,rgba(var(--ax-sys-color-danger-600)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-medium-periority:before{background-color:var(--color-warning,rgba(var(--ax-sys-color-warning-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-low-periority:before{background-color:var(--color-success-light,rgba(var(--ax-sys-color-success-light-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-lowest-periority:before{background-color:var(--color-success-lightest,rgba(var(--ax-sys-color-success-lightest-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item>ax-heading>ax-title{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);justify-content:space-between;align-items:center;display:flex}ax-kanban .ax-kanban-status ax-content .ax-kanban-item>ax-heading>ax-title .ax-kanban-action-icon{cursor:pointer}ax-kanban .ax-kanban-status>ax-footer{bottom:calc(var(--spacing,.25rem)*0);z-index:2;background-color:inherit;position:sticky}}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["axDrag", "dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "directive", type: AXDropListDirective, selector: "[axDropList]", inputs: ["axDropList", "sortingDisabled", "dropListGroup", "dropListOrientation"], outputs: ["dropListDropped"], exportAs: ["axDropList"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDecoratorHeadingComponent, selector: "ax-heading", inputs: ["darkMode", "color", "weight"] }, { kind: "directive", type:
309
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXKanbanComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
310
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXKanbanComponent, isStandalone: true, selector: "ax-kanban", inputs: { hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, statuses: { classPropertyName: "statuses", publicName: "statuses", isSignal: true, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, keyField: { classPropertyName: "keyField", publicName: "keyField", isSignal: true, isRequired: false, transformFunction: null }, indexField: { classPropertyName: "indexField", publicName: "indexField", isSignal: true, isRequired: false, transformFunction: null }, titleField: { classPropertyName: "titleField", publicName: "titleField", isSignal: true, isRequired: false, transformFunction: null }, cssClassField: { classPropertyName: "cssClassField", publicName: "cssClassField", isSignal: true, isRequired: false, transformFunction: null }, priorityField: { classPropertyName: "priorityField", publicName: "priorityField", isSignal: true, isRequired: false, transformFunction: null }, statusKeyField: { classPropertyName: "statusKeyField", publicName: "statusKeyField", isSignal: true, isRequired: false, transformFunction: null }, descriptionField: { classPropertyName: "descriptionField", publicName: "descriptionField", isSignal: true, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: true, isRequired: false, transformFunction: null }, headerTemplate: { classPropertyName: "headerTemplate", publicName: "headerTemplate", isSignal: true, isRequired: false, transformFunction: null }, footerTemplate: { classPropertyName: "footerTemplate", publicName: "footerTemplate", isSignal: true, isRequired: false, transformFunction: null }, contentFooterTemplate: { classPropertyName: "contentFooterTemplate", publicName: "contentFooterTemplate", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onBeforeDrop: "onBeforeDrop", onSortChanged: "onSortChanged", onItemClick: "onItemClick", onActionClick: "onActionClick", onItemDblClick: "onItemDblClick", onItemRightClick: "onItemRightClick" }, usesInheritance: true, ngImport: i0, template: "@for (status of filteredStatuses(); track status.key) {\n <div class=\"ax-kanban-status {{ status.cssClass }}\">\n <ax-header>\n @if (headerTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n } @else {\n <ax-title>{{ status.title }}</ax-title>\n }\n </ax-header>\n <ax-content axDropList dropListGroup=\"kanban\" [id]=\"stringify(status.key)\" (dropListDropped)=\"drop($event)\">\n @if (emptyTemplate() && getOriginalItemsById(status.key).length === 0) {\n <ng-container\n [ngTemplateOutlet]=\"emptyTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n }\n @if (itemTemplate()) {\n @for (item of getOriginalItemsById(status.key); track item[keyField()]) {\n <div\n axDrag\n [dragData]=\"item\"\n class=\"{{ item.cssClass }}\"\n [dragStartDelay]=\"dragStartDelay()\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </div>\n }\n } @else {\n @for (item of getItemsById(status.key); track item.id) {\n <div\n axDrag\n [dragData]=\"item\"\n [dragCursor]=\"'grab'\"\n [dragStartDelay]=\"dragStartDelay()\"\n class=\"ax-kanban-item {{ item.cssClass }}\"\n [ngClass]=\"`ax-kanban-${item.priority ?? 'primary'}-periority`\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ax-heading>\n <ax-title>\n <span class=\"ax-kanban-truncate\">{{ item.title }}</span>\n @if (hasActions()) {\n <!-- <ax-icon\n class=\"ax-icon ax-icon-more-horizontal ax-kanban-action-icon\"\n (click)=\"handleActionClick($event, item)\"\n >\n </ax-icon> -->\n }\n </ax-title>\n <ax-subtitle>{{ item.description }}</ax-subtitle>\n </ax-heading>\n </div>\n }\n }\n @if (contentFooterTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"contentFooterTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </ax-content>\n @if (footerTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"footerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </div>\n}\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-content:\"\"}}}@layer base{:root{--ax-comp-kanban-status-min-width:20rem;--ax-comp-kanban-status-min-height:30rem;--ax-comp-kanban-item-indicator-size:.125rem}}@layer components{ax-kanban{grid-auto-columns:var(--ax-comp-kanban-status-min-width);gap:calc(var(--spacing,.25rem) * 2);grid-auto-flow:column;display:grid;overflow-x:auto}ax-kanban .ax-kanban-status{height:var(--ax-comp-kanban-status-min-height);gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-default,var(--ax-sys-border-radius));background-color:var(--color-lighter,rgba(var(--ax-sys-color-lighter-surface)));color:var(--color-on-lighter,rgba(var(--ax-sys-color-on-lighter-surface)));clip-path:inset(0 round var(--ax-sys-border-radius));flex-direction:column;display:flex;overflow-y:auto}ax-kanban .ax-kanban-status>ax-header{top:calc(var(--spacing,.25rem) * 0);z-index:2;background-color:inherit;position:sticky}ax-kanban .ax-kanban-status>ax-header>ax-title{width:100%;padding-top:calc(var(--spacing,.25rem) * 2);text-align:center;font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);display:block}ax-kanban .ax-kanban-status ax-content{gap:calc(var(--spacing,.25rem) * 2);padding-inline:calc(var(--spacing,.25rem) * 2);flex-direction:column;flex:1;display:flex}ax-kanban .ax-kanban-status ax-content ax-popover{display:none}ax-kanban .ax-kanban-status ax-content .ax-kanban-item{border-radius:calc(var(--ax-sys-border-radius) / 2);background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));width:100%;padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);color:var(--color-on-lightest,rgba(var(--ax-sys-color-on-lightest-surface)));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:relative}ax-kanban .ax-kanban-status ax-content .ax-kanban-item:where(.dark,.dark *){background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));color:var(--color-on-darkest,rgba(var(--ax-sys-color-on-darkest-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item:before{height:calc(100% - (var(--spacing,.25rem) * 2));width:var(--ax-comp-kanban-item-indicator-size);--tw-content:\"\";content:var(--tw-content);border-radius:3.40282e38px;position:absolute;inset-inline-start:calc(var(--spacing,.25rem) * .5)}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-primary-periority:before{background-color:var(--color-primary,rgba(var(--ax-sys-color-primary-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-highest-periority:before{background-color:var(--color-danger-dark,rgba(var(--ax-sys-color-danger-dark-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-high-periority:before{background-color:var(--color-danger-600,rgba(var(--ax-sys-color-danger-600)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-medium-periority:before{background-color:var(--color-warning,rgba(var(--ax-sys-color-warning-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-low-periority:before{background-color:var(--color-success-light,rgba(var(--ax-sys-color-success-light-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-lowest-periority:before{background-color:var(--color-success-lightest,rgba(var(--ax-sys-color-success-lightest-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item>ax-heading>ax-title{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);justify-content:space-between;align-items:center;display:flex}ax-kanban .ax-kanban-status ax-content .ax-kanban-item>ax-heading>ax-title .ax-kanban-action-icon{cursor:pointer}ax-kanban .ax-kanban-status>ax-footer{bottom:calc(var(--spacing,.25rem) * 0);z-index:2;background-color:inherit;position:sticky}}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["axDrag", "dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "directive", type: AXDropListDirective, selector: "[axDropList]", inputs: ["axDropList", "sortingDisabled", "dropListGroup", "dropListOrientation"], outputs: ["dropListDropped"], exportAs: ["axDropList"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDecoratorHeadingComponent, selector: "ax-heading", inputs: ["darkMode", "color", "weight"] }, { kind: "directive", type:
326
311
  // AXDecoratorIconComponent,
327
312
  AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], encapsulation: i0.ViewEncapsulation.None }); }
328
313
  }
329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXKanbanComponent, decorators: [{
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXKanbanComponent, decorators: [{
330
315
  type: Component,
331
316
  args: [{ selector: 'ax-kanban', encapsulation: ViewEncapsulation.None, imports: [
332
317
  NgClass,
@@ -337,7 +322,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
337
322
  AXDecoratorHeadingComponent,
338
323
  // AXDecoratorIconComponent,
339
324
  AXTooltipDirective,
340
- ], template: "@for (status of filteredStatuses(); track status.key) {\n <div class=\"ax-kanban-status {{ status.cssClass }}\">\n <ax-header>\n @if (headerTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n } @else {\n <ax-title>{{ status.title }}</ax-title>\n }\n </ax-header>\n <ax-content axDropList dropListGroup=\"kanban\" [id]=\"stringify(status.key)\" (dropListDropped)=\"drop($event)\">\n @if (emptyTemplate() && getOriginalItemsById(status.key).length === 0) {\n <ng-container\n [ngTemplateOutlet]=\"emptyTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n }\n @if (itemTemplate()) {\n @for (item of getOriginalItemsById(status.key); track item[keyField()]) {\n <div\n axDrag\n [dragData]=\"item\"\n class=\"{{ item.cssClass }}\"\n [dragStartDelay]=\"dragStartDelay()\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </div>\n }\n } @else {\n @for (item of getItemsById(status.key); track item.id) {\n <div\n axDrag\n [dragData]=\"item\"\n [dragCursor]=\"'grab'\"\n [dragStartDelay]=\"dragStartDelay()\"\n class=\"ax-kanban-item {{ item.cssClass }}\"\n [ngClass]=\"`ax-kanban-${item.priority ?? 'primary'}-periority`\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ax-heading>\n <ax-title>\n <span class=\"ax-kanban-truncate\">{{ item.title }}</span>\n @if (hasActions()) {\n <!-- <ax-icon\n class=\"ax-icon ax-icon-more-horizontal ax-kanban-action-icon\"\n (click)=\"handleActionClick($event, item)\"\n >\n </ax-icon> -->\n }\n </ax-title>\n <ax-subtitle>{{ item.description }}</ax-subtitle>\n </ax-heading>\n </div>\n }\n }\n @if (contentFooterTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"contentFooterTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </ax-content>\n @if (footerTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"footerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </div>\n}\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-content:\"\"}}}@layer base{:root{--ax-comp-kanban-status-min-width:20rem;--ax-comp-kanban-status-min-height:30rem;--ax-comp-kanban-item-indicator-size:.125rem}}@layer components{ax-kanban{grid-auto-columns:var(--ax-comp-kanban-status-min-width);gap:calc(var(--spacing,.25rem)*2);grid-auto-flow:column;display:grid;overflow-x:auto}ax-kanban .ax-kanban-status{height:var(--ax-comp-kanban-status-min-height);gap:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-default);border-radius:var(--radius-default,var(--ax-sys-border-radius));background-color:var(--color-lighter,rgba(var(--ax-sys-color-lighter-surface)));color:var(--color-on-lighter,rgba(var(--ax-sys-color-on-lighter-surface)));clip-path:inset(0 round var(--ax-sys-border-radius));flex-direction:column;display:flex;overflow-y:auto}ax-kanban .ax-kanban-status>ax-header{top:calc(var(--spacing,.25rem)*0);z-index:2;background-color:inherit;position:sticky}ax-kanban .ax-kanban-status>ax-header>ax-title{width:100%;padding-top:calc(var(--spacing,.25rem)*2);text-align:center;font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);display:block}ax-kanban .ax-kanban-status ax-content{gap:calc(var(--spacing,.25rem)*2);padding-inline:calc(var(--spacing,.25rem)*2);flex-direction:column;flex:1;display:flex}ax-kanban .ax-kanban-status ax-content ax-popover{display:none}ax-kanban .ax-kanban-status ax-content .ax-kanban-item{border-radius:calc(var(--ax-sys-border-radius)/2);background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));width:100%;padding-inline:calc(var(--spacing,.25rem)*2);padding-block:calc(var(--spacing,.25rem)*1);color:var(--color-on-lightest,rgba(var(--ax-sys-color-on-lightest-surface)));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:relative}ax-kanban .ax-kanban-status ax-content .ax-kanban-item:where(.dark,.dark *){background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));color:var(--color-on-darkest,rgba(var(--ax-sys-color-on-darkest-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item:before{height:calc(100% - (var(--spacing,.25rem)*2));width:var(--ax-comp-kanban-item-indicator-size);--tw-content:\"\";content:var(--tw-content);border-radius:3.40282e38px;position:absolute;inset-inline-start:calc(var(--spacing,.25rem)*.5)}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-primary-periority:before{background-color:var(--color-primary,rgba(var(--ax-sys-color-primary-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-highest-periority:before{background-color:var(--color-danger-dark,rgba(var(--ax-sys-color-danger-dark-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-high-periority:before{background-color:var(--color-danger-600,rgba(var(--ax-sys-color-danger-600)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-medium-periority:before{background-color:var(--color-warning,rgba(var(--ax-sys-color-warning-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-low-periority:before{background-color:var(--color-success-light,rgba(var(--ax-sys-color-success-light-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-lowest-periority:before{background-color:var(--color-success-lightest,rgba(var(--ax-sys-color-success-lightest-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item>ax-heading>ax-title{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);justify-content:space-between;align-items:center;display:flex}ax-kanban .ax-kanban-status ax-content .ax-kanban-item>ax-heading>ax-title .ax-kanban-action-icon{cursor:pointer}ax-kanban .ax-kanban-status>ax-footer{bottom:calc(var(--spacing,.25rem)*0);z-index:2;background-color:inherit;position:sticky}}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
325
+ ], template: "@for (status of filteredStatuses(); track status.key) {\n <div class=\"ax-kanban-status {{ status.cssClass }}\">\n <ax-header>\n @if (headerTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n } @else {\n <ax-title>{{ status.title }}</ax-title>\n }\n </ax-header>\n <ax-content axDropList dropListGroup=\"kanban\" [id]=\"stringify(status.key)\" (dropListDropped)=\"drop($event)\">\n @if (emptyTemplate() && getOriginalItemsById(status.key).length === 0) {\n <ng-container\n [ngTemplateOutlet]=\"emptyTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n }\n @if (itemTemplate()) {\n @for (item of getOriginalItemsById(status.key); track item[keyField()]) {\n <div\n axDrag\n [dragData]=\"item\"\n class=\"{{ item.cssClass }}\"\n [dragStartDelay]=\"dragStartDelay()\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </div>\n }\n } @else {\n @for (item of getItemsById(status.key); track item.id) {\n <div\n axDrag\n [dragData]=\"item\"\n [dragCursor]=\"'grab'\"\n [dragStartDelay]=\"dragStartDelay()\"\n class=\"ax-kanban-item {{ item.cssClass }}\"\n [ngClass]=\"`ax-kanban-${item.priority ?? 'primary'}-periority`\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ax-heading>\n <ax-title>\n <span class=\"ax-kanban-truncate\">{{ item.title }}</span>\n @if (hasActions()) {\n <!-- <ax-icon\n class=\"ax-icon ax-icon-more-horizontal ax-kanban-action-icon\"\n (click)=\"handleActionClick($event, item)\"\n >\n </ax-icon> -->\n }\n </ax-title>\n <ax-subtitle>{{ item.description }}</ax-subtitle>\n </ax-heading>\n </div>\n }\n }\n @if (contentFooterTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"contentFooterTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </ax-content>\n @if (footerTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"footerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </div>\n}\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-content:\"\"}}}@layer base{:root{--ax-comp-kanban-status-min-width:20rem;--ax-comp-kanban-status-min-height:30rem;--ax-comp-kanban-item-indicator-size:.125rem}}@layer components{ax-kanban{grid-auto-columns:var(--ax-comp-kanban-status-min-width);gap:calc(var(--spacing,.25rem) * 2);grid-auto-flow:column;display:grid;overflow-x:auto}ax-kanban .ax-kanban-status{height:var(--ax-comp-kanban-status-min-height);gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-default,var(--ax-sys-border-radius));background-color:var(--color-lighter,rgba(var(--ax-sys-color-lighter-surface)));color:var(--color-on-lighter,rgba(var(--ax-sys-color-on-lighter-surface)));clip-path:inset(0 round var(--ax-sys-border-radius));flex-direction:column;display:flex;overflow-y:auto}ax-kanban .ax-kanban-status>ax-header{top:calc(var(--spacing,.25rem) * 0);z-index:2;background-color:inherit;position:sticky}ax-kanban .ax-kanban-status>ax-header>ax-title{width:100%;padding-top:calc(var(--spacing,.25rem) * 2);text-align:center;font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);display:block}ax-kanban .ax-kanban-status ax-content{gap:calc(var(--spacing,.25rem) * 2);padding-inline:calc(var(--spacing,.25rem) * 2);flex-direction:column;flex:1;display:flex}ax-kanban .ax-kanban-status ax-content ax-popover{display:none}ax-kanban .ax-kanban-status ax-content .ax-kanban-item{border-radius:calc(var(--ax-sys-border-radius) / 2);background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));width:100%;padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);color:var(--color-on-lightest,rgba(var(--ax-sys-color-on-lightest-surface)));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:relative}ax-kanban .ax-kanban-status ax-content .ax-kanban-item:where(.dark,.dark *){background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));color:var(--color-on-darkest,rgba(var(--ax-sys-color-on-darkest-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item:before{height:calc(100% - (var(--spacing,.25rem) * 2));width:var(--ax-comp-kanban-item-indicator-size);--tw-content:\"\";content:var(--tw-content);border-radius:3.40282e38px;position:absolute;inset-inline-start:calc(var(--spacing,.25rem) * .5)}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-primary-periority:before{background-color:var(--color-primary,rgba(var(--ax-sys-color-primary-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-highest-periority:before{background-color:var(--color-danger-dark,rgba(var(--ax-sys-color-danger-dark-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-high-periority:before{background-color:var(--color-danger-600,rgba(var(--ax-sys-color-danger-600)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-medium-periority:before{background-color:var(--color-warning,rgba(var(--ax-sys-color-warning-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-low-periority:before{background-color:var(--color-success-light,rgba(var(--ax-sys-color-success-light-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item.ax-kanban-lowest-periority:before{background-color:var(--color-success-lightest,rgba(var(--ax-sys-color-success-lightest-surface)))}ax-kanban .ax-kanban-status ax-content .ax-kanban-item>ax-heading>ax-title{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);justify-content:space-between;align-items:center;display:flex}ax-kanban .ax-kanban-status ax-content .ax-kanban-item>ax-heading>ax-title .ax-kanban-action-icon{cursor:pointer}ax-kanban .ax-kanban-status>ax-footer{bottom:calc(var(--spacing,.25rem) * 0);z-index:2;background-color:inherit;position:sticky}}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"] }]
341
326
  }], propDecorators: { hasActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasActions", required: false }] }], dragStartDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragStartDelay", required: false }] }], statuses: [{ type: i0.Input, args: [{ isSignal: true, alias: "statuses", required: false }] }], itemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemTemplate", required: false }] }], dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: false }] }], keyField: [{ type: i0.Input, args: [{ isSignal: true, alias: "keyField", required: false }] }], indexField: [{ type: i0.Input, args: [{ isSignal: true, alias: "indexField", required: false }] }], titleField: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleField", required: false }] }], cssClassField: [{ type: i0.Input, args: [{ isSignal: true, alias: "cssClassField", required: false }] }], priorityField: [{ type: i0.Input, args: [{ isSignal: true, alias: "priorityField", required: false }] }], statusKeyField: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusKeyField", required: false }] }], descriptionField: [{ type: i0.Input, args: [{ isSignal: true, alias: "descriptionField", required: false }] }], emptyTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyTemplate", required: false }] }], headerTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerTemplate", required: false }] }], footerTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerTemplate", required: false }] }], contentFooterTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentFooterTemplate", required: false }] }], tooltipTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipTemplate", required: false }] }], onBeforeDrop: [{ type: i0.Output, args: ["onBeforeDrop"] }], onSortChanged: [{ type: i0.Output, args: ["onSortChanged"] }], onItemClick: [{ type: i0.Output, args: ["onItemClick"] }], onActionClick: [{ type: i0.Output, args: ["onActionClick"] }], onItemDblClick: [{ type: i0.Output, args: ["onItemDblClick"] }], onItemRightClick: [{ type: i0.Output, args: ["onItemRightClick"] }] } });
342
327
 
343
328
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-kanban.mjs","sources":["../../../../packages/components/kanban/src/lib/kanban.component.ts","../../../../packages/components/kanban/src/lib/kanban.component.html","../../../../packages/components/kanban/src/acorex-components-kanban.ts"],"sourcesContent":["import { NXComponent } from '@acorex/cdk/common';\nimport { AXDragDirective, AXDropListDirective, AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';\nimport { AXDecoratorGenericComponent, AXDecoratorHeadingComponent } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, input, output, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport {\n AXKanbanBeforeDropEvent,\n AXKanbanItem,\n AXKanbanMouseEvent,\n AXKanbanSortEvent,\n AXKanbanStatus,\n} from './kanban.class';\n\n@Component({\n selector: 'ax-kanban',\n templateUrl: './kanban.component.html',\n styleUrls: ['./kanban.component.compiled.css'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgClass,\n NgTemplateOutlet,\n AXDragDirective,\n AXDropListDirective,\n AXDecoratorGenericComponent,\n AXDecoratorHeadingComponent,\n // AXDecoratorIconComponent,\n AXTooltipDirective,\n ],\n})\nexport class AXKanbanComponent extends NXComponent {\n hasActions = input(false);\n dragStartDelay = input(0);\n statuses = input<AXKanbanStatus[]>([]);\n itemTemplate = input<TemplateRef<unknown>>();\n dataSource = input<AXKanbanItem[] | any[]>();\n\n keyField = input<string>('id');\n indexField = input<string>('index');\n titleField = input<string>('title');\n cssClassField = input<string>('cssClass');\n priorityField = input<string>('priority');\n statusKeyField = input<string>('statusKey');\n descriptionField = input<string>('description');\n emptyTemplate = input<TemplateRef<unknown>>();\n headerTemplate = input<TemplateRef<unknown>>();\n footerTemplate = input<TemplateRef<unknown>>();\n contentFooterTemplate = input<TemplateRef<unknown>>();\n tooltipTemplate = input<string | TemplateRef<unknown>>();\n\n onBeforeDrop = output<AXKanbanBeforeDropEvent>();\n onSortChanged = output<AXKanbanSortEvent>();\n onItemClick = output<AXKanbanMouseEvent>();\n onActionClick = output<AXKanbanMouseEvent>();\n onItemDblClick = output<AXKanbanMouseEvent>();\n onItemRightClick = output<AXKanbanMouseEvent>();\n\n protected items = computed<AXKanbanItem[]>(() => {\n // ... your excellent gap-filling index logic remains the same ...\n const dataSource = this.dataSource() || [];\n const mappedItems = dataSource.map<AXKanbanItem>((item: any) => ({\n id: item[this.keyField()],\n index: item[this.indexField()],\n title: item[this.titleField()],\n cssClass: item[this.cssClassField()],\n priority: item[this.priorityField()],\n statusKey: item[this.statusKeyField()],\n description: item[this.descriptionField()],\n }));\n\n const itemsByStatus = new Map<any, AXKanbanItem[]>();\n for (const item of mappedItems) {\n if (!itemsByStatus.has(item.statusKey)) {\n itemsByStatus.set(item.statusKey, []);\n }\n itemsByStatus.get(item.statusKey).push(item);\n }\n\n const finalProcessedItems: AXKanbanItem[] = [];\n for (const group of itemsByStatus.values()) {\n const correctlyIndexedItems: AXKanbanItem[] = [];\n const itemsToBeIndexed: AXKanbanItem[] = [];\n const takenIndices = new Set<number>();\n for (const item of group) {\n const hasValidIndex = item.index != null && typeof item.index === 'number' && !takenIndices.has(item.index);\n if (hasValidIndex) {\n takenIndices.add(item.index);\n correctlyIndexedItems.push(item);\n } else {\n itemsToBeIndexed.push(item);\n }\n }\n let currentIndex = 0;\n for (const item of itemsToBeIndexed) {\n while (takenIndices.has(currentIndex)) {\n currentIndex++;\n }\n item.index = currentIndex;\n currentIndex++;\n }\n const processedGroup = [...correctlyIndexedItems, ...itemsToBeIndexed];\n processedGroup.sort((a, b) => a.index - b.index);\n finalProcessedItems.push(...processedGroup);\n }\n return finalProcessedItems;\n });\n\n protected filteredStatuses = computed(() => this.statuses().sort((a, b) => a.index - b.index));\n\n /**\n * Handles a drop operation to reorder items or move them between statuses.\n * It uses the component's current rendered state (`this.items`) as the source\n * of truth, performs precise re-indexing, and emits a comprehensive event with\n * the updated data source.\n *\n * @param event AXDropListDroppedEvent - The drag-and-drop event including indices and container information.\n * @returns Promise<void>\n */\n async drop(event: AXDropListDroppedEvent): Promise<void> {\n const { item: droppedItemDirective, currentIndex, previousIndex, container, previousContainer } = event;\n\n // --- 1. Get identifiers and the item's original data ---\n const currentStatusKey = JSON.parse(container.element.id);\n const previousStatusKey = JSON.parse(previousContainer.element.id);\n const movedItemOriginalData = droppedItemDirective.dragData() as AXKanbanItem;\n\n if (!movedItemOriginalData) {\n console.warn('AXKanban: Dragged item has no [dragData]. Sort event cannot be emitted.');\n return;\n }\n\n // --- 2. Get the original item from dataSource ---\n const originalItemFromDataSource = this.dataSource().find(\n (item) => item[this.keyField()] === movedItemOriginalData.id,\n );\n\n if (!originalItemFromDataSource) {\n console.warn('AXKanban: Item not found in dataSource.');\n return;\n }\n\n // --- 3. Perform the move operation ---\n await this.performMove(\n originalItemFromDataSource,\n previousStatusKey,\n currentStatusKey,\n previousIndex,\n currentIndex,\n event.nativeEvent,\n );\n }\n\n /**\n * Programmatically move an item to a different status or reorder within the same status.\n * @param itemId The ID of the item to move (using keyField)\n * @param targetStatusKey The target status key to move the item to\n * @param targetIndex Optional target index within the target status. If not provided, item will be appended to the end.\n * @returns Promise<boolean> - true if the move was successful, false otherwise\n */\n async moveItem(itemId: any, targetStatusKey: any, targetIndex?: number): Promise<boolean> {\n const keyField = this.keyField();\n const originalItem = this.dataSource().find((item) => item[keyField] === itemId);\n\n if (!originalItem) {\n console.warn(`AXKanban: Item with id \"${itemId}\" not found in dataSource.`);\n return false;\n }\n\n // Get current status from dataSource\n const statusKeyField = this.statusKeyField();\n const previousStatusKey = originalItem[statusKeyField];\n\n // Get current index from the computed items state (more accurate than dataSource field)\n const currentItem = this.items().find((i) => i.id === itemId);\n const previousIndex = currentItem?.index ?? 0;\n\n // If target index is not provided, append to the end\n let currentIndex = targetIndex;\n if (currentIndex === undefined) {\n const targetStatusItems = this.items().filter((i) => i.statusKey === targetStatusKey);\n currentIndex = targetStatusItems.length;\n }\n\n // Perform the move\n return await this.performMove(originalItem, previousStatusKey, targetStatusKey, previousIndex, currentIndex, null);\n }\n\n /**\n * Programmatically reorder an item within the same status.\n * @param itemId The ID of the item to reorder (using keyField)\n * @param newIndex The new index position within the same status\n * @returns Promise<boolean> - true if the reorder was successful, false otherwise\n */\n async reorderItem(itemId: any, newIndex: number): Promise<boolean> {\n const keyField = this.keyField();\n const originalItem = this.dataSource().find((item) => item[keyField] === itemId);\n\n if (!originalItem) {\n console.warn(`AXKanban: Item with id \"${itemId}\" not found in dataSource.`);\n return false;\n }\n\n // Get current status from dataSource\n const statusKeyField = this.statusKeyField();\n const statusKey = originalItem[statusKeyField];\n\n // Get current index from the computed items state (more accurate than dataSource field)\n const currentItem = this.items().find((i) => i.id === itemId);\n const previousIndex = currentItem?.index ?? 0;\n\n // Perform the move (same status, different index)\n return await this.performMove(originalItem, statusKey, statusKey, previousIndex, newIndex, null);\n }\n\n /**\n * Programmatically move an item to a different status.\n * @param itemId The ID of the item to move (using keyField)\n * @param targetStatusKey The target status key to move the item to\n * @param targetIndex Optional target index within the target status. If not provided, item will be appended to the end.\n * @returns Promise<boolean> - true if the move was successful, false otherwise\n */\n async moveItemToStatus(itemId: any, targetStatusKey: any, targetIndex?: number): Promise<boolean> {\n return await this.moveItem(itemId, targetStatusKey, targetIndex);\n }\n\n /**\n * Core method that performs the move operation, handles re-indexing, and emits events.\n * This is used by both drag-and-drop operations and programmatic moves.\n *\n * @param originalItem The original item from dataSource that is being moved\n * @param previousStatusKey The status key the item is moving from\n * @param currentStatusKey The status key the item is moving to\n * @param previousIndex The index the item is moving from\n * @param currentIndex The index the item is moving to\n * @param nativeEvent The native mouse event (null for programmatic moves)\n * @returns Promise<boolean> - true if the move was successful, false otherwise\n */\n private async performMove(\n originalItem: any,\n previousStatusKey: any,\n currentStatusKey: any,\n previousIndex: number,\n currentIndex: number,\n nativeEvent: MouseEvent | null,\n ): Promise<boolean> {\n // --- 1. Emit beforeDrop event and check if drop should be canceled ---\n const shouldProceed = await this.emitBeforeDropEvent(\n originalItem,\n previousStatusKey,\n currentStatusKey,\n previousIndex,\n currentIndex,\n nativeEvent,\n );\n if (!shouldProceed) {\n return false;\n }\n\n // --- 2. Use the `items` computed property as the source of truth for the operation ---\n // This is the CRUCIAL FIX. We operate on the data as it was rendered.\n const currentItemsState = structuredClone(this.items());\n\n // --- 3. Perform the move operation based on the scenario ---\n if (previousStatusKey === currentStatusKey) {\n // --- Scenario A: Reordering within the same list ---\n const list = currentItemsState.filter((i) => i.statusKey === currentStatusKey);\n\n // Remove from the old position and insert into the new position\n const [movedItem] = list.splice(previousIndex, 1);\n list.splice(currentIndex, 0, movedItem);\n\n // Re-index only this modified list\n list.forEach((item, idx) => (item.index = idx));\n } else {\n // --- Scenario B: Moving to a different list ---\n const sourceList = currentItemsState.filter((i) => i.statusKey === previousStatusKey);\n const destList = currentItemsState.filter((i) => i.statusKey === currentStatusKey);\n\n // Remove from source list\n const [movedItem] = sourceList.splice(previousIndex, 1);\n\n // Update its status and add to destination list\n movedItem.statusKey = currentStatusKey;\n destList.splice(currentIndex, 0, movedItem);\n\n // Re-index both affected lists\n sourceList.forEach((item, idx) => (item.index = idx));\n destList.forEach((item, idx) => (item.index = idx));\n }\n\n // --- 4. Map the changes back to a new version of the original dataSource ---\n // This preserves any extra properties the user might have on their data objects.\n const keyField = this.keyField();\n const statusKeyField = this.statusKeyField();\n const indexField = this.indexField();\n\n const updatedItemsMap = new Map(currentItemsState.map((i) => [i.id, i]));\n const finalDataSource = structuredClone(this.dataSource());\n\n finalDataSource.forEach((originalItem) => {\n const updatedItem = updatedItemsMap.get(originalItem[keyField]);\n if (updatedItem) {\n originalItem[indexField] = updatedItem.index;\n originalItem[statusKeyField] = updatedItem.statusKey;\n }\n });\n\n const movedItemId = originalItem[keyField];\n const finalOriginalItemFromDataSource = finalDataSource.find((item) => item[keyField] === movedItemId);\n\n // --- 5. Emit the final, comprehensive event ---\n this.onSortChanged.emit({\n sender: this,\n nativeEvent: nativeEvent,\n // The original data object that was moved\n item: finalOriginalItemFromDataSource,\n // The complete, precisely re-indexed data source, ready for state update\n allItems: finalDataSource,\n currentIndex,\n previousIndex,\n currentStatusKey,\n previousStatusKey,\n });\n\n return true;\n }\n\n /**\n * Emit beforeDrop event and return whether to continue with the drop operation.\n * Supports both synchronous and asynchronous event handlers.\n * @param item The original item from dataSource that is being moved\n * @param previousStatusKey The status key the item is moving from\n * @param currentStatusKey The status key the item is moving to\n * @param previousIndex The index the item is moving from\n * @param currentIndex The index the item is moving to\n * @param nativeEvent The native mouse event (null for programmatic moves)\n * @returns Promise<boolean> - true if the drop should proceed, false if it should be canceled\n */\n private async emitBeforeDropEvent(\n item: any,\n previousStatusKey: any,\n currentStatusKey: any,\n previousIndex: number,\n currentIndex: number,\n nativeEvent: MouseEvent | null,\n ): Promise<boolean> {\n const beforeDropEvent: AXKanbanBeforeDropEvent = {\n sender: this,\n nativeEvent,\n item,\n previousStatusKey,\n currentStatusKey,\n previousIndex,\n currentIndex,\n canceled: false,\n };\n\n // Manually invoke handlers to collect and await promises from async handlers\n const outputRef = this.onBeforeDrop as any;\n const emitter = outputRef._emitRef?.() || outputRef.emitRef?.();\n const promises: Promise<unknown>[] = [];\n\n if (emitter?.observers || emitter?._observers) {\n const observers = emitter.observers || emitter._observers || [];\n observers.forEach((observer: any) => {\n try {\n const result = observer.next?.(beforeDropEvent) || observer(beforeDropEvent);\n if (result instanceof Promise) {\n promises.push(result);\n }\n } catch (error) {\n console.error('Error in onBeforeDrop handler:', error);\n }\n });\n } else {\n // Fallback: emit normally\n this.onBeforeDrop.emit(beforeDropEvent);\n }\n\n // Wait for all async handlers to complete\n if (promises.length > 0) {\n await Promise.all(promises);\n }\n\n return !beforeDropEvent.canceled;\n }\n\n protected getItemsById(key: any): AXKanbanItem[] {\n return this.items().filter((e) => e.statusKey === key);\n }\n\n protected getOriginalItemsById(key: any): any[] {\n return this.dataSource().filter((e) => e[this.statusKeyField()] === key);\n }\n\n protected stringify(value: any): string {\n return JSON.stringify(value);\n }\n\n protected handleActionClick(event: MouseEvent, item: AXKanbanItem) {\n const originalItemFromDataSource = this.dataSource().find(\n (originalItem) => originalItem[this.keyField()] === item.id,\n );\n this.onActionClick.emit({ item: originalItemFromDataSource, nativeEvent: event, sender: this });\n }\n\n protected handleClick(event: MouseEvent, item: AXKanbanItem) {\n const originalItemFromDataSource = this.dataSource().find(\n (originalItem) => originalItem[this.keyField()] === item.id,\n );\n this.onItemClick.emit({ item: originalItemFromDataSource, nativeEvent: event, sender: this });\n }\n\n protected handleDblClick(event: MouseEvent, item: AXKanbanItem) {\n const originalItemFromDataSource = this.dataSource().find(\n (originalItem) => originalItem[this.keyField()] === item.id,\n );\n this.onItemDblClick.emit({ item: originalItemFromDataSource, nativeEvent: event, sender: this });\n }\n\n protected handleRightClick(event: MouseEvent, item: AXKanbanItem) {\n const originalItemFromDataSource = this.dataSource().find(\n (originalItem) => originalItem[this.keyField()] === item.id,\n );\n this.onItemRightClick.emit({ item: originalItemFromDataSource, nativeEvent: event, sender: this });\n }\n}\n","@for (status of filteredStatuses(); track status.key) {\n <div class=\"ax-kanban-status {{ status.cssClass }}\">\n <ax-header>\n @if (headerTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n } @else {\n <ax-title>{{ status.title }}</ax-title>\n }\n </ax-header>\n <ax-content axDropList dropListGroup=\"kanban\" [id]=\"stringify(status.key)\" (dropListDropped)=\"drop($event)\">\n @if (emptyTemplate() && getOriginalItemsById(status.key).length === 0) {\n <ng-container\n [ngTemplateOutlet]=\"emptyTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n }\n @if (itemTemplate()) {\n @for (item of getOriginalItemsById(status.key); track item[keyField()]) {\n <div\n axDrag\n [dragData]=\"item\"\n class=\"{{ item.cssClass }}\"\n [dragStartDelay]=\"dragStartDelay()\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </div>\n }\n } @else {\n @for (item of getItemsById(status.key); track item.id) {\n <div\n axDrag\n [dragData]=\"item\"\n [dragCursor]=\"'grab'\"\n [dragStartDelay]=\"dragStartDelay()\"\n class=\"ax-kanban-item {{ item.cssClass }}\"\n [ngClass]=\"`ax-kanban-${item.priority ?? 'primary'}-periority`\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ax-heading>\n <ax-title>\n <span class=\"ax-kanban-truncate\">{{ item.title }}</span>\n @if (hasActions()) {\n <!-- <ax-icon\n class=\"ax-icon ax-icon-more-horizontal ax-kanban-action-icon\"\n (click)=\"handleActionClick($event, item)\"\n >\n </ax-icon> -->\n }\n </ax-title>\n <ax-subtitle>{{ item.description }}</ax-subtitle>\n </ax-heading>\n </div>\n }\n }\n @if (contentFooterTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"contentFooterTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </ax-content>\n @if (footerTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"footerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-kanban.mjs","sources":["../../../../packages/components/kanban/src/lib/kanban.component.ts","../../../../packages/components/kanban/src/lib/kanban.component.html","../../../../packages/components/kanban/src/acorex-components-kanban.ts"],"sourcesContent":["import { NXComponent } from '@acorex/cdk/common';\nimport { AXDragDirective, AXDropListDirective, AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';\nimport { AXDecoratorGenericComponent, AXDecoratorHeadingComponent } from '@acorex/components/decorators';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, input, output, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport {\n AXKanbanBeforeDropEvent,\n AXKanbanItem,\n AXKanbanMouseEvent,\n AXKanbanSortEvent,\n AXKanbanStatus,\n} from './kanban.class';\n\n@Component({\n selector: 'ax-kanban',\n templateUrl: './kanban.component.html',\n styleUrls: ['./kanban.component.compiled.css'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgClass,\n NgTemplateOutlet,\n AXDragDirective,\n AXDropListDirective,\n AXDecoratorGenericComponent,\n AXDecoratorHeadingComponent,\n // AXDecoratorIconComponent,\n AXTooltipDirective,\n ],\n})\nexport class AXKanbanComponent extends NXComponent {\n hasActions = input(false);\n dragStartDelay = input(0);\n statuses = input<AXKanbanStatus[]>([]);\n itemTemplate = input<TemplateRef<unknown>>();\n dataSource = input<AXKanbanItem[] | any[]>();\n\n keyField = input<string>('id');\n indexField = input<string>('index');\n titleField = input<string>('title');\n cssClassField = input<string>('cssClass');\n priorityField = input<string>('priority');\n statusKeyField = input<string>('statusKey');\n descriptionField = input<string>('description');\n emptyTemplate = input<TemplateRef<unknown>>();\n headerTemplate = input<TemplateRef<unknown>>();\n footerTemplate = input<TemplateRef<unknown>>();\n contentFooterTemplate = input<TemplateRef<unknown>>();\n tooltipTemplate = input<string | TemplateRef<unknown>>();\n\n onBeforeDrop = output<AXKanbanBeforeDropEvent>();\n onSortChanged = output<AXKanbanSortEvent>();\n onItemClick = output<AXKanbanMouseEvent>();\n onActionClick = output<AXKanbanMouseEvent>();\n onItemDblClick = output<AXKanbanMouseEvent>();\n onItemRightClick = output<AXKanbanMouseEvent>();\n\n protected items = computed<AXKanbanItem[]>(() => {\n // ... your excellent gap-filling index logic remains the same ...\n const dataSource = this.dataSource() || [];\n const mappedItems = dataSource.map<AXKanbanItem>((item: any) => ({\n id: item[this.keyField()],\n index: item[this.indexField()],\n title: item[this.titleField()],\n cssClass: item[this.cssClassField()],\n priority: item[this.priorityField()],\n statusKey: item[this.statusKeyField()],\n description: item[this.descriptionField()],\n }));\n\n const itemsByStatus = new Map<any, AXKanbanItem[]>();\n for (const item of mappedItems) {\n if (!itemsByStatus.has(item.statusKey)) {\n itemsByStatus.set(item.statusKey, []);\n }\n itemsByStatus.get(item.statusKey).push(item);\n }\n\n const finalProcessedItems: AXKanbanItem[] = [];\n for (const group of itemsByStatus.values()) {\n const correctlyIndexedItems: AXKanbanItem[] = [];\n const itemsToBeIndexed: AXKanbanItem[] = [];\n const takenIndices = new Set<number>();\n for (const item of group) {\n const hasValidIndex = item.index != null && typeof item.index === 'number' && !takenIndices.has(item.index);\n if (hasValidIndex) {\n takenIndices.add(item.index);\n correctlyIndexedItems.push(item);\n } else {\n itemsToBeIndexed.push(item);\n }\n }\n let currentIndex = 0;\n for (const item of itemsToBeIndexed) {\n while (takenIndices.has(currentIndex)) {\n currentIndex++;\n }\n item.index = currentIndex;\n currentIndex++;\n }\n const processedGroup = [...correctlyIndexedItems, ...itemsToBeIndexed];\n processedGroup.sort((a, b) => a.index - b.index);\n finalProcessedItems.push(...processedGroup);\n }\n return finalProcessedItems;\n });\n\n protected filteredStatuses = computed(() => this.statuses().sort((a, b) => a.index - b.index));\n\n /**\n * Handles a drop operation to reorder items or move them between statuses.\n * It uses the component's current rendered state (`this.items`) as the source\n * of truth, performs precise re-indexing, and emits a comprehensive event with\n * the updated data source.\n *\n * @param event AXDropListDroppedEvent - The drag-and-drop event including indices and container information.\n * @returns Promise<void>\n */\n async drop(event: AXDropListDroppedEvent): Promise<void> {\n const { item: droppedItemDirective, currentIndex, previousIndex, container, previousContainer } = event;\n\n // --- 1. Get identifiers and the item's original data ---\n const currentStatusKey = JSON.parse(container.element.id);\n const previousStatusKey = JSON.parse(previousContainer.element.id);\n const movedItemOriginalData = droppedItemDirective.dragData() as AXKanbanItem;\n\n if (!movedItemOriginalData) {\n console.warn('AXKanban: Dragged item has no [dragData]. Sort event cannot be emitted.');\n return;\n }\n\n // --- 2. Get the original item from dataSource ---\n const originalItemFromDataSource = this.dataSource().find(\n (item) => item[this.keyField()] === movedItemOriginalData.id,\n );\n\n if (!originalItemFromDataSource) {\n console.warn('AXKanban: Item not found in dataSource.');\n return;\n }\n\n // --- 3. Perform the move operation ---\n await this.performMove(\n originalItemFromDataSource,\n previousStatusKey,\n currentStatusKey,\n previousIndex,\n currentIndex,\n event.nativeEvent,\n );\n }\n\n /**\n * Programmatically move an item to a different status or reorder within the same status.\n * @param itemId The ID of the item to move (using keyField)\n * @param targetStatusKey The target status key to move the item to\n * @param targetIndex Optional target index within the target status. If not provided, item will be appended to the end.\n * @returns Promise<boolean> - true if the move was successful, false otherwise\n */\n async moveItem(itemId: any, targetStatusKey: any, targetIndex?: number): Promise<boolean> {\n const keyField = this.keyField();\n const originalItem = this.dataSource().find((item) => item[keyField] === itemId);\n\n if (!originalItem) {\n console.warn(`AXKanban: Item with id \"${itemId}\" not found in dataSource.`);\n return false;\n }\n\n // Get current status from dataSource\n const statusKeyField = this.statusKeyField();\n const previousStatusKey = originalItem[statusKeyField];\n\n // Get current index from the computed items state (more accurate than dataSource field)\n const currentItem = this.items().find((i) => i.id === itemId);\n const previousIndex = currentItem?.index ?? 0;\n\n // If target index is not provided, append to the end\n let currentIndex = targetIndex;\n if (currentIndex === undefined) {\n const targetStatusItems = this.items().filter((i) => i.statusKey === targetStatusKey);\n currentIndex = targetStatusItems.length;\n }\n\n // Perform the move\n return await this.performMove(originalItem, previousStatusKey, targetStatusKey, previousIndex, currentIndex, null);\n }\n\n /**\n * Programmatically reorder an item within the same status.\n * @param itemId The ID of the item to reorder (using keyField)\n * @param newIndex The new index position within the same status\n * @returns Promise<boolean> - true if the reorder was successful, false otherwise\n */\n async reorderItem(itemId: any, newIndex: number): Promise<boolean> {\n const keyField = this.keyField();\n const originalItem = this.dataSource().find((item) => item[keyField] === itemId);\n\n if (!originalItem) {\n console.warn(`AXKanban: Item with id \"${itemId}\" not found in dataSource.`);\n return false;\n }\n\n // Get current status from dataSource\n const statusKeyField = this.statusKeyField();\n const statusKey = originalItem[statusKeyField];\n\n // Get current index from the computed items state (more accurate than dataSource field)\n const currentItem = this.items().find((i) => i.id === itemId);\n const previousIndex = currentItem?.index ?? 0;\n\n // Perform the move (same status, different index)\n return await this.performMove(originalItem, statusKey, statusKey, previousIndex, newIndex, null);\n }\n\n /**\n * Programmatically move an item to a different status.\n * @param itemId The ID of the item to move (using keyField)\n * @param targetStatusKey The target status key to move the item to\n * @param targetIndex Optional target index within the target status. If not provided, item will be appended to the end.\n * @returns Promise<boolean> - true if the move was successful, false otherwise\n */\n async moveItemToStatus(itemId: any, targetStatusKey: any, targetIndex?: number): Promise<boolean> {\n return await this.moveItem(itemId, targetStatusKey, targetIndex);\n }\n\n /**\n * Core method that performs the move operation, handles re-indexing, and emits events.\n * This is used by both drag-and-drop operations and programmatic moves.\n *\n * @param originalItem The original item from dataSource that is being moved\n * @param previousStatusKey The status key the item is moving from\n * @param currentStatusKey The status key the item is moving to\n * @param previousIndex The index the item is moving from\n * @param currentIndex The index the item is moving to\n * @param nativeEvent The native mouse event (null for programmatic moves)\n * @returns Promise<boolean> - true if the move was successful, false otherwise\n */\n private async performMove(\n originalItem: any,\n previousStatusKey: any,\n currentStatusKey: any,\n previousIndex: number,\n currentIndex: number,\n nativeEvent: MouseEvent | null,\n ): Promise<boolean> {\n // --- 1. Emit beforeDrop event and check if drop should be canceled ---\n const shouldProceed = await this.emitBeforeDropEvent(\n originalItem,\n previousStatusKey,\n currentStatusKey,\n previousIndex,\n currentIndex,\n nativeEvent,\n );\n if (!shouldProceed) {\n return false;\n }\n\n // --- 2. Use the `items` computed property as the source of truth for the operation ---\n // This is the CRUCIAL FIX. We operate on the data as it was rendered.\n const currentItemsState = structuredClone(this.items());\n\n // --- 3. Perform the move operation based on the scenario ---\n if (previousStatusKey === currentStatusKey) {\n // --- Scenario A: Reordering within the same list ---\n const list = currentItemsState.filter((i) => i.statusKey === currentStatusKey);\n\n // Remove from the old position and insert into the new position\n const [movedItem] = list.splice(previousIndex, 1);\n list.splice(currentIndex, 0, movedItem);\n\n // Re-index only this modified list\n list.forEach((item, idx) => (item.index = idx));\n } else {\n // --- Scenario B: Moving to a different list ---\n const sourceList = currentItemsState.filter((i) => i.statusKey === previousStatusKey);\n const destList = currentItemsState.filter((i) => i.statusKey === currentStatusKey);\n\n // Remove from source list\n const [movedItem] = sourceList.splice(previousIndex, 1);\n\n // Update its status and add to destination list\n movedItem.statusKey = currentStatusKey;\n destList.splice(currentIndex, 0, movedItem);\n\n // Re-index both affected lists\n sourceList.forEach((item, idx) => (item.index = idx));\n destList.forEach((item, idx) => (item.index = idx));\n }\n\n // --- 4. Map the changes back to a new version of the original dataSource ---\n // This preserves any extra properties the user might have on their data objects.\n const keyField = this.keyField();\n const statusKeyField = this.statusKeyField();\n const indexField = this.indexField();\n\n const updatedItemsMap = new Map(currentItemsState.map((i) => [i.id, i]));\n const finalDataSource = structuredClone(this.dataSource());\n\n finalDataSource.forEach((originalItem) => {\n const updatedItem = updatedItemsMap.get(originalItem[keyField]);\n if (updatedItem) {\n originalItem[indexField] = updatedItem.index;\n originalItem[statusKeyField] = updatedItem.statusKey;\n }\n });\n\n const movedItemId = originalItem[keyField];\n const finalOriginalItemFromDataSource = finalDataSource.find((item) => item[keyField] === movedItemId);\n\n // --- 5. Emit the final, comprehensive event ---\n this.onSortChanged.emit({\n sender: this,\n nativeEvent: nativeEvent,\n // The original data object that was moved\n item: finalOriginalItemFromDataSource,\n // The complete, precisely re-indexed data source, ready for state update\n allItems: finalDataSource,\n currentIndex,\n previousIndex,\n currentStatusKey,\n previousStatusKey,\n });\n\n return true;\n }\n\n /**\n * Emit beforeDrop event and return whether to continue with the drop operation.\n * Supports both synchronous and asynchronous event handlers via the `wait()` method.\n * @param item The original item from dataSource that is being moved\n * @param previousStatusKey The status key the item is moving from\n * @param currentStatusKey The status key the item is moving to\n * @param previousIndex The index the item is moving from\n * @param currentIndex The index the item is moving to\n * @param nativeEvent The native mouse event (null for programmatic moves)\n * @returns Promise<boolean> - true if the drop should proceed, false if it should be canceled\n */\n private async emitBeforeDropEvent(\n item: any,\n previousStatusKey: any,\n currentStatusKey: any,\n previousIndex: number,\n currentIndex: number,\n nativeEvent: MouseEvent | null,\n ): Promise<boolean> {\n const pendingPromises: Promise<any>[] = [];\n\n const beforeDropEvent: AXKanbanBeforeDropEvent = {\n sender: this,\n nativeEvent,\n item,\n previousStatusKey,\n currentStatusKey,\n previousIndex,\n currentIndex,\n canceled: false,\n wait: (promise: Promise<any>) => {\n pendingPromises.push(promise);\n },\n };\n\n // Emit the event - handlers can call event.wait() to register async operations\n this.onBeforeDrop.emit(beforeDropEvent);\n\n // Wait for all registered async operations to complete\n if (pendingPromises.length > 0) {\n await Promise.all(pendingPromises);\n }\n\n // After all async operations complete, check if the drop was canceled\n return !beforeDropEvent.canceled;\n }\n\n protected getItemsById(key: any): AXKanbanItem[] {\n return this.items().filter((e) => e.statusKey === key);\n }\n\n protected getOriginalItemsById(key: any): any[] {\n return this.dataSource().filter((e) => e[this.statusKeyField()] === key);\n }\n\n protected stringify(value: any): string {\n return JSON.stringify(value);\n }\n\n protected handleActionClick(event: MouseEvent, item: AXKanbanItem) {\n const originalItemFromDataSource = this.dataSource().find(\n (originalItem) => originalItem[this.keyField()] === item.id,\n );\n this.onActionClick.emit({ item: originalItemFromDataSource, nativeEvent: event, sender: this });\n }\n\n protected handleClick(event: MouseEvent, item: AXKanbanItem) {\n const originalItemFromDataSource = this.dataSource().find(\n (originalItem) => originalItem[this.keyField()] === item.id,\n );\n this.onItemClick.emit({ item: originalItemFromDataSource, nativeEvent: event, sender: this });\n }\n\n protected handleDblClick(event: MouseEvent, item: AXKanbanItem) {\n const originalItemFromDataSource = this.dataSource().find(\n (originalItem) => originalItem[this.keyField()] === item.id,\n );\n this.onItemDblClick.emit({ item: originalItemFromDataSource, nativeEvent: event, sender: this });\n }\n\n protected handleRightClick(event: MouseEvent, item: AXKanbanItem) {\n const originalItemFromDataSource = this.dataSource().find(\n (originalItem) => originalItem[this.keyField()] === item.id,\n );\n this.onItemRightClick.emit({ item: originalItemFromDataSource, nativeEvent: event, sender: this });\n }\n}\n","@for (status of filteredStatuses(); track status.key) {\n <div class=\"ax-kanban-status {{ status.cssClass }}\">\n <ax-header>\n @if (headerTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"headerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n } @else {\n <ax-title>{{ status.title }}</ax-title>\n }\n </ax-header>\n <ax-content axDropList dropListGroup=\"kanban\" [id]=\"stringify(status.key)\" (dropListDropped)=\"drop($event)\">\n @if (emptyTemplate() && getOriginalItemsById(status.key).length === 0) {\n <ng-container\n [ngTemplateOutlet]=\"emptyTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n }\n @if (itemTemplate()) {\n @for (item of getOriginalItemsById(status.key); track item[keyField()]) {\n <div\n axDrag\n [dragData]=\"item\"\n class=\"{{ item.cssClass }}\"\n [dragStartDelay]=\"dragStartDelay()\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-container>\n </div>\n }\n } @else {\n @for (item of getItemsById(status.key); track item.id) {\n <div\n axDrag\n [dragData]=\"item\"\n [dragCursor]=\"'grab'\"\n [dragStartDelay]=\"dragStartDelay()\"\n class=\"ax-kanban-item {{ item.cssClass }}\"\n [ngClass]=\"`ax-kanban-${item.priority ?? 'primary'}-periority`\"\n [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n [axTooltip]=\"tooltipTemplate()\"\n [axTooltipContext]=\"item\"\n (click)=\"handleClick($event, item)\"\n (dblclick)=\"handleDblClick($event, item)\"\n (contextmenu)=\"handleRightClick($event, item)\"\n >\n <ax-heading>\n <ax-title>\n <span class=\"ax-kanban-truncate\">{{ item.title }}</span>\n @if (hasActions()) {\n <!-- <ax-icon\n class=\"ax-icon ax-icon-more-horizontal ax-kanban-action-icon\"\n (click)=\"handleActionClick($event, item)\"\n >\n </ax-icon> -->\n }\n </ax-title>\n <ax-subtitle>{{ item.description }}</ax-subtitle>\n </ax-heading>\n </div>\n }\n }\n @if (contentFooterTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"contentFooterTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </ax-content>\n @if (footerTemplate()) {\n <ax-footer>\n <ng-container\n [ngTemplateOutlet]=\"footerTemplate()\"\n [ngTemplateOutletContext]=\"{ $implicit: status }\"\n ></ng-container>\n </ax-footer>\n }\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -22,18 +22,18 @@ class AXKBDItemComponent extends NXComponent {
22
22
  capitalizeFirstLetter(text) {
23
23
  return text.charAt(0).toUpperCase() + text.slice(1);
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXKBDItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXKBDItemComponent, isStandalone: true, selector: "ax-kbd-item", inputs: { keys: { classPropertyName: "keys", publicName: "keys", isSignal: true, isRequired: false, transformFunction: null }, join: { classPropertyName: "join", publicName: "join", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { look: "lookChange" }, providers: [{ provide: AXComponent, useExisting: AXKBDItemComponent }], usesInheritance: true, ngImport: i0, template: "@let localKeys = keys();\n\n@if (typeof localKeys === 'string') {\n <kbd [class]=\"lookClass()\">\n @if (modifierKeys().includes(localKeys.toLocaleLowerCase())) {\n {{ capitalizeFirstLetter(localKeys) }}\n } @else {\n {{ localKeys.toLocaleUpperCase() }}\n }\n </kbd>\n} @else {\n @if (join() === 'split') {\n @for (key of localKeys; track $index) {\n <kbd [class]=\"lookClass()\">\n @if (modifierKeys().includes(key.toLocaleLowerCase())) {\n {{ capitalizeFirstLetter(key) }}\n } @else {\n {{ key.toLocaleUpperCase() }}\n }\n </kbd>\n @if ($index < localKeys.length - 1) {\n <ax-icon class=\"ax-icon ax-icon-plus\"></ax-icon>\n }\n }\n } @else {\n <kbd [class]=\"lookClass()\">\n @for (key of localKeys; track $index) {\n @if (modifierKeys().includes(key.toLocaleLowerCase())) {\n {{ capitalizeFirstLetter(key) }}\n } @else {\n {{ key.toLocaleUpperCase() }}\n }\n }\n </kbd>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXKBDItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXKBDItemComponent, isStandalone: true, selector: "ax-kbd-item", inputs: { keys: { classPropertyName: "keys", publicName: "keys", isSignal: true, isRequired: false, transformFunction: null }, join: { classPropertyName: "join", publicName: "join", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { look: "lookChange" }, providers: [{ provide: AXComponent, useExisting: AXKBDItemComponent }], usesInheritance: true, ngImport: i0, template: "@let localKeys = keys();\n\n@if (typeof localKeys === 'string') {\n <kbd [class]=\"lookClass()\">\n @if (modifierKeys().includes(localKeys.toLocaleLowerCase())) {\n <span class=\"ax-kbd-text\"> {{ capitalizeFirstLetter(localKeys) }}</span>\n } @else {\n <span class=\"ax-kbd-text\"> {{ localKeys.toLocaleUpperCase() }}</span>\n }\n </kbd>\n} @else {\n @if (join() === 'split') {\n @for (key of localKeys; track $index) {\n <kbd [class]=\"lookClass()\">\n @if (modifierKeys().includes(key.toLocaleLowerCase())) {\n <span class=\"ax-kbd-text\"> {{ capitalizeFirstLetter(key) }}</span>\n } @else {\n <span class=\"ax-kbd-text\"> {{ key.toLocaleUpperCase() }}</span>\n }\n </kbd>\n @if ($index < localKeys.length - 1) {\n <ax-icon class=\"ax-icon ax-icon-plus\"></ax-icon>\n }\n }\n } @else {\n <kbd [class]=\"lookClass()\">\n <div class=\"ax-kbd-inner-text\">\n @for (key of localKeys; track $index) {\n @if (modifierKeys().includes(key.toLocaleLowerCase())) {\n <span class=\"ax-kbd-text\"> {{ capitalizeFirstLetter(key) }}</span>\n } @else {\n <span class=\"ax-kbd-text\"> {{ key.toLocaleUpperCase() }}</span>\n }\n }\n </div>\n </kbd>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXKBDItemComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXKBDItemComponent, decorators: [{
29
29
  type: Component,
30
- args: [{ selector: 'ax-kbd-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXKBDItemComponent }], imports: [AXDecoratorModule], template: "@let localKeys = keys();\n\n@if (typeof localKeys === 'string') {\n <kbd [class]=\"lookClass()\">\n @if (modifierKeys().includes(localKeys.toLocaleLowerCase())) {\n {{ capitalizeFirstLetter(localKeys) }}\n } @else {\n {{ localKeys.toLocaleUpperCase() }}\n }\n </kbd>\n} @else {\n @if (join() === 'split') {\n @for (key of localKeys; track $index) {\n <kbd [class]=\"lookClass()\">\n @if (modifierKeys().includes(key.toLocaleLowerCase())) {\n {{ capitalizeFirstLetter(key) }}\n } @else {\n {{ key.toLocaleUpperCase() }}\n }\n </kbd>\n @if ($index < localKeys.length - 1) {\n <ax-icon class=\"ax-icon ax-icon-plus\"></ax-icon>\n }\n }\n } @else {\n <kbd [class]=\"lookClass()\">\n @for (key of localKeys; track $index) {\n @if (modifierKeys().includes(key.toLocaleLowerCase())) {\n {{ capitalizeFirstLetter(key) }}\n } @else {\n {{ key.toLocaleUpperCase() }}\n }\n }\n </kbd>\n }\n}\n" }]
30
+ args: [{ selector: 'ax-kbd-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXKBDItemComponent }], imports: [AXDecoratorModule], template: "@let localKeys = keys();\n\n@if (typeof localKeys === 'string') {\n <kbd [class]=\"lookClass()\">\n @if (modifierKeys().includes(localKeys.toLocaleLowerCase())) {\n <span class=\"ax-kbd-text\"> {{ capitalizeFirstLetter(localKeys) }}</span>\n } @else {\n <span class=\"ax-kbd-text\"> {{ localKeys.toLocaleUpperCase() }}</span>\n }\n </kbd>\n} @else {\n @if (join() === 'split') {\n @for (key of localKeys; track $index) {\n <kbd [class]=\"lookClass()\">\n @if (modifierKeys().includes(key.toLocaleLowerCase())) {\n <span class=\"ax-kbd-text\"> {{ capitalizeFirstLetter(key) }}</span>\n } @else {\n <span class=\"ax-kbd-text\"> {{ key.toLocaleUpperCase() }}</span>\n }\n </kbd>\n @if ($index < localKeys.length - 1) {\n <ax-icon class=\"ax-icon ax-icon-plus\"></ax-icon>\n }\n }\n } @else {\n <kbd [class]=\"lookClass()\">\n <div class=\"ax-kbd-inner-text\">\n @for (key of localKeys; track $index) {\n @if (modifierKeys().includes(key.toLocaleLowerCase())) {\n <span class=\"ax-kbd-text\"> {{ capitalizeFirstLetter(key) }}</span>\n } @else {\n <span class=\"ax-kbd-text\"> {{ key.toLocaleUpperCase() }}</span>\n }\n }\n </div>\n </kbd>\n }\n}\n" }]
31
31
  }], propDecorators: { keys: [{ type: i0.Input, args: [{ isSignal: true, alias: "keys", required: false }] }], join: [{ type: i0.Input, args: [{ isSignal: true, alias: "join", required: false }] }], look: [{ type: i0.Input, args: [{ isSignal: true, alias: "look", required: false }] }, { type: i0.Output, args: ["lookChange"] }] } });
32
32
 
33
33
  class AXKBDComponent extends NXComponent {
34
34
  constructor() {
35
35
  super(...arguments);
36
- this.kbdItem = contentChildren(AXKBDItemComponent, ...(ngDevMode ? [{ debugName: "kbdItem", descendants: true }] : [{ descendants: true }]));
36
+ this.kbdItem = contentChildren(AXKBDItemComponent, { ...(ngDevMode ? { debugName: "kbdItem" } : {}), descendants: true });
37
37
  this.look = input(null, ...(ngDevMode ? [{ debugName: "look" }] : []));
38
38
  this.#eff = effect(() => {
39
39
  if (!this.look())
@@ -44,12 +44,12 @@ class AXKBDComponent extends NXComponent {
44
44
  }, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
45
45
  }
46
46
  #eff;
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXKBDComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.15", type: AXKBDComponent, isStandalone: true, selector: "ax-kbd", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXComponent, useExisting: AXKBDComponent }], queries: [{ propertyName: "kbdItem", predicate: AXKBDItemComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-kbd-item\"></ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading:initial;--tw-font-weight:initial}}}ax-kbd{gap:calc(var(--spacing,.25rem)*4);--tw-leading:var(--leading-normal,1.5);line-height:var(--leading-normal,1.5);-webkit-user-select:none;user-select:none;display:flex}ax-kbd:where(.dark,.dark *){color:color-mix(in srgb,rgba(var(--ax-sys-color-on-lighter-surface))85%,transparent)}@supports (color:color-mix(in lab,red,red)){ax-kbd:where(.dark,.dark *){color:color-mix(in oklab,var(--color-on-lighter,rgba(var(--ax-sys-color-on-lighter-surface)))85%,transparent)}}ax-kbd ax-kbd-item{align-items:center;gap:calc(var(--spacing,.25rem)*1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);display:flex}ax-kbd ax-kbd-item kbd{height:calc(var(--spacing,.25rem)*7);min-width:calc(var(--spacing,.25rem)*7);border-radius:var(--radius-default);border-radius:var(--radius-default,var(--ax-sys-border-radius));padding-inline:calc(var(--spacing,.25rem)*1.5);--tw-font-weight:var(--ax-sys-font-family);font-weight:var(--ax-sys-font-family);justify-content:center;align-items:center;display:flex}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXKBDComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.3", type: AXKBDComponent, isStandalone: true, selector: "ax-kbd", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXComponent, useExisting: AXKBDComponent }], queries: [{ propertyName: "kbdItem", predicate: AXKBDItemComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-kbd-item\"></ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading:initial;--tw-font-weight:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}ax-kbd{gap:calc(var(--spacing,.25rem) * 4);--tw-leading:var(--leading-normal,1.5);line-height:var(--leading-normal,1.5);-webkit-user-select:none;user-select:none;display:flex}ax-kbd ax-kbd-item{align-items:center;gap:calc(var(--spacing,.25rem) * 1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);display:flex}ax-kbd ax-kbd-item .ax-kbd-text{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-kbd ax-kbd-item .ax-kbd-inner-text{gap:calc(var(--spacing,.25rem) * 1);display:flex}ax-kbd ax-kbd-item kbd{height:calc(var(--spacing,.25rem) * 5);min-width:calc(var(--spacing,.25rem) * 5);padding-inline:calc(var(--spacing,.25rem) * 1);--tw-font-weight:var(--ax-sys-font-family);font-weight:var(--ax-sys-font-family);border-radius:6px;justify-content:center;align-items:center;display:flex}ax-kbd ax-kbd-item kbd.ax-fill{border-style:var(--tw-border-style);background-color:rgba(var(--ax-comp-kbd-item-bg-color,var(--ax-sys-color-surface)));color:rgba(var(--ax-sys-color-on-lightest-surface),.74);border-width:1px;border-color:#0000}ax-kbd ax-kbd-item kbd.ax-solid{border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-comp-kbd-item-border-color,var(--ax-sys-color-dark-surface)));background-color:rgba(var(--ax-comp-kbd-item-bg-color,var(--ax-sys-color-lightest-surface)));color:rgba(var(--ax-sys-color-on-lightest-surface),.74);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXKBDComponent, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXKBDComponent, decorators: [{
51
51
  type: Component,
52
- args: [{ selector: 'ax-kbd', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXKBDComponent }], template: "<ng-content select=\"ax-kbd-item\"></ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading:initial;--tw-font-weight:initial}}}ax-kbd{gap:calc(var(--spacing,.25rem)*4);--tw-leading:var(--leading-normal,1.5);line-height:var(--leading-normal,1.5);-webkit-user-select:none;user-select:none;display:flex}ax-kbd:where(.dark,.dark *){color:color-mix(in srgb,rgba(var(--ax-sys-color-on-lighter-surface))85%,transparent)}@supports (color:color-mix(in lab,red,red)){ax-kbd:where(.dark,.dark *){color:color-mix(in oklab,var(--color-on-lighter,rgba(var(--ax-sys-color-on-lighter-surface)))85%,transparent)}}ax-kbd ax-kbd-item{align-items:center;gap:calc(var(--spacing,.25rem)*1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);display:flex}ax-kbd ax-kbd-item kbd{height:calc(var(--spacing,.25rem)*7);min-width:calc(var(--spacing,.25rem)*7);border-radius:var(--radius-default);border-radius:var(--radius-default,var(--ax-sys-border-radius));padding-inline:calc(var(--spacing,.25rem)*1.5);--tw-font-weight:var(--ax-sys-font-family);font-weight:var(--ax-sys-font-family);justify-content:center;align-items:center;display:flex}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
52
+ args: [{ selector: 'ax-kbd', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: AXComponent, useExisting: AXKBDComponent }], template: "<ng-content select=\"ax-kbd-item\"></ng-content>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading:initial;--tw-font-weight:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}ax-kbd{gap:calc(var(--spacing,.25rem) * 4);--tw-leading:var(--leading-normal,1.5);line-height:var(--leading-normal,1.5);-webkit-user-select:none;user-select:none;display:flex}ax-kbd ax-kbd-item{align-items:center;gap:calc(var(--spacing,.25rem) * 1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);display:flex}ax-kbd ax-kbd-item .ax-kbd-text{--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-kbd ax-kbd-item .ax-kbd-inner-text{gap:calc(var(--spacing,.25rem) * 1);display:flex}ax-kbd ax-kbd-item kbd{height:calc(var(--spacing,.25rem) * 5);min-width:calc(var(--spacing,.25rem) * 5);padding-inline:calc(var(--spacing,.25rem) * 1);--tw-font-weight:var(--ax-sys-font-family);font-weight:var(--ax-sys-font-family);border-radius:6px;justify-content:center;align-items:center;display:flex}ax-kbd ax-kbd-item kbd.ax-fill{border-style:var(--tw-border-style);background-color:rgba(var(--ax-comp-kbd-item-bg-color,var(--ax-sys-color-surface)));color:rgba(var(--ax-sys-color-on-lightest-surface),.74);border-width:1px;border-color:#0000}ax-kbd ax-kbd-item kbd.ax-solid{border-style:var(--tw-border-style);border-width:1px;border-color:rgba(var(--ax-comp-kbd-item-border-color,var(--ax-sys-color-dark-surface)));background-color:rgba(var(--ax-comp-kbd-item-bg-color,var(--ax-sys-color-lightest-surface)));color:rgba(var(--ax-sys-color-on-lightest-surface),.74);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"] }]
53
53
  }], propDecorators: { kbdItem: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => AXKBDItemComponent), { ...{ descendants: true }, isSignal: true }] }], look: [{ type: i0.Input, args: [{ isSignal: true, alias: "look", required: false }] }] } });
54
54
 
55
55
  /**