@strapi/content-manager 0.0.0-experimental.826f263c58b6886b849d3f03b81f7a530bc51c91 → 0.0.0-experimental.9612538209f3c68285c5dea8fe26f96e7e470afd

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 (91) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-DJcn1DrO.js → ComponentConfigurationPage-BvHtG7uH.js} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-DJcn1DrO.js.map → ComponentConfigurationPage-BvHtG7uH.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-CR5XdR33.mjs → ComponentConfigurationPage-DHNM3YBz.mjs} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-CR5XdR33.mjs.map → ComponentConfigurationPage-DHNM3YBz.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-DmCIb4kD.mjs → EditConfigurationPage-Cp6HAEzN.mjs} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-DmCIb4kD.mjs.map → EditConfigurationPage-Cp6HAEzN.mjs.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-tDtWj7R2.js → EditConfigurationPage-DOmfCEMo.js} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-tDtWj7R2.js.map → EditConfigurationPage-DOmfCEMo.js.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-CoQEnFlC.js → EditViewPage-BqNpC6hO.js} +45 -45
  10. package/dist/_chunks/EditViewPage-BqNpC6hO.js.map +1 -0
  11. package/dist/_chunks/{EditViewPage-DvaV7U9b.mjs → EditViewPage-BtkEx339.mjs} +46 -46
  12. package/dist/_chunks/EditViewPage-BtkEx339.mjs.map +1 -0
  13. package/dist/_chunks/{Field-Cz_J9551.mjs → Field-R5NbffTB.mjs} +373 -118
  14. package/dist/_chunks/Field-R5NbffTB.mjs.map +1 -0
  15. package/dist/_chunks/{Field-ZdrmmQ4Y.js → Field-lsPFnAmH.js} +372 -117
  16. package/dist/_chunks/Field-lsPFnAmH.js.map +1 -0
  17. package/dist/_chunks/{Form-Dxmihyw8.mjs → Form-BHmXSfyy.mjs} +27 -28
  18. package/dist/_chunks/Form-BHmXSfyy.mjs.map +1 -0
  19. package/dist/_chunks/{Form-Bpig5rch.js → Form-CcGboku8.js} +25 -26
  20. package/dist/_chunks/Form-CcGboku8.js.map +1 -0
  21. package/dist/_chunks/{History-BfX6XmZK.js → History-Bsud8jwh.js} +116 -22
  22. package/dist/_chunks/History-Bsud8jwh.js.map +1 -0
  23. package/dist/_chunks/{History-BZP8n7KT.mjs → History-ByUPL3T3.mjs} +117 -23
  24. package/dist/_chunks/History-ByUPL3T3.mjs.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-DxKuVkKz.mjs → ListConfigurationPage-Bm5HACXf.mjs} +43 -45
  26. package/dist/_chunks/ListConfigurationPage-Bm5HACXf.mjs.map +1 -0
  27. package/dist/_chunks/{ListConfigurationPage-B3CXj8PY.js → ListConfigurationPage-DiT463qx.js} +42 -43
  28. package/dist/_chunks/ListConfigurationPage-DiT463qx.js.map +1 -0
  29. package/dist/_chunks/{ListViewPage-Bk9VO__I.js → ListViewPage-CsrC9L_d.js} +59 -67
  30. package/dist/_chunks/ListViewPage-CsrC9L_d.js.map +1 -0
  31. package/dist/_chunks/{ListViewPage-D5D3tVPq.mjs → ListViewPage-JSyNAAYu.mjs} +60 -68
  32. package/dist/_chunks/ListViewPage-JSyNAAYu.mjs.map +1 -0
  33. package/dist/_chunks/{NoContentTypePage-DsB2F7Z1.js → NoContentTypePage-Bsvng4II.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-DsB2F7Z1.js.map → NoContentTypePage-Bsvng4II.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-DnMeuQCj.mjs → NoContentTypePage-CsrQUpBE.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-DnMeuQCj.mjs.map → NoContentTypePage-CsrQUpBE.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-BQDM64_b.js → NoPermissionsPage-CdHNJtEf.js} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-BQDM64_b.js.map → NoPermissionsPage-CdHNJtEf.js.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-OyoME_Tf.mjs → NoPermissionsPage-DNmf_pj0.mjs} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-OyoME_Tf.mjs.map → NoPermissionsPage-DNmf_pj0.mjs.map} +1 -1
  41. package/dist/_chunks/{Relations-B6B3A3mb.js → Relations-CghaPv2D.js} +3 -3
  42. package/dist/_chunks/{Relations-B6B3A3mb.js.map → Relations-CghaPv2D.js.map} +1 -1
  43. package/dist/_chunks/{Relations-BOYZmuWy.mjs → Relations-u8-37jK0.mjs} +3 -3
  44. package/dist/_chunks/{Relations-BOYZmuWy.mjs.map → Relations-u8-37jK0.mjs.map} +1 -1
  45. package/dist/_chunks/{en-Dzv55oQw.mjs → en-Ux26r5pl.mjs} +4 -1
  46. package/dist/_chunks/{en-Dzv55oQw.mjs.map → en-Ux26r5pl.mjs.map} +1 -1
  47. package/dist/_chunks/{en-BN1bvFK7.js → en-fbKQxLGn.js} +4 -1
  48. package/dist/_chunks/{en-BN1bvFK7.js.map → en-fbKQxLGn.js.map} +1 -1
  49. package/dist/_chunks/{index-DzN3kBgx.js → index-BOZx6IMg.js} +156 -283
  50. package/dist/_chunks/index-BOZx6IMg.js.map +1 -0
  51. package/dist/_chunks/{index-VHviNMeW.mjs → index-CaE6NG4a.mjs} +185 -312
  52. package/dist/_chunks/index-CaE6NG4a.mjs.map +1 -0
  53. package/dist/_chunks/{layout-CPn1PM6x.mjs → layout-Bx7svTbY.mjs} +21 -16
  54. package/dist/_chunks/layout-Bx7svTbY.mjs.map +1 -0
  55. package/dist/_chunks/{layout-b91XRlD2.js → layout-Ciz224q5.js} +20 -15
  56. package/dist/_chunks/layout-Ciz224q5.js.map +1 -0
  57. package/dist/_chunks/{relations-CA7IYmcP.js → relations-CP8sB2YZ.js} +2 -2
  58. package/dist/_chunks/{relations-CA7IYmcP.js.map → relations-CP8sB2YZ.js.map} +1 -1
  59. package/dist/_chunks/{relations-BsqxS6tR.mjs → relations-Cxc1cEv3.mjs} +2 -2
  60. package/dist/_chunks/{relations-BsqxS6tR.mjs.map → relations-Cxc1cEv3.mjs.map} +1 -1
  61. package/dist/admin/index.js +1 -1
  62. package/dist/admin/index.mjs +8 -8
  63. package/dist/admin/src/history/components/VersionInputRenderer.d.ts +1 -1
  64. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +7 -3
  65. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +4 -0
  66. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +2 -10
  67. package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +3 -30
  68. package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
  69. package/dist/server/index.js +11 -6
  70. package/dist/server/index.js.map +1 -1
  71. package/dist/server/index.mjs +11 -6
  72. package/dist/server/index.mjs.map +1 -1
  73. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  74. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  75. package/package.json +8 -8
  76. package/dist/_chunks/EditViewPage-CoQEnFlC.js.map +0 -1
  77. package/dist/_chunks/EditViewPage-DvaV7U9b.mjs.map +0 -1
  78. package/dist/_chunks/Field-Cz_J9551.mjs.map +0 -1
  79. package/dist/_chunks/Field-ZdrmmQ4Y.js.map +0 -1
  80. package/dist/_chunks/Form-Bpig5rch.js.map +0 -1
  81. package/dist/_chunks/Form-Dxmihyw8.mjs.map +0 -1
  82. package/dist/_chunks/History-BZP8n7KT.mjs.map +0 -1
  83. package/dist/_chunks/History-BfX6XmZK.js.map +0 -1
  84. package/dist/_chunks/ListConfigurationPage-B3CXj8PY.js.map +0 -1
  85. package/dist/_chunks/ListConfigurationPage-DxKuVkKz.mjs.map +0 -1
  86. package/dist/_chunks/ListViewPage-Bk9VO__I.js.map +0 -1
  87. package/dist/_chunks/ListViewPage-D5D3tVPq.mjs.map +0 -1
  88. package/dist/_chunks/index-DzN3kBgx.js.map +0 -1
  89. package/dist/_chunks/index-VHviNMeW.mjs.map +0 -1
  90. package/dist/_chunks/layout-CPn1PM6x.mjs.map +0 -1
  91. package/dist/_chunks/layout-b91XRlD2.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { useQueryParams, useNotification, Page, Form, Blocker, useRBAC } from "@strapi/admin/strapi-admin";
4
- import { Flex, Grid, GridItem, Box, Main, TabGroup, Tabs, TabPanels, TabPanel, Tab } from "@strapi/design-system";
4
+ import { Flex, Grid, Box, Main, Tabs } from "@strapi/design-system";
5
5
  import { useIntl } from "react-intl";
6
6
  import { useLocation, useParams } from "react-router-dom";
7
7
  import { styled } from "styled-components";
8
- import { b as useDoc, e as useDocumentRBAC, f as useDocumentLayout, h as createYupSchema, i as Header, g as getTranslation, P as Panels, j as PERMISSIONS, k as DocumentRBAC, S as SINGLE_TYPES } from "./index-VHviNMeW.mjs";
9
- import { M as MemoizedInputRenderer, u as useLazyComponents, c as createDefaultForm, t as transformDocument } from "./Field-Cz_J9551.mjs";
8
+ import { c as useDoc, f as useDocumentRBAC, h as useDocumentLayout, i as createYupSchema, j as Header, g as getTranslation, P as Panels, k as PERMISSIONS, l as DocumentRBAC, S as SINGLE_TYPES } from "./index-CaE6NG4a.mjs";
9
+ import { M as MemoizedInputRenderer, u as useLazyComponents, c as createDefaultForm, t as transformDocument } from "./Field-R5NbffTB.mjs";
10
10
  const useOnce = (effect) => React.useEffect(effect, emptyDeps);
11
11
  const emptyDeps = [];
12
12
  const FormLayout = ({ layout }) => {
@@ -14,7 +14,7 @@ const FormLayout = ({ layout }) => {
14
14
  if (panel.some((row) => row.some((field) => field.type === "dynamiczone"))) {
15
15
  const [row] = panel;
16
16
  const [field] = row;
17
- return /* @__PURE__ */ jsx(Grid, { gap: 4, children: /* @__PURE__ */ jsx(GridItem, { col: 12, s: 12, xs: 12, children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }) }) }, field.name);
17
+ return /* @__PURE__ */ jsx(Grid.Root, { gap: 4, children: /* @__PURE__ */ jsx(Grid.Item, { col: 12, s: 12, xs: 12, children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }) }) }, field.name);
18
18
  }
19
19
  return /* @__PURE__ */ jsx(
20
20
  Box,
@@ -27,8 +27,8 @@ const FormLayout = ({ layout }) => {
27
27
  paddingTop: 6,
28
28
  paddingBottom: 6,
29
29
  borderColor: "neutral150",
30
- children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: panel.map((row, gridRowIndex) => /* @__PURE__ */ jsx(Grid, { gap: 4, children: row.map(({ size, ...field }) => {
31
- return /* @__PURE__ */ jsx(GridItem, { col: size, s: 12, xs: 12, children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }) }, field.name);
30
+ children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: panel.map((row, gridRowIndex) => /* @__PURE__ */ jsx(Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
31
+ return /* @__PURE__ */ jsx(Grid.Item, { col: size, s: 12, xs: 12, children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }) }, field.name);
32
32
  }) }, gridRowIndex)) })
33
33
  },
34
34
  index
@@ -42,10 +42,11 @@ const EditViewPage = () => {
42
42
  query: { status }
43
43
  },
44
44
  setQuery
45
- ] = useQueryParams();
45
+ ] = useQueryParams({
46
+ status: "draft"
47
+ });
46
48
  const { formatMessage } = useIntl();
47
49
  const { toggleNotification } = useNotification();
48
- const tabApi = React.useRef(null);
49
50
  const {
50
51
  document,
51
52
  meta,
@@ -91,11 +92,9 @@ const EditViewPage = () => {
91
92
  if (!initialValues) {
92
93
  return /* @__PURE__ */ jsx(Page.Error, {});
93
94
  }
94
- const handleTabChange = (index) => {
95
- if (index === 0) {
96
- setQuery({ status: "draft" }, "push", true);
97
- } else {
98
- setQuery({ status: "published" }, "push", true);
95
+ const handleTabChange = (status2) => {
96
+ if (status2 === "published" || status2 === "draft") {
97
+ setQuery({ status: status2 }, "push", true);
99
98
  }
100
99
  };
101
100
  const documentTitle = mainField !== "id" && document?.[mainField] ? document[mainField] : "Untitled";
@@ -117,40 +116,41 @@ const EditViewPage = () => {
117
116
  title: documentTitle
118
117
  }
119
118
  ),
120
- /* @__PURE__ */ jsxs(
121
- TabGroup,
122
- {
123
- ref: tabApi,
124
- variant: "simple",
125
- label: formatMessage({
126
- id: getTranslation("containers.edit.tabs.label"),
127
- defaultMessage: "Document status"
128
- }),
129
- selectedTabIndex: hasDraftAndPublished && status === "published" ? 1 : 0,
130
- onTabChange: (index) => {
131
- handleTabChange(index);
132
- },
133
- children: [
134
- hasDraftAndPublished ? /* @__PURE__ */ jsxs(Tabs, { children: [
135
- /* @__PURE__ */ jsx(StatusTab, { children: formatMessage({
119
+ /* @__PURE__ */ jsxs(Tabs.Root, { variant: "simple", value: status, onValueChange: handleTabChange, children: [
120
+ /* @__PURE__ */ jsx(
121
+ Tabs.List,
122
+ {
123
+ "aria-label": formatMessage({
124
+ id: getTranslation("containers.edit.tabs.label"),
125
+ defaultMessage: "Document status"
126
+ }),
127
+ children: hasDraftAndPublished ? /* @__PURE__ */ jsxs(Fragment, { children: [
128
+ /* @__PURE__ */ jsx(StatusTab, { value: "draft", children: formatMessage({
136
129
  id: getTranslation("containers.edit.tabs.draft"),
137
130
  defaultMessage: "draft"
138
131
  }) }),
139
- /* @__PURE__ */ jsx(StatusTab, { disabled: !meta || meta.availableStatus.length === 0, children: formatMessage({
140
- id: getTranslation("containers.edit.tabs.published"),
141
- defaultMessage: "published"
142
- }) })
143
- ] }) : null,
144
- /* @__PURE__ */ jsxs(Grid, { paddingTop: 8, gap: 4, children: [
145
- /* @__PURE__ */ jsx(GridItem, { col: 9, s: 12, children: /* @__PURE__ */ jsxs(TabPanels, { children: [
146
- /* @__PURE__ */ jsx(TabPanel, { children: /* @__PURE__ */ jsx(FormLayout, { layout }) }),
147
- /* @__PURE__ */ jsx(TabPanel, { children: /* @__PURE__ */ jsx(FormLayout, { layout }) })
148
- ] }) }),
149
- /* @__PURE__ */ jsx(GridItem, { col: 3, s: 12, children: /* @__PURE__ */ jsx(Panels, {}) })
150
- ] })
151
- ]
152
- }
153
- ),
132
+ /* @__PURE__ */ jsx(
133
+ StatusTab,
134
+ {
135
+ disabled: !meta || meta.availableStatus.length === 0,
136
+ value: "published",
137
+ children: formatMessage({
138
+ id: getTranslation("containers.edit.tabs.published"),
139
+ defaultMessage: "published"
140
+ })
141
+ }
142
+ )
143
+ ] }) : null
144
+ }
145
+ ),
146
+ /* @__PURE__ */ jsxs(Grid.Root, { paddingTop: 8, gap: 4, children: [
147
+ /* @__PURE__ */ jsxs(Grid.Item, { col: 9, s: 12, children: [
148
+ /* @__PURE__ */ jsx(Tabs.Content, { value: "draft", children: /* @__PURE__ */ jsx(FormLayout, { layout }) }),
149
+ /* @__PURE__ */ jsx(Tabs.Content, { value: "published", children: /* @__PURE__ */ jsx(FormLayout, { layout }) })
150
+ ] }),
151
+ /* @__PURE__ */ jsx(Grid.Item, { col: 3, s: 12, children: /* @__PURE__ */ jsx(Panels, {}) })
152
+ ] })
153
+ ] }),
154
154
  /* @__PURE__ */ jsx(
155
155
  Blocker,
156
156
  {
@@ -162,7 +162,7 @@ const EditViewPage = () => {
162
162
  )
163
163
  ] });
164
164
  };
165
- const StatusTab = styled(Tab)`
165
+ const StatusTab = styled(Tabs.Trigger)`
166
166
  text-transform: uppercase;
167
167
  `;
168
168
  const getDocumentStatus = (document, meta) => {
@@ -200,4 +200,4 @@ export {
200
200
  EditViewPage,
201
201
  ProtectedEditViewPage
202
202
  };
203
- //# sourceMappingURL=EditViewPage-DvaV7U9b.mjs.map
203
+ //# sourceMappingURL=EditViewPage-BtkEx339.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditViewPage-BtkEx339.mjs","sources":["../../admin/src/hooks/useOnce.ts","../../admin/src/pages/EditView/components/FormLayout.tsx","../../admin/src/pages/EditView/EditViewPage.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport * as React from 'react';\n\nexport const useOnce = (effect: React.EffectCallback) => React.useEffect(effect, emptyDeps);\n\nconst emptyDeps: React.DependencyList = [];\n","import { Box, Flex, Grid } from '@strapi/design-system';\n\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {}\n\nconst FormLayout = ({ layout }: FormLayoutProps) => {\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {layout.map((panel, index) => {\n if (panel.some((row) => row.some((field) => field.type === 'dynamiczone'))) {\n const [row] = panel;\n const [field] = row;\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12}>\n <InputRenderer {...field} />\n </Grid.Item>\n </Grid.Root>\n );\n }\n\n return (\n <Box\n key={index}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingLeft={6}\n paddingRight={6}\n paddingTop={6}\n paddingBottom={6}\n borderColor=\"neutral150\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {panel.map((row, gridRowIndex) => (\n <Grid.Root key={gridRowIndex} gap={4}>\n {row.map(({ size, ...field }) => {\n return (\n <Grid.Item col={size} key={field.name} s={12} xs={12}>\n <InputRenderer {...field} />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n ))}\n </Flex>\n </Box>\n );\n })}\n </Flex>\n );\n};\n\nexport { FormLayout, FormLayoutProps };\n","import * as React from 'react';\n\nimport {\n Page,\n Blocker,\n Form,\n useRBAC,\n useNotification,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Grid, Main, Tabs } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useParams } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { SINGLE_TYPES } from '../../constants/collections';\nimport { PERMISSIONS } from '../../constants/plugin';\nimport { DocumentRBAC, useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { type UseDocument, useDoc } from '../../hooks/useDocument';\nimport { useDocumentLayout } from '../../hooks/useDocumentLayout';\nimport { useLazyComponents } from '../../hooks/useLazyComponents';\nimport { useOnce } from '../../hooks/useOnce';\nimport { getTranslation } from '../../utils/translations';\nimport { createYupSchema } from '../../utils/validation';\n\nimport { FormLayout } from './components/FormLayout';\nimport { Header } from './components/Header';\nimport { Panels } from './components/Panels';\nimport { transformDocument } from './utils/data';\nimport { createDefaultForm } from './utils/forms';\n\n/* -------------------------------------------------------------------------------------------------\n * EditViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditViewPage = () => {\n const location = useLocation();\n const [\n {\n query: { status },\n },\n setQuery,\n ] = useQueryParams<{ status: 'draft' | 'published' }>({\n status: 'draft',\n });\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const {\n document,\n meta,\n isLoading: isLoadingDocument,\n schema,\n components,\n collectionType,\n id,\n model,\n } = useDoc();\n\n const hasDraftAndPublished = schema?.options?.draftAndPublish ?? false;\n\n useOnce(() => {\n /**\n * We only ever want to fire the notification once otherwise\n * whenever the app re-renders it'll pop up regardless of\n * what we do because the state comes from react-router-dom\n */\n if (location?.state && 'error' in location.state) {\n toggleNotification({\n type: 'danger',\n message: location.state.error,\n timeout: 5000,\n });\n }\n });\n\n const isLoadingActionsRBAC = useDocumentRBAC('EditViewPage', (state) => state.isLoading);\n\n const isSingleType = collectionType === SINGLE_TYPES;\n\n /**\n * single-types don't current have an id, but because they're a singleton\n * we can simply use the update operation to continuously update the same\n * document with varying params.\n */\n const isCreatingDocument = !id && !isSingleType;\n\n const {\n isLoading: isLoadingLayout,\n edit: {\n layout,\n settings: { mainField },\n },\n } = useDocumentLayout(model);\n\n const { isLazyLoading } = useLazyComponents([]);\n\n const isLoading = isLoadingActionsRBAC || isLoadingDocument || isLoadingLayout || isLazyLoading;\n\n /**\n * Here we prepare the form for editing, we need to:\n * - remove prohibited fields from the document (passwords | ADD YOURS WHEN THERES A NEW ONE)\n * - swap out count objects on relations for empty arrays\n * - set __temp_key__ on array objects for drag & drop\n *\n * We also prepare the form for new documents, so we need to:\n * - set default values on fields\n */\n const initialValues = React.useMemo(() => {\n if ((!document && !isCreatingDocument && !isSingleType) || !schema) {\n return undefined;\n }\n\n /**\n * Check that we have an ID so we know the\n * document has been created in some way.\n */\n const form = document?.id ? document : createDefaultForm(schema, components);\n\n return transformDocument(schema, components)(form);\n }, [document, isCreatingDocument, isSingleType, schema, components]);\n\n if (isLoading && !document?.documentId) {\n return <Page.Loading />;\n }\n\n if (!initialValues) {\n return <Page.Error />;\n }\n\n const handleTabChange = (status: string) => {\n if (status === 'published' || status === 'draft') {\n setQuery({ status }, 'push', true);\n }\n };\n\n /**\n * We look to see what the mainField is from the configuration,\n * if it's an id we don't use it because it's a uuid format and\n * not very user friendly. Instead in that case, we simply write \"Untitled\".\n */\n const documentTitle =\n mainField !== 'id' && document?.[mainField] ? document[mainField] : 'Untitled';\n\n return (\n <Main paddingLeft={10} paddingRight={10}>\n <Page.Title>{`${documentTitle}`}</Page.Title>\n <Form\n disabled={hasDraftAndPublished && status === 'published'}\n initialValues={initialValues}\n method={isCreatingDocument ? 'POST' : 'PUT'}\n validationSchema={createYupSchema(schema?.attributes, components)}\n >\n {({ resetForm }) => (\n <>\n <Header\n isCreating={isCreatingDocument}\n status={hasDraftAndPublished ? getDocumentStatus(document, meta) : undefined}\n title={documentTitle}\n />\n <Tabs.Root variant=\"simple\" value={status} onValueChange={handleTabChange}>\n <Tabs.List\n aria-label={formatMessage({\n id: getTranslation('containers.edit.tabs.label'),\n defaultMessage: 'Document status',\n })}\n >\n {hasDraftAndPublished ? (\n <>\n <StatusTab value=\"draft\">\n {formatMessage({\n id: getTranslation('containers.edit.tabs.draft'),\n defaultMessage: 'draft',\n })}\n </StatusTab>\n <StatusTab\n disabled={!meta || meta.availableStatus.length === 0}\n value=\"published\"\n >\n {formatMessage({\n id: getTranslation('containers.edit.tabs.published'),\n defaultMessage: 'published',\n })}\n </StatusTab>\n </>\n ) : null}\n </Tabs.List>\n <Grid.Root paddingTop={8} gap={4}>\n <Grid.Item col={9} s={12}>\n <Tabs.Content value=\"draft\">\n <FormLayout layout={layout} />\n </Tabs.Content>\n <Tabs.Content value=\"published\">\n <FormLayout layout={layout} />\n </Tabs.Content>\n </Grid.Item>\n <Grid.Item col={3} s={12}>\n <Panels />\n </Grid.Item>\n </Grid.Root>\n </Tabs.Root>\n <Blocker\n // We reset the form to the published version to avoid errors like – https://strapi-inc.atlassian.net/browse/CONTENT-2284\n onProceed={resetForm}\n />\n </>\n )}\n </Form>\n </Main>\n );\n};\n\nconst StatusTab = styled(Tabs.Trigger)`\n text-transform: uppercase;\n`;\n\n/**\n * @internal\n * @description Returns the status of the document where it's latest state takes priority,\n * this typically will be \"published\" unless a user has edited their draft in which we should\n * display \"modified\".\n */\nconst getDocumentStatus = (\n document: ReturnType<UseDocument>['document'],\n meta: ReturnType<UseDocument>['meta']\n): 'draft' | 'published' | 'modified' => {\n const docStatus = document?.status;\n const statuses = meta?.availableStatus ?? [];\n\n /**\n * Creating an entry\n */\n if (!docStatus) {\n return 'draft';\n }\n\n /**\n * We're viewing a draft, but the document could have a published version\n */\n if (docStatus === 'draft' && statuses.find((doc) => doc.publishedAt !== null)) {\n return 'published';\n }\n\n return docStatus;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditViewPage = () => {\n const { slug = '' } = useParams<{\n slug: string;\n }>();\n const {\n permissions = [],\n isLoading,\n error,\n } = useRBAC(\n PERMISSIONS.map((action) => ({\n action,\n subject: slug,\n }))\n );\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !slug) {\n return <Page.Error />;\n }\n\n return (\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <EditViewPage />\n </DocumentRBAC>\n )}\n </Page.Protect>\n );\n};\n\nexport { EditViewPage, ProtectedEditViewPage };\n"],"names":["InputRenderer","status","permissions"],"mappings":"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"}