@strapi/review-workflows 0.0.0-next.dad3c50630ca4fd9eccdcbe549ee632fc572e23d → 0.0.0-next.e3eb36dde0d936dc941df54e440e2c50a0582eeb

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 (352) hide show
  1. package/dist/admin/assets/balloon.png.js +6 -0
  2. package/dist/admin/assets/balloon.png.js.map +1 -0
  3. package/dist/admin/assets/balloon.png.mjs +4 -0
  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/assets/purchase-page-illustration-light.svg.js +6 -0
  10. package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +1 -0
  11. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs +4 -0
  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/constants.js +18 -0
  18. package/dist/admin/constants.js.map +1 -0
  19. package/dist/admin/constants.mjs +12 -0
  20. package/dist/admin/constants.mjs.map +1 -0
  21. package/dist/admin/index.js +92 -3
  22. package/dist/admin/index.js.map +1 -1
  23. package/dist/admin/index.mjs +87 -3
  24. package/dist/admin/index.mjs.map +1 -1
  25. package/dist/admin/modules/hooks.js +8 -0
  26. package/dist/admin/modules/hooks.js.map +1 -0
  27. package/dist/admin/modules/hooks.mjs +6 -0
  28. package/dist/admin/modules/hooks.mjs.map +1 -0
  29. package/dist/admin/router.js +30 -0
  30. package/dist/admin/router.js.map +1 -0
  31. package/dist/admin/router.mjs +28 -0
  32. package/dist/admin/router.mjs.map +1 -0
  33. package/dist/admin/routes/content-manager/model/components/TableColumns.js +44 -0
  34. package/dist/admin/routes/content-manager/model/components/TableColumns.js.map +1 -0
  35. package/dist/admin/routes/content-manager/model/components/TableColumns.mjs +41 -0
  36. package/dist/admin/routes/content-manager/model/components/TableColumns.mjs.map +1 -0
  37. package/dist/admin/routes/content-manager/model/constants.js +60 -0
  38. package/dist/admin/routes/content-manager/model/constants.js.map +1 -0
  39. package/dist/admin/routes/content-manager/model/constants.mjs +58 -0
  40. package/dist/admin/routes/content-manager/model/constants.mjs.map +1 -0
  41. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js +169 -0
  42. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js.map +1 -0
  43. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs +148 -0
  44. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs.map +1 -0
  45. package/dist/admin/routes/content-manager/model/id/components/Header.js +31 -0
  46. package/dist/admin/routes/content-manager/model/id/components/Header.js.map +1 -0
  47. package/dist/admin/routes/content-manager/model/id/components/Header.mjs +29 -0
  48. package/dist/admin/routes/content-manager/model/id/components/Header.mjs.map +1 -0
  49. package/dist/admin/routes/content-manager/model/id/components/Panel.js +39 -0
  50. package/dist/admin/routes/content-manager/model/id/components/Panel.js.map +1 -0
  51. package/dist/admin/routes/content-manager/model/id/components/Panel.mjs +37 -0
  52. package/dist/admin/routes/content-manager/model/id/components/Panel.mjs.map +1 -0
  53. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js +329 -0
  54. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js.map +1 -0
  55. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs +308 -0
  56. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs.map +1 -0
  57. package/dist/admin/routes/content-manager/model/id/components/constants.js +8 -0
  58. package/dist/admin/routes/content-manager/model/id/components/constants.js.map +1 -0
  59. package/dist/admin/routes/content-manager/model/id/components/constants.mjs +5 -0
  60. package/dist/admin/routes/content-manager/model/id/components/constants.mjs.map +1 -0
  61. package/dist/admin/routes/purchase-review-workflows.js +194 -0
  62. package/dist/admin/routes/purchase-review-workflows.js.map +1 -0
  63. package/dist/admin/routes/purchase-review-workflows.mjs +192 -0
  64. package/dist/admin/routes/purchase-review-workflows.mjs.map +1 -0
  65. package/dist/admin/routes/settings/components/AddStage.js +51 -0
  66. package/dist/admin/routes/settings/components/AddStage.js.map +1 -0
  67. package/dist/admin/routes/settings/components/AddStage.mjs +49 -0
  68. package/dist/admin/routes/settings/components/AddStage.mjs.map +1 -0
  69. package/dist/admin/routes/settings/components/Layout.js +86 -0
  70. package/dist/admin/routes/settings/components/Layout.js.map +1 -0
  71. package/dist/admin/routes/settings/components/Layout.mjs +82 -0
  72. package/dist/admin/routes/settings/components/Layout.mjs.map +1 -0
  73. package/dist/admin/routes/settings/components/StageDragPreview.js +40 -0
  74. package/dist/admin/routes/settings/components/StageDragPreview.js.map +1 -0
  75. package/dist/admin/routes/settings/components/StageDragPreview.mjs +38 -0
  76. package/dist/admin/routes/settings/components/StageDragPreview.mjs.map +1 -0
  77. package/dist/admin/routes/settings/components/Stages.js +593 -0
  78. package/dist/admin/routes/settings/components/Stages.js.map +1 -0
  79. package/dist/admin/routes/settings/components/Stages.mjs +572 -0
  80. package/dist/admin/routes/settings/components/Stages.mjs.map +1 -0
  81. package/dist/admin/routes/settings/components/WorkflowAttributes.js +203 -0
  82. package/dist/admin/routes/settings/components/WorkflowAttributes.js.map +1 -0
  83. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs +201 -0
  84. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs.map +1 -0
  85. package/dist/admin/routes/settings/constants.js +8 -0
  86. package/dist/admin/routes/settings/constants.js.map +1 -0
  87. package/dist/admin/routes/settings/constants.mjs +6 -0
  88. package/dist/admin/routes/settings/constants.mjs.map +1 -0
  89. package/dist/admin/routes/settings/hooks/useDragAndDrop.js +193 -0
  90. package/dist/admin/routes/settings/hooks/useDragAndDrop.js.map +1 -0
  91. package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs +170 -0
  92. package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs.map +1 -0
  93. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js +94 -0
  94. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js.map +1 -0
  95. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs +73 -0
  96. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs.map +1 -0
  97. package/dist/admin/routes/settings/hooks/useReviewWorkflows.js +171 -0
  98. package/dist/admin/routes/settings/hooks/useReviewWorkflows.js.map +1 -0
  99. package/dist/admin/routes/settings/hooks/useReviewWorkflows.mjs +150 -0
  100. package/dist/admin/routes/settings/hooks/useReviewWorkflows.mjs.map +1 -0
  101. package/dist/admin/routes/settings/id.js +404 -0
  102. package/dist/admin/routes/settings/id.js.map +1 -0
  103. package/dist/admin/routes/settings/id.mjs +382 -0
  104. package/dist/admin/routes/settings/id.mjs.map +1 -0
  105. package/dist/admin/routes/settings/index.js +293 -0
  106. package/dist/admin/routes/settings/index.js.map +1 -0
  107. package/dist/admin/routes/settings/index.mjs +271 -0
  108. package/dist/admin/routes/settings/index.mjs.map +1 -0
  109. package/dist/admin/services/admin.js +23 -0
  110. package/dist/admin/services/admin.js.map +1 -0
  111. package/dist/admin/services/admin.mjs +21 -0
  112. package/dist/admin/services/admin.mjs.map +1 -0
  113. package/dist/admin/services/api.js +15 -0
  114. package/dist/admin/services/api.js.map +1 -0
  115. package/dist/admin/services/api.mjs +13 -0
  116. package/dist/admin/services/api.mjs.map +1 -0
  117. package/dist/admin/services/content-manager.js +101 -0
  118. package/dist/admin/services/content-manager.js.map +1 -0
  119. package/dist/admin/services/content-manager.mjs +96 -0
  120. package/dist/admin/services/content-manager.mjs.map +1 -0
  121. package/dist/admin/services/settings.js +123 -0
  122. package/dist/admin/services/settings.js.map +1 -0
  123. package/dist/admin/services/settings.mjs +118 -0
  124. package/dist/admin/services/settings.mjs.map +1 -0
  125. package/dist/admin/src/routes/content-manager/model/id/components/AssigneeSelect.d.ts +4 -0
  126. package/dist/admin/src/routes/content-manager/model/id/components/Header.d.ts +5 -0
  127. package/dist/admin/src/routes/content-manager/model/id/components/StageSelect.d.ts +3 -0
  128. package/dist/admin/translations/en.json.js +20 -0
  129. package/dist/admin/translations/en.json.js.map +1 -0
  130. package/dist/admin/translations/en.json.mjs +18 -0
  131. package/dist/admin/translations/en.json.mjs.map +1 -0
  132. package/dist/admin/translations/uk.json.js +16 -0
  133. package/dist/admin/translations/uk.json.js.map +1 -0
  134. package/dist/admin/translations/uk.json.mjs +14 -0
  135. package/dist/admin/translations/uk.json.mjs.map +1 -0
  136. package/dist/admin/utils/api.js +22 -0
  137. package/dist/admin/utils/api.js.map +1 -0
  138. package/dist/admin/utils/api.mjs +19 -0
  139. package/dist/admin/utils/api.mjs.map +1 -0
  140. package/dist/admin/utils/cm-hooks.js +23 -0
  141. package/dist/admin/utils/cm-hooks.js.map +1 -0
  142. package/dist/admin/utils/cm-hooks.mjs +21 -0
  143. package/dist/admin/utils/cm-hooks.mjs.map +1 -0
  144. package/dist/admin/utils/colors.js +50 -0
  145. package/dist/admin/utils/colors.js.map +1 -0
  146. package/dist/admin/utils/colors.mjs +47 -0
  147. package/dist/admin/utils/colors.mjs.map +1 -0
  148. package/dist/admin/utils/translations.js +11 -0
  149. package/dist/admin/utils/translations.js.map +1 -0
  150. package/dist/admin/utils/translations.mjs +9 -0
  151. package/dist/admin/utils/translations.mjs.map +1 -0
  152. package/dist/admin/utils/users.js +17 -0
  153. package/dist/admin/utils/users.js.map +1 -0
  154. package/dist/admin/utils/users.mjs +15 -0
  155. package/dist/admin/utils/users.mjs.map +1 -0
  156. package/dist/server/bootstrap.js +54 -0
  157. package/dist/server/bootstrap.js.map +1 -0
  158. package/dist/server/bootstrap.mjs +52 -0
  159. package/dist/server/bootstrap.mjs.map +1 -0
  160. package/dist/server/config/actions.js +47 -0
  161. package/dist/server/config/actions.js.map +1 -0
  162. package/dist/server/config/actions.mjs +45 -0
  163. package/dist/server/config/actions.mjs.map +1 -0
  164. package/dist/server/constants/default-stages.json.js +23 -0
  165. package/dist/server/constants/default-stages.json.js.map +1 -0
  166. package/dist/server/constants/default-stages.json.mjs +21 -0
  167. package/dist/server/constants/default-stages.json.mjs.map +1 -0
  168. package/dist/server/constants/default-workflow.json.js +12 -0
  169. package/dist/server/constants/default-workflow.json.js.map +1 -0
  170. package/dist/server/constants/default-workflow.json.mjs +7 -0
  171. package/dist/server/constants/default-workflow.json.mjs.map +1 -0
  172. package/dist/server/constants/webhook-events.js +12 -0
  173. package/dist/server/constants/webhook-events.js.map +1 -0
  174. package/dist/server/constants/webhook-events.mjs +7 -0
  175. package/dist/server/constants/webhook-events.mjs.map +1 -0
  176. package/dist/server/constants/workflows.js +53 -0
  177. package/dist/server/constants/workflows.js.map +1 -0
  178. package/dist/server/constants/workflows.mjs +42 -0
  179. package/dist/server/constants/workflows.mjs.map +1 -0
  180. package/dist/server/content-types/index.js +12 -0
  181. package/dist/server/content-types/index.js.map +1 -0
  182. package/dist/server/content-types/index.mjs +10 -0
  183. package/dist/server/content-types/index.mjs.map +1 -0
  184. package/dist/server/content-types/workflow/index.js +50 -0
  185. package/dist/server/content-types/workflow/index.js.map +1 -0
  186. package/dist/server/content-types/workflow/index.mjs +48 -0
  187. package/dist/server/content-types/workflow/index.mjs.map +1 -0
  188. package/dist/server/content-types/workflow-stage/index.js +54 -0
  189. package/dist/server/content-types/workflow-stage/index.js.map +1 -0
  190. package/dist/server/content-types/workflow-stage/index.mjs +52 -0
  191. package/dist/server/content-types/workflow-stage/index.mjs.map +1 -0
  192. package/dist/server/controllers/assignees.js +57 -0
  193. package/dist/server/controllers/assignees.js.map +1 -0
  194. package/dist/server/controllers/assignees.mjs +55 -0
  195. package/dist/server/controllers/assignees.mjs.map +1 -0
  196. package/dist/server/controllers/index.js +14 -0
  197. package/dist/server/controllers/index.js.map +1 -0
  198. package/dist/server/controllers/index.mjs +12 -0
  199. package/dist/server/controllers/index.mjs.map +1 -0
  200. package/dist/server/controllers/stages.js +167 -0
  201. package/dist/server/controllers/stages.js.map +1 -0
  202. package/dist/server/controllers/stages.mjs +165 -0
  203. package/dist/server/controllers/stages.mjs.map +1 -0
  204. package/dist/server/controllers/workflows.js +136 -0
  205. package/dist/server/controllers/workflows.js.map +1 -0
  206. package/dist/server/controllers/workflows.mjs +134 -0
  207. package/dist/server/controllers/workflows.mjs.map +1 -0
  208. package/dist/server/destroy.js +6 -0
  209. package/dist/server/destroy.js.map +1 -0
  210. package/dist/server/destroy.mjs +4 -0
  211. package/dist/server/destroy.mjs.map +1 -0
  212. package/dist/server/index.js +25 -8076
  213. package/dist/server/index.js.map +1 -1
  214. package/dist/server/index.mjs +24 -8078
  215. package/dist/server/index.mjs.map +1 -1
  216. package/dist/server/middlewares/review-workflows.js +42 -0
  217. package/dist/server/middlewares/review-workflows.js.map +1 -0
  218. package/dist/server/middlewares/review-workflows.mjs +37 -0
  219. package/dist/server/middlewares/review-workflows.mjs.map +1 -0
  220. package/dist/server/migrations/handle-deleted-ct-in-workflows.js +40 -0
  221. package/dist/server/migrations/handle-deleted-ct-in-workflows.js.map +1 -0
  222. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs +38 -0
  223. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs.map +1 -0
  224. package/dist/server/migrations/multiple-workflows.js +41 -0
  225. package/dist/server/migrations/multiple-workflows.js.map +1 -0
  226. package/dist/server/migrations/multiple-workflows.mjs +39 -0
  227. package/dist/server/migrations/multiple-workflows.mjs.map +1 -0
  228. package/dist/server/migrations/set-stages-default-color.js +22 -0
  229. package/dist/server/migrations/set-stages-default-color.js.map +1 -0
  230. package/dist/server/migrations/set-stages-default-color.mjs +20 -0
  231. package/dist/server/migrations/set-stages-default-color.mjs.map +1 -0
  232. package/dist/server/migrations/set-stages-roles.js +56 -0
  233. package/dist/server/migrations/set-stages-roles.js.map +1 -0
  234. package/dist/server/migrations/set-stages-roles.mjs +54 -0
  235. package/dist/server/migrations/set-stages-roles.mjs.map +1 -0
  236. package/dist/server/migrations/set-workflow-default-name.js +29 -0
  237. package/dist/server/migrations/set-workflow-default-name.js.map +1 -0
  238. package/dist/server/migrations/set-workflow-default-name.mjs +27 -0
  239. package/dist/server/migrations/set-workflow-default-name.mjs.map +1 -0
  240. package/dist/server/migrations/shorten-stage-attribute.js +45 -0
  241. package/dist/server/migrations/shorten-stage-attribute.js.map +1 -0
  242. package/dist/server/migrations/shorten-stage-attribute.mjs +43 -0
  243. package/dist/server/migrations/shorten-stage-attribute.mjs.map +1 -0
  244. package/dist/server/register.js +116 -0
  245. package/dist/server/register.js.map +1 -0
  246. package/dist/server/register.mjs +114 -0
  247. package/dist/server/register.mjs.map +1 -0
  248. package/dist/server/routes/index.js +10 -0
  249. package/dist/server/routes/index.js.map +1 -0
  250. package/dist/server/routes/index.mjs +8 -0
  251. package/dist/server/routes/index.mjs.map +1 -0
  252. package/dist/server/routes/review-workflows.js +186 -0
  253. package/dist/server/routes/review-workflows.js.map +1 -0
  254. package/dist/server/routes/review-workflows.mjs +184 -0
  255. package/dist/server/routes/review-workflows.mjs.map +1 -0
  256. package/dist/server/routes/utils.js +11 -0
  257. package/dist/server/routes/utils.js.map +1 -0
  258. package/dist/server/routes/utils.mjs +9 -0
  259. package/dist/server/routes/utils.mjs.map +1 -0
  260. package/dist/server/services/assignees.js +68 -0
  261. package/dist/server/services/assignees.js.map +1 -0
  262. package/dist/server/services/assignees.mjs +66 -0
  263. package/dist/server/services/assignees.mjs.map +1 -0
  264. package/dist/server/services/document-service-middleware.js +130 -0
  265. package/dist/server/services/document-service-middleware.js.map +1 -0
  266. package/dist/server/services/document-service-middleware.mjs +128 -0
  267. package/dist/server/services/document-service-middleware.mjs.map +1 -0
  268. package/dist/server/services/index.js +24 -0
  269. package/dist/server/services/index.js.map +1 -0
  270. package/dist/server/services/index.mjs +22 -0
  271. package/dist/server/services/index.mjs.map +1 -0
  272. package/dist/server/services/metrics/index.js +67 -0
  273. package/dist/server/services/metrics/index.js.map +1 -0
  274. package/dist/server/services/metrics/index.mjs +55 -0
  275. package/dist/server/services/metrics/index.mjs.map +1 -0
  276. package/dist/server/services/metrics/weekly-metrics.js +84 -0
  277. package/dist/server/services/metrics/weekly-metrics.js.map +1 -0
  278. package/dist/server/services/metrics/weekly-metrics.mjs +82 -0
  279. package/dist/server/services/metrics/weekly-metrics.mjs.map +1 -0
  280. package/dist/server/services/stage-permissions.js +59 -0
  281. package/dist/server/services/stage-permissions.js.map +1 -0
  282. package/dist/server/services/stage-permissions.mjs +57 -0
  283. package/dist/server/services/stage-permissions.mjs.map +1 -0
  284. package/dist/server/services/stages.js +353 -0
  285. package/dist/server/services/stages.js.map +1 -0
  286. package/dist/server/services/stages.mjs +351 -0
  287. package/dist/server/services/stages.mjs.map +1 -0
  288. package/dist/server/services/validation.js +69 -0
  289. package/dist/server/services/validation.js.map +1 -0
  290. package/dist/server/services/validation.mjs +67 -0
  291. package/dist/server/services/validation.mjs.map +1 -0
  292. package/dist/server/services/workflow-content-types.js +90 -0
  293. package/dist/server/services/workflow-content-types.js.map +1 -0
  294. package/dist/server/services/workflow-content-types.mjs +88 -0
  295. package/dist/server/services/workflow-content-types.mjs.map +1 -0
  296. package/dist/server/services/workflows.js +279 -0
  297. package/dist/server/services/workflows.js.map +1 -0
  298. package/dist/server/services/workflows.mjs +277 -0
  299. package/dist/server/services/workflows.mjs.map +1 -0
  300. package/dist/server/src/services/document-service-middleware.d.ts +1 -1
  301. package/dist/server/src/services/document-service-middleware.d.ts.map +1 -1
  302. package/dist/server/utils/index.js +16 -0
  303. package/dist/server/utils/index.js.map +1 -0
  304. package/dist/server/utils/index.mjs +13 -0
  305. package/dist/server/utils/index.mjs.map +1 -0
  306. package/dist/server/utils/review-workflows.js +36 -0
  307. package/dist/server/utils/review-workflows.js.map +1 -0
  308. package/dist/server/utils/review-workflows.mjs +30 -0
  309. package/dist/server/utils/review-workflows.mjs.map +1 -0
  310. package/dist/server/validation/review-workflows.js +71 -0
  311. package/dist/server/validation/review-workflows.js.map +1 -0
  312. package/dist/server/validation/review-workflows.mjs +65 -0
  313. package/dist/server/validation/review-workflows.mjs.map +1 -0
  314. package/dist/shared/contracts/review-workflows.d.ts +0 -1
  315. package/package.json +14 -12
  316. package/dist/_chunks/Layout-C3IORH2n.js +0 -250
  317. package/dist/_chunks/Layout-C3IORH2n.js.map +0 -1
  318. package/dist/_chunks/Layout-DNKR5bym.mjs +0 -233
  319. package/dist/_chunks/Layout-DNKR5bym.mjs.map +0 -1
  320. package/dist/_chunks/en-CYgjfSep.js +0 -15
  321. package/dist/_chunks/en-CYgjfSep.js.map +0 -1
  322. package/dist/_chunks/en-D9dxziEb.mjs +0 -15
  323. package/dist/_chunks/en-D9dxziEb.mjs.map +0 -1
  324. package/dist/_chunks/id-C9Ku9Br9.mjs +0 -1274
  325. package/dist/_chunks/id-C9Ku9Br9.mjs.map +0 -1
  326. package/dist/_chunks/id-oOE1bYls.js +0 -1293
  327. package/dist/_chunks/id-oOE1bYls.js.map +0 -1
  328. package/dist/_chunks/index-ByXbOW-R.mjs +0 -815
  329. package/dist/_chunks/index-ByXbOW-R.mjs.map +0 -1
  330. package/dist/_chunks/index-CmHHjN95.js +0 -231
  331. package/dist/_chunks/index-CmHHjN95.js.map +0 -1
  332. package/dist/_chunks/index-CyhaJuJG.mjs +0 -213
  333. package/dist/_chunks/index-CyhaJuJG.mjs.map +0 -1
  334. package/dist/_chunks/index-DMT27jNE.js +0 -832
  335. package/dist/_chunks/index-DMT27jNE.js.map +0 -1
  336. package/dist/_chunks/purchase-review-workflows-BxoDFxQ5.js +0 -52
  337. package/dist/_chunks/purchase-review-workflows-BxoDFxQ5.js.map +0 -1
  338. package/dist/_chunks/purchase-review-workflows-DyFV_H0I.mjs +0 -52
  339. package/dist/_chunks/purchase-review-workflows-DyFV_H0I.mjs.map +0 -1
  340. package/dist/_chunks/router-BPl2HZMq.mjs +0 -24
  341. package/dist/_chunks/router-BPl2HZMq.mjs.map +0 -1
  342. package/dist/_chunks/router-vDfGt9bq.js +0 -24
  343. package/dist/_chunks/router-vDfGt9bq.js.map +0 -1
  344. package/dist/admin/src/routes/content-manager/[model]/[id]/components/AssigneeSelect.d.ts +0 -2
  345. package/dist/admin/src/routes/content-manager/[model]/[id]/components/StageSelect.d.ts +0 -1
  346. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/AssigneeFilter.d.ts +0 -0
  347. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/StageFilter.d.ts +0 -0
  348. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/TableColumns.d.ts +0 -0
  349. /package/dist/admin/src/routes/content-manager/{[model] → model}/configure/constants.d.ts +0 -0
  350. /package/dist/admin/src/routes/content-manager/{[model] → model}/constants.d.ts +0 -0
  351. /package/dist/admin/src/routes/content-manager/{[model]/[id] → model/id}/components/Panel.d.ts +0 -0
  352. /package/dist/admin/src/routes/content-manager/{[model]/[id] → model/id}/components/constants.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-workflows.mjs","sources":["../../../server/src/validation/review-workflows.ts"],"sourcesContent":["/* eslint-disable func-names */\nimport { yup, validateYupSchema } from '@strapi/utils';\nimport { hasStageAttribute } from '../utils/review-workflows';\nimport { STAGE_TRANSITION_UID } from '../constants/workflows';\n\nconst stageObject = yup.object().shape({\n id: yup.number().integer().min(1),\n name: yup.string().max(255).required(),\n color: yup.string().matches(/^#(?:[0-9a-fA-F]{3}){1,2}$/i), // hex color\n permissions: yup.array().of(\n yup.object().shape({\n role: yup.number().integer().min(1).required(),\n action: yup.string().oneOf([STAGE_TRANSITION_UID]).required(),\n actionParameters: yup.object().shape({\n from: yup.number().integer().min(1).required(),\n to: yup.number().integer().min(1),\n }),\n })\n ),\n});\n\nconst validateUpdateStageOnEntitySchema = yup\n .object()\n .shape({\n id: yup.number().integer().min(1).required(),\n })\n .required();\n\nconst validateContentTypes = yup.array().of(\n yup\n .string()\n .test({\n name: 'content-type-exists',\n message: (value) => `Content type ${value.originalValue} does not exist`,\n test(uid: any) {\n // Warning; we use the strapi global - to avoid that, it would need to refactor how\n // we generate validation function by using a factory with the strapi instance as parameter.\n return !!strapi.getModel(uid);\n },\n })\n .test({\n name: 'content-type-review-workflow-enabled',\n message: (value) =>\n `Content type ${value.originalValue} does not have review workflow enabled`,\n test(uid: any) {\n const model = strapi.getModel(uid);\n\n // It's not a valid content type if it doesn't have the stage attribute\n return hasStageAttribute(model);\n },\n })\n);\n\nconst validateWorkflowCreateSchema = yup.object().shape({\n name: yup.string().max(255).min(1, 'Workflow name can not be empty').required(),\n stages: yup\n .array()\n .of(stageObject)\n // @ts-expect-error - add unique property into the yup namespace typing\n .uniqueProperty('name', 'Stage name must be unique')\n .min(1, 'Can not create a workflow without stages')\n .max(200, 'Can not have more than 200 stages')\n .required('Can not create a workflow without stages'),\n contentTypes: validateContentTypes,\n stageRequiredToPublishName: yup.string().min(1).nullable(),\n});\n\nconst validateWorkflowUpdateSchema = yup.object().shape({\n name: yup.string().max(255).min(1, 'Workflow name can not be empty'),\n stages: yup\n .array()\n .of(stageObject)\n // @ts-expect-error - add unique property into the yup namespace typing\n .uniqueProperty('name', 'Stage name must be unique')\n .min(1, 'Can not update a workflow without stages')\n .max(200, 'Can not have more than 200 stages'),\n contentTypes: validateContentTypes,\n stageRequiredToPublishName: yup.string().min(1).nullable(),\n});\n\nconst validateUpdateAssigneeOnEntitySchema = yup\n .object()\n .shape({\n id: yup.number().integer().min(1).nullable(),\n })\n .required();\n\nconst validateLocaleSchema = yup.string().nullable();\n\nexport const validateWorkflowCreate = validateYupSchema(validateWorkflowCreateSchema);\nexport const validateUpdateStageOnEntity = validateYupSchema(validateUpdateStageOnEntitySchema);\nexport const validateUpdateAssigneeOnEntity = validateYupSchema(\n validateUpdateAssigneeOnEntitySchema\n);\nexport const validateWorkflowUpdate = validateYupSchema(validateWorkflowUpdateSchema);\nexport const validateLocale = validateYupSchema(validateLocaleSchema);\n\nexport default {\n validateWorkflowCreate,\n validateUpdateStageOnEntity,\n validateUpdateAssigneeOnEntity,\n validateWorkflowUpdate,\n validateLocale,\n};\n"],"names":["stageObject","yup","object","shape","id","number","integer","min","name","string","max","required","color","matches","permissions","array","of","role","action","oneOf","STAGE_TRANSITION_UID","actionParameters","from","to","validateUpdateStageOnEntitySchema","validateContentTypes","test","message","value","originalValue","uid","strapi","getModel","model","hasStageAttribute","validateWorkflowCreateSchema","stages","uniqueProperty","contentTypes","stageRequiredToPublishName","nullable","validateWorkflowUpdateSchema","validateUpdateAssigneeOnEntitySchema","validateLocaleSchema","validateWorkflowCreate","validateYupSchema","validateUpdateStageOnEntity","validateUpdateAssigneeOnEntity","validateWorkflowUpdate","validateLocale"],"mappings":"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"}
@@ -141,4 +141,3 @@ declare namespace Delete {
141
141
  }
142
142
  }
143
143
  export type { Stage, Workflow, GetAll, Update, Create, Delete, UpdateAssignee, UpdateStage, GetStages, StagePermission, };
144
- //# sourceMappingURL=review-workflows.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/review-workflows",
3
- "version": "0.0.0-next.dad3c50630ca4fd9eccdcbe549ee632fc572e23d",
3
+ "version": "0.0.0-next.e3eb36dde0d936dc941df54e440e2c50a0582eeb",
4
4
  "description": "Review workflows for your content",
5
5
  "repository": {
6
6
  "type": "git",
@@ -41,7 +41,11 @@
41
41
  "strapi-server.js"
42
42
  ],
43
43
  "scripts": {
44
- "build": "pack-up build",
44
+ "build": "run -T npm-run-all clean --parallel build:code build:types",
45
+ "build:code": "run -T rollup -c",
46
+ "build:types": "run -T run-p build:types:server build:types:admin",
47
+ "build:types:server": "run -T tsc -p server/tsconfig.build.json --emitDeclarationOnly",
48
+ "build:types:admin": "run -T tsc -p admin/tsconfig.build.json --emitDeclarationOnly",
45
49
  "clean": "run -T rimraf ./dist",
46
50
  "lint": "run -T eslint .",
47
51
  "test:front": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js",
@@ -49,13 +53,13 @@
49
53
  "test:ts:front": "run -T tsc -p admin/tsconfig.json",
50
54
  "test:unit": "run -T jest",
51
55
  "test:unit:watch": "run -T jest --watch",
52
- "watch": "pack-up watch"
56
+ "watch": "run -T rollup -c -w"
53
57
  },
54
58
  "dependencies": {
55
59
  "@reduxjs/toolkit": "1.9.7",
56
- "@strapi/design-system": "2.0.0-rc.14",
57
- "@strapi/icons": "2.0.0-rc.14",
58
- "@strapi/utils": "0.0.0-next.dad3c50630ca4fd9eccdcbe549ee632fc572e23d",
60
+ "@strapi/design-system": "2.0.0-rc.23",
61
+ "@strapi/icons": "2.0.0-rc.23",
62
+ "@strapi/utils": "0.0.0-next.e3eb36dde0d936dc941df54e440e2c50a0582eeb",
59
63
  "fractional-indexing": "3.2.0",
60
64
  "react-dnd": "16.0.1",
61
65
  "react-dnd-html5-backend": "16.0.1",
@@ -65,10 +69,9 @@
65
69
  "yup": "0.32.9"
66
70
  },
67
71
  "devDependencies": {
68
- "@strapi/admin": "0.0.0-next.dad3c50630ca4fd9eccdcbe549ee632fc572e23d",
69
- "@strapi/content-manager": "0.0.0-next.dad3c50630ca4fd9eccdcbe549ee632fc572e23d",
70
- "@strapi/pack-up": "5.0.2",
71
- "@strapi/types": "0.0.0-next.dad3c50630ca4fd9eccdcbe549ee632fc572e23d",
72
+ "@strapi/admin": "0.0.0-next.e3eb36dde0d936dc941df54e440e2c50a0582eeb",
73
+ "@strapi/content-manager": "0.0.0-next.e3eb36dde0d936dc941df54e440e2c50a0582eeb",
74
+ "@strapi/types": "0.0.0-next.e3eb36dde0d936dc941df54e440e2c50a0582eeb",
72
75
  "@testing-library/react": "15.0.7",
73
76
  "msw": "1.3.0",
74
77
  "react": "18.3.1",
@@ -94,6 +97,5 @@
94
97
  "kind": "plugin",
95
98
  "displayName": "Review Workflows",
96
99
  "required": true
97
- },
98
- "gitHead": "dad3c50630ca4fd9eccdcbe549ee632fc572e23d"
100
+ }
99
101
  }
@@ -1,250 +0,0 @@
1
- "use strict";
2
- const React = require("react");
3
- const strapiAdmin = require("@strapi/admin/strapi-admin");
4
- const reactIntl = require("react-intl");
5
- const index = require("./index-DMT27jNE.js");
6
- const jsxRuntime = require("react/jsx-runtime");
7
- const designSystem = require("@strapi/design-system");
8
- const reactDnd = require("react-dnd");
9
- const icons = require("@strapi/icons");
10
- function _interopNamespace(e) {
11
- if (e && e.__esModule) return e;
12
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
13
- if (e) {
14
- for (const k in e) {
15
- if (k !== "default") {
16
- const d = Object.getOwnPropertyDescriptor(e, k);
17
- Object.defineProperty(n, k, d.get ? d : {
18
- enumerable: true,
19
- get: () => e[k]
20
- });
21
- }
22
- }
23
- }
24
- n.default = e;
25
- return Object.freeze(n);
26
- }
27
- const React__namespace = /* @__PURE__ */ _interopNamespace(React);
28
- const DEFAULT_UNEXPECTED_ERROR_MSG = {
29
- id: "notification.error",
30
- defaultMessage: "An error occurred, please try again"
31
- };
32
- const useReviewWorkflows = (params = {}) => {
33
- const { toggleNotification } = strapiAdmin.useNotification();
34
- const { formatMessage } = reactIntl.useIntl();
35
- const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
36
- const { skip = false, ...queryParams } = params;
37
- const { data, isLoading, error } = index.useGetWorkflowsQuery(
38
- {
39
- populate: ["stages", "stageRequiredToPublish"],
40
- ...queryParams
41
- },
42
- {
43
- skip
44
- }
45
- );
46
- React__namespace.useEffect(() => {
47
- if (error) {
48
- toggleNotification({
49
- type: "danger",
50
- message: formatAPIError(error)
51
- });
52
- }
53
- }, [error, formatAPIError, toggleNotification]);
54
- const [createWorkflow] = index.useCreateWorkflowMutation();
55
- const create = React__namespace.useCallback(
56
- async (data2) => {
57
- try {
58
- const res = await createWorkflow({ data: data2 });
59
- if ("error" in res) {
60
- toggleNotification({
61
- type: "danger",
62
- message: formatAPIError(res.error)
63
- });
64
- return res;
65
- }
66
- toggleNotification({
67
- type: "success",
68
- message: formatMessage({ id: "actions.created", defaultMessage: "Created workflow" })
69
- });
70
- return res;
71
- } catch (err) {
72
- toggleNotification({
73
- type: "danger",
74
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
75
- });
76
- throw err;
77
- }
78
- },
79
- [createWorkflow, formatAPIError, formatMessage, toggleNotification]
80
- );
81
- const [updateWorkflow] = index.useUpdateWorkflowMutation();
82
- const update = React__namespace.useCallback(
83
- async (id, data2) => {
84
- try {
85
- const res = await updateWorkflow({ id, data: data2 });
86
- if ("error" in res) {
87
- toggleNotification({
88
- type: "danger",
89
- message: formatAPIError(res.error)
90
- });
91
- return res;
92
- }
93
- toggleNotification({
94
- type: "success",
95
- message: formatMessage({ id: "actions.updated", defaultMessage: "Updated workflow" })
96
- });
97
- return res;
98
- } catch (err) {
99
- toggleNotification({
100
- type: "danger",
101
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
102
- });
103
- throw err;
104
- }
105
- },
106
- [formatAPIError, formatMessage, toggleNotification, updateWorkflow]
107
- );
108
- const [deleteWorkflow] = index.useDeleteWorkflowMutation();
109
- const deleteAction = React__namespace.useCallback(
110
- async (id) => {
111
- try {
112
- const res = await deleteWorkflow({ id });
113
- if ("error" in res) {
114
- toggleNotification({
115
- type: "danger",
116
- message: formatAPIError(res.error)
117
- });
118
- return;
119
- }
120
- toggleNotification({
121
- type: "success",
122
- message: formatMessage({ id: "actions.deleted", defaultMessage: "Deleted workflow" })
123
- });
124
- return res.data;
125
- } catch (err) {
126
- toggleNotification({
127
- type: "danger",
128
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
129
- });
130
- throw err;
131
- }
132
- },
133
- [deleteWorkflow, formatAPIError, formatMessage, toggleNotification]
134
- );
135
- const { workflows = [], meta } = data ?? {};
136
- return {
137
- // meta contains e.g. the total of all workflows. we can not use
138
- // the pagination object here, because the list is not paginated.
139
- meta,
140
- workflows,
141
- isLoading,
142
- error,
143
- create,
144
- delete: deleteAction,
145
- update
146
- };
147
- };
148
- const DRAG_DROP_TYPES = {
149
- STAGE: "stage"
150
- };
151
- const StageDragPreview = ({ name }) => {
152
- return /* @__PURE__ */ jsxRuntime.jsxs(
153
- designSystem.Flex,
154
- {
155
- background: "primary100",
156
- borderStyle: "dashed",
157
- borderColor: "primary600",
158
- borderWidth: "1px",
159
- gap: 3,
160
- hasRadius: true,
161
- padding: 3,
162
- shadow: "tableShadow",
163
- width: "30rem",
164
- children: [
165
- /* @__PURE__ */ jsxRuntime.jsx(
166
- designSystem.Flex,
167
- {
168
- alignItems: "center",
169
- background: "neutral200",
170
- borderRadius: "50%",
171
- height: 6,
172
- justifyContent: "center",
173
- width: 6,
174
- children: /* @__PURE__ */ jsxRuntime.jsx(icons.CaretDown, { width: "0.8rem", fill: "neutral600" })
175
- }
176
- ),
177
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: name })
178
- ]
179
- }
180
- );
181
- };
182
- function getStyle(initialOffset, currentOffset, mouseOffset) {
183
- if (!initialOffset || !currentOffset || !mouseOffset) {
184
- return { display: "none" };
185
- }
186
- const { x, y } = mouseOffset;
187
- return {
188
- transform: `translate(${x}px, ${y}px)`
189
- };
190
- }
191
- const DragLayerRendered = () => {
192
- const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = reactDnd.useDragLayer(
193
- (monitor) => ({
194
- item: monitor.getItem(),
195
- itemType: monitor.getItemType(),
196
- initialOffset: monitor.getInitialSourceClientOffset(),
197
- currentOffset: monitor.getSourceClientOffset(),
198
- isDragging: monitor.isDragging(),
199
- mouseOffset: monitor.getClientOffset()
200
- })
201
- );
202
- if (!isDragging || itemType !== DRAG_DROP_TYPES.STAGE) {
203
- return null;
204
- }
205
- return /* @__PURE__ */ jsxRuntime.jsx(
206
- designSystem.Box,
207
- {
208
- height: "100%",
209
- left: 0,
210
- position: "fixed",
211
- pointerEvents: "none",
212
- top: 0,
213
- zIndex: 100,
214
- width: "100%",
215
- children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { style: getStyle(initialOffset, currentOffset, mouseOffset), children: [
216
- /* @__PURE__ */ jsxRuntime.jsx(StageDragPreview, { name: typeof item.item === "string" ? item.item : null }),
217
- ";"
218
- ] })
219
- }
220
- );
221
- };
222
- const Root = ({ children }) => {
223
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Main, { children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Layouts.Content, { children }) });
224
- };
225
- const Header = ({ title, subtitle, navigationAction, primaryAction }) => {
226
- const { formatMessage } = reactIntl.useIntl();
227
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
228
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Title, { children: formatMessage(
229
- { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
230
- {
231
- name: title
232
- }
233
- ) }),
234
- /* @__PURE__ */ jsxRuntime.jsx(
235
- strapiAdmin.Layouts.BaseHeader,
236
- {
237
- navigationAction,
238
- primaryAction,
239
- title,
240
- subtitle
241
- }
242
- )
243
- ] });
244
- };
245
- exports.DRAG_DROP_TYPES = DRAG_DROP_TYPES;
246
- exports.DragLayerRendered = DragLayerRendered;
247
- exports.Header = Header;
248
- exports.Root = Root;
249
- exports.useReviewWorkflows = useReviewWorkflows;
250
- //# sourceMappingURL=Layout-C3IORH2n.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Layout-C3IORH2n.js","sources":["../../admin/src/routes/settings/hooks/useReviewWorkflows.ts","../../admin/src/routes/settings/constants.ts","../../admin/src/routes/settings/components/StageDragPreview.tsx","../../admin/src/routes/settings/components/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useAPIErrorHandler, useNotification } from '@strapi/admin/strapi-admin';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\n\nimport {\n GetWorkflowsParams,\n useCreateWorkflowMutation,\n useDeleteWorkflowMutation,\n useGetWorkflowsQuery,\n useUpdateWorkflowMutation,\n} from '../../../services/settings';\n\nimport type { Create, Update } from '../../../../../shared/contracts/review-workflows';\n\nconst DEFAULT_UNEXPECTED_ERROR_MSG = {\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n} satisfies MessageDescriptor;\n\ntype UseReviewWorkflowsArgs = GetWorkflowsParams & {\n skip?: boolean;\n};\n\nconst useReviewWorkflows = (params: UseReviewWorkflowsArgs = {}) => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { skip = false, ...queryParams } = params;\n\n const { data, isLoading, error } = useGetWorkflowsQuery(\n {\n populate: ['stages', 'stageRequiredToPublish'],\n ...queryParams,\n },\n {\n skip,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const [createWorkflow] = useCreateWorkflowMutation();\n const create = React.useCallback(\n async (data: Create.Request['body']['data']) => {\n try {\n const res = await createWorkflow({ data });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return res;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.created', defaultMessage: 'Created workflow' }),\n });\n\n return res;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [createWorkflow, formatAPIError, formatMessage, toggleNotification]\n );\n\n const [updateWorkflow] = useUpdateWorkflowMutation();\n const update = React.useCallback(\n async (id: string, data: Update.Request['body']['data']) => {\n try {\n const res = await updateWorkflow({ id, data });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return res;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.updated', defaultMessage: 'Updated workflow' }),\n });\n\n return res;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [formatAPIError, formatMessage, toggleNotification, updateWorkflow]\n );\n\n const [deleteWorkflow] = useDeleteWorkflowMutation();\n const deleteAction = React.useCallback(\n async (id: string) => {\n try {\n const res = await deleteWorkflow({ id });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.deleted', defaultMessage: 'Deleted workflow' }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [deleteWorkflow, formatAPIError, formatMessage, toggleNotification]\n );\n\n const { workflows = [], meta } = data ?? {};\n\n return {\n // meta contains e.g. the total of all workflows. we can not use\n // the pagination object here, because the list is not paginated.\n meta,\n workflows,\n isLoading,\n error,\n create,\n delete: deleteAction,\n update,\n };\n};\n\nexport { useReviewWorkflows };\n","export type DragDropTypes = 'stage';\n\nexport const DRAG_DROP_TYPES: Record<Uppercase<DragDropTypes>, DragDropTypes> = {\n STAGE: 'stage',\n};\n","import { Flex, Typography } from '@strapi/design-system';\nimport { CaretDown } from '@strapi/icons';\n\ninterface StageDragPreviewType {\n name: string | null;\n}\n\nconst StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width=\"30rem\"\n >\n <Flex\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CaretDown width=\"0.8rem\" fill=\"neutral600\" />\n </Flex>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n\nexport { StageDragPreview };\nexport type { StageDragPreviewType };\n","import * as React from 'react';\n\nimport { Page, Layouts } from '@strapi/admin/strapi-admin';\nimport { Box } from '@strapi/design-system';\nimport { XYCoord, useDragLayer } from 'react-dnd';\nimport { useIntl } from 'react-intl';\n\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nfunction getStyle(\n initialOffset: XYCoord | null,\n currentOffset: XYCoord | null,\n mouseOffset: XYCoord | null\n) {\n if (!initialOffset || !currentOffset || !mouseOffset) {\n return { display: 'none' };\n }\n\n const { x, y } = mouseOffset;\n\n return {\n transform: `translate(${x}px, ${y}px)`,\n };\n}\n\nconst DragLayerRendered = () => {\n const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = useDragLayer(\n (monitor) => ({\n item: monitor.getItem(),\n itemType: monitor.getItemType(),\n initialOffset: monitor.getInitialSourceClientOffset(),\n currentOffset: monitor.getSourceClientOffset(),\n isDragging: monitor.isDragging(),\n mouseOffset: monitor.getClientOffset(),\n })\n );\n\n if (!isDragging || itemType !== DRAG_DROP_TYPES.STAGE) {\n return null;\n }\n\n return (\n <Box\n height=\"100%\"\n left={0}\n position=\"fixed\"\n pointerEvents=\"none\"\n top={0}\n zIndex={100}\n width=\"100%\"\n >\n <Box style={getStyle(initialOffset, currentOffset, mouseOffset)}>\n <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n </Box>\n </Box>\n );\n};\n\nconst Root: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <Page.Main>\n <Layouts.Content>{children}</Layouts.Content>\n </Page.Main>\n );\n};\n\ninterface HeaderProps {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n}\n\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n const { formatMessage } = useIntl();\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: title,\n }\n )}\n </Page.Title>\n <Layouts.BaseHeader\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { DragLayerRendered, Header, Root };\n"],"names":["useNotification","useIntl","useAPIErrorHandler","useGetWorkflowsQuery","React","useCreateWorkflowMutation","data","useUpdateWorkflowMutation","useDeleteWorkflowMutation","jsxs","Flex","jsx","CaretDown","Typography","useDragLayer","Box","Page","Layouts","Fragment"],"mappings":"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"}
@@ -1,233 +0,0 @@
1
- import * as React from "react";
2
- import { useNotification, useAPIErrorHandler, Page, Layouts } from "@strapi/admin/strapi-admin";
3
- import { useIntl } from "react-intl";
4
- import { c as useGetWorkflowsQuery, d as useCreateWorkflowMutation, e as useUpdateWorkflowMutation, f as useDeleteWorkflowMutation } from "./index-ByXbOW-R.mjs";
5
- import { jsxs, jsx, Fragment } from "react/jsx-runtime";
6
- import { Flex, Typography, Box } from "@strapi/design-system";
7
- import { useDragLayer } from "react-dnd";
8
- import { CaretDown } from "@strapi/icons";
9
- const DEFAULT_UNEXPECTED_ERROR_MSG = {
10
- id: "notification.error",
11
- defaultMessage: "An error occurred, please try again"
12
- };
13
- const useReviewWorkflows = (params = {}) => {
14
- const { toggleNotification } = useNotification();
15
- const { formatMessage } = useIntl();
16
- const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
17
- const { skip = false, ...queryParams } = params;
18
- const { data, isLoading, error } = useGetWorkflowsQuery(
19
- {
20
- populate: ["stages", "stageRequiredToPublish"],
21
- ...queryParams
22
- },
23
- {
24
- skip
25
- }
26
- );
27
- React.useEffect(() => {
28
- if (error) {
29
- toggleNotification({
30
- type: "danger",
31
- message: formatAPIError(error)
32
- });
33
- }
34
- }, [error, formatAPIError, toggleNotification]);
35
- const [createWorkflow] = useCreateWorkflowMutation();
36
- const create = React.useCallback(
37
- async (data2) => {
38
- try {
39
- const res = await createWorkflow({ data: data2 });
40
- if ("error" in res) {
41
- toggleNotification({
42
- type: "danger",
43
- message: formatAPIError(res.error)
44
- });
45
- return res;
46
- }
47
- toggleNotification({
48
- type: "success",
49
- message: formatMessage({ id: "actions.created", defaultMessage: "Created workflow" })
50
- });
51
- return res;
52
- } catch (err) {
53
- toggleNotification({
54
- type: "danger",
55
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
56
- });
57
- throw err;
58
- }
59
- },
60
- [createWorkflow, formatAPIError, formatMessage, toggleNotification]
61
- );
62
- const [updateWorkflow] = useUpdateWorkflowMutation();
63
- const update = React.useCallback(
64
- async (id, data2) => {
65
- try {
66
- const res = await updateWorkflow({ id, data: data2 });
67
- if ("error" in res) {
68
- toggleNotification({
69
- type: "danger",
70
- message: formatAPIError(res.error)
71
- });
72
- return res;
73
- }
74
- toggleNotification({
75
- type: "success",
76
- message: formatMessage({ id: "actions.updated", defaultMessage: "Updated workflow" })
77
- });
78
- return res;
79
- } catch (err) {
80
- toggleNotification({
81
- type: "danger",
82
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
83
- });
84
- throw err;
85
- }
86
- },
87
- [formatAPIError, formatMessage, toggleNotification, updateWorkflow]
88
- );
89
- const [deleteWorkflow] = useDeleteWorkflowMutation();
90
- const deleteAction = React.useCallback(
91
- async (id) => {
92
- try {
93
- const res = await deleteWorkflow({ id });
94
- if ("error" in res) {
95
- toggleNotification({
96
- type: "danger",
97
- message: formatAPIError(res.error)
98
- });
99
- return;
100
- }
101
- toggleNotification({
102
- type: "success",
103
- message: formatMessage({ id: "actions.deleted", defaultMessage: "Deleted workflow" })
104
- });
105
- return res.data;
106
- } catch (err) {
107
- toggleNotification({
108
- type: "danger",
109
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
110
- });
111
- throw err;
112
- }
113
- },
114
- [deleteWorkflow, formatAPIError, formatMessage, toggleNotification]
115
- );
116
- const { workflows = [], meta } = data ?? {};
117
- return {
118
- // meta contains e.g. the total of all workflows. we can not use
119
- // the pagination object here, because the list is not paginated.
120
- meta,
121
- workflows,
122
- isLoading,
123
- error,
124
- create,
125
- delete: deleteAction,
126
- update
127
- };
128
- };
129
- const DRAG_DROP_TYPES = {
130
- STAGE: "stage"
131
- };
132
- const StageDragPreview = ({ name }) => {
133
- return /* @__PURE__ */ jsxs(
134
- Flex,
135
- {
136
- background: "primary100",
137
- borderStyle: "dashed",
138
- borderColor: "primary600",
139
- borderWidth: "1px",
140
- gap: 3,
141
- hasRadius: true,
142
- padding: 3,
143
- shadow: "tableShadow",
144
- width: "30rem",
145
- children: [
146
- /* @__PURE__ */ jsx(
147
- Flex,
148
- {
149
- alignItems: "center",
150
- background: "neutral200",
151
- borderRadius: "50%",
152
- height: 6,
153
- justifyContent: "center",
154
- width: 6,
155
- children: /* @__PURE__ */ jsx(CaretDown, { width: "0.8rem", fill: "neutral600" })
156
- }
157
- ),
158
- /* @__PURE__ */ jsx(Typography, { fontWeight: "bold", children: name })
159
- ]
160
- }
161
- );
162
- };
163
- function getStyle(initialOffset, currentOffset, mouseOffset) {
164
- if (!initialOffset || !currentOffset || !mouseOffset) {
165
- return { display: "none" };
166
- }
167
- const { x, y } = mouseOffset;
168
- return {
169
- transform: `translate(${x}px, ${y}px)`
170
- };
171
- }
172
- const DragLayerRendered = () => {
173
- const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = useDragLayer(
174
- (monitor) => ({
175
- item: monitor.getItem(),
176
- itemType: monitor.getItemType(),
177
- initialOffset: monitor.getInitialSourceClientOffset(),
178
- currentOffset: monitor.getSourceClientOffset(),
179
- isDragging: monitor.isDragging(),
180
- mouseOffset: monitor.getClientOffset()
181
- })
182
- );
183
- if (!isDragging || itemType !== DRAG_DROP_TYPES.STAGE) {
184
- return null;
185
- }
186
- return /* @__PURE__ */ jsx(
187
- Box,
188
- {
189
- height: "100%",
190
- left: 0,
191
- position: "fixed",
192
- pointerEvents: "none",
193
- top: 0,
194
- zIndex: 100,
195
- width: "100%",
196
- children: /* @__PURE__ */ jsxs(Box, { style: getStyle(initialOffset, currentOffset, mouseOffset), children: [
197
- /* @__PURE__ */ jsx(StageDragPreview, { name: typeof item.item === "string" ? item.item : null }),
198
- ";"
199
- ] })
200
- }
201
- );
202
- };
203
- const Root = ({ children }) => {
204
- return /* @__PURE__ */ jsx(Page.Main, { children: /* @__PURE__ */ jsx(Layouts.Content, { children }) });
205
- };
206
- const Header = ({ title, subtitle, navigationAction, primaryAction }) => {
207
- const { formatMessage } = useIntl();
208
- return /* @__PURE__ */ jsxs(Fragment, { children: [
209
- /* @__PURE__ */ jsx(Page.Title, { children: formatMessage(
210
- { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
211
- {
212
- name: title
213
- }
214
- ) }),
215
- /* @__PURE__ */ jsx(
216
- Layouts.BaseHeader,
217
- {
218
- navigationAction,
219
- primaryAction,
220
- title,
221
- subtitle
222
- }
223
- )
224
- ] });
225
- };
226
- export {
227
- DRAG_DROP_TYPES as D,
228
- Header as H,
229
- Root as R,
230
- DragLayerRendered as a,
231
- useReviewWorkflows as u
232
- };
233
- //# sourceMappingURL=Layout-DNKR5bym.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Layout-DNKR5bym.mjs","sources":["../../admin/src/routes/settings/hooks/useReviewWorkflows.ts","../../admin/src/routes/settings/constants.ts","../../admin/src/routes/settings/components/StageDragPreview.tsx","../../admin/src/routes/settings/components/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useAPIErrorHandler, useNotification } from '@strapi/admin/strapi-admin';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\n\nimport {\n GetWorkflowsParams,\n useCreateWorkflowMutation,\n useDeleteWorkflowMutation,\n useGetWorkflowsQuery,\n useUpdateWorkflowMutation,\n} from '../../../services/settings';\n\nimport type { Create, Update } from '../../../../../shared/contracts/review-workflows';\n\nconst DEFAULT_UNEXPECTED_ERROR_MSG = {\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n} satisfies MessageDescriptor;\n\ntype UseReviewWorkflowsArgs = GetWorkflowsParams & {\n skip?: boolean;\n};\n\nconst useReviewWorkflows = (params: UseReviewWorkflowsArgs = {}) => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { skip = false, ...queryParams } = params;\n\n const { data, isLoading, error } = useGetWorkflowsQuery(\n {\n populate: ['stages', 'stageRequiredToPublish'],\n ...queryParams,\n },\n {\n skip,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const [createWorkflow] = useCreateWorkflowMutation();\n const create = React.useCallback(\n async (data: Create.Request['body']['data']) => {\n try {\n const res = await createWorkflow({ data });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return res;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.created', defaultMessage: 'Created workflow' }),\n });\n\n return res;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [createWorkflow, formatAPIError, formatMessage, toggleNotification]\n );\n\n const [updateWorkflow] = useUpdateWorkflowMutation();\n const update = React.useCallback(\n async (id: string, data: Update.Request['body']['data']) => {\n try {\n const res = await updateWorkflow({ id, data });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return res;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.updated', defaultMessage: 'Updated workflow' }),\n });\n\n return res;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [formatAPIError, formatMessage, toggleNotification, updateWorkflow]\n );\n\n const [deleteWorkflow] = useDeleteWorkflowMutation();\n const deleteAction = React.useCallback(\n async (id: string) => {\n try {\n const res = await deleteWorkflow({ id });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.deleted', defaultMessage: 'Deleted workflow' }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [deleteWorkflow, formatAPIError, formatMessage, toggleNotification]\n );\n\n const { workflows = [], meta } = data ?? {};\n\n return {\n // meta contains e.g. the total of all workflows. we can not use\n // the pagination object here, because the list is not paginated.\n meta,\n workflows,\n isLoading,\n error,\n create,\n delete: deleteAction,\n update,\n };\n};\n\nexport { useReviewWorkflows };\n","export type DragDropTypes = 'stage';\n\nexport const DRAG_DROP_TYPES: Record<Uppercase<DragDropTypes>, DragDropTypes> = {\n STAGE: 'stage',\n};\n","import { Flex, Typography } from '@strapi/design-system';\nimport { CaretDown } from '@strapi/icons';\n\ninterface StageDragPreviewType {\n name: string | null;\n}\n\nconst StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width=\"30rem\"\n >\n <Flex\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CaretDown width=\"0.8rem\" fill=\"neutral600\" />\n </Flex>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n\nexport { StageDragPreview };\nexport type { StageDragPreviewType };\n","import * as React from 'react';\n\nimport { Page, Layouts } from '@strapi/admin/strapi-admin';\nimport { Box } from '@strapi/design-system';\nimport { XYCoord, useDragLayer } from 'react-dnd';\nimport { useIntl } from 'react-intl';\n\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nfunction getStyle(\n initialOffset: XYCoord | null,\n currentOffset: XYCoord | null,\n mouseOffset: XYCoord | null\n) {\n if (!initialOffset || !currentOffset || !mouseOffset) {\n return { display: 'none' };\n }\n\n const { x, y } = mouseOffset;\n\n return {\n transform: `translate(${x}px, ${y}px)`,\n };\n}\n\nconst DragLayerRendered = () => {\n const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = useDragLayer(\n (monitor) => ({\n item: monitor.getItem(),\n itemType: monitor.getItemType(),\n initialOffset: monitor.getInitialSourceClientOffset(),\n currentOffset: monitor.getSourceClientOffset(),\n isDragging: monitor.isDragging(),\n mouseOffset: monitor.getClientOffset(),\n })\n );\n\n if (!isDragging || itemType !== DRAG_DROP_TYPES.STAGE) {\n return null;\n }\n\n return (\n <Box\n height=\"100%\"\n left={0}\n position=\"fixed\"\n pointerEvents=\"none\"\n top={0}\n zIndex={100}\n width=\"100%\"\n >\n <Box style={getStyle(initialOffset, currentOffset, mouseOffset)}>\n <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n </Box>\n </Box>\n );\n};\n\nconst Root: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <Page.Main>\n <Layouts.Content>{children}</Layouts.Content>\n </Page.Main>\n );\n};\n\ninterface HeaderProps {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n}\n\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n const { formatMessage } = useIntl();\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: title,\n }\n )}\n </Page.Title>\n <Layouts.BaseHeader\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { DragLayerRendered, Header, Root };\n"],"names":["data"],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const en = {
4
- "settings.page.title": "Review Workflows",
5
- "settings.page.subtitle": "{count, plural, one {# stage} other {# stages}}",
6
- "settings.page.isLoading": "Workflow is loading",
7
- "settings.page.delete.confirm.body": "All entries assigned to deleted stages will be moved to the previous stage. Are you sure you want to save?",
8
- "settings.stage.name.label": "Stage name",
9
- "settings.not-available": "Review Workflows is only available as part of the Enterprise Edition. Upgrade to create and manage workflows.",
10
- "settings.review-workflows.workflow.stageRequiredToPublish.label": "Required stage for publishing",
11
- "settings.review-workflows.workflow.stageRequiredToPublish.any": "Any stage",
12
- "settings.review-workflows.workflow.stageRequiredToPublish.hint": "Prevents entries from being published if they are not at the required stage."
13
- };
14
- exports.default = en;
15
- //# sourceMappingURL=en-CYgjfSep.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"en-CYgjfSep.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,15 +0,0 @@
1
- const en = {
2
- "settings.page.title": "Review Workflows",
3
- "settings.page.subtitle": "{count, plural, one {# stage} other {# stages}}",
4
- "settings.page.isLoading": "Workflow is loading",
5
- "settings.page.delete.confirm.body": "All entries assigned to deleted stages will be moved to the previous stage. Are you sure you want to save?",
6
- "settings.stage.name.label": "Stage name",
7
- "settings.not-available": "Review Workflows is only available as part of the Enterprise Edition. Upgrade to create and manage workflows.",
8
- "settings.review-workflows.workflow.stageRequiredToPublish.label": "Required stage for publishing",
9
- "settings.review-workflows.workflow.stageRequiredToPublish.any": "Any stage",
10
- "settings.review-workflows.workflow.stageRequiredToPublish.hint": "Prevents entries from being published if they are not at the required stage."
11
- };
12
- export {
13
- en as default
14
- };
15
- //# sourceMappingURL=en-D9dxziEb.mjs.map