@nocobase/app-plugin-projects 0.1.0-beta.2 → 0.1.0-beta.20

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 (774) hide show
  1. package/CHANGELOG.md +438 -0
  2. package/README.md +83 -106
  3. package/dist/client/api/changed-issues.d.ts +12 -0
  4. package/dist/client/api/changed-issues.d.ts.map +1 -0
  5. package/dist/client/api/changed-issues.js +30 -0
  6. package/dist/client/api/changed-issues.js.map +1 -0
  7. package/dist/client/api/client.d.ts +8 -25
  8. package/dist/client/api/client.d.ts.map +1 -1
  9. package/dist/client/api/client.js +12 -51
  10. package/dist/client/api/client.js.map +1 -1
  11. package/dist/client/api/invalidate-queries.d.ts +7 -0
  12. package/dist/client/api/invalidate-queries.d.ts.map +1 -0
  13. package/dist/client/api/invalidate-queries.js +65 -0
  14. package/dist/client/api/invalidate-queries.js.map +1 -0
  15. package/dist/client/api/keys.d.ts +4 -10
  16. package/dist/client/api/keys.d.ts.map +1 -1
  17. package/dist/client/api/keys.js +4 -31
  18. package/dist/client/api/keys.js.map +1 -1
  19. package/dist/client/components/attachment-list.d.ts +77 -0
  20. package/dist/client/components/attachment-list.d.ts.map +1 -0
  21. package/dist/client/components/attachment-list.js +147 -0
  22. package/dist/client/components/attachment-list.js.map +1 -0
  23. package/dist/client/components/pm-badges.d.ts +1 -1
  24. package/dist/client/components/pm-badges.d.ts.map +1 -1
  25. package/dist/client/components/pm-description-image.d.ts +4 -0
  26. package/dist/client/components/pm-description-image.d.ts.map +1 -0
  27. package/dist/client/components/pm-description-image.js +61 -0
  28. package/dist/client/components/pm-description-image.js.map +1 -0
  29. package/dist/client/components/pm-executor-select.d.ts +3 -1
  30. package/dist/client/components/pm-executor-select.d.ts.map +1 -1
  31. package/dist/client/components/pm-executor-select.js +6 -1
  32. package/dist/client/components/pm-executor-select.js.map +1 -1
  33. package/dist/client/components/pm-markdown.d.ts +1 -1
  34. package/dist/client/components/pm-markdown.d.ts.map +1 -1
  35. package/dist/client/components/pm-markdown.js +28 -15
  36. package/dist/client/components/pm-markdown.js.map +1 -1
  37. package/dist/client/components/pm-rich-text-editor.d.ts +4 -1
  38. package/dist/client/components/pm-rich-text-editor.d.ts.map +1 -1
  39. package/dist/client/components/pm-rich-text-editor.js +44 -4
  40. package/dist/client/components/pm-rich-text-editor.js.map +1 -1
  41. package/dist/client/components/pm-rich-text-extensions.d.ts +1 -0
  42. package/dist/client/components/pm-rich-text-extensions.d.ts.map +1 -1
  43. package/dist/client/components/pm-rich-text-extensions.js +2 -0
  44. package/dist/client/components/pm-rich-text-extensions.js.map +1 -1
  45. package/dist/client/components/ui/radio-group.d.ts +7 -0
  46. package/dist/client/components/ui/radio-group.d.ts.map +1 -0
  47. package/dist/client/components/ui/radio-group.js +12 -0
  48. package/dist/client/components/ui/radio-group.js.map +1 -0
  49. package/dist/client/components/ui/spinner.d.ts.map +1 -1
  50. package/dist/client/components/ui/spinner.js +3 -2
  51. package/dist/client/components/ui/spinner.js.map +1 -1
  52. package/dist/client/config.d.ts +0 -2
  53. package/dist/client/config.d.ts.map +1 -1
  54. package/dist/client/config.js +1 -5
  55. package/dist/client/config.js.map +1 -1
  56. package/dist/client/hooks/use-attachment-uploads.d.ts +2 -2
  57. package/dist/client/hooks/use-attachment-uploads.d.ts.map +1 -1
  58. package/dist/client/hooks/use-attachment-uploads.js +28 -13
  59. package/dist/client/hooks/use-attachment-uploads.js.map +1 -1
  60. package/dist/client/hooks/use-notify.d.ts +3 -0
  61. package/dist/client/hooks/use-notify.d.ts.map +1 -1
  62. package/dist/client/hooks/use-notify.js +59 -6
  63. package/dist/client/hooks/use-notify.js.map +1 -1
  64. package/dist/client/issues.d.ts +3 -5
  65. package/dist/client/issues.d.ts.map +1 -1
  66. package/dist/client/issues.js +3 -4
  67. package/dist/client/issues.js.map +1 -1
  68. package/dist/client/kit/executor-presentation.d.ts +15 -0
  69. package/dist/client/kit/executor-presentation.d.ts.map +1 -0
  70. package/dist/client/kit/executor-presentation.js +4 -0
  71. package/dist/client/kit/executor-presentation.js.map +1 -0
  72. package/dist/client/kit/intake-draft.d.ts +21 -0
  73. package/dist/client/kit/intake-draft.d.ts.map +1 -0
  74. package/dist/client/kit/intake-draft.js +20 -0
  75. package/dist/client/kit/intake-draft.js.map +1 -0
  76. package/dist/client/kit/issue-creation.d.ts +4 -0
  77. package/dist/client/kit/issue-creation.d.ts.map +1 -0
  78. package/dist/client/kit/issue-creation.js +4 -0
  79. package/dist/client/kit/issue-creation.js.map +1 -0
  80. package/dist/client/kit/plans/lookup.d.ts +2 -2
  81. package/dist/client/kit/plans/lookup.js +3 -3
  82. package/dist/client/kit/plans/lookup.js.map +1 -1
  83. package/dist/client/kit/plans/plan-confirm.d.ts.map +1 -1
  84. package/dist/client/kit/plans/plan-confirm.js +2 -2
  85. package/dist/client/kit/plans/plan-confirm.js.map +1 -1
  86. package/dist/client/kit/plans/plan-row.js +2 -2
  87. package/dist/client/kit/plans/plan-row.js.map +1 -1
  88. package/dist/client/kit.d.ts +9 -9
  89. package/dist/client/kit.d.ts.map +1 -1
  90. package/dist/client/kit.js +9 -9
  91. package/dist/client/kit.js.map +1 -1
  92. package/dist/client/lib/format.d.ts.map +1 -1
  93. package/dist/client/lib/format.js +14 -2
  94. package/dist/client/lib/format.js.map +1 -1
  95. package/dist/client/lib/kinds.d.ts +3 -29
  96. package/dist/client/lib/kinds.d.ts.map +1 -1
  97. package/dist/client/lib/kinds.js +7 -46
  98. package/dist/client/lib/kinds.js.map +1 -1
  99. package/dist/client/lib/status-events.d.ts +21 -0
  100. package/dist/client/lib/status-events.d.ts.map +1 -0
  101. package/dist/client/lib/status-events.js +31 -0
  102. package/dist/client/lib/status-events.js.map +1 -0
  103. package/dist/client/lib/status.d.ts +5 -7
  104. package/dist/client/lib/status.d.ts.map +1 -1
  105. package/dist/client/lib/status.js +5 -7
  106. package/dist/client/lib/status.js.map +1 -1
  107. package/dist/client/locales/de-DE.d.ts +5 -0
  108. package/dist/client/locales/de-DE.d.ts.map +1 -0
  109. package/dist/client/locales/de-DE.js +1327 -0
  110. package/dist/client/locales/de-DE.js.map +1 -0
  111. package/dist/client/locales/en-US.d.ts +17 -252
  112. package/dist/client/locales/en-US.d.ts.map +1 -1
  113. package/dist/client/locales/en-US.js +21 -252
  114. package/dist/client/locales/en-US.js.map +1 -1
  115. package/dist/client/locales/es-ES.d.ts +5 -0
  116. package/dist/client/locales/es-ES.d.ts.map +1 -0
  117. package/dist/client/locales/es-ES.js +1341 -0
  118. package/dist/client/locales/es-ES.js.map +1 -0
  119. package/dist/client/locales/fr-FR.d.ts +5 -0
  120. package/dist/client/locales/fr-FR.d.ts.map +1 -0
  121. package/dist/client/locales/fr-FR.js +1341 -0
  122. package/dist/client/locales/fr-FR.js.map +1 -0
  123. package/dist/client/locales/id-ID.d.ts +5 -0
  124. package/dist/client/locales/id-ID.d.ts.map +1 -0
  125. package/dist/client/locales/id-ID.js +1327 -0
  126. package/dist/client/locales/id-ID.js.map +1 -0
  127. package/dist/client/locales/index.d.ts.map +1 -1
  128. package/dist/client/locales/index.js +8 -0
  129. package/dist/client/locales/index.js.map +1 -1
  130. package/dist/client/locales/ja-JP.d.ts +5 -0
  131. package/dist/client/locales/ja-JP.d.ts.map +1 -0
  132. package/dist/client/locales/ja-JP.js +1327 -0
  133. package/dist/client/locales/ja-JP.js.map +1 -0
  134. package/dist/client/locales/plans.en-US.js +1 -1
  135. package/dist/client/locales/plans.en-US.js.map +1 -1
  136. package/dist/client/locales/plans.zh-CN.js +1 -1
  137. package/dist/client/locales/plans.zh-CN.js.map +1 -1
  138. package/dist/client/locales/pt-BR.d.ts +5 -0
  139. package/dist/client/locales/pt-BR.d.ts.map +1 -0
  140. package/dist/client/locales/pt-BR.js +1341 -0
  141. package/dist/client/locales/pt-BR.js.map +1 -0
  142. package/dist/client/locales/vi-VN.d.ts +5 -0
  143. package/dist/client/locales/vi-VN.d.ts.map +1 -0
  144. package/dist/client/locales/vi-VN.js +1327 -0
  145. package/dist/client/locales/vi-VN.js.map +1 -0
  146. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  147. package/dist/client/locales/zh-CN.js +22 -245
  148. package/dist/client/locales/zh-CN.js.map +1 -1
  149. package/dist/client/locales/zh-TW.d.ts +5 -0
  150. package/dist/client/locales/zh-TW.d.ts.map +1 -0
  151. package/dist/client/locales/zh-TW.js +1327 -0
  152. package/dist/client/locales/zh-TW.js.map +1 -0
  153. package/dist/client/pages/config/members/invitations-section.d.ts.map +1 -1
  154. package/dist/client/pages/config/members/invitations-section.js +34 -12
  155. package/dist/client/pages/config/members/invitations-section.js.map +1 -1
  156. package/dist/client/pages/config/members/invite-dialog.d.ts +5 -4
  157. package/dist/client/pages/config/members/invite-dialog.d.ts.map +1 -1
  158. package/dist/client/pages/config/members/invite-dialog.js +18 -17
  159. package/dist/client/pages/config/members/invite-dialog.js.map +1 -1
  160. package/dist/client/pages/intake/intake-files.d.ts.map +1 -1
  161. package/dist/client/pages/intake/intake-files.js +38 -2
  162. package/dist/client/pages/intake/intake-files.js.map +1 -1
  163. package/dist/client/pages/intake/intake-panel.d.ts.map +1 -1
  164. package/dist/client/pages/intake/intake-panel.js +19 -7
  165. package/dist/client/pages/intake/intake-panel.js.map +1 -1
  166. package/dist/client/pages/intake/use-intake-ai.d.ts +1 -1
  167. package/dist/client/pages/intake/use-intake-ai.d.ts.map +1 -1
  168. package/dist/client/pages/intake/use-intake-ai.js +3 -2
  169. package/dist/client/pages/intake/use-intake-ai.js.map +1 -1
  170. package/dist/client/pages/intake/use-intake-uploads.d.ts.map +1 -1
  171. package/dist/client/pages/intake/use-intake-uploads.js +10 -3
  172. package/dist/client/pages/intake/use-intake-uploads.js.map +1 -1
  173. package/dist/client/pages/issues/board/board-model.d.ts +1 -1
  174. package/dist/client/pages/issues/board/board-model.js +1 -1
  175. package/dist/client/pages/issues/board/use-board-move.d.ts +2 -8
  176. package/dist/client/pages/issues/board/use-board-move.d.ts.map +1 -1
  177. package/dist/client/pages/issues/board/use-board-move.js +5 -42
  178. package/dist/client/pages/issues/board/use-board-move.js.map +1 -1
  179. package/dist/client/pages/issues/detail/new-subtask.d.ts +0 -1
  180. package/dist/client/pages/issues/detail/new-subtask.d.ts.map +1 -1
  181. package/dist/client/pages/issues/detail/new-subtask.js +10 -31
  182. package/dist/client/pages/issues/detail/new-subtask.js.map +1 -1
  183. package/dist/client/pages/issues/detail/subtask-model.d.ts +1 -1
  184. package/dist/client/pages/issues/detail/subtask-model.js +1 -1
  185. package/dist/client/pages/issues/detail/use-confirmed-update.d.ts +4 -10
  186. package/dist/client/pages/issues/detail/use-confirmed-update.d.ts.map +1 -1
  187. package/dist/client/pages/issues/detail/use-confirmed-update.js +6 -42
  188. package/dist/client/pages/issues/detail/use-confirmed-update.js.map +1 -1
  189. package/dist/client/pages/issues/detail/use-issue-activity.d.ts.map +1 -1
  190. package/dist/client/pages/issues/detail/use-issue-activity.js +56 -10
  191. package/dist/client/pages/issues/detail/use-issue-activity.js.map +1 -1
  192. package/dist/client/pages/issues/detail/use-issue-page.d.ts +0 -4
  193. package/dist/client/pages/issues/detail/use-issue-page.d.ts.map +1 -1
  194. package/dist/client/pages/issues/detail/use-issue-page.js +0 -14
  195. package/dist/client/pages/issues/detail/use-issue-page.js.map +1 -1
  196. package/dist/client/pages/issues/detail/use-issue-update.d.ts +2 -2
  197. package/dist/client/pages/issues/detail/use-issue-update.d.ts.map +1 -1
  198. package/dist/client/pages/issues/detail/use-issue-update.js +8 -8
  199. package/dist/client/pages/issues/detail/use-issue-update.js.map +1 -1
  200. package/dist/client/pages/issues/detail/use-older-activities.d.ts +1 -1
  201. package/dist/client/pages/issues/detail/use-older-activities.d.ts.map +1 -1
  202. package/dist/client/pages/issues/detail/use-older-activities.js +7 -24
  203. package/dist/client/pages/issues/detail/use-older-activities.js.map +1 -1
  204. package/dist/client/pages/issues/detail/use-older-pages.d.ts +14 -0
  205. package/dist/client/pages/issues/detail/use-older-pages.d.ts.map +1 -0
  206. package/dist/client/pages/issues/detail/use-older-pages.js +86 -0
  207. package/dist/client/pages/issues/detail/use-older-pages.js.map +1 -0
  208. package/dist/client/pages/issues/detail/use-older-threads.d.ts +1 -1
  209. package/dist/client/pages/issues/detail/use-older-threads.d.ts.map +1 -1
  210. package/dist/client/pages/issues/detail/use-older-threads.js +7 -23
  211. package/dist/client/pages/issues/detail/use-older-threads.js.map +1 -1
  212. package/dist/client/pages/issues/filters.d.ts +1 -1
  213. package/dist/client/pages/issues/filters.d.ts.map +1 -1
  214. package/dist/client/pages/issues/filters.js +2 -0
  215. package/dist/client/pages/issues/filters.js.map +1 -1
  216. package/dist/client/pages/issues/new-issue-button.d.ts.map +1 -1
  217. package/dist/client/pages/issues/new-issue-button.js +1 -1
  218. package/dist/client/pages/issues/new-issue-button.js.map +1 -1
  219. package/dist/client/pages/issues/new-issue-form.d.ts +13 -8
  220. package/dist/client/pages/issues/new-issue-form.d.ts.map +1 -1
  221. package/dist/client/pages/issues/new-issue-form.js +87 -83
  222. package/dist/client/pages/issues/new-issue-form.js.map +1 -1
  223. package/dist/client/pages/issues/new.d.ts.map +1 -1
  224. package/dist/client/pages/issues/new.js +19 -12
  225. package/dist/client/pages/issues/new.js.map +1 -1
  226. package/dist/client/pages/issues/use-executor-options.d.ts +3 -2
  227. package/dist/client/pages/issues/use-executor-options.d.ts.map +1 -1
  228. package/dist/client/pages/issues/use-executor-options.js +5 -23
  229. package/dist/client/pages/issues/use-executor-options.js.map +1 -1
  230. package/dist/client/pages/my-issues/my-issues-model.d.ts +2 -5
  231. package/dist/client/pages/my-issues/my-issues-model.d.ts.map +1 -1
  232. package/dist/client/pages/my-issues/my-issues-model.js +6 -7
  233. package/dist/client/pages/my-issues/my-issues-model.js.map +1 -1
  234. package/dist/client/pages/projects/detail/use-project-page.d.ts +4 -26
  235. package/dist/client/pages/projects/detail/use-project-page.d.ts.map +1 -1
  236. package/dist/client/pages/projects/detail/use-project-page.js +7 -53
  237. package/dist/client/pages/projects/detail/use-project-page.js.map +1 -1
  238. package/dist/client/pages/projects/new.d.ts +1 -1
  239. package/dist/client/pages/projects/new.d.ts.map +1 -1
  240. package/dist/client/pages/projects/new.js +3 -7
  241. package/dist/client/pages/projects/new.js.map +1 -1
  242. package/dist/client/plugin.d.ts +3 -0
  243. package/dist/client/plugin.d.ts.map +1 -1
  244. package/dist/client/plugin.js +8 -1
  245. package/dist/client/plugin.js.map +1 -1
  246. package/dist/client/projects.d.ts +2 -2
  247. package/dist/client/projects.d.ts.map +1 -1
  248. package/dist/client/projects.js +2 -2
  249. package/dist/client/projects.js.map +1 -1
  250. package/dist/client/providers/query-provider.d.ts.map +1 -1
  251. package/dist/client/providers/query-provider.js +66 -28
  252. package/dist/client/providers/query-provider.js.map +1 -1
  253. package/dist/database/migrations/.manifest.json +16 -0
  254. package/dist/database/migrations/202610110001_pm_issue_graph_revision.d.ts +4 -0
  255. package/dist/database/migrations/202610110001_pm_issue_graph_revision.d.ts.map +1 -0
  256. package/dist/database/migrations/202610110001_pm_issue_graph_revision.js +20 -0
  257. package/dist/database/migrations/202610110001_pm_issue_graph_revision.js.map +1 -0
  258. package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts +4 -0
  259. package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts.map +1 -0
  260. package/dist/database/migrations/202610240010_pm_fixed_statuses.js +189 -0
  261. package/dist/database/migrations/202610240010_pm_fixed_statuses.js.map +1 -0
  262. package/dist/database/migrations/202610240011_pm_issue_progress.d.ts +4 -0
  263. package/dist/database/migrations/202610240011_pm_issue_progress.d.ts.map +1 -0
  264. package/dist/database/migrations/202610240011_pm_issue_progress.js +19 -0
  265. package/dist/database/migrations/202610240011_pm_issue_progress.js.map +1 -0
  266. package/dist/database/migrations/202610240012_pm_issue_acceptance.d.ts +4 -0
  267. package/dist/database/migrations/202610240012_pm_issue_acceptance.d.ts.map +1 -0
  268. package/dist/database/migrations/202610240012_pm_issue_acceptance.js +17 -0
  269. package/dist/database/migrations/202610240012_pm_issue_acceptance.js.map +1 -0
  270. package/dist/server/access/viewer.d.ts +3 -0
  271. package/dist/server/access/viewer.d.ts.map +1 -1
  272. package/dist/server/access/viewer.js.map +1 -1
  273. package/dist/server/composition.d.ts +11 -17
  274. package/dist/server/composition.d.ts.map +1 -1
  275. package/dist/server/composition.js +15 -58
  276. package/dist/server/composition.js.map +1 -1
  277. package/dist/server/domains/attachments/attachment.routes.d.ts.map +1 -1
  278. package/dist/server/domains/attachments/attachment.routes.js +13 -1
  279. package/dist/server/domains/attachments/attachment.routes.js.map +1 -1
  280. package/dist/server/domains/attachments/attachment.service.d.ts +3 -1
  281. package/dist/server/domains/attachments/attachment.service.d.ts.map +1 -1
  282. package/dist/server/domains/attachments/attachment.service.js +36 -2
  283. package/dist/server/domains/attachments/attachment.service.js.map +1 -1
  284. package/dist/server/domains/attachments/attachment.store.d.ts +5 -0
  285. package/dist/server/domains/attachments/attachment.store.d.ts.map +1 -1
  286. package/dist/server/domains/attachments/attachment.store.js +27 -0
  287. package/dist/server/domains/attachments/attachment.store.js.map +1 -1
  288. package/dist/server/domains/comments/comment.queries.d.ts +42 -8
  289. package/dist/server/domains/comments/comment.queries.d.ts.map +1 -1
  290. package/dist/server/domains/comments/comment.queries.js +69 -8
  291. package/dist/server/domains/comments/comment.queries.js.map +1 -1
  292. package/dist/server/domains/comments/comment.routes.d.ts +1 -1
  293. package/dist/server/domains/comments/comment.routes.js +4 -4
  294. package/dist/server/domains/comments/comment.routes.js.map +1 -1
  295. package/dist/server/domains/comments/comment.service.d.ts +2 -2
  296. package/dist/server/domains/comments/comment.service.d.ts.map +1 -1
  297. package/dist/server/domains/comments/comment.service.js +18 -10
  298. package/dist/server/domains/comments/comment.service.js.map +1 -1
  299. package/dist/server/domains/comments/comment.store.d.ts +22 -1
  300. package/dist/server/domains/comments/comment.store.d.ts.map +1 -1
  301. package/dist/server/domains/comments/comment.store.js +65 -2
  302. package/dist/server/domains/comments/comment.store.js.map +1 -1
  303. package/dist/server/domains/comments/index.d.ts +1 -1
  304. package/dist/server/domains/comments/index.d.ts.map +1 -1
  305. package/dist/server/domains/comments/index.js.map +1 -1
  306. package/dist/server/domains/comments/ports.d.ts +7 -2
  307. package/dist/server/domains/comments/ports.d.ts.map +1 -1
  308. package/dist/server/domains/invitations/invitation.routes.d.ts +2 -1
  309. package/dist/server/domains/invitations/invitation.routes.d.ts.map +1 -1
  310. package/dist/server/domains/invitations/invitation.routes.js +27 -10
  311. package/dist/server/domains/invitations/invitation.routes.js.map +1 -1
  312. package/dist/server/domains/invitations/invitation.service.d.ts +1 -1
  313. package/dist/server/domains/invitations/invitation.service.d.ts.map +1 -1
  314. package/dist/server/domains/invitations/invitation.service.js +19 -3
  315. package/dist/server/domains/invitations/invitation.service.js.map +1 -1
  316. package/dist/server/domains/issues/index.d.ts +4 -4
  317. package/dist/server/domains/issues/index.d.ts.map +1 -1
  318. package/dist/server/domains/issues/index.js +3 -3
  319. package/dist/server/domains/issues/index.js.map +1 -1
  320. package/dist/server/domains/issues/issue.access.d.ts +2 -0
  321. package/dist/server/domains/issues/issue.access.d.ts.map +1 -1
  322. package/dist/server/domains/issues/issue.access.js +8 -1
  323. package/dist/server/domains/issues/issue.access.js.map +1 -1
  324. package/dist/server/domains/issues/issue.context.d.ts +6 -22
  325. package/dist/server/domains/issues/issue.context.d.ts.map +1 -1
  326. package/dist/server/domains/issues/issue.context.js +88 -105
  327. package/dist/server/domains/issues/issue.context.js.map +1 -1
  328. package/dist/server/domains/issues/issue.events.d.ts +5 -1
  329. package/dist/server/domains/issues/issue.events.d.ts.map +1 -1
  330. package/dist/server/domains/issues/issue.fields.d.ts +5 -3
  331. package/dist/server/domains/issues/issue.fields.d.ts.map +1 -1
  332. package/dist/server/domains/issues/issue.fields.js +42 -16
  333. package/dist/server/domains/issues/issue.fields.js.map +1 -1
  334. package/dist/server/domains/issues/issue.projects.d.ts +2 -2
  335. package/dist/server/domains/issues/issue.projects.d.ts.map +1 -1
  336. package/dist/server/domains/issues/issue.projects.js +1 -2
  337. package/dist/server/domains/issues/issue.projects.js.map +1 -1
  338. package/dist/server/domains/issues/issue.queries.d.ts +26 -7
  339. package/dist/server/domains/issues/issue.queries.d.ts.map +1 -1
  340. package/dist/server/domains/issues/issue.queries.js +139 -60
  341. package/dist/server/domains/issues/issue.queries.js.map +1 -1
  342. package/dist/server/domains/issues/issue.routes.d.ts +3 -1
  343. package/dist/server/domains/issues/issue.routes.d.ts.map +1 -1
  344. package/dist/server/domains/issues/issue.routes.js +72 -46
  345. package/dist/server/domains/issues/issue.routes.js.map +1 -1
  346. package/dist/server/domains/issues/issue.service.d.ts +26 -51
  347. package/dist/server/domains/issues/issue.service.d.ts.map +1 -1
  348. package/dist/server/domains/issues/issue.service.js +89 -87
  349. package/dist/server/domains/issues/issue.service.js.map +1 -1
  350. package/dist/server/domains/issues/issue.status.d.ts +7 -10
  351. package/dist/server/domains/issues/issue.status.d.ts.map +1 -1
  352. package/dist/server/domains/issues/issue.status.js +6 -22
  353. package/dist/server/domains/issues/issue.status.js.map +1 -1
  354. package/dist/server/domains/issues/issue.store.d.ts +13 -0
  355. package/dist/server/domains/issues/issue.store.d.ts.map +1 -1
  356. package/dist/server/domains/issues/issue.store.js +45 -0
  357. package/dist/server/domains/issues/issue.store.js.map +1 -1
  358. package/dist/server/domains/issues/ports.d.ts +39 -38
  359. package/dist/server/domains/issues/ports.d.ts.map +1 -1
  360. package/dist/server/domains/issues/ports.js +1 -5
  361. package/dist/server/domains/issues/ports.js.map +1 -1
  362. package/dist/server/domains/notices/notice.planner.d.ts +2 -1
  363. package/dist/server/domains/notices/notice.planner.d.ts.map +1 -1
  364. package/dist/server/domains/notices/notice.planner.js +2 -1
  365. package/dist/server/domains/notices/notice.planner.js.map +1 -1
  366. package/dist/server/domains/notices/notice.rules.d.ts +1 -4
  367. package/dist/server/domains/notices/notice.rules.d.ts.map +1 -1
  368. package/dist/server/domains/notices/notice.rules.js +4 -5
  369. package/dist/server/domains/notices/notice.rules.js.map +1 -1
  370. package/dist/server/domains/plans/intake/intake.service.d.ts +2 -0
  371. package/dist/server/domains/plans/intake/intake.service.d.ts.map +1 -1
  372. package/dist/server/domains/plans/intake/intake.service.js +14 -0
  373. package/dist/server/domains/plans/intake/intake.service.js.map +1 -1
  374. package/dist/server/domains/plans/intake/intake.text.d.ts +5 -6
  375. package/dist/server/domains/plans/intake/intake.text.d.ts.map +1 -1
  376. package/dist/server/domains/plans/intake/intake.text.js +5 -6
  377. package/dist/server/domains/plans/intake/intake.text.js.map +1 -1
  378. package/dist/server/domains/plans/plan.engine.d.ts.map +1 -1
  379. package/dist/server/domains/plans/plan.engine.js +6 -0
  380. package/dist/server/domains/plans/plan.engine.js.map +1 -1
  381. package/dist/server/domains/plans/plan.ops.d.ts +3 -3
  382. package/dist/server/domains/plans/plan.ops.d.ts.map +1 -1
  383. package/dist/server/domains/plans/plan.ops.js +23 -16
  384. package/dist/server/domains/plans/plan.ops.js.map +1 -1
  385. package/dist/server/domains/plans/plan.schemas.d.ts.map +1 -1
  386. package/dist/server/domains/plans/plan.schemas.js +26 -10
  387. package/dist/server/domains/plans/plan.schemas.js.map +1 -1
  388. package/dist/server/domains/projects/index.d.ts +1 -1
  389. package/dist/server/domains/projects/index.d.ts.map +1 -1
  390. package/dist/server/domains/projects/index.js.map +1 -1
  391. package/dist/server/domains/projects/project-resources.d.ts +5 -0
  392. package/dist/server/domains/projects/project-resources.d.ts.map +1 -1
  393. package/dist/server/domains/projects/project-resources.js +43 -1
  394. package/dist/server/domains/projects/project-resources.js.map +1 -1
  395. package/dist/server/domains/projects/project.events.d.ts +10 -0
  396. package/dist/server/domains/projects/project.events.d.ts.map +1 -0
  397. package/dist/server/domains/projects/project.events.js +2 -0
  398. package/dist/server/domains/projects/project.events.js.map +1 -0
  399. package/dist/server/domains/projects/project.routes.d.ts.map +1 -1
  400. package/dist/server/domains/projects/project.routes.js +1 -3
  401. package/dist/server/domains/projects/project.routes.js.map +1 -1
  402. package/dist/server/domains/projects/project.service.d.ts +1 -7
  403. package/dist/server/domains/projects/project.service.d.ts.map +1 -1
  404. package/dist/server/domains/projects/project.service.js +2 -17
  405. package/dist/server/domains/projects/project.service.js.map +1 -1
  406. package/dist/server/domains/projects/project.store.d.ts +0 -1
  407. package/dist/server/domains/projects/project.store.d.ts.map +1 -1
  408. package/dist/server/domains/projects/project.store.js +0 -1
  409. package/dist/server/domains/projects/project.store.js.map +1 -1
  410. package/dist/server/domains/reports/report.service.d.ts +1 -12
  411. package/dist/server/domains/reports/report.service.d.ts.map +1 -1
  412. package/dist/server/domains/reports/report.service.js +92 -136
  413. package/dist/server/domains/reports/report.service.js.map +1 -1
  414. package/dist/server/domains/settings/settings.store.d.ts +4 -4
  415. package/dist/server/domains/settings/settings.store.js +2 -2
  416. package/dist/server/domains/statuses/event-types.d.ts +16 -0
  417. package/dist/server/domains/statuses/event-types.d.ts.map +1 -0
  418. package/dist/server/domains/statuses/event-types.js +31 -0
  419. package/dist/server/domains/statuses/event-types.js.map +1 -0
  420. package/dist/server/domains/statuses/index.d.ts +4 -0
  421. package/dist/server/domains/statuses/index.d.ts.map +1 -0
  422. package/dist/server/domains/statuses/index.js +4 -0
  423. package/dist/server/domains/statuses/index.js.map +1 -0
  424. package/dist/server/domains/statuses/status.catalog.d.ts +15 -0
  425. package/dist/server/domains/statuses/status.catalog.d.ts.map +1 -0
  426. package/dist/server/domains/statuses/status.catalog.js +123 -0
  427. package/dist/server/domains/statuses/status.catalog.js.map +1 -0
  428. package/dist/server/domains/statuses/status.events.d.ts +15 -0
  429. package/dist/server/domains/statuses/status.events.d.ts.map +1 -0
  430. package/dist/server/domains/statuses/status.events.js +2 -0
  431. package/dist/server/domains/statuses/status.events.js.map +1 -0
  432. package/dist/server/domains/statuses/status.fire.d.ts +50 -0
  433. package/dist/server/domains/statuses/status.fire.d.ts.map +1 -0
  434. package/dist/server/domains/statuses/status.fire.js +42 -0
  435. package/dist/server/domains/statuses/status.fire.js.map +1 -0
  436. package/dist/server/domains/subscriptions/subscription.routes.d.ts.map +1 -1
  437. package/dist/server/domains/subscriptions/subscription.routes.js +4 -2
  438. package/dist/server/domains/subscriptions/subscription.routes.js.map +1 -1
  439. package/dist/server/domains/subtasks/index.d.ts +1 -0
  440. package/dist/server/domains/subtasks/index.d.ts.map +1 -1
  441. package/dist/server/domains/subtasks/index.js +1 -0
  442. package/dist/server/domains/subtasks/index.js.map +1 -1
  443. package/dist/server/domains/subtasks/subtask.blocking.d.ts +10 -5
  444. package/dist/server/domains/subtasks/subtask.blocking.d.ts.map +1 -1
  445. package/dist/server/domains/subtasks/subtask.blocking.js +35 -15
  446. package/dist/server/domains/subtasks/subtask.blocking.js.map +1 -1
  447. package/dist/server/domains/subtasks/subtask.guard.d.ts +12 -0
  448. package/dist/server/domains/subtasks/subtask.guard.d.ts.map +1 -0
  449. package/dist/server/domains/subtasks/subtask.guard.js +23 -0
  450. package/dist/server/domains/subtasks/subtask.guard.js.map +1 -0
  451. package/dist/server/domains/subtasks/subtask.release.d.ts +7 -11
  452. package/dist/server/domains/subtasks/subtask.release.d.ts.map +1 -1
  453. package/dist/server/domains/subtasks/subtask.release.js +9 -7
  454. package/dist/server/domains/subtasks/subtask.release.js.map +1 -1
  455. package/dist/server/domains/subtasks/subtask.routes.d.ts +1 -0
  456. package/dist/server/domains/subtasks/subtask.routes.d.ts.map +1 -1
  457. package/dist/server/domains/subtasks/subtask.routes.js +31 -3
  458. package/dist/server/domains/subtasks/subtask.routes.js.map +1 -1
  459. package/dist/server/domains/subtasks/subtask.service.d.ts +5 -5
  460. package/dist/server/domains/subtasks/subtask.service.d.ts.map +1 -1
  461. package/dist/server/domains/subtasks/subtask.service.js +118 -50
  462. package/dist/server/domains/subtasks/subtask.service.js.map +1 -1
  463. package/dist/server/domains/subtasks/subtask.store.d.ts +7 -0
  464. package/dist/server/domains/subtasks/subtask.store.d.ts.map +1 -1
  465. package/dist/server/domains/subtasks/subtask.store.js +34 -0
  466. package/dist/server/domains/subtasks/subtask.store.js.map +1 -1
  467. package/dist/server/index.d.ts +1 -0
  468. package/dist/server/index.d.ts.map +1 -1
  469. package/dist/server/index.js +1 -0
  470. package/dist/server/index.js.map +1 -1
  471. package/dist/server/kernel/activity.d.ts +5 -2
  472. package/dist/server/kernel/activity.d.ts.map +1 -1
  473. package/dist/server/kernel/activity.js +28 -1
  474. package/dist/server/kernel/activity.js.map +1 -1
  475. package/dist/server/kernel/actor.d.ts +2 -0
  476. package/dist/server/kernel/actor.d.ts.map +1 -1
  477. package/dist/server/kernel/actor.js.map +1 -1
  478. package/dist/server/kernel/http.d.ts.map +1 -1
  479. package/dist/server/kernel/http.js +2 -3
  480. package/dist/server/kernel/http.js.map +1 -1
  481. package/dist/server/kernel/kinds.d.ts +24 -6
  482. package/dist/server/kernel/kinds.d.ts.map +1 -1
  483. package/dist/server/kernel/kinds.js +21 -1
  484. package/dist/server/kernel/kinds.js.map +1 -1
  485. package/dist/server/kernel/transaction-read.d.ts +4 -0
  486. package/dist/server/kernel/transaction-read.d.ts.map +1 -0
  487. package/dist/server/kernel/transaction-read.js +30 -0
  488. package/dist/server/kernel/transaction-read.js.map +1 -0
  489. package/dist/server/kernel/work.d.ts +18 -6
  490. package/dist/server/kernel/work.d.ts.map +1 -1
  491. package/dist/server/kernel/work.js +37 -14
  492. package/dist/server/kernel/work.js.map +1 -1
  493. package/dist/server/lifecycle/move.d.ts +1 -0
  494. package/dist/server/lifecycle/move.d.ts.map +1 -1
  495. package/dist/server/lifecycle/move.js +2 -0
  496. package/dist/server/lifecycle/move.js.map +1 -1
  497. package/dist/server/lifecycle/registry.d.ts +5 -0
  498. package/dist/server/lifecycle/registry.d.ts.map +1 -1
  499. package/dist/server/lifecycle/registry.js.map +1 -1
  500. package/dist/server/locales/de-DE.d.ts +5 -0
  501. package/dist/server/locales/de-DE.d.ts.map +1 -0
  502. package/dist/server/locales/de-DE.js +202 -0
  503. package/dist/server/locales/de-DE.js.map +1 -0
  504. package/dist/server/locales/en-US.d.ts +0 -9
  505. package/dist/server/locales/en-US.d.ts.map +1 -1
  506. package/dist/server/locales/en-US.js +0 -9
  507. package/dist/server/locales/en-US.js.map +1 -1
  508. package/dist/server/locales/es-ES.d.ts +5 -0
  509. package/dist/server/locales/es-ES.d.ts.map +1 -0
  510. package/dist/server/locales/es-ES.js +202 -0
  511. package/dist/server/locales/es-ES.js.map +1 -0
  512. package/dist/server/locales/fr-FR.d.ts +5 -0
  513. package/dist/server/locales/fr-FR.d.ts.map +1 -0
  514. package/dist/server/locales/fr-FR.js +202 -0
  515. package/dist/server/locales/fr-FR.js.map +1 -0
  516. package/dist/server/locales/id-ID.d.ts +5 -0
  517. package/dist/server/locales/id-ID.d.ts.map +1 -0
  518. package/dist/server/locales/id-ID.js +202 -0
  519. package/dist/server/locales/id-ID.js.map +1 -0
  520. package/dist/server/locales/index.d.ts.map +1 -1
  521. package/dist/server/locales/index.js +8 -0
  522. package/dist/server/locales/index.js.map +1 -1
  523. package/dist/server/locales/ja-JP.d.ts +5 -0
  524. package/dist/server/locales/ja-JP.d.ts.map +1 -0
  525. package/dist/server/locales/ja-JP.js +202 -0
  526. package/dist/server/locales/ja-JP.js.map +1 -0
  527. package/dist/server/locales/pt-BR.d.ts +5 -0
  528. package/dist/server/locales/pt-BR.d.ts.map +1 -0
  529. package/dist/server/locales/pt-BR.js +202 -0
  530. package/dist/server/locales/pt-BR.js.map +1 -0
  531. package/dist/server/locales/vi-VN.d.ts +5 -0
  532. package/dist/server/locales/vi-VN.d.ts.map +1 -0
  533. package/dist/server/locales/vi-VN.js +202 -0
  534. package/dist/server/locales/vi-VN.js.map +1 -0
  535. package/dist/server/locales/zh-CN.d.ts.map +1 -1
  536. package/dist/server/locales/zh-CN.js +2 -11
  537. package/dist/server/locales/zh-CN.js.map +1 -1
  538. package/dist/server/locales/zh-TW.d.ts +5 -0
  539. package/dist/server/locales/zh-TW.d.ts.map +1 -0
  540. package/dist/server/locales/zh-TW.js +202 -0
  541. package/dist/server/locales/zh-TW.js.map +1 -0
  542. package/dist/server/providers/change-announcer.d.ts +28 -0
  543. package/dist/server/providers/change-announcer.d.ts.map +1 -0
  544. package/dist/server/providers/change-announcer.js +75 -0
  545. package/dist/server/providers/change-announcer.js.map +1 -0
  546. package/dist/server/providers/notifications.d.ts +1 -0
  547. package/dist/server/providers/notifications.d.ts.map +1 -1
  548. package/dist/server/providers/notifications.js +8 -121
  549. package/dist/server/providers/notifications.js.map +1 -1
  550. package/dist/server/providers/projects.d.ts +3 -8
  551. package/dist/server/providers/projects.d.ts.map +1 -1
  552. package/dist/server/providers/projects.js +16 -37
  553. package/dist/server/providers/projects.js.map +1 -1
  554. package/dist/server/routes/api.d.ts.map +1 -1
  555. package/dist/server/routes/api.js +5 -8
  556. package/dist/server/routes/api.js.map +1 -1
  557. package/dist/server/routes/schemas.d.ts +20 -29
  558. package/dist/server/routes/schemas.d.ts.map +1 -1
  559. package/dist/server/routes/schemas.js +395 -290
  560. package/dist/server/routes/schemas.js.map +1 -1
  561. package/dist/server/tokens.d.ts +22 -35
  562. package/dist/server/tokens.d.ts.map +1 -1
  563. package/dist/server/tokens.js +5 -16
  564. package/dist/server/tokens.js.map +1 -1
  565. package/dist/shared/access.d.ts +0 -1
  566. package/dist/shared/access.d.ts.map +1 -1
  567. package/dist/shared/access.js +2 -11
  568. package/dist/shared/access.js.map +1 -1
  569. package/dist/shared/attachments.d.ts +29 -0
  570. package/dist/shared/attachments.d.ts.map +1 -1
  571. package/dist/shared/attachments.js +7 -0
  572. package/dist/shared/attachments.js.map +1 -1
  573. package/dist/shared/comments.d.ts +3 -0
  574. package/dist/shared/comments.d.ts.map +1 -1
  575. package/dist/shared/comments.js.map +1 -1
  576. package/dist/shared/invitations.d.ts +1 -1
  577. package/dist/shared/invitations.d.ts.map +1 -1
  578. package/dist/shared/issues.d.ts +32 -40
  579. package/dist/shared/issues.d.ts.map +1 -1
  580. package/dist/shared/issues.js +5 -0
  581. package/dist/shared/issues.js.map +1 -1
  582. package/dist/shared/kinds.d.ts +3 -1
  583. package/dist/shared/kinds.d.ts.map +1 -1
  584. package/dist/shared/kinds.js +1 -1
  585. package/dist/shared/locales/access.en-US.d.ts +0 -1
  586. package/dist/shared/locales/access.en-US.d.ts.map +1 -1
  587. package/dist/shared/locales/access.en-US.js +1 -2
  588. package/dist/shared/locales/access.en-US.js.map +1 -1
  589. package/dist/shared/locales/access.zh-CN.d.ts.map +1 -1
  590. package/dist/shared/locales/access.zh-CN.js +1 -2
  591. package/dist/shared/locales/access.zh-CN.js.map +1 -1
  592. package/dist/shared/plans.d.ts +29 -13
  593. package/dist/shared/plans.d.ts.map +1 -1
  594. package/dist/shared/plans.js +2 -1
  595. package/dist/shared/plans.js.map +1 -1
  596. package/dist/shared/projects.d.ts +0 -4
  597. package/dist/shared/projects.d.ts.map +1 -1
  598. package/dist/shared/projects.js.map +1 -1
  599. package/dist/shared/realtime.d.ts +10 -3
  600. package/dist/shared/realtime.d.ts.map +1 -1
  601. package/dist/shared/realtime.js +3 -2
  602. package/dist/shared/realtime.js.map +1 -1
  603. package/dist/shared/statuses.d.ts +42 -0
  604. package/dist/shared/statuses.d.ts.map +1 -0
  605. package/dist/shared/statuses.js +73 -0
  606. package/dist/shared/statuses.js.map +1 -0
  607. package/dist/shared/subtasks.d.ts +8 -3
  608. package/dist/shared/subtasks.d.ts.map +1 -1
  609. package/package.json +21 -29
  610. package/skills/nocobase-app-plugin-projects/SKILL.md +38 -57
  611. package/dist/client/lib/built-in-rule-editors.d.ts +0 -13
  612. package/dist/client/lib/built-in-rule-editors.d.ts.map +0 -1
  613. package/dist/client/lib/built-in-rule-editors.js +0 -86
  614. package/dist/client/lib/built-in-rule-editors.js.map +0 -1
  615. package/dist/client/lib/built-in-rule-types.d.ts +0 -3
  616. package/dist/client/lib/built-in-rule-types.d.ts.map +0 -1
  617. package/dist/client/lib/built-in-rule-types.js +0 -63
  618. package/dist/client/lib/built-in-rule-types.js.map +0 -1
  619. package/dist/client/lib/status-rule-types.d.ts +0 -60
  620. package/dist/client/lib/status-rule-types.d.ts.map +0 -1
  621. package/dist/client/lib/status-rule-types.js +0 -38
  622. package/dist/client/lib/status-rule-types.js.map +0 -1
  623. package/dist/client/lib/workflow-events.d.ts +0 -25
  624. package/dist/client/lib/workflow-events.d.ts.map +0 -1
  625. package/dist/client/lib/workflow-events.js +0 -30
  626. package/dist/client/lib/workflow-events.js.map +0 -1
  627. package/dist/client/pages/config/workflow-detail.d.ts +0 -10
  628. package/dist/client/pages/config/workflow-detail.d.ts.map +0 -1
  629. package/dist/client/pages/config/workflow-detail.js +0 -182
  630. package/dist/client/pages/config/workflow-detail.js.map +0 -1
  631. package/dist/client/pages/config/workflows/flow-editor.d.ts +0 -15
  632. package/dist/client/pages/config/workflows/flow-editor.d.ts.map +0 -1
  633. package/dist/client/pages/config/workflows/flow-editor.js +0 -76
  634. package/dist/client/pages/config/workflows/flow-editor.js.map +0 -1
  635. package/dist/client/pages/config/workflows/status-rules.d.ts +0 -21
  636. package/dist/client/pages/config/workflows/status-rules.d.ts.map +0 -1
  637. package/dist/client/pages/config/workflows/status-rules.js +0 -203
  638. package/dist/client/pages/config/workflows/status-rules.js.map +0 -1
  639. package/dist/client/pages/config/workflows/transitions-matrix.d.ts +0 -20
  640. package/dist/client/pages/config/workflows/transitions-matrix.d.ts.map +0 -1
  641. package/dist/client/pages/config/workflows/transitions-matrix.js +0 -114
  642. package/dist/client/pages/config/workflows/transitions-matrix.js.map +0 -1
  643. package/dist/client/pages/config/workflows/use-status-name.d.ts +0 -4
  644. package/dist/client/pages/config/workflows/use-status-name.d.ts.map +0 -1
  645. package/dist/client/pages/config/workflows/use-status-name.js +0 -17
  646. package/dist/client/pages/config/workflows/use-status-name.js.map +0 -1
  647. package/dist/client/pages/config/workflows/workflow-diagram.d.ts +0 -17
  648. package/dist/client/pages/config/workflows/workflow-diagram.d.ts.map +0 -1
  649. package/dist/client/pages/config/workflows/workflow-diagram.js +0 -298
  650. package/dist/client/pages/config/workflows/workflow-diagram.js.map +0 -1
  651. package/dist/client/pages/config/workflows/workflow-model.d.ts +0 -157
  652. package/dist/client/pages/config/workflows/workflow-model.d.ts.map +0 -1
  653. package/dist/client/pages/config/workflows/workflow-model.js +0 -403
  654. package/dist/client/pages/config/workflows/workflow-model.js.map +0 -1
  655. package/dist/client/pages/config/workflows/workflow-views.d.ts +0 -31
  656. package/dist/client/pages/config/workflows/workflow-views.d.ts.map +0 -1
  657. package/dist/client/pages/config/workflows/workflow-views.js +0 -76
  658. package/dist/client/pages/config/workflows/workflow-views.js.map +0 -1
  659. package/dist/client/pages/config/workflows.d.ts +0 -8
  660. package/dist/client/pages/config/workflows.d.ts.map +0 -1
  661. package/dist/client/pages/config/workflows.js +0 -139
  662. package/dist/client/pages/config/workflows.js.map +0 -1
  663. package/dist/client/pages/issues/detail/start-dialog.d.ts +0 -20
  664. package/dist/client/pages/issues/detail/start-dialog.d.ts.map +0 -1
  665. package/dist/client/pages/issues/detail/start-dialog.js +0 -31
  666. package/dist/client/pages/issues/detail/start-dialog.js.map +0 -1
  667. package/dist/client/pages/projects/workflow-select.d.ts +0 -14
  668. package/dist/client/pages/projects/workflow-select.d.ts.map +0 -1
  669. package/dist/client/pages/projects/workflow-select.js +0 -34
  670. package/dist/client/pages/projects/workflow-select.js.map +0 -1
  671. package/dist/server/domains/approvals/approval.events.d.ts +0 -47
  672. package/dist/server/domains/approvals/approval.events.d.ts.map +0 -1
  673. package/dist/server/domains/approvals/approval.events.js +0 -2
  674. package/dist/server/domains/approvals/approval.events.js.map +0 -1
  675. package/dist/server/domains/approvals/approval.lifecycle.d.ts +0 -8
  676. package/dist/server/domains/approvals/approval.lifecycle.d.ts.map +0 -1
  677. package/dist/server/domains/approvals/approval.lifecycle.js +0 -54
  678. package/dist/server/domains/approvals/approval.lifecycle.js.map +0 -1
  679. package/dist/server/domains/approvals/approval.routes.d.ts +0 -10
  680. package/dist/server/domains/approvals/approval.routes.d.ts.map +0 -1
  681. package/dist/server/domains/approvals/approval.routes.js +0 -86
  682. package/dist/server/domains/approvals/approval.routes.js.map +0 -1
  683. package/dist/server/domains/approvals/approval.service.d.ts +0 -72
  684. package/dist/server/domains/approvals/approval.service.d.ts.map +0 -1
  685. package/dist/server/domains/approvals/approval.service.js +0 -261
  686. package/dist/server/domains/approvals/approval.service.js.map +0 -1
  687. package/dist/server/domains/approvals/approval.store.d.ts +0 -42
  688. package/dist/server/domains/approvals/approval.store.d.ts.map +0 -1
  689. package/dist/server/domains/approvals/approval.store.js +0 -66
  690. package/dist/server/domains/approvals/approval.store.js.map +0 -1
  691. package/dist/server/domains/approvals/index.d.ts +0 -4
  692. package/dist/server/domains/approvals/index.d.ts.map +0 -1
  693. package/dist/server/domains/approvals/index.js +0 -3
  694. package/dist/server/domains/approvals/index.js.map +0 -1
  695. package/dist/server/domains/checklists/checklist.routes.d.ts +0 -9
  696. package/dist/server/domains/checklists/checklist.routes.d.ts.map +0 -1
  697. package/dist/server/domains/checklists/checklist.routes.js +0 -62
  698. package/dist/server/domains/checklists/checklist.routes.js.map +0 -1
  699. package/dist/server/domains/checklists/checklist.service.d.ts +0 -26
  700. package/dist/server/domains/checklists/checklist.service.d.ts.map +0 -1
  701. package/dist/server/domains/checklists/checklist.service.js +0 -80
  702. package/dist/server/domains/checklists/checklist.service.js.map +0 -1
  703. package/dist/server/domains/checklists/checklist.store.d.ts +0 -32
  704. package/dist/server/domains/checklists/checklist.store.d.ts.map +0 -1
  705. package/dist/server/domains/checklists/checklist.store.js +0 -66
  706. package/dist/server/domains/checklists/checklist.store.js.map +0 -1
  707. package/dist/server/domains/checklists/index.d.ts +0 -4
  708. package/dist/server/domains/checklists/index.d.ts.map +0 -1
  709. package/dist/server/domains/checklists/index.js +0 -4
  710. package/dist/server/domains/checklists/index.js.map +0 -1
  711. package/dist/server/domains/workflows/built-in-rule-types.d.ts +0 -40
  712. package/dist/server/domains/workflows/built-in-rule-types.d.ts.map +0 -1
  713. package/dist/server/domains/workflows/built-in-rule-types.js +0 -260
  714. package/dist/server/domains/workflows/built-in-rule-types.js.map +0 -1
  715. package/dist/server/domains/workflows/event-types.d.ts +0 -21
  716. package/dist/server/domains/workflows/event-types.d.ts.map +0 -1
  717. package/dist/server/domains/workflows/event-types.js +0 -31
  718. package/dist/server/domains/workflows/event-types.js.map +0 -1
  719. package/dist/server/domains/workflows/index.d.ts +0 -10
  720. package/dist/server/domains/workflows/index.d.ts.map +0 -1
  721. package/dist/server/domains/workflows/index.js +0 -10
  722. package/dist/server/domains/workflows/index.js.map +0 -1
  723. package/dist/server/domains/workflows/rule-types.d.ts +0 -125
  724. package/dist/server/domains/workflows/rule-types.d.ts.map +0 -1
  725. package/dist/server/domains/workflows/rule-types.js +0 -33
  726. package/dist/server/domains/workflows/rule-types.js.map +0 -1
  727. package/dist/server/domains/workflows/templates.d.ts +0 -62
  728. package/dist/server/domains/workflows/templates.d.ts.map +0 -1
  729. package/dist/server/domains/workflows/templates.js +0 -63
  730. package/dist/server/domains/workflows/templates.js.map +0 -1
  731. package/dist/server/domains/workflows/workflow.diff.d.ts +0 -14
  732. package/dist/server/domains/workflows/workflow.diff.d.ts.map +0 -1
  733. package/dist/server/domains/workflows/workflow.diff.js +0 -80
  734. package/dist/server/domains/workflows/workflow.diff.js.map +0 -1
  735. package/dist/server/domains/workflows/workflow.events.d.ts +0 -26
  736. package/dist/server/domains/workflows/workflow.events.d.ts.map +0 -1
  737. package/dist/server/domains/workflows/workflow.events.js +0 -2
  738. package/dist/server/domains/workflows/workflow.events.js.map +0 -1
  739. package/dist/server/domains/workflows/workflow.fire.d.ts +0 -38
  740. package/dist/server/domains/workflows/workflow.fire.d.ts.map +0 -1
  741. package/dist/server/domains/workflows/workflow.fire.js +0 -57
  742. package/dist/server/domains/workflows/workflow.fire.js.map +0 -1
  743. package/dist/server/domains/workflows/workflow.registry.d.ts +0 -27
  744. package/dist/server/domains/workflows/workflow.registry.d.ts.map +0 -1
  745. package/dist/server/domains/workflows/workflow.registry.js +0 -130
  746. package/dist/server/domains/workflows/workflow.registry.js.map +0 -1
  747. package/dist/server/domains/workflows/workflow.routes.d.ts +0 -6
  748. package/dist/server/domains/workflows/workflow.routes.d.ts.map +0 -1
  749. package/dist/server/domains/workflows/workflow.routes.js +0 -148
  750. package/dist/server/domains/workflows/workflow.routes.js.map +0 -1
  751. package/dist/server/domains/workflows/workflow.rules.d.ts +0 -14
  752. package/dist/server/domains/workflows/workflow.rules.d.ts.map +0 -1
  753. package/dist/server/domains/workflows/workflow.rules.js +0 -190
  754. package/dist/server/domains/workflows/workflow.rules.js.map +0 -1
  755. package/dist/server/domains/workflows/workflow.service.d.ts +0 -71
  756. package/dist/server/domains/workflows/workflow.service.d.ts.map +0 -1
  757. package/dist/server/domains/workflows/workflow.service.js +0 -365
  758. package/dist/server/domains/workflows/workflow.service.js.map +0 -1
  759. package/dist/server/domains/workflows/workflow.store.d.ts +0 -33
  760. package/dist/server/domains/workflows/workflow.store.d.ts.map +0 -1
  761. package/dist/server/domains/workflows/workflow.store.js +0 -148
  762. package/dist/server/domains/workflows/workflow.store.js.map +0 -1
  763. package/dist/shared/approvals.d.ts +0 -37
  764. package/dist/shared/approvals.d.ts.map +0 -1
  765. package/dist/shared/approvals.js +0 -4
  766. package/dist/shared/approvals.js.map +0 -1
  767. package/dist/shared/checklists.d.ts +0 -27
  768. package/dist/shared/checklists.d.ts.map +0 -1
  769. package/dist/shared/checklists.js +0 -7
  770. package/dist/shared/checklists.js.map +0 -1
  771. package/dist/shared/workflows.d.ts +0 -267
  772. package/dist/shared/workflows.d.ts.map +0 -1
  773. package/dist/shared/workflows.js +0 -149
  774. package/dist/shared/workflows.js.map +0 -1
@@ -13,9 +13,10 @@ const ORDER_FIELDS = {
13
13
  };
14
14
  /** The list query as URL parameters: the filters, `orderBy`, and a page of `ISSUE_PAGE_LIMIT.default` issues. */
15
15
  function issueQuery(query) {
16
- const { sort, direction, cursor, limit, ...filters } = query;
16
+ const { sort, direction, cursor, limit, issueIds, ...filters } = query;
17
17
  return present({
18
18
  ...filters,
19
+ issueIds: issueIds?.join(','),
19
20
  orderBy: `${ORDER_FIELDS[sort ?? 'updated']} ${direction ?? 'desc'}`,
20
21
  pageSize: limit ?? ISSUE_PAGE_LIMIT.default,
21
22
  pageToken: cursor,
@@ -48,8 +49,8 @@ export class PmApi {
48
49
  const { results } = await this.send('projects/invitations', 'POST', input);
49
50
  return results;
50
51
  }
51
- resendInvitation(invitationId) {
52
- return this.send(`projects/invitations/${id(invitationId)}/resend`, 'POST');
52
+ resendInvitation(invitationId, sendEmail = true) {
53
+ return this.send(`projects/invitations/${id(invitationId)}/resend?sendEmail=${sendEmail}`, 'POST');
53
54
  }
54
55
  revokeInvitation(invitationId) {
55
56
  return this.send(`projects/invitations/${id(invitationId)}`, 'DELETE');
@@ -73,31 +74,6 @@ export class PmApi {
73
74
  deleteLabel(labelId) {
74
75
  return this.send(`projects/labels/${id(labelId)}`, 'DELETE');
75
76
  }
76
- // Workflows
77
- workflows() {
78
- return this.get('projects/workflows');
79
- }
80
- workflow(workflowId) {
81
- return this.get(`projects/workflows/${id(workflowId)}`);
82
- }
83
- createWorkflow(input) {
84
- return this.send('projects/workflows', 'POST', input);
85
- }
86
- updateWorkflow(workflowId, input) {
87
- return this.send(`projects/workflows/${id(workflowId)}`, 'PATCH', input);
88
- }
89
- /** What saving `definition` would change in the workflow's rules; nothing is written. */
90
- previewWorkflow(workflowId, definition) {
91
- return this.send(`projects/workflows/${id(workflowId)}/preview`, 'POST', {
92
- definition,
93
- });
94
- }
95
- setDefaultWorkflow(workflowId) {
96
- return this.send(`projects/workflows/${id(workflowId)}/setDefault`, 'POST');
97
- }
98
- deleteWorkflow(workflowId) {
99
- return this.send(`projects/workflows/${id(workflowId)}`, 'DELETE');
100
- }
101
77
  // Projects
102
78
  projects() {
103
79
  return this.get('projects');
@@ -133,13 +109,9 @@ export class PmApi {
133
109
  return this.send(`projects/${id(projectId)}/resources/${id(resourceId)}`, 'DELETE');
134
110
  }
135
111
  // Issues
136
- /** The statuses of a project's workflow; without a project, those of issues without one. */
137
- statuses(projectId) {
138
- return this.get('projects/issues/statuses', projectId ? { projectId } : {});
139
- }
140
- /** The ways a new issue may start in a project's workflow; without a project, in that of issues without one. */
141
- starts(projectId) {
142
- return this.get('projects/issues/starts', projectId ? { projectId } : {});
112
+ /** The fixed statuses, in order. */
113
+ statuses() {
114
+ return this.get('projects/issues/statuses');
143
115
  }
144
116
  issuePage(query) {
145
117
  return this.page('projects/issues', issueQuery(query));
@@ -158,7 +130,7 @@ export class PmApi {
158
130
  createIssue(input) {
159
131
  return this.send('projects/issues', 'POST', input);
160
132
  }
161
- /** The issue after the change; with `pendingApproval`, unchanged because the status change waits for approval. */
133
+ /** The issue after the change. */
162
134
  updateIssue(issueId, input) {
163
135
  return this.send(`projects/issues/${id(issueId)}`, 'PATCH', input);
164
136
  }
@@ -168,21 +140,14 @@ export class PmApi {
168
140
  restoreIssue(issueId) {
169
141
  return this.send(`projects/issues/${id(issueId)}/restore`, 'POST');
170
142
  }
171
- // Approvals
172
- /** The status changes waiting for the caller's approval. */
173
- approvals() {
174
- return this.get('projects/approvals');
175
- }
176
- decideApproval(requestId, decision, comment) {
177
- return this.send(`projects/approvals/${id(requestId)}/${decision}`, 'POST', comment ? { comment } : {});
178
- }
179
- withdrawApproval(requestId) {
180
- return this.send(`projects/approvals/${id(requestId)}/withdraw`, 'POST');
181
- }
182
143
  /** Makes the issue wait for (`blockedBy`, the default) or link to (`relatedTo`) another; answers the link. */
183
144
  addDependency(issueId, input) {
184
145
  return this.send(`projects/issues/${id(issueId)}/dependencies`, 'POST', input);
185
146
  }
147
+ /** Converts a relationship atomically, keeping its id and checking the type the caller read. */
148
+ updateDependency(issueId, dependencyId, input) {
149
+ return this.send(`projects/issues/${id(issueId)}/dependencies/${id(dependencyId)}`, 'PATCH', input);
150
+ }
186
151
  /** Removes the link to `dependsOnIssueId` of `type` (`blockedBy` when left out). */
187
152
  removeDependencyTo(issueId, input) {
188
153
  return this.send(`projects/issues/${id(issueId)}/removeDependency`, 'POST', input);
@@ -190,10 +155,6 @@ export class PmApi {
190
155
  removeDependency(issueId, dependencyId) {
191
156
  return this.send(`projects/issues/${id(issueId)}/dependencies/${id(dependencyId)}`, 'DELETE');
192
157
  }
193
- /** Checks or unchecks one item of the issue's checklist of `statusKey`; answers that checklist. */
194
- setChecklistItem(issueId, statusKey, itemKey, input) {
195
- return this.send(`projects/issues/${id(issueId)}/checklists/${id(statusKey)}/items/${id(itemKey)}`, 'PATCH', input);
196
- }
197
158
  // Comments and subscriptions
198
159
  /** Threads older than `cursor` (the detail brings the newest page and its cursor). */
199
160
  threads(issueId, cursor) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../client/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../client/api/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { QueryClient, type InvalidateQueryFilters, type InvalidateOptions, type QueryKey } from '@tanstack/react-query';
2
+ /** All consumers share this boundary, including application-owned prefix invalidations. */
3
+ export declare class PmQueryClient extends QueryClient {
4
+ private readonly historyRefreshes;
5
+ invalidateQueries<TTaggedQueryKey extends QueryKey = QueryKey>(filters?: InvalidateQueryFilters<TTaggedQueryKey>, options?: InvalidateOptions): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=invalidate-queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalidate-queries.d.ts","sourceRoot":"","sources":["../../../client/api/invalidate-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EAEtB,KAAK,QAAQ,EACd,MAAM,uBAAuB,CAAC;AA2D/B,2FAA2F;AAC3F,qBAAa,aAAc,SAAQ,WAAW;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAErD,iBAAiB,CAAC,eAAe,SAAS,QAAQ,GAAG,QAAQ,EACpE,OAAO,GAAE,sBAAsB,CAAC,eAAe,CAAM,EACrD,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC;CAkCjB"}
@@ -0,0 +1,65 @@
1
+ import { QueryClient, } from '@tanstack/react-query';
2
+ function isHistory(query) {
3
+ const key = query.queryKey;
4
+ return (key.length === 4 &&
5
+ key[0] === 'pm' &&
6
+ key[1] === 'issue' &&
7
+ (key[3] === 'threads' || key[3] === 'activities'));
8
+ }
9
+ /** Preserve an in-flight history page, then refresh the expanded range once per invalidation burst. */
10
+ function refreshHistory(client, query, entries, invalidate, options) {
11
+ const current = entries.get(query);
12
+ if (current) {
13
+ current.pending = true;
14
+ return current.work;
15
+ }
16
+ const present = () => client.getQueryCache().get(query.queryHash) === query;
17
+ const active = () => present() && query.isActive() && !query.isDisabled();
18
+ if (!present() || (!active() && query.state.fetchStatus === 'idle'))
19
+ return Promise.resolve();
20
+ const entry = { pending: true, work: Promise.resolve() };
21
+ entries.set(query, entry);
22
+ const exact = { queryKey: query.queryKey, exact: true };
23
+ entry.work = (async () => {
24
+ // Joining is not refreshing: a pending next page contains no edits to the older pages.
25
+ if (query.state.fetchStatus !== 'idle')
26
+ await query.promise?.catch(() => undefined);
27
+ while (entry.pending && active() && query.state.fetchStatus !== 'paused') {
28
+ entry.pending = false;
29
+ await client.refetchQueries({ ...exact, type: 'active' }, { ...options, cancelRefetch: false });
30
+ }
31
+ })().finally(() => {
32
+ entries.delete(query);
33
+ // A successful in-flight read clears isInvalidated, even if the view disappeared meanwhile.
34
+ if (entry.pending && present())
35
+ void invalidate({ ...exact, refetchType: 'none' });
36
+ });
37
+ return entry.work;
38
+ }
39
+ /** All consumers share this boundary, including application-owned prefix invalidations. */
40
+ export class PmQueryClient extends QueryClient {
41
+ historyRefreshes = new Map();
42
+ invalidateQueries(filters = {}, options = {}) {
43
+ const histories = this.getQueryCache().findAll(filters).filter(isHistory);
44
+ const invalidate = (filter) => super.invalidateQueries(filter);
45
+ return Promise.all([
46
+ super.invalidateQueries({
47
+ ...filters,
48
+ predicate: (query) => !isHistory(query) &&
49
+ (!filters.predicate || filters.predicate(query)),
50
+ }, options),
51
+ ...histories.map((query) => {
52
+ const marked = invalidate({
53
+ queryKey: query.queryKey,
54
+ exact: true,
55
+ refetchType: 'none',
56
+ });
57
+ const refreshed = filters.refetchType === 'none'
58
+ ? Promise.resolve()
59
+ : refreshHistory(this, query, this.historyRefreshes, invalidate, options);
60
+ return Promise.all([marked, refreshed]);
61
+ }),
62
+ ]).then(() => undefined);
63
+ }
64
+ }
65
+ //# sourceMappingURL=invalidate-queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalidate-queries.js","sourceRoot":"","sources":["../../../client/api/invalidate-queries.ts"],"names":[],"mappings":"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"}
@@ -14,25 +14,19 @@ export declare const pmKeys: {
14
14
  invitations: readonly ["pm", "members", "invitations"];
15
15
  settings: readonly ["pm", "settings"];
16
16
  labels: readonly ["pm", "labels"];
17
- /** One workflow is read from the list, so refreshing the list refreshes every workflow page. */
18
- workflows: readonly ["pm", "workflows"];
19
17
  projects: readonly ["pm", "projects"];
20
18
  project: (id: string) => QueryKey;
21
19
  issues: readonly ["pm", "issues"];
22
- /** Under `issues`: an issue change may decide or add a request. */
23
- approvals: readonly ["pm", "issues", "approvals"];
24
- /** Under `['pm', 'statuses']`, so a workflow change refreshes every project's. */
25
- statuses: (projectId: string | null) => QueryKey;
26
- /** Under `['pm', 'statuses']`, so a workflow change refreshes them too. */
27
- starts: (projectId: string | null) => QueryKey;
20
+ /** The fixed statuses. */
21
+ statuses: readonly ["pm", "statuses"];
28
22
  issuePages: (query: IssueListQuery) => QueryKey;
29
23
  board: (query: IssueListQuery) => QueryKey;
30
24
  boardColumn: (query: IssueListQuery, statusKey: string) => QueryKey;
31
25
  issueSearch: (q: string) => QueryKey;
32
26
  issue: (id: string) => QueryKey;
33
- activities: (id: string, cursor: string | null) => QueryKey;
27
+ activities: (id: string) => QueryKey;
34
28
  /** Older thread pages, under the issue like its activities. */
35
- threads: (id: string, cursor: string | null) => QueryKey;
29
+ threads: (id: string) => QueryKey;
36
30
  mentions: (issueId: string | null) => QueryKey;
37
31
  };
38
32
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../client/api/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;IAMjB,iEAAiE;;;;IAIjE,gGAAgG;;;kBAGlF,MAAM,KAAG,QAAQ;;IAE/B,mEAAmE;;IAEnE,kFAAkF;0BAC5D,MAAM,GAAG,IAAI,KAAG,QAAQ;IAK9C,2EAA2E;wBACvD,MAAM,GAAG,IAAI,KAAG,QAAQ;wBAMxB,cAAc,KAAG,QAAQ;mBAM9B,cAAc,KAAG,QAAQ;yBACnB,cAAc,aAAa,MAAM,KAAG,QAAQ;qBAOhD,MAAM,KAAG,QAAQ;gBACtB,MAAM,KAAG,QAAQ;qBACZ,MAAM,UAAU,MAAM,GAAG,IAAI,KAAG,QAAQ;IAOzD,+DAA+D;kBACjD,MAAM,UAAU,MAAM,GAAG,IAAI,KAAG,QAAQ;wBAOlC,MAAM,GAAG,IAAI,KAAG,QAAQ;CAC7C,CAAC"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../client/api/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;IAMjB,iEAAiE;;;;;kBAKnD,MAAM,KAAG,QAAQ;;IAE/B,0BAA0B;;wBAEN,cAAc,KAAG,QAAQ;mBAM9B,cAAc,KAAG,QAAQ;yBACnB,cAAc,aAAa,MAAM,KAAG,QAAQ;qBAOhD,MAAM,KAAG,QAAQ;gBACtB,MAAM,KAAG,QAAQ;qBACZ,MAAM,KAAG,QAAQ;IAClC,+DAA+D;kBACjD,MAAM,KAAG,QAAQ;wBACX,MAAM,GAAG,IAAI,KAAG,QAAQ;CAC7C,CAAC"}
@@ -12,26 +12,11 @@ export const pmKeys = {
12
12
  invitations: ['pm', 'members', 'invitations'],
13
13
  settings: ['pm', 'settings'],
14
14
  labels: ['pm', 'labels'],
15
- /** One workflow is read from the list, so refreshing the list refreshes every workflow page. */
16
- workflows: ['pm', 'workflows'],
17
15
  projects: ['pm', 'projects'],
18
16
  project: (id) => ['pm', 'projects', id],
19
17
  issues: ['pm', 'issues'],
20
- /** Under `issues`: an issue change may decide or add a request. */
21
- approvals: ['pm', 'issues', 'approvals'],
22
- /** Under `['pm', 'statuses']`, so a workflow change refreshes every project's. */
23
- statuses: (projectId) => [
24
- 'pm',
25
- 'statuses',
26
- projectId,
27
- ],
28
- /** Under `['pm', 'statuses']`, so a workflow change refreshes them too. */
29
- starts: (projectId) => [
30
- 'pm',
31
- 'statuses',
32
- projectId,
33
- 'starts',
34
- ],
18
+ /** The fixed statuses. */
19
+ statuses: ['pm', 'statuses'],
35
20
  issuePages: (query) => [
36
21
  'pm',
37
22
  'issues',
@@ -48,21 +33,9 @@ export const pmKeys = {
48
33
  ],
49
34
  issueSearch: (q) => ['pm', 'issues', 'search', q],
50
35
  issue: (id) => ['pm', 'issue', id],
51
- activities: (id, cursor) => [
52
- 'pm',
53
- 'issue',
54
- id,
55
- 'activities',
56
- cursor,
57
- ],
36
+ activities: (id) => ['pm', 'issue', id, 'activities'],
58
37
  /** Older thread pages, under the issue like its activities. */
59
- threads: (id, cursor) => [
60
- 'pm',
61
- 'issue',
62
- id,
63
- 'threads',
64
- cursor,
65
- ],
38
+ threads: (id) => ['pm', 'issue', id, 'threads'],
66
39
  mentions: (issueId) => ['pm', 'mentions', issueId],
67
40
  };
68
41
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../client/api/keys.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,EAAE,CAAC,IAAI,CAAU;IACpB,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAU;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAU;IACnC,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,CAAU;IACvC,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAU;IAC/C,iEAAiE;IACjE,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAU;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAU;IACrC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAU;IACjC,gGAAgG;IAChG,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,CAAU;IACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAU;IACrC,OAAO,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;IACzD,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAU;IACjC,mEAAmE;IACnE,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAU;IACjD,kFAAkF;IAClF,QAAQ,EAAE,CAAC,SAAwB,EAAY,EAAE,CAAC;QAChD,IAAI;QACJ,UAAU;QACV,SAAS;KACV;IACD,2EAA2E;IAC3E,MAAM,EAAE,CAAC,SAAwB,EAAY,EAAE,CAAC;QAC9C,IAAI;QACJ,UAAU;QACV,SAAS;QACT,QAAQ;KACT;IACD,UAAU,EAAE,CAAC,KAAqB,EAAY,EAAE,CAAC;QAC/C,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,KAAK;KACN;IACD,KAAK,EAAE,CAAC,KAAqB,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;IAC5E,WAAW,EAAE,CAAC,KAAqB,EAAE,SAAiB,EAAY,EAAE,CAAC;QACnE,IAAI;QACJ,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,SAAS;KACV;IACD,WAAW,EAAE,CAAC,CAAS,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IACpD,UAAU,EAAE,CAAC,EAAU,EAAE,MAAqB,EAAY,EAAE,CAAC;QAC3D,IAAI;QACJ,OAAO;QACP,EAAE;QACF,YAAY;QACZ,MAAM;KACP;IACD,+DAA+D;IAC/D,OAAO,EAAE,CAAC,EAAU,EAAE,MAAqB,EAAY,EAAE,CAAC;QACxD,IAAI;QACJ,OAAO;QACP,EAAE;QACF,SAAS;QACT,MAAM;KACP;IACD,QAAQ,EAAE,CAAC,OAAsB,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;CAC5E,CAAC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../client/api/keys.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,EAAE,CAAC,IAAI,CAAU;IACpB,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAU;IACzB,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAU;IACnC,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,CAAU;IACvC,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAU;IAC/C,iEAAiE;IACjE,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAU;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAU;IACrC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAU;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAU;IACrC,OAAO,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;IACzD,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAU;IACjC,0BAA0B;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAU;IACrC,UAAU,EAAE,CAAC,KAAqB,EAAY,EAAE,CAAC;QAC/C,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,KAAK;KACN;IACD,KAAK,EAAE,CAAC,KAAqB,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;IAC5E,WAAW,EAAE,CAAC,KAAqB,EAAE,SAAiB,EAAY,EAAE,CAAC;QACnE,IAAI;QACJ,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,SAAS;KACV;IACD,WAAW,EAAE,CAAC,CAAS,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IACpD,UAAU,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,CAAC;IACvE,+DAA+D;IAC/D,OAAO,EAAE,CAAC,EAAU,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;IACjE,QAAQ,EAAE,CAAC,OAAsB,EAAY,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;CAC5E,CAAC"}
@@ -0,0 +1,77 @@
1
+ import { type ReactElement } from 'react';
2
+ export interface AttachmentFile {
3
+ readonly id: string;
4
+ readonly name: string;
5
+ /** In bytes. */
6
+ readonly size: number;
7
+ /** Shown inline for an image. */
8
+ readonly url: string;
9
+ readonly downloadUrl: string;
10
+ /** A safe image the browser may show. */
11
+ readonly image: boolean;
12
+ /** The reader may remove it. */
13
+ readonly canRemove?: boolean;
14
+ }
15
+ export interface AttachmentLabels {
16
+ readonly title: string;
17
+ readonly images: string;
18
+ readonly files: string;
19
+ readonly pending: string;
20
+ readonly upload: string;
21
+ /** `{name}` is the file. */
22
+ readonly preview: string;
23
+ readonly download: string;
24
+ readonly remove: string;
25
+ readonly uploading: string;
26
+ readonly removeTitle: string;
27
+ readonly removeDescription: string;
28
+ readonly removeConfirm: string;
29
+ readonly cancel: string;
30
+ readonly previous: string;
31
+ readonly next: string;
32
+ }
33
+ export interface AttachmentListProps {
34
+ readonly files: readonly AttachmentFile[];
35
+ /** Previews a file the consumer's way, stepping through `files` from `index`; every file opens it. */
36
+ readonly onPreview?: (files: readonly AttachmentFile[], index: number) => void;
37
+ /** Asks to remove a file the reader may remove; the consumer confirms it. */
38
+ readonly onRemove?: (file: AttachmentFile) => void;
39
+ readonly removingId?: string | null;
40
+ readonly locale?: string;
41
+ readonly labels?: AttachmentLabels;
42
+ readonly className?: string;
43
+ }
44
+ export declare function AttachmentList({ files, onPreview, onRemove, removingId, locale, labels, className, }: AttachmentListProps): ReactElement | null;
45
+ /** A file being added: its name while it uploads, then a chip that can be taken back. */
46
+ export interface PendingAttachment {
47
+ readonly key: string;
48
+ readonly name: string;
49
+ readonly size: number;
50
+ /** Uploaded: its thumbnail when it is an image. */
51
+ readonly done: boolean;
52
+ readonly thumbnailUrl?: string | null;
53
+ }
54
+ /** The files added to a message before it is sent. */
55
+ export declare function PendingAttachments({ files, onRemove, locale, labels, }: {
56
+ readonly files: readonly PendingAttachment[];
57
+ readonly onRemove: (key: string) => void;
58
+ readonly locale?: string;
59
+ readonly labels?: AttachmentLabels;
60
+ }): ReactElement | null;
61
+ export interface AttachmentPanelProps extends Omit<AttachmentListProps, 'onRemove' | 'className'> {
62
+ /** Takes picked, pasted or dropped files; without it, the panel only lists. Nothing renders without files then. */
63
+ readonly onUpload?: (files: readonly File[]) => void;
64
+ /** The names of the files uploading now. */
65
+ readonly uploading?: readonly string[];
66
+ /** Under the title, such as the size limit. */
67
+ readonly hint?: string;
68
+ /** Removes a file after the item confirmed it. */
69
+ readonly onRemove?: (file: AttachmentFile) => Promise<void>;
70
+ readonly className?: string;
71
+ }
72
+ /**
73
+ * A record's own files as a section: "Upload", or paste and drop while it has focus; removing asks first. Without
74
+ * files it is one compact row.
75
+ */
76
+ export declare function AttachmentPanel({ files, onUpload, uploading, hint, onRemove, labels, className, ...list }: AttachmentPanelProps): ReactElement | null;
77
+ //# sourceMappingURL=attachment-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-list.d.ts","sourceRoot":"","sources":["../../../client/components/attachment-list.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Copied from ui-library/registry/components/attachment-list.tsx at 98e79a5a65; imports bind to this plugin's primitives.
4
+ *
5
+ * Files on a record or a message, presented: safe images as thumbnails and everything else as a chip with its name,
6
+ * size and a download (`AttachmentList`); the files waiting to go with a message (`PendingAttachments`); and a section
7
+ * of a record's files that takes uploads by picking, pasting or dropping (`AttachmentPanel`). Purely presentational:
8
+ * the consumer gives the files and hears about previews, uploads and removals. Without `onPreview`, images open in
9
+ * the item's own dialog and other files download. Every word comes from `labels`, English by default; `{name}`-style
10
+ * placeholders are filled in here.
11
+ */
12
+ import { ChevronLeftIcon, ChevronRightIcon, DownloadIcon, FileIcon, Loader2Icon, PaperclipIcon, UploadIcon, XIcon, } from 'lucide-react';
13
+ import { useRef, useState, } from 'react';
14
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from './ui/alert-dialog.js';
15
+ import { Button } from './ui/button.js';
16
+ import { Dialog, DialogContent, DialogTitle } from './ui/dialog.js';
17
+ import { cn } from 'cn';
18
+ const defaultLabels = {
19
+ title: 'Attachments',
20
+ images: 'Images',
21
+ files: 'Files',
22
+ pending: 'Files to send',
23
+ upload: 'Upload',
24
+ preview: 'Preview {name}',
25
+ download: 'Download {name}',
26
+ remove: 'Remove {name}',
27
+ uploading: 'Uploading {name}…',
28
+ removeTitle: 'Remove this file?',
29
+ removeDescription: '“{name}” is deleted for everyone.',
30
+ removeConfirm: 'Remove',
31
+ cancel: 'Cancel',
32
+ previous: 'Previous file',
33
+ next: 'Next file',
34
+ };
35
+ function fill(text, values) {
36
+ return text.replace(/\{(\w+)\}/gu, (whole, key) => key in values ? (values[key] ?? whole) : whole);
37
+ }
38
+ function bytes(size, locale) {
39
+ const units = ['B', 'KB', 'MB', 'GB'];
40
+ let value = size;
41
+ let unit = 0;
42
+ while (value >= 1024 && unit < units.length - 1) {
43
+ value /= 1024;
44
+ unit += 1;
45
+ }
46
+ const number = new Intl.NumberFormat(locale, {
47
+ maximumFractionDigits: unit === 0 ? 0 : 1,
48
+ }).format(value);
49
+ return `${number} ${units[unit] ?? 'B'}`;
50
+ }
51
+ export function AttachmentList({ files, onPreview, onRemove, removingId = null, locale, labels = defaultLabels, className, }) {
52
+ const [shown, setShown] = useState(null);
53
+ const images = files.filter((file) => file.image);
54
+ const others = files.filter((file) => !file.image);
55
+ // The consumer's preview steps through every file; the item's own only through the images.
56
+ const previewed = onPreview ? [...images, ...others] : images;
57
+ if (files.length === 0)
58
+ return null;
59
+ const open = (file) => {
60
+ const index = previewed.indexOf(file);
61
+ if (onPreview)
62
+ onPreview(previewed, index);
63
+ else
64
+ setShown(index);
65
+ };
66
+ const removeButton = (file, overlay) => onRemove && file.canRemove ? (_jsx(Button, { variant: overlay ? 'secondary' : 'ghost', size: 'icon-xs', className: cn(overlay &&
67
+ 'absolute top-1 right-1 opacity-90 shadow-sm sm:opacity-0 sm:group-hover:opacity-100 sm:focus-visible:opacity-100'), "aria-label": fill(labels.remove, { name: file.name }), disabled: removingId === file.id, onClick: () => onRemove(file), children: removingId === file.id ? (_jsx(Loader2Icon, { className: 'animate-spin' })) : (_jsx(XIcon, {})) })) : null;
68
+ return (_jsxs("div", { className: cn('flex min-w-0 flex-col gap-2', className), "data-slot": 'attachment-list', children: [images.length > 0 ? (_jsx("ul", { className: 'flex flex-wrap gap-2', "aria-label": labels.images, children: images.map((file) => (_jsxs("li", { className: 'group relative', children: [_jsx("button", { type: 'button', className: 'block size-20 overflow-hidden rounded-md border bg-muted focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none sm:size-24', "aria-label": fill(labels.preview, { name: file.name }), title: `${file.name} · ${bytes(file.size, locale)}`, onClick: () => open(file), children: _jsx("img", { src: file.url, alt: file.name, loading: 'lazy', className: 'size-full object-cover' }) }), removeButton(file, true)] }, file.id))) })) : null, others.length > 0 ? (_jsx("ul", { className: 'flex min-w-0 flex-wrap gap-2', "aria-label": labels.files, children: others.map((file) => (_jsxs("li", { className: 'flex max-w-full min-w-0 items-center gap-1 rounded-md border bg-background py-1 pr-1 pl-2 text-sm', children: [_jsx(FileIcon, { className: 'size-3.5 shrink-0 text-muted-foreground', "aria-hidden": 'true' }), onPreview ? (_jsx("button", { type: 'button', className: 'min-w-0 truncate text-left hover:underline focus-visible:underline focus-visible:outline-none', "aria-label": fill(labels.preview, { name: file.name }), onClick: () => open(file), children: file.name })) : (_jsx("a", { href: file.downloadUrl, download: file.name, className: 'min-w-0 truncate hover:underline', children: file.name })), _jsx("span", { className: 'shrink-0 text-xs text-muted-foreground tabular-nums', children: bytes(file.size, locale) }), _jsx(Button, { variant: 'ghost', size: 'icon-xs', className: 'shrink-0 text-muted-foreground', "aria-label": fill(labels.download, { name: file.name }), render: _jsx("a", { href: file.downloadUrl, download: file.name }), nativeButton: false, children: _jsx(DownloadIcon, {}) }), removeButton(file, false)] }, file.id))) })) : null, shown !== null && shown >= 0 ? (_jsx(ImagePreview, { files: previewed, index: shown, labels: labels, onClose: () => setShown(null) })) : null] }));
69
+ }
70
+ /** The item's own preview: images one at a time, with stepping and a download. */
71
+ function ImagePreview({ files, index: initial, labels, onClose, }) {
72
+ const [index, setIndex] = useState(initial);
73
+ const file = files[index];
74
+ if (!file)
75
+ return null;
76
+ const step = (by) => setIndex((value) => (value + by + files.length) % files.length);
77
+ return (_jsx(Dialog, { open: true, onOpenChange: (open) => {
78
+ if (!open)
79
+ onClose();
80
+ }, children: _jsxs(DialogContent, { className: 'flex max-h-[calc(100dvh-2rem)] max-w-[calc(100%-2rem)] flex-col gap-3 sm:max-w-4xl', children: [_jsxs("div", { className: 'flex min-w-0 items-center gap-2 pr-8', children: [_jsx(DialogTitle, { className: 'min-w-0 flex-1 truncate', children: file.name }), files.length > 1 ? (_jsxs(_Fragment, { children: [_jsx(Button, { variant: 'ghost', size: 'icon-sm', "aria-label": labels.previous, onClick: () => step(-1), children: _jsx(ChevronLeftIcon, {}) }), _jsx(Button, { variant: 'ghost', size: 'icon-sm', "aria-label": labels.next, onClick: () => step(1), children: _jsx(ChevronRightIcon, {}) })] })) : null, _jsx(Button, { variant: 'ghost', size: 'icon-sm', "aria-label": fill(labels.download, { name: file.name }), render: _jsx("a", { href: file.downloadUrl, download: file.name }), nativeButton: false, children: _jsx(DownloadIcon, {}) })] }), _jsx("div", { className: 'flex min-h-0 flex-1 items-center justify-center overflow-auto', children: _jsx("img", { src: file.url, alt: file.name, className: 'max-h-[75dvh] max-w-full object-contain' }) })] }) }));
81
+ }
82
+ /** The files added to a message before it is sent. */
83
+ export function PendingAttachments({ files, onRemove, locale, labels = defaultLabels, }) {
84
+ if (files.length === 0)
85
+ return null;
86
+ return (_jsx("ul", { className: 'flex min-w-0 flex-wrap gap-2', "aria-label": labels.pending, "data-testid": 'pending-attachments', children: files.map((file) => (_jsxs("li", { className: 'flex max-w-full min-w-0 items-center gap-1.5 rounded-md border bg-background py-1 pr-1 pl-2 text-sm', children: [file.done && file.thumbnailUrl ? (_jsx("img", { src: file.thumbnailUrl, alt: '', className: 'size-5 shrink-0 rounded-sm object-cover' })) : file.done ? (_jsx(FileIcon, { className: 'size-3.5 shrink-0 text-muted-foreground', "aria-hidden": 'true' })) : (_jsx(Loader2Icon, { className: 'size-3.5 shrink-0 animate-spin', "aria-label": fill(labels.uploading, { name: file.name }) })), _jsx("span", { className: 'min-w-0 truncate', children: file.name }), _jsx("span", { className: 'shrink-0 text-xs text-muted-foreground tabular-nums', children: bytes(file.size, locale) }), _jsx(Button, { variant: 'ghost', size: 'icon-xs', "aria-label": fill(labels.remove, { name: file.name }), onClick: () => onRemove(file.key), children: _jsx(XIcon, {}) })] }, file.key))) }));
87
+ }
88
+ /**
89
+ * A record's own files as a section: "Upload", or paste and drop while it has focus; removing asks first. Without
90
+ * files it is one compact row.
91
+ */
92
+ export function AttachmentPanel({ files, onUpload, uploading = [], hint, onRemove, labels = defaultLabels, className, ...list }) {
93
+ const inputRef = useRef(null);
94
+ const [dragging, setDragging] = useState(false);
95
+ const [removing, setRemoving] = useState(null);
96
+ const [busyId, setBusyId] = useState(null);
97
+ if (files.length === 0 && !onUpload)
98
+ return null;
99
+ const empty = files.length === 0;
100
+ const status = uploading.length > 0
101
+ ? fill(labels.uploading, { name: uploading[0] ?? '' })
102
+ : hint;
103
+ const dropHandlers = onUpload
104
+ ? {
105
+ onDragOver: (event) => {
106
+ if (!event.dataTransfer.types.includes('Files'))
107
+ return;
108
+ event.preventDefault();
109
+ setDragging(true);
110
+ },
111
+ onDragLeave: () => setDragging(false),
112
+ onDrop: (event) => {
113
+ setDragging(false);
114
+ if (event.dataTransfer.files.length === 0)
115
+ return;
116
+ event.preventDefault();
117
+ onUpload([...event.dataTransfer.files]);
118
+ },
119
+ onPaste: (event) => {
120
+ const pasted = [...event.clipboardData.files];
121
+ if (pasted.length === 0)
122
+ return;
123
+ event.preventDefault();
124
+ onUpload(pasted);
125
+ },
126
+ }
127
+ : {};
128
+ const uploadButton = onUpload ? (_jsxs(_Fragment, { children: [_jsxs(Button, { variant: 'ghost', size: 'sm', disabled: uploading.length > 0, onClick: () => inputRef.current?.click(), children: [uploading.length > 0 ? (_jsx(Loader2Icon, { "data-icon": 'inline-start', className: 'animate-spin' })) : (_jsx(UploadIcon, { "data-icon": 'inline-start' })), labels.upload] }), _jsx("input", { ref: inputRef, type: 'file', multiple: true, hidden: true, "data-testid": 'attachment-file-input', onChange: (event) => {
129
+ onUpload([...(event.target.files ?? [])]);
130
+ event.target.value = '';
131
+ } })] })) : null;
132
+ return (_jsxs("section", { "aria-label": labels.title, tabIndex: onUpload ? 0 : undefined, className: cn('rounded-lg outline-none focus-visible:ring-2 focus-visible:ring-ring', empty
133
+ ? 'flex flex-wrap items-center justify-between gap-2 border border-dashed px-4 py-2'
134
+ : 'space-y-3 border bg-card p-4 text-card-foreground', dragging && 'border-primary bg-primary/5', className), "data-slot": 'attachment-panel', ...dropHandlers, children: [empty ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: 'flex min-w-0 items-center gap-2 text-sm text-muted-foreground', children: [_jsx(PaperclipIcon, { className: 'size-4 shrink-0', "aria-hidden": 'true' }), _jsx("h2", { className: 'font-medium', children: labels.title }), status ? (_jsx("span", { className: 'hidden truncate sm:inline', children: status })) : null] }), uploadButton] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: 'flex items-start justify-between gap-2', children: [_jsxs("div", { className: 'min-w-0', children: [_jsxs("h2", { className: 'flex items-center gap-2 text-sm font-semibold', children: [labels.title, _jsx("span", { className: 'text-xs font-normal text-muted-foreground tabular-nums', children: files.length })] }), status ? (_jsx("p", { className: 'text-xs text-muted-foreground', children: status })) : null] }), uploadButton] }), _jsx(AttachmentList, { files: files, labels: labels, removingId: busyId, ...list, ...(onRemove ? { onRemove: setRemoving } : {}) })] })), _jsx(AlertDialog, { open: removing !== null, onOpenChange: (open) => {
135
+ if (!open)
136
+ setRemoving(null);
137
+ }, children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: labels.removeTitle }), _jsx(AlertDialogDescription, { children: fill(labels.removeDescription, { name: removing?.name ?? '' }) })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { disabled: busyId !== null, children: labels.cancel }), _jsx(AlertDialogAction, { variant: 'destructive', disabled: busyId !== null, onClick: () => {
138
+ if (!removing || !onRemove)
139
+ return;
140
+ setBusyId(removing.id);
141
+ void onRemove(removing)
142
+ .then(() => setRemoving(null))
143
+ .catch(() => undefined)
144
+ .finally(() => setBusyId(null));
145
+ }, children: labels.removeConfirm })] })] }) })] }));
146
+ }
147
+ //# sourceMappingURL=attachment-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-list.js","sourceRoot":"","sources":["../../../client/components/attachment-list.tsx"],"names":[],"mappings":"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"}