@strapi/content-releases 0.0.0-experimental.d23f1485e5669cca1cee1bf5f8168b6b8109b78f → 0.0.0-experimental.d2ab08126cfde998bfecc0aad44d3ea2b29293a6

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 (380) hide show
  1. package/dist/_chunks/App-dLXY5ei3.js +1353 -0
  2. package/dist/_chunks/App-dLXY5ei3.js.map +1 -0
  3. package/dist/_chunks/App-jrh58sXY.mjs +1330 -0
  4. package/dist/_chunks/App-jrh58sXY.mjs.map +1 -0
  5. package/dist/_chunks/PurchaseContentReleases-3tRbmbY3.mjs +51 -0
  6. package/dist/_chunks/PurchaseContentReleases-3tRbmbY3.mjs.map +1 -0
  7. package/dist/_chunks/PurchaseContentReleases-bpIYXOfu.js +51 -0
  8. package/dist/_chunks/PurchaseContentReleases-bpIYXOfu.js.map +1 -0
  9. package/dist/_chunks/en-HrREghh3.js +86 -0
  10. package/dist/_chunks/en-HrREghh3.js.map +1 -0
  11. package/dist/_chunks/en-ltT1TlKQ.mjs +86 -0
  12. package/dist/_chunks/en-ltT1TlKQ.mjs.map +1 -0
  13. package/dist/_chunks/index-CVO0Rqdm.js +1336 -0
  14. package/dist/_chunks/index-CVO0Rqdm.js.map +1 -0
  15. package/dist/_chunks/index-PiOGBETy.mjs +1315 -0
  16. package/dist/_chunks/index-PiOGBETy.mjs.map +1 -0
  17. package/dist/admin/index.js +18 -148
  18. package/dist/admin/index.js.map +1 -1
  19. package/dist/admin/index.mjs +18 -143
  20. package/dist/admin/index.mjs.map +1 -1
  21. package/dist/server/index.js +1784 -25
  22. package/dist/server/index.js.map +1 -1
  23. package/dist/server/index.mjs +1763 -24
  24. package/dist/server/index.mjs.map +1 -1
  25. package/package.json +43 -39
  26. package/strapi-server.js +3 -0
  27. package/dist/admin/assets/purchase-page-illustration-dark.svg.js +0 -6
  28. package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +0 -1
  29. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +0 -4
  30. package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +0 -1
  31. package/dist/admin/assets/purchase-page-illustration-light.svg.js +0 -6
  32. package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +0 -1
  33. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs +0 -4
  34. package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +0 -1
  35. package/dist/admin/components/EntryValidationPopover.js +0 -310
  36. package/dist/admin/components/EntryValidationPopover.js.map +0 -1
  37. package/dist/admin/components/EntryValidationPopover.mjs +0 -308
  38. package/dist/admin/components/EntryValidationPopover.mjs.map +0 -1
  39. package/dist/admin/components/RelativeTime.js +0 -76
  40. package/dist/admin/components/RelativeTime.js.map +0 -1
  41. package/dist/admin/components/RelativeTime.mjs +0 -55
  42. package/dist/admin/components/RelativeTime.mjs.map +0 -1
  43. package/dist/admin/components/ReleaseAction.js +0 -203
  44. package/dist/admin/components/ReleaseAction.js.map +0 -1
  45. package/dist/admin/components/ReleaseAction.mjs +0 -201
  46. package/dist/admin/components/ReleaseAction.mjs.map +0 -1
  47. package/dist/admin/components/ReleaseActionMenu.js +0 -194
  48. package/dist/admin/components/ReleaseActionMenu.js.map +0 -1
  49. package/dist/admin/components/ReleaseActionMenu.mjs +0 -173
  50. package/dist/admin/components/ReleaseActionMenu.mjs.map +0 -1
  51. package/dist/admin/components/ReleaseActionModal.js +0 -268
  52. package/dist/admin/components/ReleaseActionModal.js.map +0 -1
  53. package/dist/admin/components/ReleaseActionModal.mjs +0 -244
  54. package/dist/admin/components/ReleaseActionModal.mjs.map +0 -1
  55. package/dist/admin/components/ReleaseActionOptions.js +0 -104
  56. package/dist/admin/components/ReleaseActionOptions.js.map +0 -1
  57. package/dist/admin/components/ReleaseActionOptions.mjs +0 -102
  58. package/dist/admin/components/ReleaseActionOptions.mjs.map +0 -1
  59. package/dist/admin/components/ReleaseListCell.js +0 -103
  60. package/dist/admin/components/ReleaseListCell.js.map +0 -1
  61. package/dist/admin/components/ReleaseListCell.mjs +0 -100
  62. package/dist/admin/components/ReleaseListCell.mjs.map +0 -1
  63. package/dist/admin/components/ReleaseModal.js +0 -323
  64. package/dist/admin/components/ReleaseModal.js.map +0 -1
  65. package/dist/admin/components/ReleaseModal.mjs +0 -302
  66. package/dist/admin/components/ReleaseModal.mjs.map +0 -1
  67. package/dist/admin/components/ReleasesPanel.js +0 -138
  68. package/dist/admin/components/ReleasesPanel.js.map +0 -1
  69. package/dist/admin/components/ReleasesPanel.mjs +0 -136
  70. package/dist/admin/components/ReleasesPanel.mjs.map +0 -1
  71. package/dist/admin/components/Widgets.js +0 -122
  72. package/dist/admin/components/Widgets.js.map +0 -1
  73. package/dist/admin/components/Widgets.mjs +0 -120
  74. package/dist/admin/components/Widgets.mjs.map +0 -1
  75. package/dist/admin/constants.js +0 -79
  76. package/dist/admin/constants.js.map +0 -1
  77. package/dist/admin/constants.mjs +0 -76
  78. package/dist/admin/constants.mjs.map +0 -1
  79. package/dist/admin/modules/hooks.js +0 -8
  80. package/dist/admin/modules/hooks.js.map +0 -1
  81. package/dist/admin/modules/hooks.mjs +0 -6
  82. package/dist/admin/modules/hooks.mjs.map +0 -1
  83. package/dist/admin/pages/App.js +0 -29
  84. package/dist/admin/pages/App.js.map +0 -1
  85. package/dist/admin/pages/App.mjs +0 -27
  86. package/dist/admin/pages/App.mjs.map +0 -1
  87. package/dist/admin/pages/PurchaseContentReleases.js +0 -192
  88. package/dist/admin/pages/PurchaseContentReleases.js.map +0 -1
  89. package/dist/admin/pages/PurchaseContentReleases.mjs +0 -190
  90. package/dist/admin/pages/PurchaseContentReleases.mjs.map +0 -1
  91. package/dist/admin/pages/ReleaseDetailsPage.js +0 -772
  92. package/dist/admin/pages/ReleaseDetailsPage.js.map +0 -1
  93. package/dist/admin/pages/ReleaseDetailsPage.mjs +0 -751
  94. package/dist/admin/pages/ReleaseDetailsPage.mjs.map +0 -1
  95. package/dist/admin/pages/ReleasesPage.js +0 -403
  96. package/dist/admin/pages/ReleasesPage.js.map +0 -1
  97. package/dist/admin/pages/ReleasesPage.mjs +0 -381
  98. package/dist/admin/pages/ReleasesPage.mjs.map +0 -1
  99. package/dist/admin/pages/ReleasesSettingsPage.js +0 -225
  100. package/dist/admin/pages/ReleasesSettingsPage.js.map +0 -1
  101. package/dist/admin/pages/ReleasesSettingsPage.mjs +0 -223
  102. package/dist/admin/pages/ReleasesSettingsPage.mjs.map +0 -1
  103. package/dist/admin/pluginId.js +0 -6
  104. package/dist/admin/pluginId.js.map +0 -1
  105. package/dist/admin/pluginId.mjs +0 -4
  106. package/dist/admin/pluginId.mjs.map +0 -1
  107. package/dist/admin/services/homepage.js +0 -24
  108. package/dist/admin/services/homepage.js.map +0 -1
  109. package/dist/admin/services/homepage.mjs +0 -22
  110. package/dist/admin/services/homepage.mjs.map +0 -1
  111. package/dist/admin/services/release.js +0 -474
  112. package/dist/admin/services/release.js.map +0 -1
  113. package/dist/admin/services/release.mjs +0 -457
  114. package/dist/admin/services/release.mjs.map +0 -1
  115. package/dist/admin/src/components/EntryValidationPopover.d.ts +0 -13
  116. package/dist/admin/src/components/RelativeTime.d.ts +0 -28
  117. package/dist/admin/src/components/ReleaseAction.d.ts +0 -3
  118. package/dist/admin/src/components/ReleaseActionMenu.d.ts +0 -26
  119. package/dist/admin/src/components/ReleaseActionModal.d.ts +0 -24
  120. package/dist/admin/src/components/ReleaseActionOptions.d.ts +0 -9
  121. package/dist/admin/src/components/ReleaseListCell.d.ts +0 -28
  122. package/dist/admin/src/components/ReleaseModal.d.ts +0 -17
  123. package/dist/admin/src/components/ReleasesPanel.d.ts +0 -3
  124. package/dist/admin/src/components/Widgets.d.ts +0 -2
  125. package/dist/admin/src/constants.d.ts +0 -77
  126. package/dist/admin/src/index.d.ts +0 -3
  127. package/dist/admin/src/modules/hooks.d.ts +0 -7
  128. package/dist/admin/src/pages/App.d.ts +0 -1
  129. package/dist/admin/src/pages/PurchaseContentReleases.d.ts +0 -2
  130. package/dist/admin/src/pages/ReleaseDetailsPage.d.ts +0 -2
  131. package/dist/admin/src/pages/ReleasesPage.d.ts +0 -8
  132. package/dist/admin/src/pages/ReleasesSettingsPage.d.ts +0 -1
  133. package/dist/admin/src/pages/tests/mockReleaseDetailsPageData.d.ts +0 -181
  134. package/dist/admin/src/pages/tests/mockReleasesPageData.d.ts +0 -39
  135. package/dist/admin/src/pluginId.d.ts +0 -1
  136. package/dist/admin/src/services/homepage.d.ts +0 -9
  137. package/dist/admin/src/services/release.d.ts +0 -112
  138. package/dist/admin/src/store/hooks.d.ts +0 -7
  139. package/dist/admin/src/utils/api.d.ts +0 -6
  140. package/dist/admin/src/utils/prefixPluginTranslations.d.ts +0 -3
  141. package/dist/admin/src/utils/time.d.ts +0 -10
  142. package/dist/admin/src/validation/schemas.d.ts +0 -6
  143. package/dist/admin/store/hooks.js +0 -8
  144. package/dist/admin/store/hooks.js.map +0 -1
  145. package/dist/admin/store/hooks.mjs +0 -6
  146. package/dist/admin/store/hooks.mjs.map +0 -1
  147. package/dist/admin/translations/en.json.js +0 -111
  148. package/dist/admin/translations/en.json.js.map +0 -1
  149. package/dist/admin/translations/en.json.mjs +0 -109
  150. package/dist/admin/translations/en.json.mjs.map +0 -1
  151. package/dist/admin/translations/uk.json.js +0 -103
  152. package/dist/admin/translations/uk.json.js.map +0 -1
  153. package/dist/admin/translations/uk.json.mjs +0 -101
  154. package/dist/admin/translations/uk.json.mjs.map +0 -1
  155. package/dist/admin/utils/api.js +0 -8
  156. package/dist/admin/utils/api.js.map +0 -1
  157. package/dist/admin/utils/api.mjs +0 -6
  158. package/dist/admin/utils/api.mjs.map +0 -1
  159. package/dist/admin/utils/prefixPluginTranslations.js +0 -11
  160. package/dist/admin/utils/prefixPluginTranslations.js.map +0 -1
  161. package/dist/admin/utils/prefixPluginTranslations.mjs +0 -9
  162. package/dist/admin/utils/prefixPluginTranslations.mjs.map +0 -1
  163. package/dist/admin/utils/time.js +0 -42
  164. package/dist/admin/utils/time.js.map +0 -1
  165. package/dist/admin/utils/time.mjs +0 -39
  166. package/dist/admin/utils/time.mjs.map +0 -1
  167. package/dist/admin/validation/schemas.js +0 -65
  168. package/dist/admin/validation/schemas.js.map +0 -1
  169. package/dist/admin/validation/schemas.mjs +0 -43
  170. package/dist/admin/validation/schemas.mjs.map +0 -1
  171. package/dist/server/bootstrap.js +0 -68
  172. package/dist/server/bootstrap.js.map +0 -1
  173. package/dist/server/bootstrap.mjs +0 -66
  174. package/dist/server/bootstrap.mjs.map +0 -1
  175. package/dist/server/constants.js +0 -74
  176. package/dist/server/constants.js.map +0 -1
  177. package/dist/server/constants.mjs +0 -69
  178. package/dist/server/constants.mjs.map +0 -1
  179. package/dist/server/content-types/index.js +0 -12
  180. package/dist/server/content-types/index.js.map +0 -1
  181. package/dist/server/content-types/index.mjs +0 -10
  182. package/dist/server/content-types/index.mjs.map +0 -1
  183. package/dist/server/content-types/release/index.js +0 -10
  184. package/dist/server/content-types/release/index.js.map +0 -1
  185. package/dist/server/content-types/release/index.mjs +0 -8
  186. package/dist/server/content-types/release/index.mjs.map +0 -1
  187. package/dist/server/content-types/release/schema.js +0 -58
  188. package/dist/server/content-types/release/schema.js.map +0 -1
  189. package/dist/server/content-types/release/schema.mjs +0 -56
  190. package/dist/server/content-types/release/schema.mjs.map +0 -1
  191. package/dist/server/content-types/release-action/index.js +0 -10
  192. package/dist/server/content-types/release-action/index.js.map +0 -1
  193. package/dist/server/content-types/release-action/index.mjs +0 -8
  194. package/dist/server/content-types/release-action/index.mjs.map +0 -1
  195. package/dist/server/content-types/release-action/schema.js +0 -55
  196. package/dist/server/content-types/release-action/schema.js.map +0 -1
  197. package/dist/server/content-types/release-action/schema.mjs +0 -53
  198. package/dist/server/content-types/release-action/schema.mjs.map +0 -1
  199. package/dist/server/controllers/homepage.js +0 -15
  200. package/dist/server/controllers/homepage.js.map +0 -1
  201. package/dist/server/controllers/homepage.mjs +0 -13
  202. package/dist/server/controllers/homepage.mjs.map +0 -1
  203. package/dist/server/controllers/index.js +0 -16
  204. package/dist/server/controllers/index.js.map +0 -1
  205. package/dist/server/controllers/index.mjs +0 -14
  206. package/dist/server/controllers/index.mjs.map +0 -1
  207. package/dist/server/controllers/release-action.js +0 -150
  208. package/dist/server/controllers/release-action.js.map +0 -1
  209. package/dist/server/controllers/release-action.mjs +0 -148
  210. package/dist/server/controllers/release-action.mjs.map +0 -1
  211. package/dist/server/controllers/release.js +0 -302
  212. package/dist/server/controllers/release.js.map +0 -1
  213. package/dist/server/controllers/release.mjs +0 -300
  214. package/dist/server/controllers/release.mjs.map +0 -1
  215. package/dist/server/controllers/settings.js +0 -37
  216. package/dist/server/controllers/settings.js.map +0 -1
  217. package/dist/server/controllers/settings.mjs +0 -35
  218. package/dist/server/controllers/settings.mjs.map +0 -1
  219. package/dist/server/controllers/validation/release-action.js +0 -34
  220. package/dist/server/controllers/validation/release-action.js.map +0 -1
  221. package/dist/server/controllers/validation/release-action.mjs +0 -30
  222. package/dist/server/controllers/validation/release-action.mjs.map +0 -1
  223. package/dist/server/controllers/validation/release.js +0 -26
  224. package/dist/server/controllers/validation/release.js.map +0 -1
  225. package/dist/server/controllers/validation/release.mjs +0 -22
  226. package/dist/server/controllers/validation/release.mjs.map +0 -1
  227. package/dist/server/controllers/validation/settings.js +0 -32
  228. package/dist/server/controllers/validation/settings.js.map +0 -1
  229. package/dist/server/controllers/validation/settings.mjs +0 -10
  230. package/dist/server/controllers/validation/settings.mjs.map +0 -1
  231. package/dist/server/destroy.js +0 -15
  232. package/dist/server/destroy.js.map +0 -1
  233. package/dist/server/destroy.mjs +0 -13
  234. package/dist/server/destroy.mjs.map +0 -1
  235. package/dist/server/middlewares/documents.js +0 -104
  236. package/dist/server/middlewares/documents.js.map +0 -1
  237. package/dist/server/middlewares/documents.mjs +0 -101
  238. package/dist/server/middlewares/documents.mjs.map +0 -1
  239. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js +0 -51
  240. package/dist/server/migrations/database/5.0.0-document-id-in-actions.js.map +0 -1
  241. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs +0 -49
  242. package/dist/server/migrations/database/5.0.0-document-id-in-actions.mjs.map +0 -1
  243. package/dist/server/migrations/index.js +0 -205
  244. package/dist/server/migrations/index.js.map +0 -1
  245. package/dist/server/migrations/index.mjs +0 -198
  246. package/dist/server/migrations/index.mjs.map +0 -1
  247. package/dist/server/register.js +0 -23
  248. package/dist/server/register.js.map +0 -1
  249. package/dist/server/register.mjs +0 -21
  250. package/dist/server/register.mjs.map +0 -1
  251. package/dist/server/routes/homepage.js +0 -25
  252. package/dist/server/routes/homepage.js.map +0 -1
  253. package/dist/server/routes/homepage.mjs +0 -23
  254. package/dist/server/routes/homepage.mjs.map +0 -1
  255. package/dist/server/routes/index.js +0 -16
  256. package/dist/server/routes/index.js.map +0 -1
  257. package/dist/server/routes/index.mjs +0 -14
  258. package/dist/server/routes/index.mjs.map +0 -1
  259. package/dist/server/routes/release-action.js +0 -100
  260. package/dist/server/routes/release-action.js.map +0 -1
  261. package/dist/server/routes/release-action.mjs +0 -98
  262. package/dist/server/routes/release-action.mjs.map +0 -1
  263. package/dist/server/routes/release.js +0 -154
  264. package/dist/server/routes/release.js.map +0 -1
  265. package/dist/server/routes/release.mjs +0 -152
  266. package/dist/server/routes/release.mjs.map +0 -1
  267. package/dist/server/routes/settings.js +0 -46
  268. package/dist/server/routes/settings.js.map +0 -1
  269. package/dist/server/routes/settings.mjs +0 -44
  270. package/dist/server/routes/settings.mjs.map +0 -1
  271. package/dist/server/services/homepage.js +0 -26
  272. package/dist/server/services/homepage.js.map +0 -1
  273. package/dist/server/services/homepage.mjs +0 -24
  274. package/dist/server/services/homepage.mjs.map +0 -1
  275. package/dist/server/services/index.js +0 -20
  276. package/dist/server/services/index.js.map +0 -1
  277. package/dist/server/services/index.mjs +0 -18
  278. package/dist/server/services/index.mjs.map +0 -1
  279. package/dist/server/services/release-action.js +0 -324
  280. package/dist/server/services/release-action.js.map +0 -1
  281. package/dist/server/services/release-action.mjs +0 -322
  282. package/dist/server/services/release-action.mjs.map +0 -1
  283. package/dist/server/services/release.js +0 -324
  284. package/dist/server/services/release.js.map +0 -1
  285. package/dist/server/services/release.mjs +0 -322
  286. package/dist/server/services/release.mjs.map +0 -1
  287. package/dist/server/services/scheduling.js +0 -74
  288. package/dist/server/services/scheduling.js.map +0 -1
  289. package/dist/server/services/scheduling.mjs +0 -72
  290. package/dist/server/services/scheduling.mjs.map +0 -1
  291. package/dist/server/services/settings.js +0 -34
  292. package/dist/server/services/settings.js.map +0 -1
  293. package/dist/server/services/settings.mjs +0 -32
  294. package/dist/server/services/settings.mjs.map +0 -1
  295. package/dist/server/services/validation.js +0 -91
  296. package/dist/server/services/validation.js.map +0 -1
  297. package/dist/server/services/validation.mjs +0 -86
  298. package/dist/server/services/validation.mjs.map +0 -1
  299. package/dist/server/src/bootstrap.d.ts +0 -5
  300. package/dist/server/src/bootstrap.d.ts.map +0 -1
  301. package/dist/server/src/constants.d.ts +0 -21
  302. package/dist/server/src/constants.d.ts.map +0 -1
  303. package/dist/server/src/content-types/index.d.ts +0 -97
  304. package/dist/server/src/content-types/index.d.ts.map +0 -1
  305. package/dist/server/src/content-types/release/index.d.ts +0 -48
  306. package/dist/server/src/content-types/release/index.d.ts.map +0 -1
  307. package/dist/server/src/content-types/release/schema.d.ts +0 -47
  308. package/dist/server/src/content-types/release/schema.d.ts.map +0 -1
  309. package/dist/server/src/content-types/release-action/index.d.ts +0 -48
  310. package/dist/server/src/content-types/release-action/index.d.ts.map +0 -1
  311. package/dist/server/src/content-types/release-action/schema.d.ts +0 -47
  312. package/dist/server/src/content-types/release-action/schema.d.ts.map +0 -1
  313. package/dist/server/src/controllers/homepage.d.ts +0 -6
  314. package/dist/server/src/controllers/homepage.d.ts.map +0 -1
  315. package/dist/server/src/controllers/index.d.ts +0 -28
  316. package/dist/server/src/controllers/index.d.ts.map +0 -1
  317. package/dist/server/src/controllers/release-action.d.ts +0 -10
  318. package/dist/server/src/controllers/release-action.d.ts.map +0 -1
  319. package/dist/server/src/controllers/release.d.ts +0 -18
  320. package/dist/server/src/controllers/release.d.ts.map +0 -1
  321. package/dist/server/src/controllers/settings.d.ts +0 -11
  322. package/dist/server/src/controllers/settings.d.ts.map +0 -1
  323. package/dist/server/src/controllers/validation/release-action.d.ts +0 -14
  324. package/dist/server/src/controllers/validation/release-action.d.ts.map +0 -1
  325. package/dist/server/src/controllers/validation/release.d.ts +0 -4
  326. package/dist/server/src/controllers/validation/release.d.ts.map +0 -1
  327. package/dist/server/src/controllers/validation/settings.d.ts +0 -3
  328. package/dist/server/src/controllers/validation/settings.d.ts.map +0 -1
  329. package/dist/server/src/destroy.d.ts +0 -5
  330. package/dist/server/src/destroy.d.ts.map +0 -1
  331. package/dist/server/src/index.d.ts +0 -2120
  332. package/dist/server/src/index.d.ts.map +0 -1
  333. package/dist/server/src/middlewares/documents.d.ts +0 -6
  334. package/dist/server/src/middlewares/documents.d.ts.map +0 -1
  335. package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts +0 -9
  336. package/dist/server/src/migrations/database/5.0.0-document-id-in-actions.d.ts.map +0 -1
  337. package/dist/server/src/migrations/index.d.ts +0 -13
  338. package/dist/server/src/migrations/index.d.ts.map +0 -1
  339. package/dist/server/src/register.d.ts +0 -5
  340. package/dist/server/src/register.d.ts.map +0 -1
  341. package/dist/server/src/routes/homepage.d.ts +0 -4
  342. package/dist/server/src/routes/homepage.d.ts.map +0 -1
  343. package/dist/server/src/routes/index.d.ts +0 -52
  344. package/dist/server/src/routes/index.d.ts.map +0 -1
  345. package/dist/server/src/routes/release-action.d.ts +0 -18
  346. package/dist/server/src/routes/release-action.d.ts.map +0 -1
  347. package/dist/server/src/routes/release.d.ts +0 -18
  348. package/dist/server/src/routes/release.d.ts.map +0 -1
  349. package/dist/server/src/routes/settings.d.ts +0 -18
  350. package/dist/server/src/routes/settings.d.ts.map +0 -1
  351. package/dist/server/src/services/homepage.d.ts +0 -9
  352. package/dist/server/src/services/homepage.d.ts.map +0 -1
  353. package/dist/server/src/services/index.d.ts +0 -1829
  354. package/dist/server/src/services/index.d.ts.map +0 -1
  355. package/dist/server/src/services/release-action.d.ts +0 -34
  356. package/dist/server/src/services/release-action.d.ts.map +0 -1
  357. package/dist/server/src/services/release.d.ts +0 -31
  358. package/dist/server/src/services/release.d.ts.map +0 -1
  359. package/dist/server/src/services/scheduling.d.ts +0 -17
  360. package/dist/server/src/services/scheduling.d.ts.map +0 -1
  361. package/dist/server/src/services/settings.d.ts +0 -13
  362. package/dist/server/src/services/settings.d.ts.map +0 -1
  363. package/dist/server/src/services/validation.d.ts +0 -18
  364. package/dist/server/src/services/validation.d.ts.map +0 -1
  365. package/dist/server/src/utils/index.d.ts +0 -35
  366. package/dist/server/src/utils/index.d.ts.map +0 -1
  367. package/dist/server/utils/index.js +0 -94
  368. package/dist/server/utils/index.js.map +0 -1
  369. package/dist/server/utils/index.mjs +0 -88
  370. package/dist/server/utils/index.mjs.map +0 -1
  371. package/dist/shared/contracts/homepage.d.ts +0 -11
  372. package/dist/shared/contracts/homepage.d.ts.map +0 -1
  373. package/dist/shared/contracts/release-actions.d.ts +0 -136
  374. package/dist/shared/contracts/release-actions.d.ts.map +0 -1
  375. package/dist/shared/contracts/releases.d.ts +0 -183
  376. package/dist/shared/contracts/releases.d.ts.map +0 -1
  377. package/dist/shared/contracts/settings.d.ts +0 -38
  378. package/dist/shared/contracts/settings.d.ts.map +0 -1
  379. package/dist/shared/types.d.ts +0 -24
  380. package/dist/shared/types.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReleaseActionMenu.mjs","sources":["../../../admin/src/components/ReleaseActionMenu.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useAPIErrorHandler,\n useNotification,\n useAuth,\n useRBAC,\n isFetchError,\n} from '@strapi/admin/strapi-admin';\nimport { Menu, AccessibleIcon } from '@strapi/design-system';\nimport { Cross, More, Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { DeleteReleaseAction, ReleaseAction } from '../../../shared/contracts/release-actions';\nimport { Release } from '../../../shared/contracts/releases';\nimport { PERMISSIONS } from '../constants';\nimport { useDeleteReleaseActionMutation } from '../services/release';\n\n// TODO: has to be fixed in the DS - https://github.com/strapi/design-system/issues/1934\nconst StyledMenuLink = styled(Menu.Item)`\n span,\n &:hover span {\n color: ${({ theme }) => theme.colors['neutral800']};\n }\n\n svg path,\n &:hover svg path {\n fill: ${({ theme }) => theme.colors['neutral500']};\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * DeleteReleaseActionItemProps\n * -----------------------------------------------------------------------------------------------*/\ninterface DeleteReleaseActionItemProps {\n releaseId: DeleteReleaseAction.Request['params']['releaseId'];\n actionId: DeleteReleaseAction.Request['params']['actionId'];\n}\n\nconst DeleteReleaseActionItem = ({ releaseId, actionId }: DeleteReleaseActionItemProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { formatAPIError } = useAPIErrorHandler();\n const [deleteReleaseAction] = useDeleteReleaseActionMutation();\n const {\n allowedActions: { canDeleteAction },\n } = useRBAC(PERMISSIONS);\n\n const handleDeleteAction = async () => {\n const response = await deleteReleaseAction({\n params: { releaseId, actionId },\n });\n\n if ('data' in response) {\n // Handle success\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-releases.content-manager-edit-view.remove-from-release.notification.success',\n defaultMessage: 'Entry removed from release',\n }),\n });\n\n return;\n }\n\n if ('error' in response) {\n if (isFetchError(response.error)) {\n // Handle fetch error\n toggleNotification({\n type: 'danger',\n message: formatAPIError(response.error),\n });\n } else {\n // Handle generic error\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n }\n };\n\n if (!canDeleteAction) {\n return null;\n }\n\n return (\n <Menu.Item variant=\"danger\" startIcon={<Cross />} onSelect={handleDeleteAction}>\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.remove-from-release',\n defaultMessage: 'Remove from release',\n })}\n </Menu.Item>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ReleaseActionEntryLinkItem\n * -----------------------------------------------------------------------------------------------*/\ninterface ReleaseActionEntryLinkItemProps {\n contentTypeUid: ReleaseAction['contentType'];\n documentId: ReleaseAction['entry']['documentId'];\n locale: ReleaseAction['locale'];\n}\n\nconst ReleaseActionEntryLinkItem = ({\n contentTypeUid,\n documentId,\n locale,\n}: ReleaseActionEntryLinkItemProps) => {\n const { formatMessage } = useIntl();\n const userPermissions = useAuth('ReleaseActionEntryLinkItem', (state) => state.permissions);\n\n // Confirm user has permissions to access the entry for the given locale\n const canUpdateEntryForLocale = React.useMemo(() => {\n const updatePermissions = userPermissions.find(\n (permission) =>\n permission.subject === contentTypeUid &&\n permission.action === 'plugin::content-manager.explorer.update'\n );\n\n if (!updatePermissions) {\n return false;\n }\n\n return Boolean(!locale || updatePermissions.properties?.locales?.includes(locale));\n }, [contentTypeUid, locale, userPermissions]);\n\n const {\n allowedActions: { canUpdate: canUpdateContentType },\n } = useRBAC({\n updateContentType: [\n {\n action: 'plugin::content-manager.explorer.update',\n subject: contentTypeUid,\n },\n ],\n });\n\n if (!canUpdateContentType || !canUpdateEntryForLocale) {\n return null;\n }\n\n return (\n <StyledMenuLink\n /* @ts-expect-error inference isn't working in DS */\n tag={NavLink}\n isLink\n to={{\n pathname: `/content-manager/collection-types/${contentTypeUid}/${documentId}`,\n search: locale && `?plugins[i18n][locale]=${locale}`,\n }}\n startIcon={<Pencil />}\n >\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.edit-entry',\n defaultMessage: 'Edit entry',\n })}\n </StyledMenuLink>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * EditReleaseItem\n * -----------------------------------------------------------------------------------------------*/\ninterface EditReleaseItemProps {\n releaseId: Release['id'];\n}\n\nconst EditReleaseItem = ({ releaseId }: EditReleaseItemProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <StyledMenuLink\n /* @ts-expect-error inference isn't working in DS */\n tag={NavLink}\n isLink\n to={`/plugins/content-releases/${releaseId}`}\n startIcon={<Pencil />}\n >\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.edit-release',\n defaultMessage: 'Edit release',\n })}\n </StyledMenuLink>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Root\n * -----------------------------------------------------------------------------------------------*/\n\ninterface RootProps {\n children: React.ReactNode;\n hasTriggerBorder?: boolean;\n}\n\nconst Root = ({ children }: RootProps) => {\n const { formatMessage } = useIntl();\n\n const { allowedActions } = useRBAC(PERMISSIONS);\n\n return (\n // A user can access the dropdown if they have permissions to delete a release-action OR update a release\n allowedActions.canDeleteAction || allowedActions.canUpdate ? (\n <Menu.Root>\n <StyledMoreButton variant=\"tertiary\" endIcon={null} paddingLeft=\"7px\" paddingRight=\"7px\">\n <AccessibleIcon\n label={formatMessage({\n id: 'content-releases.content-manager-edit-view.release-action-menu',\n defaultMessage: 'Release action options',\n })}\n >\n <More />\n </AccessibleIcon>\n </StyledMoreButton>\n <Menu.Content top={1} popoverPlacement=\"bottom-end\">\n {children}\n </Menu.Content>\n </Menu.Root>\n ) : null\n );\n};\n\nconst StyledMoreButton = styled(Menu.Trigger)`\n & > span {\n display: flex;\n }\n`;\n\nexport const ReleaseActionMenu = {\n Root,\n EditReleaseItem,\n DeleteReleaseActionItem,\n ReleaseActionEntryLinkItem,\n};\n"],"names":["StyledMenuLink","styled","Menu","Item","theme","colors","DeleteReleaseActionItem","releaseId","actionId","formatMessage","useIntl","toggleNotification","useNotification","formatAPIError","useAPIErrorHandler","deleteReleaseAction","useDeleteReleaseActionMutation","allowedActions","canDeleteAction","useRBAC","PERMISSIONS","handleDeleteAction","response","params","type","message","id","defaultMessage","isFetchError","error","_jsx","variant","startIcon","Cross","onSelect","ReleaseActionEntryLinkItem","contentTypeUid","documentId","locale","userPermissions","useAuth","state","permissions","canUpdateEntryForLocale","React","useMemo","updatePermissions","find","permission","subject","action","Boolean","properties","locales","includes","canUpdate","canUpdateContentType","updateContentType","tag","NavLink","isLink","to","pathname","search","Pencil","EditReleaseItem","Root","children","_jsxs","StyledMoreButton","endIcon","paddingLeft","paddingRight","AccessibleIcon","label","More","Content","top","popoverPlacement","Trigger","ReleaseActionMenu"],"mappings":"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"}
@@ -1,268 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- require('react');
5
- var strapiAdmin = require('@strapi/admin/strapi-admin');
6
- var strapiAdmin$1 = require('@strapi/content-manager/strapi-admin');
7
- var designSystem = require('@strapi/design-system');
8
- var icons = require('@strapi/icons');
9
- var symbols = require('@strapi/icons/symbols');
10
- var formik = require('formik');
11
- var reactIntl = require('react-intl');
12
- var reactRouterDom = require('react-router-dom');
13
- var yup = require('yup');
14
- var constants = require('../constants.js');
15
- var release = require('../services/release.js');
16
- var ReleaseActionOptions = require('./ReleaseActionOptions.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 yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
36
-
37
- /* -------------------------------------------------------------------------------------------------
38
- * AddActionToReleaseModal
39
- * -----------------------------------------------------------------------------------------------*/ const RELEASE_ACTION_FORM_SCHEMA = yup__namespace.object().shape({
40
- type: yup__namespace.string().oneOf([
41
- 'publish',
42
- 'unpublish'
43
- ]).required(),
44
- releaseId: yup__namespace.string().required()
45
- });
46
- const INITIAL_VALUES = {
47
- type: 'publish',
48
- releaseId: ''
49
- };
50
- const NoReleases = ()=>{
51
- const { formatMessage } = reactIntl.useIntl();
52
- return /*#__PURE__*/ jsxRuntime.jsx(designSystem.EmptyStateLayout, {
53
- icon: /*#__PURE__*/ jsxRuntime.jsx(symbols.EmptyDocuments, {
54
- width: "16rem"
55
- }),
56
- content: formatMessage({
57
- id: 'content-releases.content-manager-edit-view.add-to-release.no-releases-message',
58
- defaultMessage: 'No available releases. Open the list of releases and create a new one from there.'
59
- }),
60
- action: /*#__PURE__*/ jsxRuntime.jsx(designSystem.LinkButton, {
61
- to: {
62
- pathname: '/plugins/content-releases'
63
- },
64
- tag: reactRouterDom.Link,
65
- variant: "secondary",
66
- children: formatMessage({
67
- id: 'content-releases.content-manager-edit-view.add-to-release.redirect-button',
68
- defaultMessage: 'Open the list of releases'
69
- })
70
- }),
71
- shadow: "none"
72
- });
73
- };
74
- const AddActionToReleaseModal = ({ contentType, documentId, onInputChange, values })=>{
75
- const { formatMessage } = reactIntl.useIntl();
76
- const [{ query }] = strapiAdmin.useQueryParams();
77
- const locale = query.plugins?.i18n?.locale;
78
- // Get all 'pending' releases that do not have the entry attached
79
- const response = release.useGetReleasesForEntryQuery({
80
- contentType,
81
- entryDocumentId: documentId,
82
- hasEntryAttached: false,
83
- locale
84
- });
85
- const releases = response.data?.data;
86
- if (releases?.length === 0) {
87
- return /*#__PURE__*/ jsxRuntime.jsx(NoReleases, {});
88
- }
89
- return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
90
- direction: "column",
91
- alignItems: "stretch",
92
- gap: 2,
93
- children: [
94
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
95
- paddingBottom: 6,
96
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
97
- required: true,
98
- children: [
99
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
100
- children: formatMessage({
101
- id: 'content-releases.content-manager-edit-view.add-to-release.select-label',
102
- defaultMessage: 'Select a release'
103
- })
104
- }),
105
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelect, {
106
- required: true,
107
- placeholder: formatMessage({
108
- id: 'content-releases.content-manager-edit-view.add-to-release.select-placeholder',
109
- defaultMessage: 'Select'
110
- }),
111
- name: "releaseId",
112
- onChange: (value)=>onInputChange('releaseId', value),
113
- value: values.releaseId,
114
- children: releases?.map((release)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
115
- value: release.id,
116
- children: release.name
117
- }, release.id))
118
- })
119
- ]
120
- })
121
- }),
122
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
123
- children: formatMessage({
124
- id: 'content-releases.content-manager-edit-view.add-to-release.action-type-label',
125
- defaultMessage: 'What do you want to do with this entry?'
126
- })
127
- }),
128
- /*#__PURE__*/ jsxRuntime.jsx(ReleaseActionOptions.ReleaseActionOptions, {
129
- selected: values.type,
130
- handleChange: (e)=>onInputChange('type', e.target.value),
131
- name: "type"
132
- })
133
- ]
134
- });
135
- };
136
- /* -------------------------------------------------------------------------------------------------
137
- * ReleaseActionModalForm
138
- * -----------------------------------------------------------------------------------------------*/ const ReleaseActionModalForm = ({ documentId, document, model, collectionType })=>{
139
- const { formatMessage } = reactIntl.useIntl();
140
- const { allowedActions } = strapiAdmin.useRBAC(constants.PERMISSIONS);
141
- const { canCreateAction } = allowedActions;
142
- const [createReleaseAction, { isLoading }] = release.useCreateReleaseActionMutation();
143
- const { toggleNotification } = strapiAdmin.useNotification();
144
- const { formatAPIError } = strapiAdmin.useAPIErrorHandler();
145
- const [{ query }] = strapiAdmin.useQueryParams();
146
- const locale = query.plugins?.i18n?.locale;
147
- const handleSubmit = async (e, onClose)=>{
148
- try {
149
- await formik$1.handleSubmit(e);
150
- onClose();
151
- } catch (error) {
152
- if (strapiAdmin.isFetchError(error)) {
153
- // Handle axios error
154
- toggleNotification({
155
- type: 'danger',
156
- message: formatAPIError(error)
157
- });
158
- } else {
159
- // Handle generic error
160
- toggleNotification({
161
- type: 'danger',
162
- message: formatMessage({
163
- id: 'notification.error',
164
- defaultMessage: 'An error occurred'
165
- })
166
- });
167
- }
168
- }
169
- };
170
- const formik$1 = formik.useFormik({
171
- initialValues: INITIAL_VALUES,
172
- validationSchema: RELEASE_ACTION_FORM_SCHEMA,
173
- onSubmit: async (values)=>{
174
- if (collectionType === 'collection-types' && !documentId) {
175
- throw new Error('Document id is required');
176
- }
177
- const response = await createReleaseAction({
178
- body: {
179
- type: values.type,
180
- contentType: model,
181
- entryDocumentId: documentId,
182
- locale
183
- },
184
- params: {
185
- releaseId: values.releaseId
186
- }
187
- });
188
- if ('data' in response) {
189
- // Handle success
190
- toggleNotification({
191
- type: 'success',
192
- message: formatMessage({
193
- id: 'content-releases.content-manager-edit-view.add-to-release.notification.success',
194
- defaultMessage: 'Entry added to release'
195
- })
196
- });
197
- return;
198
- }
199
- if ('error' in response) {
200
- throw response.error;
201
- }
202
- }
203
- });
204
- const { edit: { options } } = strapiAdmin$1.unstable_useDocumentLayout(model);
205
- // Project is not EE or contentType does not have draftAndPublish enabled
206
- if (!window.strapi.isEE || !options?.draftAndPublish || !canCreateAction) {
207
- return null;
208
- }
209
- if (collectionType === 'collection-types' && (!documentId || documentId === 'create')) {
210
- return null;
211
- }
212
- return {
213
- label: formatMessage({
214
- id: 'content-releases.content-manager-edit-view.add-to-release',
215
- defaultMessage: 'Add to release'
216
- }),
217
- icon: /*#__PURE__*/ jsxRuntime.jsx(icons.PaperPlane, {}),
218
- // Entry is creating so we don't want to allow adding it to a release
219
- disabled: !document,
220
- position: [
221
- 'panel',
222
- 'table-row'
223
- ],
224
- dialog: {
225
- type: 'modal',
226
- title: formatMessage({
227
- id: 'content-releases.content-manager-edit-view.add-to-release',
228
- defaultMessage: 'Add to release'
229
- }),
230
- content: /*#__PURE__*/ jsxRuntime.jsx(AddActionToReleaseModal, {
231
- contentType: model,
232
- documentId: documentId,
233
- onInputChange: formik$1.setFieldValue,
234
- values: formik$1.values
235
- }),
236
- footer: ({ onClose })=>/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Modal.Footer, {
237
- children: [
238
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
239
- onClick: onClose,
240
- variant: "tertiary",
241
- name: "cancel",
242
- children: formatMessage({
243
- id: 'content-releases.content-manager-edit-view.add-to-release.cancel-button',
244
- defaultMessage: 'Cancel'
245
- })
246
- }),
247
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
248
- type: "submit",
249
- // @ts-expect-error - formik ReactEvent types don't match button onClick types as they expect a MouseEvent
250
- onClick: (e)=>handleSubmit(e, onClose),
251
- disabled: !formik$1.values.releaseId,
252
- loading: isLoading,
253
- children: formatMessage({
254
- id: 'content-releases.content-manager-edit-view.add-to-release.continue-button',
255
- defaultMessage: 'Continue'
256
- })
257
- })
258
- ]
259
- })
260
- }
261
- };
262
- };
263
-
264
- exports.INITIAL_VALUES = INITIAL_VALUES;
265
- exports.NoReleases = NoReleases;
266
- exports.RELEASE_ACTION_FORM_SCHEMA = RELEASE_ACTION_FORM_SCHEMA;
267
- exports.ReleaseActionModalForm = ReleaseActionModalForm;
268
- //# sourceMappingURL=ReleaseActionModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReleaseActionModal.js","sources":["../../../admin/src/components/ReleaseActionModal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useAPIErrorHandler,\n useNotification,\n useQueryParams,\n useRBAC,\n isFetchError,\n} from '@strapi/admin/strapi-admin';\nimport { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport {\n Box,\n Button,\n Flex,\n SingleSelect,\n SingleSelectOption,\n EmptyStateLayout,\n LinkButton,\n Field,\n Modal,\n} from '@strapi/design-system';\nimport { PaperPlane } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useFormik } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { Link as ReactRouterLink } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { CreateReleaseAction } from '../../../shared/contracts/release-actions';\nimport { PERMISSIONS } from '../constants';\nimport { useCreateReleaseActionMutation, useGetReleasesForEntryQuery } from '../services/release';\n\nimport { ReleaseActionOptions } from './ReleaseActionOptions';\n\nimport type {\n DocumentActionComponent,\n DocumentActionProps,\n} from '@strapi/content-manager/strapi-admin';\nimport type { UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * AddActionToReleaseModal\n * -----------------------------------------------------------------------------------------------*/\nexport const RELEASE_ACTION_FORM_SCHEMA = yup.object().shape({\n type: yup.string().oneOf(['publish', 'unpublish']).required(),\n releaseId: yup.string().required(),\n});\n\nexport interface FormValues {\n type: CreateReleaseAction.Request['body']['type'];\n releaseId: CreateReleaseAction.Request['params']['releaseId'];\n}\n\nexport const INITIAL_VALUES = {\n type: 'publish',\n releaseId: '',\n} satisfies FormValues;\n\ninterface AddActionToReleaseModalProps {\n contentType: string;\n documentId?: string;\n onInputChange: (field: keyof FormValues, value: string | number) => void;\n values: FormValues;\n}\n\nexport const NoReleases = () => {\n const { formatMessage } = useIntl();\n return (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"16rem\" />}\n content={formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.no-releases-message',\n defaultMessage:\n 'No available releases. Open the list of releases and create a new one from there.',\n })}\n action={\n <LinkButton\n to={{\n pathname: '/plugins/content-releases',\n }}\n tag={ReactRouterLink}\n variant=\"secondary\"\n >\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.redirect-button',\n defaultMessage: 'Open the list of releases',\n })}\n </LinkButton>\n }\n shadow=\"none\"\n />\n );\n};\n\nconst AddActionToReleaseModal = ({\n contentType,\n documentId,\n onInputChange,\n values,\n}: AddActionToReleaseModalProps) => {\n const { formatMessage } = useIntl();\n const [{ query }] = useQueryParams<{ plugins?: { i18n?: { locale?: string } } }>();\n const locale = query.plugins?.i18n?.locale;\n\n // Get all 'pending' releases that do not have the entry attached\n const response = useGetReleasesForEntryQuery({\n contentType,\n entryDocumentId: documentId,\n hasEntryAttached: false,\n locale,\n });\n\n const releases = response.data?.data;\n\n if (releases?.length === 0) {\n return <NoReleases />;\n }\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Box paddingBottom={6}>\n <Field.Root required>\n <Field.Label>\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.select-label',\n defaultMessage: 'Select a release',\n })}\n </Field.Label>\n <SingleSelect\n required\n placeholder={formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.select-placeholder',\n defaultMessage: 'Select',\n })}\n name=\"releaseId\"\n onChange={(value) => onInputChange('releaseId', value)}\n value={values.releaseId}\n >\n {releases?.map((release) => (\n <SingleSelectOption key={release.id} value={release.id}>\n {release.name}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n </Box>\n <Field.Label>\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.action-type-label',\n defaultMessage: 'What do you want to do with this entry?',\n })}\n </Field.Label>\n <ReleaseActionOptions\n selected={values.type}\n handleChange={(e) => onInputChange('type', e.target.value)}\n name=\"type\"\n />\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ReleaseActionModalForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst ReleaseActionModalForm: DocumentActionComponent = ({\n documentId,\n document,\n model,\n collectionType,\n}: DocumentActionProps) => {\n const { formatMessage } = useIntl();\n const { allowedActions } = useRBAC(PERMISSIONS);\n const { canCreateAction } = allowedActions;\n const [createReleaseAction, { isLoading }] = useCreateReleaseActionMutation();\n const { toggleNotification } = useNotification();\n const { formatAPIError } = useAPIErrorHandler();\n const [{ query }] = useQueryParams<{ plugins?: { i18n?: { locale?: string } } }>();\n const locale = query.plugins?.i18n?.locale;\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>, onClose: () => void) => {\n try {\n await formik.handleSubmit(e);\n onClose();\n } catch (error) {\n if (isFetchError(error)) {\n // Handle axios error\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n } else {\n // Handle generic error\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n }\n };\n\n const formik = useFormik({\n initialValues: INITIAL_VALUES,\n validationSchema: RELEASE_ACTION_FORM_SCHEMA,\n onSubmit: async (values: FormValues) => {\n if (collectionType === 'collection-types' && !documentId) {\n throw new Error('Document id is required');\n }\n\n const response = await createReleaseAction({\n body: {\n type: values.type,\n contentType: model as UID.ContentType,\n entryDocumentId: documentId,\n locale,\n },\n params: { releaseId: values.releaseId },\n });\n\n if ('data' in response) {\n // Handle success\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.notification.success',\n defaultMessage: 'Entry added to release',\n }),\n });\n\n return;\n }\n\n if ('error' in response) {\n throw response.error;\n }\n },\n });\n\n const {\n edit: { options },\n } = useDocumentLayout(model);\n\n // Project is not EE or contentType does not have draftAndPublish enabled\n if (!window.strapi.isEE || !options?.draftAndPublish || !canCreateAction) {\n return null;\n }\n\n if (collectionType === 'collection-types' && (!documentId || documentId === 'create')) {\n return null;\n }\n\n return {\n label: formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release',\n defaultMessage: 'Add to release',\n }),\n icon: <PaperPlane />,\n // Entry is creating so we don't want to allow adding it to a release\n disabled: !document,\n position: ['panel', 'table-row'],\n dialog: {\n type: 'modal',\n title: formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release',\n defaultMessage: 'Add to release',\n }),\n content: (\n <AddActionToReleaseModal\n contentType={model}\n documentId={documentId}\n onInputChange={formik.setFieldValue}\n values={formik.values}\n />\n ),\n footer: ({ onClose }) => (\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\" name=\"cancel\">\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.cancel-button',\n defaultMessage: 'Cancel',\n })}\n </Button>\n <Button\n type=\"submit\"\n // @ts-expect-error - formik ReactEvent types don't match button onClick types as they expect a MouseEvent\n onClick={(e) => handleSubmit(e, onClose)}\n disabled={!formik.values.releaseId}\n loading={isLoading}\n >\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.continue-button',\n defaultMessage: 'Continue',\n })}\n </Button>\n </Modal.Footer>\n ),\n },\n };\n};\n\nexport { ReleaseActionModalForm };\n"],"names":["RELEASE_ACTION_FORM_SCHEMA","yup","object","shape","type","string","oneOf","required","releaseId","INITIAL_VALUES","NoReleases","formatMessage","useIntl","_jsx","EmptyStateLayout","icon","EmptyDocuments","width","content","id","defaultMessage","action","LinkButton","to","pathname","tag","ReactRouterLink","variant","shadow","AddActionToReleaseModal","contentType","documentId","onInputChange","values","query","useQueryParams","locale","plugins","i18n","response","useGetReleasesForEntryQuery","entryDocumentId","hasEntryAttached","releases","data","length","_jsxs","Flex","direction","alignItems","gap","Box","paddingBottom","Field","Root","Label","SingleSelect","placeholder","name","onChange","value","map","release","SingleSelectOption","ReleaseActionOptions","selected","handleChange","e","target","ReleaseActionModalForm","document","model","collectionType","allowedActions","useRBAC","PERMISSIONS","canCreateAction","createReleaseAction","isLoading","useCreateReleaseActionMutation","toggleNotification","useNotification","formatAPIError","useAPIErrorHandler","handleSubmit","onClose","formik","error","isFetchError","message","useFormik","initialValues","validationSchema","onSubmit","Error","body","params","edit","options","useDocumentLayout","window","strapi","isEE","draftAndPublish","label","PaperPlane","disabled","position","dialog","title","setFieldValue","footer","Modal","Footer","Button","onClick","loading"],"mappings":"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"}
@@ -1,244 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import 'react';
3
- import { useRBAC, useNotification, useAPIErrorHandler, useQueryParams, isFetchError } from '@strapi/admin/strapi-admin';
4
- import { unstable_useDocumentLayout } from '@strapi/content-manager/strapi-admin';
5
- import { Modal, Button, EmptyStateLayout, LinkButton, Flex, Box, Field, SingleSelect, SingleSelectOption } from '@strapi/design-system';
6
- import { PaperPlane } from '@strapi/icons';
7
- import { EmptyDocuments } from '@strapi/icons/symbols';
8
- import { useFormik } from 'formik';
9
- import { useIntl } from 'react-intl';
10
- import { Link } from 'react-router-dom';
11
- import * as yup from 'yup';
12
- import { PERMISSIONS } from '../constants.mjs';
13
- import { useCreateReleaseActionMutation, useGetReleasesForEntryQuery } from '../services/release.mjs';
14
- import { ReleaseActionOptions } from './ReleaseActionOptions.mjs';
15
-
16
- /* -------------------------------------------------------------------------------------------------
17
- * AddActionToReleaseModal
18
- * -----------------------------------------------------------------------------------------------*/ const RELEASE_ACTION_FORM_SCHEMA = yup.object().shape({
19
- type: yup.string().oneOf([
20
- 'publish',
21
- 'unpublish'
22
- ]).required(),
23
- releaseId: yup.string().required()
24
- });
25
- const INITIAL_VALUES = {
26
- type: 'publish',
27
- releaseId: ''
28
- };
29
- const NoReleases = ()=>{
30
- const { formatMessage } = useIntl();
31
- return /*#__PURE__*/ jsx(EmptyStateLayout, {
32
- icon: /*#__PURE__*/ jsx(EmptyDocuments, {
33
- width: "16rem"
34
- }),
35
- content: formatMessage({
36
- id: 'content-releases.content-manager-edit-view.add-to-release.no-releases-message',
37
- defaultMessage: 'No available releases. Open the list of releases and create a new one from there.'
38
- }),
39
- action: /*#__PURE__*/ jsx(LinkButton, {
40
- to: {
41
- pathname: '/plugins/content-releases'
42
- },
43
- tag: Link,
44
- variant: "secondary",
45
- children: formatMessage({
46
- id: 'content-releases.content-manager-edit-view.add-to-release.redirect-button',
47
- defaultMessage: 'Open the list of releases'
48
- })
49
- }),
50
- shadow: "none"
51
- });
52
- };
53
- const AddActionToReleaseModal = ({ contentType, documentId, onInputChange, values })=>{
54
- const { formatMessage } = useIntl();
55
- const [{ query }] = useQueryParams();
56
- const locale = query.plugins?.i18n?.locale;
57
- // Get all 'pending' releases that do not have the entry attached
58
- const response = useGetReleasesForEntryQuery({
59
- contentType,
60
- entryDocumentId: documentId,
61
- hasEntryAttached: false,
62
- locale
63
- });
64
- const releases = response.data?.data;
65
- if (releases?.length === 0) {
66
- return /*#__PURE__*/ jsx(NoReleases, {});
67
- }
68
- return /*#__PURE__*/ jsxs(Flex, {
69
- direction: "column",
70
- alignItems: "stretch",
71
- gap: 2,
72
- children: [
73
- /*#__PURE__*/ jsx(Box, {
74
- paddingBottom: 6,
75
- children: /*#__PURE__*/ jsxs(Field.Root, {
76
- required: true,
77
- children: [
78
- /*#__PURE__*/ jsx(Field.Label, {
79
- children: formatMessage({
80
- id: 'content-releases.content-manager-edit-view.add-to-release.select-label',
81
- defaultMessage: 'Select a release'
82
- })
83
- }),
84
- /*#__PURE__*/ jsx(SingleSelect, {
85
- required: true,
86
- placeholder: formatMessage({
87
- id: 'content-releases.content-manager-edit-view.add-to-release.select-placeholder',
88
- defaultMessage: 'Select'
89
- }),
90
- name: "releaseId",
91
- onChange: (value)=>onInputChange('releaseId', value),
92
- value: values.releaseId,
93
- children: releases?.map((release)=>/*#__PURE__*/ jsx(SingleSelectOption, {
94
- value: release.id,
95
- children: release.name
96
- }, release.id))
97
- })
98
- ]
99
- })
100
- }),
101
- /*#__PURE__*/ jsx(Field.Label, {
102
- children: formatMessage({
103
- id: 'content-releases.content-manager-edit-view.add-to-release.action-type-label',
104
- defaultMessage: 'What do you want to do with this entry?'
105
- })
106
- }),
107
- /*#__PURE__*/ jsx(ReleaseActionOptions, {
108
- selected: values.type,
109
- handleChange: (e)=>onInputChange('type', e.target.value),
110
- name: "type"
111
- })
112
- ]
113
- });
114
- };
115
- /* -------------------------------------------------------------------------------------------------
116
- * ReleaseActionModalForm
117
- * -----------------------------------------------------------------------------------------------*/ const ReleaseActionModalForm = ({ documentId, document, model, collectionType })=>{
118
- const { formatMessage } = useIntl();
119
- const { allowedActions } = useRBAC(PERMISSIONS);
120
- const { canCreateAction } = allowedActions;
121
- const [createReleaseAction, { isLoading }] = useCreateReleaseActionMutation();
122
- const { toggleNotification } = useNotification();
123
- const { formatAPIError } = useAPIErrorHandler();
124
- const [{ query }] = useQueryParams();
125
- const locale = query.plugins?.i18n?.locale;
126
- const handleSubmit = async (e, onClose)=>{
127
- try {
128
- await formik.handleSubmit(e);
129
- onClose();
130
- } catch (error) {
131
- if (isFetchError(error)) {
132
- // Handle axios error
133
- toggleNotification({
134
- type: 'danger',
135
- message: formatAPIError(error)
136
- });
137
- } else {
138
- // Handle generic error
139
- toggleNotification({
140
- type: 'danger',
141
- message: formatMessage({
142
- id: 'notification.error',
143
- defaultMessage: 'An error occurred'
144
- })
145
- });
146
- }
147
- }
148
- };
149
- const formik = useFormik({
150
- initialValues: INITIAL_VALUES,
151
- validationSchema: RELEASE_ACTION_FORM_SCHEMA,
152
- onSubmit: async (values)=>{
153
- if (collectionType === 'collection-types' && !documentId) {
154
- throw new Error('Document id is required');
155
- }
156
- const response = await createReleaseAction({
157
- body: {
158
- type: values.type,
159
- contentType: model,
160
- entryDocumentId: documentId,
161
- locale
162
- },
163
- params: {
164
- releaseId: values.releaseId
165
- }
166
- });
167
- if ('data' in response) {
168
- // Handle success
169
- toggleNotification({
170
- type: 'success',
171
- message: formatMessage({
172
- id: 'content-releases.content-manager-edit-view.add-to-release.notification.success',
173
- defaultMessage: 'Entry added to release'
174
- })
175
- });
176
- return;
177
- }
178
- if ('error' in response) {
179
- throw response.error;
180
- }
181
- }
182
- });
183
- const { edit: { options } } = unstable_useDocumentLayout(model);
184
- // Project is not EE or contentType does not have draftAndPublish enabled
185
- if (!window.strapi.isEE || !options?.draftAndPublish || !canCreateAction) {
186
- return null;
187
- }
188
- if (collectionType === 'collection-types' && (!documentId || documentId === 'create')) {
189
- return null;
190
- }
191
- return {
192
- label: formatMessage({
193
- id: 'content-releases.content-manager-edit-view.add-to-release',
194
- defaultMessage: 'Add to release'
195
- }),
196
- icon: /*#__PURE__*/ jsx(PaperPlane, {}),
197
- // Entry is creating so we don't want to allow adding it to a release
198
- disabled: !document,
199
- position: [
200
- 'panel',
201
- 'table-row'
202
- ],
203
- dialog: {
204
- type: 'modal',
205
- title: formatMessage({
206
- id: 'content-releases.content-manager-edit-view.add-to-release',
207
- defaultMessage: 'Add to release'
208
- }),
209
- content: /*#__PURE__*/ jsx(AddActionToReleaseModal, {
210
- contentType: model,
211
- documentId: documentId,
212
- onInputChange: formik.setFieldValue,
213
- values: formik.values
214
- }),
215
- footer: ({ onClose })=>/*#__PURE__*/ jsxs(Modal.Footer, {
216
- children: [
217
- /*#__PURE__*/ jsx(Button, {
218
- onClick: onClose,
219
- variant: "tertiary",
220
- name: "cancel",
221
- children: formatMessage({
222
- id: 'content-releases.content-manager-edit-view.add-to-release.cancel-button',
223
- defaultMessage: 'Cancel'
224
- })
225
- }),
226
- /*#__PURE__*/ jsx(Button, {
227
- type: "submit",
228
- // @ts-expect-error - formik ReactEvent types don't match button onClick types as they expect a MouseEvent
229
- onClick: (e)=>handleSubmit(e, onClose),
230
- disabled: !formik.values.releaseId,
231
- loading: isLoading,
232
- children: formatMessage({
233
- id: 'content-releases.content-manager-edit-view.add-to-release.continue-button',
234
- defaultMessage: 'Continue'
235
- })
236
- })
237
- ]
238
- })
239
- }
240
- };
241
- };
242
-
243
- export { INITIAL_VALUES, NoReleases, RELEASE_ACTION_FORM_SCHEMA, ReleaseActionModalForm };
244
- //# sourceMappingURL=ReleaseActionModal.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReleaseActionModal.mjs","sources":["../../../admin/src/components/ReleaseActionModal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useAPIErrorHandler,\n useNotification,\n useQueryParams,\n useRBAC,\n isFetchError,\n} from '@strapi/admin/strapi-admin';\nimport { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport {\n Box,\n Button,\n Flex,\n SingleSelect,\n SingleSelectOption,\n EmptyStateLayout,\n LinkButton,\n Field,\n Modal,\n} from '@strapi/design-system';\nimport { PaperPlane } from '@strapi/icons';\nimport { EmptyDocuments } from '@strapi/icons/symbols';\nimport { useFormik } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { Link as ReactRouterLink } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { CreateReleaseAction } from '../../../shared/contracts/release-actions';\nimport { PERMISSIONS } from '../constants';\nimport { useCreateReleaseActionMutation, useGetReleasesForEntryQuery } from '../services/release';\n\nimport { ReleaseActionOptions } from './ReleaseActionOptions';\n\nimport type {\n DocumentActionComponent,\n DocumentActionProps,\n} from '@strapi/content-manager/strapi-admin';\nimport type { UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * AddActionToReleaseModal\n * -----------------------------------------------------------------------------------------------*/\nexport const RELEASE_ACTION_FORM_SCHEMA = yup.object().shape({\n type: yup.string().oneOf(['publish', 'unpublish']).required(),\n releaseId: yup.string().required(),\n});\n\nexport interface FormValues {\n type: CreateReleaseAction.Request['body']['type'];\n releaseId: CreateReleaseAction.Request['params']['releaseId'];\n}\n\nexport const INITIAL_VALUES = {\n type: 'publish',\n releaseId: '',\n} satisfies FormValues;\n\ninterface AddActionToReleaseModalProps {\n contentType: string;\n documentId?: string;\n onInputChange: (field: keyof FormValues, value: string | number) => void;\n values: FormValues;\n}\n\nexport const NoReleases = () => {\n const { formatMessage } = useIntl();\n return (\n <EmptyStateLayout\n icon={<EmptyDocuments width=\"16rem\" />}\n content={formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.no-releases-message',\n defaultMessage:\n 'No available releases. Open the list of releases and create a new one from there.',\n })}\n action={\n <LinkButton\n to={{\n pathname: '/plugins/content-releases',\n }}\n tag={ReactRouterLink}\n variant=\"secondary\"\n >\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.redirect-button',\n defaultMessage: 'Open the list of releases',\n })}\n </LinkButton>\n }\n shadow=\"none\"\n />\n );\n};\n\nconst AddActionToReleaseModal = ({\n contentType,\n documentId,\n onInputChange,\n values,\n}: AddActionToReleaseModalProps) => {\n const { formatMessage } = useIntl();\n const [{ query }] = useQueryParams<{ plugins?: { i18n?: { locale?: string } } }>();\n const locale = query.plugins?.i18n?.locale;\n\n // Get all 'pending' releases that do not have the entry attached\n const response = useGetReleasesForEntryQuery({\n contentType,\n entryDocumentId: documentId,\n hasEntryAttached: false,\n locale,\n });\n\n const releases = response.data?.data;\n\n if (releases?.length === 0) {\n return <NoReleases />;\n }\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Box paddingBottom={6}>\n <Field.Root required>\n <Field.Label>\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.select-label',\n defaultMessage: 'Select a release',\n })}\n </Field.Label>\n <SingleSelect\n required\n placeholder={formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.select-placeholder',\n defaultMessage: 'Select',\n })}\n name=\"releaseId\"\n onChange={(value) => onInputChange('releaseId', value)}\n value={values.releaseId}\n >\n {releases?.map((release) => (\n <SingleSelectOption key={release.id} value={release.id}>\n {release.name}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n </Field.Root>\n </Box>\n <Field.Label>\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.action-type-label',\n defaultMessage: 'What do you want to do with this entry?',\n })}\n </Field.Label>\n <ReleaseActionOptions\n selected={values.type}\n handleChange={(e) => onInputChange('type', e.target.value)}\n name=\"type\"\n />\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ReleaseActionModalForm\n * -----------------------------------------------------------------------------------------------*/\n\nconst ReleaseActionModalForm: DocumentActionComponent = ({\n documentId,\n document,\n model,\n collectionType,\n}: DocumentActionProps) => {\n const { formatMessage } = useIntl();\n const { allowedActions } = useRBAC(PERMISSIONS);\n const { canCreateAction } = allowedActions;\n const [createReleaseAction, { isLoading }] = useCreateReleaseActionMutation();\n const { toggleNotification } = useNotification();\n const { formatAPIError } = useAPIErrorHandler();\n const [{ query }] = useQueryParams<{ plugins?: { i18n?: { locale?: string } } }>();\n const locale = query.plugins?.i18n?.locale;\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>, onClose: () => void) => {\n try {\n await formik.handleSubmit(e);\n onClose();\n } catch (error) {\n if (isFetchError(error)) {\n // Handle axios error\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n } else {\n // Handle generic error\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n }\n };\n\n const formik = useFormik({\n initialValues: INITIAL_VALUES,\n validationSchema: RELEASE_ACTION_FORM_SCHEMA,\n onSubmit: async (values: FormValues) => {\n if (collectionType === 'collection-types' && !documentId) {\n throw new Error('Document id is required');\n }\n\n const response = await createReleaseAction({\n body: {\n type: values.type,\n contentType: model as UID.ContentType,\n entryDocumentId: documentId,\n locale,\n },\n params: { releaseId: values.releaseId },\n });\n\n if ('data' in response) {\n // Handle success\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.notification.success',\n defaultMessage: 'Entry added to release',\n }),\n });\n\n return;\n }\n\n if ('error' in response) {\n throw response.error;\n }\n },\n });\n\n const {\n edit: { options },\n } = useDocumentLayout(model);\n\n // Project is not EE or contentType does not have draftAndPublish enabled\n if (!window.strapi.isEE || !options?.draftAndPublish || !canCreateAction) {\n return null;\n }\n\n if (collectionType === 'collection-types' && (!documentId || documentId === 'create')) {\n return null;\n }\n\n return {\n label: formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release',\n defaultMessage: 'Add to release',\n }),\n icon: <PaperPlane />,\n // Entry is creating so we don't want to allow adding it to a release\n disabled: !document,\n position: ['panel', 'table-row'],\n dialog: {\n type: 'modal',\n title: formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release',\n defaultMessage: 'Add to release',\n }),\n content: (\n <AddActionToReleaseModal\n contentType={model}\n documentId={documentId}\n onInputChange={formik.setFieldValue}\n values={formik.values}\n />\n ),\n footer: ({ onClose }) => (\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\" name=\"cancel\">\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.cancel-button',\n defaultMessage: 'Cancel',\n })}\n </Button>\n <Button\n type=\"submit\"\n // @ts-expect-error - formik ReactEvent types don't match button onClick types as they expect a MouseEvent\n onClick={(e) => handleSubmit(e, onClose)}\n disabled={!formik.values.releaseId}\n loading={isLoading}\n >\n {formatMessage({\n id: 'content-releases.content-manager-edit-view.add-to-release.continue-button',\n defaultMessage: 'Continue',\n })}\n </Button>\n </Modal.Footer>\n ),\n },\n };\n};\n\nexport { ReleaseActionModalForm };\n"],"names":["RELEASE_ACTION_FORM_SCHEMA","yup","object","shape","type","string","oneOf","required","releaseId","INITIAL_VALUES","NoReleases","formatMessage","useIntl","_jsx","EmptyStateLayout","icon","EmptyDocuments","width","content","id","defaultMessage","action","LinkButton","to","pathname","tag","ReactRouterLink","variant","shadow","AddActionToReleaseModal","contentType","documentId","onInputChange","values","query","useQueryParams","locale","plugins","i18n","response","useGetReleasesForEntryQuery","entryDocumentId","hasEntryAttached","releases","data","length","_jsxs","Flex","direction","alignItems","gap","Box","paddingBottom","Field","Root","Label","SingleSelect","placeholder","name","onChange","value","map","release","SingleSelectOption","ReleaseActionOptions","selected","handleChange","e","target","ReleaseActionModalForm","document","model","collectionType","allowedActions","useRBAC","PERMISSIONS","canCreateAction","createReleaseAction","isLoading","useCreateReleaseActionMutation","toggleNotification","useNotification","formatAPIError","useAPIErrorHandler","handleSubmit","onClose","formik","error","isFetchError","message","useFormik","initialValues","validationSchema","onSubmit","Error","body","params","edit","options","useDocumentLayout","window","strapi","isEE","draftAndPublish","label","PaperPlane","disabled","position","dialog","title","setFieldValue","footer","Modal","Footer","Button","onClick","loading"],"mappings":"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"}