@payloadcms/ui 3.0.0-beta.60 → 3.0.0-beta.62

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 (241) hide show
  1. package/dist/elements/Banner/index.scss +4 -4
  2. package/dist/elements/CodeEditor/types.d.ts +2 -2
  3. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  4. package/dist/elements/CodeEditor/types.js.map +1 -1
  5. package/dist/elements/Collapsible/index.scss +13 -47
  6. package/dist/elements/DatePicker/types.d.ts +2 -2
  7. package/dist/elements/DatePicker/types.d.ts.map +1 -1
  8. package/dist/elements/DatePicker/types.js.map +1 -1
  9. package/dist/elements/DocumentDrawer/types.d.ts +4 -4
  10. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  11. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  12. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts +2 -2
  13. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  14. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  15. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +4 -4
  16. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  17. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  18. package/dist/elements/Drawer/types.d.ts +2 -2
  19. package/dist/elements/Drawer/types.d.ts.map +1 -1
  20. package/dist/elements/Drawer/types.js.map +1 -1
  21. package/dist/elements/Dropzone/index.d.ts +1 -0
  22. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  23. package/dist/elements/Dropzone/index.js +8 -1
  24. package/dist/elements/Dropzone/index.js.map +1 -1
  25. package/dist/elements/ErrorPill/index.scss +2 -14
  26. package/dist/elements/FileDetails/index.d.ts +2 -2
  27. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  28. package/dist/elements/FileDetails/index.js.map +1 -1
  29. package/dist/elements/GenerateConfirmation/index.scss +1 -0
  30. package/dist/elements/ListDrawer/types.d.ts +2 -2
  31. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  32. package/dist/elements/ListDrawer/types.js.map +1 -1
  33. package/dist/elements/Pill/index.d.ts +2 -2
  34. package/dist/elements/Pill/index.d.ts.map +1 -1
  35. package/dist/elements/Pill/index.js.map +1 -1
  36. package/dist/elements/Pill/index.scss +9 -21
  37. package/dist/elements/PreviewSizes/index.d.ts +4 -4
  38. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  39. package/dist/elements/PreviewSizes/index.js.map +1 -1
  40. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  41. package/dist/elements/PublishButton/index.js +16 -0
  42. package/dist/elements/PublishButton/index.js.map +1 -1
  43. package/dist/elements/ReactSelect/Control/index.js +0 -1
  44. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  45. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -2
  46. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  47. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  48. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +2 -2
  49. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  50. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  51. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  52. package/dist/elements/ReactSelect/index.js +0 -1
  53. package/dist/elements/ReactSelect/index.js.map +1 -1
  54. package/dist/elements/ReactSelect/index.scss +9 -2
  55. package/dist/elements/ReactSelect/types.d.ts +1 -1
  56. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  57. package/dist/elements/ReactSelect/types.js.map +1 -1
  58. package/dist/elements/Status/index.scss +1 -0
  59. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  60. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +0 -1
  61. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  62. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  63. package/dist/elements/TableColumns/buildColumnState.js +0 -1
  64. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  65. package/dist/elements/ThumbnailCard/index.d.ts +2 -2
  66. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  67. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  68. package/dist/elements/Upload/index.d.ts.map +1 -1
  69. package/dist/elements/Upload/index.js +94 -7
  70. package/dist/elements/Upload/index.js.map +1 -1
  71. package/dist/elements/Upload/index.scss +6 -3
  72. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +2 -2
  73. package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -1
  74. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  75. package/dist/exports/client/{CodeEditor-UTZFZWZG.js → CodeEditor-OI35YO7H.js} +1 -1
  76. package/dist/exports/client/{CodeEditor-UTZFZWZG.js.map → CodeEditor-OI35YO7H.js.map} +1 -1
  77. package/dist/exports/client/{DatePicker-SFJJWFZ5.js → DatePicker-5IFHNQHA.js} +2 -2
  78. package/dist/exports/client/chunk-WDFUZ6GL.js +30 -0
  79. package/dist/exports/client/{chunk-IF2WZON3.js.map → chunk-WDFUZ6GL.js.map} +4 -4
  80. package/dist/exports/client/index.js +6 -6
  81. package/dist/exports/client/index.js.map +4 -4
  82. package/dist/exports/shared/index.js.map +1 -1
  83. package/dist/fields/Array/ArrayRow.d.ts +2 -2
  84. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  85. package/dist/fields/Array/ArrayRow.js.map +1 -1
  86. package/dist/fields/Array/index.d.ts +2 -2
  87. package/dist/fields/Array/index.d.ts.map +1 -1
  88. package/dist/fields/Array/index.js.map +1 -1
  89. package/dist/fields/Blocks/BlockRow.d.ts +2 -2
  90. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  91. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  92. package/dist/fields/Blocks/index.d.ts +2 -2
  93. package/dist/fields/Blocks/index.d.ts.map +1 -1
  94. package/dist/fields/Blocks/index.js.map +1 -1
  95. package/dist/fields/Checkbox/index.js +2 -1
  96. package/dist/fields/Checkbox/index.js.map +1 -1
  97. package/dist/fields/Checkbox/index.scss +2 -1
  98. package/dist/fields/Checkbox/types.d.ts +2 -2
  99. package/dist/fields/Checkbox/types.d.ts.map +1 -1
  100. package/dist/fields/Checkbox/types.js.map +1 -1
  101. package/dist/fields/Code/index.d.ts +2 -2
  102. package/dist/fields/Code/index.d.ts.map +1 -1
  103. package/dist/fields/Code/index.js +1 -1
  104. package/dist/fields/Code/index.js.map +1 -1
  105. package/dist/fields/Code/index.scss +3 -21
  106. package/dist/fields/Collapsible/index.d.ts +2 -2
  107. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  108. package/dist/fields/Collapsible/index.js.map +1 -1
  109. package/dist/fields/Collapsible/index.scss +0 -4
  110. package/dist/fields/DateTime/index.d.ts +2 -2
  111. package/dist/fields/DateTime/index.d.ts.map +1 -1
  112. package/dist/fields/DateTime/index.js +1 -1
  113. package/dist/fields/DateTime/index.js.map +1 -1
  114. package/dist/fields/Email/index.d.ts +2 -2
  115. package/dist/fields/Email/index.d.ts.map +1 -1
  116. package/dist/fields/Email/index.js.map +1 -1
  117. package/dist/fields/FieldError/index.scss +6 -5
  118. package/dist/fields/Group/index.d.ts +2 -2
  119. package/dist/fields/Group/index.d.ts.map +1 -1
  120. package/dist/fields/Group/index.js.map +1 -1
  121. package/dist/fields/Hidden/index.d.ts +2 -2
  122. package/dist/fields/Hidden/index.d.ts.map +1 -1
  123. package/dist/fields/Hidden/index.js.map +1 -1
  124. package/dist/fields/JSON/index.d.ts +2 -2
  125. package/dist/fields/JSON/index.d.ts.map +1 -1
  126. package/dist/fields/JSON/index.js +0 -5
  127. package/dist/fields/JSON/index.js.map +1 -1
  128. package/dist/fields/JSON/index.scss +6 -25
  129. package/dist/fields/Number/index.d.ts +2 -2
  130. package/dist/fields/Number/index.d.ts.map +1 -1
  131. package/dist/fields/Number/index.js +1 -3
  132. package/dist/fields/Number/index.js.map +1 -1
  133. package/dist/fields/Password/index.d.ts +2 -2
  134. package/dist/fields/Password/index.d.ts.map +1 -1
  135. package/dist/fields/Password/index.js.map +1 -1
  136. package/dist/fields/Point/index.d.ts +2 -2
  137. package/dist/fields/Point/index.d.ts.map +1 -1
  138. package/dist/fields/Point/index.js +6 -6
  139. package/dist/fields/Point/index.js.map +1 -1
  140. package/dist/fields/Point/index.scss +4 -0
  141. package/dist/fields/RadioGroup/index.d.ts +2 -2
  142. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  143. package/dist/fields/RadioGroup/index.js +7 -6
  144. package/dist/fields/RadioGroup/index.js.map +1 -1
  145. package/dist/fields/RadioGroup/index.scss +7 -0
  146. package/dist/fields/Relationship/index.scss +2 -2
  147. package/dist/fields/Relationship/types.d.ts +2 -2
  148. package/dist/fields/Relationship/types.d.ts.map +1 -1
  149. package/dist/fields/Relationship/types.js.map +1 -1
  150. package/dist/fields/RichText/index.d.ts +2 -2
  151. package/dist/fields/RichText/index.d.ts.map +1 -1
  152. package/dist/fields/RichText/index.js.map +1 -1
  153. package/dist/fields/Row/types.d.ts +2 -2
  154. package/dist/fields/Row/types.d.ts.map +1 -1
  155. package/dist/fields/Row/types.js.map +1 -1
  156. package/dist/fields/Select/Input.d.ts +2 -2
  157. package/dist/fields/Select/Input.d.ts.map +1 -1
  158. package/dist/fields/Select/Input.js +0 -5
  159. package/dist/fields/Select/Input.js.map +1 -1
  160. package/dist/fields/Select/index.d.ts +2 -2
  161. package/dist/fields/Select/index.d.ts.map +1 -1
  162. package/dist/fields/Select/index.js +1 -1
  163. package/dist/fields/Select/index.js.map +1 -1
  164. package/dist/fields/Tabs/index.d.ts +2 -2
  165. package/dist/fields/Tabs/index.d.ts.map +1 -1
  166. package/dist/fields/Tabs/index.js.map +1 -1
  167. package/dist/fields/Text/types.d.ts +4 -4
  168. package/dist/fields/Text/types.d.ts.map +1 -1
  169. package/dist/fields/Text/types.js.map +1 -1
  170. package/dist/fields/Textarea/index.d.ts.map +1 -1
  171. package/dist/fields/Textarea/index.js +1 -1
  172. package/dist/fields/Textarea/index.js.map +1 -1
  173. package/dist/fields/Textarea/types.d.ts +4 -4
  174. package/dist/fields/Textarea/types.d.ts.map +1 -1
  175. package/dist/fields/Textarea/types.js.map +1 -1
  176. package/dist/fields/Upload/Input.d.ts +2 -2
  177. package/dist/fields/Upload/Input.d.ts.map +1 -1
  178. package/dist/fields/Upload/Input.js.map +1 -1
  179. package/dist/fields/Upload/types.d.ts +2 -2
  180. package/dist/fields/Upload/types.d.ts.map +1 -1
  181. package/dist/fields/Upload/types.js.map +1 -1
  182. package/dist/forms/Form/index.d.ts.map +1 -1
  183. package/dist/forms/Form/index.js +1 -1
  184. package/dist/forms/Form/index.js.map +1 -1
  185. package/dist/forms/Form/types.d.ts +7 -7
  186. package/dist/forms/Form/types.d.ts.map +1 -1
  187. package/dist/forms/Form/types.js.map +1 -1
  188. package/dist/forms/RowLabel/Context/index.d.ts +2 -2
  189. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  190. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  191. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  192. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -1
  193. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  194. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js +1 -1
  195. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  196. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts +2 -2
  197. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +1 -1
  198. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  199. package/dist/hooks/useHotkey.js +1 -1
  200. package/dist/hooks/useHotkey.js.map +1 -1
  201. package/dist/hooks/useIntersect.js +1 -1
  202. package/dist/hooks/useIntersect.js.map +1 -1
  203. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  204. package/dist/hooks/useThrottledEffect.js +1 -1
  205. package/dist/hooks/useThrottledEffect.js.map +1 -1
  206. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
  207. package/dist/providers/ComponentMap/buildComponentMap/actions.js +3 -3
  208. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  209. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  210. package/dist/providers/ComponentMap/buildComponentMap/collections.js +8 -8
  211. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  212. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  213. package/dist/providers/ComponentMap/buildComponentMap/fields.js +1 -0
  214. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  215. package/dist/providers/ComponentMap/buildComponentMap/index.js +2 -2
  216. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  217. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +2 -2
  218. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  219. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  220. package/dist/providers/DocumentInfo/index.d.ts +2 -2
  221. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  222. package/dist/providers/DocumentInfo/index.js.map +1 -1
  223. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  224. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  225. package/dist/providers/DocumentInfo/types.js.map +1 -1
  226. package/dist/providers/ListInfo/index.d.ts +2 -2
  227. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  228. package/dist/providers/ListInfo/index.js.map +1 -1
  229. package/dist/providers/ListQuery/index.d.ts +2 -2
  230. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  231. package/dist/providers/ListQuery/index.js.map +1 -1
  232. package/dist/styles.css +1 -1
  233. package/dist/utilities/api.d.ts +2 -2
  234. package/dist/utilities/api.d.ts.map +1 -1
  235. package/dist/utilities/api.js.map +1 -1
  236. package/dist/utilities/buildFormState.d.ts.map +1 -1
  237. package/dist/utilities/buildFormState.js +0 -2
  238. package/dist/utilities/buildFormState.js.map +1 -1
  239. package/package.json +12 -19
  240. package/dist/exports/client/chunk-IF2WZON3.js +0 -30
  241. /package/dist/exports/client/{DatePicker-SFJJWFZ5.js.map → DatePicker-5IFHNQHA.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n AdminViewProps,\n EditViewProps,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { isReactComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nimport type { ViewDescriptionProps } from '../../../elements/ViewDescription/index.js'\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type { CollectionComponentMap } from './types.js'\n\n// Need to import from client barrel file\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { ViewDescription } from '../../../exports/client/index.js'\nimport { mapActions } from './actions.js'\nimport { mapFields } from './fields.js'\n\nexport const mapCollections = (args: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n WithServerSideProps: WithServerSidePropsPrePopulated\n collections: SanitizedCollectionConfig[]\n config: SanitizedConfig\n i18n: I18nClient\n readOnly?: boolean\n}): {\n [key: SanitizedCollectionConfig['slug']]: CollectionComponentMap\n} => {\n const {\n DefaultEditView,\n DefaultListView,\n WithServerSideProps,\n collections,\n config,\n i18n,\n i18n: { t },\n readOnly: readOnlyOverride,\n } = args\n\n return collections.reduce((acc, collectionConfig) => {\n const { slug, fields } = collectionConfig\n\n const internalCollections = ['payload-preferences', 'payload-migrations']\n\n if (internalCollections.includes(slug)) {\n return acc\n }\n\n const editViewFromConfig = collectionConfig?.admin?.components?.views?.Edit\n\n const listViewFromConfig = collectionConfig?.admin?.components?.views?.List\n\n const CustomEditView =\n typeof editViewFromConfig === 'function'\n ? editViewFromConfig\n : typeof editViewFromConfig === 'object' &&\n isReactComponentOrFunction(editViewFromConfig.Default)\n ? editViewFromConfig.Default\n : typeof editViewFromConfig?.Default === 'object' &&\n 'Component' in editViewFromConfig.Default &&\n isReactComponentOrFunction(editViewFromConfig.Default.Component)\n ? (editViewFromConfig.Default.Component as React.FC<EditViewProps>)\n : undefined\n\n const CustomListView =\n typeof listViewFromConfig === 'function'\n ? listViewFromConfig\n : typeof listViewFromConfig === 'object' &&\n isReactComponentOrFunction(listViewFromConfig.Component)\n ? listViewFromConfig.Component\n : undefined\n\n const Edit = (CustomEditView as React.FC<EditViewProps>) || DefaultEditView\n\n const List = CustomListView || DefaultListView\n\n const SaveButtonComponent = collectionConfig?.admin?.components?.edit?.SaveButton\n\n const SaveButton = SaveButtonComponent ? (\n <WithServerSideProps Component={SaveButtonComponent} />\n ) : undefined\n\n const SaveDraftButtonComponent = collectionConfig?.admin?.components?.edit?.SaveDraftButton\n\n const SaveDraftButton = SaveDraftButtonComponent ? (\n <WithServerSideProps Component={SaveDraftButtonComponent} />\n ) : undefined\n\n const PreviewButtonComponent = collectionConfig?.admin?.components?.edit?.PreviewButton\n\n const PreviewButton = PreviewButtonComponent ? (\n <WithServerSideProps Component={PreviewButtonComponent} />\n ) : undefined\n\n const PublishButtonComponent = collectionConfig?.admin?.components?.edit?.PublishButton\n\n const PublishButton = PublishButtonComponent ? (\n <WithServerSideProps Component={PublishButtonComponent} />\n ) : undefined\n\n const UploadComponent = collectionConfig?.admin?.components?.edit?.Upload\n\n const Upload = UploadComponent ? <WithServerSideProps Component={UploadComponent} /> : undefined\n\n const beforeList = collectionConfig?.admin?.components?.beforeList\n\n const BeforeList =\n (beforeList &&\n Array.isArray(beforeList) &&\n beforeList?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const beforeListTable = collectionConfig?.admin?.components?.beforeListTable\n\n const BeforeListTable =\n (beforeListTable &&\n Array.isArray(beforeListTable) &&\n beforeListTable?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const afterList = collectionConfig?.admin?.components?.afterList\n\n const AfterList =\n (afterList &&\n Array.isArray(afterList) &&\n afterList?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n const afterListTable = collectionConfig?.admin?.components?.afterListTable\n\n const AfterListTable =\n (afterListTable &&\n Array.isArray(afterListTable) &&\n afterListTable?.map((Component) => <WithServerSideProps Component={Component} />)) ||\n null\n\n let description = undefined\n if (collectionConfig.admin && 'description' in collectionConfig.admin) {\n if (\n typeof collectionConfig.admin?.description === 'string' ||\n typeof collectionConfig.admin?.description === 'object'\n ) {\n description = collectionConfig.admin.description\n } else if (typeof collectionConfig.admin?.description === 'function') {\n description = collectionConfig.admin?.description({ t })\n }\n }\n\n const descriptionProps: ViewDescriptionProps = {\n description,\n }\n\n const DescriptionComponent =\n collectionConfig.admin?.components?.edit?.Description ||\n (description ? ViewDescription : undefined)\n\n const Description =\n DescriptionComponent !== undefined ? (\n <WithServerSideProps Component={DescriptionComponent} {...(descriptionProps || {})} />\n ) : undefined\n\n const componentMap: CollectionComponentMap = {\n AfterList,\n AfterListTable,\n BeforeList,\n BeforeListTable,\n Description,\n Edit: <Edit collectionSlug={collectionConfig.slug} />,\n List: <List collectionSlug={collectionConfig.slug} />,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload,\n actionsMap: mapActions({\n WithServerSideProps,\n collectionConfig,\n }),\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: fields,\n i18n,\n readOnly: readOnlyOverride,\n }),\n isPreviewEnabled: !!collectionConfig?.admin?.preview,\n }\n\n return {\n ...acc,\n [slug]: componentMap,\n }\n }, {})\n}\n"],"names":["isReactComponentOrFunction","React","ViewDescription","mapActions","mapFields","mapCollections","args","DefaultEditView","DefaultListView","WithServerSideProps","collections","config","i18n","t","readOnly","readOnlyOverride","reduce","acc","collectionConfig","slug","fields","internalCollections","includes","editViewFromConfig","admin","components","views","Edit","listViewFromConfig","List","CustomEditView","Default","Component","undefined","CustomListView","SaveButtonComponent","edit","SaveButton","SaveDraftButtonComponent","SaveDraftButton","PreviewButtonComponent","PreviewButton","PublishButtonComponent","PublishButton","UploadComponent","Upload","beforeList","BeforeList","Array","isArray","map","beforeListTable","BeforeListTable","afterList","AfterList","afterListTable","AfterListTable","description","descriptionProps","DescriptionComponent","Description","componentMap","collectionSlug","actionsMap","fieldMap","fieldSchema","isPreviewEnabled","preview"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/collections.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n AdminViewProps,\n EditViewProps,\n SanitizedCollectionConfig,\n SanitizedConfig,\n} from 'payload'\n\nimport { isReactComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nimport type { ViewDescriptionProps } from '../../../elements/ViewDescription/index.js'\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type { CollectionComponentMap } from './types.js'\n\n// Need to import from client barrel file\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { ViewDescription } from '../../../exports/client/index.js'\nimport { mapActions } from './actions.js'\nimport { mapFields } from './fields.js'\n\nexport const mapCollections = (args: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n WithServerSideProps: WithServerSidePropsPrePopulated\n collections: SanitizedCollectionConfig[]\n config: SanitizedConfig\n i18n: I18nClient\n readOnly?: boolean\n}): {\n [key: SanitizedCollectionConfig['slug']]: CollectionComponentMap\n} => {\n const {\n DefaultEditView,\n DefaultListView,\n WithServerSideProps,\n collections,\n config,\n i18n,\n i18n: { t },\n readOnly: readOnlyOverride,\n } = args\n\n return collections.reduce((acc, collectionConfig) => {\n const { slug, fields } = collectionConfig\n\n const internalCollections = ['payload-preferences', 'payload-migrations']\n\n if (internalCollections.includes(slug)) {\n return acc\n }\n\n const editViewFromConfig = collectionConfig?.admin?.components?.views?.Edit\n\n const listViewFromConfig = collectionConfig?.admin?.components?.views?.List\n\n const CustomEditView =\n typeof editViewFromConfig === 'function'\n ? editViewFromConfig\n : typeof editViewFromConfig === 'object' &&\n isReactComponentOrFunction(editViewFromConfig.Default)\n ? editViewFromConfig.Default\n : typeof editViewFromConfig?.Default === 'object' &&\n 'Component' in editViewFromConfig.Default &&\n isReactComponentOrFunction(editViewFromConfig.Default.Component)\n ? (editViewFromConfig.Default.Component as React.FC<EditViewProps>)\n : undefined\n\n const CustomListView =\n typeof listViewFromConfig === 'function'\n ? listViewFromConfig\n : typeof listViewFromConfig === 'object' &&\n isReactComponentOrFunction(listViewFromConfig.Component)\n ? listViewFromConfig.Component\n : undefined\n\n const Edit = (CustomEditView as React.FC<EditViewProps>) || DefaultEditView\n\n const List = CustomListView || DefaultListView\n\n const SaveButtonComponent = collectionConfig?.admin?.components?.edit?.SaveButton\n\n const SaveButton = SaveButtonComponent ? (\n <WithServerSideProps Component={SaveButtonComponent} />\n ) : undefined\n\n const SaveDraftButtonComponent = collectionConfig?.admin?.components?.edit?.SaveDraftButton\n\n const SaveDraftButton = SaveDraftButtonComponent ? (\n <WithServerSideProps Component={SaveDraftButtonComponent} />\n ) : undefined\n\n const PreviewButtonComponent = collectionConfig?.admin?.components?.edit?.PreviewButton\n\n const PreviewButton = PreviewButtonComponent ? (\n <WithServerSideProps Component={PreviewButtonComponent} />\n ) : undefined\n\n const PublishButtonComponent = collectionConfig?.admin?.components?.edit?.PublishButton\n\n const PublishButton = PublishButtonComponent ? (\n <WithServerSideProps Component={PublishButtonComponent} />\n ) : undefined\n\n const UploadComponent = collectionConfig?.admin?.components?.edit?.Upload\n\n const Upload = UploadComponent ? <WithServerSideProps Component={UploadComponent} /> : undefined\n\n const beforeList = collectionConfig?.admin?.components?.beforeList\n\n const BeforeList =\n (beforeList &&\n Array.isArray(beforeList) &&\n beforeList?.map((Component, i) => <WithServerSideProps Component={Component} key={i} />)) ||\n null\n\n const beforeListTable = collectionConfig?.admin?.components?.beforeListTable\n\n const BeforeListTable =\n (beforeListTable &&\n Array.isArray(beforeListTable) &&\n beforeListTable?.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))) ||\n null\n\n const afterList = collectionConfig?.admin?.components?.afterList\n\n const AfterList =\n (afterList &&\n Array.isArray(afterList) &&\n afterList?.map((Component, i) => <WithServerSideProps Component={Component} key={i} />)) ||\n null\n\n const afterListTable = collectionConfig?.admin?.components?.afterListTable\n\n const AfterListTable =\n (afterListTable &&\n Array.isArray(afterListTable) &&\n afterListTable?.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))) ||\n null\n\n let description = undefined\n if (collectionConfig.admin && 'description' in collectionConfig.admin) {\n if (\n typeof collectionConfig.admin?.description === 'string' ||\n typeof collectionConfig.admin?.description === 'object'\n ) {\n description = collectionConfig.admin.description\n } else if (typeof collectionConfig.admin?.description === 'function') {\n description = collectionConfig.admin?.description({ t })\n }\n }\n\n const descriptionProps: ViewDescriptionProps = {\n description,\n }\n\n const DescriptionComponent =\n collectionConfig.admin?.components?.edit?.Description ||\n (description ? ViewDescription : undefined)\n\n const Description =\n DescriptionComponent !== undefined ? (\n <WithServerSideProps Component={DescriptionComponent} {...(descriptionProps || {})} />\n ) : undefined\n\n const componentMap: CollectionComponentMap = {\n AfterList,\n AfterListTable,\n BeforeList,\n BeforeListTable,\n Description,\n Edit: <Edit collectionSlug={collectionConfig.slug} />,\n List: <List collectionSlug={collectionConfig.slug} />,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload,\n actionsMap: mapActions({\n WithServerSideProps,\n collectionConfig,\n }),\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: fields,\n i18n,\n readOnly: readOnlyOverride,\n }),\n isPreviewEnabled: !!collectionConfig?.admin?.preview,\n }\n\n return {\n ...acc,\n [slug]: componentMap,\n }\n }, {})\n}\n"],"names":["isReactComponentOrFunction","React","ViewDescription","mapActions","mapFields","mapCollections","args","DefaultEditView","DefaultListView","WithServerSideProps","collections","config","i18n","t","readOnly","readOnlyOverride","reduce","acc","collectionConfig","slug","fields","internalCollections","includes","editViewFromConfig","admin","components","views","Edit","listViewFromConfig","List","CustomEditView","Default","Component","undefined","CustomListView","SaveButtonComponent","edit","SaveButton","SaveDraftButtonComponent","SaveDraftButton","PreviewButtonComponent","PreviewButton","PublishButtonComponent","PublishButton","UploadComponent","Upload","beforeList","BeforeList","Array","isArray","map","i","beforeListTable","BeforeListTable","afterList","AfterList","afterListTable","AfterListTable","description","descriptionProps","DescriptionComponent","Description","componentMap","collectionSlug","actionsMap","fieldMap","fieldSchema","isPreviewEnabled","preview"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAGV,KAAK,EAEL,aAAa,EAGb,eAAe,EAChB,MAAM,SAAS,CAAA;AA2BhB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAEV,QAAQ,EAIT,MAAM,YAAY,CAAA;AAkBnB,eAAO,MAAM,SAAS,SAAU;IAC9B,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG,QA8uBH,CAAA"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAGV,KAAK,EAEL,aAAa,EAGb,eAAe,EAChB,MAAM,SAAS,CAAA;AA2BhB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAEV,QAAQ,EAIT,MAAM,YAAY,CAAA;AAkBnB,eAAO,MAAM,SAAS,SAAU;IAC9B,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG,QA+uBH,CAAA"}
@@ -421,6 +421,7 @@ export const mapFields = (args)=>{
421
421
  name: field.name,
422
422
  className: field.admin?.className,
423
423
  disabled: field.admin?.disabled,
424
+ layout: field.admin?.layout,
424
425
  options: fieldOptions,
425
426
  readOnly: field.admin?.readOnly,
426
427
  required: field.required,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n CellComponentProps,\n CustomComponent,\n Field,\n FieldDescriptionProps,\n FieldWithPath,\n LabelProps,\n Option,\n SanitizedConfig,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/index.js'\nimport type { CodeFieldProps } from '../../../fields/Code/index.js'\nimport type { CollapsibleFieldProps } from '../../../fields/Collapsible/index.js'\nimport type { DateFieldProps } from '../../../fields/DateTime/index.js'\nimport type { EmailFieldProps } from '../../../fields/Email/index.js'\nimport type { GroupFieldProps } from '../../../fields/Group/index.js'\nimport type { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RadioFieldProps } from '../../../fields/RadioGroup/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/types.js'\nimport type { RichTextFieldProps } from '../../../fields/RichText/index.js'\nimport type { RowFieldProps } from '../../../fields/Row/types.js'\nimport type { SelectFieldProps } from '../../../fields/Select/index.js'\nimport type { TabsFieldProps } from '../../../fields/Tabs/index.js'\nimport type { TextFieldProps } from '../../../fields/Text/types.js'\nimport type { TextareaFieldProps } from '../../../fields/Textarea/types.js'\nimport type { UploadFieldProps } from '../../../fields/Upload/types.js'\nimport type { FormFieldBase } from '../../../fields/shared/index.js'\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type {\n FieldComponentProps,\n FieldMap,\n MappedField,\n MappedTab,\n ReducedBlock,\n} from './types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { FieldDescription } from '../../../exports/client/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { HiddenField } from '../../../exports/client/index.js'\n\nfunction generateFieldPath(parentPath, name) {\n let tabPath = parentPath || ''\n if (parentPath && name) {\n tabPath = `${parentPath}.${name}`\n } else if (!parentPath && name) {\n tabPath = name\n }\n\n return tabPath\n}\n\nexport const mapFields = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n config: SanitizedConfig\n /**\n * If mapFields is used outside of collections, you might not want it to add an id field\n */\n disableAddingID?: boolean\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n i18n: I18nClient\n parentPath?: string\n readOnly?: boolean\n}): FieldMap => {\n const {\n WithServerSideProps,\n config,\n disableAddingID,\n fieldSchema,\n filter,\n i18n,\n i18n: { t },\n parentPath,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let CustomFieldComponent: CustomComponent<FieldComponentProps> = field.admin?.components?.Field\n\n let CustomCellComponent = field.admin?.components?.Cell\n\n const isHidden = field?.admin && 'hidden' in field.admin && field.admin.hidden\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (isHidden) {\n if (CustomFieldComponent) {\n CustomFieldComponent = HiddenField\n }\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = generateFieldPath(\n parentPath,\n isFieldAffectingData && 'name' in field ? field.name : '',\n )\n\n const AfterInput =\n ('admin' in field &&\n 'components' in field.admin &&\n 'afterInput' in field.admin.components &&\n Array.isArray(field.admin?.components?.afterInput) && (\n <Fragment>\n {field.admin.components.afterInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const BeforeInput =\n ('admin' in field &&\n field.admin?.components &&\n 'beforeInput' in field.admin.components &&\n Array.isArray(field.admin.components.beforeInput) && (\n <Fragment>\n {field.admin.components.beforeInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n let label = undefined\n if ('label' in field) {\n if (typeof field.label === 'string' || typeof field.label === 'object') {\n label = field.label\n } else if (typeof field.label === 'function') {\n label = field.label({ t })\n }\n }\n\n const labelProps: LabelProps = {\n label,\n required: 'required' in field ? field.required : undefined,\n schemaPath: path,\n }\n\n const CustomLabelComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin.components?.Label) ||\n undefined\n\n // If we return undefined here (so if no CUSTOM label component is set), the field client component is responsible for falling back to the default label\n const CustomLabel =\n CustomLabelComponent !== undefined ? (\n <WithServerSideProps Component={CustomLabelComponent} {...(labelProps || {})} />\n ) : undefined\n\n let description = undefined\n if (field.admin && 'description' in field.admin) {\n if (\n typeof field.admin?.description === 'string' ||\n typeof field.admin?.description === 'object'\n ) {\n description = field.admin.description\n } else if (typeof field.admin?.description === 'function') {\n description = field.admin?.description({ t })\n }\n }\n\n const descriptionProps: FieldDescriptionProps = {\n description,\n }\n\n let CustomDescriptionComponent = undefined\n if (\n field.admin?.components &&\n 'Description' in field.admin.components &&\n field.admin.components?.Description\n ) {\n CustomDescriptionComponent = field.admin.components.Description\n } else if (description) {\n CustomDescriptionComponent = FieldDescription\n }\n\n const CustomDescription =\n CustomDescriptionComponent !== undefined ? (\n <WithServerSideProps\n Component={CustomDescriptionComponent}\n {...(descriptionProps || {})}\n />\n ) : undefined\n\n const errorProps = {\n path,\n }\n\n const CustomErrorComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error) ||\n undefined\n\n const CustomError =\n CustomErrorComponent !== undefined ? (\n <WithServerSideProps Component={CustomErrorComponent} {...(errorProps || {})} />\n ) : undefined\n\n // These fields are shared across all field types even if they are not used in the default field, as the custom field component can use them\n const baseFieldProps: FormFieldBase = {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n custom: 'admin' in field && 'custom' in field.admin ? field.admin?.custom : undefined,\n descriptionProps,\n disabled: 'admin' in field && 'disabled' in field.admin ? field.admin?.disabled : false,\n errorProps,\n label: labelProps?.label,\n path,\n required: 'required' in field ? field.required : undefined,\n }\n\n let fieldComponentProps: FieldComponentProps\n\n let fieldOptions: Option[]\n\n if ('options' in field) {\n fieldOptions = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n const cellComponentProps: CellComponentProps = {\n name: 'name' in field ? field.name : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label: labelProps?.label || undefined,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? fieldOptions : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n schemaPath: path,\n }\n\n switch (field.type) {\n case 'array': {\n let CustomRowLabel: React.ReactNode\n\n if (\n 'admin' in field &&\n field.admin.components &&\n 'RowLabel' in field.admin.components &&\n field.admin.components.RowLabel\n ) {\n const CustomRowLabelComponent = field.admin.components.RowLabel\n CustomRowLabel = (\n <WithServerSideProps Component={CustomRowLabelComponent} {...(labelProps || {})} />\n )\n }\n\n const arrayFieldProps: Omit<ArrayFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n CustomRowLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = arrayFieldProps\n break\n }\n case 'blocks': {\n const blocks = field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: block.fields,\n filter,\n i18n,\n parentPath: `${path}.${block.slug}`,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n custom: block.admin?.custom,\n fieldMap: blockFieldMap,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n }\n\n return reducedBlock\n })\n\n const blocksField: Omit<BlocksFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n blocks,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = blocksField\n\n cellComponentProps.blocks = field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n }))\n\n break\n }\n case 'checkbox': {\n const checkboxField: CheckboxFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = checkboxField\n break\n }\n case 'code': {\n const codeField: CodeFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n language: field.admin?.language,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = codeField\n break\n }\n case 'collapsible': {\n let CustomCollapsibleLabel: React.ReactNode\n if (\n field?.admin?.components &&\n 'RowLabel' in field.admin.components &&\n field?.admin?.components?.RowLabel\n ) {\n const CustomCollapsibleLabelComponent = field.admin.components.RowLabel\n CustomCollapsibleLabel = (\n <WithServerSideProps\n Component={CustomCollapsibleLabelComponent}\n {...(labelProps || {})}\n />\n )\n }\n\n const collapsibleField: Omit<CollapsibleFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n CustomLabel: CustomCollapsibleLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n initCollapsed: field.admin?.initCollapsed,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = collapsibleField as CollapsibleFieldProps // TODO: dunno why this is needed\n break\n }\n case 'date': {\n const dateField: DateFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n date: field.admin?.date,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = dateField\n cellComponentProps.dateDisplayFormat = field.admin?.date?.displayFormat\n break\n }\n case 'email': {\n const emailField: EmailFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = emailField\n break\n }\n case 'group': {\n const groupField: Omit<GroupFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n hideGutter: field.admin?.hideGutter,\n readOnly: field.admin?.readOnly,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = groupField\n break\n }\n case 'json': {\n const jsonField: JSONFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n jsonSchema: field.jsonSchema,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = jsonField\n break\n }\n case 'number': {\n const numberField: NumberFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n max: field.max,\n maxRows: field.maxRows,\n min: field.min,\n readOnly: field.admin?.readOnly,\n required: field.required,\n step: field.admin?.step,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = numberField\n break\n }\n case 'point': {\n const pointField: PointFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = pointField\n break\n }\n case 'relationship': {\n const relationshipField: RelationshipFieldProps = {\n ...baseFieldProps,\n name: field.name,\n allowCreate: field.admin.allowCreate,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isSortable: field.admin?.isSortable,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n sortOptions: field.admin.sortOptions,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = relationshipField\n break\n }\n case 'radio': {\n const radioField: RadioFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = radioField\n break\n }\n case 'richText': {\n const richTextField: RichTextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const RichTextFieldComponent = field.editor.FieldComponent\n const RichTextCellComponent = field.editor.CellComponent\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({\n WithServerSideProps,\n config,\n i18n,\n schemaPath: path,\n })\n richTextField.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n CustomFieldComponent = RichTextFieldComponent\n }\n\n if (RichTextCellComponent) {\n CustomCellComponent = RichTextCellComponent\n }\n\n fieldComponentProps = richTextField\n\n break\n }\n case 'row': {\n const rowField: Omit<RowFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = rowField\n break\n }\n case 'tabs': {\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs = field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: tab.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n fieldMap: tabFieldMap,\n label: tab.label,\n }\n\n return reducedTab\n })\n\n const tabsField: Omit<TabsFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: 'name' in field ? (field.name as string) : undefined,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n tabs,\n width: field.admin?.width,\n }\n\n fieldComponentProps = tabsField\n break\n }\n case 'text': {\n const textField: TextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textField\n break\n }\n case 'textarea': {\n const textareaField: TextareaFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n rows: field.admin?.rows,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textareaField\n break\n }\n case 'ui': {\n fieldComponentProps = baseFieldProps\n break\n }\n case 'upload': {\n const uploadField: UploadFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n filterOptions: field.filterOptions,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = uploadField\n break\n }\n case 'select': {\n const selectField: SelectFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isClearable: field.admin?.isClearable,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = selectField\n break\n }\n default: {\n break\n }\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : undefined,\n type: field.type,\n CustomCell: CustomCellComponent ? (\n <WithServerSideProps Component={CustomCellComponent} {...cellComponentProps} />\n ) : undefined,\n CustomField: CustomFieldComponent ? (\n <WithServerSideProps Component={CustomFieldComponent} {...fieldComponentProps} />\n ) : undefined,\n cellComponentProps,\n custom: field?.admin?.custom,\n disableBulkEdit:\n 'admin' in field && 'disableBulkEdit' in field.admin && field.admin.disableBulkEdit,\n disableListColumn:\n 'admin' in field && 'disableListColumn' in field.admin && field.admin.disableListColumn,\n disableListFilter:\n 'admin' in field && 'disableListFilter' in field.admin && field.admin.disableListFilter,\n fieldComponentProps,\n fieldIsPresentational,\n isFieldAffectingData,\n isHidden,\n isSidebar:\n 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar',\n localized: 'localized' in field ? field.localized : false,\n unique: 'unique' in field ? field.unique : false,\n }\n\n acc.push(reducedField)\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex((f) => 'name' in f && f.isFieldAffectingData && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n // TODO: For all fields (not just this one) we need to add the name to both .fieldComponentProps.name AND .name. This can probably be improved\n result.push({\n name: 'id',\n type: 'text',\n CustomField: null,\n cellComponentProps: {\n name: 'id',\n schemaPath: 'id',\n },\n disableBulkEdit: true,\n fieldComponentProps: {\n name: 'id',\n label: 'ID',\n },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n isHidden: true,\n localized: undefined,\n })\n }\n\n return result\n}\n"],"names":["MissingEditorProp","fieldAffectsData","fieldIsPresentationalOnly","React","Fragment","FieldDescription","HiddenField","generateFieldPath","parentPath","name","tabPath","mapFields","args","WithServerSideProps","config","disableAddingID","fieldSchema","filter","i18n","t","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","CustomFieldComponent","admin","components","Field","CustomCellComponent","Cell","isHidden","hidden","disabled","isFieldAffectingData","path","AfterInput","Array","isArray","afterInput","map","Component","i","BeforeInput","beforeInput","label","undefined","labelProps","required","schemaPath","CustomLabelComponent","Label","CustomLabel","description","descriptionProps","CustomDescriptionComponent","Description","CustomDescription","errorProps","CustomErrorComponent","Error","CustomError","baseFieldProps","custom","fieldComponentProps","fieldOptions","options","option","value","cellComponentProps","fieldType","type","labels","relationTo","CustomRowLabel","RowLabel","CustomRowLabelComponent","arrayFieldProps","className","fieldMap","fields","isSortable","maxRows","minRows","style","width","blocks","block","blockFieldMap","slug","reducedBlock","imageAltText","imageURL","blocksField","b","checkboxField","codeField","editorOptions","language","CustomCollapsibleLabel","CustomCollapsibleLabelComponent","collapsibleField","initCollapsed","dateField","date","placeholder","dateDisplayFormat","displayFormat","emailField","groupField","hideGutter","jsonField","jsonSchema","numberField","hasMany","max","min","step","pointField","relationshipField","allowCreate","sortOptions","radioField","richTextField","editor","RichTextFieldComponent","FieldComponent","RichTextCellComponent","CellComponent","generateComponentMap","richTextComponentMap","rowField","tabs","tab","tabFieldMap","reducedTab","tabsField","textField","maxLength","minLength","textareaField","rows","uploadField","filterOptions","selectField","isClearable","reducedField","CustomCell","CustomField","disableBulkEdit","disableListColumn","disableListFilter","isSidebar","position","localized","unique","push","hasID","findIndex","f"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n CellComponentProps,\n CustomComponent,\n Field,\n FieldDescriptionProps,\n FieldWithPath,\n LabelProps,\n Option,\n SanitizedConfig,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/index.js'\nimport type { CodeFieldProps } from '../../../fields/Code/index.js'\nimport type { CollapsibleFieldProps } from '../../../fields/Collapsible/index.js'\nimport type { DateFieldProps } from '../../../fields/DateTime/index.js'\nimport type { EmailFieldProps } from '../../../fields/Email/index.js'\nimport type { GroupFieldProps } from '../../../fields/Group/index.js'\nimport type { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RadioFieldProps } from '../../../fields/RadioGroup/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/types.js'\nimport type { RichTextFieldProps } from '../../../fields/RichText/index.js'\nimport type { RowFieldProps } from '../../../fields/Row/types.js'\nimport type { SelectFieldProps } from '../../../fields/Select/index.js'\nimport type { TabsFieldProps } from '../../../fields/Tabs/index.js'\nimport type { TextFieldProps } from '../../../fields/Text/types.js'\nimport type { TextareaFieldProps } from '../../../fields/Textarea/types.js'\nimport type { UploadFieldProps } from '../../../fields/Upload/types.js'\nimport type { FormFieldBase } from '../../../fields/shared/index.js'\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type {\n FieldComponentProps,\n FieldMap,\n MappedField,\n MappedTab,\n ReducedBlock,\n} from './types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { FieldDescription } from '../../../exports/client/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { HiddenField } from '../../../exports/client/index.js'\n\nfunction generateFieldPath(parentPath, name) {\n let tabPath = parentPath || ''\n if (parentPath && name) {\n tabPath = `${parentPath}.${name}`\n } else if (!parentPath && name) {\n tabPath = name\n }\n\n return tabPath\n}\n\nexport const mapFields = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n config: SanitizedConfig\n /**\n * If mapFields is used outside of collections, you might not want it to add an id field\n */\n disableAddingID?: boolean\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n i18n: I18nClient\n parentPath?: string\n readOnly?: boolean\n}): FieldMap => {\n const {\n WithServerSideProps,\n config,\n disableAddingID,\n fieldSchema,\n filter,\n i18n,\n i18n: { t },\n parentPath,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let CustomFieldComponent: CustomComponent<FieldComponentProps> = field.admin?.components?.Field\n\n let CustomCellComponent = field.admin?.components?.Cell\n\n const isHidden = field?.admin && 'hidden' in field.admin && field.admin.hidden\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (isHidden) {\n if (CustomFieldComponent) {\n CustomFieldComponent = HiddenField\n }\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = generateFieldPath(\n parentPath,\n isFieldAffectingData && 'name' in field ? field.name : '',\n )\n\n const AfterInput =\n ('admin' in field &&\n 'components' in field.admin &&\n 'afterInput' in field.admin.components &&\n Array.isArray(field.admin?.components?.afterInput) && (\n <Fragment>\n {field.admin.components.afterInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const BeforeInput =\n ('admin' in field &&\n field.admin?.components &&\n 'beforeInput' in field.admin.components &&\n Array.isArray(field.admin.components.beforeInput) && (\n <Fragment>\n {field.admin.components.beforeInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n let label = undefined\n if ('label' in field) {\n if (typeof field.label === 'string' || typeof field.label === 'object') {\n label = field.label\n } else if (typeof field.label === 'function') {\n label = field.label({ t })\n }\n }\n\n const labelProps: LabelProps = {\n label,\n required: 'required' in field ? field.required : undefined,\n schemaPath: path,\n }\n\n const CustomLabelComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin.components?.Label) ||\n undefined\n\n // If we return undefined here (so if no CUSTOM label component is set), the field client component is responsible for falling back to the default label\n const CustomLabel =\n CustomLabelComponent !== undefined ? (\n <WithServerSideProps Component={CustomLabelComponent} {...(labelProps || {})} />\n ) : undefined\n\n let description = undefined\n if (field.admin && 'description' in field.admin) {\n if (\n typeof field.admin?.description === 'string' ||\n typeof field.admin?.description === 'object'\n ) {\n description = field.admin.description\n } else if (typeof field.admin?.description === 'function') {\n description = field.admin?.description({ t })\n }\n }\n\n const descriptionProps: FieldDescriptionProps = {\n description,\n }\n\n let CustomDescriptionComponent = undefined\n if (\n field.admin?.components &&\n 'Description' in field.admin.components &&\n field.admin.components?.Description\n ) {\n CustomDescriptionComponent = field.admin.components.Description\n } else if (description) {\n CustomDescriptionComponent = FieldDescription\n }\n\n const CustomDescription =\n CustomDescriptionComponent !== undefined ? (\n <WithServerSideProps\n Component={CustomDescriptionComponent}\n {...(descriptionProps || {})}\n />\n ) : undefined\n\n const errorProps = {\n path,\n }\n\n const CustomErrorComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error) ||\n undefined\n\n const CustomError =\n CustomErrorComponent !== undefined ? (\n <WithServerSideProps Component={CustomErrorComponent} {...(errorProps || {})} />\n ) : undefined\n\n // These fields are shared across all field types even if they are not used in the default field, as the custom field component can use them\n const baseFieldProps: FormFieldBase = {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n custom: 'admin' in field && 'custom' in field.admin ? field.admin?.custom : undefined,\n descriptionProps,\n disabled: 'admin' in field && 'disabled' in field.admin ? field.admin?.disabled : false,\n errorProps,\n label: labelProps?.label,\n path,\n required: 'required' in field ? field.required : undefined,\n }\n\n let fieldComponentProps: FieldComponentProps\n\n let fieldOptions: Option[]\n\n if ('options' in field) {\n fieldOptions = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n const cellComponentProps: CellComponentProps = {\n name: 'name' in field ? field.name : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label: labelProps?.label || undefined,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? fieldOptions : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n schemaPath: path,\n }\n\n switch (field.type) {\n case 'array': {\n let CustomRowLabel: React.ReactNode\n\n if (\n 'admin' in field &&\n field.admin.components &&\n 'RowLabel' in field.admin.components &&\n field.admin.components.RowLabel\n ) {\n const CustomRowLabelComponent = field.admin.components.RowLabel\n CustomRowLabel = (\n <WithServerSideProps Component={CustomRowLabelComponent} {...(labelProps || {})} />\n )\n }\n\n const arrayFieldProps: Omit<ArrayFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n CustomRowLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = arrayFieldProps\n break\n }\n case 'blocks': {\n const blocks = field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: block.fields,\n filter,\n i18n,\n parentPath: `${path}.${block.slug}`,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n custom: block.admin?.custom,\n fieldMap: blockFieldMap,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n }\n\n return reducedBlock\n })\n\n const blocksField: Omit<BlocksFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n blocks,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = blocksField\n\n cellComponentProps.blocks = field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n }))\n\n break\n }\n case 'checkbox': {\n const checkboxField: CheckboxFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = checkboxField\n break\n }\n case 'code': {\n const codeField: CodeFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n language: field.admin?.language,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = codeField\n break\n }\n case 'collapsible': {\n let CustomCollapsibleLabel: React.ReactNode\n if (\n field?.admin?.components &&\n 'RowLabel' in field.admin.components &&\n field?.admin?.components?.RowLabel\n ) {\n const CustomCollapsibleLabelComponent = field.admin.components.RowLabel\n CustomCollapsibleLabel = (\n <WithServerSideProps\n Component={CustomCollapsibleLabelComponent}\n {...(labelProps || {})}\n />\n )\n }\n\n const collapsibleField: Omit<CollapsibleFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n CustomLabel: CustomCollapsibleLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n initCollapsed: field.admin?.initCollapsed,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = collapsibleField as CollapsibleFieldProps // TODO: dunno why this is needed\n break\n }\n case 'date': {\n const dateField: DateFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n date: field.admin?.date,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = dateField\n cellComponentProps.dateDisplayFormat = field.admin?.date?.displayFormat\n break\n }\n case 'email': {\n const emailField: EmailFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = emailField\n break\n }\n case 'group': {\n const groupField: Omit<GroupFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n hideGutter: field.admin?.hideGutter,\n readOnly: field.admin?.readOnly,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = groupField\n break\n }\n case 'json': {\n const jsonField: JSONFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n jsonSchema: field.jsonSchema,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = jsonField\n break\n }\n case 'number': {\n const numberField: NumberFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n max: field.max,\n maxRows: field.maxRows,\n min: field.min,\n readOnly: field.admin?.readOnly,\n required: field.required,\n step: field.admin?.step,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = numberField\n break\n }\n case 'point': {\n const pointField: PointFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = pointField\n break\n }\n case 'relationship': {\n const relationshipField: RelationshipFieldProps = {\n ...baseFieldProps,\n name: field.name,\n allowCreate: field.admin.allowCreate,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isSortable: field.admin?.isSortable,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n sortOptions: field.admin.sortOptions,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = relationshipField\n break\n }\n case 'radio': {\n const radioField: RadioFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n layout: field.admin?.layout,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = radioField\n break\n }\n case 'richText': {\n const richTextField: RichTextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const RichTextFieldComponent = field.editor.FieldComponent\n const RichTextCellComponent = field.editor.CellComponent\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({\n WithServerSideProps,\n config,\n i18n,\n schemaPath: path,\n })\n richTextField.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n CustomFieldComponent = RichTextFieldComponent\n }\n\n if (RichTextCellComponent) {\n CustomCellComponent = RichTextCellComponent\n }\n\n fieldComponentProps = richTextField\n\n break\n }\n case 'row': {\n const rowField: Omit<RowFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = rowField\n break\n }\n case 'tabs': {\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs = field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: tab.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n fieldMap: tabFieldMap,\n label: tab.label,\n }\n\n return reducedTab\n })\n\n const tabsField: Omit<TabsFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: 'name' in field ? (field.name as string) : undefined,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n tabs,\n width: field.admin?.width,\n }\n\n fieldComponentProps = tabsField\n break\n }\n case 'text': {\n const textField: TextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textField\n break\n }\n case 'textarea': {\n const textareaField: TextareaFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n rows: field.admin?.rows,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textareaField\n break\n }\n case 'ui': {\n fieldComponentProps = baseFieldProps\n break\n }\n case 'upload': {\n const uploadField: UploadFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n filterOptions: field.filterOptions,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = uploadField\n break\n }\n case 'select': {\n const selectField: SelectFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isClearable: field.admin?.isClearable,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = selectField\n break\n }\n default: {\n break\n }\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : undefined,\n type: field.type,\n CustomCell: CustomCellComponent ? (\n <WithServerSideProps Component={CustomCellComponent} {...cellComponentProps} />\n ) : undefined,\n CustomField: CustomFieldComponent ? (\n <WithServerSideProps Component={CustomFieldComponent} {...fieldComponentProps} />\n ) : undefined,\n cellComponentProps,\n custom: field?.admin?.custom,\n disableBulkEdit:\n 'admin' in field && 'disableBulkEdit' in field.admin && field.admin.disableBulkEdit,\n disableListColumn:\n 'admin' in field && 'disableListColumn' in field.admin && field.admin.disableListColumn,\n disableListFilter:\n 'admin' in field && 'disableListFilter' in field.admin && field.admin.disableListFilter,\n fieldComponentProps,\n fieldIsPresentational,\n isFieldAffectingData,\n isHidden,\n isSidebar:\n 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar',\n localized: 'localized' in field ? field.localized : false,\n unique: 'unique' in field ? field.unique : false,\n }\n\n acc.push(reducedField)\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex((f) => 'name' in f && f.isFieldAffectingData && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n // TODO: For all fields (not just this one) we need to add the name to both .fieldComponentProps.name AND .name. This can probably be improved\n result.push({\n name: 'id',\n type: 'text',\n CustomField: null,\n cellComponentProps: {\n name: 'id',\n schemaPath: 'id',\n },\n disableBulkEdit: true,\n fieldComponentProps: {\n name: 'id',\n label: 'ID',\n },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n isHidden: true,\n localized: undefined,\n })\n }\n\n return result\n}\n"],"names":["MissingEditorProp","fieldAffectsData","fieldIsPresentationalOnly","React","Fragment","FieldDescription","HiddenField","generateFieldPath","parentPath","name","tabPath","mapFields","args","WithServerSideProps","config","disableAddingID","fieldSchema","filter","i18n","t","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","CustomFieldComponent","admin","components","Field","CustomCellComponent","Cell","isHidden","hidden","disabled","isFieldAffectingData","path","AfterInput","Array","isArray","afterInput","map","Component","i","BeforeInput","beforeInput","label","undefined","labelProps","required","schemaPath","CustomLabelComponent","Label","CustomLabel","description","descriptionProps","CustomDescriptionComponent","Description","CustomDescription","errorProps","CustomErrorComponent","Error","CustomError","baseFieldProps","custom","fieldComponentProps","fieldOptions","options","option","value","cellComponentProps","fieldType","type","labels","relationTo","CustomRowLabel","RowLabel","CustomRowLabelComponent","arrayFieldProps","className","fieldMap","fields","isSortable","maxRows","minRows","style","width","blocks","block","blockFieldMap","slug","reducedBlock","imageAltText","imageURL","blocksField","b","checkboxField","codeField","editorOptions","language","CustomCollapsibleLabel","CustomCollapsibleLabelComponent","collapsibleField","initCollapsed","dateField","date","placeholder","dateDisplayFormat","displayFormat","emailField","groupField","hideGutter","jsonField","jsonSchema","numberField","hasMany","max","min","step","pointField","relationshipField","allowCreate","sortOptions","radioField","layout","richTextField","editor","RichTextFieldComponent","FieldComponent","RichTextCellComponent","CellComponent","generateComponentMap","richTextComponentMap","rowField","tabs","tab","tabFieldMap","reducedTab","tabsField","textField","maxLength","minLength","textareaField","rows","uploadField","filterOptions","selectField","isClearable","reducedField","CustomCell","CustomField","disableBulkEdit","disableListColumn","disableListFilter","isSidebar","position","localized","unique","push","hasID","findIndex","f"],"mappings":"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"}
@@ -61,9 +61,9 @@ export const buildComponentMap = (args)=>{
61
61
  componentMap: {
62
62
  Icon,
63
63
  LogoutButton,
64
- actions: config.admin?.components?.actions?.map((Component)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
64
+ actions: config.admin?.components?.actions?.map((Component, i)=>/*#__PURE__*/ _jsx(WithServerSideProps, {
65
65
  Component: Component
66
- })),
66
+ }, i)),
67
67
  collections,
68
68
  globals
69
69
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/index.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n EditViewProps,\n Payload,\n ServerProps,\n WithServerSidePropsComponentProps,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ComponentMap } from './types.js'\n\nimport { WithServerSideProps as WithServerSidePropsGeneric } from '../../../elements/WithServerSideProps/index.js'\nimport { mapCollections } from './collections.js'\nimport { mapGlobals } from './globals.js'\n\nexport type WithServerSidePropsPrePopulated = React.FC<\n Omit<WithServerSidePropsComponentProps, 'serverOnlyProps'>\n>\n\nexport const buildComponentMap = (args: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n children: React.ReactNode\n i18n: ServerProps['i18n']\n payload: Payload\n readOnly?: boolean\n}): {\n componentMap: ComponentMap\n wrappedChildren: React.ReactNode\n} => {\n const { DefaultEditView, DefaultListView, children, i18n, payload, readOnly } = args\n const config = payload.config\n\n const WithServerSideProps: WithServerSidePropsPrePopulated = ({ Component, ...rest }) => {\n return (\n <WithServerSidePropsGeneric\n Component={Component}\n serverOnlyProps={{\n i18n,\n payload,\n }}\n {...rest}\n />\n )\n }\n\n const collections = mapCollections({\n DefaultEditView,\n DefaultListView,\n WithServerSideProps,\n collections: config.collections,\n config,\n i18n,\n readOnly,\n })\n\n const globals = mapGlobals({\n args: {\n DefaultEditView,\n WithServerSideProps,\n config,\n globals: config.globals,\n i18n,\n readOnly,\n },\n })\n\n const NestProviders = ({ children, providers }) => {\n const Component = providers[0]\n if (providers.length > 1) {\n return (\n <Component>\n <NestProviders providers={providers.slice(1)}>{children}</NestProviders>\n </Component>\n )\n }\n return <Component>{children}</Component>\n }\n\n const LogoutButtonComponent = config.admin?.components?.logout?.Button\n\n const LogoutButton = LogoutButtonComponent ? (\n <WithServerSideProps Component={LogoutButtonComponent} />\n ) : null\n\n const IconComponent = config.admin?.components?.graphics?.Icon\n\n const Icon = IconComponent ? <WithServerSideProps Component={IconComponent} /> : null\n\n return {\n componentMap: {\n Icon,\n LogoutButton,\n actions: config.admin?.components?.actions?.map((Component) => (\n <WithServerSideProps Component={Component} />\n )),\n collections,\n globals,\n },\n wrappedChildren:\n Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders providers={config.admin?.components?.providers}>{children}</NestProviders>\n ) : (\n children\n ),\n }\n}\n"],"names":["React","WithServerSideProps","WithServerSidePropsGeneric","mapCollections","mapGlobals","buildComponentMap","args","DefaultEditView","DefaultListView","children","i18n","payload","readOnly","config","Component","rest","serverOnlyProps","collections","globals","NestProviders","providers","length","slice","LogoutButtonComponent","admin","components","logout","Button","LogoutButton","IconComponent","graphics","Icon","componentMap","actions","map","wrappedChildren","Array","isArray"],"mappings":";AAQA,OAAOA,WAAW,QAAO;AAIzB,SAASC,uBAAuBC,0BAA0B,QAAQ,iDAAgD;AAClH,SAASC,cAAc,QAAQ,mBAAkB;AACjD,SAASC,UAAU,QAAQ,eAAc;AAMzC,OAAO,MAAMC,oBAAoB,CAACC;IAWhC,MAAM,EAAEC,eAAe,EAAEC,eAAe,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGN;IAChF,MAAMO,SAASF,QAAQE,MAAM;IAE7B,MAAMZ,sBAAuD,CAAC,EAAEa,SAAS,EAAE,GAAGC,MAAM;QAClF,qBACE,KAACb;YACCY,WAAWA;YACXE,iBAAiB;gBACfN;gBACAC;YACF;YACC,GAAGI,IAAI;;IAGd;IAEA,MAAME,cAAcd,eAAe;QACjCI;QACAC;QACAP;QACAgB,aAAaJ,OAAOI,WAAW;QAC/BJ;QACAH;QACAE;IACF;IAEA,MAAMM,UAAUd,WAAW;QACzBE,MAAM;YACJC;YACAN;YACAY;YACAK,SAASL,OAAOK,OAAO;YACvBR;YACAE;QACF;IACF;IAEA,MAAMO,gBAAgB,CAAC,EAAEV,QAAQ,EAAEW,SAAS,EAAE;QAC5C,MAAMN,YAAYM,SAAS,CAAC,EAAE;QAC9B,IAAIA,UAAUC,MAAM,GAAG,GAAG;YACxB,qBACE,KAACP;0BACC,cAAA,KAACK;oBAAcC,WAAWA,UAAUE,KAAK,CAAC;8BAAKb;;;QAGrD;QACA,qBAAO,KAACK;sBAAWL;;IACrB;IAEA,MAAMc,wBAAwBV,OAAOW,KAAK,EAAEC,YAAYC,QAAQC;IAEhE,MAAMC,eAAeL,sCACnB,KAACtB;QAAoBa,WAAWS;SAC9B;IAEJ,MAAMM,gBAAgBhB,OAAOW,KAAK,EAAEC,YAAYK,UAAUC;IAE1D,MAAMA,OAAOF,8BAAgB,KAAC5B;QAAoBa,WAAWe;SAAoB;IAEjF,OAAO;QACLG,cAAc;YACZD;YACAH;YACAK,SAASpB,OAAOW,KAAK,EAAEC,YAAYQ,SAASC,IAAI,CAACpB,0BAC/C,KAACb;oBAAoBa,WAAWA;;YAElCG;YACAC;QACF;QACAiB,iBACEC,MAAMC,OAAO,CAACxB,OAAOW,KAAK,EAAEC,YAAYL,cACxCP,OAAOW,KAAK,EAAEC,YAAYL,UAAUC,SAAS,kBAC3C,KAACF;YAAcC,WAAWP,OAAOW,KAAK,EAAEC,YAAYL;sBAAYX;aAEhEA;IAEN;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/index.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n EditViewProps,\n Payload,\n ServerProps,\n WithServerSidePropsComponentProps,\n} from 'payload'\n\nimport React from 'react'\n\nimport type { ComponentMap } from './types.js'\n\nimport { WithServerSideProps as WithServerSidePropsGeneric } from '../../../elements/WithServerSideProps/index.js'\nimport { mapCollections } from './collections.js'\nimport { mapGlobals } from './globals.js'\n\nexport type WithServerSidePropsPrePopulated = React.FC<\n Omit<WithServerSidePropsComponentProps, 'serverOnlyProps'>\n>\n\nexport const buildComponentMap = (args: {\n DefaultEditView: React.FC<EditViewProps>\n DefaultListView: React.FC<AdminViewProps>\n children: React.ReactNode\n i18n: ServerProps['i18n']\n payload: Payload\n readOnly?: boolean\n}): {\n componentMap: ComponentMap\n wrappedChildren: React.ReactNode\n} => {\n const { DefaultEditView, DefaultListView, children, i18n, payload, readOnly } = args\n const config = payload.config\n\n const WithServerSideProps: WithServerSidePropsPrePopulated = ({ Component, ...rest }) => {\n return (\n <WithServerSidePropsGeneric\n Component={Component}\n serverOnlyProps={{\n i18n,\n payload,\n }}\n {...rest}\n />\n )\n }\n\n const collections = mapCollections({\n DefaultEditView,\n DefaultListView,\n WithServerSideProps,\n collections: config.collections,\n config,\n i18n,\n readOnly,\n })\n\n const globals = mapGlobals({\n args: {\n DefaultEditView,\n WithServerSideProps,\n config,\n globals: config.globals,\n i18n,\n readOnly,\n },\n })\n\n const NestProviders = ({ children, providers }) => {\n const Component = providers[0]\n if (providers.length > 1) {\n return (\n <Component>\n <NestProviders providers={providers.slice(1)}>{children}</NestProviders>\n </Component>\n )\n }\n return <Component>{children}</Component>\n }\n\n const LogoutButtonComponent = config.admin?.components?.logout?.Button\n\n const LogoutButton = LogoutButtonComponent ? (\n <WithServerSideProps Component={LogoutButtonComponent} />\n ) : null\n\n const IconComponent = config.admin?.components?.graphics?.Icon\n\n const Icon = IconComponent ? <WithServerSideProps Component={IconComponent} /> : null\n\n return {\n componentMap: {\n Icon,\n LogoutButton,\n actions: config.admin?.components?.actions?.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n )),\n collections,\n globals,\n },\n wrappedChildren:\n Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders providers={config.admin?.components?.providers}>{children}</NestProviders>\n ) : (\n children\n ),\n }\n}\n"],"names":["React","WithServerSideProps","WithServerSidePropsGeneric","mapCollections","mapGlobals","buildComponentMap","args","DefaultEditView","DefaultListView","children","i18n","payload","readOnly","config","Component","rest","serverOnlyProps","collections","globals","NestProviders","providers","length","slice","LogoutButtonComponent","admin","components","logout","Button","LogoutButton","IconComponent","graphics","Icon","componentMap","actions","map","i","wrappedChildren","Array","isArray"],"mappings":";AAQA,OAAOA,WAAW,QAAO;AAIzB,SAASC,uBAAuBC,0BAA0B,QAAQ,iDAAgD;AAClH,SAASC,cAAc,QAAQ,mBAAkB;AACjD,SAASC,UAAU,QAAQ,eAAc;AAMzC,OAAO,MAAMC,oBAAoB,CAACC;IAWhC,MAAM,EAAEC,eAAe,EAAEC,eAAe,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGN;IAChF,MAAMO,SAASF,QAAQE,MAAM;IAE7B,MAAMZ,sBAAuD,CAAC,EAAEa,SAAS,EAAE,GAAGC,MAAM;QAClF,qBACE,KAACb;YACCY,WAAWA;YACXE,iBAAiB;gBACfN;gBACAC;YACF;YACC,GAAGI,IAAI;;IAGd;IAEA,MAAME,cAAcd,eAAe;QACjCI;QACAC;QACAP;QACAgB,aAAaJ,OAAOI,WAAW;QAC/BJ;QACAH;QACAE;IACF;IAEA,MAAMM,UAAUd,WAAW;QACzBE,MAAM;YACJC;YACAN;YACAY;YACAK,SAASL,OAAOK,OAAO;YACvBR;YACAE;QACF;IACF;IAEA,MAAMO,gBAAgB,CAAC,EAAEV,QAAQ,EAAEW,SAAS,EAAE;QAC5C,MAAMN,YAAYM,SAAS,CAAC,EAAE;QAC9B,IAAIA,UAAUC,MAAM,GAAG,GAAG;YACxB,qBACE,KAACP;0BACC,cAAA,KAACK;oBAAcC,WAAWA,UAAUE,KAAK,CAAC;8BAAKb;;;QAGrD;QACA,qBAAO,KAACK;sBAAWL;;IACrB;IAEA,MAAMc,wBAAwBV,OAAOW,KAAK,EAAEC,YAAYC,QAAQC;IAEhE,MAAMC,eAAeL,sCACnB,KAACtB;QAAoBa,WAAWS;SAC9B;IAEJ,MAAMM,gBAAgBhB,OAAOW,KAAK,EAAEC,YAAYK,UAAUC;IAE1D,MAAMA,OAAOF,8BAAgB,KAAC5B;QAAoBa,WAAWe;SAAoB;IAEjF,OAAO;QACLG,cAAc;YACZD;YACAH;YACAK,SAASpB,OAAOW,KAAK,EAAEC,YAAYQ,SAASC,IAAI,CAACpB,WAAWqB,kBAC1D,KAAClC;oBAAoBa,WAAWA;mBAAgBqB;YAElDlB;YACAC;QACF;QACAkB,iBACEC,MAAMC,OAAO,CAACzB,OAAOW,KAAK,EAAEC,YAAYL,cACxCP,OAAOW,KAAK,EAAEC,YAAYL,UAAUC,SAAS,kBAC3C,KAACF;YAAcC,WAAWP,OAAOW,KAAK,EAAEC,YAAYL;sBAAYX;aAEhEA;IAEN;AACF,EAAC"}
@@ -59,13 +59,13 @@ export type ActionMap = {
59
59
  };
60
60
  List: React.ReactNode[];
61
61
  };
62
- export type CollectionComponentMap = ConfigComponentMapBase & {
62
+ export type CollectionComponentMap = {
63
63
  AfterList: React.ReactNode;
64
64
  AfterListTable: React.ReactNode;
65
65
  BeforeList: React.ReactNode;
66
66
  BeforeListTable: React.ReactNode;
67
67
  List: React.ReactNode;
68
- };
68
+ } & ConfigComponentMapBase;
69
69
  export type GlobalComponentMap = ConfigComponentMapBase;
70
70
  export type ConfigComponentMapBase = {
71
71
  Description: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAEvE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,qBAAqB,GACrB,cAAc,GACd,eAAe,GACf,eAAe,GACf,qBAAqB,GACrB,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,sBAAsB,GACtB,kBAAkB,GAClB,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,gBAAgB,CAAA;AAEpB,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,oBAAoB,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,UAAU,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;AAEpC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE;QACJ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;KAClC,CAAA;IACD,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,eAAe,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,GAAG,sBAAsB,CAAA;AAE1B,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AAEvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,aAAa,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,eAAe,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,UAAU,EAAE,SAAS,CAAA;IACrB,QAAQ,EAAE,QAAQ,CAAA;IAClB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1B,WAAW,EAAE;QACX,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAA;KAClE,CAAA;IACD,OAAO,EAAE;QACP,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAA;KAC1D,CAAA;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/types.ts"],"sourcesContent":["import type {\n BlockField,\n CellComponentProps,\n FieldTypes,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TabsField,\n} from 'payload'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/types.js'\nimport type { CodeFieldProps } from '../../../fields/Code/index.js'\nimport type { CollapsibleFieldProps } from '../../../fields/Collapsible/index.js'\nimport type { DateFieldProps } from '../../../fields/DateTime/index.js'\nimport type { EmailFieldProps } from '../../../fields/Email/index.js'\nimport type { GroupFieldProps } from '../../../fields/Group/index.js'\nimport type { HiddenInputFieldProps } from '../../../fields/Hidden/index.js'\nimport type { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/index.js'\nimport type { RichTextFieldProps } from '../../../fields/RichText/index.js'\nimport type { RowFieldProps } from '../../../fields/Row/types.js'\nimport type { SelectFieldProps } from '../../../fields/Select/index.js'\nimport type { TabsFieldProps } from '../../../fields/Tabs/index.js'\nimport type { TextFieldProps } from '../../../fields/Text/types.js'\nimport type { TextareaFieldProps } from '../../../fields/Textarea/types.js'\nimport type { UploadFieldProps } from '../../../fields/Upload/types.js'\n\nexport type MappedTab = {\n fieldMap?: FieldMap\n label: TabsField['tabs'][0]['label']\n name?: string\n}\n\nexport type ReducedBlock = {\n custom?: Record<any, string>\n fieldMap: FieldMap\n imageAltText?: string\n imageURL?: string\n labels: BlockField['labels']\n slug: string\n}\n\nexport type FieldComponentProps =\n | ArrayFieldProps\n | BlocksFieldProps\n | CheckboxFieldProps\n | CodeFieldProps\n | CollapsibleFieldProps\n | DateFieldProps\n | EmailFieldProps\n | GroupFieldProps\n | HiddenInputFieldProps\n | JSONFieldProps\n | NumberFieldProps\n | PointFieldProps\n | RelationshipFieldProps\n | RichTextFieldProps\n | RowFieldProps\n | SelectFieldProps\n | TabsFieldProps\n | TextFieldProps\n | TextareaFieldProps\n | UploadFieldProps\n\nexport type MappedField = {\n CustomCell?: React.ReactNode\n CustomField?: React.ReactNode\n cellComponentProps: CellComponentProps\n custom?: Record<any, string>\n disableBulkEdit?: boolean\n disableListColumn?: boolean\n disableListFilter?: boolean\n disabled?: boolean\n fieldComponentProps: FieldComponentProps\n fieldIsPresentational: boolean\n isFieldAffectingData: boolean\n isHidden?: boolean\n isSidebar?: boolean\n localized: boolean\n name?: string\n type: keyof FieldTypes\n unique?: boolean\n}\n\nexport type FieldMap = MappedField[]\n\nexport type ActionMap = {\n Edit: {\n [view: string]: React.ReactNode[]\n }\n List: React.ReactNode[]\n}\n\nexport type CollectionComponentMap = ConfigComponentMapBase & {\n AfterList: React.ReactNode\n AfterListTable: React.ReactNode\n BeforeList: React.ReactNode\n BeforeListTable: React.ReactNode\n List: React.ReactNode\n}\n\nexport type GlobalComponentMap = ConfigComponentMapBase\n\nexport type ConfigComponentMapBase = {\n Description: React.ReactNode\n Edit: React.ReactNode\n PreviewButton: React.ReactNode\n PublishButton: React.ReactNode\n SaveButton: React.ReactNode\n SaveDraftButton: React.ReactNode\n Upload: React.ReactNode\n actionsMap: ActionMap\n fieldMap: FieldMap\n isPreviewEnabled: boolean\n}\n\nexport type ComponentMap = {\n Icon: React.ReactNode\n LogoutButton: React.ReactNode\n actions: React.ReactNode[]\n collections: {\n [slug: SanitizedCollectionConfig['slug']]: CollectionComponentMap\n }\n globals: {\n [slug: SanitizedGlobalConfig['slug']]: GlobalComponentMap\n }\n}\n"],"names":[],"mappings":"AAuHA,WAUC"}
1
+ {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/types.ts"],"sourcesContent":["import type {\n BlockField,\n CellComponentProps,\n FieldTypes,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TabsField,\n} from 'payload'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/types.js'\nimport type { CodeFieldProps } from '../../../fields/Code/index.js'\nimport type { CollapsibleFieldProps } from '../../../fields/Collapsible/index.js'\nimport type { DateFieldProps } from '../../../fields/DateTime/index.js'\nimport type { EmailFieldProps } from '../../../fields/Email/index.js'\nimport type { GroupFieldProps } from '../../../fields/Group/index.js'\nimport type { HiddenInputFieldProps } from '../../../fields/Hidden/index.js'\nimport type { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/index.js'\nimport type { RichTextFieldProps } from '../../../fields/RichText/index.js'\nimport type { RowFieldProps } from '../../../fields/Row/types.js'\nimport type { SelectFieldProps } from '../../../fields/Select/index.js'\nimport type { TabsFieldProps } from '../../../fields/Tabs/index.js'\nimport type { TextFieldProps } from '../../../fields/Text/types.js'\nimport type { TextareaFieldProps } from '../../../fields/Textarea/types.js'\nimport type { UploadFieldProps } from '../../../fields/Upload/types.js'\n\nexport type MappedTab = {\n fieldMap?: FieldMap\n label: TabsField['tabs'][0]['label']\n name?: string\n}\n\nexport type ReducedBlock = {\n custom?: Record<any, string>\n fieldMap: FieldMap\n imageAltText?: string\n imageURL?: string\n labels: BlockField['labels']\n slug: string\n}\n\nexport type FieldComponentProps =\n | ArrayFieldProps\n | BlocksFieldProps\n | CheckboxFieldProps\n | CodeFieldProps\n | CollapsibleFieldProps\n | DateFieldProps\n | EmailFieldProps\n | GroupFieldProps\n | HiddenInputFieldProps\n | JSONFieldProps\n | NumberFieldProps\n | PointFieldProps\n | RelationshipFieldProps\n | RichTextFieldProps\n | RowFieldProps\n | SelectFieldProps\n | TabsFieldProps\n | TextFieldProps\n | TextareaFieldProps\n | UploadFieldProps\n\nexport type MappedField = {\n CustomCell?: React.ReactNode\n CustomField?: React.ReactNode\n cellComponentProps: CellComponentProps\n custom?: Record<any, string>\n disableBulkEdit?: boolean\n disableListColumn?: boolean\n disableListFilter?: boolean\n disabled?: boolean\n fieldComponentProps: FieldComponentProps\n fieldIsPresentational: boolean\n isFieldAffectingData: boolean\n isHidden?: boolean\n isSidebar?: boolean\n localized: boolean\n name?: string\n type: keyof FieldTypes\n unique?: boolean\n}\n\nexport type FieldMap = MappedField[]\n\nexport type ActionMap = {\n Edit: {\n [view: string]: React.ReactNode[]\n }\n List: React.ReactNode[]\n}\n\nexport type CollectionComponentMap = {\n AfterList: React.ReactNode\n AfterListTable: React.ReactNode\n BeforeList: React.ReactNode\n BeforeListTable: React.ReactNode\n List: React.ReactNode\n} & ConfigComponentMapBase\n\nexport type GlobalComponentMap = ConfigComponentMapBase\n\nexport type ConfigComponentMapBase = {\n Description: React.ReactNode\n Edit: React.ReactNode\n PreviewButton: React.ReactNode\n PublishButton: React.ReactNode\n SaveButton: React.ReactNode\n SaveDraftButton: React.ReactNode\n Upload: React.ReactNode\n actionsMap: ActionMap\n fieldMap: FieldMap\n isPreviewEnabled: boolean\n}\n\nexport type ComponentMap = {\n Icon: React.ReactNode\n LogoutButton: React.ReactNode\n actions: React.ReactNode[]\n collections: {\n [slug: SanitizedCollectionConfig['slug']]: CollectionComponentMap\n }\n globals: {\n [slug: SanitizedGlobalConfig['slug']]: GlobalComponentMap\n }\n}\n"],"names":[],"mappings":"AAuHA,WAUC"}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import type { DocumentInfoContext, DocumentInfoProps } from './types.js';
3
3
  export type * from './types.js';
4
4
  export declare const useDocumentInfo: () => DocumentInfoContext;
5
- export declare const DocumentInfoProvider: React.FC<DocumentInfoProps & {
5
+ export declare const DocumentInfoProvider: React.FC<{
6
6
  children: React.ReactNode;
7
- }>;
7
+ } & DocumentInfoProps>;
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAE7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC,iBAAiB,GAAG;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAkfF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAE7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,iBAAiB,CAkftB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nexport const DocumentInfoProvider: React.FC<\n DocumentInfoProps & {\n children: React.ReactNode\n }\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const hasInitializedDocPermissions = useRef(false)\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const newIsEditing = getIsEditing({ id: data?.id, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${data.id}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n data: {\n ...(data || {}),\n _status: 'published',\n },\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n abortController.abort()\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = docPermissionsFromProps\n const hasSavePermission: boolean = hasSavePermissionFromProps\n const hasPublishPermission: boolean = hasPublishPermissionFromProps\n\n if (\n !docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null\n ) {\n await getDocPermissions(data)\n }\n }\n\n if (!hasInitializedDocPermissions.current && data && (collectionSlug || globalSlug)) {\n hasInitializedDocPermissions.current = true\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n ])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","Context","useDocumentInfo","DocumentInfoProvider","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","hasInitializedDocPermissions","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","versionsConfig","baseURL","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","newIsEditing","docAccessURL","publishedAccessJSON","body","JSON","method","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","loadDocPermissions","value","title","Provider"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nexport const DocumentInfoProvider: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const hasInitializedDocPermissions = useRef(false)\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const newIsEditing = getIsEditing({ id: data?.id, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${data.id}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n data: {\n ...(data || {}),\n _status: 'published',\n },\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n abortController.abort()\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = docPermissionsFromProps\n const hasSavePermission: boolean = hasSavePermissionFromProps\n const hasPublishPermission: boolean = hasPublishPermissionFromProps\n\n if (\n !docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null\n ) {\n await getDocPermissions(data)\n }\n }\n\n if (!hasInitializedDocPermissions.current && data && (collectionSlug || globalSlug)) {\n hasInitializedDocPermissions.current = true\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n ])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","Context","useDocumentInfo","DocumentInfoProvider","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","hasInitializedDocPermissions","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","versionsConfig","baseURL","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","newIsEditing","docAccessURL","publishedAccessJSON","body","JSON","method","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","loadDocPermissions","value","title","Provider"],"mappings":"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"}