@strapi/content-manager 5.1.1 → 5.3.0
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.
- package/dist/_chunks/{ComponentConfigurationPage-CpJNPBgk.js → ComponentConfigurationPage-Cr0ttPAZ.js} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-CpJNPBgk.js.map → ComponentConfigurationPage-Cr0ttPAZ.js.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-TYDPg5WG.mjs → ComponentConfigurationPage-UGIFDkPO.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-TYDPg5WG.mjs.map → ComponentConfigurationPage-UGIFDkPO.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-DqL8Pq5r.mjs → EditConfigurationPage-7hF4_8yK.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-DqL8Pq5r.mjs.map → EditConfigurationPage-7hF4_8yK.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-CFDe6SA1.js → EditConfigurationPage-Ds3BOL2z.js} +3 -3
- package/dist/_chunks/{EditConfigurationPage-CFDe6SA1.js.map → EditConfigurationPage-Ds3BOL2z.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-RXrFLav2.mjs → EditViewPage-CA98g5_g.mjs} +38 -8
- package/dist/_chunks/EditViewPage-CA98g5_g.mjs.map +1 -0
- package/dist/_chunks/{EditViewPage-khfP2CR3.js → EditViewPage-DoQm9llG.js} +37 -7
- package/dist/_chunks/EditViewPage-DoQm9llG.js.map +1 -0
- package/dist/_chunks/{Field--rQeS6Zj.mjs → Field-B2C1tq9_.mjs} +26 -6
- package/dist/_chunks/Field-B2C1tq9_.mjs.map +1 -0
- package/dist/_chunks/{Field-C1ftmTe9.js → Field-CQtLQzHl.js} +26 -6
- package/dist/_chunks/Field-CQtLQzHl.js.map +1 -0
- package/dist/_chunks/{Form-COtGXyUE.mjs → Form-CxQ2pPjq.mjs} +2 -2
- package/dist/_chunks/{Form-COtGXyUE.mjs.map → Form-CxQ2pPjq.mjs.map} +1 -1
- package/dist/_chunks/{Form-CwdX5oLw.js → Form-YQaS3_NH.js} +2 -2
- package/dist/_chunks/{Form-CwdX5oLw.js.map → Form-YQaS3_NH.js.map} +1 -1
- package/dist/_chunks/{History-BevwkPO1.mjs → History-DTYKr2Cg.mjs} +4 -11
- package/dist/_chunks/History-DTYKr2Cg.mjs.map +1 -0
- package/dist/_chunks/{History-DKS2aqqM.js → History-DbdpigyF.js} +4 -11
- package/dist/_chunks/History-DbdpigyF.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-DNfZDtDA.mjs → ListConfigurationPage-DQG-j52q.mjs} +2 -2
- package/dist/_chunks/{ListConfigurationPage-DNfZDtDA.mjs.map → ListConfigurationPage-DQG-j52q.mjs.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-LSYSPZHH.js → ListConfigurationPage-DRGhXnUA.js} +2 -2
- package/dist/_chunks/{ListConfigurationPage-LSYSPZHH.js.map → ListConfigurationPage-DRGhXnUA.js.map} +1 -1
- package/dist/_chunks/{ListViewPage-DlUpqLIo.js → ListViewPage-CVIEfYWN.js} +16 -5
- package/dist/_chunks/{ListViewPage-DlUpqLIo.js.map → ListViewPage-CVIEfYWN.js.map} +1 -1
- package/dist/_chunks/{ListViewPage-C1PyuYRS.mjs → ListViewPage-DAekmnvp.mjs} +16 -5
- package/dist/_chunks/{ListViewPage-C1PyuYRS.mjs.map → ListViewPage-DAekmnvp.mjs.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-C9q744z1.mjs → NoContentTypePage-5kwUPeFg.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-C9q744z1.mjs.map → NoContentTypePage-5kwUPeFg.mjs.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-m8wt3sf6.js → NoContentTypePage-CTcfA2-Q.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-m8wt3sf6.js.map → NoContentTypePage-CTcfA2-Q.js.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-8BM-LWta.mjs → NoPermissionsPage-d-JtEVAw.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-8BM-LWta.mjs.map → NoPermissionsPage-d-JtEVAw.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-DLfPsA0Q.js → NoPermissionsPage-pVeCVj9a.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-DLfPsA0Q.js.map → NoPermissionsPage-pVeCVj9a.js.map} +1 -1
- package/dist/_chunks/Preview-COsm52rZ.js +307 -0
- package/dist/_chunks/Preview-COsm52rZ.js.map +1 -0
- package/dist/_chunks/Preview-gkmvcwhu.mjs +288 -0
- package/dist/_chunks/Preview-gkmvcwhu.mjs.map +1 -0
- package/dist/_chunks/{Relations-D25xRcFy.mjs → Relations-7ItTFWp7.mjs} +3 -3
- package/dist/_chunks/{Relations-D25xRcFy.mjs.map → Relations-7ItTFWp7.mjs.map} +1 -1
- package/dist/_chunks/{Relations-OMriCP_L.js → Relations-Beo_uDz1.js} +3 -3
- package/dist/_chunks/{Relations-OMriCP_L.js.map → Relations-Beo_uDz1.js.map} +1 -1
- package/dist/_chunks/{en-Bdpa50w3.js → en-CHOp_xJv.js} +6 -1
- package/dist/_chunks/{en-Bdpa50w3.js.map → en-CHOp_xJv.js.map} +1 -1
- package/dist/_chunks/{en-CZw4xdPY.mjs → en-D_BMf0hT.mjs} +6 -1
- package/dist/_chunks/{en-CZw4xdPY.mjs.map → en-D_BMf0hT.mjs.map} +1 -1
- package/dist/_chunks/{index-DqZnjo8F.js → index-CJX65DLa.js} +68 -94
- package/dist/_chunks/index-CJX65DLa.js.map +1 -0
- package/dist/_chunks/{index-BvGihCJp.mjs → index-D3IiO0X8.mjs} +74 -100
- package/dist/_chunks/index-D3IiO0X8.mjs.map +1 -0
- package/dist/_chunks/{layout-CmaemAO3.js → layout-9fI2_QJt.js} +3 -3
- package/dist/_chunks/{layout-CmaemAO3.js.map → layout-9fI2_QJt.js.map} +1 -1
- package/dist/_chunks/{layout-ykHSe2KQ.mjs → layout-OhrmoJVB.mjs} +3 -3
- package/dist/_chunks/{layout-ykHSe2KQ.mjs.map → layout-OhrmoJVB.mjs.map} +1 -1
- package/dist/_chunks/{relations-D9fKsCLY.js → relations-DIT8sP52.js} +6 -3
- package/dist/_chunks/relations-DIT8sP52.js.map +1 -0
- package/dist/_chunks/{relations-u-Vz51Ea.mjs → relations-sRERvWmr.mjs} +6 -3
- package/dist/_chunks/relations-sRERvWmr.mjs.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +4 -4
- package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
- package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +1 -1
- package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
- package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
- package/dist/admin/src/preview/routes.d.ts +3 -0
- package/dist/admin/src/router.d.ts +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/services/document-manager.d.ts.map +1 -1
- package/package.json +8 -8
- package/dist/_chunks/EditViewPage-RXrFLav2.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-khfP2CR3.js.map +0 -1
- package/dist/_chunks/Field--rQeS6Zj.mjs.map +0 -1
- package/dist/_chunks/Field-C1ftmTe9.js.map +0 -1
- package/dist/_chunks/History-BevwkPO1.mjs.map +0 -1
- package/dist/_chunks/History-DKS2aqqM.js.map +0 -1
- package/dist/_chunks/index-BvGihCJp.mjs.map +0 -1
- package/dist/_chunks/index-DqZnjo8F.js.map +0 -1
- package/dist/_chunks/relations-D9fKsCLY.js.map +0 -1
- package/dist/_chunks/relations-u-Vz51Ea.mjs.map +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"EditViewPage-DoQm9llG.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,MAAM,UAAU,CAAC,WAAiCA,iBAAM,UAAU,QAAQ,SAAS;AAE1F,MAAM,YAAkC,CAAC;ACKzC,MAAM,aAAa,CAAC,EAAE,aAA8B;AAC5C,QAAA,EAAE,kBAAkBC,UAAAA;AACpB,QAAA,EAAE,UAAUC,MAAAA;AAElB,SACGC,2BAAAA,IAAAC,aAAAA,MAAA,EAAK,WAAU,UAAS,YAAW,WAAU,KAAK,GAChD,UAAO,OAAA,IAAI,CAAC,OAAOC,WAAU;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;AAEhB,YAAM,2BAA2B;AAAA,QAC/B,GAAG;AAAA,QACH,OAAO,cAAc;AAAA,UACnB,IAAI,iCAAiC,KAAK,IAAI,MAAM,IAAI;AAAA,UACxD,gBAAgB,MAAM;AAAA,QAAA,CACvB;AAAA,MAAA;AAID,aAAAF,2BAAAA,IAACG,aAAAA,KAAK,MAAL,EAA2B,KAAK,GAC/B,UAAAH,2BAAA,IAACG,aAAK,KAAA,MAAL,EAAU,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,WAAU,UAAS,YAAW,WAC/D,UAAAH,2BAAAA,IAACI,MAAAA,uBAAe,EAAA,GAAG,yBAA0B,CAAA,EAC/C,CAAA,EAHc,GAAA,MAAM,IAItB;AAAA,IAEJ;AAGE,WAAAJ,2BAAA;AAAA,MAACK,aAAA;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,UAAAL,2BAAAA,IAACC,aAAAA,MAAK,EAAA,WAAU,UAAS,YAAW,WAAU,KAAK,GAChD,UAAA,MAAM,IAAI,CAAC,KAAK,gDACdE,aAAK,KAAA,MAAL,EAA6B,KAAK,GAChC,UAAA,IAAI,IAAI,CAAC,EAAE,MAAM,GAAG,MAAA,MAAY;AAC/B,gBAAM,2BAA2B;AAAA,YAC/B,GAAG;AAAA,YACH,OAAO,cAAc;AAAA,cACnB,IAAI,iCAAiC,KAAK,IAAI,MAAM,IAAI;AAAA,cACxD,gBAAgB,MAAM;AAAA,YAAA,CACvB;AAAA,UAAA;AAGD,iBAAAH,2BAAA;AAAA,YAACG,aAAAA,KAAK;AAAA,YAAL;AAAA,cACC,KAAK;AAAA,cAEL,GAAG;AAAA,cACH,IAAI;AAAA,cACJ,WAAU;AAAA,cACV,YAAW;AAAA,cAEX,UAAAH,2BAAAA,IAACI,MAAAA,uBAAe,EAAA,GAAG,yBAA0B,CAAA;AAAA,YAAA;AAAA,YANxC,MAAM;AAAA,UAAA;AAAA,QAOb,CAEH,EAAA,GArBa,YAsBhB,CACD,GACH;AAAA,MAAA;AAAA,MApCKF;AAAA,IAAA;AAAA,EAuCV,CAAA,EACH,CAAA;AAEJ;AC/CA,MAAM,eAAe,MAAM;AACzB,QAAM,WAAWI,eAAAA;AACX,QAAA;AAAA,IACJ;AAAA,MACE,OAAO,EAAE,OAAO;AAAA,IAClB;AAAA,IACA;AAAA,MACEC,2BAAkD;AAAA,IACpD,QAAQ;AAAA,EAAA,CACT;AACK,QAAA,EAAE,kBAAkBT,UAAAA;AACpB,QAAA,EAAE,uBAAuBU,YAAAA;AAEzB,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACET,MAAO,OAAA;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,uBAAuBU,MAAAA,gBAAgB,gBAAgB,CAAC,UAAU,MAAM,SAAS;AAEvF,QAAM,eAAe,mBAAmBC;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,IACEC,MAAAA,kBAAkB,KAAK;AAE3B,QAAM,EAAE,cAAA,IAAkBC,MAAA,kBAAkB,CAAE,CAAA;AAExC,QAAA,YAAY,wBAAwB,qBAAqB,mBAAmB;AAW5E,QAAA,gBAAgBf,iBAAM,QAAQ,MAAM;AACxC,QAAK,CAAC,YAAY,CAAC,sBAAsB,CAAC,gBAAiB,CAAC,QAAQ;AAC3D,aAAA;AAAA,IACT;AAMA,UAAM,OAAO,UAAU,KAAK,WAAWgB,wBAAkB,QAAQ,UAAU;AAE3E,WAAOC,MAAkB,kBAAA,QAAQ,UAAU,EAAE,IAAI;AAAA,EAAA,GAChD,CAAC,UAAU,oBAAoB,cAAc,QAAQ,UAAU,CAAC;AAEnE,MAAI,UAAU;AACL,WAAAd,+BAACe,YAAAA,KAAK,OAAL,CAAW,CAAA;AAAA,EACrB;AAEI,MAAA,aAAa,CAAC,UAAU,YAAY;AAC/B,WAAAf,+BAACe,YAAAA,KAAK,SAAL,CAAa,CAAA;AAAA,EACvB;AAEA,MAAI,CAAC,eAAe;AACX,WAAAf,+BAACe,YAAAA,KAAK,OAAL,CAAW,CAAA;AAAA,EACrB;AAEM,QAAA,kBAAkB,CAACC,YAAmB;AACtCA,QAAAA,YAAW,eAAeA,YAAW,SAAS;AAChD,eAAS,EAAE,QAAAA,QAAO,GAAG,QAAQ,IAAI;AAAA,IACnC;AAAA,EAAA;AASF,MAAI,gBAAgB;AACpB,MAAI,cAAc,QAAQ,WAAW,SAAS,GAAG;AAC/C,oBAAgB,SAAS,SAAS;AAAA,EACzB,WAAA,gBAAgB,QAAQ,KAAK,aAAa;AACnD,oBAAgB,OAAO,KAAK;AAAA,EAC9B;AAEM,QAAA,eAAe,CAAC,QAAiC,YAAoC;AACzF,UAAM,YAAYC,MAAA,gBAAgB,QAAQ,YAAY,YAAY;AAAA,MAChE;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AAED,WAAO,UAAU,aAAa,QAAQ,EAAE,YAAY,OAAO;AAAA,EAAA;AAG7D,SACGC,2BAAAA,KAAAC,aAAAA,MAAA,EAAK,aAAa,IAAI,cAAc,IACnC,UAAA;AAAA,IAACnB,2BAAAA,IAAAe,YAAAA,KAAK,OAAL,EAAY,UAAc,cAAA,CAAA;AAAA,IAC3Bf,2BAAA;AAAA,MAACoB,YAAA;AAAA,MAAA;AAAA,QACC,UAAU,wBAAwB,WAAW;AAAA,QAC7C;AAAA,QACA,QAAQ,qBAAqB,SAAS;AAAA,QACtC,UAAU,CAAC,QAAiC,YAAoC;AAC9E,gBAAM,YAAYH,MAAA,gBAAgB,QAAQ,YAAY,YAAY;AAAA,YAChE;AAAA,YACA,GAAG;AAAA,UAAA,CACJ;AAED,iBAAO,UAAU,SAAS,QAAQ,EAAE,YAAY,OAAO;AAAA,QACzD;AAAA,QACA,eAAe,UAAU,OAAO,kBAAkB,aAAa,eAAe,CAAE,CAAA,IAAI,CAAC;AAAA,QAEpF,UAAC,CAAA,EAAE,UAAU,MAEVC,2BAAAA,KAAAG,WAAAA,UAAA,EAAA,UAAA;AAAA,UAAArB,2BAAA;AAAA,YAACsB,MAAA;AAAA,YAAA;AAAA,cACC,YAAY;AAAA,cACZ,QAAQ,uBAAuB,kBAAkB,UAAU,IAAI,IAAI;AAAA,cACnE,OAAO;AAAA,YAAA;AAAA,UACT;AAAA,UACAJ,2BAAAA,KAACK,kBAAK,MAAL,EAAU,SAAQ,UAAS,OAAO,QAAQ,eAAe,iBACxD,UAAA;AAAA,YAAAvB,2BAAA;AAAA,cAACuB,aAAAA,KAAK;AAAA,cAAL;AAAA,gBACC,cAAY,cAAc;AAAA,kBACxB,IAAIC,qBAAe,4BAA4B;AAAA,kBAC/C,gBAAgB;AAAA,gBAAA,CACjB;AAAA,gBAEA,iCAEGN,2BAAAA,KAAAG,WAAA,UAAA,EAAA,UAAA;AAAA,kBAACrB,2BAAA,IAAA,WAAA,EAAU,OAAM,SACd,UAAc,cAAA;AAAA,oBACb,IAAIwB,qBAAe,4BAA4B;AAAA,oBAC/C,gBAAgB;AAAA,kBACjB,CAAA,GACH;AAAA,kBACAxB,2BAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,UAAU,CAAC,QAAQ,KAAK,gBAAgB,WAAW;AAAA,sBACnD,OAAM;AAAA,sBAEL,UAAc,cAAA;AAAA,wBACb,IAAIwB,qBAAe,gCAAgC;AAAA,wBACnD,gBAAgB;AAAA,sBAAA,CACjB;AAAA,oBAAA;AAAA,kBACH;AAAA,gBAAA,EAAA,CACF,IACE;AAAA,cAAA;AAAA,YACN;AAAA,4CACCrB,aAAAA,KAAK,MAAL,EAAU,YAAY,GAAG,KAAK,GAC7B,UAAA;AAAA,cAACe,2BAAAA,KAAAf,aAAAA,KAAK,MAAL,EAAU,KAAK,GAAG,GAAG,IAAI,WAAU,UAAS,YAAW,WACtD,UAAA;AAAA,gBAACH,2BAAAA,IAAAuB,aAAA,KAAK,SAAL,EAAa,OAAM,SAClB,UAACvB,2BAAAA,IAAA,YAAA,EAAW,QAAgB,EAC9B,CAAA;AAAA,gBACAA,2BAAAA,IAACuB,kBAAK,SAAL,EAAa,OAAM,aAClB,UAAAvB,2BAAAA,IAAC,YAAW,EAAA,OAAA,CAAgB,EAC9B,CAAA;AAAA,cAAA,GACF;AAAA,cACCA,2BAAA,IAAAG,aAAA,KAAK,MAAL,EAAU,KAAK,GAAG,GAAG,IAAI,WAAU,UAAS,YAAW,WACtD,UAAAH,2BAAA,IAACyB,eAAO,CAAA,GACV;AAAA,YAAA,GACF;AAAA,UAAA,GACF;AAAA,UACAzB,2BAAA;AAAA,YAAC0B,YAAA;AAAA,YAAA;AAAA,cAEC,WAAW;AAAA,YAAA;AAAA,UACb;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF,EAAA,CAAA;AAEJ;AAEA,MAAM,YAAYC,iBAAO,OAAAJ,kBAAK,OAAO;AAAA;AAAA;AAU/B,MAAA,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,IAAIK,eAEnB,UAAA;AACG,QAAA;AAAA,IACJ,cAAc,CAAC;AAAA,IACf;AAAA,IACA;AAAA,EAAA,IACEC,YAAA;AAAA,IACFC,kBAAY,IAAI,CAAC,YAAY;AAAA,MAC3B;AAAA,MACA,SAAS;AAAA,IAAA,EACT;AAAA,EAAA;AAGJ,MAAI,WAAW;AACN,WAAA9B,+BAACe,YAAAA,KAAK,SAAL,CAAa,CAAA;AAAA,EACvB;AAEI,MAAA,SAAS,CAAC,MAAM;AACX,WAAAf,+BAACe,YAAAA,KAAK,OAAL,CAAW,CAAA;AAAA,EACrB;AAEA,wCACGA,iBAAK,SAAL,EAAa,aACX,WAAC,EAAE,aAAAgB,kDACDC,MAAAA,cAAa,EAAA,aAAaD,cACzB,UAAC/B,2BAAAA,IAAA,cAAA,CAAa,CAAA,GAChB,EAEJ,CAAA;AAEJ;;;;"}
|
@@ -5,9 +5,9 @@ import { useStrapiApp, createContext, useField, useNotification, useForm, useAPI
|
|
5
5
|
import { Box, SingleSelect, SingleSelectOption, Typography, Flex, BaseLink, Button, Popover, Field, Tooltip, IconButton, useComposedRefs, Portal, FocusTrap, Divider, VisuallyHidden, Grid as Grid$1, Accordion, TextButton, TextInput, IconButtonGroup, Menu, MenuItem } from "@strapi/design-system";
|
6
6
|
import pipe$1 from "lodash/fp/pipe";
|
7
7
|
import { useIntl } from "react-intl";
|
8
|
-
import { m as DOCUMENT_META_FIELDS, g as getTranslation, c as useDoc, e as contentManagerApi, n as CLONE_PATH, d as buildValidParams, f as useDocumentRBAC, S as SINGLE_TYPES, o as useDocLayout } from "./index-
|
8
|
+
import { m as DOCUMENT_META_FIELDS, g as getTranslation, c as useDoc, e as contentManagerApi, n as CLONE_PATH, d as buildValidParams, f as useDocumentRBAC, S as SINGLE_TYPES, o as useDocLayout } from "./index-D3IiO0X8.mjs";
|
9
9
|
import { generateNKeysBetween } from "fractional-indexing";
|
10
|
-
import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-
|
10
|
+
import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-7ItTFWp7.mjs";
|
11
11
|
import { Code, HeadingOne, HeadingTwo, HeadingThree, HeadingFour, HeadingFive, HeadingSix, Image as Image$1, NumberList, BulletList, Paragraph, Quotes, Link as Link$1, Drag, Collapse, Bold, Italic, Underline, StrikeThrough, Expand, PlusCircle, Plus, Trash, EyeStriked, CheckCircle, WarningCircle, Loader, ArrowClockwise, More } from "@strapi/icons";
|
12
12
|
import { styled, css, keyframes } from "styled-components";
|
13
13
|
import { C as ComponentIcon, a as COMPONENT_ICONS } from "./ComponentIcon-u4bIXTFY.mjs";
|
@@ -2658,6 +2658,7 @@ const NonRepeatableComponent = ({
|
|
2658
2658
|
children,
|
2659
2659
|
layout
|
2660
2660
|
}) => {
|
2661
|
+
const { formatMessage } = useIntl();
|
2661
2662
|
const { value } = useField(name2);
|
2662
2663
|
const level = useComponent("NonRepeatableComponent", (state) => state.level);
|
2663
2664
|
const isNested = level > 0;
|
@@ -2674,6 +2675,10 @@ const NonRepeatableComponent = ({
|
|
2674
2675
|
children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index) => {
|
2675
2676
|
return /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
2676
2677
|
const completeFieldName = `${name2}.${field.name}`;
|
2678
|
+
const translatedLabel = formatMessage({
|
2679
|
+
id: `content-manager.components.${attribute.component}.${field.name}`,
|
2680
|
+
defaultMessage: field.label
|
2681
|
+
});
|
2677
2682
|
return /* @__PURE__ */ jsx(
|
2678
2683
|
Grid$1.Item,
|
2679
2684
|
{
|
@@ -2682,7 +2687,7 @@ const NonRepeatableComponent = ({
|
|
2682
2687
|
xs: 12,
|
2683
2688
|
direction: "column",
|
2684
2689
|
alignItems: "stretch",
|
2685
|
-
children: children({ ...field, name: completeFieldName })
|
2690
|
+
children: children({ ...field, label: translatedLabel, name: completeFieldName })
|
2686
2691
|
},
|
2687
2692
|
completeFieldName
|
2688
2693
|
);
|
@@ -2884,6 +2889,10 @@ const RepeatableComponent = ({
|
|
2884
2889
|
children: layout.map((row, index2) => {
|
2885
2890
|
return /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
2886
2891
|
const completeFieldName = `${nameWithIndex}.${field.name}`;
|
2892
|
+
const translatedLabel = formatMessage({
|
2893
|
+
id: `content-manager.components.${attribute.component}.${field.name}`,
|
2894
|
+
defaultMessage: field.label
|
2895
|
+
});
|
2887
2896
|
return /* @__PURE__ */ jsx(
|
2888
2897
|
Grid$1.Item,
|
2889
2898
|
{
|
@@ -2892,7 +2901,11 @@ const RepeatableComponent = ({
|
|
2892
2901
|
xs: 12,
|
2893
2902
|
direction: "column",
|
2894
2903
|
alignItems: "stretch",
|
2895
|
-
children: children({
|
2904
|
+
children: children({
|
2905
|
+
...field,
|
2906
|
+
label: translatedLabel,
|
2907
|
+
name: completeFieldName
|
2908
|
+
})
|
2896
2909
|
},
|
2897
2910
|
completeFieldName
|
2898
2911
|
);
|
@@ -5237,6 +5250,13 @@ const DynamicComponent = ({
|
|
5237
5250
|
alignItems: "stretch",
|
5238
5251
|
children: /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
5239
5252
|
const fieldName = `${name2}.${index}.${field.name}`;
|
5253
|
+
const fieldWithTranslatedLabel = {
|
5254
|
+
...field,
|
5255
|
+
label: formatMessage({
|
5256
|
+
id: `content-manager.components.${componentUid}.${field.name}`,
|
5257
|
+
defaultMessage: field.label
|
5258
|
+
})
|
5259
|
+
};
|
5240
5260
|
return /* @__PURE__ */ jsx(
|
5241
5261
|
Grid$1.Item,
|
5242
5262
|
{
|
@@ -5245,7 +5265,7 @@ const DynamicComponent = ({
|
|
5245
5265
|
xs: 12,
|
5246
5266
|
direction: "column",
|
5247
5267
|
alignItems: "stretch",
|
5248
|
-
children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...
|
5268
|
+
children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...fieldWithTranslatedLabel, name: fieldName })
|
5249
5269
|
},
|
5250
5270
|
fieldName
|
5251
5271
|
);
|
@@ -5560,4 +5580,4 @@ export {
|
|
5560
5580
|
transformDocument as t,
|
5561
5581
|
useLazyComponents as u
|
5562
5582
|
};
|
5563
|
-
//# sourceMappingURL=Field
|
5583
|
+
//# sourceMappingURL=Field-B2C1tq9_.mjs.map
|