@strapi/content-manager 0.0.0-next.ee56af7ae29770097422de95c0d5500908dce15c → 0.0.0-next.eedb036f0a7ac282d2a645d8a40625091bd28b1e

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 (89) hide show
  1. package/dist/_chunks/{ComponentConfigurationPage-CL9CAMaL.js → ComponentConfigurationPage-ClKl_TA2.js} +3 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-CL9CAMaL.js.map → ComponentConfigurationPage-ClKl_TA2.js.map} +1 -1
  3. package/dist/_chunks/{ComponentConfigurationPage-BpM_Hc7r.mjs → ComponentConfigurationPage-D3ZWDAHG.mjs} +3 -3
  4. package/dist/_chunks/{ComponentConfigurationPage-BpM_Hc7r.mjs.map → ComponentConfigurationPage-D3ZWDAHG.mjs.map} +1 -1
  5. package/dist/_chunks/{EditConfigurationPage-_prbqpTM.mjs → EditConfigurationPage-BYCBSJxP.mjs} +3 -3
  6. package/dist/_chunks/{EditConfigurationPage-_prbqpTM.mjs.map → EditConfigurationPage-BYCBSJxP.mjs.map} +1 -1
  7. package/dist/_chunks/{EditConfigurationPage-ILWo0h1e.js → EditConfigurationPage-OWez0Kxp.js} +3 -3
  8. package/dist/_chunks/{EditConfigurationPage-ILWo0h1e.js.map → EditConfigurationPage-OWez0Kxp.js.map} +1 -1
  9. package/dist/_chunks/{EditViewPage-DAtscabN.mjs → EditViewPage-5pdbvsO_.mjs} +38 -8
  10. package/dist/_chunks/EditViewPage-5pdbvsO_.mjs.map +1 -0
  11. package/dist/_chunks/{EditViewPage-BqZvBN4s.js → EditViewPage-BEs5iGDi.js} +37 -7
  12. package/dist/_chunks/EditViewPage-BEs5iGDi.js.map +1 -0
  13. package/dist/_chunks/{Field-CcoQiiz1.js → Field-DNHm4wHx.js} +41 -22
  14. package/dist/_chunks/Field-DNHm4wHx.js.map +1 -0
  15. package/dist/_chunks/{Field-D-mgn1tH.mjs → Field-DcKuFHYK.mjs} +41 -22
  16. package/dist/_chunks/Field-DcKuFHYK.mjs.map +1 -0
  17. package/dist/_chunks/{Form-BxyeWiXW.mjs → Form-CGwM_-5c.mjs} +2 -2
  18. package/dist/_chunks/{Form-BxyeWiXW.mjs.map → Form-CGwM_-5c.mjs.map} +1 -1
  19. package/dist/_chunks/{Form-CmLbZDfi.js → Form-CoRxWJOz.js} +2 -2
  20. package/dist/_chunks/{Form-CmLbZDfi.js.map → Form-CoRxWJOz.js.map} +1 -1
  21. package/dist/_chunks/{History-uECUbCZB.js → History-BcUTQrfG.js} +7 -61
  22. package/dist/_chunks/History-BcUTQrfG.js.map +1 -0
  23. package/dist/_chunks/{History-BOhLaq_g.mjs → History-DEvr3Q_V.mjs} +8 -62
  24. package/dist/_chunks/History-DEvr3Q_V.mjs.map +1 -0
  25. package/dist/_chunks/{ListConfigurationPage-D_bBSFNW.js → ListConfigurationPage-BE_Ho7tV.js} +4 -3
  26. package/dist/_chunks/ListConfigurationPage-BE_Ho7tV.js.map +1 -0
  27. package/dist/_chunks/{ListConfigurationPage-D0vQez6F.mjs → ListConfigurationPage-BM4zZZcM.mjs} +5 -4
  28. package/dist/_chunks/ListConfigurationPage-BM4zZZcM.mjs.map +1 -0
  29. package/dist/_chunks/{ListViewPage-ns-bmy5C.mjs → ListViewPage-BK2mkrql.mjs} +16 -5
  30. package/dist/_chunks/{ListViewPage-ns-bmy5C.mjs.map → ListViewPage-BK2mkrql.mjs.map} +1 -1
  31. package/dist/_chunks/{ListViewPage-BkZ83b1A.js → ListViewPage-BkT8Eao0.js} +16 -5
  32. package/dist/_chunks/{ListViewPage-BkZ83b1A.js.map → ListViewPage-BkT8Eao0.js.map} +1 -1
  33. package/dist/_chunks/{NoContentTypePage-BA5ZKMDR.mjs → NoContentTypePage-BvcAutu9.mjs} +2 -2
  34. package/dist/_chunks/{NoContentTypePage-BA5ZKMDR.mjs.map → NoContentTypePage-BvcAutu9.mjs.map} +1 -1
  35. package/dist/_chunks/{NoContentTypePage-C1439s4s.js → NoContentTypePage-C8mtyc4H.js} +2 -2
  36. package/dist/_chunks/{NoContentTypePage-C1439s4s.js.map → NoContentTypePage-C8mtyc4H.js.map} +1 -1
  37. package/dist/_chunks/{NoPermissionsPage-CPGwsVfb.js → NoPermissionsPage-B5Y9Y78B.js} +2 -2
  38. package/dist/_chunks/{NoPermissionsPage-CPGwsVfb.js.map → NoPermissionsPage-B5Y9Y78B.js.map} +1 -1
  39. package/dist/_chunks/{NoPermissionsPage-B0GdMw1Q.mjs → NoPermissionsPage-BmbRz7PR.mjs} +2 -2
  40. package/dist/_chunks/{NoPermissionsPage-B0GdMw1Q.mjs.map → NoPermissionsPage-BmbRz7PR.mjs.map} +1 -1
  41. package/dist/_chunks/Preview-BF8ZDYqS.js +286 -0
  42. package/dist/_chunks/Preview-BF8ZDYqS.js.map +1 -0
  43. package/dist/_chunks/Preview-DcexhKJE.mjs +267 -0
  44. package/dist/_chunks/Preview-DcexhKJE.mjs.map +1 -0
  45. package/dist/_chunks/{Relations-d-8Uef_-.js → Relations-BKnoK1R0.js} +3 -3
  46. package/dist/_chunks/{Relations-d-8Uef_-.js.map → Relations-BKnoK1R0.js.map} +1 -1
  47. package/dist/_chunks/{Relations-BIGPMSW4.mjs → Relations-BjIzc4EK.mjs} +3 -3
  48. package/dist/_chunks/{Relations-BIGPMSW4.mjs.map → Relations-BjIzc4EK.mjs.map} +1 -1
  49. package/dist/_chunks/{en-CZw4xdPY.mjs → en-CfIXaZf9.mjs} +9 -2
  50. package/dist/_chunks/{en-CZw4xdPY.mjs.map → en-CfIXaZf9.mjs.map} +1 -1
  51. package/dist/_chunks/{en-Bdpa50w3.js → en-DTWPCdTS.js} +9 -2
  52. package/dist/_chunks/{en-Bdpa50w3.js.map → en-DTWPCdTS.js.map} +1 -1
  53. package/dist/_chunks/{index-3_WeHXYp.mjs → index-BW-rXkjn.mjs} +113 -107
  54. package/dist/_chunks/index-BW-rXkjn.mjs.map +1 -0
  55. package/dist/_chunks/{index-BgaeYWIy.js → index-DOzAG2cq.js} +107 -101
  56. package/dist/_chunks/index-DOzAG2cq.js.map +1 -0
  57. package/dist/_chunks/{layout-CrTxOnCy.mjs → layout-DFVbgjp2.mjs} +3 -3
  58. package/dist/_chunks/{layout-CrTxOnCy.mjs.map → layout-DFVbgjp2.mjs.map} +1 -1
  59. package/dist/_chunks/{layout-ByFyQRDH.js → layout-RC3W2obV.js} +3 -3
  60. package/dist/_chunks/{layout-ByFyQRDH.js.map → layout-RC3W2obV.js.map} +1 -1
  61. package/dist/_chunks/{relations-BlpLgngh.mjs → relations-Dogh8HWI.mjs} +6 -3
  62. package/dist/_chunks/relations-Dogh8HWI.mjs.map +1 -0
  63. package/dist/_chunks/{relations-C5RSW926.js → relations-zam7-5H7.js} +6 -3
  64. package/dist/_chunks/relations-zam7-5H7.js.map +1 -0
  65. package/dist/admin/index.js +1 -1
  66. package/dist/admin/index.mjs +4 -4
  67. package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
  68. package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +2 -2
  69. package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
  70. package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
  71. package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
  72. package/dist/admin/src/preview/routes.d.ts +3 -0
  73. package/dist/admin/src/router.d.ts +1 -1
  74. package/dist/server/index.js.map +1 -1
  75. package/dist/server/index.mjs.map +1 -1
  76. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  77. package/package.json +9 -9
  78. package/dist/_chunks/EditViewPage-BqZvBN4s.js.map +0 -1
  79. package/dist/_chunks/EditViewPage-DAtscabN.mjs.map +0 -1
  80. package/dist/_chunks/Field-CcoQiiz1.js.map +0 -1
  81. package/dist/_chunks/Field-D-mgn1tH.mjs.map +0 -1
  82. package/dist/_chunks/History-BOhLaq_g.mjs.map +0 -1
  83. package/dist/_chunks/History-uECUbCZB.js.map +0 -1
  84. package/dist/_chunks/ListConfigurationPage-D0vQez6F.mjs.map +0 -1
  85. package/dist/_chunks/ListConfigurationPage-D_bBSFNW.js.map +0 -1
  86. package/dist/_chunks/index-3_WeHXYp.mjs.map +0 -1
  87. package/dist/_chunks/index-BgaeYWIy.js.map +0 -1
  88. package/dist/_chunks/relations-BlpLgngh.mjs.map +0 -1
  89. package/dist/_chunks/relations-C5RSW926.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditViewPage-BEs5iGDi.js","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';\nimport { useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../hooks/useDocument';\nimport { EditLayout } from '../../../hooks/useDocumentLayout';\n\nimport { InputRenderer } from './InputRenderer';\n\ninterface FormLayoutProps extends Pick<EditLayout, 'layout'> {}\n\nconst FormLayout = ({ layout }: FormLayoutProps) => {\n const { formatMessage } = useIntl();\n const { model } = useDoc();\n\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\n const fieldWithTranslatedLabel = {\n ...field,\n label: formatMessage({\n id: `content-manager.content-types.${model}.${field.name}`,\n defaultMessage: field.label,\n }),\n };\n\n return (\n <Grid.Root key={field.name} gap={4}>\n <Grid.Item col={12} s={12} xs={12} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer {...fieldWithTranslatedLabel} />\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 const fieldWithTranslatedLabel = {\n ...field,\n label: formatMessage({\n id: `content-manager.content-types.${model}.${field.name}`,\n defaultMessage: field.label,\n }),\n };\n return (\n <Grid.Item\n col={size}\n key={field.name}\n s={12}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...fieldWithTranslatedLabel} />\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 hasError,\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 (hasError) {\n return <Page.Error />;\n }\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, if it's an id\n * we don't use it because it's a uuid format and not very user friendly.\n * Instead, we display the schema name for single-type documents\n * or \"Untitled\".\n */\n let documentTitle = 'Untitled';\n if (mainField !== 'id' && document?.[mainField]) {\n documentTitle = document[mainField];\n } else if (isSingleType && schema?.info.displayName) {\n documentTitle = schema.info.displayName;\n }\n\n const validateSync = (values: Record<string, unknown>, options: Record<string, string>) => {\n const yupSchema = createYupSchema(schema?.attributes, components, {\n status,\n ...options,\n });\n\n return yupSchema.validateSync(values, { abortEarly: false });\n };\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 validate={(values: Record<string, unknown>, options: Record<string, string>) => {\n const yupSchema = createYupSchema(schema?.attributes, components, {\n status,\n ...options,\n });\n\n return yupSchema.validate(values, { abortEarly: false });\n }}\n initialErrors={location?.state?.forceValidation ? validateSync(initialValues, {}) : {}}\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} direction=\"column\" alignItems=\"stretch\">\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} direction=\"column\" alignItems=\"stretch\">\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 its 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, getDocumentStatus };\n"],"names":["React","useIntl","useDoc","jsx","Flex","index","Grid","InputRenderer","Box","useLocation","useQueryParams","useNotification","useDocumentRBAC","SINGLE_TYPES","useDocumentLayout","useLazyComponents","createDefaultForm","transformDocument","Page","status","createYupSchema","jsxs","Main","Form","Fragment","Header","Tabs","getTranslation","Panels","Blocker","styled","useParams","useRBAC","PERMISSIONS","permissions","DocumentRBAC"],"mappings":"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"}
@@ -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-BgaeYWIy.js");
8
+ const index = require("./index-DOzAG2cq.js");
9
9
  const fractionalIndexing = require("fractional-indexing");
10
- const Relations = require("./Relations-d-8Uef_-.js");
10
+ const Relations = require("./Relations-BKnoK1R0.js");
11
11
  const Icons = require("@strapi/icons");
12
12
  const styledComponents = require("styled-components");
13
13
  const ComponentIcon = require("./ComponentIcon-BXdiCGQp.js");
@@ -2658,7 +2658,7 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
2658
2658
  designSystem.Box,
2659
2659
  {
2660
2660
  tag: "button",
2661
- background: "neutral100",
2661
+ background: disabled ? "neutral150" : "neutral100",
2662
2662
  borderColor: field.error ? "danger600" : "neutral200",
2663
2663
  hasRadius: true,
2664
2664
  disabled,
@@ -2666,32 +2666,32 @@ const Initializer = ({ disabled, name: name2, onClick }) => {
2666
2666
  paddingTop: 9,
2667
2667
  paddingBottom: 9,
2668
2668
  type: "button",
2669
+ style: { cursor: disabled ? "not-allowed" : "pointer" },
2669
2670
  children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
2670
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(CircleIcon, {}) }),
2671
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", variant: "pi", fontWeight: "bold", children: formatMessage({
2672
- id: index.getTranslation("components.empty-repeatable"),
2673
- defaultMessage: "No entry yet. Click to add one."
2674
- }) }) })
2671
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", color: disabled ? "neutral500" : "primary600", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.PlusCircle, { width: "3.2rem", height: "3.2rem" }) }),
2672
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(
2673
+ designSystem.Typography,
2674
+ {
2675
+ textColor: disabled ? "neutral600" : "primary600",
2676
+ variant: "pi",
2677
+ fontWeight: "bold",
2678
+ children: formatMessage({
2679
+ id: index.getTranslation("components.empty-repeatable"),
2680
+ defaultMessage: "No entry yet. Click to add one."
2681
+ })
2682
+ }
2683
+ ) })
2675
2684
  ] })
2676
2685
  }
2677
2686
  ) });
2678
2687
  };
2679
- const CircleIcon = styledComponents.styled(Icons.PlusCircle)`
2680
- width: 2.4rem;
2681
- height: 2.4rem;
2682
- > circle {
2683
- fill: ${({ theme }) => theme.colors.primary200};
2684
- }
2685
- > path {
2686
- fill: ${({ theme }) => theme.colors.primary600};
2687
- }
2688
- `;
2689
2688
  const NonRepeatableComponent = ({
2690
2689
  attribute,
2691
2690
  name: name2,
2692
2691
  children,
2693
2692
  layout
2694
2693
  }) => {
2694
+ const { formatMessage } = reactIntl.useIntl();
2695
2695
  const { value } = strapiAdmin.useField(name2);
2696
2696
  const level = Relations.useComponent("NonRepeatableComponent", (state) => state.level);
2697
2697
  const isNested = level > 0;
@@ -2708,6 +2708,10 @@ const NonRepeatableComponent = ({
2708
2708
  children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index2) => {
2709
2709
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2710
2710
  const completeFieldName = `${name2}.${field.name}`;
2711
+ const translatedLabel = formatMessage({
2712
+ id: `content-manager.components.${attribute.component}.${field.name}`,
2713
+ defaultMessage: field.label
2714
+ });
2711
2715
  return /* @__PURE__ */ jsxRuntime.jsx(
2712
2716
  designSystem.Grid.Item,
2713
2717
  {
@@ -2716,7 +2720,7 @@ const NonRepeatableComponent = ({
2716
2720
  xs: 12,
2717
2721
  direction: "column",
2718
2722
  alignItems: "stretch",
2719
- children: children({ ...field, name: completeFieldName })
2723
+ children: children({ ...field, label: translatedLabel, name: completeFieldName })
2720
2724
  },
2721
2725
  completeFieldName
2722
2726
  );
@@ -2918,6 +2922,10 @@ const RepeatableComponent = ({
2918
2922
  children: layout.map((row, index22) => {
2919
2923
  return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
2920
2924
  const completeFieldName = `${nameWithIndex}.${field.name}`;
2925
+ const translatedLabel = formatMessage({
2926
+ id: `content-manager.components.${attribute.component}.${field.name}`,
2927
+ defaultMessage: field.label
2928
+ });
2921
2929
  return /* @__PURE__ */ jsxRuntime.jsx(
2922
2930
  designSystem.Grid.Item,
2923
2931
  {
@@ -2926,7 +2934,11 @@ const RepeatableComponent = ({
2926
2934
  xs: 12,
2927
2935
  direction: "column",
2928
2936
  alignItems: "stretch",
2929
- children: children({ ...field, name: completeFieldName })
2937
+ children: children({
2938
+ ...field,
2939
+ label: translatedLabel,
2940
+ name: completeFieldName
2941
+ })
2930
2942
  },
2931
2943
  completeFieldName
2932
2944
  );
@@ -5271,6 +5283,13 @@ const DynamicComponent = ({
5271
5283
  alignItems: "stretch",
5272
5284
  children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
5273
5285
  const fieldName = `${name2}.${index$1}.${field.name}`;
5286
+ const fieldWithTranslatedLabel = {
5287
+ ...field,
5288
+ label: formatMessage({
5289
+ id: `content-manager.components.${componentUid}.${field.name}`,
5290
+ defaultMessage: field.label
5291
+ })
5292
+ };
5274
5293
  return /* @__PURE__ */ jsxRuntime.jsx(
5275
5294
  designSystem.Grid.Item,
5276
5295
  {
@@ -5279,7 +5298,7 @@ const DynamicComponent = ({
5279
5298
  xs: 12,
5280
5299
  direction: "column",
5281
5300
  alignItems: "stretch",
5282
- children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...field, name: fieldName })
5301
+ children: /* @__PURE__ */ jsxRuntime.jsx(MemoizedInputRenderer, { ...fieldWithTranslatedLabel, name: fieldName })
5283
5302
  },
5284
5303
  fieldName
5285
5304
  );
@@ -5592,4 +5611,4 @@ exports.transformDocument = transformDocument;
5592
5611
  exports.useDynamicZone = useDynamicZone;
5593
5612
  exports.useFieldHint = useFieldHint;
5594
5613
  exports.useLazyComponents = useLazyComponents;
5595
- //# sourceMappingURL=Field-CcoQiiz1.js.map
5614
+ //# sourceMappingURL=Field-DNHm4wHx.js.map