@strapi/review-workflows 0.0.0-experimental.f31889311d753b5f7d95198ae84d8fce1d156cd6 → 0.0.0-experimental.f56bca7c4d88bc4c61b6de9f65648d857cf242d9

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 (385) 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/src/services/settings.d.ts +1737 -7
  129. package/dist/admin/translations/en.json.js +20 -0
  130. package/dist/admin/translations/en.json.js.map +1 -0
  131. package/dist/admin/translations/en.json.mjs +18 -0
  132. package/dist/admin/translations/en.json.mjs.map +1 -0
  133. package/dist/admin/translations/uk.json.js +16 -0
  134. package/dist/admin/translations/uk.json.js.map +1 -0
  135. package/dist/admin/translations/uk.json.mjs +14 -0
  136. package/dist/admin/translations/uk.json.mjs.map +1 -0
  137. package/dist/admin/utils/api.js +22 -0
  138. package/dist/admin/utils/api.js.map +1 -0
  139. package/dist/admin/utils/api.mjs +19 -0
  140. package/dist/admin/utils/api.mjs.map +1 -0
  141. package/dist/admin/utils/cm-hooks.js +23 -0
  142. package/dist/admin/utils/cm-hooks.js.map +1 -0
  143. package/dist/admin/utils/cm-hooks.mjs +21 -0
  144. package/dist/admin/utils/cm-hooks.mjs.map +1 -0
  145. package/dist/admin/utils/colors.js +50 -0
  146. package/dist/admin/utils/colors.js.map +1 -0
  147. package/dist/admin/utils/colors.mjs +47 -0
  148. package/dist/admin/utils/colors.mjs.map +1 -0
  149. package/dist/admin/utils/translations.js +11 -0
  150. package/dist/admin/utils/translations.js.map +1 -0
  151. package/dist/admin/utils/translations.mjs +9 -0
  152. package/dist/admin/utils/translations.mjs.map +1 -0
  153. package/dist/admin/utils/users.js +17 -0
  154. package/dist/admin/utils/users.js.map +1 -0
  155. package/dist/admin/utils/users.mjs +15 -0
  156. package/dist/admin/utils/users.mjs.map +1 -0
  157. package/dist/server/bootstrap.js +54 -0
  158. package/dist/server/bootstrap.js.map +1 -0
  159. package/dist/server/bootstrap.mjs +52 -0
  160. package/dist/server/bootstrap.mjs.map +1 -0
  161. package/dist/server/config/actions.js +47 -0
  162. package/dist/server/config/actions.js.map +1 -0
  163. package/dist/server/config/actions.mjs +45 -0
  164. package/dist/server/config/actions.mjs.map +1 -0
  165. package/dist/server/constants/default-stages.json.js +23 -0
  166. package/dist/server/constants/default-stages.json.js.map +1 -0
  167. package/dist/server/constants/default-stages.json.mjs +21 -0
  168. package/dist/server/constants/default-stages.json.mjs.map +1 -0
  169. package/dist/server/constants/default-workflow.json.js +12 -0
  170. package/dist/server/constants/default-workflow.json.js.map +1 -0
  171. package/dist/server/constants/default-workflow.json.mjs +7 -0
  172. package/dist/server/constants/default-workflow.json.mjs.map +1 -0
  173. package/dist/server/constants/webhook-events.js +12 -0
  174. package/dist/server/constants/webhook-events.js.map +1 -0
  175. package/dist/server/constants/webhook-events.mjs +7 -0
  176. package/dist/server/constants/webhook-events.mjs.map +1 -0
  177. package/dist/server/constants/workflows.js +53 -0
  178. package/dist/server/constants/workflows.js.map +1 -0
  179. package/dist/server/constants/workflows.mjs +42 -0
  180. package/dist/server/constants/workflows.mjs.map +1 -0
  181. package/dist/server/content-types/index.js +12 -0
  182. package/dist/server/content-types/index.js.map +1 -0
  183. package/dist/server/content-types/index.mjs +10 -0
  184. package/dist/server/content-types/index.mjs.map +1 -0
  185. package/dist/server/content-types/workflow/index.js +50 -0
  186. package/dist/server/content-types/workflow/index.js.map +1 -0
  187. package/dist/server/content-types/workflow/index.mjs +48 -0
  188. package/dist/server/content-types/workflow/index.mjs.map +1 -0
  189. package/dist/server/content-types/workflow-stage/index.js +54 -0
  190. package/dist/server/content-types/workflow-stage/index.js.map +1 -0
  191. package/dist/server/content-types/workflow-stage/index.mjs +52 -0
  192. package/dist/server/content-types/workflow-stage/index.mjs.map +1 -0
  193. package/dist/server/controllers/assignees.js +57 -0
  194. package/dist/server/controllers/assignees.js.map +1 -0
  195. package/dist/server/controllers/assignees.mjs +55 -0
  196. package/dist/server/controllers/assignees.mjs.map +1 -0
  197. package/dist/server/controllers/index.js +14 -0
  198. package/dist/server/controllers/index.js.map +1 -0
  199. package/dist/server/controllers/index.mjs +12 -0
  200. package/dist/server/controllers/index.mjs.map +1 -0
  201. package/dist/server/controllers/stages.js +167 -0
  202. package/dist/server/controllers/stages.js.map +1 -0
  203. package/dist/server/controllers/stages.mjs +165 -0
  204. package/dist/server/controllers/stages.mjs.map +1 -0
  205. package/dist/server/controllers/workflows.js +136 -0
  206. package/dist/server/controllers/workflows.js.map +1 -0
  207. package/dist/server/controllers/workflows.mjs +134 -0
  208. package/dist/server/controllers/workflows.mjs.map +1 -0
  209. package/dist/server/destroy.js +6 -0
  210. package/dist/server/destroy.js.map +1 -0
  211. package/dist/server/destroy.mjs +4 -0
  212. package/dist/server/destroy.mjs.map +1 -0
  213. package/dist/server/index.js +25 -8249
  214. package/dist/server/index.js.map +1 -1
  215. package/dist/server/index.mjs +24 -8251
  216. package/dist/server/index.mjs.map +1 -1
  217. package/dist/server/middlewares/review-workflows.js +42 -0
  218. package/dist/server/middlewares/review-workflows.js.map +1 -0
  219. package/dist/server/middlewares/review-workflows.mjs +37 -0
  220. package/dist/server/middlewares/review-workflows.mjs.map +1 -0
  221. package/dist/server/migrations/handle-deleted-ct-in-workflows.js +40 -0
  222. package/dist/server/migrations/handle-deleted-ct-in-workflows.js.map +1 -0
  223. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs +38 -0
  224. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs.map +1 -0
  225. package/dist/server/migrations/multiple-workflows.js +41 -0
  226. package/dist/server/migrations/multiple-workflows.js.map +1 -0
  227. package/dist/server/migrations/multiple-workflows.mjs +39 -0
  228. package/dist/server/migrations/multiple-workflows.mjs.map +1 -0
  229. package/dist/server/migrations/set-stages-default-color.js +22 -0
  230. package/dist/server/migrations/set-stages-default-color.js.map +1 -0
  231. package/dist/server/migrations/set-stages-default-color.mjs +20 -0
  232. package/dist/server/migrations/set-stages-default-color.mjs.map +1 -0
  233. package/dist/server/migrations/set-stages-roles.js +56 -0
  234. package/dist/server/migrations/set-stages-roles.js.map +1 -0
  235. package/dist/server/migrations/set-stages-roles.mjs +54 -0
  236. package/dist/server/migrations/set-stages-roles.mjs.map +1 -0
  237. package/dist/server/migrations/set-workflow-default-name.js +29 -0
  238. package/dist/server/migrations/set-workflow-default-name.js.map +1 -0
  239. package/dist/server/migrations/set-workflow-default-name.mjs +27 -0
  240. package/dist/server/migrations/set-workflow-default-name.mjs.map +1 -0
  241. package/dist/server/migrations/shorten-stage-attribute.js +45 -0
  242. package/dist/server/migrations/shorten-stage-attribute.js.map +1 -0
  243. package/dist/server/migrations/shorten-stage-attribute.mjs +43 -0
  244. package/dist/server/migrations/shorten-stage-attribute.mjs.map +1 -0
  245. package/dist/server/register.js +116 -0
  246. package/dist/server/register.js.map +1 -0
  247. package/dist/server/register.mjs +114 -0
  248. package/dist/server/register.mjs.map +1 -0
  249. package/dist/server/routes/index.js +10 -0
  250. package/dist/server/routes/index.js.map +1 -0
  251. package/dist/server/routes/index.mjs +8 -0
  252. package/dist/server/routes/index.mjs.map +1 -0
  253. package/dist/server/routes/review-workflows.js +186 -0
  254. package/dist/server/routes/review-workflows.js.map +1 -0
  255. package/dist/server/routes/review-workflows.mjs +184 -0
  256. package/dist/server/routes/review-workflows.mjs.map +1 -0
  257. package/dist/server/routes/utils.js +11 -0
  258. package/dist/server/routes/utils.js.map +1 -0
  259. package/dist/server/routes/utils.mjs +9 -0
  260. package/dist/server/routes/utils.mjs.map +1 -0
  261. package/dist/server/services/assignees.js +68 -0
  262. package/dist/server/services/assignees.js.map +1 -0
  263. package/dist/server/services/assignees.mjs +66 -0
  264. package/dist/server/services/assignees.mjs.map +1 -0
  265. package/dist/server/services/document-service-middleware.js +130 -0
  266. package/dist/server/services/document-service-middleware.js.map +1 -0
  267. package/dist/server/services/document-service-middleware.mjs +128 -0
  268. package/dist/server/services/document-service-middleware.mjs.map +1 -0
  269. package/dist/server/services/index.js +24 -0
  270. package/dist/server/services/index.js.map +1 -0
  271. package/dist/server/services/index.mjs +22 -0
  272. package/dist/server/services/index.mjs.map +1 -0
  273. package/dist/server/services/metrics/index.js +67 -0
  274. package/dist/server/services/metrics/index.js.map +1 -0
  275. package/dist/server/services/metrics/index.mjs +55 -0
  276. package/dist/server/services/metrics/index.mjs.map +1 -0
  277. package/dist/server/services/metrics/weekly-metrics.js +84 -0
  278. package/dist/server/services/metrics/weekly-metrics.js.map +1 -0
  279. package/dist/server/services/metrics/weekly-metrics.mjs +82 -0
  280. package/dist/server/services/metrics/weekly-metrics.mjs.map +1 -0
  281. package/dist/server/services/stage-permissions.js +59 -0
  282. package/dist/server/services/stage-permissions.js.map +1 -0
  283. package/dist/server/services/stage-permissions.mjs +57 -0
  284. package/dist/server/services/stage-permissions.mjs.map +1 -0
  285. package/dist/server/services/stages.js +353 -0
  286. package/dist/server/services/stages.js.map +1 -0
  287. package/dist/server/services/stages.mjs +351 -0
  288. package/dist/server/services/stages.mjs.map +1 -0
  289. package/dist/server/services/validation.js +69 -0
  290. package/dist/server/services/validation.js.map +1 -0
  291. package/dist/server/services/validation.mjs +67 -0
  292. package/dist/server/services/validation.mjs.map +1 -0
  293. package/dist/server/services/workflow-content-types.js +90 -0
  294. package/dist/server/services/workflow-content-types.js.map +1 -0
  295. package/dist/server/services/workflow-content-types.mjs +88 -0
  296. package/dist/server/services/workflow-content-types.mjs.map +1 -0
  297. package/dist/server/services/workflows.js +279 -0
  298. package/dist/server/services/workflows.js.map +1 -0
  299. package/dist/server/services/workflows.mjs +277 -0
  300. package/dist/server/services/workflows.mjs.map +1 -0
  301. package/dist/server/src/bootstrap.d.ts.map +1 -1
  302. package/dist/server/src/constants/workflows.d.ts +1 -0
  303. package/dist/server/src/constants/workflows.d.ts.map +1 -1
  304. package/dist/server/src/content-types/index.d.ts +6 -0
  305. package/dist/server/src/content-types/index.d.ts.map +1 -1
  306. package/dist/server/src/content-types/workflow/index.d.ts +6 -0
  307. package/dist/server/src/content-types/workflow/index.d.ts.map +1 -1
  308. package/dist/server/src/controllers/assignees.d.ts.map +1 -1
  309. package/dist/server/src/controllers/index.d.ts +0 -1
  310. package/dist/server/src/controllers/index.d.ts.map +1 -1
  311. package/dist/server/src/controllers/stages.d.ts.map +1 -1
  312. package/dist/server/src/controllers/workflows.d.ts +0 -7
  313. package/dist/server/src/controllers/workflows.d.ts.map +1 -1
  314. package/dist/server/src/index.d.ts +28 -7
  315. package/dist/server/src/index.d.ts.map +1 -1
  316. package/dist/server/src/register.d.ts.map +1 -1
  317. package/dist/server/src/routes/review-workflows.d.ts.map +1 -1
  318. package/dist/server/src/services/assignees.d.ts +8 -4
  319. package/dist/server/src/services/assignees.d.ts.map +1 -1
  320. package/dist/server/src/services/document-service-middleware.d.ts +2 -1
  321. package/dist/server/src/services/document-service-middleware.d.ts.map +1 -1
  322. package/dist/server/src/services/index.d.ts +16 -6
  323. package/dist/server/src/services/index.d.ts.map +1 -1
  324. package/dist/server/src/services/metrics/index.d.ts +4 -4
  325. package/dist/server/src/services/metrics/index.d.ts.map +1 -1
  326. package/dist/server/src/services/metrics/weekly-metrics.d.ts.map +1 -1
  327. package/dist/server/src/services/stages.d.ts +7 -7
  328. package/dist/server/src/services/stages.d.ts.map +1 -1
  329. package/dist/server/src/services/workflows.d.ts.map +1 -1
  330. package/dist/server/src/validation/review-workflows.d.ts +4 -0
  331. package/dist/server/src/validation/review-workflows.d.ts.map +1 -1
  332. package/dist/server/utils/index.js +16 -0
  333. package/dist/server/utils/index.js.map +1 -0
  334. package/dist/server/utils/index.mjs +13 -0
  335. package/dist/server/utils/index.mjs.map +1 -0
  336. package/dist/server/utils/review-workflows.js +36 -0
  337. package/dist/server/utils/review-workflows.js.map +1 -0
  338. package/dist/server/utils/review-workflows.mjs +30 -0
  339. package/dist/server/utils/review-workflows.mjs.map +1 -0
  340. package/dist/server/validation/review-workflows.js +71 -0
  341. package/dist/server/validation/review-workflows.js.map +1 -0
  342. package/dist/server/validation/review-workflows.mjs +65 -0
  343. package/dist/server/validation/review-workflows.mjs.map +1 -0
  344. package/dist/shared/contracts/review-workflows.d.ts +9 -18
  345. package/dist/shared/contracts/review-workflows.d.ts.map +1 -1
  346. package/package.json +17 -16
  347. package/dist/_chunks/Layout-BpMLb-Oo.mjs +0 -234
  348. package/dist/_chunks/Layout-BpMLb-Oo.mjs.map +0 -1
  349. package/dist/_chunks/Layout-Cwbb9usb.js +0 -252
  350. package/dist/_chunks/Layout-Cwbb9usb.js.map +0 -1
  351. package/dist/_chunks/_id-KpezMzxO.mjs +0 -1244
  352. package/dist/_chunks/_id-KpezMzxO.mjs.map +0 -1
  353. package/dist/_chunks/_id-p9NnvlMP.js +0 -1264
  354. package/dist/_chunks/_id-p9NnvlMP.js.map +0 -1
  355. package/dist/_chunks/en-D9ZrQAV6.mjs +0 -12
  356. package/dist/_chunks/en-D9ZrQAV6.mjs.map +0 -1
  357. package/dist/_chunks/en-xcewH2pC.js +0 -12
  358. package/dist/_chunks/en-xcewH2pC.js.map +0 -1
  359. package/dist/_chunks/index-BTr8zF-9.js +0 -847
  360. package/dist/_chunks/index-BTr8zF-9.js.map +0 -1
  361. package/dist/_chunks/index-BxkGN0Yj.mjs +0 -234
  362. package/dist/_chunks/index-BxkGN0Yj.mjs.map +0 -1
  363. package/dist/_chunks/index-DqT_oXGP.js +0 -253
  364. package/dist/_chunks/index-DqT_oXGP.js.map +0 -1
  365. package/dist/_chunks/index-DtJI5ZoC.mjs +0 -829
  366. package/dist/_chunks/index-DtJI5ZoC.mjs.map +0 -1
  367. package/dist/_chunks/purchase-review-workflows-BN-5Ube7.mjs +0 -52
  368. package/dist/_chunks/purchase-review-workflows-BN-5Ube7.mjs.map +0 -1
  369. package/dist/_chunks/purchase-review-workflows-DlCDg0fD.js +0 -52
  370. package/dist/_chunks/purchase-review-workflows-DlCDg0fD.js.map +0 -1
  371. package/dist/_chunks/router-B8G2sh6V.mjs +0 -24
  372. package/dist/_chunks/router-B8G2sh6V.mjs.map +0 -1
  373. package/dist/_chunks/router-Bqj-105s.js +0 -24
  374. package/dist/_chunks/router-Bqj-105s.js.map +0 -1
  375. package/dist/admin/src/routes/content-manager/[model]/[id]/components/AssigneeSelect.d.ts +0 -2
  376. package/dist/admin/src/routes/content-manager/[model]/[id]/components/StageSelect.d.ts +0 -1
  377. package/strapi-server.js +0 -3
  378. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/AssigneeFilter.d.ts +0 -0
  379. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/StageFilter.d.ts +0 -0
  380. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/TableColumns.d.ts +0 -0
  381. /package/dist/admin/src/routes/content-manager/{[model] → model}/configure/constants.d.ts +0 -0
  382. /package/dist/admin/src/routes/content-manager/{[model] → model}/constants.d.ts +0 -0
  383. /package/dist/admin/src/routes/content-manager/{[model]/[id] → model/id}/components/Panel.d.ts +0 -0
  384. /package/dist/admin/src/routes/content-manager/{[model]/[id] → model/id}/components/constants.d.ts +0 -0
  385. /package/dist/admin/src/routes/settings/{:id.d.ts → id.d.ts} +0 -0
@@ -1,234 +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-DtJI5ZoC.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 { id = "", skip = false, ...queryParams } = params;
18
- const { data, isLoading, error } = useGetWorkflowsQuery(
19
- {
20
- id,
21
- populate: "stages",
22
- ...queryParams
23
- },
24
- {
25
- skip
26
- }
27
- );
28
- React.useEffect(() => {
29
- if (error) {
30
- toggleNotification({
31
- type: "danger",
32
- message: formatAPIError(error)
33
- });
34
- }
35
- }, [error, formatAPIError, toggleNotification]);
36
- const [createWorkflow] = useCreateWorkflowMutation();
37
- const create = React.useCallback(
38
- async (data2) => {
39
- try {
40
- const res = await createWorkflow({ data: data2 });
41
- if ("error" in res) {
42
- toggleNotification({
43
- type: "danger",
44
- message: formatAPIError(res.error)
45
- });
46
- return res;
47
- }
48
- toggleNotification({
49
- type: "success",
50
- message: formatMessage({ id: "actions.created", defaultMessage: "Created workflow" })
51
- });
52
- return res;
53
- } catch (err) {
54
- toggleNotification({
55
- type: "danger",
56
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
57
- });
58
- throw err;
59
- }
60
- },
61
- [createWorkflow, formatAPIError, formatMessage, toggleNotification]
62
- );
63
- const [updateWorkflow] = useUpdateWorkflowMutation();
64
- const update = React.useCallback(
65
- async (id2, data2) => {
66
- try {
67
- const res = await updateWorkflow({ id: id2, data: data2 });
68
- if ("error" in res) {
69
- toggleNotification({
70
- type: "danger",
71
- message: formatAPIError(res.error)
72
- });
73
- return res;
74
- }
75
- toggleNotification({
76
- type: "success",
77
- message: formatMessage({ id: "actions.updated", defaultMessage: "Updated workflow" })
78
- });
79
- return res;
80
- } catch (err) {
81
- toggleNotification({
82
- type: "danger",
83
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
84
- });
85
- throw err;
86
- }
87
- },
88
- [formatAPIError, formatMessage, toggleNotification, updateWorkflow]
89
- );
90
- const [deleteWorkflow] = useDeleteWorkflowMutation();
91
- const deleteAction = React.useCallback(
92
- async (id2) => {
93
- try {
94
- const res = await deleteWorkflow({ id: id2 });
95
- if ("error" in res) {
96
- toggleNotification({
97
- type: "danger",
98
- message: formatAPIError(res.error)
99
- });
100
- return;
101
- }
102
- toggleNotification({
103
- type: "success",
104
- message: formatMessage({ id: "actions.deleted", defaultMessage: "Deleted workflow" })
105
- });
106
- return res.data;
107
- } catch (err) {
108
- toggleNotification({
109
- type: "danger",
110
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
111
- });
112
- throw err;
113
- }
114
- },
115
- [deleteWorkflow, formatAPIError, formatMessage, toggleNotification]
116
- );
117
- const { workflows = [], meta } = data ?? {};
118
- return {
119
- // meta contains e.g. the total of all workflows. we can not use
120
- // the pagination object here, because the list is not paginated.
121
- meta,
122
- workflows,
123
- isLoading,
124
- error,
125
- create,
126
- delete: deleteAction,
127
- update
128
- };
129
- };
130
- const DRAG_DROP_TYPES = {
131
- STAGE: "stage"
132
- };
133
- const StageDragPreview = ({ name }) => {
134
- return /* @__PURE__ */ jsxs(
135
- Flex,
136
- {
137
- background: "primary100",
138
- borderStyle: "dashed",
139
- borderColor: "primary600",
140
- borderWidth: "1px",
141
- gap: 3,
142
- hasRadius: true,
143
- padding: 3,
144
- shadow: "tableShadow",
145
- width: "30rem",
146
- children: [
147
- /* @__PURE__ */ jsx(
148
- Flex,
149
- {
150
- alignItems: "center",
151
- background: "neutral200",
152
- borderRadius: "50%",
153
- height: 6,
154
- justifyContent: "center",
155
- width: 6,
156
- children: /* @__PURE__ */ jsx(CaretDown, { width: "0.8rem", fill: "neutral600" })
157
- }
158
- ),
159
- /* @__PURE__ */ jsx(Typography, { fontWeight: "bold", children: name })
160
- ]
161
- }
162
- );
163
- };
164
- function getStyle(initialOffset, currentOffset, mouseOffset) {
165
- if (!initialOffset || !currentOffset || !mouseOffset) {
166
- return { display: "none" };
167
- }
168
- const { x, y } = mouseOffset;
169
- return {
170
- transform: `translate(${x}px, ${y}px)`
171
- };
172
- }
173
- const DragLayerRendered = () => {
174
- const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = useDragLayer(
175
- (monitor) => ({
176
- item: monitor.getItem(),
177
- itemType: monitor.getItemType(),
178
- initialOffset: monitor.getInitialSourceClientOffset(),
179
- currentOffset: monitor.getSourceClientOffset(),
180
- isDragging: monitor.isDragging(),
181
- mouseOffset: monitor.getClientOffset()
182
- })
183
- );
184
- if (!isDragging || itemType !== DRAG_DROP_TYPES.STAGE) {
185
- return null;
186
- }
187
- return /* @__PURE__ */ jsx(
188
- Box,
189
- {
190
- height: "100%",
191
- left: 0,
192
- position: "fixed",
193
- pointerEvents: "none",
194
- top: 0,
195
- zIndex: 100,
196
- width: "100%",
197
- children: /* @__PURE__ */ jsxs(Box, { style: getStyle(initialOffset, currentOffset, mouseOffset), children: [
198
- /* @__PURE__ */ jsx(StageDragPreview, { name: typeof item.item === "string" ? item.item : null }),
199
- ";"
200
- ] })
201
- }
202
- );
203
- };
204
- const Root = ({ children }) => {
205
- return /* @__PURE__ */ jsx(Page.Main, { children: /* @__PURE__ */ jsx(Layouts.Content, { children }) });
206
- };
207
- const Header = ({ title, subtitle, navigationAction, primaryAction }) => {
208
- const { formatMessage } = useIntl();
209
- return /* @__PURE__ */ jsxs(Fragment, { children: [
210
- /* @__PURE__ */ jsx(Page.Title, { children: formatMessage(
211
- { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
212
- {
213
- name: title
214
- }
215
- ) }),
216
- /* @__PURE__ */ jsx(
217
- Layouts.BaseHeader,
218
- {
219
- navigationAction,
220
- primaryAction,
221
- title,
222
- subtitle
223
- }
224
- )
225
- ] });
226
- };
227
- export {
228
- DRAG_DROP_TYPES as D,
229
- Header as H,
230
- Root as R,
231
- DragLayerRendered as a,
232
- useReviewWorkflows as u
233
- };
234
- //# sourceMappingURL=Layout-BpMLb-Oo.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Layout-BpMLb-Oo.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 { id = '', skip = false, ...queryParams } = params;\n\n const { data, isLoading, error } = useGetWorkflowsQuery(\n {\n id,\n populate: 'stages',\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","id"],"mappings":"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"}
@@ -1,252 +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-BTr8zF-9.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)
12
- return e;
13
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
14
- if (e) {
15
- for (const k in e) {
16
- if (k !== "default") {
17
- const d = Object.getOwnPropertyDescriptor(e, k);
18
- Object.defineProperty(n, k, d.get ? d : {
19
- enumerable: true,
20
- get: () => e[k]
21
- });
22
- }
23
- }
24
- }
25
- n.default = e;
26
- return Object.freeze(n);
27
- }
28
- const React__namespace = /* @__PURE__ */ _interopNamespace(React);
29
- const DEFAULT_UNEXPECTED_ERROR_MSG = {
30
- id: "notification.error",
31
- defaultMessage: "An error occurred, please try again"
32
- };
33
- const useReviewWorkflows = (params = {}) => {
34
- const { toggleNotification } = strapiAdmin.useNotification();
35
- const { formatMessage } = reactIntl.useIntl();
36
- const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
37
- const { id = "", skip = false, ...queryParams } = params;
38
- const { data, isLoading, error } = index.useGetWorkflowsQuery(
39
- {
40
- id,
41
- populate: "stages",
42
- ...queryParams
43
- },
44
- {
45
- skip
46
- }
47
- );
48
- React__namespace.useEffect(() => {
49
- if (error) {
50
- toggleNotification({
51
- type: "danger",
52
- message: formatAPIError(error)
53
- });
54
- }
55
- }, [error, formatAPIError, toggleNotification]);
56
- const [createWorkflow] = index.useCreateWorkflowMutation();
57
- const create = React__namespace.useCallback(
58
- async (data2) => {
59
- try {
60
- const res = await createWorkflow({ data: data2 });
61
- if ("error" in res) {
62
- toggleNotification({
63
- type: "danger",
64
- message: formatAPIError(res.error)
65
- });
66
- return res;
67
- }
68
- toggleNotification({
69
- type: "success",
70
- message: formatMessage({ id: "actions.created", defaultMessage: "Created workflow" })
71
- });
72
- return res;
73
- } catch (err) {
74
- toggleNotification({
75
- type: "danger",
76
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
77
- });
78
- throw err;
79
- }
80
- },
81
- [createWorkflow, formatAPIError, formatMessage, toggleNotification]
82
- );
83
- const [updateWorkflow] = index.useUpdateWorkflowMutation();
84
- const update = React__namespace.useCallback(
85
- async (id2, data2) => {
86
- try {
87
- const res = await updateWorkflow({ id: id2, data: data2 });
88
- if ("error" in res) {
89
- toggleNotification({
90
- type: "danger",
91
- message: formatAPIError(res.error)
92
- });
93
- return res;
94
- }
95
- toggleNotification({
96
- type: "success",
97
- message: formatMessage({ id: "actions.updated", defaultMessage: "Updated workflow" })
98
- });
99
- return res;
100
- } catch (err) {
101
- toggleNotification({
102
- type: "danger",
103
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
104
- });
105
- throw err;
106
- }
107
- },
108
- [formatAPIError, formatMessage, toggleNotification, updateWorkflow]
109
- );
110
- const [deleteWorkflow] = index.useDeleteWorkflowMutation();
111
- const deleteAction = React__namespace.useCallback(
112
- async (id2) => {
113
- try {
114
- const res = await deleteWorkflow({ id: id2 });
115
- if ("error" in res) {
116
- toggleNotification({
117
- type: "danger",
118
- message: formatAPIError(res.error)
119
- });
120
- return;
121
- }
122
- toggleNotification({
123
- type: "success",
124
- message: formatMessage({ id: "actions.deleted", defaultMessage: "Deleted workflow" })
125
- });
126
- return res.data;
127
- } catch (err) {
128
- toggleNotification({
129
- type: "danger",
130
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
131
- });
132
- throw err;
133
- }
134
- },
135
- [deleteWorkflow, formatAPIError, formatMessage, toggleNotification]
136
- );
137
- const { workflows = [], meta } = data ?? {};
138
- return {
139
- // meta contains e.g. the total of all workflows. we can not use
140
- // the pagination object here, because the list is not paginated.
141
- meta,
142
- workflows,
143
- isLoading,
144
- error,
145
- create,
146
- delete: deleteAction,
147
- update
148
- };
149
- };
150
- const DRAG_DROP_TYPES = {
151
- STAGE: "stage"
152
- };
153
- const StageDragPreview = ({ name }) => {
154
- return /* @__PURE__ */ jsxRuntime.jsxs(
155
- designSystem.Flex,
156
- {
157
- background: "primary100",
158
- borderStyle: "dashed",
159
- borderColor: "primary600",
160
- borderWidth: "1px",
161
- gap: 3,
162
- hasRadius: true,
163
- padding: 3,
164
- shadow: "tableShadow",
165
- width: "30rem",
166
- children: [
167
- /* @__PURE__ */ jsxRuntime.jsx(
168
- designSystem.Flex,
169
- {
170
- alignItems: "center",
171
- background: "neutral200",
172
- borderRadius: "50%",
173
- height: 6,
174
- justifyContent: "center",
175
- width: 6,
176
- children: /* @__PURE__ */ jsxRuntime.jsx(icons.CaretDown, { width: "0.8rem", fill: "neutral600" })
177
- }
178
- ),
179
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: name })
180
- ]
181
- }
182
- );
183
- };
184
- function getStyle(initialOffset, currentOffset, mouseOffset) {
185
- if (!initialOffset || !currentOffset || !mouseOffset) {
186
- return { display: "none" };
187
- }
188
- const { x, y } = mouseOffset;
189
- return {
190
- transform: `translate(${x}px, ${y}px)`
191
- };
192
- }
193
- const DragLayerRendered = () => {
194
- const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = reactDnd.useDragLayer(
195
- (monitor) => ({
196
- item: monitor.getItem(),
197
- itemType: monitor.getItemType(),
198
- initialOffset: monitor.getInitialSourceClientOffset(),
199
- currentOffset: monitor.getSourceClientOffset(),
200
- isDragging: monitor.isDragging(),
201
- mouseOffset: monitor.getClientOffset()
202
- })
203
- );
204
- if (!isDragging || itemType !== DRAG_DROP_TYPES.STAGE) {
205
- return null;
206
- }
207
- return /* @__PURE__ */ jsxRuntime.jsx(
208
- designSystem.Box,
209
- {
210
- height: "100%",
211
- left: 0,
212
- position: "fixed",
213
- pointerEvents: "none",
214
- top: 0,
215
- zIndex: 100,
216
- width: "100%",
217
- children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { style: getStyle(initialOffset, currentOffset, mouseOffset), children: [
218
- /* @__PURE__ */ jsxRuntime.jsx(StageDragPreview, { name: typeof item.item === "string" ? item.item : null }),
219
- ";"
220
- ] })
221
- }
222
- );
223
- };
224
- const Root = ({ children }) => {
225
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Main, { children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Layouts.Content, { children }) });
226
- };
227
- const Header = ({ title, subtitle, navigationAction, primaryAction }) => {
228
- const { formatMessage } = reactIntl.useIntl();
229
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
230
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Title, { children: formatMessage(
231
- { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
232
- {
233
- name: title
234
- }
235
- ) }),
236
- /* @__PURE__ */ jsxRuntime.jsx(
237
- strapiAdmin.Layouts.BaseHeader,
238
- {
239
- navigationAction,
240
- primaryAction,
241
- title,
242
- subtitle
243
- }
244
- )
245
- ] });
246
- };
247
- exports.DRAG_DROP_TYPES = DRAG_DROP_TYPES;
248
- exports.DragLayerRendered = DragLayerRendered;
249
- exports.Header = Header;
250
- exports.Root = Root;
251
- exports.useReviewWorkflows = useReviewWorkflows;
252
- //# sourceMappingURL=Layout-Cwbb9usb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Layout-Cwbb9usb.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 { id = '', skip = false, ...queryParams } = params;\n\n const { data, isLoading, error } = useGetWorkflowsQuery(\n {\n id,\n populate: 'stages',\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","id","useDeleteWorkflowMutation","jsxs","Flex","jsx","CaretDown","Typography","useDragLayer","Box","Page","Layouts","Fragment"],"mappings":"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"}