@payloadcms/ui 3.56.0-internal.72f4fd2 → 3.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.js +4 -18
  2. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  3. package/dist/elements/ClipboardAction/index.js +173 -74
  4. package/dist/elements/ClipboardAction/index.js.map +1 -1
  5. package/dist/elements/CodeEditor/CodeEditor.js +155 -67
  6. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  7. package/dist/elements/Collapsible/index.js +15 -7
  8. package/dist/elements/Collapsible/index.js.map +1 -1
  9. package/dist/elements/ConfirmationModal/index.js +44 -8
  10. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  11. package/dist/elements/CopyLocaleData/index.js +97 -89
  12. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  13. package/dist/elements/CopyToClipboard/index.js +22 -2
  14. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  15. package/dist/elements/DefaultListViewTabs/index.js +47 -32
  16. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  17. package/dist/elements/DeleteMany/index.js +83 -47
  18. package/dist/elements/DeleteMany/index.js.map +1 -1
  19. package/dist/elements/DocumentControls/index.js +55 -27
  20. package/dist/elements/DocumentControls/index.js.map +1 -1
  21. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +10 -2
  22. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  23. package/dist/elements/DocumentDrawer/index.js +99 -47
  24. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  25. package/dist/elements/Drawer/index.js +57 -23
  26. package/dist/elements/Drawer/index.js.map +1 -1
  27. package/dist/elements/DrawerActionHeader/index.js +21 -3
  28. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  29. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
  30. package/dist/elements/EmailAndUsername/index.js +31 -24
  31. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  32. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +225 -149
  33. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  34. package/dist/elements/FolderView/FolderFileCard/index.js +27 -19
  35. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  36. package/dist/elements/FolderView/MoveDocToFolder/index.js +23 -12
  37. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  38. package/dist/elements/FullscreenModal/index.js +20 -10
  39. package/dist/elements/FullscreenModal/index.js.map +1 -1
  40. package/dist/elements/ListDrawer/index.js +24 -18
  41. package/dist/elements/ListDrawer/index.js.map +1 -1
  42. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +32 -19
  43. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  44. package/dist/elements/ListSelection/index.js +27 -11
  45. package/dist/elements/ListSelection/index.js.map +1 -1
  46. package/dist/elements/LivePreview/Window/index.js +146 -65
  47. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  48. package/dist/elements/Loading/index.js +11 -2
  49. package/dist/elements/Loading/index.js.map +1 -1
  50. package/dist/elements/LoadingOverlay/index.js +102 -46
  51. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  52. package/dist/elements/Localizer/LocalizerLabel/index.js +36 -23
  53. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  54. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +139 -41
  55. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  56. package/dist/elements/RenderIfInViewport/index.d.ts +2 -2
  57. package/dist/elements/RenderIfInViewport/index.d.ts.map +1 -1
  58. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  59. package/dist/elements/SelectRow/index.js +40 -39
  60. package/dist/elements/SelectRow/index.js.map +1 -1
  61. package/dist/elements/ShimmerEffect/index.js +12 -20
  62. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  63. package/dist/elements/SortColumn/index.js +30 -21
  64. package/dist/elements/SortColumn/index.js.map +1 -1
  65. package/dist/elements/Table/DefaultCell/fields/Date/index.js +37 -9
  66. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  67. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +37 -35
  68. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  69. package/dist/elements/Table/DefaultCell/fields/Select/index.js +27 -12
  70. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  71. package/dist/elements/Thumbnail/index.js +75 -35
  72. package/dist/elements/Thumbnail/index.js.map +1 -1
  73. package/dist/elements/ThumbnailCard/index.js +26 -17
  74. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  75. package/dist/elements/Tooltip/index.js +127 -51
  76. package/dist/elements/Tooltip/index.js.map +1 -1
  77. package/dist/elements/Upload/index.js +10 -2
  78. package/dist/elements/Upload/index.js.map +1 -1
  79. package/dist/elements/WhereBuilder/Condition/Select/index.js +44 -31
  80. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  81. package/dist/exports/client/{CodeEditor-RHQXPDK5.js → CodeEditor-4J4OH4TD.js} +2 -2
  82. package/dist/exports/client/{DatePicker-F432AIH3.js → DatePicker-NMDEHPWL.js} +2 -2
  83. package/dist/exports/client/{chunk-AZDI6MW4.js → chunk-7RGKTZG2.js} +1 -1
  84. package/dist/exports/client/{chunk-AZDI6MW4.js.map → chunk-7RGKTZG2.js.map} +1 -1
  85. package/dist/exports/client/chunk-HBCG32CP.js +26 -0
  86. package/dist/exports/client/{chunk-FKP64OEZ.js.map → chunk-HBCG32CP.js.map} +4 -4
  87. package/dist/exports/client/index.d.ts +4 -5
  88. package/dist/exports/client/index.d.ts.map +1 -1
  89. package/dist/exports/client/index.js +12 -12
  90. package/dist/exports/client/index.js.map +4 -4
  91. package/dist/exports/rsc/index.d.ts +0 -1
  92. package/dist/exports/rsc/index.d.ts.map +1 -1
  93. package/dist/exports/rsc/index.js +0 -1
  94. package/dist/exports/rsc/index.js.map +1 -1
  95. package/dist/fields/Array/ArrayRow.d.ts +3 -2
  96. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  97. package/dist/fields/Array/ArrayRow.js +23 -13
  98. package/dist/fields/Array/ArrayRow.js.map +1 -1
  99. package/dist/fields/Array/index.js +477 -273
  100. package/dist/fields/Array/index.js.map +1 -1
  101. package/dist/fields/Checkbox/Input.js +19 -2
  102. package/dist/fields/Checkbox/Input.js.map +1 -1
  103. package/dist/fields/FieldError/index.js +29 -30
  104. package/dist/fields/FieldError/index.js.map +1 -1
  105. package/dist/fields/FieldLabel/index.js +64 -12
  106. package/dist/fields/FieldLabel/index.js.map +1 -1
  107. package/dist/fields/Group/index.d.ts +1 -1
  108. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  109. package/dist/fields/Relationship/Input.js +8 -0
  110. package/dist/fields/Relationship/Input.js.map +1 -1
  111. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +103 -45
  112. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  113. package/dist/fields/Relationship/select-components/SingleValue/index.js +44 -29
  114. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  115. package/dist/fields/Row/index.d.ts +3 -1
  116. package/dist/fields/Row/index.d.ts.map +1 -1
  117. package/dist/fields/Select/Input.js +31 -18
  118. package/dist/fields/Select/Input.js.map +1 -1
  119. package/dist/fields/Tabs/Tab/index.js +11 -2
  120. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  121. package/dist/fields/Tabs/index.d.ts +1 -2
  122. package/dist/fields/Tabs/index.d.ts.map +1 -1
  123. package/dist/fields/Tabs/index.js +225 -185
  124. package/dist/fields/Tabs/index.js.map +1 -1
  125. package/dist/fields/Upload/RelationshipContent/index.js +127 -79
  126. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  127. package/dist/forms/Form/createNestedClientFieldPath.js +1 -1
  128. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  129. package/dist/forms/Form/index.d.ts.map +1 -1
  130. package/dist/forms/Form/index.js +8 -1
  131. package/dist/forms/Form/index.js.map +1 -1
  132. package/dist/forms/RenderFields/RenderField.js +237 -245
  133. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  134. package/dist/forms/RenderFields/context.d.ts +29 -0
  135. package/dist/forms/RenderFields/context.d.ts.map +1 -1
  136. package/dist/forms/RenderFields/context.js +30 -2
  137. package/dist/forms/RenderFields/context.js.map +1 -1
  138. package/dist/forms/RenderFields/types.d.ts +10 -2
  139. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  140. package/dist/forms/RenderFields/types.js.map +1 -1
  141. package/dist/forms/useField/index.d.ts +0 -5
  142. package/dist/forms/useField/index.d.ts.map +1 -1
  143. package/dist/forms/useField/index.js +45 -74
  144. package/dist/forms/useField/index.js.map +1 -1
  145. package/dist/hooks/useIntersect.js +53 -35
  146. package/dist/hooks/useIntersect.js.map +1 -1
  147. package/dist/hooks/usePayloadAPI.js +44 -36
  148. package/dist/hooks/usePayloadAPI.js.map +1 -1
  149. package/dist/providers/Config/index.d.ts +17 -2
  150. package/dist/providers/Config/index.d.ts.map +1 -1
  151. package/dist/providers/Config/index.js +57 -20
  152. package/dist/providers/Config/index.js.map +1 -1
  153. package/dist/providers/Folders/index.d.ts.map +1 -1
  154. package/dist/providers/Folders/index.js +24 -13
  155. package/dist/providers/Folders/index.js.map +1 -1
  156. package/dist/providers/ServerFunctions/index.d.ts +1 -4
  157. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  158. package/dist/providers/ServerFunctions/index.js +0 -13
  159. package/dist/providers/ServerFunctions/index.js.map +1 -1
  160. package/dist/utilities/buildFormState.d.ts.map +1 -1
  161. package/dist/utilities/buildFormState.js +2 -1
  162. package/dist/utilities/buildFormState.js.map +1 -1
  163. package/dist/utilities/reduceFieldsToOptions.d.ts +1 -1
  164. package/dist/utilities/reduceFieldsToOptions.d.ts.map +1 -1
  165. package/dist/utilities/reduceFieldsToOptions.js +7 -12
  166. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  167. package/dist/views/BrowseByFolder/index.js +55 -37
  168. package/dist/views/BrowseByFolder/index.js.map +1 -1
  169. package/dist/views/CollectionFolder/index.js +40 -13
  170. package/dist/views/CollectionFolder/index.js.map +1 -1
  171. package/dist/views/Edit/Auth/index.js +105 -93
  172. package/dist/views/Edit/Auth/index.js.map +1 -1
  173. package/package.json +8 -8
  174. package/dist/exports/client/chunk-FKP64OEZ.js +0 -26
  175. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +0 -35
  176. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +0 -1
  177. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +0 -83
  178. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +0 -1
  179. /package/dist/exports/client/{CodeEditor-RHQXPDK5.js.map → CodeEditor-4J4OH4TD.js.map} +0 -0
  180. /package/dist/exports/client/{DatePicker-F432AIH3.js.map → DatePicker-NMDEHPWL.js.map} +0 -0
@@ -1,6 +1,5 @@
1
1
  import type { AdminViewServerPropsOnly, BuildFormStateArgs, BuildTableStateArgs, Data, DocumentPreferences, DocumentSlots, FormState, GetFolderResultsComponentAndDataArgs, Locale, Params, RenderDocumentVersionsProperties, ServerFunction, ServerFunctionClient } from 'payload';
2
2
  import React from 'react';
3
- import type { RenderFieldServerFnArgs, RenderFieldServerFnReturnType } from '../../forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js';
4
3
  import type { buildFormStateHandler } from '../../utilities/buildFormState.js';
5
4
  import type { buildTableStateHandler } from '../../utilities/buildTableState.js';
6
5
  import type { CopyDataFromLocaleArgs } from '../../utilities/copyDataFromLocale.js';
@@ -57,9 +56,7 @@ type GetDocumentSlots = (args: {
57
56
  type GetFolderResultsComponentAndDataClient = (args: {
58
57
  signal?: AbortSignal;
59
58
  } & Omit<GetFolderResultsComponentAndDataArgs, 'req'>) => ReturnType<typeof getFolderResultsComponentAndDataHandler>;
60
- type RenderFieldClient = (args: RenderFieldServerFnArgs) => Promise<RenderFieldServerFnReturnType>;
61
- export type ServerFunctionsContextType = {
62
- _internal_renderField: RenderFieldClient;
59
+ type ServerFunctionsContextType = {
63
60
  copyDataFromLocale: CopyDataFromLocaleClient;
64
61
  getDocumentSlots: GetDocumentSlots;
65
62
  getFolderResultsComponentAndData: GetFolderResultsComponentAndDataClient;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ServerFunctions/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ServerFunctions/index.tsx"],"names":[],"mappings":"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"}
@@ -157,21 +157,8 @@ export const ServerFunctionsProvider = ({
157
157
  ;
158
158
  }
159
159
  }, [serverFunction]);
160
- const _internal_renderField = useCallback(async args => {
161
- try {
162
- const result = await serverFunction({
163
- name: 'render-field',
164
- args
165
- });
166
- return result;
167
- } catch (_err) {
168
- console.error(_err) // eslint-disable-line no-console
169
- ;
170
- }
171
- }, [serverFunction]);
172
160
  return /*#__PURE__*/_jsx(ServerFunctionsContext, {
173
161
  value: {
174
- _internal_renderField,
175
162
  copyDataFromLocale,
176
163
  getDocumentSlots,
177
164
  getFolderResultsComponentAndData,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","createContext","useCallback","ServerFunctionsContext","undefined","useServerFunctions","context","use","Error","ServerFunctionsProvider","children","serverFunction","getDocumentSlots","args","name","schedulePublish","signal","remoteSignal","rest","aborted","result","_err","console","error","type","doc","value","relationTo","getFormState","fallbackLocale","state","getTableState","renderDocument","copyDataFromLocale","getFolderResultsComponentAndData","_internal_renderField","_jsx"],"sources":["../../../src/providers/ServerFunctions/index.tsx"],"sourcesContent":["import type {\n AdminViewServerPropsOnly,\n BuildFormStateArgs,\n BuildTableStateArgs,\n Data,\n DocumentPreferences,\n DocumentSlots,\n FormState,\n GetFolderResultsComponentAndDataArgs,\n Locale,\n Params,\n RenderDocumentVersionsProperties,\n ServerFunction,\n ServerFunctionClient,\n} from 'payload'\n\nimport React, { createContext, useCallback } from 'react'\n\nimport type {\n RenderFieldServerFnArgs,\n RenderFieldServerFnReturnType,\n} from '../../forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js'\nimport type { buildFormStateHandler } from '../../utilities/buildFormState.js'\nimport type { buildTableStateHandler } from '../../utilities/buildTableState.js'\nimport type { CopyDataFromLocaleArgs } from '../../utilities/copyDataFromLocale.js'\nimport type { getFolderResultsComponentAndDataHandler } from '../../utilities/getFolderResultsComponentAndData.js'\nimport type {\n schedulePublishHandler,\n SchedulePublishHandlerArgs,\n} from '../../utilities/schedulePublishHandler.js'\n\ntype GetFormStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildFormStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildFormStateHandler>\n\ntype SchedulePublishClient = (\n args: {\n signal?: AbortSignal\n } & Omit<SchedulePublishHandlerArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof schedulePublishHandler>\n\ntype GetTableStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildTableStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildTableStateHandler>\n\nexport type RenderDocumentResult = {\n data: any\n Document: React.ReactNode\n preferences: DocumentPreferences\n}\n\ntype RenderDocumentBaseArgs = {\n collectionSlug: string\n disableActions?: boolean\n docID: number | string\n drawerSlug?: string\n initialData?: Data\n initialState?: FormState\n locale?: Locale\n overrideEntityVisibility?: boolean\n paramsOverride?: AdminViewServerPropsOnly['params']\n redirectAfterCreate?: boolean\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n redirectAfterRestore?: boolean\n searchParams?: Params\n /**\n * Properties specific to the versions view\n */\n versions?: RenderDocumentVersionsProperties\n}\n\nexport type RenderDocumentServerFunction = ServerFunction<\n RenderDocumentBaseArgs,\n Promise<RenderDocumentResult>\n>\n\ntype RenderDocumentServerFunctionHookFn = (\n // No req or importMap - those are augmented by handleServerFunctions\n args: {\n signal?: AbortSignal\n } & RenderDocumentBaseArgs,\n) => Promise<RenderDocumentResult>\n\ntype CopyDataFromLocaleClient = (\n args: {\n signal?: AbortSignal\n } & Omit<CopyDataFromLocaleArgs, 'req'>,\n) => Promise<{ data: Data }>\n\ntype GetDocumentSlots = (args: {\n collectionSlug: string\n id?: number | string\n signal?: AbortSignal\n}) => Promise<DocumentSlots>\n\ntype GetFolderResultsComponentAndDataClient = (\n args: {\n signal?: AbortSignal\n } & Omit<GetFolderResultsComponentAndDataArgs, 'req'>,\n) => ReturnType<typeof getFolderResultsComponentAndDataHandler>\n\ntype RenderFieldClient = (args: RenderFieldServerFnArgs) => Promise<RenderFieldServerFnReturnType>\nexport type ServerFunctionsContextType = {\n _internal_renderField: RenderFieldClient\n copyDataFromLocale: CopyDataFromLocaleClient\n getDocumentSlots: GetDocumentSlots\n getFolderResultsComponentAndData: GetFolderResultsComponentAndDataClient\n getFormState: GetFormStateClient\n getTableState: GetTableStateClient\n renderDocument: RenderDocumentServerFunctionHookFn\n schedulePublish: SchedulePublishClient\n serverFunction: ServerFunctionClient\n}\n\nexport const ServerFunctionsContext = createContext<ServerFunctionsContextType | undefined>(\n undefined,\n)\n\nexport const useServerFunctions = () => {\n const context = React.use(ServerFunctionsContext)\n if (context === undefined) {\n throw new Error('useServerFunctions must be used within a ServerFunctionsProvider')\n }\n return context\n}\n\nexport const ServerFunctionsProvider: React.FC<{\n children: React.ReactNode\n serverFunction: ServerFunctionClient\n}> = ({ children, serverFunction }) => {\n if (!serverFunction) {\n throw new Error('ServerFunctionsProvider requires a serverFunction prop')\n }\n\n const getDocumentSlots = useCallback<GetDocumentSlots>(\n async (args) =>\n await serverFunction({\n name: 'render-document-slots',\n args,\n }),\n [serverFunction],\n )\n\n const schedulePublish = useCallback<SchedulePublishClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'schedule-publish',\n args: { ...rest },\n })) as Awaited<ReturnType<typeof schedulePublishHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n let error = `Error scheduling ${rest.type}`\n\n if (rest.doc) {\n error += ` for document with ID ${rest.doc.value} in collection ${rest.doc.relationTo}`\n }\n\n return { error }\n },\n [serverFunction],\n )\n\n const getFormState = useCallback<GetFormStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'form-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildFormStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n return { state: null }\n },\n [serverFunction],\n )\n\n const getTableState = useCallback<GetTableStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'table-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildTableStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n // return { state: args.formState }\n },\n [serverFunction],\n )\n\n const renderDocument = useCallback<RenderDocumentServerFunctionHookFn>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n try {\n const result = (await serverFunction({\n name: 'render-document',\n args: {\n fallbackLocale: false,\n ...rest,\n } as Parameters<RenderDocumentServerFunctionHookFn>[0],\n })) as Awaited<ReturnType<RenderDocumentServerFunctionHookFn>> // TODO: infer this type when `strictNullChecks` is enabled\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const copyDataFromLocale = useCallback<CopyDataFromLocaleClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'copy-data-from-locale',\n args: rest,\n })) as { data: Data }\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const getFolderResultsComponentAndData = useCallback<GetFolderResultsComponentAndDataClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'get-folder-results-component-and-data',\n args: rest,\n })) as Awaited<ReturnType<typeof getFolderResultsComponentAndDataHandler>>\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const _internal_renderField = useCallback<RenderFieldClient>(\n async (args) => {\n try {\n const result = (await serverFunction({\n name: 'render-field',\n args,\n })) as RenderFieldServerFnReturnType\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n return (\n <ServerFunctionsContext\n value={{\n _internal_renderField,\n copyDataFromLocale,\n getDocumentSlots,\n getFolderResultsComponentAndData,\n getFormState,\n getTableState,\n renderDocument,\n schedulePublish,\n serverFunction,\n }}\n >\n {children}\n </ServerFunctionsContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","createContext","useCallback","ServerFunctionsContext","undefined","useServerFunctions","context","use","Error","ServerFunctionsProvider","children","serverFunction","getDocumentSlots","args","name","schedulePublish","signal","remoteSignal","rest","aborted","result","_err","console","error","type","doc","value","relationTo","getFormState","fallbackLocale","state","getTableState","renderDocument","copyDataFromLocale","getFolderResultsComponentAndData","_jsx"],"sources":["../../../src/providers/ServerFunctions/index.tsx"],"sourcesContent":["import type {\n AdminViewServerPropsOnly,\n BuildFormStateArgs,\n BuildTableStateArgs,\n Data,\n DocumentPreferences,\n DocumentSlots,\n FormState,\n GetFolderResultsComponentAndDataArgs,\n Locale,\n Params,\n RenderDocumentVersionsProperties,\n ServerFunction,\n ServerFunctionClient,\n} from 'payload'\n\nimport React, { createContext, useCallback } from 'react'\n\nimport type { buildFormStateHandler } from '../../utilities/buildFormState.js'\nimport type { buildTableStateHandler } from '../../utilities/buildTableState.js'\nimport type { CopyDataFromLocaleArgs } from '../../utilities/copyDataFromLocale.js'\nimport type { getFolderResultsComponentAndDataHandler } from '../../utilities/getFolderResultsComponentAndData.js'\nimport type {\n schedulePublishHandler,\n SchedulePublishHandlerArgs,\n} from '../../utilities/schedulePublishHandler.js'\n\ntype GetFormStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildFormStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildFormStateHandler>\n\ntype SchedulePublishClient = (\n args: {\n signal?: AbortSignal\n } & Omit<SchedulePublishHandlerArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof schedulePublishHandler>\n\ntype GetTableStateClient = (\n args: {\n signal?: AbortSignal\n } & Omit<BuildTableStateArgs, 'clientConfig' | 'req'>,\n) => ReturnType<typeof buildTableStateHandler>\n\nexport type RenderDocumentResult = {\n data: any\n Document: React.ReactNode\n preferences: DocumentPreferences\n}\n\ntype RenderDocumentBaseArgs = {\n collectionSlug: string\n disableActions?: boolean\n docID: number | string\n drawerSlug?: string\n initialData?: Data\n initialState?: FormState\n locale?: Locale\n overrideEntityVisibility?: boolean\n paramsOverride?: AdminViewServerPropsOnly['params']\n redirectAfterCreate?: boolean\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n redirectAfterRestore?: boolean\n searchParams?: Params\n /**\n * Properties specific to the versions view\n */\n versions?: RenderDocumentVersionsProperties\n}\n\nexport type RenderDocumentServerFunction = ServerFunction<\n RenderDocumentBaseArgs,\n Promise<RenderDocumentResult>\n>\n\ntype RenderDocumentServerFunctionHookFn = (\n // No req or importMap - those are augmented by handleServerFunctions\n args: {\n signal?: AbortSignal\n } & RenderDocumentBaseArgs,\n) => Promise<RenderDocumentResult>\n\ntype CopyDataFromLocaleClient = (\n args: {\n signal?: AbortSignal\n } & Omit<CopyDataFromLocaleArgs, 'req'>,\n) => Promise<{ data: Data }>\n\ntype GetDocumentSlots = (args: {\n collectionSlug: string\n id?: number | string\n signal?: AbortSignal\n}) => Promise<DocumentSlots>\n\ntype GetFolderResultsComponentAndDataClient = (\n args: {\n signal?: AbortSignal\n } & Omit<GetFolderResultsComponentAndDataArgs, 'req'>,\n) => ReturnType<typeof getFolderResultsComponentAndDataHandler>\n\ntype ServerFunctionsContextType = {\n copyDataFromLocale: CopyDataFromLocaleClient\n getDocumentSlots: GetDocumentSlots\n getFolderResultsComponentAndData: GetFolderResultsComponentAndDataClient\n getFormState: GetFormStateClient\n getTableState: GetTableStateClient\n renderDocument: RenderDocumentServerFunctionHookFn\n schedulePublish: SchedulePublishClient\n serverFunction: ServerFunctionClient\n}\n\nexport const ServerFunctionsContext = createContext<ServerFunctionsContextType | undefined>(\n undefined,\n)\n\nexport const useServerFunctions = () => {\n const context = React.use(ServerFunctionsContext)\n if (context === undefined) {\n throw new Error('useServerFunctions must be used within a ServerFunctionsProvider')\n }\n return context\n}\n\nexport const ServerFunctionsProvider: React.FC<{\n children: React.ReactNode\n serverFunction: ServerFunctionClient\n}> = ({ children, serverFunction }) => {\n if (!serverFunction) {\n throw new Error('ServerFunctionsProvider requires a serverFunction prop')\n }\n\n const getDocumentSlots = useCallback<GetDocumentSlots>(\n async (args) =>\n await serverFunction({\n name: 'render-document-slots',\n args,\n }),\n [serverFunction],\n )\n\n const schedulePublish = useCallback<SchedulePublishClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'schedule-publish',\n args: { ...rest },\n })) as Awaited<ReturnType<typeof schedulePublishHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n let error = `Error scheduling ${rest.type}`\n\n if (rest.doc) {\n error += ` for document with ID ${rest.doc.value} in collection ${rest.doc.relationTo}`\n }\n\n return { error }\n },\n [serverFunction],\n )\n\n const getFormState = useCallback<GetFormStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'form-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildFormStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n return { state: null }\n },\n [serverFunction],\n )\n\n const getTableState = useCallback<GetTableStateClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n if (!remoteSignal?.aborted) {\n const result = (await serverFunction({\n name: 'table-state',\n args: { fallbackLocale: false, ...rest },\n })) as Awaited<ReturnType<typeof buildTableStateHandler>> // TODO: infer this type when `strictNullChecks` is enabled\n\n if (!remoteSignal?.aborted) {\n return result\n }\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n\n // return { state: args.formState }\n },\n [serverFunction],\n )\n\n const renderDocument = useCallback<RenderDocumentServerFunctionHookFn>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n try {\n const result = (await serverFunction({\n name: 'render-document',\n args: {\n fallbackLocale: false,\n ...rest,\n } as Parameters<RenderDocumentServerFunctionHookFn>[0],\n })) as Awaited<ReturnType<RenderDocumentServerFunctionHookFn>> // TODO: infer this type when `strictNullChecks` is enabled\n\n return result\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const copyDataFromLocale = useCallback<CopyDataFromLocaleClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'copy-data-from-locale',\n args: rest,\n })) as { data: Data }\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n const getFolderResultsComponentAndData = useCallback<GetFolderResultsComponentAndDataClient>(\n async (args) => {\n const { signal: remoteSignal, ...rest } = args || {}\n\n try {\n const result = (await serverFunction({\n name: 'get-folder-results-component-and-data',\n args: rest,\n })) as Awaited<ReturnType<typeof getFolderResultsComponentAndDataHandler>>\n\n if (!remoteSignal?.aborted) {\n return result\n }\n } catch (_err) {\n console.error(_err) // eslint-disable-line no-console\n }\n },\n [serverFunction],\n )\n\n return (\n <ServerFunctionsContext\n value={{\n copyDataFromLocale,\n getDocumentSlots,\n getFolderResultsComponentAndData,\n getFormState,\n getTableState,\n renderDocument,\n schedulePublish,\n serverFunction,\n }}\n >\n {children}\n </ServerFunctionsContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACf,MAAM,SAAS,CAAA;AAYhB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;CACnC,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,2BAA2B,CAAA;AAE1F,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAChD,kBAAkB,EAClB,OAAO,CAAC,oBAAoB,CAAC,CAsD9B,CAAA;AAED,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC,2BAA2B,CA0JrC,CAAA"}
1
+ {"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,cAAc,EACf,MAAM,SAAS,CAAA;AAYhB,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;CACnC,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GAAG,CACA;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,WAAW,CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,2BAA2B,CAAA;AAE1F,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAChD,kBAAkB,EAClB,OAAO,CAAC,oBAAoB,CAAC,CAsD9B,CAAA;AAED,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC,2BAA2B,CAgKrC,CAAA"}
@@ -85,6 +85,7 @@ export const buildFormState = async args => {
85
85
  returnLockStatus,
86
86
  schemaPath = collectionSlug || globalSlug,
87
87
  select,
88
+ skipClientConfigAuth,
88
89
  skipValidation,
89
90
  updateLastEdited
90
91
  } = args;
@@ -104,7 +105,7 @@ export const buildFormState = async args => {
104
105
  config,
105
106
  i18n,
106
107
  importMap: req.payload.importMap,
107
- user: req.user
108
+ user: skipClientConfigAuth ? true : req.user
108
109
  }),
109
110
  globalSlug,
110
111
  i18n,
@@ -1 +1 @@
1
- {"version":3,"file":"buildFormState.js","names":["formatErrors","getSelectMode","reduceFieldsToValues","fieldSchemasToFormState","renderField","getClientConfig","getClientSchemaMap","getSchemaMap","handleFormStateLocking","buildFormStateHandler","args","req","incomingUserSlug","user","collection","adminUserSlug","payload","config","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","res","buildFormState","err","logger","error","msg","message","id","idFromArgs","collectionSlug","data","incomingData","docPermissions","docPreferences","documentFormState","formState","globalSlug","initialBlockData","initialBlockFormState","mockRSCs","operation","readOnly","renderAllFields","i18n","returnLockStatus","schemaPath","select","skipValidation","updateLastEdited","selectMode","undefined","schemaMap","clientSchemaMap","importMap","fieldOrEntityConfig","get","fields","type","documentData","blockData","Array","isArray","formStateResult","clientFieldSchemaMap","fieldSchemaMap","permissions","preferences","previousFormState","renderFieldFn","upload","file","lockedStateResult","lockedState","state"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientConfig,\n ClientUser,\n ErrorResult,\n FormState,\n ServerFunction,\n} from 'payload'\n\nimport { formatErrors } from 'payload'\nimport { getSelectMode, reduceFieldsToValues } from 'payload/shared'\n\nimport { fieldSchemasToFormState } from '../forms/fieldSchemasToFormState/index.js'\nimport { renderField } from '../forms/fieldSchemasToFormState/renderField.js'\nimport { getClientConfig } from './getClientConfig.js'\nimport { getClientSchemaMap } from './getClientSchemaMap.js'\nimport { getSchemaMap } from './getSchemaMap.js'\nimport { handleFormStateLocking } from './handleFormStateLocking.js'\n\nexport type LockedState = {\n isLocked: boolean\n lastEditedAt: string\n user: ClientUser | number | string\n}\n\ntype BuildFormStateSuccessResult = {\n clientConfig?: ClientConfig\n errors?: never\n indexPath?: string\n lockedState?: LockedState\n state: FormState\n}\n\ntype BuildFormStateErrorResult = {\n lockedState?: never\n state?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildFormStateResult = BuildFormStateErrorResult | BuildFormStateSuccessResult\n\nexport const buildFormStateHandler: ServerFunction<\n BuildFormStateArgs,\n Promise<BuildFormStateResult>\n> = async (args) => {\n const { req } = args\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n try {\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\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 res = await buildFormState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n throw new Error('Unauthorized')\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildFormState = async (\n args: BuildFormStateArgs,\n): Promise<BuildFormStateSuccessResult> => {\n const {\n id: idFromArgs,\n collectionSlug,\n data: incomingData,\n docPermissions,\n docPreferences,\n documentFormState,\n formState,\n globalSlug,\n initialBlockData,\n initialBlockFormState,\n mockRSCs,\n operation,\n readOnly,\n renderAllFields,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n },\n returnLockStatus,\n schemaPath = collectionSlug || globalSlug,\n select,\n skipValidation,\n updateLastEdited,\n } = args\n\n const selectMode = select ? getSelectMode(select) : undefined\n\n if (!collectionSlug && !globalSlug) {\n throw new Error('Either collectionSlug or globalSlug must be provided')\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({ config, i18n, importMap: req.payload.importMap, user: req.user }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n\n const id = collectionSlug ? idFromArgs : undefined\n const fieldOrEntityConfig = schemaMap.get(schemaPath)\n\n if (!fieldOrEntityConfig) {\n throw new Error(`Could not find \"${schemaPath}\" in the fieldSchemaMap`)\n }\n\n if (\n (!('fields' in fieldOrEntityConfig) ||\n !fieldOrEntityConfig.fields ||\n !fieldOrEntityConfig.fields.length) &&\n 'type' in fieldOrEntityConfig &&\n fieldOrEntityConfig.type !== 'blocks'\n ) {\n throw new Error(\n `The field found in fieldSchemaMap for \"${schemaPath}\" does not contain any subfields.`,\n )\n }\n\n // If there is form state but no data, deduce data from that form state, e.g. on initial load\n // Otherwise, use the incoming data as the source of truth, e.g. on subsequent saves\n const data = incomingData || reduceFieldsToValues(formState, true)\n\n let documentData = undefined\n\n if (documentFormState) {\n documentData = reduceFieldsToValues(documentFormState, true)\n }\n\n let blockData = initialBlockData\n\n if (initialBlockFormState) {\n blockData = reduceFieldsToValues(initialBlockFormState, true)\n }\n\n /**\n * When building state for sub schemas we need to adjust:\n * - `fields`\n * - `parentSchemaPath`\n * - `parentPath`\n *\n * Type assertion is fine because we wrap sub schemas in an array\n * so we can safely map over them within `fieldSchemasToFormState`\n */\n const fields = Array.isArray(fieldOrEntityConfig)\n ? fieldOrEntityConfig\n : 'fields' in fieldOrEntityConfig\n ? fieldOrEntityConfig.fields\n : [fieldOrEntityConfig]\n\n // Ensure data.id is present during form state requests, where the data\n // is passed from the client as an argument, without the ID\n if (!data.id && id) {\n data.id = id\n }\n\n const formStateResult = await fieldSchemasToFormState({\n id,\n clientFieldSchemaMap: clientSchemaMap,\n collectionSlug,\n data,\n documentData,\n fields,\n fieldSchemaMap: schemaMap,\n initialBlockData: blockData,\n mockRSCs,\n operation,\n permissions: docPermissions?.fields || {},\n preferences: docPreferences || { fields: {} },\n previousFormState: formState,\n readOnly,\n renderAllFields,\n renderFieldFn: renderField,\n req,\n schemaPath,\n select,\n selectMode,\n skipValidation,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (payload.collections[collectionSlug]?.config?.upload && formState.file) {\n formStateResult.file = formState.file\n }\n }\n\n let lockedStateResult\n\n if (returnLockStatus) {\n lockedStateResult = await handleFormStateLocking({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n })\n }\n\n return {\n lockedState: lockedStateResult,\n state: formStateResult,\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildFormState.js","names":["formatErrors","getSelectMode","reduceFieldsToValues","fieldSchemasToFormState","renderField","getClientConfig","getClientSchemaMap","getSchemaMap","handleFormStateLocking","buildFormStateHandler","args","req","incomingUserSlug","user","collection","adminUserSlug","payload","config","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","res","buildFormState","err","logger","error","msg","message","id","idFromArgs","collectionSlug","data","incomingData","docPermissions","docPreferences","documentFormState","formState","globalSlug","initialBlockData","initialBlockFormState","mockRSCs","operation","readOnly","renderAllFields","i18n","returnLockStatus","schemaPath","select","skipClientConfigAuth","skipValidation","updateLastEdited","selectMode","undefined","schemaMap","clientSchemaMap","importMap","fieldOrEntityConfig","get","fields","type","documentData","blockData","Array","isArray","formStateResult","clientFieldSchemaMap","fieldSchemaMap","permissions","preferences","previousFormState","renderFieldFn","upload","file","lockedStateResult","lockedState","state"],"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientConfig,\n ClientUser,\n ErrorResult,\n FormState,\n ServerFunction,\n} from 'payload'\n\nimport { formatErrors } from 'payload'\nimport { getSelectMode, reduceFieldsToValues } from 'payload/shared'\n\nimport { fieldSchemasToFormState } from '../forms/fieldSchemasToFormState/index.js'\nimport { renderField } from '../forms/fieldSchemasToFormState/renderField.js'\nimport { getClientConfig } from './getClientConfig.js'\nimport { getClientSchemaMap } from './getClientSchemaMap.js'\nimport { getSchemaMap } from './getSchemaMap.js'\nimport { handleFormStateLocking } from './handleFormStateLocking.js'\n\nexport type LockedState = {\n isLocked: boolean\n lastEditedAt: string\n user: ClientUser | number | string\n}\n\ntype BuildFormStateSuccessResult = {\n clientConfig?: ClientConfig\n errors?: never\n indexPath?: string\n lockedState?: LockedState\n state: FormState\n}\n\ntype BuildFormStateErrorResult = {\n lockedState?: never\n state?: never\n} & (\n | {\n message: string\n }\n | ErrorResult\n)\n\nexport type BuildFormStateResult = BuildFormStateErrorResult | BuildFormStateSuccessResult\n\nexport const buildFormStateHandler: ServerFunction<\n BuildFormStateArgs,\n Promise<BuildFormStateResult>\n> = async (args) => {\n const { req } = args\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n try {\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\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 res = await buildFormState(args)\n return res\n } catch (err) {\n req.payload.logger.error({ err, msg: `There was an error building form state` })\n\n if (err.message === 'Could not find field schema for given path') {\n return {\n message: err.message,\n }\n }\n\n if (err.message === 'Unauthorized') {\n throw new Error('Unauthorized')\n }\n\n return formatErrors(err)\n }\n}\n\nexport const buildFormState = async (\n args: BuildFormStateArgs,\n): Promise<BuildFormStateSuccessResult> => {\n const {\n id: idFromArgs,\n collectionSlug,\n data: incomingData,\n docPermissions,\n docPreferences,\n documentFormState,\n formState,\n globalSlug,\n initialBlockData,\n initialBlockFormState,\n mockRSCs,\n operation,\n readOnly,\n renderAllFields,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n },\n returnLockStatus,\n schemaPath = collectionSlug || globalSlug,\n select,\n skipClientConfigAuth,\n skipValidation,\n updateLastEdited,\n } = args\n\n const selectMode = select ? getSelectMode(select) : undefined\n\n if (!collectionSlug && !globalSlug) {\n throw new Error('Either collectionSlug or globalSlug must be provided')\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({\n config,\n i18n,\n importMap: req.payload.importMap,\n user: skipClientConfigAuth ? true : req.user,\n }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n\n const id = collectionSlug ? idFromArgs : undefined\n const fieldOrEntityConfig = schemaMap.get(schemaPath)\n\n if (!fieldOrEntityConfig) {\n throw new Error(`Could not find \"${schemaPath}\" in the fieldSchemaMap`)\n }\n\n if (\n (!('fields' in fieldOrEntityConfig) ||\n !fieldOrEntityConfig.fields ||\n !fieldOrEntityConfig.fields.length) &&\n 'type' in fieldOrEntityConfig &&\n fieldOrEntityConfig.type !== 'blocks'\n ) {\n throw new Error(\n `The field found in fieldSchemaMap for \"${schemaPath}\" does not contain any subfields.`,\n )\n }\n\n // If there is form state but no data, deduce data from that form state, e.g. on initial load\n // Otherwise, use the incoming data as the source of truth, e.g. on subsequent saves\n const data = incomingData || reduceFieldsToValues(formState, true)\n\n let documentData = undefined\n\n if (documentFormState) {\n documentData = reduceFieldsToValues(documentFormState, true)\n }\n\n let blockData = initialBlockData\n\n if (initialBlockFormState) {\n blockData = reduceFieldsToValues(initialBlockFormState, true)\n }\n\n /**\n * When building state for sub schemas we need to adjust:\n * - `fields`\n * - `parentSchemaPath`\n * - `parentPath`\n *\n * Type assertion is fine because we wrap sub schemas in an array\n * so we can safely map over them within `fieldSchemasToFormState`\n */\n const fields = Array.isArray(fieldOrEntityConfig)\n ? fieldOrEntityConfig\n : 'fields' in fieldOrEntityConfig\n ? fieldOrEntityConfig.fields\n : [fieldOrEntityConfig]\n\n // Ensure data.id is present during form state requests, where the data\n // is passed from the client as an argument, without the ID\n if (!data.id && id) {\n data.id = id\n }\n\n const formStateResult = await fieldSchemasToFormState({\n id,\n clientFieldSchemaMap: clientSchemaMap,\n collectionSlug,\n data,\n documentData,\n fields,\n fieldSchemaMap: schemaMap,\n initialBlockData: blockData,\n mockRSCs,\n operation,\n permissions: docPermissions?.fields || {},\n preferences: docPreferences || { fields: {} },\n previousFormState: formState,\n readOnly,\n renderAllFields,\n renderFieldFn: renderField,\n req,\n schemaPath,\n select,\n selectMode,\n skipValidation,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (payload.collections[collectionSlug]?.config?.upload && formState.file) {\n formStateResult.file = formState.file\n }\n }\n\n let lockedStateResult\n\n if (returnLockStatus) {\n lockedStateResult = await handleFormStateLocking({\n id,\n collectionSlug,\n globalSlug,\n req,\n updateLastEdited,\n })\n }\n\n return {\n lockedState: lockedStateResult,\n state: formStateResult,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,6 @@ type ReduceFieldOptionsArgs = {
11
11
  * Transforms a fields schema into a flattened array of fields with labels and values.
12
12
  * Used in the `WhereBuilder` component to render the fields in the dropdown.
13
13
  */
14
- export declare const reduceFieldsToOptions: ({ fields, i18n, labelPrefix, pathPrefix, }: ReduceFieldOptionsArgs) => ReducedField[];
14
+ export declare const reduceFieldsToOptions: ({ fields, i18n, labelPrefix, pathPrefix: pathPrefixFromArgs, }: ReduceFieldOptionsArgs) => ReducedField[];
15
15
  export {};
16
16
  //# sourceMappingURL=reduceFieldsToOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reduceFieldsToOptions.d.ts","sourceRoot":"","sources":["../../src/utilities/reduceFieldsToOptions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAMrE,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,+CAK/B,sBAAsB,KAAG,YAAY,EA2MvC,CAAA"}
1
+ {"version":3,"file":"reduceFieldsToOptions.d.ts","sourceRoot":"","sources":["../../src/utilities/reduceFieldsToOptions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAMrE,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,mEAK/B,sBAAsB,KAAG,YAAY,EAqMvC,CAAA"}
@@ -13,9 +13,10 @@ export const reduceFieldsToOptions = ({
13
13
  fields,
14
14
  i18n,
15
15
  labelPrefix,
16
- pathPrefix
16
+ pathPrefix: pathPrefixFromArgs
17
17
  }) => {
18
18
  return fields.reduce((reduced, field) => {
19
+ let pathPrefix = pathPrefixFromArgs;
19
20
  // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query
20
21
  // Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field
21
22
  if (fieldIsHiddenOrDisabled(field) && !fieldIsID(field) || 'virtual' in field && field.virtual === true) {
@@ -23,17 +24,11 @@ export const reduceFieldsToOptions = ({
23
24
  }
24
25
  // Handle virtual:string fields (virtual relationships, e.g. "post.title")
25
26
  if ('virtual' in field && typeof field.virtual === 'string') {
26
- const baseLabel = 'label' in field && field.label || 'name' in field && field.name || '';
27
- const localizedLabel = getTranslation(baseLabel, i18n);
28
- reduced.push({
29
- label: localizedLabel,
30
- plainTextLabel: localizedLabel,
31
- value: field.virtual,
32
- ...fieldTypes[field.type],
33
- field,
34
- operators: fieldTypes[field.type].operators
35
- });
36
- return reduced;
27
+ pathPrefix = pathPrefix ? pathPrefix + '.' + field.virtual : field.virtual;
28
+ if (fieldAffectsData(field)) {
29
+ // ignore virtual field names
30
+ field.name = '';
31
+ }
37
32
  }
38
33
  if (field.type === 'tabs' && 'tabs' in field) {
39
34
  const tabs = field.tabs;
@@ -1 +1 @@
1
- {"version":3,"file":"reduceFieldsToOptions.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","fieldIsID","tabHasName","fieldTypes","arrayOperators","createNestedClientFieldPath","combineFieldLabel","reduceFieldsToOptions","fields","i18n","labelPrefix","pathPrefix","reduce","reduced","field","virtual","baseLabel","label","name","localizedLabel","push","plainTextLabel","value","type","operators","tabs","forEach","tab","localizedTabLabel","labelWithPrefix","tabPathPrefix","translatedLabel","pathWithPrefix","operatorKeys","Set","fieldOperators","hasMany","acc","operator","has","add","operatorKey","t","formattedLabel","prefix","fieldPath","formattedField"],"sources":["../../src/utilities/reduceFieldsToOptions.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared'\n\nimport type { ReducedField } from '../elements/WhereBuilder/types.js'\n\nimport fieldTypes, { arrayOperators } from '../elements/WhereBuilder/field-types.js'\nimport { createNestedClientFieldPath } from '../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from './combineFieldLabel.js'\n\ntype ReduceFieldOptionsArgs = {\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Transforms a fields schema into a flattened array of fields with labels and values.\n * Used in the `WhereBuilder` component to render the fields in the dropdown.\n */\nexport const reduceFieldsToOptions = ({\n fields,\n i18n,\n labelPrefix,\n pathPrefix,\n}: ReduceFieldOptionsArgs): ReducedField[] => {\n return fields.reduce((reduced, field) => {\n // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query\n // Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field\n if (\n (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n ('virtual' in field && field.virtual === true)\n ) {\n return reduced\n }\n\n // Handle virtual:string fields (virtual relationships, e.g. \"post.title\")\n if ('virtual' in field && typeof field.virtual === 'string') {\n const baseLabel = ('label' in field && field.label) || ('name' in field && field.name) || ''\n const localizedLabel = getTranslation(baseLabel, i18n)\n\n reduced.push({\n label: localizedLabel,\n plainTextLabel: localizedLabel,\n value: field.virtual, // e.g. \"post.title\"\n ...fieldTypes[field.type],\n field,\n operators: fieldTypes[field.type].operators,\n })\n return reduced\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceFieldsToOptions({\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceFieldsToOptions({\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceFieldsToOptions({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n if (fieldAffectsData(field)) {\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n } else {\n reduced.push(\n ...reduceFieldsToOptions({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n }\n\n return reduced\n }\n\n if (field.type === 'array' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n\n return reduced\n }\n\n if (typeof fieldTypes[field.type] === 'object') {\n const operatorKeys = new Set()\n\n const fieldOperators =\n 'hasMany' in field && field.hasMany ? arrayOperators : fieldTypes[field.type].operators\n\n const operators = fieldOperators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineFieldLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n const fieldPath = pathPrefix ? createNestedClientFieldPath(pathPrefix, field) : field.name\n\n const formattedField: ReducedField = {\n label: formattedLabel,\n plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,\n value: fieldPath,\n ...fieldTypes[field.type],\n field,\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n return reduced\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"reduceFieldsToOptions.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","fieldIsID","tabHasName","fieldTypes","arrayOperators","createNestedClientFieldPath","combineFieldLabel","reduceFieldsToOptions","fields","i18n","labelPrefix","pathPrefix","pathPrefixFromArgs","reduce","reduced","field","virtual","name","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","push","translatedLabel","pathWithPrefix","operatorKeys","Set","fieldOperators","hasMany","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","fieldPath","formattedField","plainTextLabel"],"sources":["../../src/utilities/reduceFieldsToOptions.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared'\n\nimport type { ReducedField } from '../elements/WhereBuilder/types.js'\n\nimport fieldTypes, { arrayOperators } from '../elements/WhereBuilder/field-types.js'\nimport { createNestedClientFieldPath } from '../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from './combineFieldLabel.js'\n\ntype ReduceFieldOptionsArgs = {\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Transforms a fields schema into a flattened array of fields with labels and values.\n * Used in the `WhereBuilder` component to render the fields in the dropdown.\n */\nexport const reduceFieldsToOptions = ({\n fields,\n i18n,\n labelPrefix,\n pathPrefix: pathPrefixFromArgs,\n}: ReduceFieldOptionsArgs): ReducedField[] => {\n return fields.reduce((reduced, field) => {\n let pathPrefix = pathPrefixFromArgs\n // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query\n // Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field\n if (\n (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n ('virtual' in field && field.virtual === true)\n ) {\n return reduced\n }\n\n // Handle virtual:string fields (virtual relationships, e.g. \"post.title\")\n if ('virtual' in field && typeof field.virtual === 'string') {\n pathPrefix = pathPrefix ? pathPrefix + '.' + field.virtual : field.virtual\n if (fieldAffectsData(field)) {\n // ignore virtual field names\n field.name = ''\n }\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceFieldsToOptions({\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceFieldsToOptions({\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceFieldsToOptions({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n if (fieldAffectsData(field)) {\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n } else {\n reduced.push(\n ...reduceFieldsToOptions({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n }\n\n return reduced\n }\n\n if (field.type === 'array' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n\n return reduced\n }\n\n if (typeof fieldTypes[field.type] === 'object') {\n const operatorKeys = new Set()\n\n const fieldOperators =\n 'hasMany' in field && field.hasMany ? arrayOperators : fieldTypes[field.type].operators\n\n const operators = fieldOperators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineFieldLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n const fieldPath = pathPrefix ? createNestedClientFieldPath(pathPrefix, field) : field.name\n\n const formattedField: ReducedField = {\n label: formattedLabel,\n plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,\n value: fieldPath,\n ...fieldTypes[field.type],\n field,\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n return reduced\n }, [])\n}\n"],"mappings":"AAAA;;AAIA,SAASA,cAAc,QAAQ;AAC/B,SAASC,gBAAgB,EAAEC,uBAAuB,EAAEC,SAAS,EAAEC,UAAU,QAAQ;AAIjF,OAAOC,UAAA,IAAcC,cAAc,QAAQ;AAC3C,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,iBAAiB,QAAQ;AASlC;;;;AAIA,OAAO,MAAMC,qBAAA,GAAwBA,CAAC;EACpCC,MAAM;EACNC,IAAI;EACJC,WAAW;EACXC,UAAA,EAAYC;AAAkB,CACP;EACvB,OAAOJ,MAAA,CAAOK,MAAM,CAAC,CAACC,OAAA,EAASC,KAAA;IAC7B,IAAIJ,UAAA,GAAaC,kBAAA;IACjB;IACA;IACA,IACEZ,uBAAC,CAAwBe,KAAA,KAAU,CAACd,SAAA,CAAUc,KAAA,KAC7C,aAAaA,KAAA,IAASA,KAAA,CAAMC,OAAO,KAAK,MACzC;MACA,OAAOF,OAAA;IACT;IAEA;IACA,IAAI,aAAaC,KAAA,IAAS,OAAOA,KAAA,CAAMC,OAAO,KAAK,UAAU;MAC3DL,UAAA,GAAaA,UAAA,GAAaA,UAAA,GAAa,MAAMI,KAAA,CAAMC,OAAO,GAAGD,KAAA,CAAMC,OAAO;MAC1E,IAAIjB,gBAAA,CAAiBgB,KAAA,GAAQ;QAC3B;QACAA,KAAA,CAAME,IAAI,GAAG;MACf;IACF;IAEA,IAAIF,KAAA,CAAMG,IAAI,KAAK,UAAU,UAAUH,KAAA,EAAO;MAC5C,MAAMI,IAAA,GAAOJ,KAAA,CAAMI,IAAI;MAEvBA,IAAA,CAAKC,OAAO,CAAEC,GAAA;QACZ,IAAI,OAAOA,GAAA,CAAIC,KAAK,KAAK,WAAW;UAClC,MAAMC,iBAAA,GAAoBzB,cAAA,CAAeuB,GAAA,CAAIC,KAAK,EAAEb,IAAA;UAEpD,MAAMe,eAAA,GAAkBd,WAAA,GACpBA,WAAA,GAAc,QAAQa,iBAAA,GACtBA,iBAAA;UAEJ;UACA,MAAME,aAAA,GACJvB,UAAA,CAAWmB,GAAA,KAAQA,GAAA,CAAIJ,IAAI,GACvBN,UAAA,GACEA,UAAA,GAAa,MAAMU,GAAA,CAAIJ,IAAI,GAC3BI,GAAA,CAAIJ,IAAI,GACVN,UAAA;UAEN,IAAI,OAAOY,iBAAA,KAAsB,UAAU;YACzCT,OAAA,CAAQY,IAAI,IACPnB,qBAAA,CAAsB;cACvBC,MAAA,EAAQa,GAAA,CAAIb,MAAM;cAClBC,IAAA;cACAC,WAAA,EAAac,eAAA;cACbb,UAAA,EAAYc;YACd;UAEJ;QACF;MACF;MACA,OAAOX,OAAA;IACT;IAEA;IACA,IAAIC,KAAA,CAAMG,IAAI,KAAK,SAAS,YAAYH,KAAA,EAAO;MAC7CD,OAAA,CAAQY,IAAI,IACPnB,qBAAA,CAAsB;QACvBC,MAAA,EAAQO,KAAA,CAAMP,MAAM;QACpBC,IAAA;QACAC,WAAA;QACAC;MACF;MAEF,OAAOG,OAAA;IACT;IAEA,IAAIC,KAAA,CAAMG,IAAI,KAAK,iBAAiB,YAAYH,KAAA,EAAO;MACrD,MAAMQ,iBAAA,GAAoBzB,cAAA,CAAeiB,KAAA,CAAMO,KAAK,IAAI,IAAIb,IAAA;MAE5D,MAAMe,eAAA,GAAkBd,WAAA,GACpBA,WAAA,GAAc,QAAQa,iBAAA,GACtBA,iBAAA;MAEJT,OAAA,CAAQY,IAAI,IACPnB,qBAAA,CAAsB;QACvBC,MAAA,EAAQO,KAAA,CAAMP,MAAM;QACpBC,IAAA;QACAC,WAAA,EAAac,eAAA;QACbb;MACF;MAEF,OAAOG,OAAA;IACT;IAEA,IAAIC,KAAA,CAAMG,IAAI,KAAK,WAAW,YAAYH,KAAA,EAAO;MAC/C,MAAMY,eAAA,GAAkB7B,cAAA,CAAeiB,KAAA,CAAMO,KAAK,IAAI,IAAIb,IAAA;MAE1D,MAAMe,eAAA,GAAkBd,WAAA,GACpBiB,eAAA,GACEjB,WAAA,GAAc,QAAQiB,eAAA,GACtBjB,WAAA,GACFiB,eAAA;MAEJ,IAAI5B,gBAAA,CAAiBgB,KAAA,GAAQ;QAC3B;QACA,MAAMa,cAAA,GAAiBb,KAAA,CAAME,IAAI,GAC7BN,UAAA,GACEA,UAAA,GAAa,MAAMI,KAAA,CAAME,IAAI,GAC7BF,KAAA,CAAME,IAAI,GACZN,UAAA;QAEJG,OAAA,CAAQY,IAAI,IACPnB,qBAAA,CAAsB;UACvBC,MAAA,EAAQO,KAAA,CAAMP,MAAM;UACpBC,IAAA;UACAC,WAAA,EAAac,eAAA;UACbb,UAAA,EAAYiB;QACd;MAEJ,OAAO;QACLd,OAAA,CAAQY,IAAI,IACPnB,qBAAA,CAAsB;UACvBC,MAAA,EAAQO,KAAA,CAAMP,MAAM;UACpBC,IAAA;UACAC,WAAA,EAAac,eAAA;UACbb;QACF;MAEJ;MAEA,OAAOG,OAAA;IACT;IAEA,IAAIC,KAAA,CAAMG,IAAI,KAAK,WAAW,YAAYH,KAAA,EAAO;MAC/C,MAAMY,eAAA,GAAkB7B,cAAA,CAAeiB,KAAA,CAAMO,KAAK,IAAI,IAAIb,IAAA;MAE1D,MAAMe,eAAA,GAAkBd,WAAA,GACpBiB,eAAA,GACEjB,WAAA,GAAc,QAAQiB,eAAA,GACtBjB,WAAA,GACFiB,eAAA;MAEJ;MACA,MAAMC,cAAA,GAAiBb,KAAA,CAAME,IAAI,GAC7BN,UAAA,GACEA,UAAA,GAAa,MAAMI,KAAA,CAAME,IAAI,GAC7BF,KAAA,CAAME,IAAI,GACZN,UAAA;MAEJG,OAAA,CAAQY,IAAI,IACPnB,qBAAA,CAAsB;QACvBC,MAAA,EAAQO,KAAA,CAAMP,MAAM;QACpBC,IAAA;QACAC,WAAA,EAAac,eAAA;QACbb,UAAA,EAAYiB;MACd;MAGF,OAAOd,OAAA;IACT;IAEA,IAAI,OAAOX,UAAU,CAACY,KAAA,CAAMG,IAAI,CAAC,KAAK,UAAU;MAC9C,MAAMW,YAAA,GAAe,IAAIC,GAAA;MAEzB,MAAMC,cAAA,GACJ,aAAahB,KAAA,IAASA,KAAA,CAAMiB,OAAO,GAAG5B,cAAA,GAAiBD,UAAU,CAACY,KAAA,CAAMG,IAAI,CAAC,CAACe,SAAS;MAEzF,MAAMA,SAAA,GAAYF,cAAA,CAAelB,MAAM,CAAC,CAACqB,GAAA,EAAKC,QAAA;QAC5C,IAAI,CAACN,YAAA,CAAaO,GAAG,CAACD,QAAA,CAASE,KAAK,GAAG;UACrCR,YAAA,CAAaS,GAAG,CAACH,QAAA,CAASE,KAAK;UAC/B,MAAME,WAAA,GAAc,aAAaJ,QAAA,CAASb,KAAK,EAAE;UACjDY,GAAA,CAAIR,IAAI,CAAC;YACP,GAAGS,QAAQ;YACXb,KAAA,EAAOb,IAAA,CAAK+B,CAAC,CAACD,WAAA;UAChB;QACF;QAEA,OAAOL,GAAA;MACT,GAAG,EAAE;MAEL,MAAMO,cAAA,GAAiB3C,cAAA,CAAeiB,KAAA,CAAMO,KAAK,IAAI,IAAIb,IAAA;MAEzD,MAAMiC,cAAA,GAAiBhC,WAAA,GACnBJ,iBAAA,CAAkB;QAChBS,KAAA;QACA4B,MAAA,EAAQjC;MACV,KACA+B,cAAA;MAEJ,MAAMG,SAAA,GAAYjC,UAAA,GAAaN,2BAAA,CAA4BM,UAAA,EAAYI,KAAA,IAASA,KAAA,CAAME,IAAI;MAE1F,MAAM4B,cAAA,GAA+B;QACnCvB,KAAA,EAAOoB,cAAA;QACPI,cAAA,EAAgB,GAAGpC,WAAA,GAAcA,WAAA,GAAc,QAAQ,KAAK+B,cAAA,EAAgB;QAC5EJ,KAAA,EAAOO,SAAA;QACP,GAAGzC,UAAU,CAACY,KAAA,CAAMG,IAAI,CAAC;QACzBH,KAAA;QACAkB;MACF;MAEAnB,OAAA,CAAQY,IAAI,CAACmB,cAAA;MACb,OAAO/B,OAAA;IACT;IACA,OAAOA,OAAA;EACT,GAAG,EAAE;AACP","ignoreList":[]}
@@ -64,7 +64,7 @@ export function DefaultBrowseByFolderView({
64
64
  });
65
65
  }
66
66
  function BrowseByFolderViewInContext(props) {
67
- const $ = _c(24);
67
+ const $ = _c(30);
68
68
  const {
69
69
  AfterFolderList,
70
70
  AfterFolderListTable,
@@ -162,10 +162,19 @@ function BrowseByFolderViewInContext(props) {
162
162
  }
163
163
  const onDragEnd = t2;
164
164
  const totalDocsAndSubfolders = documents.length + subfolders.length;
165
- const listHeaderTitle = !breadcrumbs.length ? t("folder:browseByFolder") : breadcrumbs[breadcrumbs.length - 1].name;
166
165
  let t3;
167
- if ($[9] !== getEntityConfig || $[10] !== i18n || $[11] !== t) {
168
- t3 = (acc, slug, index, array) => {
166
+ if ($[9] !== breadcrumbs || $[10] !== t) {
167
+ t3 = !breadcrumbs.length ? t("folder:browseByFolder") : breadcrumbs[breadcrumbs.length - 1].name;
168
+ $[9] = breadcrumbs;
169
+ $[10] = t;
170
+ $[11] = t3;
171
+ } else {
172
+ t3 = $[11];
173
+ }
174
+ const listHeaderTitle = t3;
175
+ let t4;
176
+ if ($[12] !== getEntityConfig || $[13] !== i18n || $[14] !== t) {
177
+ t4 = (acc, slug, index, array) => {
169
178
  const collectionConfig = getEntityConfig({
170
179
  collectionSlug: slug
171
180
  });
@@ -177,24 +186,24 @@ function BrowseByFolderViewInContext(props) {
177
186
  }
178
187
  return `${acc}, ${getTranslation(collectionConfig.labels?.plural, i18n)}`;
179
188
  };
180
- $[9] = getEntityConfig;
181
- $[10] = i18n;
182
- $[11] = t;
183
- $[12] = t3;
189
+ $[12] = getEntityConfig;
190
+ $[13] = i18n;
191
+ $[14] = t;
192
+ $[15] = t4;
184
193
  } else {
185
- t3 = $[12];
194
+ t4 = $[15];
186
195
  }
187
- const noResultsLabel = visibleCollectionSlugs.reduce(t3, "");
196
+ const noResultsLabel = visibleCollectionSlugs.reduce(t4, "");
188
197
  const handleSetViewType = view => {
189
198
  setPreference("browse-by-folder", {
190
199
  viewPreference: view
191
200
  });
192
201
  setActiveView(view);
193
202
  };
194
- let t4;
195
203
  let t5;
196
- if ($[13] !== breadcrumbs || $[14] !== drawerDepth || $[15] !== getFolderRoute || $[16] !== router || $[17] !== setStepNav || $[18] !== startRouteTransition || $[19] !== t) {
197
- t4 = () => {
204
+ let t6;
205
+ if ($[16] !== breadcrumbs || $[17] !== drawerDepth || $[18] !== getFolderRoute || $[19] !== router || $[20] !== setStepNav || $[21] !== startRouteTransition || $[22] !== t) {
206
+ t5 = () => {
198
207
  if (!drawerDepth) {
199
208
  setStepNav([!breadcrumbs.length ? {
200
209
  label: _jsxs("div", {
@@ -226,34 +235,46 @@ function BrowseByFolderViewInContext(props) {
226
235
  }))]);
227
236
  }
228
237
  };
229
- t5 = [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t];
230
- $[13] = breadcrumbs;
231
- $[14] = drawerDepth;
232
- $[15] = getFolderRoute;
233
- $[16] = router;
234
- $[17] = setStepNav;
235
- $[18] = startRouteTransition;
236
- $[19] = t;
237
- $[20] = t4;
238
- $[21] = t5;
238
+ t6 = [breadcrumbs, drawerDepth, getFolderRoute, router, setStepNav, startRouteTransition, t];
239
+ $[16] = breadcrumbs;
240
+ $[17] = drawerDepth;
241
+ $[18] = getFolderRoute;
242
+ $[19] = router;
243
+ $[20] = setStepNav;
244
+ $[21] = startRouteTransition;
245
+ $[22] = t;
246
+ $[23] = t5;
247
+ $[24] = t6;
239
248
  } else {
240
- t4 = $[20];
241
- t5 = $[21];
249
+ t5 = $[23];
250
+ t6 = $[24];
242
251
  }
243
- React.useEffect(t4, t5);
252
+ React.useEffect(t5, t6);
244
253
  const nonFolderCollectionSlugs = allowCreateCollectionSlugs.filter(slug_0 => slug_0 !== folderCollectionConfig.slug);
245
- let t6;
246
- if ($[22] !== refineFolderData) {
247
- t6 = search_0 => refineFolderData({
254
+ let t7;
255
+ if ($[25] !== refineFolderData) {
256
+ t7 = search_0 => refineFolderData({
248
257
  query: {
249
258
  search: search_0
250
259
  },
251
260
  updateURL: true
252
261
  });
253
- $[22] = refineFolderData;
254
- $[23] = t6;
262
+ $[25] = refineFolderData;
263
+ $[26] = t7;
255
264
  } else {
256
- t6 = $[23];
265
+ t7 = $[26];
266
+ }
267
+ let t8;
268
+ if ($[27] !== dragOverlayItem || $[28] !== selectedItemKeys.size) {
269
+ t8 = selectedItemKeys.size > 0 && dragOverlayItem && _jsx(DragOverlaySelection, {
270
+ item: dragOverlayItem,
271
+ selectedCount: selectedItemKeys.size
272
+ });
273
+ $[27] = dragOverlayItem;
274
+ $[28] = selectedItemKeys.size;
275
+ $[29] = t8;
276
+ } else {
277
+ t8 = $[29];
257
278
  }
258
279
  return _jsxs(Fragment, {
259
280
  children: [_jsx(DndEventListener, {
@@ -284,7 +305,7 @@ function BrowseByFolderViewInContext(props) {
284
305
  setActiveView: handleSetViewType
285
306
  }, "toggle-view-buttons"), _jsx(CurrentFolderActions, {}, "current-folder-actions")].filter(Boolean),
286
307
  label: searchPlaceholder,
287
- onSearchChange: t6,
308
+ onSearchChange: t7,
288
309
  searchQueryParam: search
289
310
  }), BeforeFolderListTable, totalDocsAndSubfolders > 0 && _jsx(_Fragment, {
290
311
  children: activeView === "grid" ? _jsxs("div", {
@@ -324,10 +345,7 @@ function BrowseByFolderViewInContext(props) {
324
345
  })
325
346
  }), AfterFolderListTable]
326
347
  }), AfterFolderList]
327
- }), selectedItemKeys.size > 0 && dragOverlayItem && _jsx(DragOverlaySelection, {
328
- item: dragOverlayItem,
329
- selectedCount: selectedItemKeys.size
330
- })]
348
+ }), t8]
331
349
  });
332
350
  }
333
351
  function DndEventListener(t0) {