@strapi/content-manager 5.0.0-beta.9 → 5.0.0-rc.1

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/LICENSE +18 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-y_7iLdmB.js → ComponentConfigurationPage-D8RyVgJC.js} +3 -3
  3. package/dist/_chunks/{ComponentConfigurationPage-y_7iLdmB.js.map → ComponentConfigurationPage-D8RyVgJC.js.map} +1 -1
  4. package/dist/_chunks/{ComponentConfigurationPage-BMajAl1u.mjs → ComponentConfigurationPage-DLuACgva.mjs} +3 -3
  5. package/dist/_chunks/{ComponentConfigurationPage-BMajAl1u.mjs.map → ComponentConfigurationPage-DLuACgva.mjs.map} +1 -1
  6. package/dist/_chunks/{EditConfigurationPage-CcOoD26O.mjs → EditConfigurationPage-CuCAsHWR.mjs} +3 -3
  7. package/dist/_chunks/{EditConfigurationPage-CcOoD26O.mjs.map → EditConfigurationPage-CuCAsHWR.mjs.map} +1 -1
  8. package/dist/_chunks/{EditConfigurationPage-CPVB8Uqc.js → EditConfigurationPage-fOm5AebB.js} +3 -3
  9. package/dist/_chunks/{EditConfigurationPage-CPVB8Uqc.js.map → EditConfigurationPage-fOm5AebB.js.map} +1 -1
  10. package/dist/_chunks/{EditViewPage-DWb0DE7R.mjs → EditViewPage-BqDlT9w0.mjs} +46 -46
  11. package/dist/_chunks/EditViewPage-BqDlT9w0.mjs.map +1 -0
  12. package/dist/_chunks/{EditViewPage-CTTDHKkQ.js → EditViewPage-Or0fpTwh.js} +45 -45
  13. package/dist/_chunks/EditViewPage-Or0fpTwh.js.map +1 -0
  14. package/dist/_chunks/{Field-C5Z1Ivdv.js → Field-Bix2HU_O.js} +421 -141
  15. package/dist/_chunks/Field-Bix2HU_O.js.map +1 -0
  16. package/dist/_chunks/{Field-DnStdvQw.mjs → Field-OfBJ6x59.mjs} +422 -142
  17. package/dist/_chunks/Field-OfBJ6x59.mjs.map +1 -0
  18. package/dist/_chunks/{Form-B81OtW-k.js → Form-Bv5ABnqE.js} +25 -26
  19. package/dist/_chunks/Form-Bv5ABnqE.js.map +1 -0
  20. package/dist/_chunks/{Form-DqGgE55Q.mjs → Form-DyMXqj_v.mjs} +27 -28
  21. package/dist/_chunks/Form-DyMXqj_v.mjs.map +1 -0
  22. package/dist/_chunks/{History-4NbOq2dX.js → History-fnln26gA.js} +51 -28
  23. package/dist/_chunks/History-fnln26gA.js.map +1 -0
  24. package/dist/_chunks/{History-DS6-HCYX.mjs → History-rvLnluF0.mjs} +52 -29
  25. package/dist/_chunks/History-rvLnluF0.mjs.map +1 -0
  26. package/dist/_chunks/{ListConfigurationPage-CpfstlYY.js → ListConfigurationPage-BtCBP_L_.js} +48 -47
  27. package/dist/_chunks/ListConfigurationPage-BtCBP_L_.js.map +1 -0
  28. package/dist/_chunks/{ListConfigurationPage-DQJJltko.mjs → ListConfigurationPage-DdKfJRdq.mjs} +49 -49
  29. package/dist/_chunks/ListConfigurationPage-DdKfJRdq.mjs.map +1 -0
  30. package/dist/_chunks/{ListViewPage-nQrOQuVo.mjs → ListViewPage-B8cPO1bK.mjs} +60 -68
  31. package/dist/_chunks/ListViewPage-B8cPO1bK.mjs.map +1 -0
  32. package/dist/_chunks/{ListViewPage-CA3I75m5.js → ListViewPage-CGZWD2qn.js} +59 -67
  33. package/dist/_chunks/ListViewPage-CGZWD2qn.js.map +1 -0
  34. package/dist/_chunks/{NoContentTypePage-DbnHE22g.mjs → NoContentTypePage-CVqYTeML.mjs} +2 -2
  35. package/dist/_chunks/{NoContentTypePage-DbnHE22g.mjs.map → NoContentTypePage-CVqYTeML.mjs.map} +1 -1
  36. package/dist/_chunks/{NoContentTypePage-Dldu-_Mx.js → NoContentTypePage-oJxX0WCQ.js} +2 -2
  37. package/dist/_chunks/{NoContentTypePage-Dldu-_Mx.js.map → NoContentTypePage-oJxX0WCQ.js.map} +1 -1
  38. package/dist/_chunks/{NoPermissionsPage-CO2MK200.js → NoPermissionsPage-BB11jqM_.js} +2 -2
  39. package/dist/_chunks/{NoPermissionsPage-CO2MK200.js.map → NoPermissionsPage-BB11jqM_.js.map} +1 -1
  40. package/dist/_chunks/{NoPermissionsPage-fOIkQM0v.mjs → NoPermissionsPage-mlXqh8p6.mjs} +2 -2
  41. package/dist/_chunks/{NoPermissionsPage-fOIkQM0v.mjs.map → NoPermissionsPage-mlXqh8p6.mjs.map} +1 -1
  42. package/dist/_chunks/{Relations-DG2jnOcr.js → Relations-6xIumgbN.js} +3 -3
  43. package/dist/_chunks/Relations-6xIumgbN.js.map +1 -0
  44. package/dist/_chunks/{Relations-BDRl99Ux.mjs → Relations-DWscdjKO.mjs} +3 -3
  45. package/dist/_chunks/Relations-DWscdjKO.mjs.map +1 -0
  46. package/dist/_chunks/{en-Ux26r5pl.mjs → en-BrCTWlZv.mjs} +5 -4
  47. package/dist/_chunks/{en-Ux26r5pl.mjs.map → en-BrCTWlZv.mjs.map} +1 -1
  48. package/dist/_chunks/{en-fbKQxLGn.js → en-uOUIxfcQ.js} +5 -4
  49. package/dist/_chunks/{en-fbKQxLGn.js.map → en-uOUIxfcQ.js.map} +1 -1
  50. package/dist/_chunks/{index-BZoNZMXL.js → index-BzUwgKUj.js} +347 -373
  51. package/dist/_chunks/index-BzUwgKUj.js.map +1 -0
  52. package/dist/_chunks/{index-Drt2DN7v.mjs → index-JSJrqmB9.mjs} +362 -388
  53. package/dist/_chunks/index-JSJrqmB9.mjs.map +1 -0
  54. package/dist/_chunks/{layout-BzAbmoO6.mjs → layout-Dewoec1b.mjs} +8 -8
  55. package/dist/_chunks/layout-Dewoec1b.mjs.map +1 -0
  56. package/dist/_chunks/{layout-DEYBqgF1.js → layout-U4xJd8Oi.js} +7 -7
  57. package/dist/_chunks/layout-U4xJd8Oi.js.map +1 -0
  58. package/dist/_chunks/{relations-D0eZ4VWw.js → relations-BifGhhuo.js} +2 -2
  59. package/dist/_chunks/{relations-D0eZ4VWw.js.map → relations-BifGhhuo.js.map} +1 -1
  60. package/dist/_chunks/{relations-D26zVRdi.mjs → relations-DMxeUp5V.mjs} +2 -2
  61. package/dist/_chunks/{relations-D26zVRdi.mjs.map → relations-DMxeUp5V.mjs.map} +1 -1
  62. package/dist/admin/index.js +1 -1
  63. package/dist/admin/index.mjs +4 -4
  64. package/dist/admin/src/history/index.d.ts +3 -0
  65. package/dist/admin/src/index.d.ts +1 -0
  66. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +8 -3
  67. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +4 -0
  68. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
  69. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +2 -10
  70. package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +3 -30
  71. package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
  72. package/dist/server/index.js +15 -6
  73. package/dist/server/index.js.map +1 -1
  74. package/dist/server/index.mjs +15 -6
  75. package/dist/server/index.mjs.map +1 -1
  76. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  77. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  78. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  79. package/package.json +8 -8
  80. package/dist/_chunks/EditViewPage-CTTDHKkQ.js.map +0 -1
  81. package/dist/_chunks/EditViewPage-DWb0DE7R.mjs.map +0 -1
  82. package/dist/_chunks/Field-C5Z1Ivdv.js.map +0 -1
  83. package/dist/_chunks/Field-DnStdvQw.mjs.map +0 -1
  84. package/dist/_chunks/Form-B81OtW-k.js.map +0 -1
  85. package/dist/_chunks/Form-DqGgE55Q.mjs.map +0 -1
  86. package/dist/_chunks/History-4NbOq2dX.js.map +0 -1
  87. package/dist/_chunks/History-DS6-HCYX.mjs.map +0 -1
  88. package/dist/_chunks/ListConfigurationPage-CpfstlYY.js.map +0 -1
  89. package/dist/_chunks/ListConfigurationPage-DQJJltko.mjs.map +0 -1
  90. package/dist/_chunks/ListViewPage-CA3I75m5.js.map +0 -1
  91. package/dist/_chunks/ListViewPage-nQrOQuVo.mjs.map +0 -1
  92. package/dist/_chunks/Relations-BDRl99Ux.mjs.map +0 -1
  93. package/dist/_chunks/Relations-DG2jnOcr.js.map +0 -1
  94. package/dist/_chunks/index-BZoNZMXL.js.map +0 -1
  95. package/dist/_chunks/index-Drt2DN7v.mjs.map +0 -1
  96. package/dist/_chunks/layout-BzAbmoO6.mjs.map +0 -1
  97. package/dist/_chunks/layout-DEYBqgF1.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- import { NotificationConfig } from '@strapi/admin/strapi-admin';
2
+ import { ButtonProps } from '@strapi/design-system';
3
+ import { DialogOptions, ModalOptions, NotificationOptions } from '../../../EditView/components/DocumentActions';
3
4
  import type { BulkActionComponent } from '../../../../content-manager';
4
5
  interface BulkActionDescription {
5
6
  dialog?: DialogOptions | NotificationOptions | ModalOptions;
@@ -14,35 +15,7 @@ interface BulkActionDescription {
14
15
  /**
15
16
  * @default 'secondary'
16
17
  */
17
- variant?: 'default' | 'secondary' | 'tertiary' | 'danger-light' | 'success';
18
- }
19
- interface DialogOptions {
20
- type: 'dialog';
21
- title: string;
22
- content?: React.ReactNode;
23
- onConfirm?: () => void | Promise<void>;
24
- onCancel?: () => void | Promise<void>;
25
- }
26
- interface NotificationOptions {
27
- type: 'notification';
28
- title: string;
29
- link?: {
30
- label: string;
31
- url: string;
32
- target?: string;
33
- };
34
- content?: string;
35
- onClose?: () => void;
36
- status?: NotificationConfig['type'];
37
- timeout?: number;
38
- }
39
- interface ModalOptions {
40
- type: 'modal';
41
- title: string;
42
- content: React.ComponentType<{
43
- onClose: () => void;
44
- }>;
45
- onClose?: () => void;
18
+ variant?: ButtonProps['variant'];
46
19
  }
47
20
  declare const BulkActionsRenderer: () => import("react/jsx-runtime").JSX.Element;
48
21
  declare const Emphasis: (chunks: React.ReactNode) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { DialogFooterProps } from '@strapi/design-system';
3
- interface ConfirmBulkActionDialogProps extends Pick<DialogFooterProps, 'endAction'> {
2
+ interface ConfirmBulkActionDialogProps {
3
+ endAction: React.ReactNode;
4
4
  onToggleDialog: () => void;
5
5
  isOpen?: boolean;
6
6
  dialogBody: React.ReactNode;
@@ -232,6 +232,10 @@ const createServiceUtils = ({ strapi: strapi2 }) => {
232
232
  return attributes.reduce((acc, [attributeName, attribute]) => {
233
233
  switch (attribute.type) {
234
234
  case "relation": {
235
+ const isMorphRelation = attribute.relation.toLowerCase().startsWith("morph");
236
+ if (isMorphRelation) {
237
+ break;
238
+ }
235
239
  const isVisible2 = strapiUtils.contentTypes.isVisibleAttribute(model, attributeName);
236
240
  if (isVisible2) {
237
241
  acc[attributeName] = { fields: ["documentId", "locale", "publishedAt"] };
@@ -495,8 +499,6 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
495
499
  deleteExpiredJob: null,
496
500
  isInitialized: false
497
501
  };
498
- const query = strapi2.db.query(HISTORY_VERSION_UID);
499
- const historyService = getService(strapi2, "history");
500
502
  const serviceUtils = createServiceUtils({ strapi: strapi2 });
501
503
  return {
502
504
  async bootstrap() {
@@ -510,6 +512,9 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
510
512
  if (context.action !== "create" && context.action !== "update" && context.action !== "clone" && context.action !== "publish" && context.action !== "unpublish" && context.action !== "discardDraft") {
511
513
  return next();
512
514
  }
515
+ if (context.action === "update" && strapi2.requestContext.get()?.request.url.endsWith("/actions/publish")) {
516
+ return next();
517
+ }
513
518
  const contentTypeUid = context.contentType.uid;
514
519
  if (!contentTypeUid.startsWith("api::")) {
515
520
  return next();
@@ -549,7 +554,7 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
549
554
  }, {});
550
555
  await strapi2.db.transaction(async ({ onCommit }) => {
551
556
  onCommit(() => {
552
- historyService.createVersion({
557
+ getService(strapi2, "history").createVersion({
553
558
  contentType: contentTypeUid,
554
559
  data: fp.omit(FIELDS_TO_IGNORE, document),
555
560
  schema: fp.omit(FIELDS_TO_IGNORE, attributesSchema),
@@ -565,7 +570,7 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
565
570
  state.deleteExpiredJob = nodeSchedule.scheduleJob("0 0 * * *", () => {
566
571
  const retentionDaysInMilliseconds = serviceUtils.getRetentionDays() * 24 * 60 * 60 * 1e3;
567
572
  const expirationDate = new Date(Date.now() - retentionDaysInMilliseconds);
568
- query.deleteMany({
573
+ strapi2.db.query(HISTORY_VERSION_UID).deleteMany({
569
574
  where: {
570
575
  created_at: {
571
576
  $lt: expirationDate.toISOString()
@@ -2082,7 +2087,7 @@ const collectionTypes = {
2082
2087
  if (permissionChecker2.cannot.read()) {
2083
2088
  return ctx.forbidden();
2084
2089
  }
2085
- const entities = await documentManager2.findMany(
2090
+ const documents = await documentManager2.findMany(
2086
2091
  {
2087
2092
  filters: {
2088
2093
  documentId: ids
@@ -2091,7 +2096,7 @@ const collectionTypes = {
2091
2096
  },
2092
2097
  model
2093
2098
  );
2094
- if (!entities) {
2099
+ if (!documents) {
2095
2100
  return ctx.notFound();
2096
2101
  }
2097
2102
  const number = await documentManager2.countManyEntriesDraftRelations(ids, model, locale);
@@ -3743,6 +3748,10 @@ const getDeepPopulateDraftCount = (uid2) => {
3743
3748
  const attribute = model.attributes[attributeName];
3744
3749
  switch (attribute.type) {
3745
3750
  case "relation": {
3751
+ const isMorphRelation = attribute.relation.toLowerCase().startsWith("morph");
3752
+ if (isMorphRelation) {
3753
+ break;
3754
+ }
3746
3755
  if (isVisibleAttribute$1(model, attributeName)) {
3747
3756
  populateAcc[attributeName] = {
3748
3757
  count: true,