@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
@@ -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,10 +1867,12 @@ 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
- trackUsage('willPublishEntry');
1873
+ trackUsage('willPublishEntry', {
1874
+ documentId
1875
+ });
1870
1876
  const res = await publishDocument({
1871
1877
  collectionType,
1872
1878
  model,
@@ -1883,7 +1889,9 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1883
1889
  error: res.error
1884
1890
  };
1885
1891
  }
1886
- trackUsage('didPublishEntry');
1892
+ trackUsage('didPublishEntry', {
1893
+ documentId
1894
+ });
1887
1895
  toggleNotification({
1888
1896
  type: 'success',
1889
1897
  message: formatMessage({
@@ -1906,7 +1914,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1906
1914
  formatMessage,
1907
1915
  formatAPIError
1908
1916
  ]);
1909
- const [publishManyDocuments] = usePublishManyDocumentsMutation();
1917
+ const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();
1910
1918
  const publishMany = React__namespace.useCallback(async ({ model, documentIds, params })=>{
1911
1919
  try {
1912
1920
  // TODO Confirm tracking events for bulk publish?
@@ -1946,7 +1954,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1946
1954
  formatMessage,
1947
1955
  formatAPIError
1948
1956
  ]);
1949
- const [updateDocument] = useUpdateDocumentMutation();
1957
+ const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();
1950
1958
  const update = React__namespace.useCallback(async ({ collectionType, model, documentId, params }, data, trackerProperty)=>{
1951
1959
  try {
1952
1960
  trackUsage('willEditEntry', trackerProperty);
@@ -1970,7 +1978,10 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1970
1978
  error: res.error
1971
1979
  };
1972
1980
  }
1973
- trackUsage('didEditEntry', trackerProperty);
1981
+ trackUsage('didEditEntry', {
1982
+ ...trackerProperty,
1983
+ documentId: res.data.data.documentId
1984
+ });
1974
1985
  toggleNotification({
1975
1986
  type: 'success',
1976
1987
  message: formatMessage({
@@ -2042,7 +2053,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2042
2053
  formatMessage,
2043
2054
  formatAPIError
2044
2055
  ]);
2045
- const [unpublishManyDocuments] = useUnpublishManyDocumentsMutation();
2056
+ const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] = useUnpublishManyDocumentsMutation();
2046
2057
  const unpublishMany = React__namespace.useCallback(async ({ model, documentIds, params })=>{
2047
2058
  try {
2048
2059
  trackUsage('willBulkUnpublishEntries');
@@ -2106,7 +2117,10 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2106
2117
  error: res.error
2107
2118
  };
2108
2119
  }
2109
- trackUsage('didCreateEntry', trackerProperty);
2120
+ trackUsage('didCreateEntry', {
2121
+ ...trackerProperty,
2122
+ documentId: res.data.data.documentId
2123
+ });
2110
2124
  toggleNotification({
2111
2125
  type: 'success',
2112
2126
  message: formatMessage({
@@ -2233,6 +2247,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2233
2247
  getDoc
2234
2248
  ]);
2235
2249
  return {
2250
+ isLoading: isPublishing || isUpdating || isDiscardingDocument || isDeleting || isDeletingMany || isUnpublishingMany || isPublishingMany,
2236
2251
  autoClone,
2237
2252
  clone,
2238
2253
  create,
@@ -2248,7 +2263,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2248
2263
  };
2249
2264
  };
2250
2265
 
2251
- const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./History-CQznK1pG.js'); }).then((mod)=>({
2266
+ const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./History-CZP7hLUV.js'); }).then((mod)=>({
2252
2267
  default: mod.ProtectedHistoryPage
2253
2268
  })));
2254
2269
  /**
@@ -2264,7 +2279,7 @@ const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.res
2264
2279
  }
2265
2280
  ];
2266
2281
 
2267
- const ProtectedPreviewPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./Preview-CXtc9yEV.js'); }).then((mod)=>({
2282
+ const ProtectedPreviewPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./Preview-DFV3Bgia.js'); }).then((mod)=>({
2268
2283
  default: mod.ProtectedPreviewPage
2269
2284
  })));
2270
2285
  const routes$1 = [
@@ -2278,25 +2293,25 @@ const routes$1 = [
2278
2293
  }
2279
2294
  ];
2280
2295
 
2281
- const ProtectedEditViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditViewPage-DFkloeMZ.js'); }).then((mod)=>({
2296
+ const ProtectedEditViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditViewPage-DXT_1NHv.js'); }).then((mod)=>({
2282
2297
  default: mod.ProtectedEditViewPage
2283
2298
  })));
2284
- const ProtectedListViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListViewPage-DV3heO4F.js'); }).then((mod)=>({
2299
+ const ProtectedListViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListViewPage-uGHyqfkp.js'); }).then((mod)=>({
2285
2300
  default: mod.ProtectedListViewPage
2286
2301
  })));
2287
- const ProtectedListConfiguration = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListConfigurationPage-71I_stAM.js'); }).then((mod)=>({
2302
+ const ProtectedListConfiguration = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListConfigurationPage-DqDJ3esz.js'); }).then((mod)=>({
2288
2303
  default: mod.ProtectedListConfiguration
2289
2304
  })));
2290
- const ProtectedEditConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditConfigurationPage-BExtZuB7.js'); }).then((mod)=>({
2305
+ const ProtectedEditConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditConfigurationPage-CGLkm6-l.js'); }).then((mod)=>({
2291
2306
  default: mod.ProtectedEditConfigurationPage
2292
2307
  })));
2293
- const ProtectedComponentConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ComponentConfigurationPage-C5H-5L1u.js'); }).then((mod)=>({
2308
+ const ProtectedComponentConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ComponentConfigurationPage-C6-yVoE3.js'); }).then((mod)=>({
2294
2309
  default: mod.ProtectedComponentConfigurationPage
2295
2310
  })));
2296
- const NoPermissions = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoPermissionsPage-DGAwRIlN.js'); }).then((mod)=>({
2311
+ const NoPermissions = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoPermissionsPage-C_oTwBmY.js'); }).then((mod)=>({
2297
2312
  default: mod.NoPermissions
2298
2313
  })));
2299
- const NoContentType = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoContentTypePage-COih9y2J.js'); }).then((mod)=>({
2314
+ const NoContentType = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoContentTypePage-CJTJmAcN.js'); }).then((mod)=>({
2300
2315
  default: mod.NoContentType
2301
2316
  })));
2302
2317
  const CollectionTypePages = ()=>{
@@ -2432,6 +2447,7 @@ const DocumentActionButton = (action)=>{
2432
2447
  variant: action.variant || 'default',
2433
2448
  paddingTop: "7px",
2434
2449
  paddingBottom: "7px",
2450
+ loading: action.loading,
2435
2451
  children: action.label
2436
2452
  }),
2437
2453
  action.dialog?.type === 'dialog' ? /*#__PURE__*/ jsxRuntime.jsx(DocumentActionConfirmDialog, {
@@ -2586,7 +2602,7 @@ const convertActionVariantToIconColor = (variant = 'secondary')=>{
2586
2602
  return 'primary600';
2587
2603
  }
2588
2604
  };
2589
- const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary' })=>{
2605
+ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
2590
2606
  const { formatMessage } = reactIntl.useIntl();
2591
2607
  const handleClose = async ()=>{
2592
2608
  if (onCancel) {
@@ -2627,6 +2643,7 @@ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, cont
2627
2643
  onClick: handleConfirm,
2628
2644
  variant: variant,
2629
2645
  fullWidth: true,
2646
+ loading: loading,
2630
2647
  children: formatMessage({
2631
2648
  id: 'app.components.Button.confirm',
2632
2649
  defaultMessage: 'Confirm'
@@ -2681,7 +2698,7 @@ const transformData = (data)=>{
2681
2698
  };
2682
2699
  /* -------------------------------------------------------------------------------------------------
2683
2700
  * DocumentActionComponents
2684
- * -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document })=>{
2701
+ * -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document, onPreview })=>{
2685
2702
  const { schema } = useDoc();
2686
2703
  const navigate = reactRouterDom.useNavigate();
2687
2704
  const { toggleNotification } = strapiAdmin.useNotification();
@@ -2691,7 +2708,7 @@ const transformData = (data)=>{
2691
2708
  const { id } = reactRouterDom.useParams();
2692
2709
  const { formatMessage } = reactIntl.useIntl();
2693
2710
  const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>canPublish);
2694
- const { publish } = useDocumentActions();
2711
+ const { publish, isLoading } = useDocumentActions();
2695
2712
  const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
2696
2713
  const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React__namespace.useState(0);
2697
2714
  const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React__namespace.useState(0);
@@ -2827,6 +2844,9 @@ const transformData = (data)=>{
2827
2844
  }
2828
2845
  } finally{
2829
2846
  setSubmitting(false);
2847
+ if (onPreview) {
2848
+ onPreview();
2849
+ }
2830
2850
  }
2831
2851
  };
2832
2852
  const totalDraftRelations = localCountOfDraftRelations + serverCountOfDraftRelations;
@@ -2835,6 +2855,11 @@ const transformData = (data)=>{
2835
2855
  const enableDraftRelationsCount = false;
2836
2856
  const hasDraftRelations = enableDraftRelationsCount;
2837
2857
  return {
2858
+ loading: isLoading,
2859
+ position: [
2860
+ 'panel',
2861
+ 'preview'
2862
+ ],
2838
2863
  /**
2839
2864
  * Disabled when:
2840
2865
  * - currently if you're cloning a document we don't support publish & clone at the same time.
@@ -2872,15 +2897,18 @@ const transformData = (data)=>{
2872
2897
  };
2873
2898
  };
2874
2899
  PublishAction$1.type = 'publish';
2875
- PublishAction$1.position = 'panel';
2876
- const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2900
+ PublishAction$1.position = [
2901
+ 'panel',
2902
+ 'preview'
2903
+ ];
2904
+ const UpdateAction = ({ activeTab, documentId, model, collectionType, onPreview })=>{
2877
2905
  const navigate = reactRouterDom.useNavigate();
2878
2906
  const { toggleNotification } = strapiAdmin.useNotification();
2879
2907
  const { _unstableFormatValidationErrors: formatValidationErrors } = strapiAdmin.useAPIErrorHandler();
2880
2908
  const cloneMatch = reactRouterDom.useMatch(CLONE_PATH);
2881
2909
  const isCloning = cloneMatch !== null;
2882
2910
  const { formatMessage } = reactIntl.useIntl();
2883
- const { create, update, clone } = useDocumentActions();
2911
+ const { create, update, clone, isLoading } = useDocumentActions();
2884
2912
  const [{ query, rawQuery }] = strapiAdmin.useQueryParams();
2885
2913
  const params = React__namespace.useMemo(()=>buildValidParams(query), [
2886
2914
  query
@@ -2958,6 +2986,9 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2958
2986
  }
2959
2987
  } finally{
2960
2988
  setSubmitting(false);
2989
+ if (onPreview) {
2990
+ onPreview();
2991
+ }
2961
2992
  }
2962
2993
  }, [
2963
2994
  clone,
@@ -2997,6 +3028,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2997
3028
  handleUpdate
2998
3029
  ]);
2999
3030
  return {
3031
+ loading: isLoading,
3000
3032
  /**
3001
3033
  * Disabled when:
3002
3034
  * - the form is submitting
@@ -3007,11 +3039,18 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
3007
3039
  id: 'global.save',
3008
3040
  defaultMessage: 'Save'
3009
3041
  }),
3010
- onClick: handleUpdate
3042
+ onClick: handleUpdate,
3043
+ position: [
3044
+ 'panel',
3045
+ 'preview'
3046
+ ]
3011
3047
  };
3012
3048
  };
3013
3049
  UpdateAction.type = 'update';
3014
- UpdateAction.position = 'panel';
3050
+ UpdateAction.position = [
3051
+ 'panel',
3052
+ 'preview'
3053
+ ];
3015
3054
  const UNPUBLISH_DRAFT_OPTIONS = {
3016
3055
  KEEP: 'keep',
3017
3056
  DISCARD: 'discard'
@@ -3161,7 +3200,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
3161
3200
  const { formatMessage } = reactIntl.useIntl();
3162
3201
  const { schema } = useDoc();
3163
3202
  const canUpdate = useDocumentRBAC('DiscardAction', ({ canUpdate })=>canUpdate);
3164
- const { discard } = useDocumentActions();
3203
+ const { discard, isLoading } = useDocumentActions();
3165
3204
  const [{ query }] = strapiAdmin.useQueryParams();
3166
3205
  const params = React__namespace.useMemo(()=>buildValidParams(query), [
3167
3206
  query
@@ -3207,6 +3246,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
3207
3246
  })
3208
3247
  ]
3209
3248
  }),
3249
+ loading: isLoading,
3210
3250
  onConfirm: async ()=>{
3211
3251
  await discard({
3212
3252
  collectionType,
@@ -3301,10 +3341,13 @@ const capitalise = (str)=>str.charAt(0).toUpperCase() + str.slice(1);
3301
3341
  ...restProps,
3302
3342
  size: size,
3303
3343
  variant: statusVariant,
3344
+ role: "status",
3345
+ "aria-labelledby": "document-status",
3304
3346
  children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
3305
3347
  tag: "span",
3306
3348
  variant: "omega",
3307
3349
  fontWeight: "bold",
3350
+ id: "document-status",
3308
3351
  children: formatMessage({
3309
3352
  id: `content-manager.containers.List.${status}`,
3310
3353
  defaultMessage: capitalise(status)
@@ -3643,7 +3686,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
3643
3686
  const { formatMessage } = reactIntl.useIntl();
3644
3687
  const listViewPathMatch = reactRouterDom.useMatch(LIST_PATH);
3645
3688
  const canDelete = useDocumentRBAC('DeleteAction', (state)=>state.canDelete);
3646
- const { delete: deleteAction } = useDocumentActions();
3689
+ const { delete: deleteAction, isLoading } = useDocumentActions();
3647
3690
  const { toggleNotification } = strapiAdmin.useNotification();
3648
3691
  const setSubmitting = strapiAdmin.useForm('DeleteAction', (state)=>state.setSubmitting);
3649
3692
  const isLocalized = document?.locale != null;
@@ -3682,6 +3725,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
3682
3725
  })
3683
3726
  ]
3684
3727
  }),
3728
+ loading: isLoading,
3685
3729
  onConfirm: async ()=>{
3686
3730
  /**
3687
3731
  * If we have a match, we're in the list view
@@ -4363,7 +4407,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4363
4407
  schema
4364
4408
  ]);
4365
4409
  const [isDialogOpen, setIsDialogOpen] = React__namespace.useState(false);
4366
- const { publishMany: bulkPublishAction } = useDocumentActions();
4410
+ const { publishMany: bulkPublishAction, isLoading: isPublishing } = useDocumentActions();
4367
4411
  const [, { isLoading: isSubmittingForm }] = usePublishManyDocumentsMutation();
4368
4412
  const selectedRows = strapiAdmin.useTable('publishAction', (state)=>state.selectedRows);
4369
4413
  // Filter selected entries from the updated modal table rows
@@ -4435,7 +4479,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4435
4479
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
4436
4480
  onClick: toggleDialog,
4437
4481
  disabled: selectedEntries.length === 0 || selectedEntries.length === selectedEntriesWithErrorsCount || selectedEntriesPublishedCount === selectedEntries.length || isLoading,
4438
- loading: isSubmittingForm,
4482
+ loading: isPublishing || isSubmittingForm,
4439
4483
  children: formatMessage({
4440
4484
  id: 'app.utils.publish',
4441
4485
  defaultMessage: 'Publish'
@@ -4448,7 +4492,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4448
4492
  /*#__PURE__*/ jsxRuntime.jsx(ConfirmDialogPublishAll, {
4449
4493
  isOpen: isDialogOpen,
4450
4494
  onToggleDialog: toggleDialog,
4451
- isConfirmButtonLoading: isSubmittingForm,
4495
+ isConfirmButtonLoading: isPublishing || isSubmittingForm,
4452
4496
  onConfirm: handleConfirmBulkPublish
4453
4497
  })
4454
4498
  ]
@@ -4540,7 +4584,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4540
4584
  query
4541
4585
  ]);
4542
4586
  const hasDeletePermission = useDocumentRBAC('deleteAction', (state)=>state.canDelete);
4543
- const { deleteMany: bulkDeleteAction } = useDocumentActions();
4587
+ const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();
4544
4588
  const documentIds = documents.map(({ documentId })=>documentId);
4545
4589
  const handleConfirmBulkDelete = async ()=>{
4546
4590
  const res = await bulkDeleteAction({
@@ -4565,6 +4609,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4565
4609
  id: 'app.components.ConfirmDialog.title',
4566
4610
  defaultMessage: 'Confirmation'
4567
4611
  }),
4612
+ loading: isLoading,
4568
4613
  content: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
4569
4614
  direction: "column",
4570
4615
  alignItems: "stretch",
@@ -4613,7 +4658,7 @@ const UnpublishAction = ({ documents, model })=>{
4613
4658
  const hasPublishPermission = useDocumentRBAC('unpublishAction', (state)=>state.canPublish);
4614
4659
  const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);
4615
4660
  const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);
4616
- const { unpublishMany: bulkUnpublishAction } = useDocumentActions();
4661
+ const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();
4617
4662
  const documentIds = documents.map(({ documentId })=>documentId);
4618
4663
  const [{ query }] = strapiAdmin.useQueryParams();
4619
4664
  const params = React__namespace.useMemo(()=>buildValidParams(query), [
@@ -4643,6 +4688,7 @@ const UnpublishAction = ({ documents, model })=>{
4643
4688
  id: 'app.components.ConfirmDialog.title',
4644
4689
  defaultMessage: 'Confirmation'
4645
4690
  }),
4691
+ loading: isLoading,
4646
4692
  content: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
4647
4693
  direction: "column",
4648
4694
  alignItems: "stretch",
@@ -5024,9 +5070,11 @@ const DEFAULT_TABLE_ROW_ACTIONS = [
5024
5070
  * The response should still be filtered by the position, as the static property is new
5025
5071
  * and not mandatory to avoid a breaking change.
5026
5072
  */ if (position) {
5027
- return this.documentActions.filter((action)=>action.position == undefined || [
5073
+ return this.documentActions.filter((action)=>{
5074
+ return action.position == undefined || [
5028
5075
  action.position
5029
- ].flat().includes(position));
5076
+ ].flat().includes(position);
5077
+ });
5030
5078
  }
5031
5079
  return this.documentActions;
5032
5080
  },
@@ -5278,7 +5326,7 @@ function __variableDynamicImportRuntime1__(path) {
5278
5326
  case './translations/ca.json': return Promise.resolve().then(function () { return require('./ca-ClDTvatJ.js'); });
5279
5327
  case './translations/cs.json': return Promise.resolve().then(function () { return require('./cs-BJFxwIWj.js'); });
5280
5328
  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'); });
5329
+ case './translations/en.json': return Promise.resolve().then(function () { return require('./en-CLf4SuMQ.js'); });
5282
5330
  case './translations/es.json': return Promise.resolve().then(function () { return require('./es-C8vLuvZL.js'); });
5283
5331
  case './translations/eu.json': return Promise.resolve().then(function () { return require('./eu-BJW3AvXu.js'); });
5284
5332
  case './translations/fr.json': return Promise.resolve().then(function () { return require('./fr-gQSilC7w.js'); });
@@ -5301,7 +5349,7 @@ function __variableDynamicImportRuntime1__(path) {
5301
5349
  case './translations/sv.json': return Promise.resolve().then(function () { return require('./sv-BstBC1Yp.js'); });
5302
5350
  case './translations/th.json': return Promise.resolve().then(function () { return require('./th-lXoOCqPC.js'); });
5303
5351
  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'); });
5352
+ case './translations/uk.json': return Promise.resolve().then(function () { return require('./uk-DB6OgySY.js'); });
5305
5353
  case './translations/vi.json': return Promise.resolve().then(function () { return require('./vi-BGr1X_HZ.js'); });
5306
5354
  case './translations/zh-Hans.json': return Promise.resolve().then(function () { return require('./zh-Hans-JVK9x7xr.js'); });
5307
5355
  case './translations/zh.json': return Promise.resolve().then(function () { return require('./zh-DwFu_Kfj.js'); });
@@ -5332,7 +5380,7 @@ var index = {
5332
5380
  app.router.addRoute({
5333
5381
  path: 'content-manager/*',
5334
5382
  lazy: async ()=>{
5335
- const { Layout } = await Promise.resolve().then(function () { return require('./layout-Dtahn4Ue.js'); });
5383
+ const { Layout } = await Promise.resolve().then(function () { return require('./layout-C3DUumtc.js'); });
5336
5384
  return {
5337
5385
  Component: Layout
5338
5386
  };
@@ -5373,6 +5421,7 @@ exports.CLONE_PATH = CLONE_PATH;
5373
5421
  exports.COLLECTION_TYPES = COLLECTION_TYPES;
5374
5422
  exports.CREATOR_FIELDS = CREATOR_FIELDS;
5375
5423
  exports.DEFAULT_SETTINGS = DEFAULT_SETTINGS;
5424
+ exports.DocumentActionButton = DocumentActionButton;
5376
5425
  exports.DocumentRBAC = DocumentRBAC;
5377
5426
  exports.DocumentStatus = DocumentStatus;
5378
5427
  exports.HOOKS = HOOKS;
@@ -5414,4 +5463,4 @@ exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuer
5414
5463
  exports.useGetInitialDataQuery = useGetInitialDataQuery;
5415
5464
  exports.useGetPreviewUrlQuery = useGetPreviewUrlQuery;
5416
5465
  exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
5417
- //# sourceMappingURL=index-BHimg6jW.js.map
5466
+ //# sourceMappingURL=index-BHsh5hLe.js.map