@strapi/content-manager 5.10.3 → 5.10.4

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 (81) hide show
  1. package/dist/admin/chunks/{ComponentConfigurationPage-C5H-5L1u.js → ComponentConfigurationPage-Cgjg4CQj.js} +3 -3
  2. package/dist/admin/chunks/{ComponentConfigurationPage-C5H-5L1u.js.map → ComponentConfigurationPage-Cgjg4CQj.js.map} +1 -1
  3. package/dist/admin/chunks/{ComponentConfigurationPage-BN2kOtDm.mjs → ComponentConfigurationPage-D6mjS3eX.mjs} +3 -3
  4. package/dist/admin/chunks/{ComponentConfigurationPage-BN2kOtDm.mjs.map → ComponentConfigurationPage-D6mjS3eX.mjs.map} +1 -1
  5. package/dist/admin/chunks/{EditConfigurationPage-BExtZuB7.js → EditConfigurationPage-C5E6D6NI.js} +3 -3
  6. package/dist/admin/chunks/{EditConfigurationPage-BExtZuB7.js.map → EditConfigurationPage-C5E6D6NI.js.map} +1 -1
  7. package/dist/admin/chunks/{EditConfigurationPage-tMgOELQG.mjs → EditConfigurationPage-DSSrKbwM.mjs} +3 -3
  8. package/dist/admin/chunks/{EditConfigurationPage-tMgOELQG.mjs.map → EditConfigurationPage-DSSrKbwM.mjs.map} +1 -1
  9. package/dist/admin/chunks/{EditViewPage-CYe7wAXF.mjs → EditViewPage-B9oaTSxh.mjs} +6 -9
  10. package/dist/admin/chunks/EditViewPage-B9oaTSxh.mjs.map +1 -0
  11. package/dist/admin/chunks/{EditViewPage-DFkloeMZ.js → EditViewPage-Cyt_AqcH.js} +6 -9
  12. package/dist/admin/chunks/EditViewPage-Cyt_AqcH.js.map +1 -0
  13. package/dist/admin/chunks/{Form-DGUP3zQO.js → Form-BynZsnG8.js} +2 -2
  14. package/dist/admin/chunks/{Form-DGUP3zQO.js.map → Form-BynZsnG8.js.map} +1 -1
  15. package/dist/admin/chunks/{Form-DTO0ZIaB.mjs → Form-CiDhWFF2.mjs} +2 -2
  16. package/dist/admin/chunks/{Form-DTO0ZIaB.mjs.map → Form-CiDhWFF2.mjs.map} +1 -1
  17. package/dist/admin/chunks/{History-C333pgXF.mjs → History-BIzCrHlU.mjs} +5 -5
  18. package/dist/admin/chunks/{History-C333pgXF.mjs.map → History-BIzCrHlU.mjs.map} +1 -1
  19. package/dist/admin/chunks/{History-CQznK1pG.js → History-D8x3KfXk.js} +5 -5
  20. package/dist/admin/chunks/{History-CQznK1pG.js.map → History-D8x3KfXk.js.map} +1 -1
  21. package/dist/admin/chunks/{Input-BexkC_pp.mjs → Input-BrTcf7W8.mjs} +4 -4
  22. package/dist/admin/chunks/{Input-BexkC_pp.mjs.map → Input-BrTcf7W8.mjs.map} +1 -1
  23. package/dist/admin/chunks/{Input-DLJZHw9Y.js → Input-Cx7glRRR.js} +4 -4
  24. package/dist/admin/chunks/{Input-DLJZHw9Y.js.map → Input-Cx7glRRR.js.map} +1 -1
  25. package/dist/admin/chunks/{ListConfigurationPage-71I_stAM.js → ListConfigurationPage-C1HEB6A1.js} +2 -2
  26. package/dist/admin/chunks/{ListConfigurationPage-71I_stAM.js.map → ListConfigurationPage-C1HEB6A1.js.map} +1 -1
  27. package/dist/admin/chunks/{ListConfigurationPage-BX2WR7MI.mjs → ListConfigurationPage-JWHsiJKb.mjs} +2 -2
  28. package/dist/admin/chunks/{ListConfigurationPage-BX2WR7MI.mjs.map → ListConfigurationPage-JWHsiJKb.mjs.map} +1 -1
  29. package/dist/admin/chunks/{ListViewPage-DV3heO4F.js → ListViewPage-38RhQMrO.js} +3 -3
  30. package/dist/admin/chunks/{ListViewPage-DV3heO4F.js.map → ListViewPage-38RhQMrO.js.map} +1 -1
  31. package/dist/admin/chunks/{ListViewPage-BDeT3Dkk.mjs → ListViewPage-lpuA2rS8.mjs} +3 -3
  32. package/dist/admin/chunks/{ListViewPage-BDeT3Dkk.mjs.map → ListViewPage-lpuA2rS8.mjs.map} +1 -1
  33. package/dist/admin/chunks/{NoContentTypePage-9JHYpYVX.mjs → NoContentTypePage-mxdu7QG9.mjs} +2 -2
  34. package/dist/admin/chunks/{NoContentTypePage-9JHYpYVX.mjs.map → NoContentTypePage-mxdu7QG9.mjs.map} +1 -1
  35. package/dist/admin/chunks/{NoContentTypePage-COih9y2J.js → NoContentTypePage-q48fU1h9.js} +2 -2
  36. package/dist/admin/chunks/{NoContentTypePage-COih9y2J.js.map → NoContentTypePage-q48fU1h9.js.map} +1 -1
  37. package/dist/admin/chunks/{NoPermissionsPage-DGAwRIlN.js → NoPermissionsPage-B_p7s1uj.js} +2 -2
  38. package/dist/admin/chunks/{NoPermissionsPage-DGAwRIlN.js.map → NoPermissionsPage-B_p7s1uj.js.map} +1 -1
  39. package/dist/admin/chunks/{NoPermissionsPage-DTe9I47q.mjs → NoPermissionsPage-CihsLbNC.mjs} +2 -2
  40. package/dist/admin/chunks/{NoPermissionsPage-DTe9I47q.mjs.map → NoPermissionsPage-CihsLbNC.mjs.map} +1 -1
  41. package/dist/admin/chunks/{Preview-CXtc9yEV.js → Preview-CMoqDEKI.js} +176 -58
  42. package/dist/admin/chunks/Preview-CMoqDEKI.js.map +1 -0
  43. package/dist/admin/chunks/{Preview-BEq0FXda.mjs → Preview-DGQMt8XZ.mjs} +180 -62
  44. package/dist/admin/chunks/Preview-DGQMt8XZ.mjs.map +1 -0
  45. package/dist/admin/chunks/{Relations-qeZyLDgQ.mjs → Relations-BemEu63h.mjs} +3 -3
  46. package/dist/admin/chunks/{Relations-qeZyLDgQ.mjs.map → Relations-BemEu63h.mjs.map} +1 -1
  47. package/dist/admin/chunks/{Relations-o7_hVGyK.js → Relations-BtC_Gort.js} +3 -3
  48. package/dist/admin/chunks/{Relations-o7_hVGyK.js.map → Relations-BtC_Gort.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-BHimg6jW.js → index-D7EkCTnw.js} +66 -34
  54. package/dist/admin/chunks/index-D7EkCTnw.js.map +1 -0
  55. package/dist/admin/chunks/{index-Cs6qwFQu.mjs → index-njcS3gUl.mjs} +66 -35
  56. package/dist/admin/chunks/index-njcS3gUl.mjs.map +1 -0
  57. package/dist/admin/chunks/{layout-Dtahn4Ue.js → layout-Ccv9FwbI.js} +4 -4
  58. package/dist/admin/chunks/{layout-Dtahn4Ue.js.map → layout-Ccv9FwbI.js.map} +1 -1
  59. package/dist/admin/chunks/{layout-DStNia_P.mjs → layout-os6F94Aa.mjs} +4 -4
  60. package/dist/admin/chunks/{layout-DStNia_P.mjs.map → layout-os6F94Aa.mjs.map} +1 -1
  61. package/dist/admin/chunks/{relations-Cq8NRUto.mjs → relations-De8hSklO.mjs} +2 -2
  62. package/dist/admin/chunks/{relations-Cq8NRUto.mjs.map → relations-De8hSklO.mjs.map} +1 -1
  63. package/dist/admin/chunks/{relations-XOYEEqMz.js → relations-iguhDgFp.js} +2 -2
  64. package/dist/admin/chunks/{relations-XOYEEqMz.js.map → relations-iguhDgFp.js.map} +1 -1
  65. package/dist/admin/index.js +1 -1
  66. package/dist/admin/index.mjs +1 -1
  67. package/dist/admin/src/components/InjectionZone.d.ts +7 -1
  68. package/dist/admin/src/content-manager.d.ts +3 -0
  69. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  70. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +2 -1
  71. package/dist/server/index.js +1 -1
  72. package/dist/server/index.js.map +1 -1
  73. package/dist/server/index.mjs +1 -1
  74. package/dist/server/index.mjs.map +1 -1
  75. package/package.json +7 -7
  76. package/dist/admin/chunks/EditViewPage-CYe7wAXF.mjs.map +0 -1
  77. package/dist/admin/chunks/EditViewPage-DFkloeMZ.js.map +0 -1
  78. package/dist/admin/chunks/Preview-BEq0FXda.mjs.map +0 -1
  79. package/dist/admin/chunks/Preview-CXtc9yEV.js.map +0 -1
  80. package/dist/admin/chunks/index-BHimg6jW.js.map +0 -1
  81. package/dist/admin/chunks/index-Cs6qwFQu.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
  /**
@@ -1735,7 +1738,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1735
1738
  const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
1736
1739
  const navigate = reactRouterDom.useNavigate();
1737
1740
  const setCurrentStep = strapiAdmin.useGuidedTour('useDocumentActions', (state)=>state.setCurrentStep);
1738
- const [deleteDocument] = useDeleteDocumentMutation();
1741
+ const [deleteDocument, { isLoading: isDeleting }] = useDeleteDocumentMutation();
1739
1742
  const _delete = React__namespace.useCallback(async ({ collectionType, model, documentId, params }, trackerProperty)=>{
1740
1743
  try {
1741
1744
  trackUsage('willDeleteEntry', trackerProperty);
@@ -1781,7 +1784,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1781
1784
  formatMessage,
1782
1785
  formatAPIError
1783
1786
  ]);
1784
- const [deleteManyDocuments] = useDeleteManyDocumentsMutation();
1787
+ const [deleteManyDocuments, { isLoading: isDeletingMany }] = useDeleteManyDocumentsMutation();
1785
1788
  const deleteMany = React__namespace.useCallback(async ({ model, documentIds, params })=>{
1786
1789
  try {
1787
1790
  trackUsage('willBulkDeleteEntries');
@@ -1824,7 +1827,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1824
1827
  formatMessage,
1825
1828
  formatAPIError
1826
1829
  ]);
1827
- const [discardDocument] = useDiscardDocumentMutation();
1830
+ const [discardDocument, { isLoading: isDiscardingDocument }] = useDiscardDocumentMutation();
1828
1831
  const discard = React__namespace.useCallback(async ({ collectionType, model, documentId, params })=>{
1829
1832
  try {
1830
1833
  const res = await discardDocument({
@@ -1863,7 +1866,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1863
1866
  formatMessage,
1864
1867
  toggleNotification
1865
1868
  ]);
1866
- const [publishDocument] = usePublishDocumentMutation();
1869
+ const [publishDocument, { isLoading: isPublishing }] = usePublishDocumentMutation();
1867
1870
  const publish = React__namespace.useCallback(async ({ collectionType, model, documentId, params }, data)=>{
1868
1871
  try {
1869
1872
  trackUsage('willPublishEntry');
@@ -1906,7 +1909,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1906
1909
  formatMessage,
1907
1910
  formatAPIError
1908
1911
  ]);
1909
- const [publishManyDocuments] = usePublishManyDocumentsMutation();
1912
+ const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();
1910
1913
  const publishMany = React__namespace.useCallback(async ({ model, documentIds, params })=>{
1911
1914
  try {
1912
1915
  // TODO Confirm tracking events for bulk publish?
@@ -1946,7 +1949,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
1946
1949
  formatMessage,
1947
1950
  formatAPIError
1948
1951
  ]);
1949
- const [updateDocument] = useUpdateDocumentMutation();
1952
+ const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();
1950
1953
  const update = React__namespace.useCallback(async ({ collectionType, model, documentId, params }, data, trackerProperty)=>{
1951
1954
  try {
1952
1955
  trackUsage('willEditEntry', trackerProperty);
@@ -2042,7 +2045,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2042
2045
  formatMessage,
2043
2046
  formatAPIError
2044
2047
  ]);
2045
- const [unpublishManyDocuments] = useUnpublishManyDocumentsMutation();
2048
+ const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] = useUnpublishManyDocumentsMutation();
2046
2049
  const unpublishMany = React__namespace.useCallback(async ({ model, documentIds, params })=>{
2047
2050
  try {
2048
2051
  trackUsage('willBulkUnpublishEntries');
@@ -2233,6 +2236,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2233
2236
  getDoc
2234
2237
  ]);
2235
2238
  return {
2239
+ isLoading: isPublishing || isUpdating || isDiscardingDocument || isDeleting || isDeletingMany || isUnpublishingMany || isPublishingMany,
2236
2240
  autoClone,
2237
2241
  clone,
2238
2242
  create,
@@ -2248,7 +2252,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
2248
2252
  };
2249
2253
  };
2250
2254
 
2251
- const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./History-CQznK1pG.js'); }).then((mod)=>({
2255
+ const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./History-D8x3KfXk.js'); }).then((mod)=>({
2252
2256
  default: mod.ProtectedHistoryPage
2253
2257
  })));
2254
2258
  /**
@@ -2264,7 +2268,7 @@ const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.res
2264
2268
  }
2265
2269
  ];
2266
2270
 
2267
- const ProtectedPreviewPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./Preview-CXtc9yEV.js'); }).then((mod)=>({
2271
+ const ProtectedPreviewPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./Preview-CMoqDEKI.js'); }).then((mod)=>({
2268
2272
  default: mod.ProtectedPreviewPage
2269
2273
  })));
2270
2274
  const routes$1 = [
@@ -2278,25 +2282,25 @@ const routes$1 = [
2278
2282
  }
2279
2283
  ];
2280
2284
 
2281
- const ProtectedEditViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditViewPage-DFkloeMZ.js'); }).then((mod)=>({
2285
+ const ProtectedEditViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditViewPage-Cyt_AqcH.js'); }).then((mod)=>({
2282
2286
  default: mod.ProtectedEditViewPage
2283
2287
  })));
2284
- const ProtectedListViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListViewPage-DV3heO4F.js'); }).then((mod)=>({
2288
+ const ProtectedListViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListViewPage-38RhQMrO.js'); }).then((mod)=>({
2285
2289
  default: mod.ProtectedListViewPage
2286
2290
  })));
2287
- const ProtectedListConfiguration = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListConfigurationPage-71I_stAM.js'); }).then((mod)=>({
2291
+ const ProtectedListConfiguration = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListConfigurationPage-C1HEB6A1.js'); }).then((mod)=>({
2288
2292
  default: mod.ProtectedListConfiguration
2289
2293
  })));
2290
- const ProtectedEditConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditConfigurationPage-BExtZuB7.js'); }).then((mod)=>({
2294
+ const ProtectedEditConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditConfigurationPage-C5E6D6NI.js'); }).then((mod)=>({
2291
2295
  default: mod.ProtectedEditConfigurationPage
2292
2296
  })));
2293
- const ProtectedComponentConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ComponentConfigurationPage-C5H-5L1u.js'); }).then((mod)=>({
2297
+ const ProtectedComponentConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ComponentConfigurationPage-Cgjg4CQj.js'); }).then((mod)=>({
2294
2298
  default: mod.ProtectedComponentConfigurationPage
2295
2299
  })));
2296
- const NoPermissions = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoPermissionsPage-DGAwRIlN.js'); }).then((mod)=>({
2300
+ const NoPermissions = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoPermissionsPage-B_p7s1uj.js'); }).then((mod)=>({
2297
2301
  default: mod.NoPermissions
2298
2302
  })));
2299
- const NoContentType = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoContentTypePage-COih9y2J.js'); }).then((mod)=>({
2303
+ const NoContentType = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoContentTypePage-q48fU1h9.js'); }).then((mod)=>({
2300
2304
  default: mod.NoContentType
2301
2305
  })));
2302
2306
  const CollectionTypePages = ()=>{
@@ -2432,6 +2436,7 @@ const DocumentActionButton = (action)=>{
2432
2436
  variant: action.variant || 'default',
2433
2437
  paddingTop: "7px",
2434
2438
  paddingBottom: "7px",
2439
+ loading: action.loading,
2435
2440
  children: action.label
2436
2441
  }),
2437
2442
  action.dialog?.type === 'dialog' ? /*#__PURE__*/ jsxRuntime.jsx(DocumentActionConfirmDialog, {
@@ -2586,7 +2591,7 @@ const convertActionVariantToIconColor = (variant = 'secondary')=>{
2586
2591
  return 'primary600';
2587
2592
  }
2588
2593
  };
2589
- const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary' })=>{
2594
+ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
2590
2595
  const { formatMessage } = reactIntl.useIntl();
2591
2596
  const handleClose = async ()=>{
2592
2597
  if (onCancel) {
@@ -2627,6 +2632,7 @@ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, cont
2627
2632
  onClick: handleConfirm,
2628
2633
  variant: variant,
2629
2634
  fullWidth: true,
2635
+ loading: loading,
2630
2636
  children: formatMessage({
2631
2637
  id: 'app.components.Button.confirm',
2632
2638
  defaultMessage: 'Confirm'
@@ -2691,7 +2697,7 @@ const transformData = (data)=>{
2691
2697
  const { id } = reactRouterDom.useParams();
2692
2698
  const { formatMessage } = reactIntl.useIntl();
2693
2699
  const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>canPublish);
2694
- const { publish } = useDocumentActions();
2700
+ const { publish, isLoading } = useDocumentActions();
2695
2701
  const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
2696
2702
  const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React__namespace.useState(0);
2697
2703
  const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React__namespace.useState(0);
@@ -2835,6 +2841,11 @@ const transformData = (data)=>{
2835
2841
  const enableDraftRelationsCount = false;
2836
2842
  const hasDraftRelations = enableDraftRelationsCount;
2837
2843
  return {
2844
+ loading: isLoading,
2845
+ position: [
2846
+ 'panel',
2847
+ 'preview'
2848
+ ],
2838
2849
  /**
2839
2850
  * Disabled when:
2840
2851
  * - currently if you're cloning a document we don't support publish & clone at the same time.
@@ -2872,7 +2883,10 @@ const transformData = (data)=>{
2872
2883
  };
2873
2884
  };
2874
2885
  PublishAction$1.type = 'publish';
2875
- PublishAction$1.position = 'panel';
2886
+ PublishAction$1.position = [
2887
+ 'panel',
2888
+ 'preview'
2889
+ ];
2876
2890
  const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2877
2891
  const navigate = reactRouterDom.useNavigate();
2878
2892
  const { toggleNotification } = strapiAdmin.useNotification();
@@ -2880,7 +2894,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2880
2894
  const cloneMatch = reactRouterDom.useMatch(CLONE_PATH);
2881
2895
  const isCloning = cloneMatch !== null;
2882
2896
  const { formatMessage } = reactIntl.useIntl();
2883
- const { create, update, clone } = useDocumentActions();
2897
+ const { create, update, clone, isLoading } = useDocumentActions();
2884
2898
  const [{ query, rawQuery }] = strapiAdmin.useQueryParams();
2885
2899
  const params = React__namespace.useMemo(()=>buildValidParams(query), [
2886
2900
  query
@@ -2997,6 +3011,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
2997
3011
  handleUpdate
2998
3012
  ]);
2999
3013
  return {
3014
+ loading: isLoading,
3000
3015
  /**
3001
3016
  * Disabled when:
3002
3017
  * - the form is submitting
@@ -3007,11 +3022,18 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
3007
3022
  id: 'global.save',
3008
3023
  defaultMessage: 'Save'
3009
3024
  }),
3010
- onClick: handleUpdate
3025
+ onClick: handleUpdate,
3026
+ position: [
3027
+ 'panel',
3028
+ 'preview'
3029
+ ]
3011
3030
  };
3012
3031
  };
3013
3032
  UpdateAction.type = 'update';
3014
- UpdateAction.position = 'panel';
3033
+ UpdateAction.position = [
3034
+ 'panel',
3035
+ 'preview'
3036
+ ];
3015
3037
  const UNPUBLISH_DRAFT_OPTIONS = {
3016
3038
  KEEP: 'keep',
3017
3039
  DISCARD: 'discard'
@@ -3161,7 +3183,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
3161
3183
  const { formatMessage } = reactIntl.useIntl();
3162
3184
  const { schema } = useDoc();
3163
3185
  const canUpdate = useDocumentRBAC('DiscardAction', ({ canUpdate })=>canUpdate);
3164
- const { discard } = useDocumentActions();
3186
+ const { discard, isLoading } = useDocumentActions();
3165
3187
  const [{ query }] = strapiAdmin.useQueryParams();
3166
3188
  const params = React__namespace.useMemo(()=>buildValidParams(query), [
3167
3189
  query
@@ -3207,6 +3229,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
3207
3229
  })
3208
3230
  ]
3209
3231
  }),
3232
+ loading: isLoading,
3210
3233
  onConfirm: async ()=>{
3211
3234
  await discard({
3212
3235
  collectionType,
@@ -3301,10 +3324,13 @@ const capitalise = (str)=>str.charAt(0).toUpperCase() + str.slice(1);
3301
3324
  ...restProps,
3302
3325
  size: size,
3303
3326
  variant: statusVariant,
3327
+ role: "status",
3328
+ "aria-labelledby": "document-status",
3304
3329
  children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
3305
3330
  tag: "span",
3306
3331
  variant: "omega",
3307
3332
  fontWeight: "bold",
3333
+ id: "document-status",
3308
3334
  children: formatMessage({
3309
3335
  id: `content-manager.containers.List.${status}`,
3310
3336
  defaultMessage: capitalise(status)
@@ -3643,7 +3669,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
3643
3669
  const { formatMessage } = reactIntl.useIntl();
3644
3670
  const listViewPathMatch = reactRouterDom.useMatch(LIST_PATH);
3645
3671
  const canDelete = useDocumentRBAC('DeleteAction', (state)=>state.canDelete);
3646
- const { delete: deleteAction } = useDocumentActions();
3672
+ const { delete: deleteAction, isLoading } = useDocumentActions();
3647
3673
  const { toggleNotification } = strapiAdmin.useNotification();
3648
3674
  const setSubmitting = strapiAdmin.useForm('DeleteAction', (state)=>state.setSubmitting);
3649
3675
  const isLocalized = document?.locale != null;
@@ -3682,6 +3708,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
3682
3708
  })
3683
3709
  ]
3684
3710
  }),
3711
+ loading: isLoading,
3685
3712
  onConfirm: async ()=>{
3686
3713
  /**
3687
3714
  * If we have a match, we're in the list view
@@ -4363,7 +4390,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4363
4390
  schema
4364
4391
  ]);
4365
4392
  const [isDialogOpen, setIsDialogOpen] = React__namespace.useState(false);
4366
- const { publishMany: bulkPublishAction } = useDocumentActions();
4393
+ const { publishMany: bulkPublishAction, isLoading: isPublishing } = useDocumentActions();
4367
4394
  const [, { isLoading: isSubmittingForm }] = usePublishManyDocumentsMutation();
4368
4395
  const selectedRows = strapiAdmin.useTable('publishAction', (state)=>state.selectedRows);
4369
4396
  // Filter selected entries from the updated modal table rows
@@ -4435,7 +4462,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4435
4462
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
4436
4463
  onClick: toggleDialog,
4437
4464
  disabled: selectedEntries.length === 0 || selectedEntries.length === selectedEntriesWithErrorsCount || selectedEntriesPublishedCount === selectedEntries.length || isLoading,
4438
- loading: isSubmittingForm,
4465
+ loading: isPublishing || isSubmittingForm,
4439
4466
  children: formatMessage({
4440
4467
  id: 'app.utils.publish',
4441
4468
  defaultMessage: 'Publish'
@@ -4448,7 +4475,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4448
4475
  /*#__PURE__*/ jsxRuntime.jsx(ConfirmDialogPublishAll, {
4449
4476
  isOpen: isDialogOpen,
4450
4477
  onToggleDialog: toggleDialog,
4451
- isConfirmButtonLoading: isSubmittingForm,
4478
+ isConfirmButtonLoading: isPublishing || isSubmittingForm,
4452
4479
  onConfirm: handleConfirmBulkPublish
4453
4480
  })
4454
4481
  ]
@@ -4540,7 +4567,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4540
4567
  query
4541
4568
  ]);
4542
4569
  const hasDeletePermission = useDocumentRBAC('deleteAction', (state)=>state.canDelete);
4543
- const { deleteMany: bulkDeleteAction } = useDocumentActions();
4570
+ const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();
4544
4571
  const documentIds = documents.map(({ documentId })=>documentId);
4545
4572
  const handleConfirmBulkDelete = async ()=>{
4546
4573
  const res = await bulkDeleteAction({
@@ -4565,6 +4592,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
4565
4592
  id: 'app.components.ConfirmDialog.title',
4566
4593
  defaultMessage: 'Confirmation'
4567
4594
  }),
4595
+ loading: isLoading,
4568
4596
  content: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
4569
4597
  direction: "column",
4570
4598
  alignItems: "stretch",
@@ -4613,7 +4641,7 @@ const UnpublishAction = ({ documents, model })=>{
4613
4641
  const hasPublishPermission = useDocumentRBAC('unpublishAction', (state)=>state.canPublish);
4614
4642
  const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);
4615
4643
  const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);
4616
- const { unpublishMany: bulkUnpublishAction } = useDocumentActions();
4644
+ const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();
4617
4645
  const documentIds = documents.map(({ documentId })=>documentId);
4618
4646
  const [{ query }] = strapiAdmin.useQueryParams();
4619
4647
  const params = React__namespace.useMemo(()=>buildValidParams(query), [
@@ -4643,6 +4671,7 @@ const UnpublishAction = ({ documents, model })=>{
4643
4671
  id: 'app.components.ConfirmDialog.title',
4644
4672
  defaultMessage: 'Confirmation'
4645
4673
  }),
4674
+ loading: isLoading,
4646
4675
  content: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
4647
4676
  direction: "column",
4648
4677
  alignItems: "stretch",
@@ -5024,9 +5053,11 @@ const DEFAULT_TABLE_ROW_ACTIONS = [
5024
5053
  * The response should still be filtered by the position, as the static property is new
5025
5054
  * and not mandatory to avoid a breaking change.
5026
5055
  */ if (position) {
5027
- return this.documentActions.filter((action)=>action.position == undefined || [
5056
+ return this.documentActions.filter((action)=>{
5057
+ return action.position == undefined || [
5028
5058
  action.position
5029
- ].flat().includes(position));
5059
+ ].flat().includes(position);
5060
+ });
5030
5061
  }
5031
5062
  return this.documentActions;
5032
5063
  },
@@ -5278,7 +5309,7 @@ function __variableDynamicImportRuntime1__(path) {
5278
5309
  case './translations/ca.json': return Promise.resolve().then(function () { return require('./ca-ClDTvatJ.js'); });
5279
5310
  case './translations/cs.json': return Promise.resolve().then(function () { return require('./cs-BJFxwIWj.js'); });
5280
5311
  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'); });
5312
+ case './translations/en.json': return Promise.resolve().then(function () { return require('./en-CLf4SuMQ.js'); });
5282
5313
  case './translations/es.json': return Promise.resolve().then(function () { return require('./es-C8vLuvZL.js'); });
5283
5314
  case './translations/eu.json': return Promise.resolve().then(function () { return require('./eu-BJW3AvXu.js'); });
5284
5315
  case './translations/fr.json': return Promise.resolve().then(function () { return require('./fr-gQSilC7w.js'); });
@@ -5332,7 +5363,7 @@ var index = {
5332
5363
  app.router.addRoute({
5333
5364
  path: 'content-manager/*',
5334
5365
  lazy: async ()=>{
5335
- const { Layout } = await Promise.resolve().then(function () { return require('./layout-Dtahn4Ue.js'); });
5366
+ const { Layout } = await Promise.resolve().then(function () { return require('./layout-Ccv9FwbI.js'); });
5336
5367
  return {
5337
5368
  Component: Layout
5338
5369
  };
@@ -5373,6 +5404,7 @@ exports.CLONE_PATH = CLONE_PATH;
5373
5404
  exports.COLLECTION_TYPES = COLLECTION_TYPES;
5374
5405
  exports.CREATOR_FIELDS = CREATOR_FIELDS;
5375
5406
  exports.DEFAULT_SETTINGS = DEFAULT_SETTINGS;
5407
+ exports.DocumentActionButton = DocumentActionButton;
5376
5408
  exports.DocumentRBAC = DocumentRBAC;
5377
5409
  exports.DocumentStatus = DocumentStatus;
5378
5410
  exports.HOOKS = HOOKS;
@@ -5414,4 +5446,4 @@ exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuer
5414
5446
  exports.useGetInitialDataQuery = useGetInitialDataQuery;
5415
5447
  exports.useGetPreviewUrlQuery = useGetPreviewUrlQuery;
5416
5448
  exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
5417
- //# sourceMappingURL=index-BHimg6jW.js.map
5449
+ //# sourceMappingURL=index-D7EkCTnw.js.map