@payloadcms/ui 3.0.0-beta.9 → 3.0.0-canary.6041f49
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/elements/ArrayAction/index.d.ts +1 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +3 -3
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +15 -3
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +8 -2
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.scss +2 -2
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +7 -7
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +1 -1
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -2
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -0
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +3 -2
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.d.ts +2 -0
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js +3 -2
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/EditMany/index.js +2 -2
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.d.ts +12 -0
- package/dist/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/elements/EditUpload/index.js +25 -25
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +4 -1
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/HydrateClientUser/index.d.ts +2 -2
- package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
- package/dist/elements/HydrateClientUser/index.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +16 -3
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/PublishMany/index.js +1 -1
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +4 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/Save/index.d.ts.map +1 -1
- package/dist/elements/Save/index.js +7 -1
- package/dist/elements/Save/index.js.map +1 -1
- package/dist/elements/SaveDraft/index.d.ts.map +1 -1
- package/dist/elements/SaveDraft/index.js +8 -5
- package/dist/elements/SaveDraft/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.d.ts +2 -4
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +7 -6
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.scss +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +6 -2
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +1 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/index.d.ts +1 -0
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +7 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +37 -1
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/index.scss +12 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/reduceFieldMap.js +1 -0
- package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
- package/dist/{providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts → elements/WithServerSideProps/index.d.ts} +1 -1
- package/dist/elements/WithServerSideProps/index.d.ts.map +1 -0
- package/dist/{providers/ComponentMap/buildComponentMap/WithServerSideProps.js → elements/WithServerSideProps/index.js} +3 -3
- package/dist/elements/WithServerSideProps/index.js.map +1 -0
- package/dist/exports/elements.d.ts +3 -2
- package/dist/exports/elements.d.ts.map +1 -1
- package/dist/exports/elements.js +5 -2
- package/dist/exports/elements.js.map +1 -1
- package/dist/exports/fields.d.ts +2 -0
- package/dist/exports/fields.d.ts.map +1 -0
- package/dist/exports/fields.js +3 -0
- package/dist/exports/fields.js.map +1 -0
- package/dist/exports/providers.d.ts +2 -0
- package/dist/exports/providers.d.ts.map +1 -0
- package/dist/exports/providers.js +3 -0
- package/dist/exports/providers.js.map +1 -0
- package/dist/fields/Array/ArrayRow.d.ts +1 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +4 -3
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts +1 -2
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +4 -3
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +4 -3
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +2 -1
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts +2 -2
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +3 -2
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +3 -3
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +3 -1
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Checkbox/types.d.ts +0 -2
- package/dist/fields/Checkbox/types.d.ts.map +1 -1
- package/dist/fields/Checkbox/types.js.map +1 -1
- package/dist/fields/Code/index.d.ts +1 -2
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts +0 -2
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +2 -2
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +1 -1
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.d.ts +1 -2
- package/dist/fields/DateTime/index.d.ts.map +1 -1
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts +1 -2
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts +0 -2
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +3 -3
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts +2 -2
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +20 -1
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts +1 -2
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +0 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Point/index.d.ts +0 -2
- package/dist/fields/Point/index.d.ts.map +1 -1
- package/dist/fields/Point/index.js +2 -2
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +3 -1
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts +1 -2
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/types.d.ts +1 -2
- package/dist/fields/Relationship/types.d.ts.map +1 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/RichText/index.d.ts +0 -2
- package/dist/fields/RichText/index.d.ts.map +1 -1
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Select/index.d.ts +1 -2
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +2 -1
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.d.ts +1 -2
- package/dist/fields/Text/types.d.ts.map +1 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +2 -1
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.d.ts +1 -2
- package/dist/fields/Textarea/types.d.ts.map +1 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/Upload/types.d.ts +0 -1
- package/dist/fields/Upload/types.d.ts.map +1 -1
- package/dist/fields/Upload/types.js.map +1 -1
- package/dist/fields/shared/index.d.ts +4 -2
- package/dist/fields/shared/index.d.ts.map +1 -1
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/FieldLabel/index.d.ts.map +1 -1
- package/dist/forms/FieldLabel/index.js +3 -1
- package/dist/forms/FieldLabel/index.js.map +1 -1
- package/dist/forms/FieldPropsProvider/index.d.ts +2 -0
- package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
- package/dist/forms/FieldPropsProvider/index.js +5 -3
- package/dist/forms/FieldPropsProvider/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.d.ts +1 -0
- package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +2 -1
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +2 -1
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/types.d.ts +2 -3
- package/dist/forms/RowLabel/types.d.ts.map +1 -1
- package/dist/forms/RowLabel/types.js +1 -4
- package/dist/forms/RowLabel/types.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +3 -5
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +2 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +2 -2
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +2 -2
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +2 -2
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +1 -0
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/index.d.ts +3 -5
- package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts +3 -5
- package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +3 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/graphics/Account/index.js +0 -9
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +2 -1
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/collections.js +16 -4
- package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +52 -36
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/globals.js +16 -4
- package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +4 -0
- package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
- package/dist/providers/ComponentMap/index.d.ts +0 -1
- package/dist/providers/ComponentMap/index.d.ts.map +1 -1
- package/dist/providers/ComponentMap/index.js +0 -1
- package/dist/providers/ComponentMap/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +8 -7
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.d.ts +1 -1
- package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +2 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/utilities/generateFieldID.d.ts +1 -1
- package/dist/utilities/generateFieldID.d.ts.map +1 -1
- package/dist/utilities/generateFieldID.js +2 -2
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/package.json +32 -31
- package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts.map +0 -1
- package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, TypeWithVersion } from 'payload/database'\nimport type { Data, FormState, TypeWithTimestamps } from 'payload/types'\nimport type { DocumentPermissions, DocumentPreferences, TypeWithID, Where } from 'payload/types'\n\nimport { LoadingOverlay } from '@payloadcms/ui/elements/Loading'\nimport { formatDocTitle } from '@payloadcms/ui/utilities/formatDocTitle'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\nimport { notFound } from 'next/navigation.js'\nimport qs from 'qs'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nexport const DocumentInfoProvider: React.FC<\n DocumentInfoProps & {\n children: React.ReactNode\n }\n> = ({ children, ...props }) => {\n const { id, collectionSlug, globalSlug, onLoadError, onSave: onSaveFromProps } = props\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [documentTitle, setDocumentTitle] = useState('')\n const [initialData, setInitialData] = useState<Data>()\n const [initialState, setInitialState] = useState<FormState>()\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(null)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(null)\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { i18n } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = Boolean(id)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n const shouldFetchVersions = Boolean(versionsConfig)\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig])\n\n const getDocPermissions = React.useCallback(async () => {\n let docAccessURL: string\n const params = {\n locale: locale || undefined,\n }\n if (pluralType === 'globals') {\n docAccessURL = `/globals/${slug}/access`\n } else if (pluralType === 'collections' && id) {\n docAccessURL = `/${slug}/access/${id}`\n }\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n const json = await res.json()\n\n setDocPermissions(json)\n setHasSavePermission(json?.update?.permission)\n } else {\n // fallback to permissions from the entity type\n // (i.e. create has no id)\n setDocPermissions(permissions?.[pluralType]?.[slug])\n setHasSavePermission(permissions?.[pluralType]?.[slug]?.update?.permission)\n }\n }, [serverURL, api, pluralType, slug, id, permissions, i18n.language, locale])\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: json.doc,\n docPreferences,\n globalSlug,\n locale,\n operation: isEditing ? 'update' : 'create',\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setInitialData(json.doc)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n isEditing,\n locale,\n onSaveFromProps,\n serverURL,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation: isEditing ? 'update' : 'create',\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setInitialData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n\n setIsLoading(false)\n }\n\n void getInitialState()\n\n return () => {\n abortController.abort()\n }\n }, [\n api,\n isEditing,\n collectionSlug,\n serverURL,\n id,\n getPreference,\n globalSlug,\n locale,\n onLoadError,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...initialData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, initialData, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = props.docPermissions\n const hasSavePermission: boolean = props.hasSavePermission\n\n if (!docPermissions || hasSavePermission === undefined || hasSavePermission === null) {\n await getDocPermissions()\n } else {\n setDocPermissions(docPermissions)\n setHasSavePermission(hasSavePermission)\n }\n }\n\n if (collectionSlug || globalSlug) {\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n props.docPermissions,\n props.hasSavePermission,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n ])\n\n if (isError) notFound()\n\n if (!initialState || isLoading) {\n return <LoadingOverlay />\n }\n\n const value: DocumentInfoContext = {\n ...props,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasSavePermission,\n initialData,\n initialState,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n"],"names":["LoadingOverlay","formatDocTitle","getFormState","reduceFieldsToValues","notFound","qs","React","createContext","useCallback","useContext","useEffect","useState","useAuth","useConfig","useLocale","usePreferences","useTranslation","Context","useDocumentInfo","DocumentInfoProvider","children","props","id","collectionSlug","globalSlug","onLoadError","onSave","onSaveFromProps","isLoading","setIsLoading","isError","setIsError","documentTitle","setDocumentTitle","initialData","setInitialData","initialState","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","docPermissions","setDocPermissions","hasSavePermission","setHasSavePermission","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","i18n","permissions","code","locale","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","versionsConfig","baseURL","pluralType","preferencesKey","isEditing","Boolean","getVersions","versionFetchURL","publishedFetchURL","shouldFetchVersions","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","undefined","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","docAccessURL","params","update","permission","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newState","apiRoute","body","data","doc","operation","schemaPath","abortController","AbortController","getInitialState","result","onError","signal","err","aborted","abort","fallback","toString","loadDocPermissions","value","title","Provider"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAKA,SAASA,cAAc,QAAQ,kCAAiC;AAChE,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,YAAY,QAAQ,wCAAuC;AACpE,SAASC,oBAAoB,QAAQ,gDAA+C;AACpF,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,QAAQ,KAAI;AACnB,OAAOC,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAI1F,SAASC,OAAO,QAAQ,mBAAkB;AAC1C,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,SAASC,cAAc,QAAQ,0BAAyB;AACxD,SAASC,cAAc,QAAQ,0BAAyB;AAExD,MAAMC,wBAAUV,cAAc,CAAC;AAI/B,OAAO,MAAMW,kBAAkB,IAA2BT,WAAWQ,SAAQ;AAE7E,OAAO,MAAME,uBAIT,CAAC,EAAEC,QAAQ,EAAE,GAAGC,OAAO;IACzB,MAAM,EAAEC,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAEC,WAAW,EAAEC,QAAQC,eAAe,EAAE,GAAGN;IACjF,MAAM,CAACO,WAAWC,aAAa,GAAGlB,SAAS;IAC3C,MAAM,CAACmB,SAASC,WAAW,GAAGpB,SAAS;IACvC,MAAM,CAACqB,eAAeC,iBAAiB,GAAGtB,SAAS;IACnD,MAAM,CAACuB,aAAaC,eAAe,GAAGxB;IACtC,MAAM,CAACyB,cAAcC,gBAAgB,GAAG1B;IACxC,MAAM,CAAC2B,cAAcC,gBAAgB,GAAG5B,SAA0C;IAClF,MAAM,CAAC6B,UAAUC,YAAY,GAAG9B,SAA8C;IAC9E,MAAM,CAAC+B,gBAAgBC,kBAAkB,GAAGhC,SAA8B;IAC1E,MAAM,CAACiC,mBAAmBC,qBAAqB,GAAGlC,SAAkB;IACpE,MAAM,CAACmC,qBAAqBC,uBAAuB,GACjDpC,SAA8C;IAEhD,MAAM,EAAEqC,aAAa,EAAEC,aAAa,EAAE,GAAGlC;IACzC,MAAM,EAAEmC,IAAI,EAAE,GAAGlC;IACjB,MAAM,EAAEmC,WAAW,EAAE,GAAGvC;IACxB,MAAM,EAAEwC,MAAMC,MAAM,EAAE,GAAGvC;IAEzB,MAAM,EACJwC,OAAO,EAAEC,UAAU,EAAE,EACrBC,WAAW,EACXC,OAAO,EACPC,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAG/C;IAEJ,MAAMgD,mBAAmBL,YAAYM,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKzC;IAC5D,MAAM0C,eAAeR,QAAQK,IAAI,CAAC,CAACI,IAAMA,EAAEF,IAAI,KAAKxC;IACpD,MAAM2C,YAAYN,oBAAoBI;IACtC,MAAMG,iBAAiBD,WAAW3B;IAElC,MAAM6B,UAAU,CAAC,EAAET,UAAU,EAAED,IAAI,CAAC;IACpC,IAAIK;IACJ,IAAIM;IACJ,IAAIC;IAEJ,IAAI/C,YAAY;QACdwC,OAAOxC;QACP8C,aAAa;QACbC,iBAAiB,CAAC,OAAO,EAAEP,KAAK,CAAC;IACnC;IAEA,IAAIzC,gBAAgB;QAClByC,OAAOzC;QACP+C,aAAa;QAEb,IAAIhD,IAAI;YACNiD,iBAAiB,CAAC,WAAW,EAAEP,KAAK,CAAC,EAAE1C,GAAG,CAAC;QAC7C;IACF;IAEA,MAAMkD,YAAYC,QAAQnD;IAE1B,MAAMoD,cAAclE,YAAY;QAC9B,IAAImE;QACJ,IAAIC;QACJ,MAAMC,sBAAsBJ,QAAQL;QACpC,IAAIU,yBAAyB;QAC7B,IAAIC,cAAc;QAClB,IAAIC,cAAc;QAElB,MAAMC,gBAAgB;YACpBC,OAAO;YACPC,OAAO;gBACLC,KAAK,EAAE;YACT;QACF;QAEA,MAAMC,yBAA0E;YAC9EH,OAAO;YACP7B,QAAQA,UAAUiC;YAClBH,OAAO;gBACLC,KAAK;oBACH;wBACEG,IAAI;4BACF;gCACEC,SAAS;oCACPC,QAAQ;gCACV;4BACF;4BACA;gCACED,SAAS;oCACPE,QAAQ;gCACV;4BACF;yBACD;oBACH;iBACD;YACH;QACF;QAEA,IAAIlE,YAAY;YACdmD,kBAAkB,CAAC,EAAEN,QAAQ,SAAS,EAAE7C,WAAW,SAAS,CAAC;YAC7DoD,oBAAoB,CAAC,EAAEP,QAAQ,SAAS,EAAE7C,WAAW,CAAC,EAAEnB,GAAGsF,SAAS,CAACN,wBAAwB,CAAC;QAChG;QAEA,IAAI9D,gBAAgB;YAClBoD,kBAAkB,CAAC,EAAEN,QAAQ,CAAC,EAAE9C,eAAe,SAAS,CAAC;YAEzD8D,uBAAuBF,KAAK,CAACC,GAAG,CAACQ,IAAI,CAAC;gBACpCtE,IAAI;oBACFmE,QAAQnE;gBACV;YACF;YAEAsD,oBAAoB,CAAC,EAAEP,QAAQ,CAAC,EAAE9C,eAAe,CAAC,EAAElB,GAAGsF,SAAS,CAACN,wBAAwB,CAAC;YAE1F,IAAI,CAAC/D,IAAI;gBACP0D,cAAc;YAChB;YAEAC,cAAcE,KAAK,CAACC,GAAG,CAACQ,IAAI,CAAC;gBAC3BC,QAAQ;oBACNJ,QAAQnE;gBACV;YACF;QACF;QAEA,IAAI0D,aAAa;YACf,IAAIc;YAEJ,IAAI1B,gBAAgB2B,QAAQ;gBAC1BD,gBAAgB,MAAME,MAAMpB,mBAAmB;oBAC7CqB,aAAa;oBACbC,SAAS;wBACP,mBAAmBhD,KAAKiD,QAAQ;oBAClC;gBACF,GAAGC,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI;gBAEzB,IAAI/E,gBAAgB;oBAClBuE,gBAAgBA,eAAeS,MAAM,CAAC,EAAE;gBAC1C;YACF;YAEA,IAAI1B,qBAAqB;gBACvBE,cAAc,MAAMiB,MAAM,CAAC,EAAErB,gBAAgB,CAAC,EAAEtE,GAAGsF,SAAS,CAACV,eAAe,CAAC,EAAE;oBAC7EgB,aAAa;oBACbC,SAAS;wBACP,mBAAmBhD,KAAKiD,QAAQ;oBAClC;gBACF,GAAGC,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI;gBAEzB,IAAIR,eAAeU,WAAW;oBAC5B,MAAMC,qBAAqB;wBACzB,GAAGxB,aAAa;wBAChBE,OAAO;4BACL,GAAGF,cAAcE,KAAK;4BACtBC,KAAK;mCACAH,cAAcE,KAAK,CAACC,GAAG;gCAC1B;oCACEoB,WAAW;wCACTE,cAAcZ,eAAeU;oCAC/B;gCACF;6BACD;wBACH;oBACF;oBAEA,mCAAmC;oBACnC,MAAMG,kBAAkB,MAAMX,MAC5B,CAAC,EAAErB,gBAAgB,CAAC,EAAEtE,GAAGsF,SAAS,CAACc,oBAAoB,CAAC,EACxD;wBACER,aAAa;wBACbC,SAAS;4BACP,mBAAmBhD,KAAKiD,QAAQ;wBAClC;oBACF;oBAGF,IAAIQ,gBAAgBC,MAAM,KAAK,KAAK;wBAClC9B,yBAAyB,MAAM6B,gBAAgBL,IAAI;oBACrD;gBACF;YACF;YAEA/D,gBAAgBuD;YAChBrD,YAAYsC;YACZhC,uBAAuB+B;QACzB;IACF,GAAG;QAAC5B;QAAM1B;QAAYD;QAAgBD;QAAI+C;QAAShB;QAAQe;KAAe;IAE1E,MAAMyC,oBAAoBvG,MAAME,WAAW,CAAC;QAC1C,IAAIsG;QACJ,MAAMC,SAAS;YACb1D,QAAQA,UAAUiC;QACpB;QACA,IAAIhB,eAAe,WAAW;YAC5BwC,eAAe,CAAC,SAAS,EAAE9C,KAAK,OAAO,CAAC;QAC1C,OAAO,IAAIM,eAAe,iBAAiBhD,IAAI;YAC7CwF,eAAe,CAAC,CAAC,EAAE9C,KAAK,QAAQ,EAAE1C,GAAG,CAAC;QACxC;QAEA,IAAIwF,cAAc;YAChB,MAAMT,MAAM,MAAML,MAAM,CAAC,EAAEpC,UAAU,EAAED,IAAI,EAAEmD,aAAa,CAAC,EAAEzG,GAAGsF,SAAS,CAACoB,QAAQ,CAAC,EAAE;gBACnFd,aAAa;gBACbC,SAAS;oBACP,mBAAmBhD,KAAKiD,QAAQ;gBAClC;YACF;YACA,MAAMG,OAAO,MAAMD,IAAIC,IAAI;YAE3B3D,kBAAkB2D;YAClBzD,qBAAqByD,MAAMU,QAAQC;QACrC,OAAO;YACL,+CAA+C;YAC/C,0BAA0B;YAC1BtE,kBAAkBQ,aAAa,CAACmB,WAAW,EAAE,CAACN,KAAK;YACnDnB,qBAAqBM,aAAa,CAACmB,WAAW,EAAE,CAACN,KAAK,EAAEgD,QAAQC;QAClE;IACF,GAAG;QAACrD;QAAWD;QAAKW;QAAYN;QAAM1C;QAAI6B;QAAaD,KAAKiD,QAAQ;QAAE9C;KAAO;IAE7E,MAAM6D,oBAAoB1G,YAAY;QACpC,OAAOwC,cAAmCuB;IAC5C,GAAG;QAACvB;QAAeuB;KAAe;IAElC,MAAM4C,yBAAyB3G,YAC7B,OAAO4G,MAAMC;QACX,MAAMC,iBAAiB,MAAMJ;QAE7B,IAAI3C,gBAAgB;YAClB,IAAI;gBACF,MAAMtB,cAAcsB,gBAAgB;oBAClC,GAAG+C,cAAc;oBACjBC,QAAQ;wBACN,GAAID,gBAAgBC,UAAU,CAAC,CAAC;wBAChC,CAACH,KAAK,EAAE;4BACN,GAAGE,gBAAgBC,QAAQ,CAACH,KAAK;4BACjC,GAAGC,gBAAgB;wBACrB;oBACF;gBACF;YACF,EAAE,OAAOG,GAAG;gBACVC,QAAQC,KAAK,CAACF,GAAG,iCAAiC;;YACpD;QACF;IACF,GACA;QAACvE;QAAesB;QAAgB2C;KAAkB;IAGpD,MAAMxF,SAASpB,MAAME,WAAW,CAC9B,OAAO8F;QACL,IAAI,OAAO3E,oBAAoB,YAAY;YACzC,KAAKA,gBAAgB2E;QACvB;QAEA,MAAMqB,iBAAiB,MAAMT;QAE7B,MAAMU,WAAW,MAAM1H,aAAa;YAClC2H,UAAUlE;YACVmE,MAAM;gBACJxG;gBACAC;gBACAwG,MAAMzB,KAAK0B,GAAG;gBACdL;gBACAnG;gBACA6B;gBACA4E,WAAWzD,YAAY,WAAW;gBAClC0D,YAAY3G,kBAAkBC;YAChC;YACAoC;QACF;QAEAvB,gBAAgBuF;QAChBzF,eAAemE,KAAK0B,GAAG;IACzB,GACA;QACErE;QACApC;QACA2F;QACA1F;QACAF;QACAkD;QACAnB;QACA1B;QACAiC;KACD;IAGHlD,UAAU;QACR,MAAMyH,kBAAkB,IAAIC;QAE5B,MAAMC,kBAAkB;YACtBtG,WAAW;YACXF,aAAa;YAEb,IAAI;gBACF,MAAMyG,SAAS,MAAMpI,aAAa;oBAChC2H,UAAUlE;oBACVmE,MAAM;wBACJxG;wBACAC;wBACAC;wBACA6B;wBACA4E,WAAWzD,YAAY,WAAW;wBAClC0D,YAAY3G,kBAAkBC;oBAChC;oBACA+G,SAAS9G;oBACTmC;oBACA4E,QAAQL,gBAAgBK,MAAM;gBAChC;gBAEArG,eAAehC,qBAAqBmI,QAAQ;gBAC5CjG,gBAAgBiG;YAClB,EAAE,OAAOG,KAAK;gBACZ,IAAI,CAACN,gBAAgBK,MAAM,CAACE,OAAO,EAAE;oBACnC,IAAI,OAAOjH,gBAAgB,YAAY;wBACrC,KAAKA;oBACP;oBACAM,WAAW;oBACXF,aAAa;gBACf;YACF;YAEAA,aAAa;QACf;QAEA,KAAKwG;QAEL,OAAO;YACLF,gBAAgBQ,KAAK;QACvB;IACF,GAAG;QACDhF;QACAa;QACAjD;QACAqC;QACAtC;QACA0B;QACAxB;QACA6B;QACA5B;KACD;IAEDf,UAAU;QACR,KAAKgE;IACP,GAAG;QAACA;KAAY;IAEhBhE,UAAU;QACRuB,iBACEhC,eAAe;YACb4D;YACAkE,MAAM;gBAAE,GAAG7F,WAAW;gBAAEZ;YAAG;YAC3BiC;YACAqF,UAAUtH,IAAIuH;YACd5E;YACAf;QACF;IAEJ,GAAG;QAACW;QAAkB3B;QAAaqB;QAAYL;QAAM5B;QAAI2C;KAAa;IAEtEvD,UAAU;QACR,MAAMoI,qBAAqB;YACzB,MAAMpG,iBAAsCrB,MAAMqB,cAAc;YAChE,MAAME,oBAA6BvB,MAAMuB,iBAAiB;YAE1D,IAAI,CAACF,kBAAkBE,sBAAsB0C,aAAa1C,sBAAsB,MAAM;gBACpF,MAAMiE;YACR,OAAO;gBACLlE,kBAAkBD;gBAClBG,qBAAqBD;YACvB;QACF;QAEA,IAAIrB,kBAAkBC,YAAY;YAChC,KAAKsH;QACP;IACF,GAAG;QACDjC;QACAxF,MAAMqB,cAAc;QACpBrB,MAAMuB,iBAAiB;QACvBD;QACApB;QACAC;KACD;IAED,IAAIM,SAAS1B;IAEb,IAAI,CAACgC,gBAAgBR,WAAW;QAC9B,qBAAO,oBAAC5B;IACV;IAEA,MAAM+I,QAA6B;QACjC,GAAG1H,KAAK;QACR8C;QACAzB;QACAmE;QACAK;QACAxC;QACA9B;QACAV;QACAE;QACAV;QACAY;QACA6E;QACAlF;QACA+G,OAAOhH;QACPc;QACAN;IACF;IAEA,qBAAO,oBAACvB,QAAQgI,QAAQ;QAACF,OAAOA;OAAQ3H;AAC1C,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, TypeWithVersion } from 'payload/database'\nimport type { Data, FormState, TypeWithTimestamps } from 'payload/types'\nimport type { DocumentPermissions, DocumentPreferences, TypeWithID, Where } from 'payload/types'\n\nimport { LoadingOverlay } from '@payloadcms/ui/elements/Loading'\nimport { formatDocTitle } from '@payloadcms/ui/utilities/formatDocTitle'\nimport { getFormState } from '@payloadcms/ui/utilities/getFormState'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\nimport { notFound } from 'next/navigation.js'\nimport qs from 'qs'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nexport const DocumentInfoProvider: React.FC<\n DocumentInfoProps & {\n children: React.ReactNode\n }\n> = ({ children, ...props }) => {\n const { id, collectionSlug, globalSlug, onLoadError, onSave: onSaveFromProps } = props\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [documentTitle, setDocumentTitle] = useState('')\n const [initialData, setInitialData] = useState<Data>()\n const [initialState, setInitialState] = useState<FormState>()\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(null)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(null)\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { i18n } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(async () => {\n let docAccessURL: string\n const params = {\n locale: locale || undefined,\n }\n if (pluralType === 'globals') {\n docAccessURL = `/globals/${slug}/access`\n } else if (pluralType === 'collections' && id) {\n docAccessURL = `/${slug}/access/${id}`\n }\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n const json = await res.json()\n\n setDocPermissions(json)\n setHasSavePermission(json?.update?.permission)\n } else {\n // fallback to permissions from the entity type\n // (i.e. create has no id)\n setDocPermissions(permissions?.[pluralType]?.[slug])\n setHasSavePermission(permissions?.[pluralType]?.[slug]?.update?.permission)\n }\n }, [serverURL, api, pluralType, slug, id, permissions, i18n.language, locale])\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: json.doc,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setInitialData(json.doc)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setInitialData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n\n setIsLoading(false)\n }\n\n void getInitialState()\n\n return () => {\n abortController.abort()\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n getPreference,\n globalSlug,\n locale,\n onLoadError,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...initialData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, initialData, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = props.docPermissions\n const hasSavePermission: boolean = props.hasSavePermission\n\n if (!docPermissions || hasSavePermission === undefined || hasSavePermission === null) {\n await getDocPermissions()\n } else {\n setDocPermissions(docPermissions)\n setHasSavePermission(hasSavePermission)\n }\n }\n\n if (collectionSlug || globalSlug) {\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n props.docPermissions,\n props.hasSavePermission,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n ])\n\n if (isError) notFound()\n\n if (!initialState || isLoading) {\n return <LoadingOverlay />\n }\n\n const value: DocumentInfoContext = {\n ...props,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasSavePermission,\n initialData,\n initialState,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n"],"names":["LoadingOverlay","formatDocTitle","getFormState","reduceFieldsToValues","notFound","qs","React","createContext","useCallback","useContext","useEffect","useState","useAuth","useConfig","useLocale","usePreferences","useTranslation","Context","useDocumentInfo","DocumentInfoProvider","children","props","id","collectionSlug","globalSlug","onLoadError","onSave","onSaveFromProps","isLoading","setIsLoading","isError","setIsError","documentTitle","setDocumentTitle","initialData","setInitialData","initialState","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","docPermissions","setDocPermissions","hasSavePermission","setHasSavePermission","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","i18n","permissions","code","locale","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","undefined","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","docAccessURL","params","update","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newState","apiRoute","body","data","doc","schemaPath","abortController","AbortController","getInitialState","result","onError","signal","err","aborted","abort","fallback","toString","loadDocPermissions","value","title","Provider"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SanitizedCollectionConfig, SanitizedGlobalConfig, VisibleEntities } from '
|
|
1
|
+
import type { SanitizedCollectionConfig, SanitizedGlobalConfig, VisibleEntities } from 'payload/types';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
export type VisibleEntitiesContextType = {
|
|
4
4
|
isEntityVisible: ({ collectionSlug, globalSlug, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/EntityVisibility/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EAChB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/EntityVisibility/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EAChB,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAiD,MAAM,OAAO,CAAA;AAErE,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,CAAC,EAChB,cAAc,EACd,UAAU,GACX,EAAE;QACD,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;QAClD,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;KAC3C,KAAK,OAAO,CAAA;IACb,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,uBAAuB,2CAAkD,CAAA;AAEtF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CA2BA,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAO,0BACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/EntityVisibility/index.tsx"],"sourcesContent":["'use client'\nimport type {\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n VisibleEntities,\n} from '
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/EntityVisibility/index.tsx"],"sourcesContent":["'use client'\nimport type {\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n VisibleEntities,\n} from 'payload/types'\n\nimport React, { createContext, useCallback, useContext } from 'react'\n\nexport type VisibleEntitiesContextType = {\n isEntityVisible: ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalSlug?: SanitizedGlobalConfig['slug']\n }) => boolean\n visibleEntities: VisibleEntities\n}\n\nexport const EntityVisibilityContext = createContext({} as VisibleEntitiesContextType)\n\nexport const EntityVisibilityProvider: React.FC<{\n children: React.ReactNode\n visibleEntities?: VisibleEntities\n}> = ({ children, visibleEntities }) => {\n const isEntityVisible = useCallback(\n ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug: SanitizedCollectionConfig['slug']\n globalSlug: SanitizedGlobalConfig['slug']\n }) => {\n if (collectionSlug) {\n return visibleEntities.collections.includes(collectionSlug)\n }\n\n if (globalSlug) {\n return visibleEntities.globals.includes(globalSlug)\n }\n\n return false\n },\n [visibleEntities],\n )\n\n return (\n <EntityVisibilityContext.Provider value={{ isEntityVisible, visibleEntities }}>\n {children}\n </EntityVisibilityContext.Provider>\n )\n}\n\nexport const useEntityVisibility = (): VisibleEntitiesContextType =>\n useContext(EntityVisibilityContext)\n"],"names":["React","createContext","useCallback","useContext","EntityVisibilityContext","EntityVisibilityProvider","children","visibleEntities","isEntityVisible","collectionSlug","globalSlug","collections","includes","globals","Provider","value","useEntityVisibility"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAOA,OAAOA,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,QAAQ,QAAO;AAarE,OAAO,MAAMC,wCAA0BH,cAAc,CAAC,GAAgC;AAEtF,OAAO,MAAMI,2BAGR,CAAC,EAAEC,QAAQ,EAAEC,eAAe,EAAE;IACjC,MAAMC,kBAAkBN,YACtB,CAAC,EACCO,cAAc,EACdC,UAAU,EAIX;QACC,IAAID,gBAAgB;YAClB,OAAOF,gBAAgBI,WAAW,CAACC,QAAQ,CAACH;QAC9C;QAEA,IAAIC,YAAY;YACd,OAAOH,gBAAgBM,OAAO,CAACD,QAAQ,CAACF;QAC1C;QAEA,OAAO;IACT,GACA;QAACH;KAAgB;IAGnB,qBACE,oBAACH,wBAAwBU,QAAQ;QAACC,OAAO;YAAEP;YAAiBD;QAAgB;OACzED;AAGP,EAAC;AAED,OAAO,MAAMU,sBAAsB,IACjCb,WAAWC,yBAAwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAMjD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAoB9D,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;IAClC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAA;IACtD,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,eAAe,CAAA;IAChC,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8ExC,CAAA"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import * as facelessUIImport from '@faceless-ui/modal';
|
|
3
3
|
import * as facelessUIImport3 from '@faceless-ui/scroll-info';
|
|
4
4
|
import * as facelessUIImport2 from '@faceless-ui/window-info';
|
|
5
|
+
import { StayLoggedInModal } from '@payloadcms/ui/elements/StayLoggedIn';
|
|
5
6
|
import React, { Fragment } from 'react';
|
|
6
7
|
import { Slide, ToastContainer } from 'react-toastify';
|
|
7
8
|
import { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js';
|
|
@@ -54,7 +55,7 @@ export const RootProvider = ({ children, componentMap, config, dateFNSKey, fallb
|
|
|
54
55
|
classPrefix: "payload",
|
|
55
56
|
transTime: 0,
|
|
56
57
|
zIndex: "var(--z-modal)"
|
|
57
|
-
}, /*#__PURE__*/ React.createElement(AuthProvider, null, /*#__PURE__*/ React.createElement(PreferencesProvider, null, /*#__PURE__*/ React.createElement(ThemeProvider, null, /*#__PURE__*/ React.createElement(ParamsProvider, null, /*#__PURE__*/ React.createElement(LocaleProvider, null, /*#__PURE__*/ React.createElement(StepNavProvider, null, /*#__PURE__*/ React.createElement(LoadingOverlayProvider, null, /*#__PURE__*/ React.createElement(DocumentEventsProvider, null, /*#__PURE__*/ React.createElement(ActionsProvider, null, /*#__PURE__*/ React.createElement(NavProvider, null, children))))))))), /*#__PURE__*/ React.createElement(ModalContainer, null)))))))))))), /*#__PURE__*/ React.createElement(ToastContainer, {
|
|
58
|
+
}, /*#__PURE__*/ React.createElement(AuthProvider, null, /*#__PURE__*/ React.createElement(PreferencesProvider, null, /*#__PURE__*/ React.createElement(ThemeProvider, null, /*#__PURE__*/ React.createElement(ParamsProvider, null, /*#__PURE__*/ React.createElement(LocaleProvider, null, /*#__PURE__*/ React.createElement(StepNavProvider, null, /*#__PURE__*/ React.createElement(LoadingOverlayProvider, null, /*#__PURE__*/ React.createElement(DocumentEventsProvider, null, /*#__PURE__*/ React.createElement(ActionsProvider, null, /*#__PURE__*/ React.createElement(NavProvider, null, children))))))))), /*#__PURE__*/ React.createElement(ModalContainer, null), /*#__PURE__*/ React.createElement(StayLoggedInModal, null)))))))))))), /*#__PURE__*/ React.createElement(ToastContainer, {
|
|
58
59
|
icon: false,
|
|
59
60
|
position: "bottom-center",
|
|
60
61
|
transition: Slide
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Root/index.tsx"],"sourcesContent":["'use client'\nimport type { Language } from '@payloadcms/translations'\nimport type { ClientConfig } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport * as facelessUIImport3 from '@faceless-ui/scroll-info'\nimport * as facelessUIImport2 from '@faceless-ui/window-info'\nimport React, { Fragment } from 'react'\nimport { Slide, ToastContainer } from 'react-toastify'\n\nimport type { ComponentMap } from '../ComponentMap/buildComponentMap/types.js'\nimport type { LanguageOptions } from '../Translation/index.js'\n\nimport { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js'\nimport { NavProvider } from '../../elements/Nav/context.js'\nimport { StepNavProvider } from '../../elements/StepNav/index.js'\nimport { ActionsProvider } from '../Actions/index.js'\nimport { AuthProvider } from '../Auth/index.js'\nimport { ClientFunctionProvider } from '../ClientFunction/index.js'\nimport { ComponentMapProvider } from '../ComponentMap/index.js'\nimport { ConfigProvider } from '../Config/index.js'\nimport { DocumentEventsProvider } from '../DocumentEvents/index.js'\nimport { FieldComponentsProvider } from '../FieldComponents/index.js'\nimport { LocaleProvider } from '../Locale/index.js'\nimport { ParamsProvider } from '../Params/index.js'\nimport { PreferencesProvider } from '../Preferences/index.js'\nimport { RouteCache } from '../RouteCache/index.js'\nimport { SearchParamsProvider } from '../SearchParams/index.js'\nimport { ThemeProvider } from '../Theme/index.js'\nimport { TranslationProvider } from '../Translation/index.js'\n\ntype Props = {\n children: React.ReactNode\n componentMap: ComponentMap\n config: ClientConfig\n dateFNSKey: Language['dateFNSKey']\n fallbackLang: ClientConfig['i18n']['fallbackLanguage']\n languageCode: string\n languageOptions: LanguageOptions\n switchLanguageServerAction?: (lang: string) => Promise<void>\n translations: Language['translations']\n}\n\nexport const RootProvider: React.FC<Props> = ({\n children,\n componentMap,\n config,\n dateFNSKey,\n fallbackLang,\n languageCode,\n languageOptions,\n switchLanguageServerAction,\n translations,\n}) => {\n const { ModalContainer, ModalProvider } = facelessUIImport || {\n ModalContainer: React.Fragment,\n ModalProvider: React.Fragment,\n }\n const { WindowInfoProvider } = facelessUIImport2 || { WindowInfoProvider: React.Fragment }\n const { ScrollInfoProvider } = facelessUIImport3 || { ScrollInfoProvider: React.Fragment }\n\n return (\n <Fragment>\n <RouteCache>\n <ConfigProvider config={config}>\n <ComponentMapProvider componentMap={componentMap}>\n <FieldComponentsProvider>\n <ClientFunctionProvider>\n <TranslationProvider\n dateFNSKey={dateFNSKey}\n fallbackLang={fallbackLang}\n language={languageCode}\n languageOptions={languageOptions}\n switchLanguageServerAction={switchLanguageServerAction}\n translations={translations}\n >\n <WindowInfoProvider\n breakpoints={{\n l: '(max-width: 1440px)',\n m: '(max-width: 1024px)',\n s: '(max-width: 768px)',\n xs: '(max-width: 400px)',\n }}\n >\n <ScrollInfoProvider>\n <SearchParamsProvider>\n <ModalProvider classPrefix=\"payload\" transTime={0} zIndex=\"var(--z-modal)\">\n <AuthProvider>\n <PreferencesProvider>\n <ThemeProvider>\n <ParamsProvider>\n <LocaleProvider>\n <StepNavProvider>\n <LoadingOverlayProvider>\n <DocumentEventsProvider>\n <ActionsProvider>\n <NavProvider>{children}</NavProvider>\n </ActionsProvider>\n </DocumentEventsProvider>\n </LoadingOverlayProvider>\n </StepNavProvider>\n </LocaleProvider>\n </ParamsProvider>\n </ThemeProvider>\n </PreferencesProvider>\n <ModalContainer />\n </AuthProvider>\n </ModalProvider>\n </SearchParamsProvider>\n </ScrollInfoProvider>\n </WindowInfoProvider>\n </TranslationProvider>\n </ClientFunctionProvider>\n </FieldComponentsProvider>\n </ComponentMapProvider>\n </ConfigProvider>\n </RouteCache>\n <ToastContainer icon={false} position=\"bottom-center\" transition={Slide} />\n </Fragment>\n )\n}\n"],"names":["facelessUIImport","facelessUIImport3","facelessUIImport2","React","Fragment","Slide","ToastContainer","LoadingOverlayProvider","NavProvider","StepNavProvider","ActionsProvider","AuthProvider","ClientFunctionProvider","ComponentMapProvider","ConfigProvider","DocumentEventsProvider","FieldComponentsProvider","LocaleProvider","ParamsProvider","PreferencesProvider","RouteCache","SearchParamsProvider","ThemeProvider","TranslationProvider","RootProvider","children","componentMap","config","dateFNSKey","fallbackLang","languageCode","languageOptions","switchLanguageServerAction","translations","ModalContainer","ModalProvider","WindowInfoProvider","ScrollInfoProvider","language","breakpoints","l","m","s","xs","classPrefix","transTime","zIndex","icon","position","transition"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Root/index.tsx"],"sourcesContent":["'use client'\nimport type { Language } from '@payloadcms/translations'\nimport type { ClientConfig } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport * as facelessUIImport3 from '@faceless-ui/scroll-info'\nimport * as facelessUIImport2 from '@faceless-ui/window-info'\nimport { StayLoggedInModal } from '@payloadcms/ui/elements/StayLoggedIn'\nimport React, { Fragment } from 'react'\nimport { Slide, ToastContainer } from 'react-toastify'\n\nimport type { ComponentMap } from '../ComponentMap/buildComponentMap/types.js'\nimport type { LanguageOptions } from '../Translation/index.js'\n\nimport { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js'\nimport { NavProvider } from '../../elements/Nav/context.js'\nimport { StepNavProvider } from '../../elements/StepNav/index.js'\nimport { ActionsProvider } from '../Actions/index.js'\nimport { AuthProvider } from '../Auth/index.js'\nimport { ClientFunctionProvider } from '../ClientFunction/index.js'\nimport { ComponentMapProvider } from '../ComponentMap/index.js'\nimport { ConfigProvider } from '../Config/index.js'\nimport { DocumentEventsProvider } from '../DocumentEvents/index.js'\nimport { FieldComponentsProvider } from '../FieldComponents/index.js'\nimport { LocaleProvider } from '../Locale/index.js'\nimport { ParamsProvider } from '../Params/index.js'\nimport { PreferencesProvider } from '../Preferences/index.js'\nimport { RouteCache } from '../RouteCache/index.js'\nimport { SearchParamsProvider } from '../SearchParams/index.js'\nimport { ThemeProvider } from '../Theme/index.js'\nimport { TranslationProvider } from '../Translation/index.js'\n\ntype Props = {\n children: React.ReactNode\n componentMap: ComponentMap\n config: ClientConfig\n dateFNSKey: Language['dateFNSKey']\n fallbackLang: ClientConfig['i18n']['fallbackLanguage']\n languageCode: string\n languageOptions: LanguageOptions\n switchLanguageServerAction?: (lang: string) => Promise<void>\n translations: Language['translations']\n}\n\nexport const RootProvider: React.FC<Props> = ({\n children,\n componentMap,\n config,\n dateFNSKey,\n fallbackLang,\n languageCode,\n languageOptions,\n switchLanguageServerAction,\n translations,\n}) => {\n const { ModalContainer, ModalProvider } = facelessUIImport || {\n ModalContainer: React.Fragment,\n ModalProvider: React.Fragment,\n }\n const { WindowInfoProvider } = facelessUIImport2 || { WindowInfoProvider: React.Fragment }\n const { ScrollInfoProvider } = facelessUIImport3 || { ScrollInfoProvider: React.Fragment }\n\n return (\n <Fragment>\n <RouteCache>\n <ConfigProvider config={config}>\n <ComponentMapProvider componentMap={componentMap}>\n <FieldComponentsProvider>\n <ClientFunctionProvider>\n <TranslationProvider\n dateFNSKey={dateFNSKey}\n fallbackLang={fallbackLang}\n language={languageCode}\n languageOptions={languageOptions}\n switchLanguageServerAction={switchLanguageServerAction}\n translations={translations}\n >\n <WindowInfoProvider\n breakpoints={{\n l: '(max-width: 1440px)',\n m: '(max-width: 1024px)',\n s: '(max-width: 768px)',\n xs: '(max-width: 400px)',\n }}\n >\n <ScrollInfoProvider>\n <SearchParamsProvider>\n <ModalProvider classPrefix=\"payload\" transTime={0} zIndex=\"var(--z-modal)\">\n <AuthProvider>\n <PreferencesProvider>\n <ThemeProvider>\n <ParamsProvider>\n <LocaleProvider>\n <StepNavProvider>\n <LoadingOverlayProvider>\n <DocumentEventsProvider>\n <ActionsProvider>\n <NavProvider>{children}</NavProvider>\n </ActionsProvider>\n </DocumentEventsProvider>\n </LoadingOverlayProvider>\n </StepNavProvider>\n </LocaleProvider>\n </ParamsProvider>\n </ThemeProvider>\n </PreferencesProvider>\n <ModalContainer />\n <StayLoggedInModal />\n </AuthProvider>\n </ModalProvider>\n </SearchParamsProvider>\n </ScrollInfoProvider>\n </WindowInfoProvider>\n </TranslationProvider>\n </ClientFunctionProvider>\n </FieldComponentsProvider>\n </ComponentMapProvider>\n </ConfigProvider>\n </RouteCache>\n <ToastContainer icon={false} position=\"bottom-center\" transition={Slide} />\n </Fragment>\n )\n}\n"],"names":["facelessUIImport","facelessUIImport3","facelessUIImport2","StayLoggedInModal","React","Fragment","Slide","ToastContainer","LoadingOverlayProvider","NavProvider","StepNavProvider","ActionsProvider","AuthProvider","ClientFunctionProvider","ComponentMapProvider","ConfigProvider","DocumentEventsProvider","FieldComponentsProvider","LocaleProvider","ParamsProvider","PreferencesProvider","RouteCache","SearchParamsProvider","ThemeProvider","TranslationProvider","RootProvider","children","componentMap","config","dateFNSKey","fallbackLang","languageCode","languageOptions","switchLanguageServerAction","translations","ModalContainer","ModalProvider","WindowInfoProvider","ScrollInfoProvider","language","breakpoints","l","m","s","xs","classPrefix","transTime","zIndex","icon","position","transition"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAIA,YAAYA,sBAAsB,qBAAoB;AACtD,YAAYC,uBAAuB,2BAA0B;AAC7D,YAAYC,uBAAuB,2BAA0B;AAC7D,SAASC,iBAAiB,QAAQ,uCAAsC;AACxE,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AACvC,SAASC,KAAK,EAAEC,cAAc,QAAQ,iBAAgB;AAKtD,SAASC,sBAAsB,QAAQ,yCAAwC;AAC/E,SAASC,WAAW,QAAQ,gCAA+B;AAC3D,SAASC,eAAe,QAAQ,kCAAiC;AACjE,SAASC,eAAe,QAAQ,sBAAqB;AACrD,SAASC,YAAY,QAAQ,mBAAkB;AAC/C,SAASC,sBAAsB,QAAQ,6BAA4B;AACnE,SAASC,oBAAoB,QAAQ,2BAA0B;AAC/D,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,sBAAsB,QAAQ,6BAA4B;AACnE,SAASC,uBAAuB,QAAQ,8BAA6B;AACrE,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,cAAc,QAAQ,qBAAoB;AACnD,SAASC,mBAAmB,QAAQ,0BAAyB;AAC7D,SAASC,UAAU,QAAQ,yBAAwB;AACnD,SAASC,oBAAoB,QAAQ,2BAA0B;AAC/D,SAASC,aAAa,QAAQ,oBAAmB;AACjD,SAASC,mBAAmB,QAAQ,0BAAyB;AAc7D,OAAO,MAAMC,eAAgC,CAAC,EAC5CC,QAAQ,EACRC,YAAY,EACZC,MAAM,EACNC,UAAU,EACVC,YAAY,EACZC,YAAY,EACZC,eAAe,EACfC,0BAA0B,EAC1BC,YAAY,EACb;IACC,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGpC,oBAAoB;QAC5DmC,gBAAgB/B,MAAMC,QAAQ;QAC9B+B,eAAehC,MAAMC,QAAQ;IAC/B;IACA,MAAM,EAAEgC,kBAAkB,EAAE,GAAGnC,qBAAqB;QAAEmC,oBAAoBjC,MAAMC,QAAQ;IAAC;IACzF,MAAM,EAAEiC,kBAAkB,EAAE,GAAGrC,qBAAqB;QAAEqC,oBAAoBlC,MAAMC,QAAQ;IAAC;IAEzF,qBACE,oBAACA,8BACC,oBAACgB,gCACC,oBAACN;QAAea,QAAQA;qBACtB,oBAACd;QAAqBa,cAAcA;qBAClC,oBAACV,6CACC,oBAACJ,4CACC,oBAACW;QACCK,YAAYA;QACZC,cAAcA;QACdS,UAAUR;QACVC,iBAAiBA;QACjBC,4BAA4BA;QAC5BC,cAAcA;qBAEd,oBAACG;QACCG,aAAa;YACXC,GAAG;YACHC,GAAG;YACHC,GAAG;YACHC,IAAI;QACN;qBAEA,oBAACN,wCACC,oBAAChB,0CACC,oBAACc;QAAcS,aAAY;QAAUC,WAAW;QAAGC,QAAO;qBACxD,oBAACnC,kCACC,oBAACQ,yCACC,oBAACG,mCACC,oBAACJ,oCACC,oBAACD,oCACC,oBAACR,qCACC,oBAACF,4CACC,oBAACQ,4CACC,oBAACL,qCACC,oBAACF,mBAAaiB,iCAS9B,oBAACS,qCACD,oBAAChC,mDAYvB,oBAACI;QAAeyC,MAAM;QAAOC,UAAS;QAAgBC,YAAY5C;;AAGxE,EAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const generateFieldID: (path: string, uuid: string) => string;
|
|
1
|
+
export declare const generateFieldID: (path: string, editDepth: number, uuid: string) => string;
|
|
2
2
|
//# sourceMappingURL=generateFieldID.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateFieldID.d.ts","sourceRoot":"","sources":["../../src/utilities/generateFieldID.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,SAAU,MAAM,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"generateFieldID.d.ts","sourceRoot":"","sources":["../../src/utilities/generateFieldID.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,SAAU,MAAM,aAAa,MAAM,QAAQ,MAAM,WAE5E,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const generateFieldID = (path, uuid)=>{
|
|
2
|
-
return `field-${path?.replace(/\./g, '__')}${uuid ? `-${uuid}` : ''}`;
|
|
1
|
+
export const generateFieldID = (path, editDepth, uuid)=>{
|
|
2
|
+
return `field-${path?.replace(/\./g, '__')}${editDepth > 1 ? `-${editDepth}` : ''}${uuid ? `-${uuid}` : ''}`;
|
|
3
3
|
};
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=generateFieldID.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/generateFieldID.ts"],"sourcesContent":["export const generateFieldID = (path: string, uuid: string) => {\n return `field-${path?.replace(/\\./g, '__')}${uuid ? `-${uuid}` : ''}`\n}\n"],"names":["generateFieldID","path","uuid","replace"],"rangeMappings":";;","mappings":"AAAA,OAAO,MAAMA,kBAAkB,CAACC,MAAcC;
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/generateFieldID.ts"],"sourcesContent":["export const generateFieldID = (path: string, editDepth: number, uuid: string) => {\n return `field-${path?.replace(/\\./g, '__')}${editDepth > 1 ? `-${editDepth}` : ''}${uuid ? `-${uuid}` : ''}`\n}\n"],"names":["generateFieldID","path","editDepth","uuid","replace"],"rangeMappings":";;","mappings":"AAAA,OAAO,MAAMA,kBAAkB,CAACC,MAAcC,WAAmBC;IAC/D,OAAO,CAAC,MAAM,EAAEF,MAAMG,QAAQ,OAAO,MAAM,EAAEF,YAAY,IAAI,CAAC,CAAC,EAAEA,UAAU,CAAC,GAAG,GAAG,EAAEC,OAAO,CAAC,CAAC,EAAEA,KAAK,CAAC,GAAG,GAAG,CAAC;AAC9G,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.0.0-
|
|
4
|
-
"type": "module",
|
|
3
|
+
"version": "3.0.0-canary.6041f49",
|
|
5
4
|
"homepage": "https://payloadcms.com",
|
|
6
5
|
"repository": {
|
|
7
6
|
"type": "git",
|
|
8
7
|
"url": "https://github.com/payloadcms/payload.git",
|
|
9
8
|
"directory": "packages/ui"
|
|
10
9
|
},
|
|
10
|
+
"type": "module",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": "./dist/exports/index.js",
|
|
13
13
|
"./assets/*": "./dist/assets/*",
|
|
@@ -88,27 +88,9 @@
|
|
|
88
88
|
},
|
|
89
89
|
"./scss/app.scss": "./dist/scss/app.scss"
|
|
90
90
|
},
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
|
|
94
|
-
"@types/react": "18.2.74",
|
|
95
|
-
"@types/react-datepicker": "4.11.2",
|
|
96
|
-
"@types/react-dom": "18.2.24",
|
|
97
|
-
"@types/uuid": "8.3.4",
|
|
98
|
-
"postcss-loader": "^8.1.1",
|
|
99
|
-
"postcss-preset-env": "^9.5.0",
|
|
100
|
-
"sass-loader": "^14.1.1",
|
|
101
|
-
"swc-loader": "^0.2.6",
|
|
102
|
-
"swc-plugin-transform-remove-imports": "^1.12.1",
|
|
103
|
-
"css-loader": "^6.10.0",
|
|
104
|
-
"css-minimizer-webpack-plugin": "^6.0.0",
|
|
105
|
-
"mini-css-extract-plugin": "1.6.2",
|
|
106
|
-
"terser-webpack-plugin": "^5.3.10",
|
|
107
|
-
"webpack": "^5.78.0",
|
|
108
|
-
"webpack-cli": "^5.1.4",
|
|
109
|
-
"@payloadcms/eslint-config": "1.1.1",
|
|
110
|
-
"payload": "3.0.0-beta.9"
|
|
111
|
-
},
|
|
91
|
+
"files": [
|
|
92
|
+
"dist"
|
|
93
|
+
],
|
|
112
94
|
"dependencies": {
|
|
113
95
|
"@dnd-kit/core": "6.0.8",
|
|
114
96
|
"@dnd-kit/sortable": "7.0.2",
|
|
@@ -131,25 +113,44 @@
|
|
|
131
113
|
"react-toastify": "10.0.4",
|
|
132
114
|
"use-context-selector": "1.4.1",
|
|
133
115
|
"uuid": "9.0.1",
|
|
134
|
-
"@payloadcms/translations": "3.0.0-
|
|
116
|
+
"@payloadcms/translations": "3.0.0-canary.6041f49"
|
|
117
|
+
},
|
|
118
|
+
"devDependencies": {
|
|
119
|
+
"@types/body-scroll-lock": "^3.1.0",
|
|
120
|
+
"@types/qs": "6.9.7",
|
|
121
|
+
"@types/react": "18.2.74",
|
|
122
|
+
"@types/react-datepicker": "4.11.2",
|
|
123
|
+
"@types/react-dom": "18.2.24",
|
|
124
|
+
"@types/uuid": "8.3.4",
|
|
125
|
+
"css-loader": "^6.10.0",
|
|
126
|
+
"css-minimizer-webpack-plugin": "^6.0.0",
|
|
127
|
+
"mini-css-extract-plugin": "1.6.2",
|
|
128
|
+
"postcss-loader": "^8.1.1",
|
|
129
|
+
"postcss-preset-env": "^9.5.0",
|
|
130
|
+
"sass-loader": "^14.1.1",
|
|
131
|
+
"swc-loader": "^0.2.6",
|
|
132
|
+
"swc-plugin-transform-remove-imports": "^1.12.1",
|
|
133
|
+
"terser-webpack-plugin": "^5.3.10",
|
|
134
|
+
"webpack": "^5.78.0",
|
|
135
|
+
"webpack-cli": "^5.1.4",
|
|
136
|
+
"payload": "3.0.0-canary.6041f49",
|
|
137
|
+
"@payloadcms/eslint-config": "1.1.1"
|
|
135
138
|
},
|
|
136
139
|
"peerDependencies": {
|
|
137
|
-
"next": "^14.
|
|
140
|
+
"next": "^14.3.0-canary.7",
|
|
138
141
|
"react": "^18.0.0",
|
|
139
|
-
"
|
|
142
|
+
"react-dom": "^18.0.0",
|
|
143
|
+
"payload": "3.0.0-canary.6041f49"
|
|
140
144
|
},
|
|
141
145
|
"engines": {
|
|
142
|
-
"node": ">=18.
|
|
146
|
+
"node": ">=18.20.2"
|
|
143
147
|
},
|
|
144
|
-
"files": [
|
|
145
|
-
"dist"
|
|
146
|
-
],
|
|
147
148
|
"scripts": {
|
|
148
149
|
"build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
|
|
150
|
+
"build:remove-artifact": "rm dist/prod/index.js",
|
|
149
151
|
"build:swc": "swc ./src -d ./dist --config-file .swcrc",
|
|
150
152
|
"build:types": "tsc --emitDeclarationOnly --outDir dist",
|
|
151
153
|
"build:webpack": "webpack --config webpack.config.js",
|
|
152
|
-
"build:remove-artifact": "rm dist/prod/index.js",
|
|
153
154
|
"clean": "rimraf {dist,*.tsbuildinfo}",
|
|
154
155
|
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
|
|
155
156
|
"fix": "eslint \"src/**/*.{ts,tsx}\" --fix",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WithServerSideProps.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/WithServerSideProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAKnF,eAAO,MAAM,mBAAmB,EAAE,uBAejC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/WithServerSideProps.tsx"],"sourcesContent":["import type { WithServerSideProps as WithServerSidePropsType } from 'payload/types'\n\nimport { isReactServerComponent } from 'payload/utilities'\nimport React from 'react'\n\nexport const WithServerSideProps: WithServerSidePropsType = ({ Component, payload, ...rest }) => {\n if (Component) {\n const WithServerSideProps: React.FC<any> = (passedProps) => {\n const propsWithPayload = {\n ...passedProps,\n ...(isReactServerComponent(Component) ? { payload } : {}),\n }\n\n return <Component {...propsWithPayload} />\n }\n\n return <WithServerSideProps {...rest} />\n }\n\n return null\n}\n"],"names":["isReactServerComponent","React","WithServerSideProps","Component","payload","rest","passedProps","propsWithPayload"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,sBAAsB,QAAQ,oBAAmB;AAC1D,OAAOC,WAAW,QAAO;AAEzB,OAAO,MAAMC,sBAA+C,CAAC,EAAEC,SAAS,EAAEC,OAAO,EAAE,GAAGC,MAAM;IAC1F,IAAIF,WAAW;QACb,MAAMD,sBAAqC,CAACI;YAC1C,MAAMC,mBAAmB;gBACvB,GAAGD,WAAW;gBACd,GAAIN,uBAAuBG,aAAa;oBAAEC;gBAAQ,IAAI,CAAC,CAAC;YAC1D;YAEA,qBAAO,oBAACD,WAAcI;QACxB;QAEA,qBAAO,oBAACL,qBAAwBG;IAClC;IAEA,OAAO;AACT,EAAC"}
|