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

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 (97) hide show
  1. package/dist/admin/chunks/{ComponentConfigurationPage-C5H-5L1u.js → ComponentConfigurationPage-C6-yVoE3.js} +3 -3
  2. package/dist/admin/chunks/{ComponentConfigurationPage-C5H-5L1u.js.map → ComponentConfigurationPage-C6-yVoE3.js.map} +1 -1
  3. package/dist/admin/chunks/{ComponentConfigurationPage-BN2kOtDm.mjs → ComponentConfigurationPage-DuN0XVMW.mjs} +3 -3
  4. package/dist/admin/chunks/{ComponentConfigurationPage-BN2kOtDm.mjs.map → ComponentConfigurationPage-DuN0XVMW.mjs.map} +1 -1
  5. package/dist/admin/chunks/{EditConfigurationPage-BExtZuB7.js → EditConfigurationPage-CGLkm6-l.js} +3 -3
  6. package/dist/admin/chunks/{EditConfigurationPage-BExtZuB7.js.map → EditConfigurationPage-CGLkm6-l.js.map} +1 -1
  7. package/dist/admin/chunks/{EditConfigurationPage-tMgOELQG.mjs → EditConfigurationPage-dMHIBbF1.mjs} +3 -3
  8. package/dist/admin/chunks/{EditConfigurationPage-tMgOELQG.mjs.map → EditConfigurationPage-dMHIBbF1.mjs.map} +1 -1
  9. package/dist/admin/chunks/{EditViewPage-CYe7wAXF.mjs → EditViewPage-C6t9zIMh.mjs} +6 -9
  10. package/dist/admin/chunks/EditViewPage-C6t9zIMh.mjs.map +1 -0
  11. package/dist/admin/chunks/{EditViewPage-DFkloeMZ.js → EditViewPage-DXT_1NHv.js} +6 -9
  12. package/dist/admin/chunks/EditViewPage-DXT_1NHv.js.map +1 -0
  13. package/dist/admin/chunks/{Form-DTO0ZIaB.mjs → Form-CYwwV0U-.mjs} +2 -2
  14. package/dist/admin/chunks/{Form-DTO0ZIaB.mjs.map → Form-CYwwV0U-.mjs.map} +1 -1
  15. package/dist/admin/chunks/{Form-DGUP3zQO.js → Form-D7GCEkaE.js} +2 -2
  16. package/dist/admin/chunks/{Form-DGUP3zQO.js.map → Form-D7GCEkaE.js.map} +1 -1
  17. package/dist/admin/chunks/{History-C333pgXF.mjs → History-CZ9Cnw23.mjs} +5 -5
  18. package/dist/admin/chunks/{History-C333pgXF.mjs.map → History-CZ9Cnw23.mjs.map} +1 -1
  19. package/dist/admin/chunks/{History-CQznK1pG.js → History-CZP7hLUV.js} +5 -5
  20. package/dist/admin/chunks/{History-CQznK1pG.js.map → History-CZP7hLUV.js.map} +1 -1
  21. package/dist/admin/chunks/{Input-BexkC_pp.mjs → Input-BR5JpzSp.mjs} +5 -11
  22. package/dist/admin/chunks/Input-BR5JpzSp.mjs.map +1 -0
  23. package/dist/admin/chunks/{Input-DLJZHw9Y.js → Input-ZnF7wer5.js} +5 -11
  24. package/dist/admin/chunks/Input-ZnF7wer5.js.map +1 -0
  25. package/dist/admin/chunks/{ListConfigurationPage-BX2WR7MI.mjs → ListConfigurationPage-CSHB8jY5.mjs} +2 -2
  26. package/dist/admin/chunks/{ListConfigurationPage-BX2WR7MI.mjs.map → ListConfigurationPage-CSHB8jY5.mjs.map} +1 -1
  27. package/dist/admin/chunks/{ListConfigurationPage-71I_stAM.js → ListConfigurationPage-DqDJ3esz.js} +2 -2
  28. package/dist/admin/chunks/{ListConfigurationPage-71I_stAM.js.map → ListConfigurationPage-DqDJ3esz.js.map} +1 -1
  29. package/dist/admin/chunks/{ListViewPage-BDeT3Dkk.mjs → ListViewPage-o7MuKWe7.mjs} +3 -3
  30. package/dist/admin/chunks/{ListViewPage-BDeT3Dkk.mjs.map → ListViewPage-o7MuKWe7.mjs.map} +1 -1
  31. package/dist/admin/chunks/{ListViewPage-DV3heO4F.js → ListViewPage-uGHyqfkp.js} +3 -3
  32. package/dist/admin/chunks/{ListViewPage-DV3heO4F.js.map → ListViewPage-uGHyqfkp.js.map} +1 -1
  33. package/dist/admin/chunks/{NoContentTypePage-COih9y2J.js → NoContentTypePage-CJTJmAcN.js} +2 -2
  34. package/dist/admin/chunks/{NoContentTypePage-COih9y2J.js.map → NoContentTypePage-CJTJmAcN.js.map} +1 -1
  35. package/dist/admin/chunks/{NoContentTypePage-9JHYpYVX.mjs → NoContentTypePage-Ci7qKVSj.mjs} +2 -2
  36. package/dist/admin/chunks/{NoContentTypePage-9JHYpYVX.mjs.map → NoContentTypePage-Ci7qKVSj.mjs.map} +1 -1
  37. package/dist/admin/chunks/{NoPermissionsPage-DGAwRIlN.js → NoPermissionsPage-C_oTwBmY.js} +2 -2
  38. package/dist/admin/chunks/{NoPermissionsPage-DGAwRIlN.js.map → NoPermissionsPage-C_oTwBmY.js.map} +1 -1
  39. package/dist/admin/chunks/{NoPermissionsPage-DTe9I47q.mjs → NoPermissionsPage-DgYW5cC4.mjs} +2 -2
  40. package/dist/admin/chunks/{NoPermissionsPage-DTe9I47q.mjs.map → NoPermissionsPage-DgYW5cC4.mjs.map} +1 -1
  41. package/dist/admin/chunks/{Preview-BEq0FXda.mjs → Preview-BIEc2-KZ.mjs} +231 -104
  42. package/dist/admin/chunks/Preview-BIEc2-KZ.mjs.map +1 -0
  43. package/dist/admin/chunks/{Preview-CXtc9yEV.js → Preview-DFV3Bgia.js} +227 -100
  44. package/dist/admin/chunks/Preview-DFV3Bgia.js.map +1 -0
  45. package/dist/admin/chunks/{Relations-qeZyLDgQ.mjs → Relations-B6iGFlMU.mjs} +6 -470
  46. package/dist/admin/chunks/Relations-B6iGFlMU.mjs.map +1 -0
  47. package/dist/admin/chunks/{Relations-o7_hVGyK.js → Relations-BhhL2fE7.js} +4 -469
  48. package/dist/admin/chunks/Relations-BhhL2fE7.js.map +1 -0
  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-BHimg6jW.js → index-BHsh5hLe.js} +92 -43
  54. package/dist/admin/chunks/index-BHsh5hLe.js.map +1 -0
  55. package/dist/admin/chunks/{index-Cs6qwFQu.mjs → index-D_xHP7Sa.mjs} +92 -44
  56. package/dist/admin/chunks/index-D_xHP7Sa.mjs.map +1 -0
  57. package/dist/admin/chunks/{layout-Dtahn4Ue.js → layout-C3DUumtc.js} +4 -4
  58. package/dist/admin/chunks/{layout-Dtahn4Ue.js.map → layout-C3DUumtc.js.map} +1 -1
  59. package/dist/admin/chunks/{layout-DStNia_P.mjs → layout-Dp806Nqc.mjs} +4 -4
  60. package/dist/admin/chunks/{layout-DStNia_P.mjs.map → layout-Dp806Nqc.mjs.map} +1 -1
  61. package/dist/admin/chunks/{relations-Cq8NRUto.mjs → relations-ksVp_JdY.mjs} +2 -2
  62. package/dist/admin/chunks/{relations-Cq8NRUto.mjs.map → relations-ksVp_JdY.mjs.map} +1 -1
  63. package/dist/admin/chunks/{relations-XOYEEqMz.js → relations-yfvNHWQO.js} +2 -2
  64. package/dist/admin/chunks/{relations-XOYEEqMz.js.map → relations-yfvNHWQO.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/pages/EditView/components/FormInputs/Relations.d.ts +1 -2
  77. package/dist/admin/src/preview/components/PreviewContent.d.ts +1 -2
  78. package/dist/admin/src/preview/pages/Preview.d.ts +2 -0
  79. package/dist/server/index.js +1 -1
  80. package/dist/server/index.js.map +1 -1
  81. package/dist/server/index.mjs +1 -1
  82. package/dist/server/index.mjs.map +1 -1
  83. package/package.json +8 -8
  84. package/dist/admin/chunks/EditViewPage-CYe7wAXF.mjs.map +0 -1
  85. package/dist/admin/chunks/EditViewPage-DFkloeMZ.js.map +0 -1
  86. package/dist/admin/chunks/Input-BexkC_pp.mjs.map +0 -1
  87. package/dist/admin/chunks/Input-DLJZHw9Y.js.map +0 -1
  88. package/dist/admin/chunks/Preview-BEq0FXda.mjs.map +0 -1
  89. package/dist/admin/chunks/Preview-CXtc9yEV.js.map +0 -1
  90. package/dist/admin/chunks/Relations-o7_hVGyK.js.map +0 -1
  91. package/dist/admin/chunks/Relations-qeZyLDgQ.mjs.map +0 -1
  92. package/dist/admin/chunks/index-BHimg6jW.js.map +0 -1
  93. package/dist/admin/chunks/index-Cs6qwFQu.mjs.map +0 -1
  94. package/dist/admin/chunks/uk-B24MoTVg.js +0 -145
  95. package/dist/admin/chunks/uk-B24MoTVg.js.map +0 -1
  96. package/dist/admin/chunks/uk-Cpgmm7gE.mjs +0 -140
  97. 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,10 +1847,12 @@ 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
- trackUsage('willPublishEntry');
1853
+ trackUsage('willPublishEntry', {
1854
+ documentId
1855
+ });
1850
1856
  const res = await publishDocument({
1851
1857
  collectionType,
1852
1858
  model,
@@ -1863,7 +1869,9 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1863
1869
  error: res.error
1864
1870
  };
1865
1871
  }
1866
- trackUsage('didPublishEntry');
1872
+ trackUsage('didPublishEntry', {
1873
+ documentId
1874
+ });
1867
1875
  toggleNotification({
1868
1876
  type: 'success',
1869
1877
  message: formatMessage({
@@ -1886,7 +1894,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1886
1894
  formatMessage,
1887
1895
  formatAPIError
1888
1896
  ]);
1889
- const [publishManyDocuments] = usePublishManyDocumentsMutation();
1897
+ const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();
1890
1898
  const publishMany = React.useCallback(async ({ model, documentIds, params })=>{
1891
1899
  try {
1892
1900
  // TODO Confirm tracking events for bulk publish?
@@ -1926,7 +1934,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1926
1934
  formatMessage,
1927
1935
  formatAPIError
1928
1936
  ]);
1929
- const [updateDocument] = useUpdateDocumentMutation();
1937
+ const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();
1930
1938
  const update = React.useCallback(async ({ collectionType, model, documentId, params }, data, trackerProperty)=>{
1931
1939
  try {
1932
1940
  trackUsage('willEditEntry', trackerProperty);
@@ -1950,7 +1958,10 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1950
1958
  error: res.error
1951
1959
  };
1952
1960
  }
1953
- trackUsage('didEditEntry', trackerProperty);
1961
+ trackUsage('didEditEntry', {
1962
+ ...trackerProperty,
1963
+ documentId: res.data.data.documentId
1964
+ });
1954
1965
  toggleNotification({
1955
1966
  type: 'success',
1956
1967
  message: formatMessage({
@@ -2022,7 +2033,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2022
2033
  formatMessage,
2023
2034
  formatAPIError
2024
2035
  ]);
2025
- const [unpublishManyDocuments] = useUnpublishManyDocumentsMutation();
2036
+ const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] = useUnpublishManyDocumentsMutation();
2026
2037
  const unpublishMany = React.useCallback(async ({ model, documentIds, params })=>{
2027
2038
  try {
2028
2039
  trackUsage('willBulkUnpublishEntries');
@@ -2086,7 +2097,10 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2086
2097
  error: res.error
2087
2098
  };
2088
2099
  }
2089
- trackUsage('didCreateEntry', trackerProperty);
2100
+ trackUsage('didCreateEntry', {
2101
+ ...trackerProperty,
2102
+ documentId: res.data.data.documentId
2103
+ });
2090
2104
  toggleNotification({
2091
2105
  type: 'success',
2092
2106
  message: formatMessage({
@@ -2213,6 +2227,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2213
2227
  getDoc
2214
2228
  ]);
2215
2229
  return {
2230
+ isLoading: isPublishing || isUpdating || isDiscardingDocument || isDeleting || isDeletingMany || isUnpublishingMany || isPublishingMany,
2216
2231
  autoClone,
2217
2232
  clone,
2218
2233
  create,
@@ -2228,7 +2243,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2228
2243
  };
2229
2244
  };
2230
2245
 
2231
- const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-C333pgXF.mjs').then((mod)=>({
2246
+ const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-CZ9Cnw23.mjs').then((mod)=>({
2232
2247
  default: mod.ProtectedHistoryPage
2233
2248
  })));
2234
2249
  /**
@@ -2244,7 +2259,7 @@ const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-C333
2244
2259
  }
2245
2260
  ];
2246
2261
 
2247
- const ProtectedPreviewPage = /*#__PURE__*/ React.lazy(()=>import('./Preview-BEq0FXda.mjs').then((mod)=>({
2262
+ const ProtectedPreviewPage = /*#__PURE__*/ React.lazy(()=>import('./Preview-BIEc2-KZ.mjs').then((mod)=>({
2248
2263
  default: mod.ProtectedPreviewPage
2249
2264
  })));
2250
2265
  const routes$1 = [
@@ -2258,25 +2273,25 @@ const routes$1 = [
2258
2273
  }
2259
2274
  ];
2260
2275
 
2261
- const ProtectedEditViewPage = /*#__PURE__*/ lazy(()=>import('./EditViewPage-CYe7wAXF.mjs').then((mod)=>({
2276
+ const ProtectedEditViewPage = /*#__PURE__*/ lazy(()=>import('./EditViewPage-C6t9zIMh.mjs').then((mod)=>({
2262
2277
  default: mod.ProtectedEditViewPage
2263
2278
  })));
2264
- const ProtectedListViewPage = /*#__PURE__*/ lazy(()=>import('./ListViewPage-BDeT3Dkk.mjs').then((mod)=>({
2279
+ const ProtectedListViewPage = /*#__PURE__*/ lazy(()=>import('./ListViewPage-o7MuKWe7.mjs').then((mod)=>({
2265
2280
  default: mod.ProtectedListViewPage
2266
2281
  })));
2267
- const ProtectedListConfiguration = /*#__PURE__*/ lazy(()=>import('./ListConfigurationPage-BX2WR7MI.mjs').then((mod)=>({
2282
+ const ProtectedListConfiguration = /*#__PURE__*/ lazy(()=>import('./ListConfigurationPage-CSHB8jY5.mjs').then((mod)=>({
2268
2283
  default: mod.ProtectedListConfiguration
2269
2284
  })));
2270
- const ProtectedEditConfigurationPage = /*#__PURE__*/ lazy(()=>import('./EditConfigurationPage-tMgOELQG.mjs').then((mod)=>({
2285
+ const ProtectedEditConfigurationPage = /*#__PURE__*/ lazy(()=>import('./EditConfigurationPage-dMHIBbF1.mjs').then((mod)=>({
2271
2286
  default: mod.ProtectedEditConfigurationPage
2272
2287
  })));
2273
- const ProtectedComponentConfigurationPage = /*#__PURE__*/ lazy(()=>import('./ComponentConfigurationPage-BN2kOtDm.mjs').then((mod)=>({
2288
+ const ProtectedComponentConfigurationPage = /*#__PURE__*/ lazy(()=>import('./ComponentConfigurationPage-DuN0XVMW.mjs').then((mod)=>({
2274
2289
  default: mod.ProtectedComponentConfigurationPage
2275
2290
  })));
2276
- const NoPermissions = /*#__PURE__*/ lazy(()=>import('./NoPermissionsPage-DTe9I47q.mjs').then((mod)=>({
2291
+ const NoPermissions = /*#__PURE__*/ lazy(()=>import('./NoPermissionsPage-DgYW5cC4.mjs').then((mod)=>({
2277
2292
  default: mod.NoPermissions
2278
2293
  })));
2279
- const NoContentType = /*#__PURE__*/ lazy(()=>import('./NoContentTypePage-9JHYpYVX.mjs').then((mod)=>({
2294
+ const NoContentType = /*#__PURE__*/ lazy(()=>import('./NoContentTypePage-Ci7qKVSj.mjs').then((mod)=>({
2280
2295
  default: mod.NoContentType
2281
2296
  })));
2282
2297
  const CollectionTypePages = ()=>{
@@ -2412,6 +2427,7 @@ const DocumentActionButton = (action)=>{
2412
2427
  variant: action.variant || 'default',
2413
2428
  paddingTop: "7px",
2414
2429
  paddingBottom: "7px",
2430
+ loading: action.loading,
2415
2431
  children: action.label
2416
2432
  }),
2417
2433
  action.dialog?.type === 'dialog' ? /*#__PURE__*/ jsx(DocumentActionConfirmDialog, {
@@ -2566,7 +2582,7 @@ const convertActionVariantToIconColor = (variant = 'secondary')=>{
2566
2582
  return 'primary600';
2567
2583
  }
2568
2584
  };
2569
- const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary' })=>{
2585
+ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
2570
2586
  const { formatMessage } = useIntl();
2571
2587
  const handleClose = async ()=>{
2572
2588
  if (onCancel) {
@@ -2607,6 +2623,7 @@ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, cont
2607
2623
  onClick: handleConfirm,
2608
2624
  variant: variant,
2609
2625
  fullWidth: true,
2626
+ loading: loading,
2610
2627
  children: formatMessage({
2611
2628
  id: 'app.components.Button.confirm',
2612
2629
  defaultMessage: 'Confirm'
@@ -2661,7 +2678,7 @@ const transformData = (data)=>{
2661
2678
  };
2662
2679
  /* -------------------------------------------------------------------------------------------------
2663
2680
  * DocumentActionComponents
2664
- * -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document })=>{
2681
+ * -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document, onPreview })=>{
2665
2682
  const { schema } = useDoc();
2666
2683
  const navigate = useNavigate();
2667
2684
  const { toggleNotification } = useNotification();
@@ -2671,7 +2688,7 @@ const transformData = (data)=>{
2671
2688
  const { id } = useParams();
2672
2689
  const { formatMessage } = useIntl();
2673
2690
  const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>canPublish);
2674
- const { publish } = useDocumentActions();
2691
+ const { publish, isLoading } = useDocumentActions();
2675
2692
  const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
2676
2693
  const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React.useState(0);
2677
2694
  const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React.useState(0);
@@ -2807,6 +2824,9 @@ const transformData = (data)=>{
2807
2824
  }
2808
2825
  } finally{
2809
2826
  setSubmitting(false);
2827
+ if (onPreview) {
2828
+ onPreview();
2829
+ }
2810
2830
  }
2811
2831
  };
2812
2832
  const totalDraftRelations = localCountOfDraftRelations + serverCountOfDraftRelations;
@@ -2815,6 +2835,11 @@ const transformData = (data)=>{
2815
2835
  const enableDraftRelationsCount = false;
2816
2836
  const hasDraftRelations = enableDraftRelationsCount;
2817
2837
  return {
2838
+ loading: isLoading,
2839
+ position: [
2840
+ 'panel',
2841
+ 'preview'
2842
+ ],
2818
2843
  /**
2819
2844
  * Disabled when:
2820
2845
  * - currently if you're cloning a document we don't support publish & clone at the same time.
@@ -2852,15 +2877,18 @@ const transformData = (data)=>{
2852
2877
  };
2853
2878
  };
2854
2879
  PublishAction$1.type = 'publish';
2855
- PublishAction$1.position = 'panel';
2856
- const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2880
+ PublishAction$1.position = [
2881
+ 'panel',
2882
+ 'preview'
2883
+ ];
2884
+ const UpdateAction = ({ activeTab, documentId, model, collectionType, onPreview })=>{
2857
2885
  const navigate = useNavigate();
2858
2886
  const { toggleNotification } = useNotification();
2859
2887
  const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
2860
2888
  const cloneMatch = useMatch(CLONE_PATH);
2861
2889
  const isCloning = cloneMatch !== null;
2862
2890
  const { formatMessage } = useIntl();
2863
- const { create, update, clone } = useDocumentActions();
2891
+ const { create, update, clone, isLoading } = useDocumentActions();
2864
2892
  const [{ query, rawQuery }] = useQueryParams();
2865
2893
  const params = React.useMemo(()=>buildValidParams(query), [
2866
2894
  query
@@ -2938,6 +2966,9 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2938
2966
  }
2939
2967
  } finally{
2940
2968
  setSubmitting(false);
2969
+ if (onPreview) {
2970
+ onPreview();
2971
+ }
2941
2972
  }
2942
2973
  }, [
2943
2974
  clone,
@@ -2977,6 +3008,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2977
3008
  handleUpdate
2978
3009
  ]);
2979
3010
  return {
3011
+ loading: isLoading,
2980
3012
  /**
2981
3013
  * Disabled when:
2982
3014
  * - the form is submitting
@@ -2987,11 +3019,18 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2987
3019
  id: 'global.save',
2988
3020
  defaultMessage: 'Save'
2989
3021
  }),
2990
- onClick: handleUpdate
3022
+ onClick: handleUpdate,
3023
+ position: [
3024
+ 'panel',
3025
+ 'preview'
3026
+ ]
2991
3027
  };
2992
3028
  };
2993
3029
  UpdateAction.type = 'update';
2994
- UpdateAction.position = 'panel';
3030
+ UpdateAction.position = [
3031
+ 'panel',
3032
+ 'preview'
3033
+ ];
2995
3034
  const UNPUBLISH_DRAFT_OPTIONS = {
2996
3035
  KEEP: 'keep',
2997
3036
  DISCARD: 'discard'
@@ -3141,7 +3180,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
3141
3180
  const { formatMessage } = useIntl();
3142
3181
  const { schema } = useDoc();
3143
3182
  const canUpdate = useDocumentRBAC('DiscardAction', ({ canUpdate })=>canUpdate);
3144
- const { discard } = useDocumentActions();
3183
+ const { discard, isLoading } = useDocumentActions();
3145
3184
  const [{ query }] = useQueryParams();
3146
3185
  const params = React.useMemo(()=>buildValidParams(query), [
3147
3186
  query
@@ -3187,6 +3226,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
3187
3226
  })
3188
3227
  ]
3189
3228
  }),
3229
+ loading: isLoading,
3190
3230
  onConfirm: async ()=>{
3191
3231
  await discard({
3192
3232
  collectionType,
@@ -3281,10 +3321,13 @@ const capitalise = (str)=>str.charAt(0).toUpperCase() + str.slice(1);
3281
3321
  ...restProps,
3282
3322
  size: size,
3283
3323
  variant: statusVariant,
3324
+ role: "status",
3325
+ "aria-labelledby": "document-status",
3284
3326
  children: /*#__PURE__*/ jsx(Typography, {
3285
3327
  tag: "span",
3286
3328
  variant: "omega",
3287
3329
  fontWeight: "bold",
3330
+ id: "document-status",
3288
3331
  children: formatMessage({
3289
3332
  id: `content-manager.containers.List.${status}`,
3290
3333
  defaultMessage: capitalise(status)
@@ -3623,7 +3666,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
3623
3666
  const { formatMessage } = useIntl();
3624
3667
  const listViewPathMatch = useMatch(LIST_PATH);
3625
3668
  const canDelete = useDocumentRBAC('DeleteAction', (state)=>state.canDelete);
3626
- const { delete: deleteAction } = useDocumentActions();
3669
+ const { delete: deleteAction, isLoading } = useDocumentActions();
3627
3670
  const { toggleNotification } = useNotification();
3628
3671
  const setSubmitting = useForm('DeleteAction', (state)=>state.setSubmitting);
3629
3672
  const isLocalized = document?.locale != null;
@@ -3662,6 +3705,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
3662
3705
  })
3663
3706
  ]
3664
3707
  }),
3708
+ loading: isLoading,
3665
3709
  onConfirm: async ()=>{
3666
3710
  /**
3667
3711
  * If we have a match, we're in the list view
@@ -4343,7 +4387,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4343
4387
  schema
4344
4388
  ]);
4345
4389
  const [isDialogOpen, setIsDialogOpen] = React.useState(false);
4346
- const { publishMany: bulkPublishAction } = useDocumentActions();
4390
+ const { publishMany: bulkPublishAction, isLoading: isPublishing } = useDocumentActions();
4347
4391
  const [, { isLoading: isSubmittingForm }] = usePublishManyDocumentsMutation();
4348
4392
  const selectedRows = useTable('publishAction', (state)=>state.selectedRows);
4349
4393
  // Filter selected entries from the updated modal table rows
@@ -4415,7 +4459,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4415
4459
  /*#__PURE__*/ jsx(Button, {
4416
4460
  onClick: toggleDialog,
4417
4461
  disabled: selectedEntries.length === 0 || selectedEntries.length === selectedEntriesWithErrorsCount || selectedEntriesPublishedCount === selectedEntries.length || isLoading,
4418
- loading: isSubmittingForm,
4462
+ loading: isPublishing || isSubmittingForm,
4419
4463
  children: formatMessage({
4420
4464
  id: 'app.utils.publish',
4421
4465
  defaultMessage: 'Publish'
@@ -4428,7 +4472,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4428
4472
  /*#__PURE__*/ jsx(ConfirmDialogPublishAll, {
4429
4473
  isOpen: isDialogOpen,
4430
4474
  onToggleDialog: toggleDialog,
4431
- isConfirmButtonLoading: isSubmittingForm,
4475
+ isConfirmButtonLoading: isPublishing || isSubmittingForm,
4432
4476
  onConfirm: handleConfirmBulkPublish
4433
4477
  })
4434
4478
  ]
@@ -4520,7 +4564,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4520
4564
  query
4521
4565
  ]);
4522
4566
  const hasDeletePermission = useDocumentRBAC('deleteAction', (state)=>state.canDelete);
4523
- const { deleteMany: bulkDeleteAction } = useDocumentActions();
4567
+ const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();
4524
4568
  const documentIds = documents.map(({ documentId })=>documentId);
4525
4569
  const handleConfirmBulkDelete = async ()=>{
4526
4570
  const res = await bulkDeleteAction({
@@ -4545,6 +4589,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4545
4589
  id: 'app.components.ConfirmDialog.title',
4546
4590
  defaultMessage: 'Confirmation'
4547
4591
  }),
4592
+ loading: isLoading,
4548
4593
  content: /*#__PURE__*/ jsxs(Flex, {
4549
4594
  direction: "column",
4550
4595
  alignItems: "stretch",
@@ -4593,7 +4638,7 @@ const UnpublishAction = ({ documents, model })=>{
4593
4638
  const hasPublishPermission = useDocumentRBAC('unpublishAction', (state)=>state.canPublish);
4594
4639
  const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);
4595
4640
  const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);
4596
- const { unpublishMany: bulkUnpublishAction } = useDocumentActions();
4641
+ const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();
4597
4642
  const documentIds = documents.map(({ documentId })=>documentId);
4598
4643
  const [{ query }] = useQueryParams();
4599
4644
  const params = React.useMemo(()=>buildValidParams(query), [
@@ -4623,6 +4668,7 @@ const UnpublishAction = ({ documents, model })=>{
4623
4668
  id: 'app.components.ConfirmDialog.title',
4624
4669
  defaultMessage: 'Confirmation'
4625
4670
  }),
4671
+ loading: isLoading,
4626
4672
  content: /*#__PURE__*/ jsxs(Flex, {
4627
4673
  direction: "column",
4628
4674
  alignItems: "stretch",
@@ -5004,9 +5050,11 @@ const DEFAULT_TABLE_ROW_ACTIONS = [
5004
5050
  * The response should still be filtered by the position, as the static property is new
5005
5051
  * and not mandatory to avoid a breaking change.
5006
5052
  */ if (position) {
5007
- return this.documentActions.filter((action)=>action.position == undefined || [
5053
+ return this.documentActions.filter((action)=>{
5054
+ return action.position == undefined || [
5008
5055
  action.position
5009
- ].flat().includes(position));
5056
+ ].flat().includes(position);
5057
+ });
5010
5058
  }
5011
5059
  return this.documentActions;
5012
5060
  },
@@ -5258,7 +5306,7 @@ function __variableDynamicImportRuntime1__(path) {
5258
5306
  case './translations/ca.json': return import('./ca-DviY7mRj.mjs');
5259
5307
  case './translations/cs.json': return import('./cs-C7OSYFQ7.mjs');
5260
5308
  case './translations/de.json': return import('./de-5QRlDHyR.mjs');
5261
- case './translations/en.json': return import('./en-LfhocNG2.mjs');
5309
+ case './translations/en.json': return import('./en-CImiNxXE.mjs');
5262
5310
  case './translations/es.json': return import('./es-DkoWSExG.mjs');
5263
5311
  case './translations/eu.json': return import('./eu-BG1xX7HK.mjs');
5264
5312
  case './translations/fr.json': return import('./fr-CFdRaRVj.mjs');
@@ -5281,7 +5329,7 @@ function __variableDynamicImportRuntime1__(path) {
5281
5329
  case './translations/sv.json': return import('./sv-cq4ZrQRd.mjs');
5282
5330
  case './translations/th.json': return import('./th-mUH7hEtc.mjs');
5283
5331
  case './translations/tr.json': return import('./tr-Yt38daxh.mjs');
5284
- case './translations/uk.json': return import('./uk-Cpgmm7gE.mjs');
5332
+ case './translations/uk.json': return import('./uk-BtM6WnaE.mjs');
5285
5333
  case './translations/vi.json': return import('./vi-CvBGlTjr.mjs');
5286
5334
  case './translations/zh-Hans.json': return import('./zh-Hans-CI0HKio3.mjs');
5287
5335
  case './translations/zh.json': return import('./zh-BmF-sHaT.mjs');
@@ -5312,7 +5360,7 @@ var index = {
5312
5360
  app.router.addRoute({
5313
5361
  path: 'content-manager/*',
5314
5362
  lazy: async ()=>{
5315
- const { Layout } = await import('./layout-DStNia_P.mjs');
5363
+ const { Layout } = await import('./layout-Dp806Nqc.mjs');
5316
5364
  return {
5317
5365
  Component: Layout
5318
5366
  };
@@ -5347,5 +5395,5 @@ var index = {
5347
5395
  }
5348
5396
  };
5349
5397
 
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
5398
+ 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 };
5399
+ //# sourceMappingURL=index-D_xHP7Sa.mjs.map