@payloadcms/ui 3.0.0-beta.37 → 3.0.0-beta.39
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/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +2 -0
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +3 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +14 -8
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.d.ts +5 -0
- package/dist/elements/ReactSelect/Input/index.d.ts.map +1 -0
- package/dist/elements/ReactSelect/Input/index.js +17 -0
- package/dist/elements/ReactSelect/Input/index.js.map +1 -0
- package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +7 -5
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.d.ts.map +1 -1
- package/dist/elements/ReactSelect/index.js +17 -1
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.d.ts.map +1 -1
- package/dist/elements/RenderTitle/index.js +12 -7
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +104 -72
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +3 -3
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +49 -49
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +6 -6
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +6 -6
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/index.d.ts.map +1 -1
- package/dist/fields/Checkbox/index.js +6 -6
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.d.ts.map +1 -1
- package/dist/fields/Code/index.js +5 -5
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.d.ts.map +1 -1
- package/dist/fields/Collapsible/index.js +5 -2
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +5 -5
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.d.ts.map +1 -1
- package/dist/fields/Email/index.js +4 -4
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +5 -3
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/JSON/index.d.ts.map +1 -1
- package/dist/fields/JSON/index.js +7 -7
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Number/index.d.ts.map +1 -1
- package/dist/fields/Number/index.js +7 -7
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +6 -4
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.d.ts.map +1 -1
- package/dist/fields/RadioGroup/index.js +5 -5
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/findOptionsByValue.js +1 -1
- package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +2 -4
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Select/index.d.ts.map +1 -1
- package/dist/fields/Select/index.js +5 -5
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Text/index.d.ts.map +1 -1
- package/dist/fields/Text/index.js +5 -5
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/index.d.ts.map +1 -1
- package/dist/fields/Textarea/index.js +3 -3
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +3 -3
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/FieldPropsProvider/index.d.ts +1 -0
- package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
- package/dist/forms/FieldPropsProvider/index.js.map +1 -1
- package/dist/forms/Form/context.d.ts +3 -1
- package/dist/forms/Form/context.d.ts.map +1 -1
- package/dist/forms/Form/context.js +3 -1
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/getSiblingData.d.ts.map +1 -1
- package/dist/forms/Form/getSiblingData.js +1 -0
- package/dist/forms/Form/getSiblingData.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +28 -11
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.d.ts.map +1 -1
- package/dist/forms/Form/initContextState.js +1 -0
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/types.d.ts +2 -0
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/index.d.ts.map +1 -1
- package/dist/forms/RenderFields/index.js +6 -2
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.d.ts +8 -1
- package/dist/forms/RenderFields/types.d.ts.map +1 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/Submit/index.d.ts.map +1 -1
- package/dist/forms/Submit/index.js +3 -2
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +5 -3
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +4 -3
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +5 -3
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +4 -3
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +5 -3
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +21 -15
- package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/index.js +3 -2
- package/dist/forms/buildStateFromSchema/index.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +5 -2
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.d.ts +1 -0
- package/dist/forms/useField/types.d.ts.map +1 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/icons/Plus/index.d.ts.map +1 -1
- package/dist/icons/Plus/index.js +1 -0
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Plus/index.scss +0 -3
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +67 -53
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +4 -0
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/Root/index.d.ts +1 -2
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/Translation/index.d.ts +1 -5
- package/dist/providers/Translation/index.d.ts.map +1 -1
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.d.ts +8 -0
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/index.js +29 -0
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +14 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +75 -0
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/types.d.ts +3 -0
- package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +1 -0
- package/dist/utilities/buildFieldSchemaMap/types.js +3 -0
- package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -0
- package/dist/utilities/buildFormState.d.ts +7 -0
- package/dist/utilities/buildFormState.d.ts.map +1 -0
- package/dist/utilities/buildFormState.js +162 -0
- package/dist/utilities/buildFormState.js.map +1 -0
- package/dist/utilities/getFormState.d.ts +1 -0
- package/dist/utilities/getFormState.d.ts.map +1 -1
- package/dist/utilities/getFormState.js +5 -2
- package/dist/utilities/getFormState.js.map +1 -1
- package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToValues.js +1 -0
- package/dist/utilities/reduceFieldsToValues.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type { PaginatedDocs, TypeWithVersion } from 'payload/database'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithID,\n TypeWithTimestamps,\n} from 'payload/types'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n AfterDocument?: React.ReactNode\n AfterFields?: React.ReactNode\n BeforeDocument?: React.ReactNode\n BeforeFields?: React.ReactNode\n action?: string\n apiURL?: string\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableActions?: boolean\n disableLeaveWithoutSaving?: boolean\n docPermissions?: DocumentPermissions\n globalSlug?: SanitizedGlobalConfig['slug']\n hasPublishPermission?: boolean\n hasSavePermission?: boolean\n id: null | number | string\n isEditing?: boolean\n onLoadError?: (data?: any) => Promise<void> | void\n onSave?: (data: Data) => Promise<void> | void\n}\n\nexport type DocumentInfoContext = DocumentInfoProps & {\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n getVersions: () => Promise<void>\n initialData: Data\n initialState?: FormState\n preferencesKey?: string\n publishedDoc?: TypeWithID & TypeWithTimestamps & { _status?: string }\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: Partial<InsideFieldsPreferences> & { [key: string]: unknown },\n ) => void\n setDocumentTitle: (title: string) => void\n slug?: string\n title: string\n unpublishedVersions?: PaginatedDocs<TypeWithVersion<any>>\n versions?: PaginatedDocs<TypeWithVersion<any>>\n versionsCount?: PaginatedDocs<TypeWithVersion<any>>\n}\n"],"names":[],"rangeMappings":"","mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/DocumentInfo/types.ts"],"sourcesContent":["import type { PaginatedDocs, TypeWithVersion } from 'payload/database'\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n InsideFieldsPreferences,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypeWithID,\n TypeWithTimestamps,\n} from 'payload/types'\nimport type React from 'react'\n\nexport type DocumentInfoProps = {\n AfterDocument?: React.ReactNode\n AfterFields?: React.ReactNode\n BeforeDocument?: React.ReactNode\n BeforeFields?: React.ReactNode\n action?: string\n apiURL?: string\n collectionSlug?: SanitizedCollectionConfig['slug']\n disableActions?: boolean\n disableLeaveWithoutSaving?: boolean\n docPermissions?: DocumentPermissions\n globalSlug?: SanitizedGlobalConfig['slug']\n hasPublishPermission?: boolean\n hasSavePermission?: boolean\n id: null | number | string\n initialData?: Data\n initialState?: FormState\n isEditing?: boolean\n onLoadError?: (data?: any) => Promise<void> | void\n onSave?: (data: Data) => Promise<void> | void\n}\n\nexport type DocumentInfoContext = DocumentInfoProps & {\n docConfig?: ClientCollectionConfig | ClientGlobalConfig\n getDocPermissions: (data?: Data) => Promise<void>\n getDocPreferences: () => Promise<DocumentPreferences>\n getVersions: () => Promise<void>\n initialData: Data\n initialState?: FormState\n isInitializing: boolean\n isLoading: boolean\n preferencesKey?: string\n publishedDoc?: TypeWithID & TypeWithTimestamps & { _status?: string }\n setDocFieldPreferences: (\n field: string,\n fieldPreferences: Partial<InsideFieldsPreferences> & { [key: string]: unknown },\n ) => void\n setDocumentTitle: (title: string) => void\n slug?: string\n title: string\n unpublishedVersions?: PaginatedDocs<TypeWithVersion<any>>\n versions?: PaginatedDocs<TypeWithVersion<any>>\n versionsCount?: PaginatedDocs<TypeWithVersion<any>>\n}\n"],"names":[],"rangeMappings":"","mappings":"AAsCA,WAqBC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { I18nClient, Language } from '@payloadcms/translations';
|
|
2
|
-
import type { ClientConfig } from 'payload/types';
|
|
2
|
+
import type { ClientConfig, LanguageOptions } from 'payload/types';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import type { ComponentMap } from '../ComponentMap/buildComponentMap/types.js';
|
|
5
5
|
import type { Theme } from '../Theme/index.js';
|
|
6
|
-
import type { LanguageOptions } from '../Translation/index.js';
|
|
7
6
|
type Props = {
|
|
8
7
|
children: React.ReactNode;
|
|
9
8
|
componentMap: ComponentMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACpE,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,UAAU,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAKlE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAqB9C,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,KAAK,EAAE,KAAK,CAAA;IACZ,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+ExC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Root/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient, 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 { Theme } from '../Theme/index.js'\
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Root/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient, Language } from '@payloadcms/translations'\nimport type { ClientConfig, LanguageOptions } 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 { Theme } from '../Theme/index.js'\n\nimport { LoadingOverlayProvider } from '../../elements/LoadingOverlay/index.js'\nimport { NavProvider } from '../../elements/Nav/context.js'\nimport { StayLoggedInModal } from '../../elements/StayLoggedIn/index.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 theme: Theme\n translations: I18nClient['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 theme,\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 cookiePrefix={config.cookiePrefix} theme={theme}>\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","React","Fragment","Slide","ToastContainer","LoadingOverlayProvider","NavProvider","StayLoggedInModal","StepNavProvider","ActionsProvider","AuthProvider","ClientFunctionProvider","ComponentMapProvider","ConfigProvider","DocumentEventsProvider","FieldComponentsProvider","LocaleProvider","ParamsProvider","PreferencesProvider","RouteCache","SearchParamsProvider","ThemeProvider","TranslationProvider","RootProvider","children","componentMap","config","dateFNSKey","fallbackLang","languageCode","languageOptions","switchLanguageServerAction","theme","translations","ModalContainer","ModalProvider","WindowInfoProvider","ScrollInfoProvider","language","breakpoints","l","m","s","xs","classPrefix","transTime","zIndex","cookiePrefix","icon","position","transition"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAIA,YAAYA,sBAAsB,qBAAoB;AACtD,YAAYC,uBAAuB,2BAA0B;AAC7D,YAAYC,uBAAuB,2BAA0B;AAC7D,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,iBAAiB,QAAQ,uCAAsC;AACxE,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;AAe7D,OAAO,MAAMC,eAAgC,CAAC,EAC5CC,QAAQ,EACRC,YAAY,EACZC,MAAM,EACNC,UAAU,EACVC,YAAY,EACZC,YAAY,EACZC,eAAe,EACfC,0BAA0B,EAC1BC,KAAK,EACLC,YAAY,EACb;IACC,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGrC,oBAAoB;QAC5DoC,gBAAgBjC,MAAMC,QAAQ;QAC9BiC,eAAelC,MAAMC,QAAQ;IAC/B;IACA,MAAM,EAAEkC,kBAAkB,EAAE,GAAGpC,qBAAqB;QAAEoC,oBAAoBnC,MAAMC,QAAQ;IAAC;IACzF,MAAM,EAAEmC,kBAAkB,EAAE,GAAGtC,qBAAqB;QAAEsC,oBAAoBpC,MAAMC,QAAQ;IAAC;IAEzF,qBACE,MAACA;;0BACC,KAACiB;0BACC,cAAA,KAACN;oBAAea,QAAQA;8BACtB,cAAA,KAACd;wBAAqBa,cAAcA;kCAClC,cAAA,KAACV;sCACC,cAAA,KAACJ;0CACC,cAAA,KAACW;oCACCK,YAAYA;oCACZC,cAAcA;oCACdU,UAAUT;oCACVC,iBAAiBA;oCACjBC,4BAA4BA;oCAC5BE,cAAcA;8CAEd,cAAA,KAACG;wCACCG,aAAa;4CACXC,GAAG;4CACHC,GAAG;4CACHC,GAAG;4CACHC,IAAI;wCACN;kDAEA,cAAA,KAACN;sDACC,cAAA,KAACjB;0DACC,cAAA,KAACe;oDAAcS,aAAY;oDAAUC,WAAW;oDAAGC,QAAO;8DACxD,cAAA,MAACpC;;0EACC,KAACQ;0EACC,cAAA,KAACG;oEAAc0B,cAAcrB,OAAOqB,YAAY;oEAAEf,OAAOA;8EACvD,cAAA,KAACf;kFACC,cAAA,KAACD;sFACC,cAAA,KAACR;0FACC,cAAA,KAACH;8FACC,cAAA,KAACS;kGACC,cAAA,KAACL;sGACC,cAAA,KAACH;0GAAakB;;;;;;;;;;0EAS9B,KAACU;0EACD,KAAC3B;;;;;;;;;;;;;0BAYvB,KAACH;gBAAe4C,MAAM;gBAAOC,UAAS;gBAAgBC,YAAY/C;;;;AAGxE,EAAC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations';
|
|
2
2
|
import type { AcceptedLanguages, ClientTranslationsObject, Language, TFunction } from '@payloadcms/translations';
|
|
3
|
-
import type { ClientConfig } from 'payload/types';
|
|
3
|
+
import type { ClientConfig, LanguageOptions } from 'payload/types';
|
|
4
4
|
import React from 'react';
|
|
5
|
-
export type LanguageOptions = {
|
|
6
|
-
label: string;
|
|
7
|
-
value: string;
|
|
8
|
-
}[];
|
|
9
5
|
type ContextType<TAdditionalTranslations = {}, TAdditionalClientTranslationKeys extends string = never> = {
|
|
10
6
|
i18n: [TAdditionalClientTranslationKeys] extends [never] ? I18nClient : TAdditionalTranslations extends object ? I18nClient<TAdditionalTranslations, TAdditionalClientTranslationKeys> : I18nClient<ClientTranslationsObject, TAdditionalClientTranslationKeys>;
|
|
11
7
|
languageOptions: LanguageOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Translation/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,QAAQ,EACR,SAAS,EACV,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Translation/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,QAAQ,EACR,SAAS,EACV,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAKlE,OAAO,KAAyD,MAAM,OAAO,CAAA;AAI7E,KAAK,WAAW,CACd,uBAAuB,GAAG,EAAE,EAC5B,gCAAgC,SAAS,MAAM,GAAG,KAAK,IACrD;IACF,IAAI,EAAE,CAAC,gCAAgC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpD,UAAU,GACV,uBAAuB,SAAS,MAAM,GACpC,UAAU,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,GACrE,UAAU,CAAC,wBAAwB,EAAE,gCAAgC,CAAC,CAAA;IAC5E,eAAe,EAAE,eAAe,CAAA;IAChC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,CAAC,EAAE,SAAS,CAAC,qBAAqB,GAAG,OAAO,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC,CAAA;CACxF,CAAA;AAiBD,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;IAClC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAA;IACtD,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,eAAe,CAAA;IAChC,0BAA0B,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA6D/C,CAAA;AAED,eAAO,MAAM,cAAc,qKAGuE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Translation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type {\n AcceptedLanguages,\n ClientTranslationsObject,\n Language,\n TFunction,\n} from '@payloadcms/translations'\nimport type { Locale } from 'date-fns'\nimport type { ClientConfig } from 'payload/types'\n\nimport { t } from '@payloadcms/translations'\nimport { importDateFNSLocale } from '@payloadcms/translations'\nimport enUS from 'date-fns/locale/en-US'\nimport React, { createContext, useContext, useEffect, useState } from 'react'\n\nimport { useRouteCache } from '../RouteCache/index.js'\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Translation/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type {\n AcceptedLanguages,\n ClientTranslationsObject,\n Language,\n TFunction,\n} from '@payloadcms/translations'\nimport type { Locale } from 'date-fns'\nimport type { ClientConfig, LanguageOptions } from 'payload/types'\n\nimport { t } from '@payloadcms/translations'\nimport { importDateFNSLocale } from '@payloadcms/translations'\nimport enUS from 'date-fns/locale/en-US'\nimport React, { createContext, useContext, useEffect, useState } from 'react'\n\nimport { useRouteCache } from '../RouteCache/index.js'\n\ntype ContextType<\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n> = {\n i18n: [TAdditionalClientTranslationKeys] extends [never]\n ? I18nClient\n : TAdditionalTranslations extends object\n ? I18nClient<TAdditionalTranslations, TAdditionalClientTranslationKeys>\n : I18nClient<ClientTranslationsObject, TAdditionalClientTranslationKeys>\n languageOptions: LanguageOptions\n switchLanguage?: (lang: AcceptedLanguages) => Promise<void>\n t: TFunction<ClientTranslationKeys | Extract<TAdditionalClientTranslationKeys, string>>\n}\n\nconst Context = createContext<ContextType<any, any>>({\n // Use `any` here to be replaced later with a more specific type when used\n i18n: {\n dateFNS: enUS,\n dateFNSKey: 'en-US',\n fallbackLanguage: 'en',\n language: 'en',\n t: (key) => key,\n translations: {} as any,\n },\n languageOptions: undefined,\n switchLanguage: undefined,\n t: (key) => undefined,\n})\n\ntype Props = {\n children: React.ReactNode\n dateFNSKey: Language['dateFNSKey']\n fallbackLang: ClientConfig['i18n']['fallbackLanguage']\n language: string\n languageOptions: LanguageOptions\n switchLanguageServerAction: (lang: string) => Promise<void>\n translations: I18nClient['translations']\n}\n\nexport const TranslationProvider: React.FC<Props> = ({\n children,\n dateFNSKey,\n fallbackLang,\n language,\n languageOptions,\n switchLanguageServerAction,\n translations,\n}) => {\n const { clearRouteCache } = useRouteCache()\n const [dateFNS, setDateFNS] = useState<Locale>()\n\n const nextT: ContextType['t'] = (key, vars): string =>\n t({\n key,\n translations,\n vars,\n })\n\n const switchLanguage = React.useCallback(\n async (lang: string) => {\n try {\n await switchLanguageServerAction(lang)\n clearRouteCache()\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`Error loading language: \"${lang}\"`, error)\n }\n },\n [switchLanguageServerAction, clearRouteCache],\n )\n\n useEffect(() => {\n const loadDateFNS = async () => {\n const imported = await importDateFNSLocale(dateFNSKey)\n\n setDateFNS(imported)\n }\n\n void loadDateFNS()\n }, [dateFNSKey])\n\n return (\n <Context.Provider\n value={{\n i18n: {\n dateFNS,\n dateFNSKey,\n fallbackLanguage: fallbackLang,\n language,\n t: nextT,\n translations,\n },\n languageOptions,\n switchLanguage,\n t: nextT,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useTranslation = <\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n>() => useContext<ContextType<TAdditionalTranslations, TAdditionalClientTranslationKeys>>(Context)\n"],"names":["t","importDateFNSLocale","enUS","React","createContext","useContext","useEffect","useState","useRouteCache","Context","i18n","dateFNS","dateFNSKey","fallbackLanguage","language","key","translations","languageOptions","undefined","switchLanguage","TranslationProvider","children","fallbackLang","switchLanguageServerAction","clearRouteCache","setDateFNS","nextT","vars","useCallback","lang","error","console","loadDateFNS","imported","Provider","value","useTranslation"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAWA,SAASA,CAAC,QAAQ,2BAA0B;AAC5C,SAASC,mBAAmB,QAAQ,2BAA0B;AAC9D,OAAOC,UAAU,wBAAuB;AACxC,OAAOC,SAASC,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAE7E,SAASC,aAAa,QAAQ,yBAAwB;AAgBtD,MAAMC,wBAAUL,cAAqC;IACnD,0EAA0E;IAC1EM,MAAM;QACJC,SAAST;QACTU,YAAY;QACZC,kBAAkB;QAClBC,UAAU;QACVd,GAAG,CAACe,MAAQA;QACZC,cAAc,CAAC;IACjB;IACAC,iBAAiBC;IACjBC,gBAAgBD;IAChBlB,GAAG,CAACe,MAAQG;AACd;AAYA,OAAO,MAAME,sBAAuC,CAAC,EACnDC,QAAQ,EACRT,UAAU,EACVU,YAAY,EACZR,QAAQ,EACRG,eAAe,EACfM,0BAA0B,EAC1BP,YAAY,EACb;IACC,MAAM,EAAEQ,eAAe,EAAE,GAAGhB;IAC5B,MAAM,CAACG,SAASc,WAAW,GAAGlB;IAE9B,MAAMmB,QAA0B,CAACX,KAAKY,OACpC3B,EAAE;YACAe;YACAC;YACAW;QACF;IAEF,MAAMR,iBAAiBhB,MAAMyB,WAAW,CACtC,OAAOC;QACL,IAAI;YACF,MAAMN,2BAA2BM;YACjCL;QACF,EAAE,OAAOM,OAAO;YACd,sCAAsC;YACtCC,QAAQD,KAAK,CAAC,CAAC,yBAAyB,EAAED,KAAK,CAAC,CAAC,EAAEC;QACrD;IACF,GACA;QAACP;QAA4BC;KAAgB;IAG/ClB,UAAU;QACR,MAAM0B,cAAc;YAClB,MAAMC,WAAW,MAAMhC,oBAAoBW;YAE3Ca,WAAWQ;QACb;QAEA,KAAKD;IACP,GAAG;QAACpB;KAAW;IAEf,qBACE,KAACH,QAAQyB,QAAQ;QACfC,OAAO;YACLzB,MAAM;gBACJC;gBACAC;gBACAC,kBAAkBS;gBAClBR;gBACAd,GAAG0B;gBACHV;YACF;YACAC;YACAE;YACAnB,GAAG0B;QACL;kBAECL;;AAGP,EAAC;AAED,OAAO,MAAMe,iBAAiB,IAGvB/B,WAAmFI,SAAQ"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { I18n } from '@payloadcms/translations';
|
|
2
|
+
import type { SanitizedConfig } from 'payload/types';
|
|
3
|
+
import type { FieldSchemaMap } from './types.js';
|
|
4
|
+
export declare const buildFieldSchemaMap: (args: {
|
|
5
|
+
config: SanitizedConfig;
|
|
6
|
+
i18n: I18n;
|
|
7
|
+
}) => FieldSchemaMap;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildFieldSchemaMap/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD,eAAO,MAAM,mBAAmB,SAAU;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,IAAI,CAAA;CACX,mBA8BA,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { traverseFields } from './traverseFields.js';
|
|
2
|
+
export const buildFieldSchemaMap = (args)=>{
|
|
3
|
+
const { config, i18n } = args;
|
|
4
|
+
const result = new Map();
|
|
5
|
+
const validRelationships = config.collections.map((c)=>c.slug) || [];
|
|
6
|
+
config.collections.forEach((collection)=>{
|
|
7
|
+
traverseFields({
|
|
8
|
+
config,
|
|
9
|
+
fields: collection.fields,
|
|
10
|
+
i18n,
|
|
11
|
+
schemaMap: result,
|
|
12
|
+
schemaPath: collection.slug,
|
|
13
|
+
validRelationships
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
config.globals.forEach((global)=>{
|
|
17
|
+
traverseFields({
|
|
18
|
+
config,
|
|
19
|
+
fields: global.fields,
|
|
20
|
+
i18n,
|
|
21
|
+
schemaMap: result,
|
|
22
|
+
schemaPath: global.slug,
|
|
23
|
+
validRelationships
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
return result;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utilities/buildFieldSchemaMap/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload/types'\n\nimport type { FieldSchemaMap } from './types.js'\n\nimport { traverseFields } from './traverseFields.js'\n\nexport const buildFieldSchemaMap = (args: {\n config: SanitizedConfig\n i18n: I18n\n}): FieldSchemaMap => {\n const { config, i18n } = args\n\n const result: FieldSchemaMap = new Map()\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n\n config.collections.forEach((collection) => {\n traverseFields({\n config,\n fields: collection.fields,\n i18n,\n schemaMap: result,\n schemaPath: collection.slug,\n validRelationships,\n })\n })\n\n config.globals.forEach((global) => {\n traverseFields({\n config,\n fields: global.fields,\n i18n,\n schemaMap: result,\n schemaPath: global.slug,\n validRelationships,\n })\n })\n\n return result\n}\n"],"names":["traverseFields","buildFieldSchemaMap","args","config","i18n","result","Map","validRelationships","collections","map","c","slug","forEach","collection","fields","schemaMap","schemaPath","globals","global"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAKA,SAASA,cAAc,QAAQ,sBAAqB;AAEpD,OAAO,MAAMC,sBAAsB,CAACC;IAIlC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGF;IAEzB,MAAMG,SAAyB,IAAIC;IAEnC,MAAMC,qBAAqBJ,OAAOK,WAAW,CAACC,GAAG,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAK,EAAE;IAEtER,OAAOK,WAAW,CAACI,OAAO,CAAC,CAACC;QAC1Bb,eAAe;YACbG;YACAW,QAAQD,WAAWC,MAAM;YACzBV;YACAW,WAAWV;YACXW,YAAYH,WAAWF,IAAI;YAC3BJ;QACF;IACF;IAEAJ,OAAOc,OAAO,CAACL,OAAO,CAAC,CAACM;QACtBlB,eAAe;YACbG;YACAW,QAAQI,OAAOJ,MAAM;YACrBV;YACAW,WAAWV;YACXW,YAAYE,OAAOP,IAAI;YACvBJ;QACF;IACF;IAEA,OAAOF;AACT,EAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { I18n } from '@payloadcms/translations';
|
|
2
|
+
import type { Field, SanitizedConfig } from 'payload/types';
|
|
3
|
+
import type { FieldSchemaMap } from './types.js';
|
|
4
|
+
type Args = {
|
|
5
|
+
config: SanitizedConfig;
|
|
6
|
+
fields: Field[];
|
|
7
|
+
i18n: I18n<any, any>;
|
|
8
|
+
schemaMap: FieldSchemaMap;
|
|
9
|
+
schemaPath: string;
|
|
10
|
+
validRelationships: string[];
|
|
11
|
+
};
|
|
12
|
+
export declare const traverseFields: ({ config, fields, i18n, schemaMap, schemaPath, validRelationships, }: Args) => void;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=traverseFields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAI3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,cAAc,yEAOxB,IAAI,SAkFN,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { tabHasName } from 'payload/types';
|
|
2
|
+
export const traverseFields = ({ config, fields, i18n, schemaMap, schemaPath, validRelationships })=>{
|
|
3
|
+
fields.map((field)=>{
|
|
4
|
+
switch(field.type){
|
|
5
|
+
case 'group':
|
|
6
|
+
case 'array':
|
|
7
|
+
schemaMap.set(`${schemaPath}.${field.name}`, field.fields);
|
|
8
|
+
traverseFields({
|
|
9
|
+
config,
|
|
10
|
+
fields: field.fields,
|
|
11
|
+
i18n,
|
|
12
|
+
schemaMap,
|
|
13
|
+
schemaPath: `${schemaPath}.${field.name}`,
|
|
14
|
+
validRelationships
|
|
15
|
+
});
|
|
16
|
+
break;
|
|
17
|
+
case 'collapsible':
|
|
18
|
+
case 'row':
|
|
19
|
+
traverseFields({
|
|
20
|
+
config,
|
|
21
|
+
fields: field.fields,
|
|
22
|
+
i18n,
|
|
23
|
+
schemaMap,
|
|
24
|
+
schemaPath,
|
|
25
|
+
validRelationships
|
|
26
|
+
});
|
|
27
|
+
break;
|
|
28
|
+
case 'blocks':
|
|
29
|
+
field.blocks.map((block)=>{
|
|
30
|
+
const blockSchemaPath = `${schemaPath}.${field.name}.${block.slug}`;
|
|
31
|
+
schemaMap.set(blockSchemaPath, block.fields);
|
|
32
|
+
traverseFields({
|
|
33
|
+
config,
|
|
34
|
+
fields: block.fields,
|
|
35
|
+
i18n,
|
|
36
|
+
schemaMap,
|
|
37
|
+
schemaPath: blockSchemaPath,
|
|
38
|
+
validRelationships
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
break;
|
|
42
|
+
case 'richText':
|
|
43
|
+
if (typeof field.editor === 'function') {
|
|
44
|
+
throw new Error('Attempted to access unsanitized rich text editor.');
|
|
45
|
+
}
|
|
46
|
+
if (typeof field.editor.generateSchemaMap === 'function') {
|
|
47
|
+
field.editor.generateSchemaMap({
|
|
48
|
+
config,
|
|
49
|
+
i18n,
|
|
50
|
+
schemaMap,
|
|
51
|
+
schemaPath: `${schemaPath}.${field.name}`
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
break;
|
|
55
|
+
case 'tabs':
|
|
56
|
+
field.tabs.map((tab)=>{
|
|
57
|
+
const tabSchemaPath = tabHasName(tab) ? `${schemaPath}.${tab.name}` : schemaPath;
|
|
58
|
+
if (tabHasName(tab)) {
|
|
59
|
+
schemaMap.set(tabSchemaPath, tab.fields);
|
|
60
|
+
}
|
|
61
|
+
traverseFields({
|
|
62
|
+
config,
|
|
63
|
+
fields: tab.fields,
|
|
64
|
+
i18n,
|
|
65
|
+
schemaMap,
|
|
66
|
+
schemaPath: tabSchemaPath,
|
|
67
|
+
validRelationships
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=traverseFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Field, SanitizedConfig } from 'payload/types'\n\nimport { tabHasName } from 'payload/types'\n\nimport type { FieldSchemaMap } from './types.js'\n\ntype Args = {\n config: SanitizedConfig\n fields: Field[]\n i18n: I18n<any, any>\n schemaMap: FieldSchemaMap\n schemaPath: string\n validRelationships: string[]\n}\n\nexport const traverseFields = ({\n config,\n fields,\n i18n,\n schemaMap,\n schemaPath,\n validRelationships,\n}: Args) => {\n fields.map((field) => {\n switch (field.type) {\n case 'group':\n case 'array':\n schemaMap.set(`${schemaPath}.${field.name}`, field.fields)\n\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n schemaMap,\n schemaPath: `${schemaPath}.${field.name}`,\n validRelationships,\n })\n break\n\n case 'collapsible':\n case 'row':\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n schemaMap,\n schemaPath,\n validRelationships,\n })\n break\n\n case 'blocks':\n field.blocks.map((block) => {\n const blockSchemaPath = `${schemaPath}.${field.name}.${block.slug}`\n\n schemaMap.set(blockSchemaPath, block.fields)\n\n traverseFields({\n config,\n fields: block.fields,\n i18n,\n schemaMap,\n schemaPath: blockSchemaPath,\n validRelationships,\n })\n })\n break\n\n case 'richText':\n if (typeof field.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (typeof field.editor.generateSchemaMap === 'function') {\n field.editor.generateSchemaMap({\n config,\n i18n,\n schemaMap,\n schemaPath: `${schemaPath}.${field.name}`,\n })\n }\n\n break\n\n case 'tabs':\n field.tabs.map((tab) => {\n const tabSchemaPath = tabHasName(tab) ? `${schemaPath}.${tab.name}` : schemaPath\n\n if (tabHasName(tab)) {\n schemaMap.set(tabSchemaPath, tab.fields)\n }\n\n traverseFields({\n config,\n fields: tab.fields,\n i18n,\n schemaMap,\n schemaPath: tabSchemaPath,\n validRelationships,\n })\n })\n break\n }\n })\n}\n"],"names":["tabHasName","traverseFields","config","fields","i18n","schemaMap","schemaPath","validRelationships","map","field","type","set","name","blocks","block","blockSchemaPath","slug","editor","Error","generateSchemaMap","tabs","tab","tabSchemaPath"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,UAAU,QAAQ,gBAAe;AAa1C,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,MAAM,EACNC,MAAM,EACNC,IAAI,EACJC,SAAS,EACTC,UAAU,EACVC,kBAAkB,EACb;IACLJ,OAAOK,GAAG,CAAC,CAACC;QACV,OAAQA,MAAMC,IAAI;YAChB,KAAK;YACL,KAAK;gBACHL,UAAUM,GAAG,CAAC,CAAC,EAAEL,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC,EAAEH,MAAMN,MAAM;gBAEzDF,eAAe;oBACbC;oBACAC,QAAQM,MAAMN,MAAM;oBACpBC;oBACAC;oBACAC,YAAY,CAAC,EAAEA,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC;oBACzCL;gBACF;gBACA;YAEF,KAAK;YACL,KAAK;gBACHN,eAAe;oBACbC;oBACAC,QAAQM,MAAMN,MAAM;oBACpBC;oBACAC;oBACAC;oBACAC;gBACF;gBACA;YAEF,KAAK;gBACHE,MAAMI,MAAM,CAACL,GAAG,CAAC,CAACM;oBAChB,MAAMC,kBAAkB,CAAC,EAAET,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC,EAAEE,MAAME,IAAI,CAAC,CAAC;oBAEnEX,UAAUM,GAAG,CAACI,iBAAiBD,MAAMX,MAAM;oBAE3CF,eAAe;wBACbC;wBACAC,QAAQW,MAAMX,MAAM;wBACpBC;wBACAC;wBACAC,YAAYS;wBACZR;oBACF;gBACF;gBACA;YAEF,KAAK;gBACH,IAAI,OAAOE,MAAMQ,MAAM,KAAK,YAAY;oBACtC,MAAM,IAAIC,MAAM;gBAClB;gBAEA,IAAI,OAAOT,MAAMQ,MAAM,CAACE,iBAAiB,KAAK,YAAY;oBACxDV,MAAMQ,MAAM,CAACE,iBAAiB,CAAC;wBAC7BjB;wBACAE;wBACAC;wBACAC,YAAY,CAAC,EAAEA,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC;oBAC3C;gBACF;gBAEA;YAEF,KAAK;gBACHH,MAAMW,IAAI,CAACZ,GAAG,CAAC,CAACa;oBACd,MAAMC,gBAAgBtB,WAAWqB,OAAO,CAAC,EAAEf,WAAW,CAAC,EAAEe,IAAIT,IAAI,CAAC,CAAC,GAAGN;oBAEtE,IAAIN,WAAWqB,MAAM;wBACnBhB,UAAUM,GAAG,CAACW,eAAeD,IAAIlB,MAAM;oBACzC;oBAEAF,eAAe;wBACbC;wBACAC,QAAQkB,IAAIlB,MAAM;wBAClBC;wBACAC;wBACAC,YAAYgB;wBACZf;oBACF;gBACF;gBACA;QACJ;IACF;AACF,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildFieldSchemaMap/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/utilities/buildFieldSchemaMap/types.ts"],"sourcesContent":["import type { Field } from 'payload/types'\n\nexport type FieldSchemaMap = Map<string, Field[]>\n"],"names":[],"rangeMappings":"","mappings":"AAEA,WAAiD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { FormState, PayloadRequestWithData } from 'payload/types';
|
|
2
|
+
import type { FieldSchemaMap } from './buildFieldSchemaMap/types.js';
|
|
3
|
+
export declare const getFieldSchemaMap: (req: PayloadRequestWithData) => FieldSchemaMap;
|
|
4
|
+
export declare const buildFormState: ({ req, }: {
|
|
5
|
+
req: PayloadRequestWithData;
|
|
6
|
+
}) => Promise<FormState>;
|
|
7
|
+
//# sourceMappingURL=buildFormState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,SAAS,EACT,sBAAsB,EAEvB,MAAM,eAAe,CAAA;AAKtB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAWpE,eAAO,MAAM,iBAAiB,QAAS,sBAAsB,mBAW5D,CAAA;AAED,eAAO,MAAM,cAAc,aAExB;IACD,GAAG,EAAE,sBAAsB,CAAA;CAC5B,KAAG,QAAQ,SAAS,CA2KpB,CAAA"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema';
|
|
2
|
+
import { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues';
|
|
3
|
+
import { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js';
|
|
4
|
+
let cached = global._payload_fieldSchemaMap;
|
|
5
|
+
if (!cached) {
|
|
6
|
+
// eslint-disable-next-line no-multi-assign
|
|
7
|
+
cached = global._payload_fieldSchemaMap = null;
|
|
8
|
+
}
|
|
9
|
+
export const getFieldSchemaMap = (req)=>{
|
|
10
|
+
if (cached && process.env.NODE_ENV !== 'development') {
|
|
11
|
+
return cached;
|
|
12
|
+
}
|
|
13
|
+
cached = buildFieldSchemaMap({
|
|
14
|
+
config: req.payload.config,
|
|
15
|
+
i18n: req.i18n
|
|
16
|
+
});
|
|
17
|
+
return cached;
|
|
18
|
+
};
|
|
19
|
+
export const buildFormState = async ({ req })=>{
|
|
20
|
+
const reqData = req.data;
|
|
21
|
+
const { collectionSlug, formState, globalSlug, locale, operation, schemaPath } = reqData;
|
|
22
|
+
const incomingUserSlug = req.user?.collection;
|
|
23
|
+
const adminUserSlug = req.payload.config.admin.user;
|
|
24
|
+
// If we have a user slug, test it against the functions
|
|
25
|
+
if (incomingUserSlug) {
|
|
26
|
+
const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin;
|
|
27
|
+
// Run the admin access function from the config if it exists
|
|
28
|
+
if (adminAccessFunction) {
|
|
29
|
+
const canAccessAdmin = await adminAccessFunction({
|
|
30
|
+
req
|
|
31
|
+
});
|
|
32
|
+
if (!canAccessAdmin) {
|
|
33
|
+
throw new Error('Unauthorized');
|
|
34
|
+
}
|
|
35
|
+
// Match the user collection to the global admin config
|
|
36
|
+
} else if (adminUserSlug !== incomingUserSlug) {
|
|
37
|
+
throw new Error('Unauthorized');
|
|
38
|
+
}
|
|
39
|
+
} else {
|
|
40
|
+
const hasUsers = await req.payload.find({
|
|
41
|
+
collection: adminUserSlug,
|
|
42
|
+
depth: 0,
|
|
43
|
+
limit: 1,
|
|
44
|
+
pagination: false
|
|
45
|
+
});
|
|
46
|
+
// If there are users, we should not allow access because of /create-first-user
|
|
47
|
+
if (hasUsers.docs.length) {
|
|
48
|
+
throw new Error('Unauthorized');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const fieldSchemaMap = getFieldSchemaMap(req);
|
|
52
|
+
const id = collectionSlug ? reqData.id : undefined;
|
|
53
|
+
const schemaPathSegments = schemaPath.split('.');
|
|
54
|
+
let fieldSchema;
|
|
55
|
+
if (schemaPathSegments.length === 1) {
|
|
56
|
+
if (req.payload.collections[schemaPath]) {
|
|
57
|
+
fieldSchema = req.payload.collections[schemaPath].config.fields;
|
|
58
|
+
} else {
|
|
59
|
+
fieldSchema = req.payload.config.globals.find((global1)=>global1.slug === schemaPath)?.fields;
|
|
60
|
+
}
|
|
61
|
+
} else if (fieldSchemaMap.has(schemaPath)) {
|
|
62
|
+
fieldSchema = fieldSchemaMap.get(schemaPath);
|
|
63
|
+
}
|
|
64
|
+
if (!fieldSchema) {
|
|
65
|
+
throw new Error('Could not find field schema for given path');
|
|
66
|
+
}
|
|
67
|
+
let docPreferences = reqData.docPreferences;
|
|
68
|
+
let data = reqData.data;
|
|
69
|
+
const promises = {};
|
|
70
|
+
// If the request does not include doc preferences,
|
|
71
|
+
// we should fetch them. This is useful for DocumentInfoProvider
|
|
72
|
+
// as it reduces the amount of client-side fetches necessary
|
|
73
|
+
// when we fetch data for the Edit view
|
|
74
|
+
if (!docPreferences) {
|
|
75
|
+
let preferencesKey;
|
|
76
|
+
if (collectionSlug && id) {
|
|
77
|
+
preferencesKey = `collection-${collectionSlug}-${id}`;
|
|
78
|
+
}
|
|
79
|
+
if (globalSlug) {
|
|
80
|
+
preferencesKey = `global-${globalSlug}`;
|
|
81
|
+
}
|
|
82
|
+
if (preferencesKey) {
|
|
83
|
+
const fetchPreferences = async ()=>{
|
|
84
|
+
const preferencesResult = await req.payload.find({
|
|
85
|
+
collection: 'payload-preferences',
|
|
86
|
+
depth: 0,
|
|
87
|
+
limit: 1,
|
|
88
|
+
where: {
|
|
89
|
+
key: {
|
|
90
|
+
equals: preferencesKey
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
if (preferencesResult?.docs?.[0]?.value) docPreferences = preferencesResult.docs[0].value;
|
|
95
|
+
};
|
|
96
|
+
promises.preferences = fetchPreferences();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// If there is a form state,
|
|
100
|
+
// then we can deduce data from that form state
|
|
101
|
+
if (formState) data = reduceFieldsToValues(formState, true);
|
|
102
|
+
// If we do not have data at this point,
|
|
103
|
+
// we can fetch it. This is useful for DocumentInfoProvider
|
|
104
|
+
// to reduce the amount of fetches required
|
|
105
|
+
if (!data) {
|
|
106
|
+
const fetchData = async ()=>{
|
|
107
|
+
let resolvedData;
|
|
108
|
+
if (collectionSlug && id) {
|
|
109
|
+
resolvedData = await req.payload.findByID({
|
|
110
|
+
id,
|
|
111
|
+
collection: collectionSlug,
|
|
112
|
+
depth: 0,
|
|
113
|
+
draft: true,
|
|
114
|
+
fallbackLocale: null,
|
|
115
|
+
locale,
|
|
116
|
+
overrideAccess: false,
|
|
117
|
+
user: req.user
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
if (globalSlug && schemaPath === globalSlug) {
|
|
121
|
+
resolvedData = await req.payload.findGlobal({
|
|
122
|
+
slug: globalSlug,
|
|
123
|
+
depth: 0,
|
|
124
|
+
draft: true,
|
|
125
|
+
fallbackLocale: null,
|
|
126
|
+
locale,
|
|
127
|
+
overrideAccess: false,
|
|
128
|
+
user: req.user
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
data = resolvedData;
|
|
132
|
+
};
|
|
133
|
+
promises.data = fetchData();
|
|
134
|
+
}
|
|
135
|
+
if (Object.keys(promises).length > 0) {
|
|
136
|
+
await Promise.all(Object.values(promises));
|
|
137
|
+
}
|
|
138
|
+
const result = await buildStateFromSchema({
|
|
139
|
+
id,
|
|
140
|
+
data,
|
|
141
|
+
fieldSchema,
|
|
142
|
+
operation,
|
|
143
|
+
preferences: docPreferences || {
|
|
144
|
+
fields: {}
|
|
145
|
+
},
|
|
146
|
+
req
|
|
147
|
+
});
|
|
148
|
+
// Maintain form state of auth / upload fields
|
|
149
|
+
if (collectionSlug && formState) {
|
|
150
|
+
if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {
|
|
151
|
+
result.file = formState.file;
|
|
152
|
+
}
|
|
153
|
+
if (req.payload.collections[collectionSlug]?.config?.auth && !req.payload.collections[collectionSlug].config.auth.disableLocalStrategy) {
|
|
154
|
+
if (formState.password) result.password = formState.password;
|
|
155
|
+
if (formState['confirm-password']) result['confirm-password'] = formState['confirm-password'];
|
|
156
|
+
if (formState.email) result.email = formState.email;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return result;
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
//# sourceMappingURL=buildFormState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type { BuildFormStateArgs } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport type {\n DocumentPreferences,\n Field,\n FormState,\n PayloadRequestWithData,\n TypeWithID,\n} from 'payload/types'\n\nimport { buildStateFromSchema } from '@payloadcms/ui/forms/buildStateFromSchema'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\n\nimport type { FieldSchemaMap } from './buildFieldSchemaMap/types.js'\n\nimport { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js'\n\nlet cached = global._payload_fieldSchemaMap\n\nif (!cached) {\n // eslint-disable-next-line no-multi-assign\n cached = global._payload_fieldSchemaMap = null\n}\n\nexport const getFieldSchemaMap = (req: PayloadRequestWithData): FieldSchemaMap => {\n if (cached && process.env.NODE_ENV !== 'development') {\n return cached\n }\n\n cached = buildFieldSchemaMap({\n config: req.payload.config,\n i18n: req.i18n,\n })\n\n return cached\n}\n\nexport const buildFormState = async ({\n req,\n}: {\n req: PayloadRequestWithData\n}): Promise<FormState> => {\n const reqData: BuildFormStateArgs = req.data as BuildFormStateArgs\n const { collectionSlug, formState, globalSlug, locale, operation, schemaPath } = reqData\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await req.payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const fieldSchemaMap = getFieldSchemaMap(req)\n\n const id = collectionSlug ? reqData.id : undefined\n const schemaPathSegments = schemaPath.split('.')\n\n let fieldSchema: Field[]\n\n if (schemaPathSegments.length === 1) {\n if (req.payload.collections[schemaPath]) {\n fieldSchema = req.payload.collections[schemaPath].config.fields\n } else {\n fieldSchema = req.payload.config.globals.find((global) => global.slug === schemaPath)?.fields\n }\n } else if (fieldSchemaMap.has(schemaPath)) {\n fieldSchema = fieldSchemaMap.get(schemaPath)\n }\n\n if (!fieldSchema) {\n throw new Error('Could not find field schema for given path')\n }\n\n let docPreferences = reqData.docPreferences\n let data = reqData.data\n\n const promises: {\n data?: Promise<void>\n preferences?: Promise<void>\n } = {}\n\n // If the request does not include doc preferences,\n // we should fetch them. This is useful for DocumentInfoProvider\n // as it reduces the amount of client-side fetches necessary\n // when we fetch data for the Edit view\n if (!docPreferences) {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const fetchPreferences = async () => {\n const preferencesResult = (await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n key: {\n equals: preferencesKey,\n },\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) docPreferences = preferencesResult.docs[0].value\n }\n\n promises.preferences = fetchPreferences()\n }\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) data = reduceFieldsToValues(formState, true)\n\n // If we do not have data at this point,\n // we can fetch it. This is useful for DocumentInfoProvider\n // to reduce the amount of fetches required\n if (!data) {\n const fetchData = async () => {\n let resolvedData: TypeWithID\n\n if (collectionSlug && id) {\n resolvedData = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n if (globalSlug && schemaPath === globalSlug) {\n resolvedData = await req.payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n data = resolvedData\n }\n\n promises.data = fetchData()\n }\n\n if (Object.keys(promises).length > 0) {\n await Promise.all(Object.values(promises))\n }\n\n const result = await buildStateFromSchema({\n id,\n data,\n fieldSchema,\n operation,\n preferences: docPreferences || { fields: {} },\n req,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {\n result.file = formState.file\n }\n\n if (\n req.payload.collections[collectionSlug]?.config?.auth &&\n !req.payload.collections[collectionSlug].config.auth.disableLocalStrategy\n ) {\n if (formState.password) result.password = formState.password\n if (formState['confirm-password']) result['confirm-password'] = formState['confirm-password']\n if (formState.email) result.email = formState.email\n }\n }\n\n return result\n}\n"],"names":["buildStateFromSchema","reduceFieldsToValues","buildFieldSchemaMap","cached","global","_payload_fieldSchemaMap","getFieldSchemaMap","req","process","env","NODE_ENV","config","payload","i18n","buildFormState","reqData","data","collectionSlug","formState","globalSlug","locale","operation","schemaPath","incomingUserSlug","user","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","fieldSchemaMap","id","undefined","schemaPathSegments","split","fieldSchema","fields","globals","slug","has","get","docPreferences","promises","preferencesKey","fetchPreferences","preferencesResult","where","key","equals","value","preferences","fetchData","resolvedData","findByID","draft","fallbackLocale","overrideAccess","findGlobal","Object","keys","Promise","all","values","result","upload","file","auth","disableLocalStrategy","password","email"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/getFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAEhF,eAAO,MAAM,YAAY,SAAgB;IACvC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9C,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"getFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/getFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAEhF,eAAO,MAAM,YAAY,SAAgB;IACvC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9C,SAAS,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,KAAG,QAAQ,SAAS,CAyBpB,CAAA"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export const getFormState = async (args)=>{
|
|
2
|
-
const { apiRoute, body, onError, serverURL, signal } = args;
|
|
2
|
+
const { apiRoute, body, onError, serverURL, signal, token } = args;
|
|
3
3
|
const res = await fetch(`${serverURL}${apiRoute}/form-state`, {
|
|
4
4
|
body: JSON.stringify(body),
|
|
5
5
|
credentials: 'include',
|
|
6
6
|
headers: {
|
|
7
|
-
'Content-Type': 'application/json'
|
|
7
|
+
'Content-Type': 'application/json',
|
|
8
|
+
...token ? {
|
|
9
|
+
Authorization: `JWT ${token}`
|
|
10
|
+
} : {}
|
|
8
11
|
},
|
|
9
12
|
method: 'POST',
|
|
10
13
|
signal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/getFormState.ts"],"sourcesContent":["import type { FormState, SanitizedConfig } from 'payload/types'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\n\nexport const getFormState = async (args: {\n apiRoute: SanitizedConfig['routes']['api']\n body: BuildFormStateArgs\n onError?: (data?: any) => Promise<void> | void\n serverURL: SanitizedConfig['serverURL']\n signal?: AbortSignal\n}): Promise<FormState> => {\n const { apiRoute, body, onError, serverURL, signal } = args\n\n const res = await fetch(`${serverURL}${apiRoute}/form-state`, {\n body: JSON.stringify(body),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n signal,\n })\n\n const json = (await res.json()) as FormState\n\n if (res.ok) {\n return json\n } else {\n if (typeof onError === 'function') {\n void onError(json)\n }\n }\n\n return body?.formState\n}\n"],"names":["getFormState","args","apiRoute","body","onError","serverURL","signal","res","fetch","JSON","stringify","credentials","headers","method","json","ok","formState"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/getFormState.ts"],"sourcesContent":["import type { FormState, SanitizedConfig } from 'payload/types'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\n\nexport const getFormState = async (args: {\n apiRoute: SanitizedConfig['routes']['api']\n body: BuildFormStateArgs\n onError?: (data?: any) => Promise<void> | void\n serverURL: SanitizedConfig['serverURL']\n signal?: AbortSignal\n token?: string\n}): Promise<FormState> => {\n const { apiRoute, body, onError, serverURL, signal, token } = args\n\n const res = await fetch(`${serverURL}${apiRoute}/form-state`, {\n body: JSON.stringify(body),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n ...(token ? { Authorization: `JWT ${token}` } : {}),\n },\n method: 'POST',\n signal,\n })\n\n const json = (await res.json()) as FormState\n\n if (res.ok) {\n return json\n } else {\n if (typeof onError === 'function') {\n void onError(json)\n }\n }\n\n return body?.formState\n}\n"],"names":["getFormState","args","apiRoute","body","onError","serverURL","signal","token","res","fetch","JSON","stringify","credentials","headers","Authorization","method","json","ok","formState"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,OAAO,MAAMA,eAAe,OAAOC;IAQjC,MAAM,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAE,GAAGN;IAE9D,MAAMO,MAAM,MAAMC,MAAM,CAAC,EAAEJ,UAAU,EAAEH,SAAS,WAAW,CAAC,EAAE;QAC5DC,MAAMO,KAAKC,SAAS,CAACR;QACrBS,aAAa;QACbC,SAAS;YACP,gBAAgB;YAChB,GAAIN,QAAQ;gBAAEO,eAAe,CAAC,IAAI,EAAEP,MAAM,CAAC;YAAC,IAAI,CAAC,CAAC;QACpD;QACAQ,QAAQ;QACRT;IACF;IAEA,MAAMU,OAAQ,MAAMR,IAAIQ,IAAI;IAE5B,IAAIR,IAAIS,EAAE,EAAE;QACV,OAAOD;IACT,OAAO;QACL,IAAI,OAAOZ,YAAY,YAAY;YACjC,KAAKA,QAAQY;QACf;IACF;IAEA,OAAOb,MAAMe;AACf,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reduceFieldsToValues.d.ts","sourceRoot":"","sources":["../../src/utilities/reduceFieldsToValues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIpD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,WACvB,SAAS,cACL,OAAO,0BACK,OAAO,KAC9B,
|
|
1
|
+
{"version":3,"file":"reduceFieldsToValues.d.ts","sourceRoot":"","sources":["../../src/utilities/reduceFieldsToValues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIpD;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,WACvB,SAAS,cACL,OAAO,0BACK,OAAO,KAC9B,IAgBF,CAAA"}
|
|
@@ -8,6 +8,7 @@ const { unflatten: flatleyUnflatten } = flatleyImport;
|
|
|
8
8
|
*
|
|
9
9
|
*/ export const reduceFieldsToValues = (fields, unflatten, ignoreDisableFormData)=>{
|
|
10
10
|
let data = {};
|
|
11
|
+
if (!fields) return data;
|
|
11
12
|
Object.keys(fields).forEach((key)=>{
|
|
12
13
|
if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {
|
|
13
14
|
data[key] = fields[key]?.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/reduceFieldsToValues.ts"],"sourcesContent":["import type { Data, FormState } from 'payload/types'\n\nimport flatleyImport from 'flatley'\nconst { unflatten: flatleyUnflatten } = flatleyImport\n/**\n * Reduce flattened form fields (Fields) to just map to the respective values instead of the full FormField object\n *\n * @param unflatten This also unflattens the data if `unflatten` is true. The unflattened data should match the original data structure\n * @param ignoreDisableFormData - if true, will include fields that have `disableFormData` set to true, for example, blocks or arrays fields.\n *\n */\nexport const reduceFieldsToValues = (\n fields: FormState,\n unflatten?: boolean,\n ignoreDisableFormData?: boolean,\n): Data => {\n let data = {}\n\n Object.keys(fields).forEach((key) => {\n if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {\n data[key] = fields[key]?.value\n }\n })\n\n if (unflatten) {\n data = flatleyUnflatten(data, { safe: true })\n }\n\n return data\n}\n"],"names":["flatleyImport","unflatten","flatleyUnflatten","reduceFieldsToValues","fields","ignoreDisableFormData","data","Object","keys","forEach","key","disableFormData","value","safe"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/reduceFieldsToValues.ts"],"sourcesContent":["import type { Data, FormState } from 'payload/types'\n\nimport flatleyImport from 'flatley'\nconst { unflatten: flatleyUnflatten } = flatleyImport\n/**\n * Reduce flattened form fields (Fields) to just map to the respective values instead of the full FormField object\n *\n * @param unflatten This also unflattens the data if `unflatten` is true. The unflattened data should match the original data structure\n * @param ignoreDisableFormData - if true, will include fields that have `disableFormData` set to true, for example, blocks or arrays fields.\n *\n */\nexport const reduceFieldsToValues = (\n fields: FormState,\n unflatten?: boolean,\n ignoreDisableFormData?: boolean,\n): Data => {\n let data = {}\n\n if (!fields) return data\n\n Object.keys(fields).forEach((key) => {\n if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {\n data[key] = fields[key]?.value\n }\n })\n\n if (unflatten) {\n data = flatleyUnflatten(data, { safe: true })\n }\n\n return data\n}\n"],"names":["flatleyImport","unflatten","flatleyUnflatten","reduceFieldsToValues","fields","ignoreDisableFormData","data","Object","keys","forEach","key","disableFormData","value","safe"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,mBAAmB,UAAS;AACnC,MAAM,EAAEC,WAAWC,gBAAgB,EAAE,GAAGF;AACxC;;;;;;CAMC,GACD,OAAO,MAAMG,uBAAuB,CAClCC,QACAH,WACAI;IAEA,IAAIC,OAAO,CAAC;IAEZ,IAAI,CAACF,QAAQ,OAAOE;IAEpBC,OAAOC,IAAI,CAACJ,QAAQK,OAAO,CAAC,CAACC;QAC3B,IAAIL,0BAA0B,QAAQ,CAACD,MAAM,CAACM,IAAI,EAAEC,iBAAiB;YACnEL,IAAI,CAACI,IAAI,GAAGN,MAAM,CAACM,IAAI,EAAEE;QAC3B;IACF;IAEA,IAAIX,WAAW;QACbK,OAAOJ,iBAAiBI,MAAM;YAAEO,MAAM;QAAK;IAC7C;IAEA,OAAOP;AACT,EAAC"}
|