@strapi/content-manager 5.10.3 → 5.11.0

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 (92) hide show
  1. package/dist/admin/chunks/{ComponentConfigurationPage-C5H-5L1u.js → ComponentConfigurationPage-BBCYsnnE.js} +3 -3
  2. package/dist/admin/chunks/{ComponentConfigurationPage-C5H-5L1u.js.map → ComponentConfigurationPage-BBCYsnnE.js.map} +1 -1
  3. package/dist/admin/chunks/{ComponentConfigurationPage-BN2kOtDm.mjs → ComponentConfigurationPage-DNBN8tI3.mjs} +3 -3
  4. package/dist/admin/chunks/{ComponentConfigurationPage-BN2kOtDm.mjs.map → ComponentConfigurationPage-DNBN8tI3.mjs.map} +1 -1
  5. package/dist/admin/chunks/{EditConfigurationPage-tMgOELQG.mjs → EditConfigurationPage-CoivzF-x.mjs} +3 -3
  6. package/dist/admin/chunks/{EditConfigurationPage-tMgOELQG.mjs.map → EditConfigurationPage-CoivzF-x.mjs.map} +1 -1
  7. package/dist/admin/chunks/{EditConfigurationPage-BExtZuB7.js → EditConfigurationPage-Cu0Vt-uc.js} +3 -3
  8. package/dist/admin/chunks/{EditConfigurationPage-BExtZuB7.js.map → EditConfigurationPage-Cu0Vt-uc.js.map} +1 -1
  9. package/dist/admin/chunks/{EditViewPage-DFkloeMZ.js → EditViewPage-B48r4DLX.js} +6 -9
  10. package/dist/admin/chunks/EditViewPage-B48r4DLX.js.map +1 -0
  11. package/dist/admin/chunks/{EditViewPage-CYe7wAXF.mjs → EditViewPage-BpGtaOKG.mjs} +6 -9
  12. package/dist/admin/chunks/EditViewPage-BpGtaOKG.mjs.map +1 -0
  13. package/dist/admin/chunks/{Form-DGUP3zQO.js → Form-DD49gSWW.js} +2 -2
  14. package/dist/admin/chunks/{Form-DGUP3zQO.js.map → Form-DD49gSWW.js.map} +1 -1
  15. package/dist/admin/chunks/{Form-DTO0ZIaB.mjs → Form-rQQtxfmF.mjs} +2 -2
  16. package/dist/admin/chunks/{Form-DTO0ZIaB.mjs.map → Form-rQQtxfmF.mjs.map} +1 -1
  17. package/dist/admin/chunks/{History-C333pgXF.mjs → History-BdsTgpW-.mjs} +5 -5
  18. package/dist/admin/chunks/{History-C333pgXF.mjs.map → History-BdsTgpW-.mjs.map} +1 -1
  19. package/dist/admin/chunks/{History-CQznK1pG.js → History-RLJ9Svg6.js} +5 -5
  20. package/dist/admin/chunks/{History-CQznK1pG.js.map → History-RLJ9Svg6.js.map} +1 -1
  21. package/dist/admin/chunks/{Input-DLJZHw9Y.js → Input-BUVu6H9n.js} +4 -4
  22. package/dist/admin/chunks/{Input-DLJZHw9Y.js.map → Input-BUVu6H9n.js.map} +1 -1
  23. package/dist/admin/chunks/{Input-BexkC_pp.mjs → Input-CtIJ2J0c.mjs} +4 -4
  24. package/dist/admin/chunks/{Input-BexkC_pp.mjs.map → Input-CtIJ2J0c.mjs.map} +1 -1
  25. package/dist/admin/chunks/{ListConfigurationPage-BX2WR7MI.mjs → ListConfigurationPage-38s4e-VJ.mjs} +2 -2
  26. package/dist/admin/chunks/{ListConfigurationPage-BX2WR7MI.mjs.map → ListConfigurationPage-38s4e-VJ.mjs.map} +1 -1
  27. package/dist/admin/chunks/{ListConfigurationPage-71I_stAM.js → ListConfigurationPage-DfnrA3dw.js} +2 -2
  28. package/dist/admin/chunks/{ListConfigurationPage-71I_stAM.js.map → ListConfigurationPage-DfnrA3dw.js.map} +1 -1
  29. package/dist/admin/chunks/{ListViewPage-BDeT3Dkk.mjs → ListViewPage-BTmlktgT.mjs} +3 -3
  30. package/dist/admin/chunks/{ListViewPage-BDeT3Dkk.mjs.map → ListViewPage-BTmlktgT.mjs.map} +1 -1
  31. package/dist/admin/chunks/{ListViewPage-DV3heO4F.js → ListViewPage-D9-LGPq_.js} +3 -3
  32. package/dist/admin/chunks/{ListViewPage-DV3heO4F.js.map → ListViewPage-D9-LGPq_.js.map} +1 -1
  33. package/dist/admin/chunks/{NoContentTypePage-9JHYpYVX.mjs → NoContentTypePage-CcyR2i1K.mjs} +2 -2
  34. package/dist/admin/chunks/{NoContentTypePage-9JHYpYVX.mjs.map → NoContentTypePage-CcyR2i1K.mjs.map} +1 -1
  35. package/dist/admin/chunks/{NoContentTypePage-COih9y2J.js → NoContentTypePage-owzdv-pl.js} +2 -2
  36. package/dist/admin/chunks/{NoContentTypePage-COih9y2J.js.map → NoContentTypePage-owzdv-pl.js.map} +1 -1
  37. package/dist/admin/chunks/{NoPermissionsPage-DGAwRIlN.js → NoPermissionsPage-CM_r8w5u.js} +2 -2
  38. package/dist/admin/chunks/{NoPermissionsPage-DGAwRIlN.js.map → NoPermissionsPage-CM_r8w5u.js.map} +1 -1
  39. package/dist/admin/chunks/{NoPermissionsPage-DTe9I47q.mjs → NoPermissionsPage-lBonAXej.mjs} +2 -2
  40. package/dist/admin/chunks/{NoPermissionsPage-DTe9I47q.mjs.map → NoPermissionsPage-lBonAXej.mjs.map} +1 -1
  41. package/dist/admin/chunks/{Preview-CXtc9yEV.js → Preview-Bv3GKyWZ.js} +209 -86
  42. package/dist/admin/chunks/Preview-Bv3GKyWZ.js.map +1 -0
  43. package/dist/admin/chunks/{Preview-BEq0FXda.mjs → Preview-Dh5Z7aGp.mjs} +213 -90
  44. package/dist/admin/chunks/Preview-Dh5Z7aGp.mjs.map +1 -0
  45. package/dist/admin/chunks/{Relations-qeZyLDgQ.mjs → Relations-DP5krCGC.mjs} +3 -3
  46. package/dist/admin/chunks/{Relations-qeZyLDgQ.mjs.map → Relations-DP5krCGC.mjs.map} +1 -1
  47. package/dist/admin/chunks/{Relations-o7_hVGyK.js → Relations-T8Cr0N9M.js} +3 -3
  48. package/dist/admin/chunks/{Relations-o7_hVGyK.js.map → Relations-T8Cr0N9M.js.map} +1 -1
  49. package/dist/admin/chunks/{en-LfhocNG2.mjs → en-CImiNxXE.mjs} +3 -1
  50. package/dist/admin/chunks/{en-LfhocNG2.mjs.map → en-CImiNxXE.mjs.map} +1 -1
  51. package/dist/admin/chunks/{en-C1CjdAtC.js → en-CLf4SuMQ.js} +3 -1
  52. package/dist/admin/chunks/{en-C1CjdAtC.js.map → en-CLf4SuMQ.js.map} +1 -1
  53. package/dist/admin/chunks/{index-Cs6qwFQu.mjs → index-BkM_Z7pU.mjs} +78 -40
  54. package/dist/admin/chunks/index-BkM_Z7pU.mjs.map +1 -0
  55. package/dist/admin/chunks/{index-BHimg6jW.js → index-CGBB9Dho.js} +78 -39
  56. package/dist/admin/chunks/index-CGBB9Dho.js.map +1 -0
  57. package/dist/admin/chunks/{layout-DStNia_P.mjs → layout-D8ji6QNJ.mjs} +4 -4
  58. package/dist/admin/chunks/{layout-DStNia_P.mjs.map → layout-D8ji6QNJ.mjs.map} +1 -1
  59. package/dist/admin/chunks/{layout-Dtahn4Ue.js → layout-Dbmjk7mC.js} +4 -4
  60. package/dist/admin/chunks/{layout-Dtahn4Ue.js.map → layout-Dbmjk7mC.js.map} +1 -1
  61. package/dist/admin/chunks/{relations-Cq8NRUto.mjs → relations-Dv0FHoBS.mjs} +2 -2
  62. package/dist/admin/chunks/{relations-Cq8NRUto.mjs.map → relations-Dv0FHoBS.mjs.map} +1 -1
  63. package/dist/admin/chunks/{relations-XOYEEqMz.js → relations-jNJK8ESO.js} +2 -2
  64. package/dist/admin/chunks/{relations-XOYEEqMz.js.map → relations-jNJK8ESO.js.map} +1 -1
  65. package/dist/admin/chunks/uk-BtM6WnaE.mjs +313 -0
  66. package/dist/admin/chunks/uk-BtM6WnaE.mjs.map +1 -0
  67. package/dist/admin/chunks/uk-DB6OgySY.js +318 -0
  68. package/dist/admin/chunks/uk-DB6OgySY.js.map +1 -0
  69. package/dist/admin/index.js +1 -1
  70. package/dist/admin/index.mjs +1 -1
  71. package/dist/admin/src/components/InjectionZone.d.ts +7 -1
  72. package/dist/admin/src/content-manager.d.ts +4 -0
  73. package/dist/admin/src/hooks/useDocument.d.ts +2 -0
  74. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  75. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +2 -1
  76. package/dist/admin/src/preview/components/PreviewContent.d.ts +1 -2
  77. package/dist/admin/src/preview/pages/Preview.d.ts +2 -0
  78. package/dist/server/index.js +1 -1
  79. package/dist/server/index.js.map +1 -1
  80. package/dist/server/index.mjs +1 -1
  81. package/dist/server/index.mjs.map +1 -1
  82. package/package.json +8 -8
  83. package/dist/admin/chunks/EditViewPage-CYe7wAXF.mjs.map +0 -1
  84. package/dist/admin/chunks/EditViewPage-DFkloeMZ.js.map +0 -1
  85. package/dist/admin/chunks/Preview-BEq0FXda.mjs.map +0 -1
  86. package/dist/admin/chunks/Preview-CXtc9yEV.js.map +0 -1
  87. package/dist/admin/chunks/index-BHimg6jW.js.map +0 -1
  88. package/dist/admin/chunks/index-Cs6qwFQu.mjs.map +0 -1
  89. package/dist/admin/chunks/uk-B24MoTVg.js +0 -145
  90. package/dist/admin/chunks/uk-B24MoTVg.js.map +0 -1
  91. package/dist/admin/chunks/uk-Cpgmm7gE.mjs +0 -140
  92. package/dist/admin/chunks/uk-Cpgmm7gE.mjs.map +0 -1
@@ -56,6 +56,9 @@ const INJECTION_ZONES = {
56
56
  deleteModalAdditionalInfos: [],
57
57
  publishModalAdditionalInfos: [],
58
58
  unpublishModalAdditionalInfos: []
59
+ },
60
+ preview: {
61
+ actions: []
59
62
  }
60
63
  };
61
64
  /**
@@ -1522,7 +1525,7 @@ const checkIfAttributeIsDisplayable = (attribute)=>{
1522
1525
  const { toggleNotification } = strapiAdmin.useNotification();
1523
1526
  const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
1524
1527
  const { formatMessage } = reactIntl.useIntl();
1525
- const { currentData: data, isLoading: isLoadingDocument, isFetching: isFetchingDocument, error } = useGetDocumentQuery(args, {
1528
+ const { currentData: data, isLoading: isLoadingDocument, isFetching: isFetchingDocument, error, refetch } = useGetDocumentQuery(args, {
1526
1529
  ...opts,
1527
1530
  skip: !args.documentId && args.collectionType !== SINGLE_TYPES || opts?.skip
1528
1531
  });
@@ -1621,7 +1624,8 @@ const checkIfAttributeIsDisplayable = (attribute)=>{
1621
1624
  schemas,
1622
1625
  validate,
1623
1626
  getTitle,
1624
- getInitialFormValues
1627
+ getInitialFormValues,
1628
+ refetch
1625
1629
  };
1626
1630
  };
1627
1631
  /* -------------------------------------------------------------------------------------------------
@@ -1735,7 +1739,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1735
1739
  const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
1736
1740
  const navigate = reactRouterDom.useNavigate();
1737
1741
  const setCurrentStep = strapiAdmin.useGuidedTour('useDocumentActions', (state)=>state.setCurrentStep);
1738
- const [deleteDocument] = useDeleteDocumentMutation();
1742
+ const [deleteDocument, { isLoading: isDeleting }] = useDeleteDocumentMutation();
1739
1743
  const _delete = React__namespace.useCallback(async ({ collectionType, model, documentId, params }, trackerProperty)=>{
1740
1744
  try {
1741
1745
  trackUsage('willDeleteEntry', trackerProperty);
@@ -1781,7 +1785,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1781
1785
  formatMessage,
1782
1786
  formatAPIError
1783
1787
  ]);
1784
- const [deleteManyDocuments] = useDeleteManyDocumentsMutation();
1788
+ const [deleteManyDocuments, { isLoading: isDeletingMany }] = useDeleteManyDocumentsMutation();
1785
1789
  const deleteMany = React__namespace.useCallback(async ({ model, documentIds, params })=>{
1786
1790
  try {
1787
1791
  trackUsage('willBulkDeleteEntries');
@@ -1824,7 +1828,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1824
1828
  formatMessage,
1825
1829
  formatAPIError
1826
1830
  ]);
1827
- const [discardDocument] = useDiscardDocumentMutation();
1831
+ const [discardDocument, { isLoading: isDiscardingDocument }] = useDiscardDocumentMutation();
1828
1832
  const discard = React__namespace.useCallback(async ({ collectionType, model, documentId, params })=>{
1829
1833
  try {
1830
1834
  const res = await discardDocument({
@@ -1863,7 +1867,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1863
1867
  formatMessage,
1864
1868
  toggleNotification
1865
1869
  ]);
1866
- const [publishDocument] = usePublishDocumentMutation();
1870
+ const [publishDocument, { isLoading: isPublishing }] = usePublishDocumentMutation();
1867
1871
  const publish = React__namespace.useCallback(async ({ collectionType, model, documentId, params }, data)=>{
1868
1872
  try {
1869
1873
  trackUsage('willPublishEntry');
@@ -1906,7 +1910,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1906
1910
  formatMessage,
1907
1911
  formatAPIError
1908
1912
  ]);
1909
- const [publishManyDocuments] = usePublishManyDocumentsMutation();
1913
+ const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();
1910
1914
  const publishMany = React__namespace.useCallback(async ({ model, documentIds, params })=>{
1911
1915
  try {
1912
1916
  // TODO Confirm tracking events for bulk publish?
@@ -1946,7 +1950,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1946
1950
  formatMessage,
1947
1951
  formatAPIError
1948
1952
  ]);
1949
- const [updateDocument] = useUpdateDocumentMutation();
1953
+ const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();
1950
1954
  const update = React__namespace.useCallback(async ({ collectionType, model, documentId, params }, data, trackerProperty)=>{
1951
1955
  try {
1952
1956
  trackUsage('willEditEntry', trackerProperty);
@@ -2042,7 +2046,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2042
2046
  formatMessage,
2043
2047
  formatAPIError
2044
2048
  ]);
2045
- const [unpublishManyDocuments] = useUnpublishManyDocumentsMutation();
2049
+ const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] = useUnpublishManyDocumentsMutation();
2046
2050
  const unpublishMany = React__namespace.useCallback(async ({ model, documentIds, params })=>{
2047
2051
  try {
2048
2052
  trackUsage('willBulkUnpublishEntries');
@@ -2233,6 +2237,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2233
2237
  getDoc
2234
2238
  ]);
2235
2239
  return {
2240
+ isLoading: isPublishing || isUpdating || isDiscardingDocument || isDeleting || isDeletingMany || isUnpublishingMany || isPublishingMany,
2236
2241
  autoClone,
2237
2242
  clone,
2238
2243
  create,
@@ -2248,7 +2253,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2248
2253
  };
2249
2254
  };
2250
2255
 
2251
- const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./History-CQznK1pG.js'); }).then((mod)=>({
2256
+ const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./History-RLJ9Svg6.js'); }).then((mod)=>({
2252
2257
  default: mod.ProtectedHistoryPage
2253
2258
  })));
2254
2259
  /**
@@ -2264,7 +2269,7 @@ const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.res
2264
2269
  }
2265
2270
  ];
2266
2271
 
2267
- const ProtectedPreviewPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./Preview-CXtc9yEV.js'); }).then((mod)=>({
2272
+ const ProtectedPreviewPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./Preview-Bv3GKyWZ.js'); }).then((mod)=>({
2268
2273
  default: mod.ProtectedPreviewPage
2269
2274
  })));
2270
2275
  const routes$1 = [
@@ -2278,25 +2283,25 @@ const routes$1 = [
2278
2283
  }
2279
2284
  ];
2280
2285
 
2281
- const ProtectedEditViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditViewPage-DFkloeMZ.js'); }).then((mod)=>({
2286
+ const ProtectedEditViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditViewPage-B48r4DLX.js'); }).then((mod)=>({
2282
2287
  default: mod.ProtectedEditViewPage
2283
2288
  })));
2284
- const ProtectedListViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListViewPage-DV3heO4F.js'); }).then((mod)=>({
2289
+ const ProtectedListViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListViewPage-D9-LGPq_.js'); }).then((mod)=>({
2285
2290
  default: mod.ProtectedListViewPage
2286
2291
  })));
2287
- const ProtectedListConfiguration = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListConfigurationPage-71I_stAM.js'); }).then((mod)=>({
2292
+ const ProtectedListConfiguration = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListConfigurationPage-DfnrA3dw.js'); }).then((mod)=>({
2288
2293
  default: mod.ProtectedListConfiguration
2289
2294
  })));
2290
- const ProtectedEditConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditConfigurationPage-BExtZuB7.js'); }).then((mod)=>({
2295
+ const ProtectedEditConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditConfigurationPage-Cu0Vt-uc.js'); }).then((mod)=>({
2291
2296
  default: mod.ProtectedEditConfigurationPage
2292
2297
  })));
2293
- const ProtectedComponentConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ComponentConfigurationPage-C5H-5L1u.js'); }).then((mod)=>({
2298
+ const ProtectedComponentConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ComponentConfigurationPage-BBCYsnnE.js'); }).then((mod)=>({
2294
2299
  default: mod.ProtectedComponentConfigurationPage
2295
2300
  })));
2296
- const NoPermissions = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoPermissionsPage-DGAwRIlN.js'); }).then((mod)=>({
2301
+ const NoPermissions = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoPermissionsPage-CM_r8w5u.js'); }).then((mod)=>({
2297
2302
  default: mod.NoPermissions
2298
2303
  })));
2299
- const NoContentType = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoContentTypePage-COih9y2J.js'); }).then((mod)=>({
2304
+ const NoContentType = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoContentTypePage-owzdv-pl.js'); }).then((mod)=>({
2300
2305
  default: mod.NoContentType
2301
2306
  })));
2302
2307
  const CollectionTypePages = ()=>{
@@ -2432,6 +2437,7 @@ const DocumentActionButton = (action)=>{
2432
2437
  variant: action.variant || 'default',
2433
2438
  paddingTop: "7px",
2434
2439
  paddingBottom: "7px",
2440
+ loading: action.loading,
2435
2441
  children: action.label
2436
2442
  }),
2437
2443
  action.dialog?.type === 'dialog' ? /*#__PURE__*/ jsxRuntime.jsx(DocumentActionConfirmDialog, {
@@ -2586,7 +2592,7 @@ const convertActionVariantToIconColor = (variant = 'secondary')=>{
2586
2592
  return 'primary600';
2587
2593
  }
2588
2594
  };
2589
- const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary' })=>{
2595
+ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
2590
2596
  const { formatMessage } = reactIntl.useIntl();
2591
2597
  const handleClose = async ()=>{
2592
2598
  if (onCancel) {
@@ -2627,6 +2633,7 @@ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, cont
2627
2633
  onClick: handleConfirm,
2628
2634
  variant: variant,
2629
2635
  fullWidth: true,
2636
+ loading: loading,
2630
2637
  children: formatMessage({
2631
2638
  id: 'app.components.Button.confirm',
2632
2639
  defaultMessage: 'Confirm'
@@ -2681,7 +2688,7 @@ const transformData = (data)=>{
2681
2688
  };
2682
2689
  /* -------------------------------------------------------------------------------------------------
2683
2690
  * DocumentActionComponents
2684
- * -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document })=>{
2691
+ * -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document, onPreview })=>{
2685
2692
  const { schema } = useDoc();
2686
2693
  const navigate = reactRouterDom.useNavigate();
2687
2694
  const { toggleNotification } = strapiAdmin.useNotification();
@@ -2691,7 +2698,7 @@ const transformData = (data)=>{
2691
2698
  const { id } = reactRouterDom.useParams();
2692
2699
  const { formatMessage } = reactIntl.useIntl();
2693
2700
  const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>canPublish);
2694
- const { publish } = useDocumentActions();
2701
+ const { publish, isLoading } = useDocumentActions();
2695
2702
  const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
2696
2703
  const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React__namespace.useState(0);
2697
2704
  const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React__namespace.useState(0);
@@ -2827,6 +2834,9 @@ const transformData = (data)=>{
2827
2834
  }
2828
2835
  } finally{
2829
2836
  setSubmitting(false);
2837
+ if (onPreview) {
2838
+ onPreview();
2839
+ }
2830
2840
  }
2831
2841
  };
2832
2842
  const totalDraftRelations = localCountOfDraftRelations + serverCountOfDraftRelations;
@@ -2835,6 +2845,11 @@ const transformData = (data)=>{
2835
2845
  const enableDraftRelationsCount = false;
2836
2846
  const hasDraftRelations = enableDraftRelationsCount;
2837
2847
  return {
2848
+ loading: isLoading,
2849
+ position: [
2850
+ 'panel',
2851
+ 'preview'
2852
+ ],
2838
2853
  /**
2839
2854
  * Disabled when:
2840
2855
  * - currently if you're cloning a document we don't support publish & clone at the same time.
@@ -2872,15 +2887,18 @@ const transformData = (data)=>{
2872
2887
  };
2873
2888
  };
2874
2889
  PublishAction$1.type = 'publish';
2875
- PublishAction$1.position = 'panel';
2876
- const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2890
+ PublishAction$1.position = [
2891
+ 'panel',
2892
+ 'preview'
2893
+ ];
2894
+ const UpdateAction = ({ activeTab, documentId, model, collectionType, onPreview })=>{
2877
2895
  const navigate = reactRouterDom.useNavigate();
2878
2896
  const { toggleNotification } = strapiAdmin.useNotification();
2879
2897
  const { _unstableFormatValidationErrors: formatValidationErrors } = strapiAdmin.useAPIErrorHandler();
2880
2898
  const cloneMatch = reactRouterDom.useMatch(CLONE_PATH);
2881
2899
  const isCloning = cloneMatch !== null;
2882
2900
  const { formatMessage } = reactIntl.useIntl();
2883
- const { create, update, clone } = useDocumentActions();
2901
+ const { create, update, clone, isLoading } = useDocumentActions();
2884
2902
  const [{ query, rawQuery }] = strapiAdmin.useQueryParams();
2885
2903
  const params = React__namespace.useMemo(()=>buildValidParams(query), [
2886
2904
  query
@@ -2958,6 +2976,9 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2958
2976
  }
2959
2977
  } finally{
2960
2978
  setSubmitting(false);
2979
+ if (onPreview) {
2980
+ onPreview();
2981
+ }
2961
2982
  }
2962
2983
  }, [
2963
2984
  clone,
@@ -2997,6 +3018,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2997
3018
  handleUpdate
2998
3019
  ]);
2999
3020
  return {
3021
+ loading: isLoading,
3000
3022
  /**
3001
3023
  * Disabled when:
3002
3024
  * - the form is submitting
@@ -3007,11 +3029,18 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
3007
3029
  id: 'global.save',
3008
3030
  defaultMessage: 'Save'
3009
3031
  }),
3010
- onClick: handleUpdate
3032
+ onClick: handleUpdate,
3033
+ position: [
3034
+ 'panel',
3035
+ 'preview'
3036
+ ]
3011
3037
  };
3012
3038
  };
3013
3039
  UpdateAction.type = 'update';
3014
- UpdateAction.position = 'panel';
3040
+ UpdateAction.position = [
3041
+ 'panel',
3042
+ 'preview'
3043
+ ];
3015
3044
  const UNPUBLISH_DRAFT_OPTIONS = {
3016
3045
  KEEP: 'keep',
3017
3046
  DISCARD: 'discard'
@@ -3161,7 +3190,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
3161
3190
  const { formatMessage } = reactIntl.useIntl();
3162
3191
  const { schema } = useDoc();
3163
3192
  const canUpdate = useDocumentRBAC('DiscardAction', ({ canUpdate })=>canUpdate);
3164
- const { discard } = useDocumentActions();
3193
+ const { discard, isLoading } = useDocumentActions();
3165
3194
  const [{ query }] = strapiAdmin.useQueryParams();
3166
3195
  const params = React__namespace.useMemo(()=>buildValidParams(query), [
3167
3196
  query
@@ -3207,6 +3236,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
3207
3236
  })
3208
3237
  ]
3209
3238
  }),
3239
+ loading: isLoading,
3210
3240
  onConfirm: async ()=>{
3211
3241
  await discard({
3212
3242
  collectionType,
@@ -3301,10 +3331,13 @@ const capitalise = (str)=>str.charAt(0).toUpperCase() + str.slice(1);
3301
3331
  ...restProps,
3302
3332
  size: size,
3303
3333
  variant: statusVariant,
3334
+ role: "status",
3335
+ "aria-labelledby": "document-status",
3304
3336
  children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
3305
3337
  tag: "span",
3306
3338
  variant: "omega",
3307
3339
  fontWeight: "bold",
3340
+ id: "document-status",
3308
3341
  children: formatMessage({
3309
3342
  id: `content-manager.containers.List.${status}`,
3310
3343
  defaultMessage: capitalise(status)
@@ -3643,7 +3676,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
3643
3676
  const { formatMessage } = reactIntl.useIntl();
3644
3677
  const listViewPathMatch = reactRouterDom.useMatch(LIST_PATH);
3645
3678
  const canDelete = useDocumentRBAC('DeleteAction', (state)=>state.canDelete);
3646
- const { delete: deleteAction } = useDocumentActions();
3679
+ const { delete: deleteAction, isLoading } = useDocumentActions();
3647
3680
  const { toggleNotification } = strapiAdmin.useNotification();
3648
3681
  const setSubmitting = strapiAdmin.useForm('DeleteAction', (state)=>state.setSubmitting);
3649
3682
  const isLocalized = document?.locale != null;
@@ -3682,6 +3715,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
3682
3715
  })
3683
3716
  ]
3684
3717
  }),
3718
+ loading: isLoading,
3685
3719
  onConfirm: async ()=>{
3686
3720
  /**
3687
3721
  * If we have a match, we're in the list view
@@ -4363,7 +4397,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4363
4397
  schema
4364
4398
  ]);
4365
4399
  const [isDialogOpen, setIsDialogOpen] = React__namespace.useState(false);
4366
- const { publishMany: bulkPublishAction } = useDocumentActions();
4400
+ const { publishMany: bulkPublishAction, isLoading: isPublishing } = useDocumentActions();
4367
4401
  const [, { isLoading: isSubmittingForm }] = usePublishManyDocumentsMutation();
4368
4402
  const selectedRows = strapiAdmin.useTable('publishAction', (state)=>state.selectedRows);
4369
4403
  // Filter selected entries from the updated modal table rows
@@ -4435,7 +4469,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4435
4469
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
4436
4470
  onClick: toggleDialog,
4437
4471
  disabled: selectedEntries.length === 0 || selectedEntries.length === selectedEntriesWithErrorsCount || selectedEntriesPublishedCount === selectedEntries.length || isLoading,
4438
- loading: isSubmittingForm,
4472
+ loading: isPublishing || isSubmittingForm,
4439
4473
  children: formatMessage({
4440
4474
  id: 'app.utils.publish',
4441
4475
  defaultMessage: 'Publish'
@@ -4448,7 +4482,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4448
4482
  /*#__PURE__*/ jsxRuntime.jsx(ConfirmDialogPublishAll, {
4449
4483
  isOpen: isDialogOpen,
4450
4484
  onToggleDialog: toggleDialog,
4451
- isConfirmButtonLoading: isSubmittingForm,
4485
+ isConfirmButtonLoading: isPublishing || isSubmittingForm,
4452
4486
  onConfirm: handleConfirmBulkPublish
4453
4487
  })
4454
4488
  ]
@@ -4540,7 +4574,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4540
4574
  query
4541
4575
  ]);
4542
4576
  const hasDeletePermission = useDocumentRBAC('deleteAction', (state)=>state.canDelete);
4543
- const { deleteMany: bulkDeleteAction } = useDocumentActions();
4577
+ const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();
4544
4578
  const documentIds = documents.map(({ documentId })=>documentId);
4545
4579
  const handleConfirmBulkDelete = async ()=>{
4546
4580
  const res = await bulkDeleteAction({
@@ -4565,6 +4599,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4565
4599
  id: 'app.components.ConfirmDialog.title',
4566
4600
  defaultMessage: 'Confirmation'
4567
4601
  }),
4602
+ loading: isLoading,
4568
4603
  content: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
4569
4604
  direction: "column",
4570
4605
  alignItems: "stretch",
@@ -4613,7 +4648,7 @@ const UnpublishAction = ({ documents, model })=>{
4613
4648
  const hasPublishPermission = useDocumentRBAC('unpublishAction', (state)=>state.canPublish);
4614
4649
  const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);
4615
4650
  const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);
4616
- const { unpublishMany: bulkUnpublishAction } = useDocumentActions();
4651
+ const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();
4617
4652
  const documentIds = documents.map(({ documentId })=>documentId);
4618
4653
  const [{ query }] = strapiAdmin.useQueryParams();
4619
4654
  const params = React__namespace.useMemo(()=>buildValidParams(query), [
@@ -4643,6 +4678,7 @@ const UnpublishAction = ({ documents, model })=>{
4643
4678
  id: 'app.components.ConfirmDialog.title',
4644
4679
  defaultMessage: 'Confirmation'
4645
4680
  }),
4681
+ loading: isLoading,
4646
4682
  content: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
4647
4683
  direction: "column",
4648
4684
  alignItems: "stretch",
@@ -5024,9 +5060,11 @@ const DEFAULT_TABLE_ROW_ACTIONS = [
5024
5060
  * The response should still be filtered by the position, as the static property is new
5025
5061
  * and not mandatory to avoid a breaking change.
5026
5062
  */ if (position) {
5027
- return this.documentActions.filter((action)=>action.position == undefined || [
5063
+ return this.documentActions.filter((action)=>{
5064
+ return action.position == undefined || [
5028
5065
  action.position
5029
- ].flat().includes(position));
5066
+ ].flat().includes(position);
5067
+ });
5030
5068
  }
5031
5069
  return this.documentActions;
5032
5070
  },
@@ -5278,7 +5316,7 @@ function __variableDynamicImportRuntime1__(path) {
5278
5316
  case './translations/ca.json': return Promise.resolve().then(function () { return require('./ca-ClDTvatJ.js'); });
5279
5317
  case './translations/cs.json': return Promise.resolve().then(function () { return require('./cs-BJFxwIWj.js'); });
5280
5318
  case './translations/de.json': return Promise.resolve().then(function () { return require('./de-CbImAUA5.js'); });
5281
- case './translations/en.json': return Promise.resolve().then(function () { return require('./en-C1CjdAtC.js'); });
5319
+ case './translations/en.json': return Promise.resolve().then(function () { return require('./en-CLf4SuMQ.js'); });
5282
5320
  case './translations/es.json': return Promise.resolve().then(function () { return require('./es-C8vLuvZL.js'); });
5283
5321
  case './translations/eu.json': return Promise.resolve().then(function () { return require('./eu-BJW3AvXu.js'); });
5284
5322
  case './translations/fr.json': return Promise.resolve().then(function () { return require('./fr-gQSilC7w.js'); });
@@ -5301,7 +5339,7 @@ function __variableDynamicImportRuntime1__(path) {
5301
5339
  case './translations/sv.json': return Promise.resolve().then(function () { return require('./sv-BstBC1Yp.js'); });
5302
5340
  case './translations/th.json': return Promise.resolve().then(function () { return require('./th-lXoOCqPC.js'); });
5303
5341
  case './translations/tr.json': return Promise.resolve().then(function () { return require('./tr-CkS6sLIE.js'); });
5304
- case './translations/uk.json': return Promise.resolve().then(function () { return require('./uk-B24MoTVg.js'); });
5342
+ case './translations/uk.json': return Promise.resolve().then(function () { return require('./uk-DB6OgySY.js'); });
5305
5343
  case './translations/vi.json': return Promise.resolve().then(function () { return require('./vi-BGr1X_HZ.js'); });
5306
5344
  case './translations/zh-Hans.json': return Promise.resolve().then(function () { return require('./zh-Hans-JVK9x7xr.js'); });
5307
5345
  case './translations/zh.json': return Promise.resolve().then(function () { return require('./zh-DwFu_Kfj.js'); });
@@ -5332,7 +5370,7 @@ var index = {
5332
5370
  app.router.addRoute({
5333
5371
  path: 'content-manager/*',
5334
5372
  lazy: async ()=>{
5335
- const { Layout } = await Promise.resolve().then(function () { return require('./layout-Dtahn4Ue.js'); });
5373
+ const { Layout } = await Promise.resolve().then(function () { return require('./layout-Dbmjk7mC.js'); });
5336
5374
  return {
5337
5375
  Component: Layout
5338
5376
  };
@@ -5373,6 +5411,7 @@ exports.CLONE_PATH = CLONE_PATH;
5373
5411
  exports.COLLECTION_TYPES = COLLECTION_TYPES;
5374
5412
  exports.CREATOR_FIELDS = CREATOR_FIELDS;
5375
5413
  exports.DEFAULT_SETTINGS = DEFAULT_SETTINGS;
5414
+ exports.DocumentActionButton = DocumentActionButton;
5376
5415
  exports.DocumentRBAC = DocumentRBAC;
5377
5416
  exports.DocumentStatus = DocumentStatus;
5378
5417
  exports.HOOKS = HOOKS;
@@ -5414,4 +5453,4 @@ exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuer
5414
5453
  exports.useGetInitialDataQuery = useGetInitialDataQuery;
5415
5454
  exports.useGetPreviewUrlQuery = useGetPreviewUrlQuery;
5416
5455
  exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
5417
- //# sourceMappingURL=index-BHimg6jW.js.map
5456
+ //# sourceMappingURL=index-CGBB9Dho.js.map