@strapi/content-manager 0.0.0-experimental.25e22c6cc9bc6b35392bb55d09f641a0a65e7403 → 0.0.0-experimental.3c73a4c6f6073abdf1608121a200c3d4d87b1aa8

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 (87) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-WRPUXGd6.js → ComponentConfigurationPage-BZIaEffq.js} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-WRPUXGd6.js.map → ComponentConfigurationPage-BZIaEffq.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-gdUj_t-O.mjs → ComponentConfigurationPage-Cxz51Sve.mjs} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-gdUj_t-O.mjs.map → ComponentConfigurationPage-Cxz51Sve.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-C1vjMBgy.js → EditConfigurationPage-CM62NN0L.js} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-C1vjMBgy.js.map → EditConfigurationPage-CM62NN0L.js.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-BwuIPOJG.mjs → EditConfigurationPage-CZLbgfIp.mjs} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-BwuIPOJG.mjs.map → EditConfigurationPage-CZLbgfIp.mjs.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-DbcGfyqK.js → EditViewPage-CU7724gt.js} +45 -45
  10. package/dist/_chunks/EditViewPage-CU7724gt.js.map +1 -0
  11. package/dist/_chunks/{EditViewPage-0MiFkXa8.mjs → EditViewPage-CzuJgWWp.mjs} +46 -46
  12. package/dist/_chunks/EditViewPage-CzuJgWWp.mjs.map +1 -0
  13. package/dist/_chunks/{Field-BG1xu38N.js → Field-Dh1yZyqy.js} +115 -103
  14. package/dist/_chunks/Field-Dh1yZyqy.js.map +1 -0
  15. package/dist/_chunks/{Field-BDMSCcy5.mjs → Field-QtUSh5mU.mjs} +116 -104
  16. package/dist/_chunks/Field-QtUSh5mU.mjs.map +1 -0
  17. package/dist/_chunks/{Form-9BnFyUjy.js → Form-BOR8NOe1.js} +25 -21
  18. package/dist/_chunks/Form-BOR8NOe1.js.map +1 -0
  19. package/dist/_chunks/{Form-CPVWavB8.mjs → Form-COLpvlnv.mjs} +27 -23
  20. package/dist/_chunks/Form-COLpvlnv.mjs.map +1 -0
  21. package/dist/_chunks/{History-BVpd8LP3.mjs → History-Bu53Yfw-.mjs} +22 -101
  22. package/dist/_chunks/History-Bu53Yfw-.mjs.map +1 -0
  23. package/dist/_chunks/{History-BWWxLt2Z.js → History-CW2akQ6h.js} +21 -100
  24. package/dist/_chunks/History-CW2akQ6h.js.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-DozVMKcR.mjs → ListConfigurationPage-TqrmwjPN.mjs} +45 -43
  26. package/dist/_chunks/ListConfigurationPage-TqrmwjPN.mjs.map +1 -0
  27. package/dist/_chunks/{ListConfigurationPage-6swzjdAZ.js → ListConfigurationPage-jzdhEk_u.js} +43 -42
  28. package/dist/_chunks/ListConfigurationPage-jzdhEk_u.js.map +1 -0
  29. package/dist/_chunks/{ListViewPage-BlzfjS2Q.js → ListViewPage-B3bMOrMv.js} +64 -47
  30. package/dist/_chunks/ListViewPage-B3bMOrMv.js.map +1 -0
  31. package/dist/_chunks/{ListViewPage-Ds0ulgfG.mjs → ListViewPage-BO_mOXIl.mjs} +65 -48
  32. package/dist/_chunks/ListViewPage-BO_mOXIl.mjs.map +1 -0
  33. package/dist/_chunks/{NoContentTypePage-D2nCCWEl.js → NoContentTypePage-D77xsNHj.js} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-D2nCCWEl.js.map → NoContentTypePage-D77xsNHj.js.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-BH11kaKt.mjs → NoContentTypePage-DqB0QV0k.mjs} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-BH11kaKt.mjs.map → NoContentTypePage-DqB0QV0k.mjs.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-DN_JlsU2.js → NoPermissionsPage-C6qTGogm.js} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-DN_JlsU2.js.map → NoPermissionsPage-C6qTGogm.js.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-BT2Tn0D_.mjs → NoPermissionsPage-DTXi042N.mjs} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-BT2Tn0D_.mjs.map → NoPermissionsPage-DTXi042N.mjs.map} +1 -1
  41. package/dist/_chunks/{Relations-CcgFTcWo.js → Relations-B6fb2POW.js} +3 -3
  42. package/dist/_chunks/{Relations-CcgFTcWo.js.map → Relations-B6fb2POW.js.map} +1 -1
  43. package/dist/_chunks/{Relations-Dnag3fhV.mjs → Relations-CJ4qdkRo.mjs} +3 -3
  44. package/dist/_chunks/{Relations-Dnag3fhV.mjs.map → Relations-CJ4qdkRo.mjs.map} +1 -1
  45. package/dist/_chunks/{en-Ux26r5pl.mjs → en-9GwRW_ku.mjs} +1 -3
  46. package/dist/_chunks/{en-Ux26r5pl.mjs.map → en-9GwRW_ku.mjs.map} +1 -1
  47. package/dist/_chunks/{en-fbKQxLGn.js → en-DZXjRiWA.js} +1 -3
  48. package/dist/_chunks/{en-fbKQxLGn.js.map → en-DZXjRiWA.js.map} +1 -1
  49. package/dist/_chunks/{index-JNNNKUHs.mjs → index-Dahjdw4h.mjs} +266 -88
  50. package/dist/_chunks/index-Dahjdw4h.mjs.map +1 -0
  51. package/dist/_chunks/{index-CWpLBSt0.js → index-DcUu-_72.js} +265 -87
  52. package/dist/_chunks/index-DcUu-_72.js.map +1 -0
  53. package/dist/_chunks/{layout--iHdZzRk.js → layout-jcY4dyUG.js} +3 -3
  54. package/dist/_chunks/{layout--iHdZzRk.js.map → layout-jcY4dyUG.js.map} +1 -1
  55. package/dist/_chunks/{layout-DC503LnF.mjs → layout-omucV6TV.mjs} +3 -3
  56. package/dist/_chunks/{layout-DC503LnF.mjs.map → layout-omucV6TV.mjs.map} +1 -1
  57. package/dist/_chunks/{relations-CTje5t-a.mjs → relations-CN0-aw6p.mjs} +2 -2
  58. package/dist/_chunks/{relations-CTje5t-a.mjs.map → relations-CN0-aw6p.mjs.map} +1 -1
  59. package/dist/_chunks/{relations-BbHizA5K.js → relations-DGzD7ORa.js} +2 -2
  60. package/dist/_chunks/{relations-BbHizA5K.js.map → relations-DGzD7ORa.js.map} +1 -1
  61. package/dist/admin/index.js +1 -1
  62. package/dist/admin/index.mjs +1 -1
  63. package/dist/admin/src/history/components/VersionInputRenderer.d.ts +1 -1
  64. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +3 -7
  65. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +10 -2
  66. package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +30 -3
  67. package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
  68. package/dist/server/index.js +0 -3
  69. package/dist/server/index.js.map +1 -1
  70. package/dist/server/index.mjs +0 -3
  71. package/dist/server/index.mjs.map +1 -1
  72. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  73. package/package.json +8 -8
  74. package/dist/_chunks/EditViewPage-0MiFkXa8.mjs.map +0 -1
  75. package/dist/_chunks/EditViewPage-DbcGfyqK.js.map +0 -1
  76. package/dist/_chunks/Field-BDMSCcy5.mjs.map +0 -1
  77. package/dist/_chunks/Field-BG1xu38N.js.map +0 -1
  78. package/dist/_chunks/Form-9BnFyUjy.js.map +0 -1
  79. package/dist/_chunks/Form-CPVWavB8.mjs.map +0 -1
  80. package/dist/_chunks/History-BVpd8LP3.mjs.map +0 -1
  81. package/dist/_chunks/History-BWWxLt2Z.js.map +0 -1
  82. package/dist/_chunks/ListConfigurationPage-6swzjdAZ.js.map +0 -1
  83. package/dist/_chunks/ListConfigurationPage-DozVMKcR.mjs.map +0 -1
  84. package/dist/_chunks/ListViewPage-BlzfjS2Q.js.map +0 -1
  85. package/dist/_chunks/ListViewPage-Ds0ulgfG.mjs.map +0 -1
  86. package/dist/_chunks/index-CWpLBSt0.js.map +0 -1
  87. package/dist/_chunks/index-JNNNKUHs.mjs.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, Box, Main, Tabs } from "@strapi/design-system";
4
+ import { Flex, Grid, GridItem, Box, Main, TabGroup, Tabs, TabPanels, TabPanel, Tab } 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 { 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-JNNNKUHs.mjs";
9
- import { M as MemoizedInputRenderer, u as useLazyComponents, c as createDefaultForm, t as transformDocument } from "./Field-BDMSCcy5.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-Dahjdw4h.mjs";
9
+ import { M as MemoizedInputRenderer, u as useLazyComponents, c as createDefaultForm, t as transformDocument } from "./Field-QtUSh5mU.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.Root, { gap: 4, children: /* @__PURE__ */ jsx(Grid.Item, { col: 12, s: 12, xs: 12, children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field }) }) }, field.name);
17
+ return /* @__PURE__ */ jsx(Grid, { gap: 4, children: /* @__PURE__ */ jsx(GridItem, { 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.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);
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);
32
32
  }) }, gridRowIndex)) })
33
33
  },
34
34
  index
@@ -42,11 +42,10 @@ const EditViewPage = () => {
42
42
  query: { status }
43
43
  },
44
44
  setQuery
45
- ] = useQueryParams({
46
- status: "draft"
47
- });
45
+ ] = useQueryParams();
48
46
  const { formatMessage } = useIntl();
49
47
  const { toggleNotification } = useNotification();
48
+ const tabApi = React.useRef(null);
50
49
  const {
51
50
  document,
52
51
  meta,
@@ -92,9 +91,11 @@ const EditViewPage = () => {
92
91
  if (!initialValues) {
93
92
  return /* @__PURE__ */ jsx(Page.Error, {});
94
93
  }
95
- const handleTabChange = (status2) => {
96
- if (status2 === "published" || status2 === "draft") {
97
- setQuery({ status: status2 }, "push", true);
94
+ const handleTabChange = (index) => {
95
+ if (index === 0) {
96
+ setQuery({ status: "draft" }, "push", true);
97
+ } else {
98
+ setQuery({ status: "published" }, "push", true);
98
99
  }
99
100
  };
100
101
  const documentTitle = mainField !== "id" && document?.[mainField] ? document[mainField] : "Untitled";
@@ -116,41 +117,40 @@ const EditViewPage = () => {
116
117
  title: documentTitle
117
118
  }
118
119
  ),
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({
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({
129
136
  id: getTranslation("containers.edit.tabs.draft"),
130
137
  defaultMessage: "draft"
131
138
  }) }),
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
- ] }),
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
+ ),
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(Tabs.Trigger)`
165
+ const StatusTab = styled(Tab)`
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-0MiFkXa8.mjs.map
203
+ //# sourceMappingURL=EditViewPage-CzuJgWWp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditViewPage-CzuJgWWp.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, GridItem } 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 key={field.name} gap={4}>\n <GridItem col={12} s={12} xs={12}>\n <InputRenderer {...field} />\n </GridItem>\n </Grid>\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 key={gridRowIndex} gap={4}>\n {row.map(({ size, ...field }) => {\n return (\n <GridItem col={size} key={field.name} s={12} xs={12}>\n <InputRenderer {...field} />\n </GridItem>\n );\n })}\n </Grid>\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 {\n Grid,\n GridItem,\n Main,\n SetSelectedTabIndexHandler,\n Tab,\n TabGroup,\n TabPanel,\n TabPanels,\n Tabs,\n} 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 const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const tabApi = React.useRef<{\n _handlers: {\n setSelectedTabIndex: SetSelectedTabIndexHandler;\n };\n }>(null);\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 = (index: number) => {\n if (index === 0) {\n setQuery({ status: 'draft' }, 'push', true);\n } else {\n setQuery({ status: 'published' }, '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 <TabGroup\n ref={tabApi}\n variant=\"simple\"\n label={formatMessage({\n id: getTranslation('containers.edit.tabs.label'),\n defaultMessage: 'Document status',\n })}\n selectedTabIndex={hasDraftAndPublished && status === 'published' ? 1 : 0}\n onTabChange={(index) => {\n // TODO: remove this hack when the tabs in the DS are implemented well and we can actually use callbacks.\n handleTabChange(index);\n }}\n >\n {hasDraftAndPublished ? (\n <Tabs>\n <StatusTab>\n {formatMessage({\n id: getTranslation('containers.edit.tabs.draft'),\n defaultMessage: 'draft',\n })}\n </StatusTab>\n <StatusTab disabled={!meta || meta.availableStatus.length === 0}>\n {formatMessage({\n id: getTranslation('containers.edit.tabs.published'),\n defaultMessage: 'published',\n })}\n </StatusTab>\n </Tabs>\n ) : null}\n <Grid paddingTop={8} gap={4}>\n <GridItem col={9} s={12}>\n <TabPanels>\n <TabPanel>\n <FormLayout layout={layout} />\n </TabPanel>\n <TabPanel>\n <FormLayout layout={layout} />\n </TabPanel>\n </TabPanels>\n </GridItem>\n <GridItem col={3} s={12}>\n <Panels />\n </GridItem>\n </Grid>\n </TabGroup>\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(Tab)`\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","permissions"],"mappings":";;;;;;;;;AAGO,MAAM,UAAU,CAAC,WAAiC,MAAM,UAAU,QAAQ,SAAS;AAE1F,MAAM,YAAkC,CAAC;ACGzC,MAAM,aAAa,CAAC,EAAE,aAA8B;AAClD,SACG,oBAAA,MAAA,EAAK,WAAU,UAAS,YAAW,WAAU,KAAK,GAChD,UAAO,OAAA,IAAI,CAAC,OAAO,UAAU;AAC5B,QAAI,MAAM,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,MAAM,SAAS,aAAa,CAAC,GAAG;AACpE,YAAA,CAAC,GAAG,IAAI;AACR,YAAA,CAAC,KAAK,IAAI;AAChB,iCACG,MAAsB,EAAA,KAAK,GAC1B,UAAC,oBAAA,UAAA,EAAS,KAAK,IAAI,GAAG,IAAI,IAAI,IAC5B,8BAACA,uBAAe,EAAA,GAAG,MAAO,CAAA,GAC5B,EAAA,GAHS,MAAM,IAIjB;AAAA,IAEJ;AAGE,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,WAAS;AAAA,QACT,YAAW;AAAA,QACX,QAAO;AAAA,QACP,aAAa;AAAA,QACb,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,aAAY;AAAA,QAEZ,UAAA,oBAAC,MAAK,EAAA,WAAU,UAAS,YAAW,WAAU,KAAK,GAChD,UAAM,MAAA,IAAI,CAAC,KAAK,iBACd,oBAAA,MAAA,EAAwB,KAAK,GAC3B,UAAI,IAAA,IAAI,CAAC,EAAE,MAAM,GAAG,MAAA,MAAY;AAC/B,iBACG,oBAAA,UAAA,EAAS,KAAK,MAAuB,GAAG,IAAI,IAAI,IAC/C,UAAA,oBAACA,uBAAe,EAAA,GAAG,MAAO,CAAA,KADF,MAAM,IAEhC;AAAA,QAAA,CAEH,EAAA,GAPQ,YAQX,CACD,GACH;AAAA,MAAA;AAAA,MAtBK;AAAA,IAAA;AAAA,EAyBV,CAAA,EACH,CAAA;AAEJ;ACTA,MAAM,eAAe,MAAM;AACzB,QAAM,WAAW;AACX,QAAA;AAAA,IACJ;AAAA,MACE,OAAO,EAAE,OAAO;AAAA,IAClB;AAAA,IACA;AAAA,MACE,eAAkD;AAChD,QAAA,EAAE,kBAAkB;AACpB,QAAA,EAAE,uBAAuB;AACzB,QAAA,SAAS,MAAM,OAIlB,IAAI;AAED,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,OAAO;AAEL,QAAA,uBAAuB,QAAQ,SAAS,mBAAmB;AAEjE,UAAQ,MAAM;AAMZ,QAAI,UAAU,SAAS,WAAW,SAAS,OAAO;AAC7B,yBAAA;AAAA,QACjB,MAAM;AAAA,QACN,SAAS,SAAS,MAAM;AAAA,QACxB,SAAS;AAAA,MAAA,CACV;AAAA,IACH;AAAA,EAAA,CACD;AAED,QAAM,uBAAuB,gBAAgB,gBAAgB,CAAC,UAAU,MAAM,SAAS;AAEvF,QAAM,eAAe,mBAAmB;AAOlC,QAAA,qBAAqB,CAAC,MAAM,CAAC;AAE7B,QAAA;AAAA,IACJ,WAAW;AAAA,IACX,MAAM;AAAA,MACJ;AAAA,MACA,UAAU,EAAE,UAAU;AAAA,IACxB;AAAA,EAAA,IACE,kBAAkB,KAAK;AAE3B,QAAM,EAAE,cAAA,IAAkB,kBAAkB,CAAE,CAAA;AAExC,QAAA,YAAY,wBAAwB,qBAAqB,mBAAmB;AAW5E,QAAA,gBAAgB,MAAM,QAAQ,MAAM;AACxC,QAAK,CAAC,YAAY,CAAC,sBAAsB,CAAC,gBAAiB,CAAC,QAAQ;AAC3D,aAAA;AAAA,IACT;AAMA,UAAM,OAAO,UAAU,KAAK,WAAW,kBAAkB,QAAQ,UAAU;AAE3E,WAAO,kBAAkB,QAAQ,UAAU,EAAE,IAAI;AAAA,EAAA,GAChD,CAAC,UAAU,oBAAoB,cAAc,QAAQ,UAAU,CAAC;AAE/D,MAAA,aAAa,CAAC,UAAU,YAAY;AAC/B,WAAA,oBAAC,KAAK,SAAL,CAAa,CAAA;AAAA,EACvB;AAEA,MAAI,CAAC,eAAe;AACX,WAAA,oBAAC,KAAK,OAAL,CAAW,CAAA;AAAA,EACrB;AAEM,QAAA,kBAAkB,CAAC,UAAkB;AACzC,QAAI,UAAU,GAAG;AACf,eAAS,EAAE,QAAQ,QAAQ,GAAG,QAAQ,IAAI;AAAA,IAAA,OACrC;AACL,eAAS,EAAE,QAAQ,YAAY,GAAG,QAAQ,IAAI;AAAA,IAChD;AAAA,EAAA;AAQI,QAAA,gBACJ,cAAc,QAAQ,WAAW,SAAS,IAAI,SAAS,SAAS,IAAI;AAEtE,SACG,qBAAA,MAAA,EAAK,aAAa,IAAI,cAAc,IACnC,UAAA;AAAA,IAAA,oBAAC,KAAK,OAAL,EAAY,UAAA,GAAG,aAAa,IAAG;AAAA,IAChC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,wBAAwB,WAAW;AAAA,QAC7C;AAAA,QACA,QAAQ,qBAAqB,SAAS;AAAA,QACtC,kBAAkB,gBAAgB,QAAQ,YAAY,UAAU;AAAA,QAE/D,UAAC,CAAA,EAAE,UAAU,MAEV,qBAAA,UAAA,EAAA,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,YAAY;AAAA,cACZ,QAAQ,uBAAuB,kBAAkB,UAAU,IAAI,IAAI;AAAA,cACnE,OAAO;AAAA,YAAA;AAAA,UACT;AAAA,UACA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAK;AAAA,cACL,SAAQ;AAAA,cACR,OAAO,cAAc;AAAA,gBACnB,IAAI,eAAe,4BAA4B;AAAA,gBAC/C,gBAAgB;AAAA,cAAA,CACjB;AAAA,cACD,kBAAkB,wBAAwB,WAAW,cAAc,IAAI;AAAA,cACvE,aAAa,CAAC,UAAU;AAEtB,gCAAgB,KAAK;AAAA,cACvB;AAAA,cAEC,UAAA;AAAA,gBAAA,4CACE,MACC,EAAA,UAAA;AAAA,kBAAA,oBAAC,aACE,UAAc,cAAA;AAAA,oBACb,IAAI,eAAe,4BAA4B;AAAA,oBAC/C,gBAAgB;AAAA,kBACjB,CAAA,GACH;AAAA,kBACA,oBAAC,aAAU,UAAU,CAAC,QAAQ,KAAK,gBAAgB,WAAW,GAC3D,UAAc,cAAA;AAAA,oBACb,IAAI,eAAe,gCAAgC;AAAA,oBACnD,gBAAgB;AAAA,kBACjB,CAAA,GACH;AAAA,gBAAA,EAAA,CACF,IACE;AAAA,gBACH,qBAAA,MAAA,EAAK,YAAY,GAAG,KAAK,GACxB,UAAA;AAAA,kBAAA,oBAAC,YAAS,KAAK,GAAG,GAAG,IACnB,+BAAC,WACC,EAAA,UAAA;AAAA,oBAAA,oBAAC,UACC,EAAA,UAAA,oBAAC,YAAW,EAAA,OAAgB,CAAA,GAC9B;AAAA,oBACC,oBAAA,UAAA,EACC,UAAC,oBAAA,YAAA,EAAW,OAAgB,CAAA,GAC9B;AAAA,kBAAA,EAAA,CACF,EACF,CAAA;AAAA,kBACA,oBAAC,YAAS,KAAK,GAAG,GAAG,IACnB,UAAA,oBAAC,UAAO,EACV,CAAA;AAAA,gBAAA,GACF;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,UACA;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,WAAW;AAAA,YAAA;AAAA,UACb;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF,EAAA,CAAA;AAEJ;AAEA,MAAM,YAAY,OAAO,GAAG;AAAA;AAAA;AAU5B,MAAM,oBAAoB,CACxB,UACA,SACuC;AACvC,QAAM,YAAY,UAAU;AACtB,QAAA,WAAW,MAAM,mBAAmB;AAK1C,MAAI,CAAC,WAAW;AACP,WAAA;AAAA,EACT;AAKI,MAAA,cAAc,WAAW,SAAS,KAAK,CAAC,QAAQ,IAAI,gBAAgB,IAAI,GAAG;AACtE,WAAA;AAAA,EACT;AAEO,SAAA;AACT;AAMA,MAAM,wBAAwB,MAAM;AAClC,QAAM,EAAE,OAAO,GAAG,IAAI,UAEnB;AACG,QAAA;AAAA,IACJ,cAAc,CAAC;AAAA,IACf;AAAA,IACA;AAAA,EAAA,IACE;AAAA,IACF,YAAY,IAAI,CAAC,YAAY;AAAA,MAC3B;AAAA,MACA,SAAS;AAAA,IAAA,EACT;AAAA,EAAA;AAGJ,MAAI,WAAW;AACN,WAAA,oBAAC,KAAK,SAAL,CAAa,CAAA;AAAA,EACvB;AAEI,MAAA,SAAS,CAAC,MAAM;AACX,WAAA,oBAAC,KAAK,OAAL,CAAW,CAAA;AAAA,EACrB;AAEA,6BACG,KAAK,SAAL,EAAa,aACX,WAAC,EAAE,aAAAC,uCACD,cAAa,EAAA,aAAaA,cACzB,UAAC,oBAAA,cAAA,CAAa,CAAA,GAChB,EAEJ,CAAA;AAEJ;"}
@@ -5,9 +5,9 @@ const strapiAdmin = require("@strapi/admin/strapi-admin");
5
5
  const designSystem = require("@strapi/design-system");
6
6
  const pipe$1 = require("lodash/fp/pipe");
7
7
  const reactIntl = require("react-intl");
8
- const index = require("./index-CWpLBSt0.js");
8
+ const index = require("./index-DcUu-_72.js");
9
9
  const fractionalIndexing = require("fractional-indexing");
10
- const Relations = require("./Relations-CcgFTcWo.js");
10
+ const Relations = require("./Relations-B6fb2POW.js");
11
11
  const Icons = require("@strapi/icons");
12
12
  const styledComponents = require("styled-components");
13
13
  const ComponentIcon = require("./ComponentIcon-BXdiCGQp.js");
@@ -623,23 +623,17 @@ const LinkContent = React__namespace.forwardRef(
623
623
  const [popoverOpen, setPopoverOpen] = React__namespace.useState(
624
624
  editor.lastInsertedLinkPath ? slate.Path.equals(path, editor.lastInsertedLinkPath) : false
625
625
  );
626
+ const linkRef = React__namespace.useRef(null);
626
627
  const elementText = link.children.map((child) => child.text).join("");
627
628
  const [linkText, setLinkText] = React__namespace.useState(elementText);
628
629
  const [linkUrl, setLinkUrl] = React__namespace.useState(link.url);
629
630
  const linkInputRef = React__namespace.useRef(null);
630
631
  const [showRemoveButton, setShowRemoveButton] = React__namespace.useState(false);
631
632
  const [isSaveDisabled, setIsSaveDisabled] = React__namespace.useState(false);
632
- const handleOpenChange = (isOpen) => {
633
- if (isOpen) {
634
- setPopoverOpen(isOpen);
635
- setShowRemoveButton(isOpen);
636
- } else {
637
- setPopoverOpen(isOpen);
638
- if (link.url === "") {
639
- removeLink(editor);
640
- }
641
- slateReact.ReactEditor.focus(editor);
642
- }
633
+ const handleOpenEditPopover = (e) => {
634
+ e.preventDefault();
635
+ setPopoverOpen(true);
636
+ setShowRemoveButton(true);
643
637
  };
644
638
  const onLinkChange = (e) => {
645
639
  setIsSaveDisabled(false);
@@ -662,14 +656,32 @@ const LinkContent = React__namespace.forwardRef(
662
656
  setPopoverOpen(false);
663
657
  editor.lastInsertedLinkPath = null;
664
658
  };
659
+ const handleDismiss = () => {
660
+ setPopoverOpen(false);
661
+ if (link.url === "") {
662
+ removeLink(editor);
663
+ }
664
+ slateReact.ReactEditor.focus(editor);
665
+ };
666
+ const inputNotDirty = !linkText || !linkUrl || link.url && link.url === linkUrl && elementText && elementText === linkText;
667
+ const composedRefs = designSystem.useComposedRefs(linkRef, forwardedRef);
665
668
  React__namespace.useEffect(() => {
666
669
  if (popoverOpen)
667
670
  linkInputRef.current?.focus();
668
671
  }, [popoverOpen]);
669
- const inputNotDirty = !linkText || !linkUrl || link.url && link.url === linkUrl && elementText && elementText === linkText;
670
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { onOpenChange: handleOpenChange, open: popoverOpen, children: [
671
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(StyledBaseLink, { ...attributes, ref: forwardedRef, href: link.url, color: "primary600", children }) }),
672
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { padding: 4, tag: "form", onSubmit: handleSave, direction: "column", gap: 4, children: [
672
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
673
+ /* @__PURE__ */ jsxRuntime.jsx(
674
+ StyledBaseLink,
675
+ {
676
+ ...attributes,
677
+ ref: composedRefs,
678
+ href: link.url,
679
+ onClick: handleOpenEditPopover,
680
+ color: "primary600",
681
+ children
682
+ }
683
+ ),
684
+ popoverOpen && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover, { source: linkRef, onDismiss: handleDismiss, padding: 4, contentEditable: false, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { tag: "form", onSubmit: handleSave, direction: "column", gap: 4, children: [
673
685
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Root, { width: "368px", children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 1, alignItems: "stretch", children: [
674
686
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
675
687
  id: "components.Blocks.popover.text",
@@ -723,7 +735,7 @@ const LinkContent = React__namespace.forwardRef(
723
735
  }
724
736
  ),
725
737
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 2, children: [
726
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: () => handleOpenChange(false), children: formatMessage({
738
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: handleDismiss, children: formatMessage({
727
739
  id: "components.Blocks.popover.cancel",
728
740
  defaultMessage: "Cancel"
729
741
  }) }),
@@ -2414,9 +2426,9 @@ const NonRepeatableComponent = ({
2414
2426
  hasRadius: isNested,
2415
2427
  borderColor: isNested ? "neutral200" : void 0,
2416
2428
  children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index2) => {
2417
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2429
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: row.map(({ size, ...field }) => {
2418
2430
  const completeFieldName = `${name2}.${field.name}`;
2419
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, s: 12, xs: 12, children: children({ ...field, name: completeFieldName }) }, completeFieldName);
2431
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, s: 12, xs: 12, children: children({ ...field, name: completeFieldName }) }, completeFieldName);
2420
2432
  }) }, index2);
2421
2433
  }) })
2422
2434
  }
@@ -2592,9 +2604,9 @@ const RepeatableComponent = ({
2592
2604
  onGrabItem: handleGrabItem,
2593
2605
  __temp_key__: key,
2594
2606
  children: layout.map((row, index22) => {
2595
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2607
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: row.map(({ size, ...field }) => {
2596
2608
  const completeFieldName = `${nameWithIndex}.${field.name}`;
2597
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, s: 12, xs: 12, children: children({ ...field, name: completeFieldName }) }, completeFieldName);
2609
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, s: 12, xs: 12, children: children({ ...field, name: completeFieldName }) }, completeFieldName);
2598
2610
  }) }, index22);
2599
2611
  })
2600
2612
  }
@@ -2639,7 +2651,7 @@ const TextButtonCustom = styledComponents.styled(designSystem.TextButton)`
2639
2651
  }
2640
2652
 
2641
2653
  @media (prefers-reduced-motion: no-preference) {
2642
- transition: background-color 120ms ${(props) => props.theme.motion.easings.easeOutQuad};
2654
+ transition: background-color 120ms ${(props) => props.theme.easings.easeOutQuad};
2643
2655
  }
2644
2656
  `;
2645
2657
  const Component = ({
@@ -2907,7 +2919,7 @@ const ComponentBox = styledComponents.styled(designSystem.Flex)`
2907
2919
  cursor: pointer;
2908
2920
 
2909
2921
  @media (prefers-reduced-motion: no-preference) {
2910
- transition: color 120ms ${(props) => props.theme.motion.easings.easeOutQuad};
2922
+ transition: color 120ms ${(props) => props.theme.easings.easeOutQuad};
2911
2923
  }
2912
2924
 
2913
2925
  &:focus,
@@ -4294,6 +4306,8 @@ const quoteAndCodeHandler = (editor, markdownType) => {
4294
4306
  };
4295
4307
  const CustomIconButton = styledComponents.styled(designSystem.IconButton)`
4296
4308
  padding: ${({ theme }) => theme.spaces[2]};
4309
+ /* Trick to prevent the outline from overflowing because of the general outline-offset */
4310
+ outline-offset: -2px !important;
4297
4311
 
4298
4312
  svg {
4299
4313
  width: 1.8rem;
@@ -4360,7 +4374,7 @@ const WysiwygNav = ({
4360
4374
  id: "components.Wysiwyg.selectOptions.title",
4361
4375
  defaultMessage: "Add a title"
4362
4376
  });
4363
- React__namespace.useRef(null);
4377
+ const buttonMoreRef = React__namespace.useRef(null);
4364
4378
  const handleTogglePopover = () => {
4365
4379
  setVisiblePopover((prev) => !prev);
4366
4380
  };
@@ -4451,81 +4465,79 @@ const WysiwygNav = ({
4451
4465
  }
4452
4466
  )
4453
4467
  ] }),
4454
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { children: [
4455
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(MoreButton, { label: "More", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.More, {}) }) }),
4456
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { sideOffset: 12, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { padding: 2, children: [
4457
- /* @__PURE__ */ jsxRuntime.jsxs(IconButtonGroupMargin, { children: [
4458
- /* @__PURE__ */ jsxRuntime.jsx(
4459
- CustomIconButton,
4460
- {
4461
- onClick: () => onActionClick("Strikethrough", editorRef, handleTogglePopover),
4462
- label: "Strikethrough",
4463
- name: "Strikethrough",
4464
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.StrikeThrough, {})
4465
- }
4466
- ),
4467
- /* @__PURE__ */ jsxRuntime.jsx(
4468
- CustomIconButton,
4469
- {
4470
- onClick: () => onActionClick("BulletList", editorRef, handleTogglePopover),
4471
- label: "BulletList",
4472
- name: "BulletList",
4473
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.BulletList, {})
4474
- }
4475
- ),
4476
- /* @__PURE__ */ jsxRuntime.jsx(
4477
- CustomIconButton,
4478
- {
4479
- onClick: () => onActionClick("NumberList", editorRef, handleTogglePopover),
4480
- label: "NumberList",
4481
- name: "NumberList",
4482
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.NumberList, {})
4483
- }
4484
- )
4485
- ] }),
4486
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.IconButtonGroup, { children: [
4487
- /* @__PURE__ */ jsxRuntime.jsx(
4488
- CustomIconButton,
4489
- {
4490
- onClick: () => onActionClick("Code", editorRef, handleTogglePopover),
4491
- label: "Code",
4492
- name: "Code",
4493
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Code, {})
4494
- }
4495
- ),
4496
- /* @__PURE__ */ jsxRuntime.jsx(
4497
- CustomIconButton,
4498
- {
4499
- onClick: () => {
4500
- handleTogglePopover();
4501
- onToggleMediaLib();
4502
- },
4503
- label: "Image",
4504
- name: "Image",
4505
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Image, {})
4506
- }
4507
- ),
4508
- /* @__PURE__ */ jsxRuntime.jsx(
4509
- CustomLinkIconButton,
4510
- {
4511
- onClick: () => onActionClick("Link", editorRef, handleTogglePopover),
4512
- label: "Link",
4513
- name: "Link",
4514
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Link, {})
4515
- }
4516
- ),
4517
- /* @__PURE__ */ jsxRuntime.jsx(
4518
- CustomIconButton,
4519
- {
4520
- onClick: () => onActionClick("Quote", editorRef, handleTogglePopover),
4521
- label: "Quote",
4522
- name: "Quote",
4523
- children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Quotes, {})
4524
- }
4525
- )
4526
- ] })
4527
- ] }) })
4528
- ] })
4468
+ /* @__PURE__ */ jsxRuntime.jsx(MoreButton, { ref: buttonMoreRef, onClick: handleTogglePopover, label: "More", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.More, {}) }),
4469
+ visiblePopover && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover, { onDismiss: handleTogglePopover, centered: true, source: buttonMoreRef, spacing: 4, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { children: [
4470
+ /* @__PURE__ */ jsxRuntime.jsxs(IconButtonGroupMargin, { children: [
4471
+ /* @__PURE__ */ jsxRuntime.jsx(
4472
+ CustomIconButton,
4473
+ {
4474
+ onClick: () => onActionClick("Strikethrough", editorRef, handleTogglePopover),
4475
+ label: "Strikethrough",
4476
+ name: "Strikethrough",
4477
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.StrikeThrough, {})
4478
+ }
4479
+ ),
4480
+ /* @__PURE__ */ jsxRuntime.jsx(
4481
+ CustomIconButton,
4482
+ {
4483
+ onClick: () => onActionClick("BulletList", editorRef, handleTogglePopover),
4484
+ label: "BulletList",
4485
+ name: "BulletList",
4486
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.BulletList, {})
4487
+ }
4488
+ ),
4489
+ /* @__PURE__ */ jsxRuntime.jsx(
4490
+ CustomIconButton,
4491
+ {
4492
+ onClick: () => onActionClick("NumberList", editorRef, handleTogglePopover),
4493
+ label: "NumberList",
4494
+ name: "NumberList",
4495
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.NumberList, {})
4496
+ }
4497
+ )
4498
+ ] }),
4499
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.IconButtonGroup, { children: [
4500
+ /* @__PURE__ */ jsxRuntime.jsx(
4501
+ CustomIconButton,
4502
+ {
4503
+ onClick: () => onActionClick("Code", editorRef, handleTogglePopover),
4504
+ label: "Code",
4505
+ name: "Code",
4506
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Code, {})
4507
+ }
4508
+ ),
4509
+ /* @__PURE__ */ jsxRuntime.jsx(
4510
+ CustomIconButton,
4511
+ {
4512
+ onClick: () => {
4513
+ handleTogglePopover();
4514
+ onToggleMediaLib();
4515
+ },
4516
+ label: "Image",
4517
+ name: "Image",
4518
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Image, {})
4519
+ }
4520
+ ),
4521
+ /* @__PURE__ */ jsxRuntime.jsx(
4522
+ CustomLinkIconButton,
4523
+ {
4524
+ onClick: () => onActionClick("Link", editorRef, handleTogglePopover),
4525
+ label: "Link",
4526
+ name: "Link",
4527
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Link, {})
4528
+ }
4529
+ ),
4530
+ /* @__PURE__ */ jsxRuntime.jsx(
4531
+ CustomIconButton,
4532
+ {
4533
+ onClick: () => onActionClick("Quote", editorRef, handleTogglePopover),
4534
+ label: "Quote",
4535
+ name: "Quote",
4536
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icons.Quotes, {})
4537
+ }
4538
+ )
4539
+ ] })
4540
+ ] }) })
4529
4541
  ] }),
4530
4542
  onTogglePreviewMode && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onTogglePreviewMode, variant: "tertiary", children: formatMessage({
4531
4543
  id: "components.Wysiwyg.ToggleMode.preview-mode",
@@ -4919,9 +4931,9 @@ const DynamicComponent = ({
4919
4931
  ),
4920
4932
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Actions, { children: accordionActions })
4921
4933
  ] }),
4922
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
4934
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Accordion.Content, { children: /* @__PURE__ */ jsxRuntime.jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: row.map(({ size, ...field }) => {
4923
4935
  const fieldName = `${name2}.${index$1}.${field.name}`;
4924
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Item, { col: size, s: 12, xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...field, name: fieldName }) }, fieldName);
4936
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, s: 12, xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...field, name: fieldName }) }, fieldName);
4925
4937
  }) }, rowInd)) }) }) })
4926
4938
  ] }) }) })
4927
4939
  ] });
@@ -5228,4 +5240,4 @@ exports.transformDocument = transformDocument;
5228
5240
  exports.useDynamicZone = useDynamicZone;
5229
5241
  exports.useFieldHint = useFieldHint;
5230
5242
  exports.useLazyComponents = useLazyComponents;
5231
- //# sourceMappingURL=Field-BG1xu38N.js.map
5243
+ //# sourceMappingURL=Field-Dh1yZyqy.js.map