@strapi/content-manager 0.0.0-next.2a1c7a281f8080296033541146ea489dcd441daa → 0.0.0-next.2cc011c888f93c1bfab276c5f709a40fb3fc9aac

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
@@ -36,6 +36,9 @@ const INJECTION_ZONES = {
36
36
  deleteModalAdditionalInfos: [],
37
37
  publishModalAdditionalInfos: [],
38
38
  unpublishModalAdditionalInfos: []
39
+ },
40
+ preview: {
41
+ actions: []
39
42
  }
40
43
  };
41
44
  /**
@@ -1502,7 +1505,7 @@ const checkIfAttributeIsDisplayable = (attribute)=>{
1502
1505
  const { toggleNotification } = useNotification();
1503
1506
  const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
1504
1507
  const { formatMessage } = useIntl();
1505
- const { currentData: data, isLoading: isLoadingDocument, isFetching: isFetchingDocument, error } = useGetDocumentQuery(args, {
1508
+ const { currentData: data, isLoading: isLoadingDocument, isFetching: isFetchingDocument, error, refetch } = useGetDocumentQuery(args, {
1506
1509
  ...opts,
1507
1510
  skip: !args.documentId && args.collectionType !== SINGLE_TYPES || opts?.skip
1508
1511
  });
@@ -1601,7 +1604,8 @@ const checkIfAttributeIsDisplayable = (attribute)=>{
1601
1604
  schemas,
1602
1605
  validate,
1603
1606
  getTitle,
1604
- getInitialFormValues
1607
+ getInitialFormValues,
1608
+ refetch
1605
1609
  };
1606
1610
  };
1607
1611
  /* -------------------------------------------------------------------------------------------------
@@ -1715,7 +1719,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1715
1719
  const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
1716
1720
  const navigate = useNavigate();
1717
1721
  const setCurrentStep = useGuidedTour('useDocumentActions', (state)=>state.setCurrentStep);
1718
- const [deleteDocument] = useDeleteDocumentMutation();
1722
+ const [deleteDocument, { isLoading: isDeleting }] = useDeleteDocumentMutation();
1719
1723
  const _delete = React.useCallback(async ({ collectionType, model, documentId, params }, trackerProperty)=>{
1720
1724
  try {
1721
1725
  trackUsage('willDeleteEntry', trackerProperty);
@@ -1761,7 +1765,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1761
1765
  formatMessage,
1762
1766
  formatAPIError
1763
1767
  ]);
1764
- const [deleteManyDocuments] = useDeleteManyDocumentsMutation();
1768
+ const [deleteManyDocuments, { isLoading: isDeletingMany }] = useDeleteManyDocumentsMutation();
1765
1769
  const deleteMany = React.useCallback(async ({ model, documentIds, params })=>{
1766
1770
  try {
1767
1771
  trackUsage('willBulkDeleteEntries');
@@ -1804,7 +1808,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1804
1808
  formatMessage,
1805
1809
  formatAPIError
1806
1810
  ]);
1807
- const [discardDocument] = useDiscardDocumentMutation();
1811
+ const [discardDocument, { isLoading: isDiscardingDocument }] = useDiscardDocumentMutation();
1808
1812
  const discard = React.useCallback(async ({ collectionType, model, documentId, params })=>{
1809
1813
  try {
1810
1814
  const res = await discardDocument({
@@ -1843,7 +1847,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1843
1847
  formatMessage,
1844
1848
  toggleNotification
1845
1849
  ]);
1846
- const [publishDocument] = usePublishDocumentMutation();
1850
+ const [publishDocument, { isLoading: isPublishing }] = usePublishDocumentMutation();
1847
1851
  const publish = React.useCallback(async ({ collectionType, model, documentId, params }, data)=>{
1848
1852
  try {
1849
1853
  trackUsage('willPublishEntry');
@@ -1886,7 +1890,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1886
1890
  formatMessage,
1887
1891
  formatAPIError
1888
1892
  ]);
1889
- const [publishManyDocuments] = usePublishManyDocumentsMutation();
1893
+ const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();
1890
1894
  const publishMany = React.useCallback(async ({ model, documentIds, params })=>{
1891
1895
  try {
1892
1896
  // TODO Confirm tracking events for bulk publish?
@@ -1926,7 +1930,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1926
1930
  formatMessage,
1927
1931
  formatAPIError
1928
1932
  ]);
1929
- const [updateDocument] = useUpdateDocumentMutation();
1933
+ const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();
1930
1934
  const update = React.useCallback(async ({ collectionType, model, documentId, params }, data, trackerProperty)=>{
1931
1935
  try {
1932
1936
  trackUsage('willEditEntry', trackerProperty);
@@ -2022,7 +2026,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2022
2026
  formatMessage,
2023
2027
  formatAPIError
2024
2028
  ]);
2025
- const [unpublishManyDocuments] = useUnpublishManyDocumentsMutation();
2029
+ const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] = useUnpublishManyDocumentsMutation();
2026
2030
  const unpublishMany = React.useCallback(async ({ model, documentIds, params })=>{
2027
2031
  try {
2028
2032
  trackUsage('willBulkUnpublishEntries');
@@ -2213,6 +2217,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2213
2217
  getDoc
2214
2218
  ]);
2215
2219
  return {
2220
+ isLoading: isPublishing || isUpdating || isDiscardingDocument || isDeleting || isDeletingMany || isUnpublishingMany || isPublishingMany,
2216
2221
  autoClone,
2217
2222
  clone,
2218
2223
  create,
@@ -2228,7 +2233,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2228
2233
  };
2229
2234
  };
2230
2235
 
2231
- const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-C333pgXF.mjs').then((mod)=>({
2236
+ const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-BdsTgpW-.mjs').then((mod)=>({
2232
2237
  default: mod.ProtectedHistoryPage
2233
2238
  })));
2234
2239
  /**
@@ -2244,7 +2249,7 @@ const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-C333
2244
2249
  }
2245
2250
  ];
2246
2251
 
2247
- const ProtectedPreviewPage = /*#__PURE__*/ React.lazy(()=>import('./Preview-BEq0FXda.mjs').then((mod)=>({
2252
+ const ProtectedPreviewPage = /*#__PURE__*/ React.lazy(()=>import('./Preview-Dh5Z7aGp.mjs').then((mod)=>({
2248
2253
  default: mod.ProtectedPreviewPage
2249
2254
  })));
2250
2255
  const routes$1 = [
@@ -2258,25 +2263,25 @@ const routes$1 = [
2258
2263
  }
2259
2264
  ];
2260
2265
 
2261
- const ProtectedEditViewPage = /*#__PURE__*/ lazy(()=>import('./EditViewPage-CYe7wAXF.mjs').then((mod)=>({
2266
+ const ProtectedEditViewPage = /*#__PURE__*/ lazy(()=>import('./EditViewPage-BpGtaOKG.mjs').then((mod)=>({
2262
2267
  default: mod.ProtectedEditViewPage
2263
2268
  })));
2264
- const ProtectedListViewPage = /*#__PURE__*/ lazy(()=>import('./ListViewPage-BDeT3Dkk.mjs').then((mod)=>({
2269
+ const ProtectedListViewPage = /*#__PURE__*/ lazy(()=>import('./ListViewPage-BTmlktgT.mjs').then((mod)=>({
2265
2270
  default: mod.ProtectedListViewPage
2266
2271
  })));
2267
- const ProtectedListConfiguration = /*#__PURE__*/ lazy(()=>import('./ListConfigurationPage-BX2WR7MI.mjs').then((mod)=>({
2272
+ const ProtectedListConfiguration = /*#__PURE__*/ lazy(()=>import('./ListConfigurationPage-38s4e-VJ.mjs').then((mod)=>({
2268
2273
  default: mod.ProtectedListConfiguration
2269
2274
  })));
2270
- const ProtectedEditConfigurationPage = /*#__PURE__*/ lazy(()=>import('./EditConfigurationPage-tMgOELQG.mjs').then((mod)=>({
2275
+ const ProtectedEditConfigurationPage = /*#__PURE__*/ lazy(()=>import('./EditConfigurationPage-CoivzF-x.mjs').then((mod)=>({
2271
2276
  default: mod.ProtectedEditConfigurationPage
2272
2277
  })));
2273
- const ProtectedComponentConfigurationPage = /*#__PURE__*/ lazy(()=>import('./ComponentConfigurationPage-BN2kOtDm.mjs').then((mod)=>({
2278
+ const ProtectedComponentConfigurationPage = /*#__PURE__*/ lazy(()=>import('./ComponentConfigurationPage-DNBN8tI3.mjs').then((mod)=>({
2274
2279
  default: mod.ProtectedComponentConfigurationPage
2275
2280
  })));
2276
- const NoPermissions = /*#__PURE__*/ lazy(()=>import('./NoPermissionsPage-DTe9I47q.mjs').then((mod)=>({
2281
+ const NoPermissions = /*#__PURE__*/ lazy(()=>import('./NoPermissionsPage-lBonAXej.mjs').then((mod)=>({
2277
2282
  default: mod.NoPermissions
2278
2283
  })));
2279
- const NoContentType = /*#__PURE__*/ lazy(()=>import('./NoContentTypePage-9JHYpYVX.mjs').then((mod)=>({
2284
+ const NoContentType = /*#__PURE__*/ lazy(()=>import('./NoContentTypePage-CcyR2i1K.mjs').then((mod)=>({
2280
2285
  default: mod.NoContentType
2281
2286
  })));
2282
2287
  const CollectionTypePages = ()=>{
@@ -2412,6 +2417,7 @@ const DocumentActionButton = (action)=>{
2412
2417
  variant: action.variant || 'default',
2413
2418
  paddingTop: "7px",
2414
2419
  paddingBottom: "7px",
2420
+ loading: action.loading,
2415
2421
  children: action.label
2416
2422
  }),
2417
2423
  action.dialog?.type === 'dialog' ? /*#__PURE__*/ jsx(DocumentActionConfirmDialog, {
@@ -2566,7 +2572,7 @@ const convertActionVariantToIconColor = (variant = 'secondary')=>{
2566
2572
  return 'primary600';
2567
2573
  }
2568
2574
  };
2569
- const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary' })=>{
2575
+ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
2570
2576
  const { formatMessage } = useIntl();
2571
2577
  const handleClose = async ()=>{
2572
2578
  if (onCancel) {
@@ -2607,6 +2613,7 @@ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, cont
2607
2613
  onClick: handleConfirm,
2608
2614
  variant: variant,
2609
2615
  fullWidth: true,
2616
+ loading: loading,
2610
2617
  children: formatMessage({
2611
2618
  id: 'app.components.Button.confirm',
2612
2619
  defaultMessage: 'Confirm'
@@ -2661,7 +2668,7 @@ const transformData = (data)=>{
2661
2668
  };
2662
2669
  /* -------------------------------------------------------------------------------------------------
2663
2670
  * DocumentActionComponents
2664
- * -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document })=>{
2671
+ * -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document, onPreview })=>{
2665
2672
  const { schema } = useDoc();
2666
2673
  const navigate = useNavigate();
2667
2674
  const { toggleNotification } = useNotification();
@@ -2671,7 +2678,7 @@ const transformData = (data)=>{
2671
2678
  const { id } = useParams();
2672
2679
  const { formatMessage } = useIntl();
2673
2680
  const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>canPublish);
2674
- const { publish } = useDocumentActions();
2681
+ const { publish, isLoading } = useDocumentActions();
2675
2682
  const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
2676
2683
  const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React.useState(0);
2677
2684
  const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React.useState(0);
@@ -2807,6 +2814,9 @@ const transformData = (data)=>{
2807
2814
  }
2808
2815
  } finally{
2809
2816
  setSubmitting(false);
2817
+ if (onPreview) {
2818
+ onPreview();
2819
+ }
2810
2820
  }
2811
2821
  };
2812
2822
  const totalDraftRelations = localCountOfDraftRelations + serverCountOfDraftRelations;
@@ -2815,6 +2825,11 @@ const transformData = (data)=>{
2815
2825
  const enableDraftRelationsCount = false;
2816
2826
  const hasDraftRelations = enableDraftRelationsCount;
2817
2827
  return {
2828
+ loading: isLoading,
2829
+ position: [
2830
+ 'panel',
2831
+ 'preview'
2832
+ ],
2818
2833
  /**
2819
2834
  * Disabled when:
2820
2835
  * - currently if you're cloning a document we don't support publish & clone at the same time.
@@ -2852,15 +2867,18 @@ const transformData = (data)=>{
2852
2867
  };
2853
2868
  };
2854
2869
  PublishAction$1.type = 'publish';
2855
- PublishAction$1.position = 'panel';
2856
- const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2870
+ PublishAction$1.position = [
2871
+ 'panel',
2872
+ 'preview'
2873
+ ];
2874
+ const UpdateAction = ({ activeTab, documentId, model, collectionType, onPreview })=>{
2857
2875
  const navigate = useNavigate();
2858
2876
  const { toggleNotification } = useNotification();
2859
2877
  const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
2860
2878
  const cloneMatch = useMatch(CLONE_PATH);
2861
2879
  const isCloning = cloneMatch !== null;
2862
2880
  const { formatMessage } = useIntl();
2863
- const { create, update, clone } = useDocumentActions();
2881
+ const { create, update, clone, isLoading } = useDocumentActions();
2864
2882
  const [{ query, rawQuery }] = useQueryParams();
2865
2883
  const params = React.useMemo(()=>buildValidParams(query), [
2866
2884
  query
@@ -2938,6 +2956,9 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2938
2956
  }
2939
2957
  } finally{
2940
2958
  setSubmitting(false);
2959
+ if (onPreview) {
2960
+ onPreview();
2961
+ }
2941
2962
  }
2942
2963
  }, [
2943
2964
  clone,
@@ -2977,6 +2998,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2977
2998
  handleUpdate
2978
2999
  ]);
2979
3000
  return {
3001
+ loading: isLoading,
2980
3002
  /**
2981
3003
  * Disabled when:
2982
3004
  * - the form is submitting
@@ -2987,11 +3009,18 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2987
3009
  id: 'global.save',
2988
3010
  defaultMessage: 'Save'
2989
3011
  }),
2990
- onClick: handleUpdate
3012
+ onClick: handleUpdate,
3013
+ position: [
3014
+ 'panel',
3015
+ 'preview'
3016
+ ]
2991
3017
  };
2992
3018
  };
2993
3019
  UpdateAction.type = 'update';
2994
- UpdateAction.position = 'panel';
3020
+ UpdateAction.position = [
3021
+ 'panel',
3022
+ 'preview'
3023
+ ];
2995
3024
  const UNPUBLISH_DRAFT_OPTIONS = {
2996
3025
  KEEP: 'keep',
2997
3026
  DISCARD: 'discard'
@@ -3141,7 +3170,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
3141
3170
  const { formatMessage } = useIntl();
3142
3171
  const { schema } = useDoc();
3143
3172
  const canUpdate = useDocumentRBAC('DiscardAction', ({ canUpdate })=>canUpdate);
3144
- const { discard } = useDocumentActions();
3173
+ const { discard, isLoading } = useDocumentActions();
3145
3174
  const [{ query }] = useQueryParams();
3146
3175
  const params = React.useMemo(()=>buildValidParams(query), [
3147
3176
  query
@@ -3187,6 +3216,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
3187
3216
  })
3188
3217
  ]
3189
3218
  }),
3219
+ loading: isLoading,
3190
3220
  onConfirm: async ()=>{
3191
3221
  await discard({
3192
3222
  collectionType,
@@ -3281,10 +3311,13 @@ const capitalise = (str)=>str.charAt(0).toUpperCase() + str.slice(1);
3281
3311
  ...restProps,
3282
3312
  size: size,
3283
3313
  variant: statusVariant,
3314
+ role: "status",
3315
+ "aria-labelledby": "document-status",
3284
3316
  children: /*#__PURE__*/ jsx(Typography, {
3285
3317
  tag: "span",
3286
3318
  variant: "omega",
3287
3319
  fontWeight: "bold",
3320
+ id: "document-status",
3288
3321
  children: formatMessage({
3289
3322
  id: `content-manager.containers.List.${status}`,
3290
3323
  defaultMessage: capitalise(status)
@@ -3623,7 +3656,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
3623
3656
  const { formatMessage } = useIntl();
3624
3657
  const listViewPathMatch = useMatch(LIST_PATH);
3625
3658
  const canDelete = useDocumentRBAC('DeleteAction', (state)=>state.canDelete);
3626
- const { delete: deleteAction } = useDocumentActions();
3659
+ const { delete: deleteAction, isLoading } = useDocumentActions();
3627
3660
  const { toggleNotification } = useNotification();
3628
3661
  const setSubmitting = useForm('DeleteAction', (state)=>state.setSubmitting);
3629
3662
  const isLocalized = document?.locale != null;
@@ -3662,6 +3695,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
3662
3695
  })
3663
3696
  ]
3664
3697
  }),
3698
+ loading: isLoading,
3665
3699
  onConfirm: async ()=>{
3666
3700
  /**
3667
3701
  * If we have a match, we're in the list view
@@ -4343,7 +4377,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4343
4377
  schema
4344
4378
  ]);
4345
4379
  const [isDialogOpen, setIsDialogOpen] = React.useState(false);
4346
- const { publishMany: bulkPublishAction } = useDocumentActions();
4380
+ const { publishMany: bulkPublishAction, isLoading: isPublishing } = useDocumentActions();
4347
4381
  const [, { isLoading: isSubmittingForm }] = usePublishManyDocumentsMutation();
4348
4382
  const selectedRows = useTable('publishAction', (state)=>state.selectedRows);
4349
4383
  // Filter selected entries from the updated modal table rows
@@ -4415,7 +4449,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4415
4449
  /*#__PURE__*/ jsx(Button, {
4416
4450
  onClick: toggleDialog,
4417
4451
  disabled: selectedEntries.length === 0 || selectedEntries.length === selectedEntriesWithErrorsCount || selectedEntriesPublishedCount === selectedEntries.length || isLoading,
4418
- loading: isSubmittingForm,
4452
+ loading: isPublishing || isSubmittingForm,
4419
4453
  children: formatMessage({
4420
4454
  id: 'app.utils.publish',
4421
4455
  defaultMessage: 'Publish'
@@ -4428,7 +4462,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4428
4462
  /*#__PURE__*/ jsx(ConfirmDialogPublishAll, {
4429
4463
  isOpen: isDialogOpen,
4430
4464
  onToggleDialog: toggleDialog,
4431
- isConfirmButtonLoading: isSubmittingForm,
4465
+ isConfirmButtonLoading: isPublishing || isSubmittingForm,
4432
4466
  onConfirm: handleConfirmBulkPublish
4433
4467
  })
4434
4468
  ]
@@ -4520,7 +4554,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4520
4554
  query
4521
4555
  ]);
4522
4556
  const hasDeletePermission = useDocumentRBAC('deleteAction', (state)=>state.canDelete);
4523
- const { deleteMany: bulkDeleteAction } = useDocumentActions();
4557
+ const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();
4524
4558
  const documentIds = documents.map(({ documentId })=>documentId);
4525
4559
  const handleConfirmBulkDelete = async ()=>{
4526
4560
  const res = await bulkDeleteAction({
@@ -4545,6 +4579,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4545
4579
  id: 'app.components.ConfirmDialog.title',
4546
4580
  defaultMessage: 'Confirmation'
4547
4581
  }),
4582
+ loading: isLoading,
4548
4583
  content: /*#__PURE__*/ jsxs(Flex, {
4549
4584
  direction: "column",
4550
4585
  alignItems: "stretch",
@@ -4593,7 +4628,7 @@ const UnpublishAction = ({ documents, model })=>{
4593
4628
  const hasPublishPermission = useDocumentRBAC('unpublishAction', (state)=>state.canPublish);
4594
4629
  const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);
4595
4630
  const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);
4596
- const { unpublishMany: bulkUnpublishAction } = useDocumentActions();
4631
+ const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();
4597
4632
  const documentIds = documents.map(({ documentId })=>documentId);
4598
4633
  const [{ query }] = useQueryParams();
4599
4634
  const params = React.useMemo(()=>buildValidParams(query), [
@@ -4623,6 +4658,7 @@ const UnpublishAction = ({ documents, model })=>{
4623
4658
  id: 'app.components.ConfirmDialog.title',
4624
4659
  defaultMessage: 'Confirmation'
4625
4660
  }),
4661
+ loading: isLoading,
4626
4662
  content: /*#__PURE__*/ jsxs(Flex, {
4627
4663
  direction: "column",
4628
4664
  alignItems: "stretch",
@@ -5004,9 +5040,11 @@ const DEFAULT_TABLE_ROW_ACTIONS = [
5004
5040
  * The response should still be filtered by the position, as the static property is new
5005
5041
  * and not mandatory to avoid a breaking change.
5006
5042
  */ if (position) {
5007
- return this.documentActions.filter((action)=>action.position == undefined || [
5043
+ return this.documentActions.filter((action)=>{
5044
+ return action.position == undefined || [
5008
5045
  action.position
5009
- ].flat().includes(position));
5046
+ ].flat().includes(position);
5047
+ });
5010
5048
  }
5011
5049
  return this.documentActions;
5012
5050
  },
@@ -5258,7 +5296,7 @@ function __variableDynamicImportRuntime1__(path) {
5258
5296
  case './translations/ca.json': return import('./ca-DviY7mRj.mjs');
5259
5297
  case './translations/cs.json': return import('./cs-C7OSYFQ7.mjs');
5260
5298
  case './translations/de.json': return import('./de-5QRlDHyR.mjs');
5261
- case './translations/en.json': return import('./en-LfhocNG2.mjs');
5299
+ case './translations/en.json': return import('./en-CImiNxXE.mjs');
5262
5300
  case './translations/es.json': return import('./es-DkoWSExG.mjs');
5263
5301
  case './translations/eu.json': return import('./eu-BG1xX7HK.mjs');
5264
5302
  case './translations/fr.json': return import('./fr-CFdRaRVj.mjs');
@@ -5281,7 +5319,7 @@ function __variableDynamicImportRuntime1__(path) {
5281
5319
  case './translations/sv.json': return import('./sv-cq4ZrQRd.mjs');
5282
5320
  case './translations/th.json': return import('./th-mUH7hEtc.mjs');
5283
5321
  case './translations/tr.json': return import('./tr-Yt38daxh.mjs');
5284
- case './translations/uk.json': return import('./uk-Cpgmm7gE.mjs');
5322
+ case './translations/uk.json': return import('./uk-BtM6WnaE.mjs');
5285
5323
  case './translations/vi.json': return import('./vi-CvBGlTjr.mjs');
5286
5324
  case './translations/zh-Hans.json': return import('./zh-Hans-CI0HKio3.mjs');
5287
5325
  case './translations/zh.json': return import('./zh-BmF-sHaT.mjs');
@@ -5312,7 +5350,7 @@ var index = {
5312
5350
  app.router.addRoute({
5313
5351
  path: 'content-manager/*',
5314
5352
  lazy: async ()=>{
5315
- const { Layout } = await import('./layout-DStNia_P.mjs');
5353
+ const { Layout } = await import('./layout-D8ji6QNJ.mjs');
5316
5354
  return {
5317
5355
  Component: Layout
5318
5356
  };
@@ -5347,5 +5385,5 @@ var index = {
5347
5385
  }
5348
5386
  };
5349
5387
 
5350
- export { useUpdateContentTypeConfigurationMutation as A, BulkActionsRenderer as B, COLLECTION_TYPES as C, DocumentStatus as D, ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD as E, extractContentTypeComponents as F, DEFAULT_SETTINGS as G, HOOKS as H, InjectionZone as I, convertEditLayoutToFieldLayouts as J, removeFieldsThatDontExistOnSchema as K, prepareTempKeys as L, useDocument as M, useGetPreviewUrlQuery as N, index as O, Panels as P, useContentManagerContext as Q, RelativeTime as R, SINGLE_TYPES as S, TableActions as T, useDocumentActions as U, useGetInitialDataQuery as a, useGetAllContentTypeSettingsQuery as b, useDoc as c, buildValidParams as d, contentManagerApi as e, useDocumentRBAC as f, getTranslation as g, useDocumentLayout as h, createYupSchema as i, Header as j, PERMISSIONS as k, DocumentRBAC as l, useDocLayout as m, createDefaultForm as n, CLONE_PATH as o, useGetContentTypeConfigurationQuery as p, CREATOR_FIELDS as q, getMainField as r, setInitialData as s, transformDocument as t, useContentTypeSchema as u, getDisplayName as v, checkIfAttributeIsDisplayable as w, useGetAllDocumentsQuery as x, convertListLayoutToFieldLayouts as y, capitalise as z };
5351
- //# sourceMappingURL=index-Cs6qwFQu.mjs.map
5388
+ export { useUpdateContentTypeConfigurationMutation as A, BulkActionsRenderer as B, COLLECTION_TYPES as C, DocumentStatus as D, ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD as E, extractContentTypeComponents as F, DEFAULT_SETTINGS as G, HOOKS as H, InjectionZone as I, convertEditLayoutToFieldLayouts as J, removeFieldsThatDontExistOnSchema as K, prepareTempKeys as L, useDocument as M, DocumentActionButton as N, useGetPreviewUrlQuery as O, Panels as P, index as Q, RelativeTime as R, SINGLE_TYPES as S, TableActions as T, useContentManagerContext as U, useDocumentActions as V, useGetInitialDataQuery as a, useGetAllContentTypeSettingsQuery as b, useDoc as c, buildValidParams as d, contentManagerApi as e, useDocumentRBAC as f, getTranslation as g, useDocumentLayout as h, createYupSchema as i, Header as j, PERMISSIONS as k, DocumentRBAC as l, useDocLayout as m, createDefaultForm as n, CLONE_PATH as o, useGetContentTypeConfigurationQuery as p, CREATOR_FIELDS as q, getMainField as r, setInitialData as s, transformDocument as t, useContentTypeSchema as u, getDisplayName as v, checkIfAttributeIsDisplayable as w, useGetAllDocumentsQuery as x, convertListLayoutToFieldLayouts as y, capitalise as z };
5389
+ //# sourceMappingURL=index-BkM_Z7pU.mjs.map