@strapi/review-workflows 0.0.0-next.f09bff0783c6e3dfd3c34ed73b6f1a47de7b8d80 → 0.0.0-next.f0bfcece1007e5aa527570187635aefc86db536e

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 (387) hide show
  1. package/dist/admin/{chunks/index-2VGAYchq.mjs → assets/balloon.png.js} +3 -1078
  2. package/dist/admin/assets/balloon.png.js.map +1 -0
  3. package/dist/admin/{chunks/index-CEABZUwQ.js → assets/balloon.png.mjs} +2 -1113
  4. package/dist/admin/assets/balloon.png.mjs.map +1 -0
  5. package/dist/admin/assets/purchase-page-illustration-dark.svg.js +6 -0
  6. package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +1 -0
  7. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +4 -0
  8. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +1 -0
  9. package/dist/admin/{chunks/purchase-review-workflows-BJkm1_Dd.mjs → assets/purchase-page-illustration-light.svg.js} +3 -177
  10. package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +1 -0
  11. package/dist/admin/{chunks/purchase-review-workflows-BQL0PbmB.js → assets/purchase-page-illustration-light.svg.mjs} +2 -180
  12. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +1 -0
  13. package/dist/admin/components/LimitsModal.js +122 -0
  14. package/dist/admin/components/LimitsModal.js.map +1 -0
  15. package/dist/admin/components/LimitsModal.mjs +120 -0
  16. package/dist/admin/components/LimitsModal.mjs.map +1 -0
  17. package/dist/admin/components/Widgets.js +142 -0
  18. package/dist/admin/components/Widgets.js.map +1 -0
  19. package/dist/admin/components/Widgets.mjs +140 -0
  20. package/dist/admin/components/Widgets.mjs.map +1 -0
  21. package/dist/admin/constants.js +18 -0
  22. package/dist/admin/constants.js.map +1 -0
  23. package/dist/admin/constants.mjs +12 -0
  24. package/dist/admin/constants.mjs.map +1 -0
  25. package/dist/admin/index.js +111 -13
  26. package/dist/admin/index.js.map +1 -1
  27. package/dist/admin/index.mjs +112 -12
  28. package/dist/admin/index.mjs.map +1 -1
  29. package/dist/admin/modules/hooks.js +8 -0
  30. package/dist/admin/modules/hooks.js.map +1 -0
  31. package/dist/admin/modules/hooks.mjs +6 -0
  32. package/dist/admin/modules/hooks.mjs.map +1 -0
  33. package/dist/admin/{chunks/router-Cc8VcSCc.js → router.js} +3 -3
  34. package/dist/admin/router.js.map +1 -0
  35. package/dist/admin/{chunks/router-JyFAzv9_.mjs → router.mjs} +3 -3
  36. package/dist/admin/router.mjs.map +1 -0
  37. package/dist/admin/routes/content-manager/model/components/TableColumns.js +44 -0
  38. package/dist/admin/routes/content-manager/model/components/TableColumns.js.map +1 -0
  39. package/dist/admin/routes/content-manager/model/components/TableColumns.mjs +41 -0
  40. package/dist/admin/routes/content-manager/model/components/TableColumns.mjs.map +1 -0
  41. package/dist/admin/routes/content-manager/model/constants.js +60 -0
  42. package/dist/admin/routes/content-manager/model/constants.js.map +1 -0
  43. package/dist/admin/routes/content-manager/model/constants.mjs +58 -0
  44. package/dist/admin/routes/content-manager/model/constants.mjs.map +1 -0
  45. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js +169 -0
  46. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js.map +1 -0
  47. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs +148 -0
  48. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs.map +1 -0
  49. package/dist/admin/routes/content-manager/model/id/components/Header.js +31 -0
  50. package/dist/admin/routes/content-manager/model/id/components/Header.js.map +1 -0
  51. package/dist/admin/routes/content-manager/model/id/components/Header.mjs +29 -0
  52. package/dist/admin/routes/content-manager/model/id/components/Header.mjs.map +1 -0
  53. package/dist/admin/routes/content-manager/model/id/components/Panel.js +39 -0
  54. package/dist/admin/routes/content-manager/model/id/components/Panel.js.map +1 -0
  55. package/dist/admin/routes/content-manager/model/id/components/Panel.mjs +37 -0
  56. package/dist/admin/routes/content-manager/model/id/components/Panel.mjs.map +1 -0
  57. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js +329 -0
  58. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js.map +1 -0
  59. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs +308 -0
  60. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs.map +1 -0
  61. package/dist/admin/routes/content-manager/model/id/components/constants.js +8 -0
  62. package/dist/admin/routes/content-manager/model/id/components/constants.js.map +1 -0
  63. package/dist/admin/routes/content-manager/model/id/components/constants.mjs +5 -0
  64. package/dist/admin/routes/content-manager/model/id/components/constants.mjs.map +1 -0
  65. package/dist/admin/routes/purchase-review-workflows.js +194 -0
  66. package/dist/admin/routes/purchase-review-workflows.js.map +1 -0
  67. package/dist/admin/routes/purchase-review-workflows.mjs +192 -0
  68. package/dist/admin/routes/purchase-review-workflows.mjs.map +1 -0
  69. package/dist/admin/routes/settings/components/AddStage.js +51 -0
  70. package/dist/admin/routes/settings/components/AddStage.js.map +1 -0
  71. package/dist/admin/routes/settings/components/AddStage.mjs +49 -0
  72. package/dist/admin/routes/settings/components/AddStage.mjs.map +1 -0
  73. package/dist/admin/routes/settings/components/Layout.js +86 -0
  74. package/dist/admin/routes/settings/components/Layout.js.map +1 -0
  75. package/dist/admin/routes/settings/components/Layout.mjs +82 -0
  76. package/dist/admin/routes/settings/components/Layout.mjs.map +1 -0
  77. package/dist/admin/routes/settings/components/StageDragPreview.js +40 -0
  78. package/dist/admin/routes/settings/components/StageDragPreview.js.map +1 -0
  79. package/dist/admin/routes/settings/components/StageDragPreview.mjs +38 -0
  80. package/dist/admin/routes/settings/components/StageDragPreview.mjs.map +1 -0
  81. package/dist/admin/routes/settings/components/Stages.js +591 -0
  82. package/dist/admin/routes/settings/components/Stages.js.map +1 -0
  83. package/dist/admin/routes/settings/components/Stages.mjs +570 -0
  84. package/dist/admin/routes/settings/components/Stages.mjs.map +1 -0
  85. package/dist/admin/routes/settings/components/WorkflowAttributes.js +203 -0
  86. package/dist/admin/routes/settings/components/WorkflowAttributes.js.map +1 -0
  87. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs +201 -0
  88. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs.map +1 -0
  89. package/dist/admin/routes/settings/constants.js +8 -0
  90. package/dist/admin/routes/settings/constants.js.map +1 -0
  91. package/dist/admin/routes/settings/constants.mjs +6 -0
  92. package/dist/admin/routes/settings/constants.mjs.map +1 -0
  93. package/dist/admin/routes/settings/hooks/useDragAndDrop.js +193 -0
  94. package/dist/admin/routes/settings/hooks/useDragAndDrop.js.map +1 -0
  95. package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs +170 -0
  96. package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs.map +1 -0
  97. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js +94 -0
  98. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js.map +1 -0
  99. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs +73 -0
  100. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs.map +1 -0
  101. package/dist/admin/{chunks/Layout-COWXwu3C.js → routes/settings/hooks/useReviewWorkflows.js} +6 -125
  102. package/dist/admin/routes/settings/hooks/useReviewWorkflows.js.map +1 -0
  103. package/dist/admin/{chunks/Layout-CsShRydy.mjs → routes/settings/hooks/useReviewWorkflows.mjs} +4 -119
  104. package/dist/admin/routes/settings/hooks/useReviewWorkflows.mjs.map +1 -0
  105. package/dist/admin/routes/settings/id.js +404 -0
  106. package/dist/admin/routes/settings/id.js.map +1 -0
  107. package/dist/admin/routes/settings/id.mjs +382 -0
  108. package/dist/admin/routes/settings/id.mjs.map +1 -0
  109. package/dist/admin/{chunks/index-7Tk-SHLf.js → routes/settings/index.js} +15 -15
  110. package/dist/admin/routes/settings/index.js.map +1 -0
  111. package/dist/admin/{chunks/index-BXlkcM4s.mjs → routes/settings/index.mjs} +7 -7
  112. package/dist/admin/routes/settings/index.mjs.map +1 -0
  113. package/dist/admin/services/admin.js +23 -0
  114. package/dist/admin/services/admin.js.map +1 -0
  115. package/dist/admin/services/admin.mjs +21 -0
  116. package/dist/admin/services/admin.mjs.map +1 -0
  117. package/dist/admin/services/api.js +15 -0
  118. package/dist/admin/services/api.js.map +1 -0
  119. package/dist/admin/services/api.mjs +13 -0
  120. package/dist/admin/services/api.mjs.map +1 -0
  121. package/dist/admin/services/content-manager.js +116 -0
  122. package/dist/admin/services/content-manager.js.map +1 -0
  123. package/dist/admin/services/content-manager.mjs +110 -0
  124. package/dist/admin/services/content-manager.mjs.map +1 -0
  125. package/dist/admin/services/settings.js +123 -0
  126. package/dist/admin/services/settings.js.map +1 -0
  127. package/dist/admin/services/settings.mjs +118 -0
  128. package/dist/admin/services/settings.mjs.map +1 -0
  129. package/dist/admin/src/components/Widgets.d.ts +2 -0
  130. package/dist/admin/src/services/admin.d.ts +1 -1
  131. package/dist/admin/src/services/api.d.ts +1 -1
  132. package/dist/admin/src/services/content-manager.d.ts +6 -5
  133. package/dist/admin/src/services/settings.d.ts +3 -3
  134. package/dist/admin/{chunks/en-BNGiWajd.js → translations/en.json.js} +5 -3
  135. package/dist/admin/translations/en.json.js.map +1 -0
  136. package/dist/admin/{chunks/en-BrZXFtVv.mjs → translations/en.json.mjs} +4 -2
  137. package/dist/admin/translations/en.json.mjs.map +1 -0
  138. package/dist/admin/{chunks/uk-CbRUr1I7.js → translations/uk.json.js} +2 -2
  139. package/dist/admin/translations/uk.json.js.map +1 -0
  140. package/dist/admin/{chunks/uk-DLlzEBUF.mjs → translations/uk.json.mjs} +1 -1
  141. package/dist/admin/translations/uk.json.mjs.map +1 -0
  142. package/dist/admin/utils/api.js +22 -0
  143. package/dist/admin/utils/api.js.map +1 -0
  144. package/dist/admin/utils/api.mjs +19 -0
  145. package/dist/admin/utils/api.mjs.map +1 -0
  146. package/dist/admin/utils/cm-hooks.js +23 -0
  147. package/dist/admin/utils/cm-hooks.js.map +1 -0
  148. package/dist/admin/utils/cm-hooks.mjs +21 -0
  149. package/dist/admin/utils/cm-hooks.mjs.map +1 -0
  150. package/dist/admin/utils/colors.js +50 -0
  151. package/dist/admin/utils/colors.js.map +1 -0
  152. package/dist/admin/utils/colors.mjs +47 -0
  153. package/dist/admin/utils/colors.mjs.map +1 -0
  154. package/dist/admin/utils/translations.js +11 -0
  155. package/dist/admin/utils/translations.js.map +1 -0
  156. package/dist/admin/utils/translations.mjs +9 -0
  157. package/dist/admin/utils/translations.mjs.map +1 -0
  158. package/dist/admin/utils/users.js +17 -0
  159. package/dist/admin/utils/users.js.map +1 -0
  160. package/dist/admin/utils/users.mjs +15 -0
  161. package/dist/admin/utils/users.mjs.map +1 -0
  162. package/dist/server/bootstrap.js +54 -0
  163. package/dist/server/bootstrap.js.map +1 -0
  164. package/dist/server/bootstrap.mjs +52 -0
  165. package/dist/server/bootstrap.mjs.map +1 -0
  166. package/dist/server/config/actions.js +47 -0
  167. package/dist/server/config/actions.js.map +1 -0
  168. package/dist/server/config/actions.mjs +45 -0
  169. package/dist/server/config/actions.mjs.map +1 -0
  170. package/dist/server/constants/default-stages.json.js +23 -0
  171. package/dist/server/constants/default-stages.json.js.map +1 -0
  172. package/dist/server/constants/default-stages.json.mjs +21 -0
  173. package/dist/server/constants/default-stages.json.mjs.map +1 -0
  174. package/dist/server/constants/default-workflow.json.js +12 -0
  175. package/dist/server/constants/default-workflow.json.js.map +1 -0
  176. package/dist/server/constants/default-workflow.json.mjs +7 -0
  177. package/dist/server/constants/default-workflow.json.mjs.map +1 -0
  178. package/dist/server/constants/webhook-events.js +12 -0
  179. package/dist/server/constants/webhook-events.js.map +1 -0
  180. package/dist/server/constants/webhook-events.mjs +7 -0
  181. package/dist/server/constants/webhook-events.mjs.map +1 -0
  182. package/dist/server/constants/workflows.js +53 -0
  183. package/dist/server/constants/workflows.js.map +1 -0
  184. package/dist/server/constants/workflows.mjs +42 -0
  185. package/dist/server/constants/workflows.mjs.map +1 -0
  186. package/dist/server/content-types/index.js +12 -0
  187. package/dist/server/content-types/index.js.map +1 -0
  188. package/dist/server/content-types/index.mjs +10 -0
  189. package/dist/server/content-types/index.mjs.map +1 -0
  190. package/dist/server/content-types/workflow/index.js +50 -0
  191. package/dist/server/content-types/workflow/index.js.map +1 -0
  192. package/dist/server/content-types/workflow/index.mjs +48 -0
  193. package/dist/server/content-types/workflow/index.mjs.map +1 -0
  194. package/dist/server/content-types/workflow-stage/index.js +54 -0
  195. package/dist/server/content-types/workflow-stage/index.js.map +1 -0
  196. package/dist/server/content-types/workflow-stage/index.mjs +52 -0
  197. package/dist/server/content-types/workflow-stage/index.mjs.map +1 -0
  198. package/dist/server/controllers/assignees.js +57 -0
  199. package/dist/server/controllers/assignees.js.map +1 -0
  200. package/dist/server/controllers/assignees.mjs +55 -0
  201. package/dist/server/controllers/assignees.mjs.map +1 -0
  202. package/dist/server/controllers/index.js +16 -0
  203. package/dist/server/controllers/index.js.map +1 -0
  204. package/dist/server/controllers/index.mjs +14 -0
  205. package/dist/server/controllers/index.mjs.map +1 -0
  206. package/dist/server/controllers/stages.js +167 -0
  207. package/dist/server/controllers/stages.js.map +1 -0
  208. package/dist/server/controllers/stages.mjs +165 -0
  209. package/dist/server/controllers/stages.mjs.map +1 -0
  210. package/dist/server/controllers/workflows.js +136 -0
  211. package/dist/server/controllers/workflows.js.map +1 -0
  212. package/dist/server/controllers/workflows.mjs +134 -0
  213. package/dist/server/controllers/workflows.mjs.map +1 -0
  214. package/dist/server/destroy.js +6 -0
  215. package/dist/server/destroy.js.map +1 -0
  216. package/dist/server/destroy.mjs +4 -0
  217. package/dist/server/destroy.mjs.map +1 -0
  218. package/dist/server/homepage/controllers/homepage.js +15 -0
  219. package/dist/server/homepage/controllers/homepage.js.map +1 -0
  220. package/dist/server/homepage/controllers/homepage.mjs +13 -0
  221. package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
  222. package/dist/server/homepage/controllers/index.js +10 -0
  223. package/dist/server/homepage/controllers/index.js.map +1 -0
  224. package/dist/server/homepage/controllers/index.mjs +8 -0
  225. package/dist/server/homepage/controllers/index.mjs.map +1 -0
  226. package/dist/server/homepage/index.js +14 -0
  227. package/dist/server/homepage/index.js.map +1 -0
  228. package/dist/server/homepage/index.mjs +12 -0
  229. package/dist/server/homepage/index.mjs.map +1 -0
  230. package/dist/server/homepage/routes/homepage.js +25 -0
  231. package/dist/server/homepage/routes/homepage.js.map +1 -0
  232. package/dist/server/homepage/routes/homepage.mjs +23 -0
  233. package/dist/server/homepage/routes/homepage.mjs.map +1 -0
  234. package/dist/server/homepage/routes/index.js +10 -0
  235. package/dist/server/homepage/routes/index.js.map +1 -0
  236. package/dist/server/homepage/routes/index.mjs +8 -0
  237. package/dist/server/homepage/routes/index.mjs.map +1 -0
  238. package/dist/server/homepage/services/homepage.js +24 -0
  239. package/dist/server/homepage/services/homepage.js.map +1 -0
  240. package/dist/server/homepage/services/homepage.mjs +22 -0
  241. package/dist/server/homepage/services/homepage.mjs.map +1 -0
  242. package/dist/server/homepage/services/index.js +10 -0
  243. package/dist/server/homepage/services/index.js.map +1 -0
  244. package/dist/server/homepage/services/index.mjs +8 -0
  245. package/dist/server/homepage/services/index.mjs.map +1 -0
  246. package/dist/server/index.js +12 -2333
  247. package/dist/server/index.js.map +1 -1
  248. package/dist/server/index.mjs +7 -2328
  249. package/dist/server/index.mjs.map +1 -1
  250. package/dist/server/middlewares/review-workflows.js +42 -0
  251. package/dist/server/middlewares/review-workflows.js.map +1 -0
  252. package/dist/server/middlewares/review-workflows.mjs +37 -0
  253. package/dist/server/middlewares/review-workflows.mjs.map +1 -0
  254. package/dist/server/migrations/handle-deleted-ct-in-workflows.js +40 -0
  255. package/dist/server/migrations/handle-deleted-ct-in-workflows.js.map +1 -0
  256. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs +38 -0
  257. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs.map +1 -0
  258. package/dist/server/migrations/multiple-workflows.js +41 -0
  259. package/dist/server/migrations/multiple-workflows.js.map +1 -0
  260. package/dist/server/migrations/multiple-workflows.mjs +39 -0
  261. package/dist/server/migrations/multiple-workflows.mjs.map +1 -0
  262. package/dist/server/migrations/set-stages-default-color.js +22 -0
  263. package/dist/server/migrations/set-stages-default-color.js.map +1 -0
  264. package/dist/server/migrations/set-stages-default-color.mjs +20 -0
  265. package/dist/server/migrations/set-stages-default-color.mjs.map +1 -0
  266. package/dist/server/migrations/set-stages-roles.js +56 -0
  267. package/dist/server/migrations/set-stages-roles.js.map +1 -0
  268. package/dist/server/migrations/set-stages-roles.mjs +54 -0
  269. package/dist/server/migrations/set-stages-roles.mjs.map +1 -0
  270. package/dist/server/migrations/set-workflow-default-name.js +29 -0
  271. package/dist/server/migrations/set-workflow-default-name.js.map +1 -0
  272. package/dist/server/migrations/set-workflow-default-name.mjs +27 -0
  273. package/dist/server/migrations/set-workflow-default-name.mjs.map +1 -0
  274. package/dist/server/migrations/shorten-stage-attribute.js +45 -0
  275. package/dist/server/migrations/shorten-stage-attribute.js.map +1 -0
  276. package/dist/server/migrations/shorten-stage-attribute.mjs +43 -0
  277. package/dist/server/migrations/shorten-stage-attribute.mjs.map +1 -0
  278. package/dist/server/register.js +116 -0
  279. package/dist/server/register.js.map +1 -0
  280. package/dist/server/register.mjs +114 -0
  281. package/dist/server/register.mjs.map +1 -0
  282. package/dist/server/routes/index.js +12 -0
  283. package/dist/server/routes/index.js.map +1 -0
  284. package/dist/server/routes/index.mjs +10 -0
  285. package/dist/server/routes/index.mjs.map +1 -0
  286. package/dist/server/routes/review-workflows.js +186 -0
  287. package/dist/server/routes/review-workflows.js.map +1 -0
  288. package/dist/server/routes/review-workflows.mjs +184 -0
  289. package/dist/server/routes/review-workflows.mjs.map +1 -0
  290. package/dist/server/routes/utils.js +11 -0
  291. package/dist/server/routes/utils.js.map +1 -0
  292. package/dist/server/routes/utils.mjs +9 -0
  293. package/dist/server/routes/utils.mjs.map +1 -0
  294. package/dist/server/services/assignees.js +68 -0
  295. package/dist/server/services/assignees.js.map +1 -0
  296. package/dist/server/services/assignees.mjs +66 -0
  297. package/dist/server/services/assignees.mjs.map +1 -0
  298. package/dist/server/services/document-service-middleware.js +130 -0
  299. package/dist/server/services/document-service-middleware.js.map +1 -0
  300. package/dist/server/services/document-service-middleware.mjs +128 -0
  301. package/dist/server/services/document-service-middleware.mjs.map +1 -0
  302. package/dist/server/services/index.js +26 -0
  303. package/dist/server/services/index.js.map +1 -0
  304. package/dist/server/services/index.mjs +24 -0
  305. package/dist/server/services/index.mjs.map +1 -0
  306. package/dist/server/services/metrics/index.js +67 -0
  307. package/dist/server/services/metrics/index.js.map +1 -0
  308. package/dist/server/services/metrics/index.mjs +55 -0
  309. package/dist/server/services/metrics/index.mjs.map +1 -0
  310. package/dist/server/services/metrics/weekly-metrics.js +84 -0
  311. package/dist/server/services/metrics/weekly-metrics.js.map +1 -0
  312. package/dist/server/services/metrics/weekly-metrics.mjs +82 -0
  313. package/dist/server/services/metrics/weekly-metrics.mjs.map +1 -0
  314. package/dist/server/services/stage-permissions.js +59 -0
  315. package/dist/server/services/stage-permissions.js.map +1 -0
  316. package/dist/server/services/stage-permissions.mjs +57 -0
  317. package/dist/server/services/stage-permissions.mjs.map +1 -0
  318. package/dist/server/services/stages.js +353 -0
  319. package/dist/server/services/stages.js.map +1 -0
  320. package/dist/server/services/stages.mjs +351 -0
  321. package/dist/server/services/stages.mjs.map +1 -0
  322. package/dist/server/services/validation.js +69 -0
  323. package/dist/server/services/validation.js.map +1 -0
  324. package/dist/server/services/validation.mjs +67 -0
  325. package/dist/server/services/validation.mjs.map +1 -0
  326. package/dist/server/services/workflow-content-types.js +90 -0
  327. package/dist/server/services/workflow-content-types.js.map +1 -0
  328. package/dist/server/services/workflow-content-types.mjs +88 -0
  329. package/dist/server/services/workflow-content-types.mjs.map +1 -0
  330. package/dist/server/services/workflows.js +279 -0
  331. package/dist/server/services/workflows.js.map +1 -0
  332. package/dist/server/services/workflows.mjs +277 -0
  333. package/dist/server/services/workflows.mjs.map +1 -0
  334. package/dist/server/src/controllers/index.d.ts.map +1 -1
  335. package/dist/server/src/homepage/controllers/homepage.d.ts +6 -0
  336. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
  337. package/dist/server/src/homepage/controllers/index.d.ts +2 -0
  338. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
  339. package/dist/server/src/homepage/index.d.ts +15 -0
  340. package/dist/server/src/homepage/index.d.ts.map +1 -0
  341. package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
  342. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
  343. package/dist/server/src/homepage/routes/index.d.ts +4 -0
  344. package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
  345. package/dist/server/src/homepage/services/homepage.d.ts +9 -0
  346. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
  347. package/dist/server/src/homepage/services/index.d.ts +8 -0
  348. package/dist/server/src/homepage/services/index.d.ts.map +1 -0
  349. package/dist/server/src/index.d.ts +6 -0
  350. package/dist/server/src/index.d.ts.map +1 -1
  351. package/dist/server/src/routes/index.d.ts +1 -0
  352. package/dist/server/src/routes/index.d.ts.map +1 -1
  353. package/dist/server/src/services/index.d.ts +5 -0
  354. package/dist/server/src/services/index.d.ts.map +1 -1
  355. package/dist/server/utils/index.js +16 -0
  356. package/dist/server/utils/index.js.map +1 -0
  357. package/dist/server/utils/index.mjs +13 -0
  358. package/dist/server/utils/index.mjs.map +1 -0
  359. package/dist/server/utils/review-workflows.js +36 -0
  360. package/dist/server/utils/review-workflows.js.map +1 -0
  361. package/dist/server/utils/review-workflows.mjs +30 -0
  362. package/dist/server/utils/review-workflows.mjs.map +1 -0
  363. package/dist/server/validation/review-workflows.js +71 -0
  364. package/dist/server/validation/review-workflows.js.map +1 -0
  365. package/dist/server/validation/review-workflows.mjs +65 -0
  366. package/dist/server/validation/review-workflows.mjs.map +1 -0
  367. package/dist/shared/contracts/homepage.d.ts +26 -0
  368. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  369. package/package.json +7 -7
  370. package/dist/admin/chunks/Layout-COWXwu3C.js.map +0 -1
  371. package/dist/admin/chunks/Layout-CsShRydy.mjs.map +0 -1
  372. package/dist/admin/chunks/en-BNGiWajd.js.map +0 -1
  373. package/dist/admin/chunks/en-BrZXFtVv.mjs.map +0 -1
  374. package/dist/admin/chunks/id-D8zbh_Y8.js +0 -1442
  375. package/dist/admin/chunks/id-D8zbh_Y8.js.map +0 -1
  376. package/dist/admin/chunks/id-afdVynVx.mjs +0 -1420
  377. package/dist/admin/chunks/id-afdVynVx.mjs.map +0 -1
  378. package/dist/admin/chunks/index-2VGAYchq.mjs.map +0 -1
  379. package/dist/admin/chunks/index-7Tk-SHLf.js.map +0 -1
  380. package/dist/admin/chunks/index-BXlkcM4s.mjs.map +0 -1
  381. package/dist/admin/chunks/index-CEABZUwQ.js.map +0 -1
  382. package/dist/admin/chunks/purchase-review-workflows-BJkm1_Dd.mjs.map +0 -1
  383. package/dist/admin/chunks/purchase-review-workflows-BQL0PbmB.js.map +0 -1
  384. package/dist/admin/chunks/router-Cc8VcSCc.js.map +0 -1
  385. package/dist/admin/chunks/router-JyFAzv9_.mjs.map +0 -1
  386. package/dist/admin/chunks/uk-CbRUr1I7.js.map +0 -1
  387. package/dist/admin/chunks/uk-DLlzEBUF.mjs.map +0 -1
@@ -0,0 +1,169 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
+ var strapiAdmin$1 = require('@strapi/content-manager/strapi-admin');
7
+ var designSystem = require('@strapi/design-system');
8
+ var reactIntl = require('react-intl');
9
+ var reactRouterDom = require('react-router-dom');
10
+ var hooks = require('../../../../../modules/hooks.js');
11
+ var contentManager = require('../../../../../services/content-manager.js');
12
+ var api = require('../../../../../utils/api.js');
13
+ var users = require('../../../../../utils/users.js');
14
+ var constants = require('./constants.js');
15
+
16
+ function _interopNamespaceDefault(e) {
17
+ var n = Object.create(null);
18
+ if (e) {
19
+ Object.keys(e).forEach(function (k) {
20
+ if (k !== 'default') {
21
+ var d = Object.getOwnPropertyDescriptor(e, k);
22
+ Object.defineProperty(n, k, d.get ? d : {
23
+ enumerable: true,
24
+ get: function () { return e[k]; }
25
+ });
26
+ }
27
+ });
28
+ }
29
+ n.default = e;
30
+ return Object.freeze(n);
31
+ }
32
+
33
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
34
+
35
+ const AssigneeSelect = ({ isCompact })=>{
36
+ const { collectionType = '', id, slug: model = '' } = reactRouterDom.useParams();
37
+ const permissions = hooks.useTypedSelector((state)=>state.admin_app.permissions);
38
+ const { formatMessage } = reactIntl.useIntl();
39
+ const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
40
+ const { toggleNotification } = strapiAdmin.useNotification();
41
+ const { allowedActions: { canRead }, isLoading: isLoadingPermissions } = strapiAdmin.useRBAC(permissions.settings?.users);
42
+ const [{ query }] = strapiAdmin.useQueryParams();
43
+ const params = React__namespace.useMemo(()=>api.buildValidParams(query), [
44
+ query
45
+ ]);
46
+ const { data, isLoading: isLoadingUsers, isError } = strapiAdmin.useAdminUsers(undefined, {
47
+ skip: isLoadingPermissions || !canRead
48
+ });
49
+ const { document } = strapiAdmin$1.unstable_useDocument({
50
+ collectionType,
51
+ model,
52
+ documentId: id
53
+ }, {
54
+ skip: !id && collectionType !== 'single-types'
55
+ });
56
+ const users$1 = data?.users || [];
57
+ const currentAssignee = document ? document[constants.ASSIGNEE_ATTRIBUTE_NAME] : null;
58
+ const [updateAssignee, { error, isLoading: isMutating }] = contentManager.useUpdateAssigneeMutation();
59
+ if (!collectionType || !model || !document?.documentId) {
60
+ return null;
61
+ }
62
+ const handleChange = async (assigneeId)=>{
63
+ // a simple way to avoid erroneous updates
64
+ if (currentAssignee?.id === assigneeId) {
65
+ return;
66
+ }
67
+ const res = await updateAssignee({
68
+ slug: collectionType,
69
+ model,
70
+ id: document.documentId,
71
+ params,
72
+ data: {
73
+ id: assigneeId ? parseInt(assigneeId, 10) : null
74
+ }
75
+ });
76
+ if ('data' in res) {
77
+ toggleNotification({
78
+ type: 'success',
79
+ message: formatMessage({
80
+ id: 'content-manager.reviewWorkflows.assignee.notification.saved',
81
+ defaultMessage: 'Assignee updated'
82
+ })
83
+ });
84
+ }
85
+ if (isCompact && 'error' in res) {
86
+ toggleNotification({
87
+ type: 'danger',
88
+ message: formatAPIError(res.error)
89
+ });
90
+ }
91
+ };
92
+ const isDisabled = !isLoadingPermissions && !isLoadingUsers && users$1.length === 0 || !document.documentId;
93
+ const isLoading = isLoadingUsers || isLoadingPermissions || isMutating;
94
+ const assigneeLabel = formatMessage({
95
+ id: 'content-manager.reviewWorkflows.assignee.label',
96
+ defaultMessage: 'Assignee'
97
+ });
98
+ const assigneeClearLabel = formatMessage({
99
+ id: 'content-manager.reviewWorkflows.assignee.clear',
100
+ defaultMessage: 'Clear assignee'
101
+ });
102
+ const assigneePlaceholder = formatMessage({
103
+ id: 'content-manager.reviewWorkflows.assignee.placeholder',
104
+ defaultMessage: 'Select…'
105
+ });
106
+ if (isCompact) {
107
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
108
+ name: constants.ASSIGNEE_ATTRIBUTE_NAME,
109
+ id: constants.ASSIGNEE_ATTRIBUTE_NAME,
110
+ children: [
111
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
112
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
113
+ children: assigneeLabel
114
+ })
115
+ }),
116
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Combobox, {
117
+ clearLabel: assigneeClearLabel,
118
+ disabled: isDisabled,
119
+ value: currentAssignee ? currentAssignee.id.toString() : null,
120
+ onChange: handleChange,
121
+ onClear: ()=>handleChange(null),
122
+ placeholder: assigneePlaceholder,
123
+ loading: isLoading || isLoadingPermissions || isMutating,
124
+ size: "S",
125
+ children: users$1.map((user)=>{
126
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.ComboboxOption, {
127
+ value: user.id.toString(),
128
+ textValue: users.getDisplayName(user),
129
+ children: users.getDisplayName(user)
130
+ }, user.id);
131
+ })
132
+ })
133
+ ]
134
+ });
135
+ }
136
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
137
+ name: constants.ASSIGNEE_ATTRIBUTE_NAME,
138
+ id: constants.ASSIGNEE_ATTRIBUTE_NAME,
139
+ error: (isError && canRead && formatMessage({
140
+ id: 'content-manager.reviewWorkflows.assignee.error',
141
+ defaultMessage: 'An error occurred while fetching users'
142
+ }) || error && formatAPIError(error)) ?? undefined,
143
+ children: [
144
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
145
+ children: assigneeLabel
146
+ }),
147
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Combobox, {
148
+ clearLabel: assigneeClearLabel,
149
+ disabled: !isLoadingPermissions && !isLoading && users$1.length === 0 || !document.documentId,
150
+ value: currentAssignee ? currentAssignee.id.toString() : null,
151
+ onChange: handleChange,
152
+ onClear: ()=>handleChange(null),
153
+ placeholder: assigneePlaceholder,
154
+ loading: isLoading || isLoadingPermissions || isMutating,
155
+ children: users$1.map((user)=>{
156
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.ComboboxOption, {
157
+ value: user.id.toString(),
158
+ textValue: users.getDisplayName(user),
159
+ children: users.getDisplayName(user)
160
+ }, user.id);
161
+ })
162
+ }),
163
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
164
+ ]
165
+ });
166
+ };
167
+
168
+ exports.AssigneeSelect = AssigneeSelect;
169
+ //# sourceMappingURL=AssigneeSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssigneeSelect.js","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/AssigneeSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotification,\n useAPIErrorHandler,\n useRBAC,\n useAdminUsers,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { unstable_useDocument } from '@strapi/content-manager/strapi-admin';\nimport { Combobox, ComboboxOption, Field, VisuallyHidden } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../../modules/hooks';\nimport { useUpdateAssigneeMutation } from '../../../../../services/content-manager';\nimport { buildValidParams } from '../../../../../utils/api';\nimport { getDisplayName } from '../../../../../utils/users';\n\nimport { ASSIGNEE_ATTRIBUTE_NAME } from './constants';\n\nconst AssigneeSelect = ({ isCompact }: { isCompact?: boolean }) => {\n const {\n collectionType = '',\n id,\n slug: model = '',\n } = useParams<{ collectionType: string; slug: string; id: string }>();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const {\n allowedActions: { canRead },\n isLoading: isLoadingPermissions,\n } = useRBAC(permissions.settings?.users);\n const [{ query }] = useQueryParams();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const {\n data,\n isLoading: isLoadingUsers,\n isError,\n } = useAdminUsers(undefined, {\n skip: isLoadingPermissions || !canRead,\n });\n const { document } = unstable_useDocument(\n {\n collectionType,\n model,\n documentId: id,\n },\n {\n skip: !id && collectionType !== 'single-types',\n }\n );\n\n const users = data?.users || [];\n\n const currentAssignee = document ? document[ASSIGNEE_ATTRIBUTE_NAME] : null;\n\n const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();\n\n if (!collectionType || !model || !document?.documentId) {\n return null;\n }\n\n const handleChange = async (assigneeId: string | null) => {\n // a simple way to avoid erroneous updates\n if (currentAssignee?.id === assigneeId) {\n return;\n }\n\n const res = await updateAssignee({\n slug: collectionType,\n model,\n id: document.documentId,\n params,\n data: {\n id: assigneeId ? parseInt(assigneeId, 10) : null,\n },\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n }),\n });\n }\n\n if (isCompact && 'error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n };\n\n const isDisabled =\n (!isLoadingPermissions && !isLoadingUsers && users.length === 0) || !document.documentId;\n const isLoading = isLoadingUsers || isLoadingPermissions || isMutating;\n\n const assigneeLabel = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n });\n const assigneeClearLabel = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n });\n const assigneePlaceholder = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n });\n\n if (isCompact) {\n return (\n <Field.Root name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <VisuallyHidden>\n <Field.Label>{assigneeLabel}</Field.Label>\n </VisuallyHidden>\n <Combobox\n clearLabel={assigneeClearLabel}\n disabled={isDisabled}\n value={currentAssignee ? currentAssignee.id.toString() : null}\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={assigneePlaceholder}\n loading={isLoading || isLoadingPermissions || isMutating}\n size=\"S\"\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user)}\n >\n {getDisplayName(user)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Field.Root>\n );\n }\n\n return (\n <Field.Root\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n error={\n ((isError &&\n canRead &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (error && formatAPIError(error))) ??\n undefined\n }\n >\n <Field.Label>{assigneeLabel}</Field.Label>\n <Combobox\n clearLabel={assigneeClearLabel}\n disabled={\n (!isLoadingPermissions && !isLoading && users.length === 0) || !document.documentId\n }\n value={currentAssignee ? currentAssignee.id.toString() : null}\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={assigneePlaceholder}\n loading={isLoading || isLoadingPermissions || isMutating}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user)}\n >\n {getDisplayName(user)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n <Field.Error />\n </Field.Root>\n );\n};\n\nexport { AssigneeSelect };\n"],"names":["AssigneeSelect","isCompact","collectionType","id","slug","model","useParams","permissions","useTypedSelector","state","admin_app","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","allowedActions","canRead","isLoading","isLoadingPermissions","useRBAC","settings","users","query","useQueryParams","params","React","useMemo","buildValidParams","data","isLoadingUsers","isError","useAdminUsers","undefined","skip","document","unstable_useDocument","documentId","currentAssignee","ASSIGNEE_ATTRIBUTE_NAME","updateAssignee","error","isMutating","useUpdateAssigneeMutation","handleChange","assigneeId","res","parseInt","type","message","defaultMessage","isDisabled","length","assigneeLabel","assigneeClearLabel","assigneePlaceholder","_jsxs","Field","Root","name","_jsx","VisuallyHidden","Label","Combobox","clearLabel","disabled","value","toString","onChange","onClear","placeholder","loading","size","map","user","ComboboxOption","textValue","getDisplayName","Error"],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { useAPIErrorHandler, useNotification, useRBAC, useQueryParams, useAdminUsers } from '@strapi/admin/strapi-admin';
4
+ import { unstable_useDocument } from '@strapi/content-manager/strapi-admin';
5
+ import { Field, VisuallyHidden, Combobox, ComboboxOption } from '@strapi/design-system';
6
+ import { useIntl } from 'react-intl';
7
+ import { useParams } from 'react-router-dom';
8
+ import { useTypedSelector } from '../../../../../modules/hooks.mjs';
9
+ import { useUpdateAssigneeMutation } from '../../../../../services/content-manager.mjs';
10
+ import { buildValidParams } from '../../../../../utils/api.mjs';
11
+ import { getDisplayName } from '../../../../../utils/users.mjs';
12
+ import { ASSIGNEE_ATTRIBUTE_NAME } from './constants.mjs';
13
+
14
+ const AssigneeSelect = ({ isCompact })=>{
15
+ const { collectionType = '', id, slug: model = '' } = useParams();
16
+ const permissions = useTypedSelector((state)=>state.admin_app.permissions);
17
+ const { formatMessage } = useIntl();
18
+ const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
19
+ const { toggleNotification } = useNotification();
20
+ const { allowedActions: { canRead }, isLoading: isLoadingPermissions } = useRBAC(permissions.settings?.users);
21
+ const [{ query }] = useQueryParams();
22
+ const params = React.useMemo(()=>buildValidParams(query), [
23
+ query
24
+ ]);
25
+ const { data, isLoading: isLoadingUsers, isError } = useAdminUsers(undefined, {
26
+ skip: isLoadingPermissions || !canRead
27
+ });
28
+ const { document } = unstable_useDocument({
29
+ collectionType,
30
+ model,
31
+ documentId: id
32
+ }, {
33
+ skip: !id && collectionType !== 'single-types'
34
+ });
35
+ const users = data?.users || [];
36
+ const currentAssignee = document ? document[ASSIGNEE_ATTRIBUTE_NAME] : null;
37
+ const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();
38
+ if (!collectionType || !model || !document?.documentId) {
39
+ return null;
40
+ }
41
+ const handleChange = async (assigneeId)=>{
42
+ // a simple way to avoid erroneous updates
43
+ if (currentAssignee?.id === assigneeId) {
44
+ return;
45
+ }
46
+ const res = await updateAssignee({
47
+ slug: collectionType,
48
+ model,
49
+ id: document.documentId,
50
+ params,
51
+ data: {
52
+ id: assigneeId ? parseInt(assigneeId, 10) : null
53
+ }
54
+ });
55
+ if ('data' in res) {
56
+ toggleNotification({
57
+ type: 'success',
58
+ message: formatMessage({
59
+ id: 'content-manager.reviewWorkflows.assignee.notification.saved',
60
+ defaultMessage: 'Assignee updated'
61
+ })
62
+ });
63
+ }
64
+ if (isCompact && 'error' in res) {
65
+ toggleNotification({
66
+ type: 'danger',
67
+ message: formatAPIError(res.error)
68
+ });
69
+ }
70
+ };
71
+ const isDisabled = !isLoadingPermissions && !isLoadingUsers && users.length === 0 || !document.documentId;
72
+ const isLoading = isLoadingUsers || isLoadingPermissions || isMutating;
73
+ const assigneeLabel = formatMessage({
74
+ id: 'content-manager.reviewWorkflows.assignee.label',
75
+ defaultMessage: 'Assignee'
76
+ });
77
+ const assigneeClearLabel = formatMessage({
78
+ id: 'content-manager.reviewWorkflows.assignee.clear',
79
+ defaultMessage: 'Clear assignee'
80
+ });
81
+ const assigneePlaceholder = formatMessage({
82
+ id: 'content-manager.reviewWorkflows.assignee.placeholder',
83
+ defaultMessage: 'Select…'
84
+ });
85
+ if (isCompact) {
86
+ return /*#__PURE__*/ jsxs(Field.Root, {
87
+ name: ASSIGNEE_ATTRIBUTE_NAME,
88
+ id: ASSIGNEE_ATTRIBUTE_NAME,
89
+ children: [
90
+ /*#__PURE__*/ jsx(VisuallyHidden, {
91
+ children: /*#__PURE__*/ jsx(Field.Label, {
92
+ children: assigneeLabel
93
+ })
94
+ }),
95
+ /*#__PURE__*/ jsx(Combobox, {
96
+ clearLabel: assigneeClearLabel,
97
+ disabled: isDisabled,
98
+ value: currentAssignee ? currentAssignee.id.toString() : null,
99
+ onChange: handleChange,
100
+ onClear: ()=>handleChange(null),
101
+ placeholder: assigneePlaceholder,
102
+ loading: isLoading || isLoadingPermissions || isMutating,
103
+ size: "S",
104
+ children: users.map((user)=>{
105
+ return /*#__PURE__*/ jsx(ComboboxOption, {
106
+ value: user.id.toString(),
107
+ textValue: getDisplayName(user),
108
+ children: getDisplayName(user)
109
+ }, user.id);
110
+ })
111
+ })
112
+ ]
113
+ });
114
+ }
115
+ return /*#__PURE__*/ jsxs(Field.Root, {
116
+ name: ASSIGNEE_ATTRIBUTE_NAME,
117
+ id: ASSIGNEE_ATTRIBUTE_NAME,
118
+ error: (isError && canRead && formatMessage({
119
+ id: 'content-manager.reviewWorkflows.assignee.error',
120
+ defaultMessage: 'An error occurred while fetching users'
121
+ }) || error && formatAPIError(error)) ?? undefined,
122
+ children: [
123
+ /*#__PURE__*/ jsx(Field.Label, {
124
+ children: assigneeLabel
125
+ }),
126
+ /*#__PURE__*/ jsx(Combobox, {
127
+ clearLabel: assigneeClearLabel,
128
+ disabled: !isLoadingPermissions && !isLoading && users.length === 0 || !document.documentId,
129
+ value: currentAssignee ? currentAssignee.id.toString() : null,
130
+ onChange: handleChange,
131
+ onClear: ()=>handleChange(null),
132
+ placeholder: assigneePlaceholder,
133
+ loading: isLoading || isLoadingPermissions || isMutating,
134
+ children: users.map((user)=>{
135
+ return /*#__PURE__*/ jsx(ComboboxOption, {
136
+ value: user.id.toString(),
137
+ textValue: getDisplayName(user),
138
+ children: getDisplayName(user)
139
+ }, user.id);
140
+ })
141
+ }),
142
+ /*#__PURE__*/ jsx(Field.Error, {})
143
+ ]
144
+ });
145
+ };
146
+
147
+ export { AssigneeSelect };
148
+ //# sourceMappingURL=AssigneeSelect.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssigneeSelect.mjs","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/AssigneeSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotification,\n useAPIErrorHandler,\n useRBAC,\n useAdminUsers,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { unstable_useDocument } from '@strapi/content-manager/strapi-admin';\nimport { Combobox, ComboboxOption, Field, VisuallyHidden } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../../modules/hooks';\nimport { useUpdateAssigneeMutation } from '../../../../../services/content-manager';\nimport { buildValidParams } from '../../../../../utils/api';\nimport { getDisplayName } from '../../../../../utils/users';\n\nimport { ASSIGNEE_ATTRIBUTE_NAME } from './constants';\n\nconst AssigneeSelect = ({ isCompact }: { isCompact?: boolean }) => {\n const {\n collectionType = '',\n id,\n slug: model = '',\n } = useParams<{ collectionType: string; slug: string; id: string }>();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const {\n allowedActions: { canRead },\n isLoading: isLoadingPermissions,\n } = useRBAC(permissions.settings?.users);\n const [{ query }] = useQueryParams();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const {\n data,\n isLoading: isLoadingUsers,\n isError,\n } = useAdminUsers(undefined, {\n skip: isLoadingPermissions || !canRead,\n });\n const { document } = unstable_useDocument(\n {\n collectionType,\n model,\n documentId: id,\n },\n {\n skip: !id && collectionType !== 'single-types',\n }\n );\n\n const users = data?.users || [];\n\n const currentAssignee = document ? document[ASSIGNEE_ATTRIBUTE_NAME] : null;\n\n const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();\n\n if (!collectionType || !model || !document?.documentId) {\n return null;\n }\n\n const handleChange = async (assigneeId: string | null) => {\n // a simple way to avoid erroneous updates\n if (currentAssignee?.id === assigneeId) {\n return;\n }\n\n const res = await updateAssignee({\n slug: collectionType,\n model,\n id: document.documentId,\n params,\n data: {\n id: assigneeId ? parseInt(assigneeId, 10) : null,\n },\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n }),\n });\n }\n\n if (isCompact && 'error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n };\n\n const isDisabled =\n (!isLoadingPermissions && !isLoadingUsers && users.length === 0) || !document.documentId;\n const isLoading = isLoadingUsers || isLoadingPermissions || isMutating;\n\n const assigneeLabel = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n });\n const assigneeClearLabel = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n });\n const assigneePlaceholder = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n });\n\n if (isCompact) {\n return (\n <Field.Root name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <VisuallyHidden>\n <Field.Label>{assigneeLabel}</Field.Label>\n </VisuallyHidden>\n <Combobox\n clearLabel={assigneeClearLabel}\n disabled={isDisabled}\n value={currentAssignee ? currentAssignee.id.toString() : null}\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={assigneePlaceholder}\n loading={isLoading || isLoadingPermissions || isMutating}\n size=\"S\"\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user)}\n >\n {getDisplayName(user)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Field.Root>\n );\n }\n\n return (\n <Field.Root\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n error={\n ((isError &&\n canRead &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (error && formatAPIError(error))) ??\n undefined\n }\n >\n <Field.Label>{assigneeLabel}</Field.Label>\n <Combobox\n clearLabel={assigneeClearLabel}\n disabled={\n (!isLoadingPermissions && !isLoading && users.length === 0) || !document.documentId\n }\n value={currentAssignee ? currentAssignee.id.toString() : null}\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={assigneePlaceholder}\n loading={isLoading || isLoadingPermissions || isMutating}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user)}\n >\n {getDisplayName(user)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n <Field.Error />\n </Field.Root>\n );\n};\n\nexport { AssigneeSelect };\n"],"names":["AssigneeSelect","isCompact","collectionType","id","slug","model","useParams","permissions","useTypedSelector","state","admin_app","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","allowedActions","canRead","isLoading","isLoadingPermissions","useRBAC","settings","users","query","useQueryParams","params","React","useMemo","buildValidParams","data","isLoadingUsers","isError","useAdminUsers","undefined","skip","document","unstable_useDocument","documentId","currentAssignee","ASSIGNEE_ATTRIBUTE_NAME","updateAssignee","error","isMutating","useUpdateAssigneeMutation","handleChange","assigneeId","res","parseInt","type","message","defaultMessage","isDisabled","length","assigneeLabel","assigneeClearLabel","assigneePlaceholder","_jsxs","Field","Root","name","_jsx","VisuallyHidden","Label","Combobox","clearLabel","disabled","value","toString","onChange","onClear","placeholder","loading","size","map","user","ComboboxOption","textValue","getDisplayName","Error"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var strapiAdmin = require('@strapi/content-manager/strapi-admin');
5
+ var designSystem = require('@strapi/design-system');
6
+ var reactRouterDom = require('react-router-dom');
7
+ var AssigneeSelect = require('./AssigneeSelect.js');
8
+ var StageSelect = require('./StageSelect.js');
9
+
10
+ const Header = ()=>{
11
+ const { slug = '', id, collectionType } = reactRouterDom.useParams();
12
+ const { edit: { options } } = strapiAdmin.unstable_useDocumentLayout(slug);
13
+ if (!window.strapi.isEE || !options?.reviewWorkflows || collectionType !== 'single-types' && !id || id === 'create') {
14
+ return null;
15
+ }
16
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
17
+ gap: 2,
18
+ children: [
19
+ /*#__PURE__*/ jsxRuntime.jsx(AssigneeSelect.AssigneeSelect, {
20
+ isCompact: true
21
+ }),
22
+ /*#__PURE__*/ jsxRuntime.jsx(StageSelect.StageSelect, {
23
+ isCompact: true
24
+ })
25
+ ]
26
+ });
27
+ };
28
+ Header.type = 'preview';
29
+
30
+ exports.Header = Header;
31
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Header.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst Header = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return (\n <Flex gap={2}>\n <AssigneeSelect isCompact />\n <StageSelect isCompact />\n </Flex>\n );\n};\n\nHeader.type = 'preview';\n\nexport { Header };\n"],"names":["Header","slug","id","collectionType","useParams","edit","options","useDocumentLayout","window","strapi","isEE","reviewWorkflows","_jsxs","Flex","gap","_jsx","AssigneeSelect","isCompact","StageSelect","type"],"mappings":";;;;;;;;;AAOA,MAAMA,MAAS,GAAA,IAAA;IACb,MAAM,EACJC,OAAO,EAAE,EACTC,EAAE,EACFC,cAAc,EACf,GAAGC,wBAAAA,EAAAA;AAMJ,IAAA,MAAM,EACJC,IAAM,EAAA,EAAEC,OAAO,EAAE,EAClB,GAAGC,sCAAkBN,CAAAA,IAAAA,CAAAA;AAEtB,IAAA,IACE,CAACO,MAAAA,CAAOC,MAAM,CAACC,IAAI,IACnB,CAACJ,OAASK,EAAAA,eAAAA,IACTR,cAAmB,KAAA,cAAA,IAAkB,CAACD,EAAAA,IACvCA,OAAO,QACP,EAAA;QACA,OAAO,IAAA;AACT;AAEA,IAAA,qBACEU,eAACC,CAAAA,iBAAAA,EAAAA;QAAKC,GAAK,EAAA,CAAA;;0BACTC,cAACC,CAAAA,6BAAAA,EAAAA;gBAAeC,SAAS,EAAA;;0BACzBF,cAACG,CAAAA,uBAAAA,EAAAA;gBAAYD,SAAS,EAAA;;;;AAG5B;AAEAjB,MAAAA,CAAOmB,IAAI,GAAG,SAAA;;;;"}
@@ -0,0 +1,29 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { unstable_useDocumentLayout } from '@strapi/content-manager/strapi-admin';
3
+ import { Flex } from '@strapi/design-system';
4
+ import { useParams } from 'react-router-dom';
5
+ import { AssigneeSelect } from './AssigneeSelect.mjs';
6
+ import { StageSelect } from './StageSelect.mjs';
7
+
8
+ const Header = ()=>{
9
+ const { slug = '', id, collectionType } = useParams();
10
+ const { edit: { options } } = unstable_useDocumentLayout(slug);
11
+ if (!window.strapi.isEE || !options?.reviewWorkflows || collectionType !== 'single-types' && !id || id === 'create') {
12
+ return null;
13
+ }
14
+ return /*#__PURE__*/ jsxs(Flex, {
15
+ gap: 2,
16
+ children: [
17
+ /*#__PURE__*/ jsx(AssigneeSelect, {
18
+ isCompact: true
19
+ }),
20
+ /*#__PURE__*/ jsx(StageSelect, {
21
+ isCompact: true
22
+ })
23
+ ]
24
+ });
25
+ };
26
+ Header.type = 'preview';
27
+
28
+ export { Header };
29
+ //# sourceMappingURL=Header.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.mjs","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Header.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst Header = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return (\n <Flex gap={2}>\n <AssigneeSelect isCompact />\n <StageSelect isCompact />\n </Flex>\n );\n};\n\nHeader.type = 'preview';\n\nexport { Header };\n"],"names":["Header","slug","id","collectionType","useParams","edit","options","useDocumentLayout","window","strapi","isEE","reviewWorkflows","_jsxs","Flex","gap","_jsx","AssigneeSelect","isCompact","StageSelect","type"],"mappings":";;;;;;;AAOA,MAAMA,MAAS,GAAA,IAAA;IACb,MAAM,EACJC,OAAO,EAAE,EACTC,EAAE,EACFC,cAAc,EACf,GAAGC,SAAAA,EAAAA;AAMJ,IAAA,MAAM,EACJC,IAAM,EAAA,EAAEC,OAAO,EAAE,EAClB,GAAGC,0BAAkBN,CAAAA,IAAAA,CAAAA;AAEtB,IAAA,IACE,CAACO,MAAAA,CAAOC,MAAM,CAACC,IAAI,IACnB,CAACJ,OAASK,EAAAA,eAAAA,IACTR,cAAmB,KAAA,cAAA,IAAkB,CAACD,EAAAA,IACvCA,OAAO,QACP,EAAA;QACA,OAAO,IAAA;AACT;AAEA,IAAA,qBACEU,IAACC,CAAAA,IAAAA,EAAAA;QAAKC,GAAK,EAAA,CAAA;;0BACTC,GAACC,CAAAA,cAAAA,EAAAA;gBAAeC,SAAS,EAAA;;0BACzBF,GAACG,CAAAA,WAAAA,EAAAA;gBAAYD,SAAS,EAAA;;;;AAG5B;AAEAjB,MAAAA,CAAOmB,IAAI,GAAG,SAAA;;;;"}
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var strapiAdmin = require('@strapi/content-manager/strapi-admin');
5
+ var designSystem = require('@strapi/design-system');
6
+ var reactIntl = require('react-intl');
7
+ var reactRouterDom = require('react-router-dom');
8
+ var AssigneeSelect = require('./AssigneeSelect.js');
9
+ var StageSelect = require('./StageSelect.js');
10
+
11
+ const Panel = ()=>{
12
+ const { slug = '', id, collectionType } = reactRouterDom.useParams();
13
+ const { edit: { options } } = strapiAdmin.unstable_useDocumentLayout(slug);
14
+ const { formatMessage } = reactIntl.useIntl();
15
+ if (!window.strapi.isEE || !options?.reviewWorkflows || collectionType !== 'single-types' && !id || id === 'create') {
16
+ return null;
17
+ }
18
+ return {
19
+ title: formatMessage({
20
+ id: 'content-manager.containers.edit.panels.review-workflows.title',
21
+ defaultMessage: 'Review Workflows'
22
+ }),
23
+ content: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
24
+ direction: "column",
25
+ gap: 2,
26
+ alignItems: "stretch",
27
+ width: "100%",
28
+ children: [
29
+ /*#__PURE__*/ jsxRuntime.jsx(AssigneeSelect.AssigneeSelect, {}),
30
+ /*#__PURE__*/ jsxRuntime.jsx(StageSelect.StageSelect, {})
31
+ ]
32
+ })
33
+ };
34
+ };
35
+ // @ts-expect-error – this is fine, we like to label the core panels / actions.
36
+ Panel.type = 'review-workflows';
37
+
38
+ exports.Panel = Panel;
39
+ //# sourceMappingURL=Panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Panel.js","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Panel.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nimport type { PanelComponent } from '@strapi/content-manager/strapi-admin';\n\nconst Panel: PanelComponent = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n const { formatMessage } = useIntl();\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return {\n title: formatMessage({\n id: 'content-manager.containers.edit.panels.review-workflows.title',\n defaultMessage: 'Review Workflows',\n }),\n content: (\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\" width=\"100%\">\n <AssigneeSelect />\n <StageSelect />\n </Flex>\n ),\n };\n};\n\n// @ts-expect-error – this is fine, we like to label the core panels / actions.\nPanel.type = 'review-workflows';\n\nexport { Panel };\n"],"names":["Panel","slug","id","collectionType","useParams","edit","options","useDocumentLayout","formatMessage","useIntl","window","strapi","isEE","reviewWorkflows","title","defaultMessage","content","_jsxs","Flex","direction","gap","alignItems","width","_jsx","AssigneeSelect","StageSelect","type"],"mappings":";;;;;;;;;;AAUA,MAAMA,KAAwB,GAAA,IAAA;IAC5B,MAAM,EACJC,OAAO,EAAE,EACTC,EAAE,EACFC,cAAc,EACf,GAAGC,wBAAAA,EAAAA;AAMJ,IAAA,MAAM,EACJC,IAAM,EAAA,EAAEC,OAAO,EAAE,EAClB,GAAGC,sCAAkBN,CAAAA,IAAAA,CAAAA;IACtB,MAAM,EAAEO,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,IACE,CAACC,MAAAA,CAAOC,MAAM,CAACC,IAAI,IACnB,CAACN,OAASO,EAAAA,eAAAA,IACTV,cAAmB,KAAA,cAAA,IAAkB,CAACD,EAAAA,IACvCA,OAAO,QACP,EAAA;QACA,OAAO,IAAA;AACT;IAEA,OAAO;AACLY,QAAAA,KAAAA,EAAON,aAAc,CAAA;YACnBN,EAAI,EAAA,+DAAA;YACJa,cAAgB,EAAA;AAClB,SAAA,CAAA;AACAC,QAAAA,OAAAA,gBACEC,eAACC,CAAAA,iBAAAA,EAAAA;YAAKC,SAAU,EAAA,QAAA;YAASC,GAAK,EAAA,CAAA;YAAGC,UAAW,EAAA,SAAA;YAAUC,KAAM,EAAA,MAAA;;8BAC1DC,cAACC,CAAAA,6BAAAA,EAAAA,EAAAA,CAAAA;8BACDD,cAACE,CAAAA,uBAAAA,EAAAA,EAAAA;;;AAGP,KAAA;AACF;AAEA;AACAzB,KAAAA,CAAM0B,IAAI,GAAG,kBAAA;;;;"}
@@ -0,0 +1,37 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { unstable_useDocumentLayout } from '@strapi/content-manager/strapi-admin';
3
+ import { Flex } from '@strapi/design-system';
4
+ import { useIntl } from 'react-intl';
5
+ import { useParams } from 'react-router-dom';
6
+ import { AssigneeSelect } from './AssigneeSelect.mjs';
7
+ import { StageSelect } from './StageSelect.mjs';
8
+
9
+ const Panel = ()=>{
10
+ const { slug = '', id, collectionType } = useParams();
11
+ const { edit: { options } } = unstable_useDocumentLayout(slug);
12
+ const { formatMessage } = useIntl();
13
+ if (!window.strapi.isEE || !options?.reviewWorkflows || collectionType !== 'single-types' && !id || id === 'create') {
14
+ return null;
15
+ }
16
+ return {
17
+ title: formatMessage({
18
+ id: 'content-manager.containers.edit.panels.review-workflows.title',
19
+ defaultMessage: 'Review Workflows'
20
+ }),
21
+ content: /*#__PURE__*/ jsxs(Flex, {
22
+ direction: "column",
23
+ gap: 2,
24
+ alignItems: "stretch",
25
+ width: "100%",
26
+ children: [
27
+ /*#__PURE__*/ jsx(AssigneeSelect, {}),
28
+ /*#__PURE__*/ jsx(StageSelect, {})
29
+ ]
30
+ })
31
+ };
32
+ };
33
+ // @ts-expect-error – this is fine, we like to label the core panels / actions.
34
+ Panel.type = 'review-workflows';
35
+
36
+ export { Panel };
37
+ //# sourceMappingURL=Panel.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Panel.mjs","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Panel.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nimport type { PanelComponent } from '@strapi/content-manager/strapi-admin';\n\nconst Panel: PanelComponent = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n const { formatMessage } = useIntl();\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return {\n title: formatMessage({\n id: 'content-manager.containers.edit.panels.review-workflows.title',\n defaultMessage: 'Review Workflows',\n }),\n content: (\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\" width=\"100%\">\n <AssigneeSelect />\n <StageSelect />\n </Flex>\n ),\n };\n};\n\n// @ts-expect-error – this is fine, we like to label the core panels / actions.\nPanel.type = 'review-workflows';\n\nexport { Panel };\n"],"names":["Panel","slug","id","collectionType","useParams","edit","options","useDocumentLayout","formatMessage","useIntl","window","strapi","isEE","reviewWorkflows","title","defaultMessage","content","_jsxs","Flex","direction","gap","alignItems","width","_jsx","AssigneeSelect","StageSelect","type"],"mappings":";;;;;;;;AAUA,MAAMA,KAAwB,GAAA,IAAA;IAC5B,MAAM,EACJC,OAAO,EAAE,EACTC,EAAE,EACFC,cAAc,EACf,GAAGC,SAAAA,EAAAA;AAMJ,IAAA,MAAM,EACJC,IAAM,EAAA,EAAEC,OAAO,EAAE,EAClB,GAAGC,0BAAkBN,CAAAA,IAAAA,CAAAA;IACtB,MAAM,EAAEO,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,IACE,CAACC,MAAAA,CAAOC,MAAM,CAACC,IAAI,IACnB,CAACN,OAASO,EAAAA,eAAAA,IACTV,cAAmB,KAAA,cAAA,IAAkB,CAACD,EAAAA,IACvCA,OAAO,QACP,EAAA;QACA,OAAO,IAAA;AACT;IAEA,OAAO;AACLY,QAAAA,KAAAA,EAAON,aAAc,CAAA;YACnBN,EAAI,EAAA,+DAAA;YACJa,cAAgB,EAAA;AAClB,SAAA,CAAA;AACAC,QAAAA,OAAAA,gBACEC,IAACC,CAAAA,IAAAA,EAAAA;YAAKC,SAAU,EAAA,QAAA;YAASC,GAAK,EAAA,CAAA;YAAGC,UAAW,EAAA,SAAA;YAAUC,KAAM,EAAA,MAAA;;8BAC1DC,GAACC,CAAAA,cAAAA,EAAAA,EAAAA,CAAAA;8BACDD,GAACE,CAAAA,WAAAA,EAAAA,EAAAA;;;AAGP,KAAA;AACF;AAEA;AACAzB,KAAAA,CAAM0B,IAAI,GAAG,kBAAA;;;;"}