@payloadcms/ui 3.0.0-beta.37 → 3.0.0-beta.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  2. package/dist/elements/DocumentFields/index.js +2 -0
  3. package/dist/elements/DocumentFields/index.js.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +3 -1
  5. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +14 -8
  7. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  8. package/dist/elements/ReactSelect/Input/index.d.ts +5 -0
  9. package/dist/elements/ReactSelect/Input/index.d.ts.map +1 -0
  10. package/dist/elements/ReactSelect/Input/index.js +17 -0
  11. package/dist/elements/ReactSelect/Input/index.js.map +1 -0
  12. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  13. package/dist/elements/ReactSelect/MultiValue/index.js +7 -5
  14. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  15. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  16. package/dist/elements/ReactSelect/index.js +17 -1
  17. package/dist/elements/ReactSelect/index.js.map +1 -1
  18. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  19. package/dist/elements/RenderTitle/index.js +12 -7
  20. package/dist/elements/RenderTitle/index.js.map +1 -1
  21. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
  22. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  23. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  24. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +104 -72
  25. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  26. package/dist/elements/WhereBuilder/Condition/index.js +3 -3
  27. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  28. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  29. package/dist/elements/WhereBuilder/index.js +49 -49
  30. package/dist/elements/WhereBuilder/index.js.map +1 -1
  31. package/dist/fields/Array/index.d.ts.map +1 -1
  32. package/dist/fields/Array/index.js +6 -6
  33. package/dist/fields/Array/index.js.map +1 -1
  34. package/dist/fields/Blocks/index.d.ts.map +1 -1
  35. package/dist/fields/Blocks/index.js +6 -6
  36. package/dist/fields/Blocks/index.js.map +1 -1
  37. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  38. package/dist/fields/Checkbox/index.js +6 -6
  39. package/dist/fields/Checkbox/index.js.map +1 -1
  40. package/dist/fields/Code/index.d.ts.map +1 -1
  41. package/dist/fields/Code/index.js +5 -5
  42. package/dist/fields/Code/index.js.map +1 -1
  43. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  44. package/dist/fields/Collapsible/index.js +5 -2
  45. package/dist/fields/Collapsible/index.js.map +1 -1
  46. package/dist/fields/DateTime/index.js +5 -5
  47. package/dist/fields/DateTime/index.js.map +1 -1
  48. package/dist/fields/Email/index.d.ts.map +1 -1
  49. package/dist/fields/Email/index.js +4 -4
  50. package/dist/fields/Email/index.js.map +1 -1
  51. package/dist/fields/Group/index.d.ts.map +1 -1
  52. package/dist/fields/Group/index.js +5 -3
  53. package/dist/fields/Group/index.js.map +1 -1
  54. package/dist/fields/JSON/index.d.ts.map +1 -1
  55. package/dist/fields/JSON/index.js +7 -7
  56. package/dist/fields/JSON/index.js.map +1 -1
  57. package/dist/fields/Number/index.d.ts.map +1 -1
  58. package/dist/fields/Number/index.js +7 -7
  59. package/dist/fields/Number/index.js.map +1 -1
  60. package/dist/fields/Password/index.d.ts.map +1 -1
  61. package/dist/fields/Password/index.js +6 -4
  62. package/dist/fields/Password/index.js.map +1 -1
  63. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  64. package/dist/fields/RadioGroup/index.js +5 -5
  65. package/dist/fields/RadioGroup/index.js.map +1 -1
  66. package/dist/fields/Relationship/findOptionsByValue.js +1 -1
  67. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  68. package/dist/fields/Relationship/index.d.ts.map +1 -1
  69. package/dist/fields/Relationship/index.js +2 -4
  70. package/dist/fields/Relationship/index.js.map +1 -1
  71. package/dist/fields/Select/index.d.ts.map +1 -1
  72. package/dist/fields/Select/index.js +5 -5
  73. package/dist/fields/Select/index.js.map +1 -1
  74. package/dist/fields/Tabs/index.d.ts.map +1 -1
  75. package/dist/fields/Tabs/index.js.map +1 -1
  76. package/dist/fields/Text/index.d.ts.map +1 -1
  77. package/dist/fields/Text/index.js +5 -5
  78. package/dist/fields/Text/index.js.map +1 -1
  79. package/dist/fields/Textarea/index.d.ts.map +1 -1
  80. package/dist/fields/Textarea/index.js +3 -3
  81. package/dist/fields/Textarea/index.js.map +1 -1
  82. package/dist/fields/Upload/index.d.ts.map +1 -1
  83. package/dist/fields/Upload/index.js +3 -3
  84. package/dist/fields/Upload/index.js.map +1 -1
  85. package/dist/forms/FieldPropsProvider/index.d.ts +1 -0
  86. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  87. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  88. package/dist/forms/Form/context.d.ts +3 -1
  89. package/dist/forms/Form/context.d.ts.map +1 -1
  90. package/dist/forms/Form/context.js +3 -1
  91. package/dist/forms/Form/context.js.map +1 -1
  92. package/dist/forms/Form/getSiblingData.d.ts.map +1 -1
  93. package/dist/forms/Form/getSiblingData.js +1 -0
  94. package/dist/forms/Form/getSiblingData.js.map +1 -1
  95. package/dist/forms/Form/index.d.ts.map +1 -1
  96. package/dist/forms/Form/index.js +28 -11
  97. package/dist/forms/Form/index.js.map +1 -1
  98. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  99. package/dist/forms/Form/initContextState.js +1 -0
  100. package/dist/forms/Form/initContextState.js.map +1 -1
  101. package/dist/forms/Form/types.d.ts +2 -0
  102. package/dist/forms/Form/types.d.ts.map +1 -1
  103. package/dist/forms/Form/types.js.map +1 -1
  104. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  105. package/dist/forms/RenderFields/index.js +6 -2
  106. package/dist/forms/RenderFields/index.js.map +1 -1
  107. package/dist/forms/RenderFields/types.d.ts +8 -1
  108. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  109. package/dist/forms/RenderFields/types.js.map +1 -1
  110. package/dist/forms/Submit/index.d.ts.map +1 -1
  111. package/dist/forms/Submit/index.js +3 -2
  112. package/dist/forms/Submit/index.js.map +1 -1
  113. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +5 -3
  114. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
  115. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +4 -3
  116. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  117. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +5 -3
  118. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  119. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +4 -3
  120. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  121. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +5 -3
  122. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  123. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +21 -15
  124. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  125. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  126. package/dist/forms/buildStateFromSchema/index.js +3 -2
  127. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  128. package/dist/forms/useField/index.d.ts.map +1 -1
  129. package/dist/forms/useField/index.js +5 -2
  130. package/dist/forms/useField/index.js.map +1 -1
  131. package/dist/forms/useField/types.d.ts +1 -0
  132. package/dist/forms/useField/types.d.ts.map +1 -1
  133. package/dist/forms/useField/types.js.map +1 -1
  134. package/dist/icons/Plus/index.d.ts.map +1 -1
  135. package/dist/icons/Plus/index.js +1 -0
  136. package/dist/icons/Plus/index.js.map +1 -1
  137. package/dist/icons/Plus/index.scss +0 -3
  138. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  139. package/dist/providers/ComponentMap/buildComponentMap/fields.js +1 -0
  140. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  141. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  142. package/dist/providers/DocumentInfo/index.js +67 -53
  143. package/dist/providers/DocumentInfo/index.js.map +1 -1
  144. package/dist/providers/DocumentInfo/types.d.ts +4 -0
  145. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  146. package/dist/providers/DocumentInfo/types.js.map +1 -1
  147. package/dist/providers/Root/index.d.ts +1 -2
  148. package/dist/providers/Root/index.d.ts.map +1 -1
  149. package/dist/providers/Root/index.js.map +1 -1
  150. package/dist/providers/Translation/index.d.ts +1 -5
  151. package/dist/providers/Translation/index.d.ts.map +1 -1
  152. package/dist/providers/Translation/index.js.map +1 -1
  153. package/dist/utilities/buildFieldSchemaMap/index.d.ts +8 -0
  154. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -0
  155. package/dist/utilities/buildFieldSchemaMap/index.js +29 -0
  156. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -0
  157. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +14 -0
  158. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -0
  159. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +75 -0
  160. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -0
  161. package/dist/utilities/buildFieldSchemaMap/types.d.ts +3 -0
  162. package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +1 -0
  163. package/dist/utilities/buildFieldSchemaMap/types.js +3 -0
  164. package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -0
  165. package/dist/utilities/buildFormState.d.ts +7 -0
  166. package/dist/utilities/buildFormState.d.ts.map +1 -0
  167. package/dist/utilities/buildFormState.js +162 -0
  168. package/dist/utilities/buildFormState.js.map +1 -0
  169. package/dist/utilities/getFormState.d.ts +1 -0
  170. package/dist/utilities/getFormState.d.ts.map +1 -1
  171. package/dist/utilities/getFormState.js +5 -2
  172. package/dist/utilities/getFormState.js.map +1 -1
  173. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
  174. package/dist/utilities/reduceFieldsToValues.js +1 -0
  175. package/dist/utilities/reduceFieldsToValues.js.map +1 -1
  176. 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":"AAoCA,WAmBC"}
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;AAKjD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAqB9D,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
+ {"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'\nimport type { LanguageOptions } from '../Translation/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;AAMtD,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
+ {"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;AAKjD,OAAO,KAAyD,MAAM,OAAO,CAAA;AAI7E,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,EAAE,CAAA;AAEH,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
+ {"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\nexport type LanguageOptions = {\n label: string\n value: string\n}[]\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;AAqBtD,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"}
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,3 @@
1
+ import type { Field } from 'payload/types';
2
+ export type FieldSchemaMap = Map<string, Field[]>;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -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,3 @@
1
+ export { };
2
+
3
+ //# sourceMappingURL=types.js.map
@@ -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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"}
@@ -6,5 +6,6 @@ export declare const getFormState: (args: {
6
6
  onError?: (data?: any) => Promise<void> | void;
7
7
  serverURL: SanitizedConfig['serverURL'];
8
8
  signal?: AbortSignal;
9
+ token?: string;
9
10
  }) => Promise<FormState>;
10
11
  //# sourceMappingURL=getFormState.d.ts.map
@@ -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;CACrB,KAAG,QAAQ,SAAS,CAwBpB,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":";;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,OAAO,MAAMA,eAAe,OAAOC;IAOjC,MAAM,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,SAAS,EAAEC,MAAM,EAAE,GAAGL;IAEvD,MAAMM,MAAM,MAAMC,MAAM,CAAC,EAAEH,UAAU,EAAEH,SAAS,WAAW,CAAC,EAAE;QAC5DC,MAAMM,KAAKC,SAAS,CAACP;QACrBQ,aAAa;QACbC,SAAS;YACP,gBAAgB;QAClB;QACAC,QAAQ;QACRP;IACF;IAEA,MAAMQ,OAAQ,MAAMP,IAAIO,IAAI;IAE5B,IAAIP,IAAIQ,EAAE,EAAE;QACV,OAAOD;IACT,OAAO;QACL,IAAI,OAAOV,YAAY,YAAY;YACjC,KAAKA,QAAQU;QACf;IACF;IAEA,OAAOX,MAAMa;AACf,EAAC"}
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,IAcF,CAAA"}
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":";;;;;;;;;;;;;;;;;;;;;","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;IAEZC,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"}
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"}