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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (412) 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/components/Widgets.js +142 -0
  18. package/dist/admin/components/Widgets.js.map +1 -0
  19. package/dist/admin/components/Widgets.mjs +140 -0
  20. package/dist/admin/components/Widgets.mjs.map +1 -0
  21. package/dist/admin/constants.js +18 -0
  22. package/dist/admin/constants.js.map +1 -0
  23. package/dist/admin/constants.mjs +12 -0
  24. package/dist/admin/constants.mjs.map +1 -0
  25. package/dist/admin/index.js +116 -3
  26. package/dist/admin/index.js.map +1 -1
  27. package/dist/admin/index.mjs +111 -3
  28. package/dist/admin/index.mjs.map +1 -1
  29. package/dist/admin/modules/hooks.js +8 -0
  30. package/dist/admin/modules/hooks.js.map +1 -0
  31. package/dist/admin/modules/hooks.mjs +6 -0
  32. package/dist/admin/modules/hooks.mjs.map +1 -0
  33. package/dist/admin/router.js +30 -0
  34. package/dist/admin/router.js.map +1 -0
  35. package/dist/admin/router.mjs +28 -0
  36. package/dist/admin/router.mjs.map +1 -0
  37. package/dist/admin/routes/content-manager/model/components/TableColumns.js +44 -0
  38. package/dist/admin/routes/content-manager/model/components/TableColumns.js.map +1 -0
  39. package/dist/admin/routes/content-manager/model/components/TableColumns.mjs +41 -0
  40. package/dist/admin/routes/content-manager/model/components/TableColumns.mjs.map +1 -0
  41. package/dist/admin/routes/content-manager/model/constants.js +60 -0
  42. package/dist/admin/routes/content-manager/model/constants.js.map +1 -0
  43. package/dist/admin/routes/content-manager/model/constants.mjs +58 -0
  44. package/dist/admin/routes/content-manager/model/constants.mjs.map +1 -0
  45. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js +169 -0
  46. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js.map +1 -0
  47. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs +148 -0
  48. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs.map +1 -0
  49. package/dist/admin/routes/content-manager/model/id/components/Header.js +31 -0
  50. package/dist/admin/routes/content-manager/model/id/components/Header.js.map +1 -0
  51. package/dist/admin/routes/content-manager/model/id/components/Header.mjs +29 -0
  52. package/dist/admin/routes/content-manager/model/id/components/Header.mjs.map +1 -0
  53. package/dist/admin/routes/content-manager/model/id/components/Panel.js +39 -0
  54. package/dist/admin/routes/content-manager/model/id/components/Panel.js.map +1 -0
  55. package/dist/admin/routes/content-manager/model/id/components/Panel.mjs +37 -0
  56. package/dist/admin/routes/content-manager/model/id/components/Panel.mjs.map +1 -0
  57. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js +329 -0
  58. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js.map +1 -0
  59. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs +308 -0
  60. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs.map +1 -0
  61. package/dist/admin/routes/content-manager/model/id/components/constants.js +8 -0
  62. package/dist/admin/routes/content-manager/model/id/components/constants.js.map +1 -0
  63. package/dist/admin/routes/content-manager/model/id/components/constants.mjs +5 -0
  64. package/dist/admin/routes/content-manager/model/id/components/constants.mjs.map +1 -0
  65. package/dist/admin/routes/purchase-review-workflows.js +194 -0
  66. package/dist/admin/routes/purchase-review-workflows.js.map +1 -0
  67. package/dist/admin/routes/purchase-review-workflows.mjs +192 -0
  68. package/dist/admin/routes/purchase-review-workflows.mjs.map +1 -0
  69. package/dist/admin/routes/settings/components/AddStage.js +51 -0
  70. package/dist/admin/routes/settings/components/AddStage.js.map +1 -0
  71. package/dist/admin/routes/settings/components/AddStage.mjs +49 -0
  72. package/dist/admin/routes/settings/components/AddStage.mjs.map +1 -0
  73. package/dist/admin/routes/settings/components/Layout.js +86 -0
  74. package/dist/admin/routes/settings/components/Layout.js.map +1 -0
  75. package/dist/admin/routes/settings/components/Layout.mjs +82 -0
  76. package/dist/admin/routes/settings/components/Layout.mjs.map +1 -0
  77. package/dist/admin/routes/settings/components/StageDragPreview.js +40 -0
  78. package/dist/admin/routes/settings/components/StageDragPreview.js.map +1 -0
  79. package/dist/admin/routes/settings/components/StageDragPreview.mjs +38 -0
  80. package/dist/admin/routes/settings/components/StageDragPreview.mjs.map +1 -0
  81. package/dist/admin/routes/settings/components/Stages.js +591 -0
  82. package/dist/admin/routes/settings/components/Stages.js.map +1 -0
  83. package/dist/admin/routes/settings/components/Stages.mjs +570 -0
  84. package/dist/admin/routes/settings/components/Stages.mjs.map +1 -0
  85. package/dist/admin/routes/settings/components/WorkflowAttributes.js +203 -0
  86. package/dist/admin/routes/settings/components/WorkflowAttributes.js.map +1 -0
  87. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs +201 -0
  88. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs.map +1 -0
  89. package/dist/admin/routes/settings/constants.js +8 -0
  90. package/dist/admin/routes/settings/constants.js.map +1 -0
  91. package/dist/admin/routes/settings/constants.mjs +6 -0
  92. package/dist/admin/routes/settings/constants.mjs.map +1 -0
  93. package/dist/admin/routes/settings/hooks/useDragAndDrop.js +193 -0
  94. package/dist/admin/routes/settings/hooks/useDragAndDrop.js.map +1 -0
  95. package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs +170 -0
  96. package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs.map +1 -0
  97. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js +94 -0
  98. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js.map +1 -0
  99. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs +73 -0
  100. package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs.map +1 -0
  101. package/dist/admin/routes/settings/hooks/useReviewWorkflows.js +171 -0
  102. package/dist/admin/routes/settings/hooks/useReviewWorkflows.js.map +1 -0
  103. package/dist/admin/routes/settings/hooks/useReviewWorkflows.mjs +150 -0
  104. package/dist/admin/routes/settings/hooks/useReviewWorkflows.mjs.map +1 -0
  105. package/dist/admin/routes/settings/id.js +404 -0
  106. package/dist/admin/routes/settings/id.js.map +1 -0
  107. package/dist/admin/routes/settings/id.mjs +382 -0
  108. package/dist/admin/routes/settings/id.mjs.map +1 -0
  109. package/dist/admin/routes/settings/index.js +293 -0
  110. package/dist/admin/routes/settings/index.js.map +1 -0
  111. package/dist/admin/routes/settings/index.mjs +271 -0
  112. package/dist/admin/routes/settings/index.mjs.map +1 -0
  113. package/dist/admin/services/admin.js +23 -0
  114. package/dist/admin/services/admin.js.map +1 -0
  115. package/dist/admin/services/admin.mjs +21 -0
  116. package/dist/admin/services/admin.mjs.map +1 -0
  117. package/dist/admin/services/api.js +15 -0
  118. package/dist/admin/services/api.js.map +1 -0
  119. package/dist/admin/services/api.mjs +13 -0
  120. package/dist/admin/services/api.mjs.map +1 -0
  121. package/dist/admin/services/content-manager.js +116 -0
  122. package/dist/admin/services/content-manager.js.map +1 -0
  123. package/dist/admin/services/content-manager.mjs +110 -0
  124. package/dist/admin/services/content-manager.mjs.map +1 -0
  125. package/dist/admin/services/settings.js +123 -0
  126. package/dist/admin/services/settings.js.map +1 -0
  127. package/dist/admin/services/settings.mjs +118 -0
  128. package/dist/admin/services/settings.mjs.map +1 -0
  129. package/dist/admin/src/components/Widgets.d.ts +2 -0
  130. package/dist/admin/src/routes/content-manager/model/id/components/AssigneeSelect.d.ts +4 -0
  131. package/dist/admin/src/routes/content-manager/model/id/components/Header.d.ts +5 -0
  132. package/dist/admin/src/routes/content-manager/model/id/components/StageSelect.d.ts +3 -0
  133. package/dist/admin/src/services/admin.d.ts +1 -1
  134. package/dist/admin/src/services/api.d.ts +1 -1
  135. package/dist/admin/src/services/content-manager.d.ts +6 -5
  136. package/dist/admin/src/services/settings.d.ts +3 -3
  137. package/dist/admin/translations/en.json.js +22 -0
  138. package/dist/admin/translations/en.json.js.map +1 -0
  139. package/dist/admin/translations/en.json.mjs +20 -0
  140. package/dist/admin/translations/en.json.mjs.map +1 -0
  141. package/dist/admin/translations/uk.json.js +16 -0
  142. package/dist/admin/translations/uk.json.js.map +1 -0
  143. package/dist/admin/translations/uk.json.mjs +14 -0
  144. package/dist/admin/translations/uk.json.mjs.map +1 -0
  145. package/dist/admin/utils/api.js +22 -0
  146. package/dist/admin/utils/api.js.map +1 -0
  147. package/dist/admin/utils/api.mjs +19 -0
  148. package/dist/admin/utils/api.mjs.map +1 -0
  149. package/dist/admin/utils/cm-hooks.js +23 -0
  150. package/dist/admin/utils/cm-hooks.js.map +1 -0
  151. package/dist/admin/utils/cm-hooks.mjs +21 -0
  152. package/dist/admin/utils/cm-hooks.mjs.map +1 -0
  153. package/dist/admin/utils/colors.js +50 -0
  154. package/dist/admin/utils/colors.js.map +1 -0
  155. package/dist/admin/utils/colors.mjs +47 -0
  156. package/dist/admin/utils/colors.mjs.map +1 -0
  157. package/dist/admin/utils/translations.js +11 -0
  158. package/dist/admin/utils/translations.js.map +1 -0
  159. package/dist/admin/utils/translations.mjs +9 -0
  160. package/dist/admin/utils/translations.mjs.map +1 -0
  161. package/dist/admin/utils/users.js +17 -0
  162. package/dist/admin/utils/users.js.map +1 -0
  163. package/dist/admin/utils/users.mjs +15 -0
  164. package/dist/admin/utils/users.mjs.map +1 -0
  165. package/dist/server/bootstrap.js +54 -0
  166. package/dist/server/bootstrap.js.map +1 -0
  167. package/dist/server/bootstrap.mjs +52 -0
  168. package/dist/server/bootstrap.mjs.map +1 -0
  169. package/dist/server/config/actions.js +47 -0
  170. package/dist/server/config/actions.js.map +1 -0
  171. package/dist/server/config/actions.mjs +45 -0
  172. package/dist/server/config/actions.mjs.map +1 -0
  173. package/dist/server/constants/default-stages.json.js +23 -0
  174. package/dist/server/constants/default-stages.json.js.map +1 -0
  175. package/dist/server/constants/default-stages.json.mjs +21 -0
  176. package/dist/server/constants/default-stages.json.mjs.map +1 -0
  177. package/dist/server/constants/default-workflow.json.js +12 -0
  178. package/dist/server/constants/default-workflow.json.js.map +1 -0
  179. package/dist/server/constants/default-workflow.json.mjs +7 -0
  180. package/dist/server/constants/default-workflow.json.mjs.map +1 -0
  181. package/dist/server/constants/webhook-events.js +12 -0
  182. package/dist/server/constants/webhook-events.js.map +1 -0
  183. package/dist/server/constants/webhook-events.mjs +7 -0
  184. package/dist/server/constants/webhook-events.mjs.map +1 -0
  185. package/dist/server/constants/workflows.js +53 -0
  186. package/dist/server/constants/workflows.js.map +1 -0
  187. package/dist/server/constants/workflows.mjs +42 -0
  188. package/dist/server/constants/workflows.mjs.map +1 -0
  189. package/dist/server/content-types/index.js +12 -0
  190. package/dist/server/content-types/index.js.map +1 -0
  191. package/dist/server/content-types/index.mjs +10 -0
  192. package/dist/server/content-types/index.mjs.map +1 -0
  193. package/dist/server/content-types/workflow/index.js +50 -0
  194. package/dist/server/content-types/workflow/index.js.map +1 -0
  195. package/dist/server/content-types/workflow/index.mjs +48 -0
  196. package/dist/server/content-types/workflow/index.mjs.map +1 -0
  197. package/dist/server/content-types/workflow-stage/index.js +54 -0
  198. package/dist/server/content-types/workflow-stage/index.js.map +1 -0
  199. package/dist/server/content-types/workflow-stage/index.mjs +52 -0
  200. package/dist/server/content-types/workflow-stage/index.mjs.map +1 -0
  201. package/dist/server/controllers/assignees.js +57 -0
  202. package/dist/server/controllers/assignees.js.map +1 -0
  203. package/dist/server/controllers/assignees.mjs +55 -0
  204. package/dist/server/controllers/assignees.mjs.map +1 -0
  205. package/dist/server/controllers/index.js +16 -0
  206. package/dist/server/controllers/index.js.map +1 -0
  207. package/dist/server/controllers/index.mjs +14 -0
  208. package/dist/server/controllers/index.mjs.map +1 -0
  209. package/dist/server/controllers/stages.js +167 -0
  210. package/dist/server/controllers/stages.js.map +1 -0
  211. package/dist/server/controllers/stages.mjs +165 -0
  212. package/dist/server/controllers/stages.mjs.map +1 -0
  213. package/dist/server/controllers/workflows.js +136 -0
  214. package/dist/server/controllers/workflows.js.map +1 -0
  215. package/dist/server/controllers/workflows.mjs +134 -0
  216. package/dist/server/controllers/workflows.mjs.map +1 -0
  217. package/dist/server/destroy.js +6 -0
  218. package/dist/server/destroy.js.map +1 -0
  219. package/dist/server/destroy.mjs +4 -0
  220. package/dist/server/destroy.mjs.map +1 -0
  221. package/dist/server/homepage/controllers/homepage.js +15 -0
  222. package/dist/server/homepage/controllers/homepage.js.map +1 -0
  223. package/dist/server/homepage/controllers/homepage.mjs +13 -0
  224. package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
  225. package/dist/server/homepage/controllers/index.js +10 -0
  226. package/dist/server/homepage/controllers/index.js.map +1 -0
  227. package/dist/server/homepage/controllers/index.mjs +8 -0
  228. package/dist/server/homepage/controllers/index.mjs.map +1 -0
  229. package/dist/server/homepage/index.js +14 -0
  230. package/dist/server/homepage/index.js.map +1 -0
  231. package/dist/server/homepage/index.mjs +12 -0
  232. package/dist/server/homepage/index.mjs.map +1 -0
  233. package/dist/server/homepage/routes/homepage.js +25 -0
  234. package/dist/server/homepage/routes/homepage.js.map +1 -0
  235. package/dist/server/homepage/routes/homepage.mjs +23 -0
  236. package/dist/server/homepage/routes/homepage.mjs.map +1 -0
  237. package/dist/server/homepage/routes/index.js +10 -0
  238. package/dist/server/homepage/routes/index.js.map +1 -0
  239. package/dist/server/homepage/routes/index.mjs +8 -0
  240. package/dist/server/homepage/routes/index.mjs.map +1 -0
  241. package/dist/server/homepage/services/homepage.js +24 -0
  242. package/dist/server/homepage/services/homepage.js.map +1 -0
  243. package/dist/server/homepage/services/homepage.mjs +22 -0
  244. package/dist/server/homepage/services/homepage.mjs.map +1 -0
  245. package/dist/server/homepage/services/index.js +10 -0
  246. package/dist/server/homepage/services/index.js.map +1 -0
  247. package/dist/server/homepage/services/index.mjs +8 -0
  248. package/dist/server/homepage/services/index.mjs.map +1 -0
  249. package/dist/server/index.js +25 -8321
  250. package/dist/server/index.js.map +1 -1
  251. package/dist/server/index.mjs +24 -8323
  252. package/dist/server/index.mjs.map +1 -1
  253. package/dist/server/middlewares/review-workflows.js +42 -0
  254. package/dist/server/middlewares/review-workflows.js.map +1 -0
  255. package/dist/server/middlewares/review-workflows.mjs +37 -0
  256. package/dist/server/middlewares/review-workflows.mjs.map +1 -0
  257. package/dist/server/migrations/handle-deleted-ct-in-workflows.js +40 -0
  258. package/dist/server/migrations/handle-deleted-ct-in-workflows.js.map +1 -0
  259. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs +38 -0
  260. package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs.map +1 -0
  261. package/dist/server/migrations/multiple-workflows.js +41 -0
  262. package/dist/server/migrations/multiple-workflows.js.map +1 -0
  263. package/dist/server/migrations/multiple-workflows.mjs +39 -0
  264. package/dist/server/migrations/multiple-workflows.mjs.map +1 -0
  265. package/dist/server/migrations/set-stages-default-color.js +22 -0
  266. package/dist/server/migrations/set-stages-default-color.js.map +1 -0
  267. package/dist/server/migrations/set-stages-default-color.mjs +20 -0
  268. package/dist/server/migrations/set-stages-default-color.mjs.map +1 -0
  269. package/dist/server/migrations/set-stages-roles.js +56 -0
  270. package/dist/server/migrations/set-stages-roles.js.map +1 -0
  271. package/dist/server/migrations/set-stages-roles.mjs +54 -0
  272. package/dist/server/migrations/set-stages-roles.mjs.map +1 -0
  273. package/dist/server/migrations/set-workflow-default-name.js +29 -0
  274. package/dist/server/migrations/set-workflow-default-name.js.map +1 -0
  275. package/dist/server/migrations/set-workflow-default-name.mjs +27 -0
  276. package/dist/server/migrations/set-workflow-default-name.mjs.map +1 -0
  277. package/dist/server/migrations/shorten-stage-attribute.js +45 -0
  278. package/dist/server/migrations/shorten-stage-attribute.js.map +1 -0
  279. package/dist/server/migrations/shorten-stage-attribute.mjs +43 -0
  280. package/dist/server/migrations/shorten-stage-attribute.mjs.map +1 -0
  281. package/dist/server/register.js +116 -0
  282. package/dist/server/register.js.map +1 -0
  283. package/dist/server/register.mjs +114 -0
  284. package/dist/server/register.mjs.map +1 -0
  285. package/dist/server/routes/index.js +12 -0
  286. package/dist/server/routes/index.js.map +1 -0
  287. package/dist/server/routes/index.mjs +10 -0
  288. package/dist/server/routes/index.mjs.map +1 -0
  289. package/dist/server/routes/review-workflows.js +186 -0
  290. package/dist/server/routes/review-workflows.js.map +1 -0
  291. package/dist/server/routes/review-workflows.mjs +184 -0
  292. package/dist/server/routes/review-workflows.mjs.map +1 -0
  293. package/dist/server/routes/utils.js +11 -0
  294. package/dist/server/routes/utils.js.map +1 -0
  295. package/dist/server/routes/utils.mjs +9 -0
  296. package/dist/server/routes/utils.mjs.map +1 -0
  297. package/dist/server/services/assignees.js +68 -0
  298. package/dist/server/services/assignees.js.map +1 -0
  299. package/dist/server/services/assignees.mjs +66 -0
  300. package/dist/server/services/assignees.mjs.map +1 -0
  301. package/dist/server/services/document-service-middleware.js +130 -0
  302. package/dist/server/services/document-service-middleware.js.map +1 -0
  303. package/dist/server/services/document-service-middleware.mjs +128 -0
  304. package/dist/server/services/document-service-middleware.mjs.map +1 -0
  305. package/dist/server/services/index.js +26 -0
  306. package/dist/server/services/index.js.map +1 -0
  307. package/dist/server/services/index.mjs +24 -0
  308. package/dist/server/services/index.mjs.map +1 -0
  309. package/dist/server/services/metrics/index.js +67 -0
  310. package/dist/server/services/metrics/index.js.map +1 -0
  311. package/dist/server/services/metrics/index.mjs +55 -0
  312. package/dist/server/services/metrics/index.mjs.map +1 -0
  313. package/dist/server/services/metrics/weekly-metrics.js +84 -0
  314. package/dist/server/services/metrics/weekly-metrics.js.map +1 -0
  315. package/dist/server/services/metrics/weekly-metrics.mjs +82 -0
  316. package/dist/server/services/metrics/weekly-metrics.mjs.map +1 -0
  317. package/dist/server/services/stage-permissions.js +59 -0
  318. package/dist/server/services/stage-permissions.js.map +1 -0
  319. package/dist/server/services/stage-permissions.mjs +57 -0
  320. package/dist/server/services/stage-permissions.mjs.map +1 -0
  321. package/dist/server/services/stages.js +353 -0
  322. package/dist/server/services/stages.js.map +1 -0
  323. package/dist/server/services/stages.mjs +351 -0
  324. package/dist/server/services/stages.mjs.map +1 -0
  325. package/dist/server/services/validation.js +69 -0
  326. package/dist/server/services/validation.js.map +1 -0
  327. package/dist/server/services/validation.mjs +67 -0
  328. package/dist/server/services/validation.mjs.map +1 -0
  329. package/dist/server/services/workflow-content-types.js +90 -0
  330. package/dist/server/services/workflow-content-types.js.map +1 -0
  331. package/dist/server/services/workflow-content-types.mjs +88 -0
  332. package/dist/server/services/workflow-content-types.mjs.map +1 -0
  333. package/dist/server/services/workflows.js +279 -0
  334. package/dist/server/services/workflows.js.map +1 -0
  335. package/dist/server/services/workflows.mjs +277 -0
  336. package/dist/server/services/workflows.mjs.map +1 -0
  337. package/dist/server/src/controllers/index.d.ts.map +1 -1
  338. package/dist/server/src/homepage/controllers/homepage.d.ts +6 -0
  339. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
  340. package/dist/server/src/homepage/controllers/index.d.ts +2 -0
  341. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
  342. package/dist/server/src/homepage/index.d.ts +15 -0
  343. package/dist/server/src/homepage/index.d.ts.map +1 -0
  344. package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
  345. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
  346. package/dist/server/src/homepage/routes/index.d.ts +4 -0
  347. package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
  348. package/dist/server/src/homepage/services/homepage.d.ts +9 -0
  349. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
  350. package/dist/server/src/homepage/services/index.d.ts +8 -0
  351. package/dist/server/src/homepage/services/index.d.ts.map +1 -0
  352. package/dist/server/src/index.d.ts +6 -0
  353. package/dist/server/src/index.d.ts.map +1 -1
  354. package/dist/server/src/routes/index.d.ts +1 -0
  355. package/dist/server/src/routes/index.d.ts.map +1 -1
  356. package/dist/server/src/services/document-service-middleware.d.ts +1 -1
  357. package/dist/server/src/services/document-service-middleware.d.ts.map +1 -1
  358. package/dist/server/src/services/index.d.ts +5 -0
  359. package/dist/server/src/services/index.d.ts.map +1 -1
  360. package/dist/server/utils/index.js +16 -0
  361. package/dist/server/utils/index.js.map +1 -0
  362. package/dist/server/utils/index.mjs +13 -0
  363. package/dist/server/utils/index.mjs.map +1 -0
  364. package/dist/server/utils/review-workflows.js +36 -0
  365. package/dist/server/utils/review-workflows.js.map +1 -0
  366. package/dist/server/utils/review-workflows.mjs +30 -0
  367. package/dist/server/utils/review-workflows.mjs.map +1 -0
  368. package/dist/server/validation/review-workflows.js +71 -0
  369. package/dist/server/validation/review-workflows.js.map +1 -0
  370. package/dist/server/validation/review-workflows.mjs +65 -0
  371. package/dist/server/validation/review-workflows.mjs.map +1 -0
  372. package/dist/shared/contracts/homepage.d.ts +26 -0
  373. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  374. package/dist/shared/contracts/review-workflows.d.ts +0 -1
  375. package/package.json +14 -13
  376. package/dist/_chunks/Layout-DU1Rt4Mu.mjs +0 -233
  377. package/dist/_chunks/Layout-DU1Rt4Mu.mjs.map +0 -1
  378. package/dist/_chunks/Layout-ywt0cSLq.js +0 -251
  379. package/dist/_chunks/Layout-ywt0cSLq.js.map +0 -1
  380. package/dist/_chunks/en-CYgjfSep.js +0 -15
  381. package/dist/_chunks/en-CYgjfSep.js.map +0 -1
  382. package/dist/_chunks/en-D9dxziEb.mjs +0 -15
  383. package/dist/_chunks/en-D9dxziEb.mjs.map +0 -1
  384. package/dist/_chunks/id-MDQVDdXD.mjs +0 -1277
  385. package/dist/_chunks/id-MDQVDdXD.mjs.map +0 -1
  386. package/dist/_chunks/id-StiN3nkI.js +0 -1297
  387. package/dist/_chunks/id-StiN3nkI.js.map +0 -1
  388. package/dist/_chunks/index-BRmc4tbQ.mjs +0 -809
  389. package/dist/_chunks/index-BRmc4tbQ.mjs.map +0 -1
  390. package/dist/_chunks/index-BSsDJNiQ.js +0 -827
  391. package/dist/_chunks/index-BSsDJNiQ.js.map +0 -1
  392. package/dist/_chunks/index-CsOMMJ--.mjs +0 -214
  393. package/dist/_chunks/index-CsOMMJ--.mjs.map +0 -1
  394. package/dist/_chunks/index-dc2WfugK.js +0 -233
  395. package/dist/_chunks/index-dc2WfugK.js.map +0 -1
  396. package/dist/_chunks/purchase-review-workflows-BN-5Ube7.mjs +0 -52
  397. package/dist/_chunks/purchase-review-workflows-BN-5Ube7.mjs.map +0 -1
  398. package/dist/_chunks/purchase-review-workflows-DlCDg0fD.js +0 -52
  399. package/dist/_chunks/purchase-review-workflows-DlCDg0fD.js.map +0 -1
  400. package/dist/_chunks/router-C5QvEzrI.js +0 -24
  401. package/dist/_chunks/router-C5QvEzrI.js.map +0 -1
  402. package/dist/_chunks/router-CZH4yq9s.mjs +0 -24
  403. package/dist/_chunks/router-CZH4yq9s.mjs.map +0 -1
  404. package/dist/admin/src/routes/content-manager/[model]/[id]/components/AssigneeSelect.d.ts +0 -2
  405. package/dist/admin/src/routes/content-manager/[model]/[id]/components/StageSelect.d.ts +0 -1
  406. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/AssigneeFilter.d.ts +0 -0
  407. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/StageFilter.d.ts +0 -0
  408. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/TableColumns.d.ts +0 -0
  409. /package/dist/admin/src/routes/content-manager/{[model] → model}/configure/constants.d.ts +0 -0
  410. /package/dist/admin/src/routes/content-manager/{[model] → model}/constants.d.ts +0 -0
  411. /package/dist/admin/src/routes/content-manager/{[model]/[id] → model/id}/components/Panel.d.ts +0 -0
  412. /package/dist/admin/src/routes/content-manager/{[model]/[id] → model/id}/components/constants.d.ts +0 -0
@@ -0,0 +1,329 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
+ var ee = require('@strapi/admin/strapi-admin/ee');
7
+ var strapiAdmin$1 = require('@strapi/content-manager/strapi-admin');
8
+ var designSystem = require('@strapi/design-system');
9
+ var reactIntl = require('react-intl');
10
+ var reactRouterDom = require('react-router-dom');
11
+ var LimitsModal = require('../../../../../components/LimitsModal.js');
12
+ var constants$1 = require('../../../../../constants.js');
13
+ var contentManager = require('../../../../../services/content-manager.js');
14
+ var api = require('../../../../../utils/api.js');
15
+ var colors = require('../../../../../utils/colors.js');
16
+ var constants = require('./constants.js');
17
+
18
+ function _interopNamespaceDefault(e) {
19
+ var n = Object.create(null);
20
+ if (e) {
21
+ Object.keys(e).forEach(function (k) {
22
+ if (k !== 'default') {
23
+ var d = Object.getOwnPropertyDescriptor(e, k);
24
+ Object.defineProperty(n, k, d.get ? d : {
25
+ enumerable: true,
26
+ get: function () { return e[k]; }
27
+ });
28
+ }
29
+ });
30
+ }
31
+ n.default = e;
32
+ return Object.freeze(n);
33
+ }
34
+
35
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
36
+
37
+ /* -------------------------------------------------------------------------------------------------
38
+ * LimitModals
39
+ * -----------------------------------------------------------------------------------------------*/ const WorkflowLimitModal = ({ open, onOpenChange })=>{
40
+ const { formatMessage } = reactIntl.useIntl();
41
+ return /*#__PURE__*/ jsxRuntime.jsxs(LimitsModal.LimitsModal.Root, {
42
+ open: open,
43
+ onOpenChange: onOpenChange,
44
+ children: [
45
+ /*#__PURE__*/ jsxRuntime.jsx(LimitsModal.LimitsModal.Title, {
46
+ children: formatMessage({
47
+ id: 'content-manager.reviewWorkflows.workflows.limit.title',
48
+ defaultMessage: 'You’ve reached the limit of workflows in your plan'
49
+ })
50
+ }),
51
+ /*#__PURE__*/ jsxRuntime.jsx(LimitsModal.LimitsModal.Body, {
52
+ children: formatMessage({
53
+ id: 'content-manager.reviewWorkflows.workflows.limit.body',
54
+ defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.'
55
+ })
56
+ })
57
+ ]
58
+ });
59
+ };
60
+ const StageLimitModal = ({ open, onOpenChange })=>{
61
+ const { formatMessage } = reactIntl.useIntl();
62
+ return /*#__PURE__*/ jsxRuntime.jsxs(LimitsModal.LimitsModal.Root, {
63
+ open: open,
64
+ onOpenChange: onOpenChange,
65
+ children: [
66
+ /*#__PURE__*/ jsxRuntime.jsx(LimitsModal.LimitsModal.Title, {
67
+ children: formatMessage({
68
+ id: 'content-manager.reviewWorkflows.stages.limit.title',
69
+ defaultMessage: 'You have reached the limit of stages for this workflow in your plan'
70
+ })
71
+ }),
72
+ /*#__PURE__*/ jsxRuntime.jsx(LimitsModal.LimitsModal.Body, {
73
+ children: formatMessage({
74
+ id: 'content-manager.reviewWorkflows.stages.limit.body',
75
+ defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.'
76
+ })
77
+ })
78
+ ]
79
+ });
80
+ };
81
+ /* -------------------------------------------------------------------------------------------------
82
+ * StageSelect
83
+ * -----------------------------------------------------------------------------------------------*/ const Select = ({ stages, activeWorkflowStage, isLoading, ...props })=>{
84
+ const { formatMessage } = reactIntl.useIntl();
85
+ const { themeColorName } = colors.getStageColorByHex(activeWorkflowStage?.color) ?? {};
86
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelect, {
87
+ disabled: stages.length === 0,
88
+ placeholder: formatMessage({
89
+ id: 'content-manager.reviewWorkflows.assignee.placeholder',
90
+ defaultMessage: 'Select…'
91
+ }),
92
+ startIcon: activeWorkflowStage && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
93
+ tag: "span",
94
+ height: 2,
95
+ background: activeWorkflowStage?.color,
96
+ borderColor: themeColorName === 'neutral0' ? 'neutral150' : undefined,
97
+ hasRadius: true,
98
+ shrink: 0,
99
+ width: 2,
100
+ marginRight: "-3px"
101
+ }),
102
+ // @ts-expect-error – `customizeContent` is not correctly typed in the DS.
103
+ customizeContent: ()=>{
104
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
105
+ tag: "span",
106
+ justifyContent: "space-between",
107
+ alignItems: "center",
108
+ width: "100%",
109
+ children: [
110
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
111
+ textColor: "neutral800",
112
+ ellipsis: true,
113
+ lineHeight: "inherit",
114
+ children: activeWorkflowStage?.name ?? ''
115
+ }),
116
+ isLoading ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.Loader, {
117
+ small: true,
118
+ style: {
119
+ display: 'flex'
120
+ },
121
+ "data-testid": "loader"
122
+ }) : null
123
+ ]
124
+ });
125
+ },
126
+ ...props,
127
+ children: stages.map(({ id, color, name })=>{
128
+ const { themeColorName } = colors.getStageColorByHex(color) ?? {};
129
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
130
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
131
+ height: 2,
132
+ background: color,
133
+ borderColor: themeColorName === 'neutral0' ? 'neutral150' : undefined,
134
+ hasRadius: true,
135
+ shrink: 0,
136
+ width: 2
137
+ }),
138
+ value: id,
139
+ textValue: name,
140
+ children: name
141
+ }, id);
142
+ })
143
+ });
144
+ };
145
+ const StageSelect = ({ isCompact })=>{
146
+ const { collectionType = '', slug: model = '', id = '' } = reactRouterDom.useParams();
147
+ const { formatMessage } = reactIntl.useIntl();
148
+ const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
149
+ const { toggleNotification } = strapiAdmin.useNotification();
150
+ const [{ query }] = strapiAdmin.useQueryParams();
151
+ const params = React__namespace.useMemo(()=>api.buildValidParams(query), [
152
+ query
153
+ ]);
154
+ const { document, isLoading: isLoadingDocument } = strapiAdmin$1.unstable_useDocument({
155
+ collectionType,
156
+ model,
157
+ documentId: id
158
+ }, {
159
+ skip: !id && collectionType !== 'single-types'
160
+ });
161
+ const { data, isLoading: isLoadingStages } = contentManager.useGetStagesQuery({
162
+ slug: collectionType,
163
+ model: model,
164
+ // @ts-expect-error – `id` is not correctly typed in the DS.
165
+ id: document?.documentId,
166
+ params
167
+ }, {
168
+ skip: !document?.documentId
169
+ });
170
+ const { meta, stages = [] } = data ?? {};
171
+ const { getFeature } = ee.useLicenseLimits();
172
+ const [showLimitModal, setShowLimitModal] = React__namespace.useState(null);
173
+ const limits = getFeature('review-workflows') ?? {};
174
+ const activeWorkflowStage = document ? document[constants.STAGE_ATTRIBUTE_NAME] : null;
175
+ const [updateStage, { error }] = contentManager.useUpdateStageMutation();
176
+ const handleChange = async (stageId)=>{
177
+ try {
178
+ /**
179
+ * If the current license has a limit:
180
+ * check if the total count of workflows exceeds that limit and display
181
+ * the limits modal.
182
+ *
183
+ * If the current license does not have a limit (e.g. offline license):
184
+ * do nothing (for now).
185
+ *
186
+ */ if (limits?.[constants$1.CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] && parseInt(limits[constants$1.CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < (meta?.workflowCount ?? 0)) {
187
+ setShowLimitModal('workflow');
188
+ /**
189
+ * If the current license has a limit:
190
+ * check if the total count of stages exceeds that limit and display
191
+ * the limits modal.
192
+ *
193
+ * If the current license does not have a limit (e.g. offline license):
194
+ * do nothing (for now).
195
+ *
196
+ */ } else if (limits?.[constants$1.CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] && parseInt(limits[constants$1.CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length) {
197
+ setShowLimitModal('stage');
198
+ } else {
199
+ if (document?.documentId) {
200
+ const res = await updateStage({
201
+ model,
202
+ id: document.documentId,
203
+ slug: collectionType,
204
+ params,
205
+ data: {
206
+ id: stageId
207
+ }
208
+ });
209
+ if ('data' in res) {
210
+ toggleNotification({
211
+ type: 'success',
212
+ message: formatMessage({
213
+ id: 'content-manager.reviewWorkflows.stage.notification.saved',
214
+ defaultMessage: 'Review stage updated'
215
+ })
216
+ });
217
+ }
218
+ if (isCompact && 'error' in res) {
219
+ toggleNotification({
220
+ type: 'danger',
221
+ message: formatAPIError(res.error)
222
+ });
223
+ }
224
+ }
225
+ }
226
+ } catch (error) {
227
+ toggleNotification({
228
+ type: 'danger',
229
+ message: formatMessage({
230
+ id: 'content-manager.reviewWorkflows.stage.notification.error',
231
+ defaultMessage: 'An error occurred while updating the review stage'
232
+ })
233
+ });
234
+ }
235
+ };
236
+ const isLoading = isLoadingStages || isLoadingDocument;
237
+ const reviewStageLabel = formatMessage({
238
+ id: 'content-manager.reviewWorkflows.stage.label',
239
+ defaultMessage: 'Review stage'
240
+ });
241
+ const reviewStageHint = !isLoading && stages.length === 0 && // TODO: Handle errors and hints
242
+ formatMessage({
243
+ id: 'content-manager.reviewWorkflows.stages.no-transition',
244
+ defaultMessage: 'You don’t have the permission to update this stage.'
245
+ });
246
+ if (isCompact) {
247
+ return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
248
+ children: [
249
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tooltip, {
250
+ label: reviewStageHint,
251
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Root, {
252
+ name: constants.STAGE_ATTRIBUTE_NAME,
253
+ id: constants.STAGE_ATTRIBUTE_NAME,
254
+ children: /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
255
+ children: [
256
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
257
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
258
+ children: reviewStageLabel
259
+ })
260
+ }),
261
+ /*#__PURE__*/ jsxRuntime.jsx(Select, {
262
+ stages: stages,
263
+ activeWorkflowStage: activeWorkflowStage,
264
+ isLoading: isLoading,
265
+ size: "S",
266
+ disabled: stages.length === 0,
267
+ value: activeWorkflowStage?.id,
268
+ onChange: handleChange,
269
+ placeholder: formatMessage({
270
+ id: 'content-manager.reviewWorkflows.assignee.placeholder',
271
+ defaultMessage: 'Select…'
272
+ })
273
+ })
274
+ ]
275
+ })
276
+ })
277
+ }),
278
+ /*#__PURE__*/ jsxRuntime.jsx(WorkflowLimitModal, {
279
+ open: showLimitModal === 'workflow',
280
+ onOpenChange: ()=>setShowLimitModal(null)
281
+ }),
282
+ /*#__PURE__*/ jsxRuntime.jsx(StageLimitModal, {
283
+ open: showLimitModal === 'stage',
284
+ onOpenChange: ()=>setShowLimitModal(null)
285
+ })
286
+ ]
287
+ });
288
+ }
289
+ return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
290
+ children: [
291
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
292
+ hint: reviewStageHint,
293
+ error: error && formatAPIError(error) || undefined,
294
+ name: constants.STAGE_ATTRIBUTE_NAME,
295
+ id: constants.STAGE_ATTRIBUTE_NAME,
296
+ children: [
297
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
298
+ children: reviewStageLabel
299
+ }),
300
+ /*#__PURE__*/ jsxRuntime.jsx(Select, {
301
+ stages: stages,
302
+ activeWorkflowStage: activeWorkflowStage,
303
+ isLoading: isLoading,
304
+ disabled: stages.length === 0,
305
+ value: activeWorkflowStage?.id,
306
+ onChange: handleChange,
307
+ placeholder: formatMessage({
308
+ id: 'content-manager.reviewWorkflows.assignee.placeholder',
309
+ defaultMessage: 'Select…'
310
+ })
311
+ }),
312
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Hint, {}),
313
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
314
+ ]
315
+ }),
316
+ /*#__PURE__*/ jsxRuntime.jsx(WorkflowLimitModal, {
317
+ open: showLimitModal === 'workflow',
318
+ onOpenChange: ()=>setShowLimitModal(null)
319
+ }),
320
+ /*#__PURE__*/ jsxRuntime.jsx(StageLimitModal, {
321
+ open: showLimitModal === 'stage',
322
+ onOpenChange: ()=>setShowLimitModal(null)
323
+ })
324
+ ]
325
+ });
326
+ };
327
+
328
+ exports.StageSelect = StageSelect;
329
+ //# sourceMappingURL=StageSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StageSelect.js","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/StageSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useNotification, useAPIErrorHandler, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { unstable_useDocument } from '@strapi/content-manager/strapi-admin';\nimport {\n SingleSelect,\n type SingleSelectProps,\n SingleSelectOption,\n Field,\n Flex,\n Loader,\n Typography,\n VisuallyHidden,\n Tooltip,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { Stage } from '../../../../../../../shared/contracts/review-workflows';\nimport { LimitsModal, LimitsModalProps } from '../../../../../components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../../constants';\nimport { useGetStagesQuery, useUpdateStageMutation } from '../../../../../services/content-manager';\nimport { buildValidParams } from '../../../../../utils/api';\nimport { getStageColorByHex } from '../../../../../utils/colors';\n\nimport { STAGE_ATTRIBUTE_NAME } from './constants';\n\nimport type { Data } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * LimitModals\n * -----------------------------------------------------------------------------------------------*/\n\nconst WorkflowLimitModal = ({ open, onOpenChange }: LimitsModalProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <LimitsModal.Root open={open} onOpenChange={onOpenChange}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.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: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n );\n};\n\nconst StageLimitModal = ({ open, onOpenChange }: LimitsModalProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <LimitsModal.Root open={open} onOpenChange={onOpenChange}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * StageSelect\n * -----------------------------------------------------------------------------------------------*/\n\nconst Select = ({\n stages,\n activeWorkflowStage,\n isLoading,\n ...props\n}: SingleSelectProps & { stages: Stage[]; activeWorkflowStage: Stage; isLoading: boolean }) => {\n const { formatMessage } = useIntl();\n const { themeColorName } = getStageColorByHex(activeWorkflowStage?.color) ?? {};\n\n return (\n <SingleSelect\n disabled={stages.length === 0}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n tag=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // @ts-expect-error – `customizeContent` is not correctly typed in the DS.\n customizeContent={() => {\n return (\n <Flex tag=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis lineHeight=\"inherit\">\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? <Loader small style={{ display: 'flex' }} data-testid=\"loader\" /> : null}\n </Flex>\n );\n }}\n {...props}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n );\n};\n\nexport const StageSelect = ({ isCompact }: { isCompact?: boolean }) => {\n const {\n collectionType = '',\n slug: model = '',\n id = '',\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const [{ query }] = useQueryParams();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const { document, isLoading: isLoadingDocument } = unstable_useDocument(\n {\n collectionType,\n model,\n documentId: id,\n },\n {\n skip: !id && collectionType !== 'single-types',\n }\n );\n\n const { data, isLoading: isLoadingStages } = useGetStagesQuery(\n {\n slug: collectionType,\n model: model,\n // @ts-expect-error – `id` is not correctly typed in the DS.\n id: document?.documentId,\n params,\n },\n {\n skip: !document?.documentId,\n }\n );\n\n const { meta, stages = [] } = data ?? {};\n\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState<'stage' | 'workflow' | null>(null);\n\n const limits = getFeature<string>('review-workflows') ?? {};\n\n const activeWorkflowStage = document ? document[STAGE_ATTRIBUTE_NAME] : null;\n\n const [updateStage, { error }] = useUpdateStageMutation();\n\n const handleChange = async (stageId: Data.ID) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < (meta?.workflowCount ?? 0)\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n if (document?.documentId) {\n const res = await updateStage({\n model,\n id: document.documentId,\n slug: collectionType,\n params,\n data: { id: stageId },\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage updated',\n }),\n });\n }\n\n if (isCompact && 'error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n }\n }\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'content-manager.reviewWorkflows.stage.notification.error',\n defaultMessage: 'An error occurred while updating the review stage',\n }),\n });\n }\n };\n\n const isLoading = isLoadingStages || isLoadingDocument;\n\n const reviewStageLabel = formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n });\n const reviewStageHint =\n !isLoading &&\n stages.length === 0 &&\n // TODO: Handle errors and hints\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n });\n\n if (isCompact) {\n return (\n <>\n <Tooltip label={reviewStageHint}>\n <Field.Root name={STAGE_ATTRIBUTE_NAME} id={STAGE_ATTRIBUTE_NAME}>\n <>\n <VisuallyHidden>\n <Field.Label>{reviewStageLabel}</Field.Label>\n </VisuallyHidden>\n <Select\n stages={stages}\n activeWorkflowStage={activeWorkflowStage}\n isLoading={isLoading}\n size=\"S\"\n disabled={stages.length === 0}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n })}\n />\n </>\n </Field.Root>\n </Tooltip>\n <WorkflowLimitModal\n open={showLimitModal === 'workflow'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n <StageLimitModal\n open={showLimitModal === 'stage'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n </>\n );\n }\n\n return (\n <>\n <Field.Root\n hint={reviewStageHint}\n error={(error && formatAPIError(error)) || undefined}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Field.Label>{reviewStageLabel}</Field.Label>\n <Select\n stages={stages}\n activeWorkflowStage={activeWorkflowStage}\n isLoading={isLoading}\n disabled={stages.length === 0}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n })}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n <WorkflowLimitModal\n open={showLimitModal === 'workflow'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n <StageLimitModal\n open={showLimitModal === 'stage'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n </>\n );\n};\n"],"names":["WorkflowLimitModal","open","onOpenChange","formatMessage","useIntl","_jsxs","LimitsModal","Root","_jsx","Title","id","defaultMessage","Body","StageLimitModal","Select","stages","activeWorkflowStage","isLoading","props","themeColorName","getStageColorByHex","color","SingleSelect","disabled","length","placeholder","startIcon","Flex","tag","height","background","borderColor","undefined","hasRadius","shrink","width","marginRight","customizeContent","justifyContent","alignItems","Typography","textColor","ellipsis","lineHeight","name","Loader","small","style","display","data-testid","map","SingleSelectOption","value","textValue","StageSelect","isCompact","collectionType","slug","model","useParams","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","query","useQueryParams","params","React","useMemo","buildValidParams","document","isLoadingDocument","unstable_useDocument","documentId","skip","data","isLoadingStages","useGetStagesQuery","meta","getFeature","useLicenseLimits","showLimitModal","setShowLimitModal","useState","limits","STAGE_ATTRIBUTE_NAME","updateStage","error","useUpdateStageMutation","handleChange","stageId","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","parseInt","workflowCount","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","res","type","message","reviewStageLabel","reviewStageHint","_Fragment","Tooltip","label","Field","VisuallyHidden","Label","size","onChange","hint","Hint","Error"],"mappings":"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"}