@strapi/review-workflows 0.0.0-next.f698d55751345c4ca87477ef683475c1a68f310a → 0.0.0-next.f93d6eabe52aa7681655cfa08eedbc3708dbb90d

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-DAfX35xh.js +0 -250
  317. package/dist/_chunks/Layout-DAfX35xh.js.map +0 -1
  318. package/dist/_chunks/Layout-DTcaK6xT.mjs +0 -233
  319. package/dist/_chunks/Layout-DTcaK6xT.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-CKzKf6TF.js +0 -1293
  325. package/dist/_chunks/id-CKzKf6TF.js.map +0 -1
  326. package/dist/_chunks/id-CeWP_af0.mjs +0 -1274
  327. package/dist/_chunks/id-CeWP_af0.mjs.map +0 -1
  328. package/dist/_chunks/index-BsGVnBaL.js +0 -832
  329. package/dist/_chunks/index-BsGVnBaL.js.map +0 -1
  330. package/dist/_chunks/index-Dv9tQUGq.mjs +0 -213
  331. package/dist/_chunks/index-Dv9tQUGq.mjs.map +0 -1
  332. package/dist/_chunks/index-DzQoUVQo.mjs +0 -815
  333. package/dist/_chunks/index-DzQoUVQo.mjs.map +0 -1
  334. package/dist/_chunks/index-bL6TS44K.js +0 -231
  335. package/dist/_chunks/index-bL6TS44K.js.map +0 -1
  336. package/dist/_chunks/purchase-review-workflows-KiBiYXNZ.js +0 -52
  337. package/dist/_chunks/purchase-review-workflows-KiBiYXNZ.js.map +0 -1
  338. package/dist/_chunks/purchase-review-workflows-WyeSs4Y4.mjs +0 -52
  339. package/dist/_chunks/purchase-review-workflows-WyeSs4Y4.mjs.map +0 -1
  340. package/dist/_chunks/router-BUgAAtkq.mjs +0 -24
  341. package/dist/_chunks/router-BUgAAtkq.mjs.map +0 -1
  342. package/dist/_chunks/router-DOrCMw1R.js +0 -24
  343. package/dist/_chunks/router-DOrCMw1R.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
@@ -1,213 +0,0 @@
1
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import { useTracking, useRBAC, Page, Table, ConfirmDialog } from "@strapi/admin/strapi-admin";
4
- import { useLicenseLimits } from "@strapi/admin/strapi-admin/ee";
5
- import { LinkButton, TFooter, Typography, Flex, IconButton, Dialog } from "@strapi/design-system";
6
- import { Plus, Pencil, Trash } from "@strapi/icons";
7
- import { useIntl } from "react-intl";
8
- import { useNavigate, NavLink, Link } from "react-router-dom";
9
- import { u as useGetContentTypesQuery, a as useTypedSelector, C as CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME, L as LimitsModal } from "./index-DzQoUVQo.mjs";
10
- import { u as useReviewWorkflows, H as Header, R as Root } from "./Layout-DTcaK6xT.mjs";
11
- const ReviewWorkflowsListView = () => {
12
- const { formatMessage } = useIntl();
13
- const navigate = useNavigate();
14
- const { trackUsage } = useTracking();
15
- const [workflowToDelete, setWorkflowToDelete] = React.useState(null);
16
- const [showLimitModal, setShowLimitModal] = React.useState(false);
17
- const { data, isLoading: isLoadingModels } = useGetContentTypesQuery();
18
- const { meta, workflows, isLoading, delete: deleteAction } = useReviewWorkflows();
19
- const { getFeature, isLoading: isLicenseLoading } = useLicenseLimits();
20
- const permissions = useTypedSelector(
21
- (state) => state.admin_app.permissions.settings?.["review-workflows"]
22
- );
23
- const {
24
- allowedActions: { canCreate, canRead, canUpdate, canDelete }
25
- } = useRBAC(permissions);
26
- const limits = getFeature("review-workflows");
27
- const numberOfWorkflows = limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME];
28
- const handleDeleteWorkflow = (workflowId) => {
29
- setWorkflowToDelete(workflowId);
30
- };
31
- const toggleConfirmDeleteDialog = () => {
32
- setWorkflowToDelete(null);
33
- };
34
- const handleConfirmDeleteDialog = async () => {
35
- if (!workflowToDelete) return;
36
- await deleteAction(workflowToDelete);
37
- setWorkflowToDelete(null);
38
- };
39
- const handleCreateClick = (event) => {
40
- event.preventDefault();
41
- if (numberOfWorkflows && meta && meta?.workflowCount >= parseInt(numberOfWorkflows, 10)) {
42
- event.preventDefault();
43
- setShowLimitModal(true);
44
- } else {
45
- navigate("create");
46
- trackUsage("willCreateWorkflow");
47
- }
48
- };
49
- React.useEffect(() => {
50
- if (!isLoading && !isLicenseLoading) {
51
- if (numberOfWorkflows && meta && meta?.workflowCount > parseInt(numberOfWorkflows, 10)) {
52
- setShowLimitModal(true);
53
- }
54
- }
55
- }, [isLicenseLoading, isLoading, meta, meta?.workflowCount, numberOfWorkflows]);
56
- const headers = [
57
- {
58
- label: formatMessage({
59
- id: "Settings.review-workflows.list.page.list.column.name.title",
60
- defaultMessage: "Name"
61
- }),
62
- name: "name"
63
- },
64
- {
65
- label: formatMessage({
66
- id: "Settings.review-workflows.list.page.list.column.stages.title",
67
- defaultMessage: "Stages"
68
- }),
69
- name: "stages"
70
- },
71
- {
72
- label: formatMessage({
73
- id: "Settings.review-workflows.list.page.list.column.contentTypes.title",
74
- defaultMessage: "Content Types"
75
- }),
76
- name: "content-types"
77
- }
78
- ];
79
- if (isLoading || isLoadingModels) {
80
- return /* @__PURE__ */ jsx(Page.Loading, {});
81
- }
82
- const contentTypes = Object.values(data ?? {}).reduce((acc, curr) => {
83
- acc.push(...curr);
84
- return acc;
85
- }, []);
86
- return /* @__PURE__ */ jsxs(Fragment, { children: [
87
- /* @__PURE__ */ jsx(
88
- Header,
89
- {
90
- primaryAction: canCreate ? /* @__PURE__ */ jsx(
91
- LinkButton,
92
- {
93
- startIcon: /* @__PURE__ */ jsx(Plus, {}),
94
- size: "S",
95
- tag: NavLink,
96
- to: "create",
97
- onClick: handleCreateClick,
98
- children: formatMessage({
99
- id: "Settings.review-workflows.list.page.create",
100
- defaultMessage: "Create new workflow"
101
- })
102
- }
103
- ) : null,
104
- subtitle: formatMessage({
105
- id: "Settings.review-workflows.list.page.subtitle",
106
- defaultMessage: "Manage your content review process"
107
- }),
108
- title: formatMessage({
109
- id: "Settings.review-workflows.list.page.title",
110
- defaultMessage: "Review Workflows"
111
- })
112
- }
113
- ),
114
- /* @__PURE__ */ jsxs(Root, { children: [
115
- /* @__PURE__ */ jsx(
116
- Table.Root,
117
- {
118
- isLoading,
119
- rows: workflows,
120
- footer: canCreate ? /* @__PURE__ */ jsx(TFooter, { cursor: "pointer", icon: /* @__PURE__ */ jsx(Plus, {}), onClick: handleCreateClick, children: formatMessage({
121
- id: "Settings.review-workflows.list.page.create",
122
- defaultMessage: "Create new workflow"
123
- }) }) : null,
124
- headers,
125
- children: /* @__PURE__ */ jsxs(Table.Content, { children: [
126
- /* @__PURE__ */ jsx(Table.Head, { children: headers.map((head) => /* @__PURE__ */ jsx(Table.HeaderCell, { ...head }, head.name)) }),
127
- /* @__PURE__ */ jsx(Table.Body, { children: workflows.map((workflow) => /* @__PURE__ */ jsxs(
128
- Table.Row,
129
- {
130
- onClick: () => {
131
- navigate(`${workflow.id}`);
132
- },
133
- children: [
134
- /* @__PURE__ */ jsx(Table.Cell, { width: "25rem", children: /* @__PURE__ */ jsx(Typography, { textColor: "neutral800", fontWeight: "bold", ellipsis: true, children: workflow.name }) }),
135
- /* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx(Typography, { textColor: "neutral800", children: workflow.stages.length }) }),
136
- /* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsx(Typography, { textColor: "neutral800", children: workflow.contentTypes.map((uid) => {
137
- const contentType = contentTypes.find(
138
- (contentType2) => contentType2.uid === uid
139
- );
140
- return contentType?.info.displayName ?? "";
141
- }).join(", ") }) }),
142
- /* @__PURE__ */ jsx(Table.Cell, { children: /* @__PURE__ */ jsxs(Flex, { alignItems: "center", justifyContent: "end", children: [
143
- canRead || canUpdate ? /* @__PURE__ */ jsx(
144
- IconButton,
145
- {
146
- tag: Link,
147
- to: workflow.id.toString(),
148
- label: formatMessage(
149
- {
150
- id: "Settings.review-workflows.list.page.list.column.actions.edit.label",
151
- defaultMessage: "Edit {name}"
152
- },
153
- { name: workflow.name }
154
- ),
155
- variant: "ghost",
156
- children: /* @__PURE__ */ jsx(Pencil, {})
157
- }
158
- ) : null,
159
- workflows.length > 1 && canDelete ? /* @__PURE__ */ jsx(
160
- IconButton,
161
- {
162
- withTooltip: false,
163
- label: formatMessage(
164
- {
165
- id: "Settings.review-workflows.list.page.list.column.actions.delete.label",
166
- defaultMessage: "Delete {name}"
167
- },
168
- { name: "Default workflow" }
169
- ),
170
- variant: "ghost",
171
- onClick: (e) => {
172
- e.stopPropagation();
173
- handleDeleteWorkflow(String(workflow.id));
174
- },
175
- children: /* @__PURE__ */ jsx(Trash, {})
176
- }
177
- ) : null
178
- ] }) })
179
- ]
180
- },
181
- workflow.id
182
- )) })
183
- ] })
184
- }
185
- ),
186
- /* @__PURE__ */ jsx(Dialog.Root, { open: !!workflowToDelete, onOpenChange: toggleConfirmDeleteDialog, children: /* @__PURE__ */ jsx(ConfirmDialog, { onConfirm: handleConfirmDeleteDialog, children: formatMessage({
187
- id: "Settings.review-workflows.list.page.delete.confirm.body",
188
- defaultMessage: "If you remove this worfklow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?"
189
- }) }) }),
190
- /* @__PURE__ */ jsxs(LimitsModal.Root, { open: showLimitModal, onOpenChange: () => setShowLimitModal(false), children: [
191
- /* @__PURE__ */ jsx(LimitsModal.Title, { children: formatMessage({
192
- id: "Settings.review-workflows.list.page.workflows.limit.title",
193
- defaultMessage: "You’ve reached the limit of workflows in your plan"
194
- }) }),
195
- /* @__PURE__ */ jsx(LimitsModal.Body, { children: formatMessage({
196
- id: "Settings.review-workflows.list.page.workflows.limit.body",
197
- defaultMessage: "Delete a workflow or contact Sales to enable more workflows."
198
- }) })
199
- ] })
200
- ] })
201
- ] });
202
- };
203
- const ProtectedListPage = () => {
204
- const permissions = useTypedSelector(
205
- (state) => state.admin_app.permissions.settings?.["review-workflows"]?.main
206
- );
207
- return /* @__PURE__ */ jsx(Page.Protect, { permissions, children: /* @__PURE__ */ jsx(ReviewWorkflowsListView, {}) });
208
- };
209
- export {
210
- ProtectedListPage,
211
- ReviewWorkflowsListView
212
- };
213
- //# sourceMappingURL=index-Dv9tQUGq.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Dv9tQUGq.mjs","sources":["../../admin/src/routes/settings/index.tsx"],"sourcesContent":["/* eslint-disable check-file/no-index */\n/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, useTracking, ConfirmDialog, useRBAC, Table } from '@strapi/admin/strapi-admin';\nimport { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { Flex, IconButton, TFooter, Typography, LinkButton, Dialog } from '@strapi/design-system';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Link, useNavigate } from 'react-router-dom';\n\nimport { LimitsModal } from '../../components/LimitsModal';\nimport { CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME } from '../../constants';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { ContentType, useGetContentTypesQuery } from '../../services/content-manager';\n\nimport * as Layout from './components/Layout';\nimport { useReviewWorkflows } from './hooks/useReviewWorkflows';\n\nexport const ReviewWorkflowsListView = () => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const { trackUsage } = useTracking();\n const [workflowToDelete, setWorkflowToDelete] = React.useState<string | null>(null);\n const [showLimitModal, setShowLimitModal] = React.useState<boolean>(false);\n const { data, isLoading: isLoadingModels } = useGetContentTypesQuery();\n const { meta, workflows, isLoading, delete: deleteAction } = useReviewWorkflows();\n const { getFeature, isLoading: isLicenseLoading } = useLicenseLimits();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['review-workflows']\n );\n const {\n allowedActions: { canCreate, canRead, canUpdate, canDelete },\n } = useRBAC(permissions);\n\n const limits = getFeature('review-workflows');\n const numberOfWorkflows = limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] as string;\n\n const handleDeleteWorkflow = (workflowId: string) => {\n setWorkflowToDelete(workflowId);\n };\n\n const toggleConfirmDeleteDialog = () => {\n setWorkflowToDelete(null);\n };\n\n const handleConfirmDeleteDialog = async () => {\n if (!workflowToDelete) return;\n\n await deleteAction(workflowToDelete);\n\n setWorkflowToDelete(null);\n };\n\n const handleCreateClick: React.MouseEventHandler<HTMLAnchorElement> &\n ((event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void) = (event) => {\n event.preventDefault();\n /**\n * If the current license has a workflow limit:\n * check if the total count of workflows exceeds that limit. If so,\n * prevent the navigation and show the limits overlay.\n *\n * If the current license does not have a limit (e.g. offline license):\n * allow the user to navigate to the create-view. In case they exceed the\n * current hard-limit of 200 they will see an error thrown by the API.\n */\n\n if (numberOfWorkflows && meta && meta?.workflowCount >= parseInt(numberOfWorkflows, 10)) {\n event.preventDefault();\n setShowLimitModal(true);\n } else {\n navigate('create');\n trackUsage('willCreateWorkflow');\n }\n };\n\n /**\n * If the current license has a limit:\n * check if the total count of workflows or stages exceeds that limit and display\n * the limits modal on page load. It can be closed by the user, but the\n * API will throw an error in case they try to create a new workflow or update the\n * stages.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now). In case they are trying to create the 201st workflow/ stage\n * the API will throw an error.\n *\n */\n React.useEffect(() => {\n if (!isLoading && !isLicenseLoading) {\n if (numberOfWorkflows && meta && meta?.workflowCount > parseInt(numberOfWorkflows, 10)) {\n setShowLimitModal(true);\n }\n }\n }, [isLicenseLoading, isLoading, meta, meta?.workflowCount, numberOfWorkflows]);\n\n const headers = [\n {\n label: formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.name.title',\n defaultMessage: 'Name',\n }),\n name: 'name',\n },\n {\n label: formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.stages.title',\n defaultMessage: 'Stages',\n }),\n name: 'stages',\n },\n {\n label: formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.contentTypes.title',\n defaultMessage: 'Content Types',\n }),\n name: 'content-types',\n },\n ];\n\n if (isLoading || isLoadingModels) {\n return <Page.Loading />;\n }\n\n const contentTypes = Object.values(data ?? {}).reduce<ContentType[]>((acc, curr) => {\n acc.push(...curr);\n return acc;\n }, []);\n\n return (\n <>\n <Layout.Header\n primaryAction={\n canCreate ? (\n <LinkButton\n startIcon={<Plus />}\n size=\"S\"\n tag={NavLink}\n to=\"create\"\n onClick={handleCreateClick}\n >\n {formatMessage({\n id: 'Settings.review-workflows.list.page.create',\n defaultMessage: 'Create new workflow',\n })}\n </LinkButton>\n ) : null\n }\n subtitle={formatMessage({\n id: 'Settings.review-workflows.list.page.subtitle',\n defaultMessage: 'Manage your content review process',\n })}\n title={formatMessage({\n id: 'Settings.review-workflows.list.page.title',\n defaultMessage: 'Review Workflows',\n })}\n />\n\n <Layout.Root>\n <Table.Root\n isLoading={isLoading}\n rows={workflows}\n footer={\n canCreate ? (\n <TFooter cursor=\"pointer\" icon={<Plus />} onClick={handleCreateClick}>\n {formatMessage({\n id: 'Settings.review-workflows.list.page.create',\n defaultMessage: 'Create new workflow',\n })}\n </TFooter>\n ) : null\n }\n headers={headers}\n >\n <Table.Content>\n <Table.Head>\n {headers.map((head) => (\n <Table.HeaderCell key={head.name} {...head} />\n ))}\n </Table.Head>\n\n <Table.Body>\n {workflows.map((workflow) => (\n <Table.Row\n onClick={() => {\n navigate(`${workflow.id}`);\n }}\n key={workflow.id}\n >\n <Table.Cell width=\"25rem\">\n <Typography textColor=\"neutral800\" fontWeight=\"bold\" ellipsis>\n {workflow.name}\n </Typography>\n </Table.Cell>\n <Table.Cell>\n <Typography textColor=\"neutral800\">{workflow.stages.length}</Typography>\n </Table.Cell>\n <Table.Cell>\n <Typography textColor=\"neutral800\">\n {workflow.contentTypes\n .map((uid: string) => {\n const contentType = contentTypes.find(\n (contentType) => contentType.uid === uid\n );\n\n return contentType?.info.displayName ?? '';\n })\n .join(', ')}\n </Typography>\n </Table.Cell>\n <Table.Cell>\n <Flex alignItems=\"center\" justifyContent=\"end\">\n {canRead || canUpdate ? (\n <IconButton\n tag={Link}\n to={workflow.id.toString()}\n label={formatMessage(\n {\n id: 'Settings.review-workflows.list.page.list.column.actions.edit.label',\n defaultMessage: 'Edit {name}',\n },\n { name: workflow.name }\n )}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n ) : null}\n {workflows.length > 1 && canDelete ? (\n <IconButton\n withTooltip={false}\n label={formatMessage(\n {\n id: 'Settings.review-workflows.list.page.list.column.actions.delete.label',\n defaultMessage: 'Delete {name}',\n },\n { name: 'Default workflow' }\n )}\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n handleDeleteWorkflow(String(workflow.id));\n }}\n >\n <Trash />\n </IconButton>\n ) : null}\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Dialog.Root open={!!workflowToDelete} onOpenChange={toggleConfirmDeleteDialog}>\n <ConfirmDialog onConfirm={handleConfirmDeleteDialog}>\n {formatMessage({\n id: 'Settings.review-workflows.list.page.delete.confirm.body',\n defaultMessage:\n 'If you remove this worfklow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n\n <LimitsModal.Root open={showLimitModal} onOpenChange={() => setShowLimitModal(false)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.list.page.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.list.page.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </Layout.Root>\n </>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['review-workflows']?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ReviewWorkflowsListView />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListPage };\n"],"names":["Layout.Header","Layout.Root","contentType"],"mappings":"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"}