@payloadcms/next 3.68.0-internal-debug.e9b66ee → 3.68.0-internal-debug.654e4ad

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 (161) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +21 -6
  2. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +44 -20
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/index.js +73 -41
  6. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +10 -1
  8. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  9. package/dist/elements/DocumentHeader/index.js +45 -7
  10. package/dist/elements/DocumentHeader/index.js.map +1 -1
  11. package/dist/elements/FormHeader/index.js +25 -4
  12. package/dist/elements/FormHeader/index.js.map +1 -1
  13. package/dist/elements/Nav/NavHamburger/index.js +21 -5
  14. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  15. package/dist/elements/Nav/NavWrapper/index.js +24 -10
  16. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  17. package/dist/elements/Nav/SettingsMenuButton/index.js +27 -4
  18. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  19. package/dist/elements/Nav/index.client.js +91 -43
  20. package/dist/elements/Nav/index.client.js.map +1 -1
  21. package/dist/elements/Nav/index.js +100 -48
  22. package/dist/elements/Nav/index.js.map +1 -1
  23. package/dist/layouts/Root/NestProviders.js +12 -3
  24. package/dist/layouts/Root/NestProviders.js.map +1 -1
  25. package/dist/layouts/Root/index.js +84 -19
  26. package/dist/layouts/Root/index.js.map +1 -1
  27. package/dist/routes/rest/og/image.js +97 -61
  28. package/dist/routes/rest/og/image.js.map +1 -1
  29. package/dist/routes/rest/og/index.js +15 -1
  30. package/dist/routes/rest/og/index.js.map +1 -1
  31. package/dist/templates/Default/NavHamburger/index.js +10 -1
  32. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  33. package/dist/templates/Default/Wrapper/index.js +16 -9
  34. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  35. package/dist/templates/Default/index.js +106 -38
  36. package/dist/templates/Default/index.js.map +1 -1
  37. package/dist/templates/Minimal/index.js +18 -3
  38. package/dist/templates/Minimal/index.js.map +1 -1
  39. package/dist/views/API/LocaleSelector/index.js +15 -5
  40. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  41. package/dist/views/API/RenderJSON/index.js +156 -59
  42. package/dist/views/API/RenderJSON/index.js.map +1 -1
  43. package/dist/views/API/index.client.js +215 -71
  44. package/dist/views/API/index.client.js.map +1 -1
  45. package/dist/views/API/index.js +7 -1
  46. package/dist/views/API/index.js.map +1 -1
  47. package/dist/views/Account/ResetPreferences/index.js +35 -8
  48. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  49. package/dist/views/Account/Settings/LanguageSelector.js +15 -3
  50. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  51. package/dist/views/Account/Settings/index.js +58 -12
  52. package/dist/views/Account/Settings/index.js.map +1 -1
  53. package/dist/views/Account/ToggleTheme/index.js +30 -19
  54. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  55. package/dist/views/Account/index.js +83 -25
  56. package/dist/views/Account/index.js.map +1 -1
  57. package/dist/views/BrowseByFolder/buildView.js +38 -28
  58. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  59. package/dist/views/CollectionFolders/buildView.js +45 -35
  60. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  61. package/dist/views/CreateFirstUser/index.client.js +75 -20
  62. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  63. package/dist/views/CreateFirstUser/index.js +36 -5
  64. package/dist/views/CreateFirstUser/index.js.map +1 -1
  65. package/dist/views/Dashboard/Default/index.js +169 -94
  66. package/dist/views/Dashboard/Default/index.js.map +1 -1
  67. package/dist/views/Dashboard/index.js +43 -24
  68. package/dist/views/Dashboard/index.js.map +1 -1
  69. package/dist/views/Document/index.js +76 -14
  70. package/dist/views/Document/index.js.map +1 -1
  71. package/dist/views/Edit/index.js +9 -1
  72. package/dist/views/Edit/index.js.map +1 -1
  73. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +104 -57
  74. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  75. package/dist/views/ForgotPassword/index.js +75 -23
  76. package/dist/views/ForgotPassword/index.js.map +1 -1
  77. package/dist/views/List/index.js +53 -31
  78. package/dist/views/List/index.js.map +1 -1
  79. package/dist/views/List/renderListViewSlots.js +21 -9
  80. package/dist/views/List/renderListViewSlots.js.map +1 -1
  81. package/dist/views/Login/LoginField/index.js +49 -23
  82. package/dist/views/Login/LoginField/index.js.map +1 -1
  83. package/dist/views/Login/LoginForm/index.js +68 -20
  84. package/dist/views/Login/LoginForm/index.js.map +1 -1
  85. package/dist/views/Login/index.js +66 -33
  86. package/dist/views/Login/index.js.map +1 -1
  87. package/dist/views/Logout/LogoutClient.js +36 -7
  88. package/dist/views/Logout/LogoutClient.js.map +1 -1
  89. package/dist/views/Logout/index.js +26 -4
  90. package/dist/views/Logout/index.js.map +1 -1
  91. package/dist/views/NotFound/index.client.js +55 -15
  92. package/dist/views/NotFound/index.client.js.map +1 -1
  93. package/dist/views/NotFound/index.js +33 -5
  94. package/dist/views/NotFound/index.js.map +1 -1
  95. package/dist/views/ResetPassword/ResetPasswordForm/index.js +57 -12
  96. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  97. package/dist/views/ResetPassword/index.js +86 -23
  98. package/dist/views/ResetPassword/index.js.map +1 -1
  99. package/dist/views/Root/index.js +52 -12
  100. package/dist/views/Root/index.js.map +1 -1
  101. package/dist/views/Unauthorized/index.js +50 -15
  102. package/dist/views/Unauthorized/index.js.map +1 -1
  103. package/dist/views/Verify/index.js +47 -10
  104. package/dist/views/Verify/index.js.map +1 -1
  105. package/dist/views/Version/Default/SelectedLocalesContext.js +1 -1
  106. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  107. package/dist/views/Version/Default/index.js +258 -52
  108. package/dist/views/Version/Default/index.js.map +1 -1
  109. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +65 -16
  110. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  111. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +66 -24
  112. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  113. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +34 -5
  114. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  115. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +17 -4
  116. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  117. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +55 -10
  118. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  119. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +128 -43
  120. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  121. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +151 -23
  122. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  123. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +16 -3
  124. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  125. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +17 -4
  126. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  127. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +122 -51
  128. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  129. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +17 -4
  130. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  131. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +176 -27
  132. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  133. package/dist/views/Version/RenderFieldsToDiff/index.js +9 -1
  134. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  135. package/dist/views/Version/Restore/index.js +61 -21
  136. package/dist/views/Version/Restore/index.js.map +1 -1
  137. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +24 -16
  138. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  139. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +37 -6
  140. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  141. package/dist/views/Version/SelectComparison/index.js +40 -10
  142. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  143. package/dist/views/Version/SelectLocales/index.js +33 -17
  144. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  145. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +84 -17
  146. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  147. package/dist/views/Version/index.js +63 -21
  148. package/dist/views/Version/index.js.map +1 -1
  149. package/dist/views/Versions/buildColumns.js +58 -9
  150. package/dist/views/Versions/buildColumns.js.map +1 -1
  151. package/dist/views/Versions/cells/AutosaveCell/index.js +31 -4
  152. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  153. package/dist/views/Versions/cells/CreatedAt/index.js +15 -7
  154. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  155. package/dist/views/Versions/cells/ID/index.js +9 -2
  156. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  157. package/dist/views/Versions/index.client.js +98 -20
  158. package/dist/views/Versions/index.client.js.map +1 -1
  159. package/dist/views/Versions/index.js +59 -13
  160. package/dist/views/Versions/index.js.map +1 -1
  161. package/package.json +6 -6
@@ -1,8 +1,10 @@
1
+ import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
1
2
  import { DefaultBrowseByFolderView, HydrateAuthProvider } from '@payloadcms/ui';
2
3
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
3
4
  import { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc';
4
5
  import { formatAdminURL } from '@payloadcms/ui/shared';
5
6
  import { redirect } from 'next/navigation.js';
7
+ import React from 'react';
6
8
  export const buildBrowseByFolderView = async (args)=>{
7
9
  const { browseByFolderSlugs: browseByFolderSlugsFromArgs = [], disableBulkDelete, disableBulkEdit, enableRowSelections, folderID, initPageResult, isInDrawer, params, query: queryFromArgs, searchParams } = args;
8
10
  const { locale: fullLocale, permissions, req: { i18n, payload, payload: { config }, query: queryFromReq, user }, visibleEntities } = initPageResult;
@@ -107,34 +109,42 @@ export const buildBrowseByFolderView = async (args)=>{
107
109
  return permissions?.collections?.[collectionSlug]?.create && visibleEntities.collections.includes(collectionSlug);
108
110
  });
109
111
  return {
110
- View: <>
111
- <HydrateAuthProvider permissions={permissions}/>
112
- {RenderServerComponent({
113
- clientProps: {
114
- // ...folderViewSlots,
115
- activeCollectionFolderSlugs: availableActiveCollectionFolderSlugs,
116
- allCollectionFolderSlugs: allAvailableCollectionSlugs,
117
- allowCreateCollectionSlugs,
118
- baseFolderPath: `/browse-by-folder`,
119
- breadcrumbs,
120
- disableBulkDelete,
121
- disableBulkEdit,
122
- documents,
123
- enableRowSelections,
124
- folderAssignedCollections,
125
- folderFieldName: config.folders.fieldName,
126
- folderID: resolvedFolderID || null,
127
- FolderResultsComponent,
128
- sort: sortPreference,
129
- subfolders,
130
- viewPreference
131
- },
132
- // Component:config.folders?.components?.views?.BrowseByFolders?.Component,
133
- Fallback: DefaultBrowseByFolderView,
134
- importMap: payload.importMap,
135
- serverProps
136
- })}
137
- </>
112
+ View: /*#__PURE__*/ _jsxDEV(_Fragment, {
113
+ children: [
114
+ /*#__PURE__*/ _jsxDEV(HydrateAuthProvider, {
115
+ permissions: permissions
116
+ }, void 0, false, {
117
+ fileName: "src/views/BrowseByFolder/buildView.tsx",
118
+ lineNumber: 202,
119
+ columnNumber: 9
120
+ }, this),
121
+ RenderServerComponent({
122
+ clientProps: {
123
+ // ...folderViewSlots,
124
+ activeCollectionFolderSlugs: availableActiveCollectionFolderSlugs,
125
+ allCollectionFolderSlugs: allAvailableCollectionSlugs,
126
+ allowCreateCollectionSlugs,
127
+ baseFolderPath: `/browse-by-folder`,
128
+ breadcrumbs,
129
+ disableBulkDelete,
130
+ disableBulkEdit,
131
+ documents,
132
+ enableRowSelections,
133
+ folderAssignedCollections,
134
+ folderFieldName: config.folders.fieldName,
135
+ folderID: resolvedFolderID || null,
136
+ FolderResultsComponent,
137
+ sort: sortPreference,
138
+ subfolders,
139
+ viewPreference
140
+ },
141
+ // Component:config.folders?.components?.views?.BrowseByFolders?.Component,
142
+ Fallback: DefaultBrowseByFolderView,
143
+ importMap: payload.importMap,
144
+ serverProps
145
+ })
146
+ ]
147
+ }, void 0, true)
138
148
  };
139
149
  };
140
150
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/BrowseByFolder/buildView.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n BuildCollectionFolderViewResult,\n FolderListViewClientProps,\n FolderListViewServerPropsOnly,\n FolderSortKeys,\n ListQuery,\n} from 'payload'\n\nimport { DefaultBrowseByFolderView, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\nexport type BuildFolderViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n folderID?: number | string\n isInDrawer?: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewServerProps\n\nexport const buildBrowseByFolderView = async (\n args: BuildFolderViewArgs,\n): Promise<BuildCollectionFolderViewResult> => {\n const {\n browseByFolderSlugs: browseByFolderSlugsFromArgs = [],\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n folderID,\n initPageResult,\n isInDrawer,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (config.folders === false || config.folders.browseByFolder === false) {\n throw new Error('not-found')\n }\n\n const foldersSlug = config.folders.slug\n\n /**\n * All visiible folder enabled collection slugs that the user has read permissions for.\n */\n const allowReadCollectionSlugs = browseByFolderSlugsFromArgs.filter(\n (collectionSlug) =>\n permissions?.collections?.[collectionSlug]?.read &&\n visibleEntities.collections.includes(collectionSlug),\n )\n\n const query =\n queryFromArgs ||\n ((queryFromReq\n ? {\n ...queryFromReq,\n relationTo:\n typeof queryFromReq?.relationTo === 'string'\n ? JSON.parse(queryFromReq.relationTo)\n : undefined,\n }\n : {}) as ListQuery)\n\n /**\n * If a folderID is provided and the relationTo query param exists,\n * we filter the collection slugs to only those that are allowed to be read.\n *\n * If no folderID is provided, only folders should be active and displayed (the root view).\n */\n let collectionsToDisplay: string[] = []\n if (folderID && Array.isArray(query?.relationTo)) {\n collectionsToDisplay = query.relationTo.filter(\n (slug) => allowReadCollectionSlugs.includes(slug) || slug === foldersSlug,\n )\n } else if (folderID) {\n collectionsToDisplay = [...allowReadCollectionSlugs, foldersSlug]\n } else {\n collectionsToDisplay = [foldersSlug]\n }\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const browseByFolderPreferences = await upsertPreferences<{\n sort?: FolderSortKeys\n viewPreference?: 'grid' | 'list'\n }>({\n key: 'browse-by-folder',\n req: initPageResult.req,\n value: {\n sort: query?.sort as FolderSortKeys,\n },\n })\n\n const sortPreference: FolderSortKeys = browseByFolderPreferences?.sort || 'name'\n const viewPreference = browseByFolderPreferences?.viewPreference || 'grid'\n\n const { breadcrumbs, documents, folderAssignedCollections, FolderResultsComponent, subfolders } =\n await getFolderResultsComponentAndData({\n browseByFolder: true,\n collectionsToDisplay,\n displayAs: viewPreference,\n folderAssignedCollections: collectionsToDisplay.filter((slug) => slug !== foldersSlug) || [],\n folderID,\n req: initPageResult.req,\n sort: sortPreference,\n })\n\n const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id\n\n if (\n !isInDrawer &&\n ((resolvedFolderID && folderID && folderID !== resolvedFolderID) ||\n (folderID && !resolvedFolderID))\n ) {\n redirect(\n formatAdminURL({\n adminRoute,\n path: config.admin.routes.browseByFolder,\n serverURL: config.serverURL,\n }),\n )\n }\n\n const serverProps: Omit<FolderListViewServerPropsOnly, 'collectionConfig' | 'listPreferences'> = {\n documents,\n i18n,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n subfolders,\n user,\n }\n\n // const folderViewSlots = renderFolderViewSlots({\n // clientProps: {\n // },\n // description: staticDescription,\n // payload,\n // serverProps,\n // })\n\n // Filter down allCollectionFolderSlugs by the ones the current folder is assingned to\n const allAvailableCollectionSlugs =\n folderID && Array.isArray(folderAssignedCollections) && folderAssignedCollections.length\n ? allowReadCollectionSlugs.filter((slug) => folderAssignedCollections.includes(slug))\n : allowReadCollectionSlugs\n\n // Filter down activeCollectionFolderSlugs by the ones the current folder is assingned to\n const availableActiveCollectionFolderSlugs = collectionsToDisplay.filter((slug) => {\n if (slug === foldersSlug) {\n return permissions?.collections?.[foldersSlug]?.read\n } else {\n return !folderAssignedCollections || folderAssignedCollections.includes(slug)\n }\n })\n\n // Documents cannot be created without a parent folder in this view\n const allowCreateCollectionSlugs = (\n resolvedFolderID ? [foldersSlug, ...allAvailableCollectionSlugs] : [foldersSlug]\n ).filter((collectionSlug) => {\n if (collectionSlug === foldersSlug) {\n return permissions?.collections?.[foldersSlug]?.create\n }\n return (\n permissions?.collections?.[collectionSlug]?.create &&\n visibleEntities.collections.includes(collectionSlug)\n )\n })\n\n return {\n View: (\n <>\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n clientProps: {\n // ...folderViewSlots,\n activeCollectionFolderSlugs: availableActiveCollectionFolderSlugs,\n allCollectionFolderSlugs: allAvailableCollectionSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath: `/browse-by-folder`,\n breadcrumbs,\n disableBulkDelete,\n disableBulkEdit,\n documents,\n enableRowSelections,\n folderAssignedCollections,\n folderFieldName: config.folders.fieldName,\n folderID: resolvedFolderID || null,\n FolderResultsComponent,\n sort: sortPreference,\n subfolders,\n viewPreference,\n } satisfies FolderListViewClientProps,\n // Component:config.folders?.components?.views?.BrowseByFolders?.Component,\n Fallback: DefaultBrowseByFolderView,\n importMap: payload.importMap,\n serverProps,\n })}\n </>\n ),\n }\n}\n"],"names":["DefaultBrowseByFolderView","HydrateAuthProvider","RenderServerComponent","getFolderResultsComponentAndData","upsertPreferences","formatAdminURL","redirect","buildBrowseByFolderView","args","browseByFolderSlugs","browseByFolderSlugsFromArgs","disableBulkDelete","disableBulkEdit","enableRowSelections","folderID","initPageResult","isInDrawer","params","query","queryFromArgs","searchParams","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","folders","browseByFolder","Error","foldersSlug","slug","allowReadCollectionSlugs","filter","collectionSlug","collections","read","includes","relationTo","JSON","parse","undefined","collectionsToDisplay","Array","isArray","routes","admin","adminRoute","browseByFolderPreferences","key","value","sort","sortPreference","viewPreference","breadcrumbs","documents","folderAssignedCollections","FolderResultsComponent","subfolders","displayAs","resolvedFolderID","length","id","path","serverURL","serverProps","allAvailableCollectionSlugs","availableActiveCollectionFolderSlugs","allowCreateCollectionSlugs","create","View","clientProps","activeCollectionFolderSlugs","allCollectionFolderSlugs","baseFolderPath","folderFieldName","fieldName","Fallback","importMap"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/BrowseByFolder/buildView.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n BuildCollectionFolderViewResult,\n FolderListViewClientProps,\n FolderListViewServerPropsOnly,\n FolderSortKeys,\n ListQuery,\n} from 'payload'\n\nimport { DefaultBrowseByFolderView, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\nexport type BuildFolderViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n folderID?: number | string\n isInDrawer?: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewServerProps\n\nexport const buildBrowseByFolderView = async (\n args: BuildFolderViewArgs,\n): Promise<BuildCollectionFolderViewResult> => {\n const {\n browseByFolderSlugs: browseByFolderSlugsFromArgs = [],\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n folderID,\n initPageResult,\n isInDrawer,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (config.folders === false || config.folders.browseByFolder === false) {\n throw new Error('not-found')\n }\n\n const foldersSlug = config.folders.slug\n\n /**\n * All visiible folder enabled collection slugs that the user has read permissions for.\n */\n const allowReadCollectionSlugs = browseByFolderSlugsFromArgs.filter(\n (collectionSlug) =>\n permissions?.collections?.[collectionSlug]?.read &&\n visibleEntities.collections.includes(collectionSlug),\n )\n\n const query =\n queryFromArgs ||\n ((queryFromReq\n ? {\n ...queryFromReq,\n relationTo:\n typeof queryFromReq?.relationTo === 'string'\n ? JSON.parse(queryFromReq.relationTo)\n : undefined,\n }\n : {}) as ListQuery)\n\n /**\n * If a folderID is provided and the relationTo query param exists,\n * we filter the collection slugs to only those that are allowed to be read.\n *\n * If no folderID is provided, only folders should be active and displayed (the root view).\n */\n let collectionsToDisplay: string[] = []\n if (folderID && Array.isArray(query?.relationTo)) {\n collectionsToDisplay = query.relationTo.filter(\n (slug) => allowReadCollectionSlugs.includes(slug) || slug === foldersSlug,\n )\n } else if (folderID) {\n collectionsToDisplay = [...allowReadCollectionSlugs, foldersSlug]\n } else {\n collectionsToDisplay = [foldersSlug]\n }\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const browseByFolderPreferences = await upsertPreferences<{\n sort?: FolderSortKeys\n viewPreference?: 'grid' | 'list'\n }>({\n key: 'browse-by-folder',\n req: initPageResult.req,\n value: {\n sort: query?.sort as FolderSortKeys,\n },\n })\n\n const sortPreference: FolderSortKeys = browseByFolderPreferences?.sort || 'name'\n const viewPreference = browseByFolderPreferences?.viewPreference || 'grid'\n\n const { breadcrumbs, documents, folderAssignedCollections, FolderResultsComponent, subfolders } =\n await getFolderResultsComponentAndData({\n browseByFolder: true,\n collectionsToDisplay,\n displayAs: viewPreference,\n folderAssignedCollections: collectionsToDisplay.filter((slug) => slug !== foldersSlug) || [],\n folderID,\n req: initPageResult.req,\n sort: sortPreference,\n })\n\n const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id\n\n if (\n !isInDrawer &&\n ((resolvedFolderID && folderID && folderID !== resolvedFolderID) ||\n (folderID && !resolvedFolderID))\n ) {\n redirect(\n formatAdminURL({\n adminRoute,\n path: config.admin.routes.browseByFolder,\n serverURL: config.serverURL,\n }),\n )\n }\n\n const serverProps: Omit<FolderListViewServerPropsOnly, 'collectionConfig' | 'listPreferences'> = {\n documents,\n i18n,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n subfolders,\n user,\n }\n\n // const folderViewSlots = renderFolderViewSlots({\n // clientProps: {\n // },\n // description: staticDescription,\n // payload,\n // serverProps,\n // })\n\n // Filter down allCollectionFolderSlugs by the ones the current folder is assingned to\n const allAvailableCollectionSlugs =\n folderID && Array.isArray(folderAssignedCollections) && folderAssignedCollections.length\n ? allowReadCollectionSlugs.filter((slug) => folderAssignedCollections.includes(slug))\n : allowReadCollectionSlugs\n\n // Filter down activeCollectionFolderSlugs by the ones the current folder is assingned to\n const availableActiveCollectionFolderSlugs = collectionsToDisplay.filter((slug) => {\n if (slug === foldersSlug) {\n return permissions?.collections?.[foldersSlug]?.read\n } else {\n return !folderAssignedCollections || folderAssignedCollections.includes(slug)\n }\n })\n\n // Documents cannot be created without a parent folder in this view\n const allowCreateCollectionSlugs = (\n resolvedFolderID ? [foldersSlug, ...allAvailableCollectionSlugs] : [foldersSlug]\n ).filter((collectionSlug) => {\n if (collectionSlug === foldersSlug) {\n return permissions?.collections?.[foldersSlug]?.create\n }\n return (\n permissions?.collections?.[collectionSlug]?.create &&\n visibleEntities.collections.includes(collectionSlug)\n )\n })\n\n return {\n View: (\n <>\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n clientProps: {\n // ...folderViewSlots,\n activeCollectionFolderSlugs: availableActiveCollectionFolderSlugs,\n allCollectionFolderSlugs: allAvailableCollectionSlugs,\n allowCreateCollectionSlugs,\n baseFolderPath: `/browse-by-folder`,\n breadcrumbs,\n disableBulkDelete,\n disableBulkEdit,\n documents,\n enableRowSelections,\n folderAssignedCollections,\n folderFieldName: config.folders.fieldName,\n folderID: resolvedFolderID || null,\n FolderResultsComponent,\n sort: sortPreference,\n subfolders,\n viewPreference,\n } satisfies FolderListViewClientProps,\n // Component:config.folders?.components?.views?.BrowseByFolders?.Component,\n Fallback: DefaultBrowseByFolderView,\n importMap: payload.importMap,\n serverProps,\n })}\n </>\n ),\n }\n}\n"],"names":["DefaultBrowseByFolderView","HydrateAuthProvider","RenderServerComponent","getFolderResultsComponentAndData","upsertPreferences","formatAdminURL","redirect","React","buildBrowseByFolderView","args","browseByFolderSlugs","browseByFolderSlugsFromArgs","disableBulkDelete","disableBulkEdit","enableRowSelections","folderID","initPageResult","isInDrawer","params","query","queryFromArgs","searchParams","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","folders","browseByFolder","Error","foldersSlug","slug","allowReadCollectionSlugs","filter","collectionSlug","collections","read","includes","relationTo","JSON","parse","undefined","collectionsToDisplay","Array","isArray","routes","admin","adminRoute","browseByFolderPreferences","key","value","sort","sortPreference","viewPreference","breadcrumbs","documents","folderAssignedCollections","FolderResultsComponent","subfolders","displayAs","resolvedFolderID","length","id","path","serverURL","serverProps","allAvailableCollectionSlugs","availableActiveCollectionFolderSlugs","allowCreateCollectionSlugs","create","View","clientProps","activeCollectionFolderSlugs","allCollectionFolderSlugs","baseFolderPath","folderFieldName","fieldName","Fallback","importMap"],"mappings":"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"}
@@ -1,8 +1,10 @@
1
+ import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
1
2
  import { DefaultCollectionFolderView, HydrateAuthProvider } from '@payloadcms/ui';
2
3
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
3
4
  import { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc';
4
5
  import { formatAdminURL } from '@payloadcms/ui/shared';
5
6
  import { redirect } from 'next/navigation.js';
7
+ import React from 'react';
6
8
  // import { renderFolderViewSlots } from './renderFolderViewSlots.js'
7
9
  /**
8
10
  * Builds the entire view for collection-folder views on the server
@@ -84,41 +86,49 @@ import { redirect } from 'next/navigation.js';
84
86
  // })
85
87
  const search = query?.search;
86
88
  return {
87
- View: <>
88
- <HydrateAuthProvider permissions={permissions}/>
89
- {RenderServerComponent({
90
- clientProps: {
91
- // ...folderViewSlots,
92
- allCollectionFolderSlugs: [
93
- config.folders.slug,
94
- collectionSlug
95
- ],
96
- allowCreateCollectionSlugs: [
97
- permissions?.collections?.[config.folders.slug]?.create ? config.folders.slug : null,
98
- resolvedFolderID && permissions?.collections?.[collectionSlug]?.create ? collectionSlug : null
99
- ].filter(Boolean),
100
- baseFolderPath: `/collections/${collectionSlug}/${config.folders.slug}`,
101
- breadcrumbs,
102
- collectionSlug,
103
- disableBulkDelete,
104
- disableBulkEdit,
105
- documents,
106
- enableRowSelections,
107
- folderAssignedCollections,
108
- folderFieldName: config.folders.fieldName,
109
- folderID: resolvedFolderID || null,
110
- FolderResultsComponent,
111
- search,
112
- sort: sortPreference,
113
- subfolders,
114
- viewPreference
115
- },
116
- // Component: collectionConfig?.admin?.components?.views?.Folders?.Component,
117
- Fallback: DefaultCollectionFolderView,
118
- importMap: payload.importMap,
119
- serverProps
120
- })}
121
- </>
89
+ View: /*#__PURE__*/ _jsxDEV(_Fragment, {
90
+ children: [
91
+ /*#__PURE__*/ _jsxDEV(HydrateAuthProvider, {
92
+ permissions: permissions
93
+ }, void 0, false, {
94
+ fileName: "src/views/CollectionFolders/buildView.tsx",
95
+ lineNumber: 172,
96
+ columnNumber: 11
97
+ }, this),
98
+ RenderServerComponent({
99
+ clientProps: {
100
+ // ...folderViewSlots,
101
+ allCollectionFolderSlugs: [
102
+ config.folders.slug,
103
+ collectionSlug
104
+ ],
105
+ allowCreateCollectionSlugs: [
106
+ permissions?.collections?.[config.folders.slug]?.create ? config.folders.slug : null,
107
+ resolvedFolderID && permissions?.collections?.[collectionSlug]?.create ? collectionSlug : null
108
+ ].filter(Boolean),
109
+ baseFolderPath: `/collections/${collectionSlug}/${config.folders.slug}`,
110
+ breadcrumbs,
111
+ collectionSlug,
112
+ disableBulkDelete,
113
+ disableBulkEdit,
114
+ documents,
115
+ enableRowSelections,
116
+ folderAssignedCollections,
117
+ folderFieldName: config.folders.fieldName,
118
+ folderID: resolvedFolderID || null,
119
+ FolderResultsComponent,
120
+ search,
121
+ sort: sortPreference,
122
+ subfolders,
123
+ viewPreference
124
+ },
125
+ // Component: collectionConfig?.admin?.components?.views?.Folders?.Component,
126
+ Fallback: DefaultCollectionFolderView,
127
+ importMap: payload.importMap,
128
+ serverProps
129
+ })
130
+ ]
131
+ }, void 0, true)
122
132
  };
123
133
  }
124
134
  throw new Error('not-found');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/CollectionFolders/buildView.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n BuildCollectionFolderViewResult,\n FolderListViewClientProps,\n FolderListViewServerPropsOnly,\n FolderSortKeys,\n ListQuery,\n} from 'payload'\n\nimport { DefaultCollectionFolderView, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\n// import { renderFolderViewSlots } from './renderFolderViewSlots.js'\n\nexport type BuildCollectionFolderViewStateArgs = {\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n folderID?: number | string\n isInDrawer?: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewServerProps\n\n/**\n * Builds the entire view for collection-folder views on the server\n */\nexport const buildCollectionFolderView = async (\n args: BuildCollectionFolderViewStateArgs,\n): Promise<BuildCollectionFolderViewResult> => {\n const {\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n folderID,\n initPageResult,\n isInDrawer,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!config.folders) {\n throw new Error('not-found')\n }\n\n if (\n !permissions?.collections?.[collectionSlug]?.read ||\n !permissions?.collections?.[config.folders.slug].read\n ) {\n throw new Error('not-found')\n }\n\n if (collectionConfig) {\n if (\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) ||\n !config.folders\n ) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const collectionFolderPreferences = await upsertPreferences<{\n sort?: FolderSortKeys\n viewPreference?: 'grid' | 'list'\n }>({\n key: `${collectionSlug}-collection-folder`,\n req: initPageResult.req,\n value: {\n sort: query?.sort as FolderSortKeys,\n },\n })\n\n const sortPreference: FolderSortKeys = collectionFolderPreferences?.sort || 'name'\n const viewPreference = collectionFolderPreferences?.viewPreference || 'grid'\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const {\n breadcrumbs,\n documents,\n folderAssignedCollections,\n FolderResultsComponent,\n subfolders,\n } = await getFolderResultsComponentAndData({\n browseByFolder: false,\n collectionsToDisplay: [config.folders.slug, collectionSlug],\n displayAs: viewPreference,\n folderAssignedCollections: [collectionSlug],\n folderID,\n req: initPageResult.req,\n sort: sortPreference,\n })\n\n const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id\n\n if (\n !isInDrawer &&\n ((resolvedFolderID && folderID && folderID !== resolvedFolderID) ||\n (folderID && !resolvedFolderID))\n ) {\n redirect(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n serverURL: config.serverURL,\n }),\n )\n }\n\n const serverProps: FolderListViewServerPropsOnly = {\n collectionConfig,\n documents,\n i18n,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n subfolders,\n user,\n }\n\n // We could support slots in the folder view in the future\n // const folderViewSlots = renderFolderViewSlots({\n // clientProps: {\n // collectionSlug,\n // hasCreatePermission,\n // newDocumentURL,\n // },\n // collectionConfig,\n // description: typeof collectionConfig.admin.description === 'function'\n // ? collectionConfig.admin.description({ t: i18n.t })\n // : collectionConfig.admin.description,\n // payload,\n // serverProps,\n // })\n\n const search = query?.search as string\n\n return {\n View: (\n <>\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n clientProps: {\n // ...folderViewSlots,\n allCollectionFolderSlugs: [config.folders.slug, collectionSlug],\n allowCreateCollectionSlugs: [\n permissions?.collections?.[config.folders.slug]?.create\n ? config.folders.slug\n : null,\n resolvedFolderID && permissions?.collections?.[collectionSlug]?.create\n ? collectionSlug\n : null,\n ].filter(Boolean),\n baseFolderPath: `/collections/${collectionSlug}/${config.folders.slug}`,\n breadcrumbs,\n collectionSlug,\n disableBulkDelete,\n disableBulkEdit,\n documents,\n enableRowSelections,\n folderAssignedCollections,\n folderFieldName: config.folders.fieldName,\n folderID: resolvedFolderID || null,\n FolderResultsComponent,\n search,\n sort: sortPreference,\n subfolders,\n viewPreference,\n } satisfies FolderListViewClientProps,\n // Component: collectionConfig?.admin?.components?.views?.Folders?.Component,\n Fallback: DefaultCollectionFolderView,\n importMap: payload.importMap,\n serverProps,\n })}\n </>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n"],"names":["DefaultCollectionFolderView","HydrateAuthProvider","RenderServerComponent","getFolderResultsComponentAndData","upsertPreferences","formatAdminURL","redirect","buildCollectionFolderView","args","disableBulkDelete","disableBulkEdit","enableRowSelections","folderID","initPageResult","isInDrawer","overrideEntityVisibility","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","folders","Error","collections","read","includes","collectionFolderPreferences","key","value","sort","sortPreference","viewPreference","routes","admin","adminRoute","breadcrumbs","documents","folderAssignedCollections","FolderResultsComponent","subfolders","browseByFolder","collectionsToDisplay","displayAs","resolvedFolderID","length","id","path","serverURL","serverProps","search","View","clientProps","allCollectionFolderSlugs","allowCreateCollectionSlugs","create","filter","Boolean","baseFolderPath","folderFieldName","fieldName","Fallback","importMap"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/CollectionFolders/buildView.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n BuildCollectionFolderViewResult,\n FolderListViewClientProps,\n FolderListViewServerPropsOnly,\n FolderSortKeys,\n ListQuery,\n} from 'payload'\n\nimport { DefaultCollectionFolderView, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport React from 'react'\n\n// import { renderFolderViewSlots } from './renderFolderViewSlots.js'\n\nexport type BuildCollectionFolderViewStateArgs = {\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n enableRowSelections: boolean\n folderID?: number | string\n isInDrawer?: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n} & AdminViewServerProps\n\n/**\n * Builds the entire view for collection-folder views on the server\n */\nexport const buildCollectionFolderView = async (\n args: BuildCollectionFolderViewStateArgs,\n): Promise<BuildCollectionFolderViewResult> => {\n const {\n disableBulkDelete,\n disableBulkEdit,\n enableRowSelections,\n folderID,\n initPageResult,\n isInDrawer,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!config.folders) {\n throw new Error('not-found')\n }\n\n if (\n !permissions?.collections?.[collectionSlug]?.read ||\n !permissions?.collections?.[config.folders.slug].read\n ) {\n throw new Error('not-found')\n }\n\n if (collectionConfig) {\n if (\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) ||\n !config.folders\n ) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const collectionFolderPreferences = await upsertPreferences<{\n sort?: FolderSortKeys\n viewPreference?: 'grid' | 'list'\n }>({\n key: `${collectionSlug}-collection-folder`,\n req: initPageResult.req,\n value: {\n sort: query?.sort as FolderSortKeys,\n },\n })\n\n const sortPreference: FolderSortKeys = collectionFolderPreferences?.sort || 'name'\n const viewPreference = collectionFolderPreferences?.viewPreference || 'grid'\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const {\n breadcrumbs,\n documents,\n folderAssignedCollections,\n FolderResultsComponent,\n subfolders,\n } = await getFolderResultsComponentAndData({\n browseByFolder: false,\n collectionsToDisplay: [config.folders.slug, collectionSlug],\n displayAs: viewPreference,\n folderAssignedCollections: [collectionSlug],\n folderID,\n req: initPageResult.req,\n sort: sortPreference,\n })\n\n const resolvedFolderID = breadcrumbs[breadcrumbs.length - 1]?.id\n\n if (\n !isInDrawer &&\n ((resolvedFolderID && folderID && folderID !== resolvedFolderID) ||\n (folderID && !resolvedFolderID))\n ) {\n redirect(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${config.folders.slug}`,\n serverURL: config.serverURL,\n }),\n )\n }\n\n const serverProps: FolderListViewServerPropsOnly = {\n collectionConfig,\n documents,\n i18n,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n subfolders,\n user,\n }\n\n // We could support slots in the folder view in the future\n // const folderViewSlots = renderFolderViewSlots({\n // clientProps: {\n // collectionSlug,\n // hasCreatePermission,\n // newDocumentURL,\n // },\n // collectionConfig,\n // description: typeof collectionConfig.admin.description === 'function'\n // ? collectionConfig.admin.description({ t: i18n.t })\n // : collectionConfig.admin.description,\n // payload,\n // serverProps,\n // })\n\n const search = query?.search as string\n\n return {\n View: (\n <>\n <HydrateAuthProvider permissions={permissions} />\n {RenderServerComponent({\n clientProps: {\n // ...folderViewSlots,\n allCollectionFolderSlugs: [config.folders.slug, collectionSlug],\n allowCreateCollectionSlugs: [\n permissions?.collections?.[config.folders.slug]?.create\n ? config.folders.slug\n : null,\n resolvedFolderID && permissions?.collections?.[collectionSlug]?.create\n ? collectionSlug\n : null,\n ].filter(Boolean),\n baseFolderPath: `/collections/${collectionSlug}/${config.folders.slug}`,\n breadcrumbs,\n collectionSlug,\n disableBulkDelete,\n disableBulkEdit,\n documents,\n enableRowSelections,\n folderAssignedCollections,\n folderFieldName: config.folders.fieldName,\n folderID: resolvedFolderID || null,\n FolderResultsComponent,\n search,\n sort: sortPreference,\n subfolders,\n viewPreference,\n } satisfies FolderListViewClientProps,\n // Component: collectionConfig?.admin?.components?.views?.Folders?.Component,\n Fallback: DefaultCollectionFolderView,\n importMap: payload.importMap,\n serverProps,\n })}\n </>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n"],"names":["DefaultCollectionFolderView","HydrateAuthProvider","RenderServerComponent","getFolderResultsComponentAndData","upsertPreferences","formatAdminURL","redirect","React","buildCollectionFolderView","args","disableBulkDelete","disableBulkEdit","enableRowSelections","folderID","initPageResult","isInDrawer","overrideEntityVisibility","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","folders","Error","collections","read","includes","collectionFolderPreferences","key","value","sort","sortPreference","viewPreference","routes","admin","adminRoute","breadcrumbs","documents","folderAssignedCollections","FolderResultsComponent","subfolders","browseByFolder","collectionsToDisplay","displayAs","resolvedFolderID","length","id","path","serverURL","serverProps","search","View","clientProps","allCollectionFolderSlugs","allowCreateCollectionSlugs","create","filter","Boolean","baseFolderPath","folderFieldName","fieldName","Fallback","importMap"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
3
  import { ConfirmPasswordField, EmailAndUsernameFields, Form, FormSubmit, PasswordField, RenderFields, useAuth, useConfig, useServerFunctions, useTranslation } from '@payloadcms/ui';
3
4
  import { abortAndIgnore, handleAbortRef } from '@payloadcms/ui/shared';
4
5
  import React, { useEffect } from 'react';
@@ -42,26 +43,80 @@ export const CreateFirstUserClient = ({ docPermissions, docPreferences, initialS
42
43
  abortAndIgnore(abortOnChange);
43
44
  };
44
45
  }, []);
45
- return <Form action={`${serverURL}${apiRoute}/${userSlug}/first-register`} initialState={{
46
- ...initialState,
47
- 'confirm-password': {
48
- ...initialState['confirm-password'],
49
- valid: initialState['confirm-password']['valid'] || false,
50
- value: initialState['confirm-password']['value'] || ''
51
- }
52
- }} method="POST" onChange={[
53
- onChange
54
- ]} onSuccess={handleFirstRegister} redirect={admin} validationOperation="create">
55
- <EmailAndUsernameFields className="emailAndUsername" loginWithUsername={loginWithUsername} operation="create" readOnly={false} t={t}/>
56
- <PasswordField autoComplete="off" field={{
57
- name: 'password',
58
- label: t('authentication:newPassword'),
59
- required: true
60
- }} path="password"/>
61
- <ConfirmPasswordField/>
62
- <RenderFields fields={collectionConfig.fields} forceRender parentIndexPath="" parentPath="" parentSchemaPath={userSlug} permissions={true} readOnly={false}/>
63
- <FormSubmit size="large">{t('general:create')}</FormSubmit>
64
- </Form>;
46
+ return /*#__PURE__*/ _jsxDEV(Form, {
47
+ action: `${serverURL}${apiRoute}/${userSlug}/first-register`,
48
+ initialState: {
49
+ ...initialState,
50
+ 'confirm-password': {
51
+ ...initialState['confirm-password'],
52
+ valid: initialState['confirm-password']['valid'] || false,
53
+ value: initialState['confirm-password']['value'] || ''
54
+ }
55
+ },
56
+ method: "POST",
57
+ onChange: [
58
+ onChange
59
+ ],
60
+ onSuccess: handleFirstRegister,
61
+ redirect: admin,
62
+ validationOperation: "create",
63
+ children: [
64
+ /*#__PURE__*/ _jsxDEV(EmailAndUsernameFields, {
65
+ className: "emailAndUsername",
66
+ loginWithUsername: loginWithUsername,
67
+ operation: "create",
68
+ readOnly: false,
69
+ t: t
70
+ }, void 0, false, {
71
+ fileName: "src/views/CreateFirstUser/index.client.tsx",
72
+ lineNumber: 102,
73
+ columnNumber: 7
74
+ }, this),
75
+ /*#__PURE__*/ _jsxDEV(PasswordField, {
76
+ autoComplete: "off",
77
+ field: {
78
+ name: 'password',
79
+ label: t('authentication:newPassword'),
80
+ required: true
81
+ },
82
+ path: "password"
83
+ }, void 0, false, {
84
+ fileName: "src/views/CreateFirstUser/index.client.tsx",
85
+ lineNumber: 109,
86
+ columnNumber: 7
87
+ }, this),
88
+ /*#__PURE__*/ _jsxDEV(ConfirmPasswordField, {}, void 0, false, {
89
+ fileName: "src/views/CreateFirstUser/index.client.tsx",
90
+ lineNumber: 118,
91
+ columnNumber: 7
92
+ }, this),
93
+ /*#__PURE__*/ _jsxDEV(RenderFields, {
94
+ fields: collectionConfig.fields,
95
+ forceRender: true,
96
+ parentIndexPath: "",
97
+ parentPath: "",
98
+ parentSchemaPath: userSlug,
99
+ permissions: true,
100
+ readOnly: false
101
+ }, void 0, false, {
102
+ fileName: "src/views/CreateFirstUser/index.client.tsx",
103
+ lineNumber: 119,
104
+ columnNumber: 7
105
+ }, this),
106
+ /*#__PURE__*/ _jsxDEV(FormSubmit, {
107
+ size: "large",
108
+ children: t('general:create')
109
+ }, void 0, false, {
110
+ fileName: "src/views/CreateFirstUser/index.client.tsx",
111
+ lineNumber: 128,
112
+ columnNumber: 7
113
+ }, this)
114
+ ]
115
+ }, void 0, true, {
116
+ fileName: "src/views/CreateFirstUser/index.client.tsx",
117
+ lineNumber: 86,
118
+ columnNumber: 5
119
+ }, this);
65
120
  };
66
121
 
67
122
  //# sourceMappingURL=index.client.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps, UserWithToken } from '@payloadcms/ui'\nimport type {\n DocumentPreferences,\n FormState,\n LoginWithUsernameOptions,\n SanitizedDocumentPermissions,\n} from 'payload'\n\nimport {\n ConfirmPasswordField,\n EmailAndUsernameFields,\n Form,\n FormSubmit,\n PasswordField,\n RenderFields,\n useAuth,\n useConfig,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore, handleAbortRef } from '@payloadcms/ui/shared'\nimport React, { useEffect } from 'react'\n\nexport const CreateFirstUserClient: React.FC<{\n docPermissions: SanitizedDocumentPermissions\n docPreferences: DocumentPreferences\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ docPermissions, docPreferences, initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug })\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const response = await getFormState({\n collectionSlug: userSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath: userSlug,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n if (response && response.state) {\n return response.state\n }\n },\n [userSlug, getFormState, docPermissions, docPreferences],\n )\n\n const handleFirstRegister = (data: UserWithToken) => {\n setUser(data)\n }\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={{\n ...initialState,\n 'confirm-password': {\n ...initialState['confirm-password'],\n valid: initialState['confirm-password']['valid'] || false,\n value: initialState['confirm-password']['value'] || '',\n },\n }}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={handleFirstRegister}\n redirect={admin}\n validationOperation=\"create\"\n >\n <EmailAndUsernameFields\n className=\"emailAndUsername\"\n loginWithUsername={loginWithUsername}\n operation=\"create\"\n readOnly={false}\n t={t}\n />\n <PasswordField\n autoComplete=\"off\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n path=\"password\"\n />\n <ConfirmPasswordField />\n <RenderFields\n fields={collectionConfig.fields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={userSlug}\n permissions={true}\n readOnly={false}\n />\n <FormSubmit size=\"large\">{t('general:create')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["ConfirmPasswordField","EmailAndUsernameFields","Form","FormSubmit","PasswordField","RenderFields","useAuth","useConfig","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","React","useEffect","CreateFirstUserClient","docPermissions","docPreferences","initialState","loginWithUsername","userSlug","config","routes","admin","api","apiRoute","serverURL","getEntityConfig","getFormState","t","setUser","abortOnChangeRef","useRef","collectionConfig","collectionSlug","onChange","useCallback","formState","prevFormState","submitted","controller","response","operation","schemaPath","signal","skipValidation","current","state","handleFirstRegister","data","abortOnChange","action","valid","value","method","onSuccess","redirect","validationOperation","className","readOnly","autoComplete","field","name","label","required","path","fields","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","size"],"mappings":"AAAA;AASA,SACEA,oBAAoB,EACpBC,sBAAsB,EACtBC,IAAI,EACJC,UAAU,EACVC,aAAa,EACbC,YAAY,EACZC,OAAO,EACPC,SAAS,EACTC,kBAAkB,EAClBC,cAAc,QACT,iBAAgB;AACvB,SAASC,cAAc,EAAEC,cAAc,QAAQ,wBAAuB;AACtE,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAExC,OAAO,MAAMC,wBAMR,CAAC,EAAEC,cAAc,EAAEC,cAAc,EAAEC,YAAY,EAAEC,iBAAiB,EAAEC,QAAQ,EAAE;IACjF,MAAM,EACJC,QAAQ,EACNC,QAAQ,EAAEC,KAAK,EAAEC,KAAKC,QAAQ,EAAE,EAChCC,SAAS,EACV,EACDC,eAAe,EAChB,GAAGnB;IAEJ,MAAM,EAAEoB,YAAY,EAAE,GAAGnB;IAEzB,MAAM,EAAEoB,CAAC,EAAE,GAAGnB;IACd,MAAM,EAAEoB,OAAO,EAAE,GAAGvB;IAEpB,MAAMwB,mBAAmBlB,MAAMmB,MAAM,CAAkB;IAEvD,MAAMC,mBAAmBN,gBAAgB;QAAEO,gBAAgBd;IAAS;IAEpE,MAAMe,WAAqCtB,MAAMuB,WAAW,CAC1D,OAAO,EAAEC,WAAWC,aAAa,EAAEC,SAAS,EAAE;QAC5C,MAAMC,aAAa5B,eAAemB;QAElC,MAAMU,WAAW,MAAMb,aAAa;YAClCM,gBAAgBd;YAChBJ;YACAC;YACAoB,WAAWC;YACXI,WAAW;YACXC,YAAYvB;YACZwB,QAAQJ,WAAWI,MAAM;YACzBC,gBAAgB,CAACN;QACnB;QAEAR,iBAAiBe,OAAO,GAAG;QAE3B,IAAIL,YAAYA,SAASM,KAAK,EAAE;YAC9B,OAAON,SAASM,KAAK;QACvB;IACF,GACA;QAAC3B;QAAUQ;QAAcZ;QAAgBC;KAAe;IAG1D,MAAM+B,sBAAsB,CAACC;QAC3BnB,QAAQmB;IACV;IAEAnC,UAAU;QACR,MAAMoC,gBAAgBnB,iBAAiBe,OAAO;QAE9C,OAAO;YACLnC,eAAeuC;QACjB;IACF,GAAG,EAAE;IAEL,QACG/C,KACCgD,QAAQ,GAAGzB,YAAYD,SAAS,CAAC,EAAEL,SAAS,eAAe,CAAC,EAC5DF,cAAc;QACZ,GAAGA,YAAY;QACf,oBAAoB;YAClB,GAAGA,YAAY,CAAC,mBAAmB;YACnCkC,OAAOlC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,IAAI;YACpDmC,OAAOnC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,IAAI;QACtD;IACF,GACAoC,OAAO,OACPnB,UAAU;QAACA;KAAS,EACpBoB,WAAWP,qBACXQ,UAAUjC,OACVkC,oBAAoB,SACrB;MACC,CAACvD,uBACCwD,UAAU,mBACVvC,mBAAmBA,mBACnBuB,UAAU,SACViB,UAAU,OACV9B,GAAGA,IACH;MACF,CAACxB,cACCuD,aAAa,MACbC,OAAO;QACLC,MAAM;QACNC,OAAOlC,EAAE;QACTmC,UAAU;IACZ,GACAC,KAAK,YACL;MACF,CAAChE,sBAAuB;MACxB,CAACK,aACC4D,QAAQjC,iBAAiBiC,MAAM,EAC/BC,YACAC,gBAAgB,GAChBC,WAAW,GACXC,kBAAkBlD,UAClBmD,aAAa,MACbZ,UAAU,QACV;MACF,CAACvD,WAAWoE,KAAK,SAAS3C,EAAE,oBAAoBzB,WAAW;IAC7D,EAAED;AAEN,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/CreateFirstUser/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps, UserWithToken } from '@payloadcms/ui'\nimport type {\n DocumentPreferences,\n FormState,\n LoginWithUsernameOptions,\n SanitizedDocumentPermissions,\n} from 'payload'\n\nimport {\n ConfirmPasswordField,\n EmailAndUsernameFields,\n Form,\n FormSubmit,\n PasswordField,\n RenderFields,\n useAuth,\n useConfig,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { abortAndIgnore, handleAbortRef } from '@payloadcms/ui/shared'\nimport React, { useEffect } from 'react'\n\nexport const CreateFirstUserClient: React.FC<{\n docPermissions: SanitizedDocumentPermissions\n docPreferences: DocumentPreferences\n initialState: FormState\n loginWithUsername?: false | LoginWithUsernameOptions\n userSlug: string\n}> = ({ docPermissions, docPreferences, initialState, loginWithUsername, userSlug }) => {\n const {\n config: {\n routes: { admin, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug })\n\n const onChange: FormProps['onChange'][0] = React.useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const response = await getFormState({\n collectionSlug: userSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath: userSlug,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n if (response && response.state) {\n return response.state\n }\n },\n [userSlug, getFormState, docPermissions, docPreferences],\n )\n\n const handleFirstRegister = (data: UserWithToken) => {\n setUser(data)\n }\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/first-register`}\n initialState={{\n ...initialState,\n 'confirm-password': {\n ...initialState['confirm-password'],\n valid: initialState['confirm-password']['valid'] || false,\n value: initialState['confirm-password']['value'] || '',\n },\n }}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={handleFirstRegister}\n redirect={admin}\n validationOperation=\"create\"\n >\n <EmailAndUsernameFields\n className=\"emailAndUsername\"\n loginWithUsername={loginWithUsername}\n operation=\"create\"\n readOnly={false}\n t={t}\n />\n <PasswordField\n autoComplete=\"off\"\n field={{\n name: 'password',\n label: t('authentication:newPassword'),\n required: true,\n }}\n path=\"password\"\n />\n <ConfirmPasswordField />\n <RenderFields\n fields={collectionConfig.fields}\n forceRender\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={userSlug}\n permissions={true}\n readOnly={false}\n />\n <FormSubmit size=\"large\">{t('general:create')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["ConfirmPasswordField","EmailAndUsernameFields","Form","FormSubmit","PasswordField","RenderFields","useAuth","useConfig","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","React","useEffect","CreateFirstUserClient","docPermissions","docPreferences","initialState","loginWithUsername","userSlug","config","routes","admin","api","apiRoute","serverURL","getEntityConfig","getFormState","t","setUser","abortOnChangeRef","useRef","collectionConfig","collectionSlug","onChange","useCallback","formState","prevFormState","submitted","controller","response","operation","schemaPath","signal","skipValidation","current","state","handleFirstRegister","data","abortOnChange","action","valid","value","method","onSuccess","redirect","validationOperation","className","readOnly","autoComplete","field","name","label","required","path","fields","forceRender","parentIndexPath","parentPath","parentSchemaPath","permissions","size"],"mappings":"AAAA;;AASA,SACEA,oBAAoB,EACpBC,sBAAsB,EACtBC,IAAI,EACJC,UAAU,EACVC,aAAa,EACbC,YAAY,EACZC,OAAO,EACPC,SAAS,EACTC,kBAAkB,EAClBC,cAAc,QACT,iBAAgB;AACvB,SAASC,cAAc,EAAEC,cAAc,QAAQ,wBAAuB;AACtE,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAExC,OAAO,MAAMC,wBAMR,CAAC,EAAEC,cAAc,EAAEC,cAAc,EAAEC,YAAY,EAAEC,iBAAiB,EAAEC,QAAQ,EAAE;IACjF,MAAM,EACJC,QAAQ,EACNC,QAAQ,EAAEC,KAAK,EAAEC,KAAKC,QAAQ,EAAE,EAChCC,SAAS,EACV,EACDC,eAAe,EAChB,GAAGnB;IAEJ,MAAM,EAAEoB,YAAY,EAAE,GAAGnB;IAEzB,MAAM,EAAEoB,CAAC,EAAE,GAAGnB;IACd,MAAM,EAAEoB,OAAO,EAAE,GAAGvB;IAEpB,MAAMwB,mBAAmBlB,MAAMmB,MAAM,CAAkB;IAEvD,MAAMC,mBAAmBN,gBAAgB;QAAEO,gBAAgBd;IAAS;IAEpE,MAAMe,WAAqCtB,MAAMuB,WAAW,CAC1D,OAAO,EAAEC,WAAWC,aAAa,EAAEC,SAAS,EAAE;QAC5C,MAAMC,aAAa5B,eAAemB;QAElC,MAAMU,WAAW,MAAMb,aAAa;YAClCM,gBAAgBd;YAChBJ;YACAC;YACAoB,WAAWC;YACXI,WAAW;YACXC,YAAYvB;YACZwB,QAAQJ,WAAWI,MAAM;YACzBC,gBAAgB,CAACN;QACnB;QAEAR,iBAAiBe,OAAO,GAAG;QAE3B,IAAIL,YAAYA,SAASM,KAAK,EAAE;YAC9B,OAAON,SAASM,KAAK;QACvB;IACF,GACA;QAAC3B;QAAUQ;QAAcZ;QAAgBC;KAAe;IAG1D,MAAM+B,sBAAsB,CAACC;QAC3BnB,QAAQmB;IACV;IAEAnC,UAAU;QACR,MAAMoC,gBAAgBnB,iBAAiBe,OAAO;QAE9C,OAAO;YACLnC,eAAeuC;QACjB;IACF,GAAG,EAAE;IAEL,qBACE,QAAC/C;QACCgD,QAAQ,GAAGzB,YAAYD,SAAS,CAAC,EAAEL,SAAS,eAAe,CAAC;QAC5DF,cAAc;YACZ,GAAGA,YAAY;YACf,oBAAoB;gBAClB,GAAGA,YAAY,CAAC,mBAAmB;gBACnCkC,OAAOlC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,IAAI;gBACpDmC,OAAOnC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,IAAI;YACtD;QACF;QACAoC,QAAO;QACPnB,UAAU;YAACA;SAAS;QACpBoB,WAAWP;QACXQ,UAAUjC;QACVkC,qBAAoB;;0BAEpB,QAACvD;gBACCwD,WAAU;gBACVvC,mBAAmBA;gBACnBuB,WAAU;gBACViB,UAAU;gBACV9B,GAAGA;;;;;;0BAEL,QAACxB;gBACCuD,cAAa;gBACbC,OAAO;oBACLC,MAAM;oBACNC,OAAOlC,EAAE;oBACTmC,UAAU;gBACZ;gBACAC,MAAK;;;;;;0BAEP,QAAChE;;;;;0BACD,QAACK;gBACC4D,QAAQjC,iBAAiBiC,MAAM;gBAC/BC,WAAW;gBACXC,iBAAgB;gBAChBC,YAAW;gBACXC,kBAAkBlD;gBAClBmD,aAAa;gBACbZ,UAAU;;;;;;0BAEZ,QAACvD;gBAAWoE,MAAK;0BAAS3C,EAAE;;;;;;;;;;;;AAGlC,EAAC"}
@@ -1,4 +1,6 @@
1
+ import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
1
2
  import { buildFormState } from '@payloadcms/ui/utilities/buildFormState';
3
+ import React from 'react';
2
4
  import { getDocPreferences } from '../Document/getDocPreferences.js';
3
5
  import { getDocumentData } from '../Document/getDocumentData.js';
4
6
  import { CreateFirstUserClient } from './index.client.js';
@@ -53,11 +55,40 @@ export async function CreateFirstUserView({ initPageResult }) {
53
55
  skipClientConfigAuth: true,
54
56
  skipValidation: true
55
57
  });
56
- return <div className="create-first-user">
57
- <h1>{req.t('general:welcome')}</h1>
58
- <p>{req.t('authentication:beginCreateFirstUser')}</p>
59
- <CreateFirstUserClient docPermissions={docPermissionsForForm} docPreferences={docPreferences} initialState={formState} loginWithUsername={loginWithUsername} userSlug={userSlug}/>
60
- </div>;
58
+ return /*#__PURE__*/ _jsxDEV("div", {
59
+ className: "create-first-user",
60
+ children: [
61
+ /*#__PURE__*/ _jsxDEV("h1", {
62
+ children: req.t('general:welcome')
63
+ }, void 0, false, {
64
+ fileName: "src/views/CreateFirstUser/index.tsx",
65
+ lineNumber: 82,
66
+ columnNumber: 7
67
+ }, this),
68
+ /*#__PURE__*/ _jsxDEV("p", {
69
+ children: req.t('authentication:beginCreateFirstUser')
70
+ }, void 0, false, {
71
+ fileName: "src/views/CreateFirstUser/index.tsx",
72
+ lineNumber: 83,
73
+ columnNumber: 7
74
+ }, this),
75
+ /*#__PURE__*/ _jsxDEV(CreateFirstUserClient, {
76
+ docPermissions: docPermissionsForForm,
77
+ docPreferences: docPreferences,
78
+ initialState: formState,
79
+ loginWithUsername: loginWithUsername,
80
+ userSlug: userSlug
81
+ }, void 0, false, {
82
+ fileName: "src/views/CreateFirstUser/index.tsx",
83
+ lineNumber: 84,
84
+ columnNumber: 7
85
+ }, this)
86
+ ]
87
+ }, void 0, true, {
88
+ fileName: "src/views/CreateFirstUser/index.tsx",
89
+ lineNumber: 81,
90
+ columnNumber: 5
91
+ }, this);
61
92
  }
62
93
 
63
94
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n SanitizedDocumentPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport React from 'react'\n\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport async function CreateFirstUserView({ initPageResult }: AdminViewServerProps) {\n const {\n locale,\n req,\n req: {\n payload: {\n collections,\n config: {\n admin: { user: userSlug },\n },\n },\n },\n } = initPageResult\n\n const collectionConfig = collections?.[userSlug]?.config\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n // Fetch the data required for the view\n const data = await getDocumentData({\n collectionSlug: collectionConfig.slug,\n locale,\n payload: req.payload,\n req,\n user: req.user,\n })\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n collectionSlug: collectionConfig.slug,\n payload: req.payload,\n user: req.user,\n })\n\n const baseFields: SanitizedFieldsPermissions = Object.fromEntries(\n collectionConfig.fields\n .filter((f): f is { name: string } & typeof f => 'name' in f && typeof f.name === 'string')\n .map((f) => [f.name, { create: true, read: true, update: true }]),\n )\n\n // In create-first-user we should always allow all fields\n const docPermissionsForForm: SanitizedDocumentPermissions = {\n create: true,\n delete: true,\n fields: baseFields,\n read: true,\n readVersions: true,\n update: true,\n }\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions: docPermissionsForForm,\n docPreferences,\n locale: locale?.code,\n operation: 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n skipClientConfigAuth: true,\n skipValidation: true,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n docPermissions={docPermissionsForForm}\n docPreferences={docPreferences}\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"names":["buildFormState","getDocPreferences","getDocumentData","CreateFirstUserClient","CreateFirstUserView","initPageResult","locale","req","payload","collections","config","admin","user","userSlug","collectionConfig","auth","authOptions","loginWithUsername","data","collectionSlug","slug","docPreferences","baseFields","Object","fromEntries","fields","filter","f","name","map","create","read","update","docPermissionsForForm","delete","readVersions","state","formState","docPermissions","code","operation","renderAllFields","schemaPath","skipClientConfigAuth","skipValidation","div","className","h1","t","p","initialState"],"mappings":"AAMA,SAASA,cAAc,QAAQ,0CAAyC;AAGxE,SAASC,iBAAiB,QAAQ,mCAAkC;AACpE,SAASC,eAAe,QAAQ,iCAAgC;AAChE,SAASC,qBAAqB,QAAQ,oBAAmB;AACzD,OAAO,eAAc;AAErB,OAAO,eAAeC,oBAAoB,EAAEC,cAAc,EAAwB;IAChF,MAAM,EACJC,MAAM,EACNC,GAAG,EACHA,KAAK,EACHC,SAAS,EACPC,WAAW,EACXC,QAAQ,EACNC,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EAC1B,EACF,EACF,EACF,GAAGR;IAEJ,MAAMS,mBAAmBL,aAAa,CAACI,SAAS,EAAEH;IAClD,MAAM,EAAEK,MAAMC,WAAW,EAAE,GAAGF;IAC9B,MAAMG,oBAAoBD,YAAYC,iBAAiB;IAEvD,uCAAuC;IACvC,MAAMC,OAAO,MAAMhB,gBAAgB;QACjCiB,gBAAgBL,iBAAiBM,IAAI;QACrCd;QACAE,SAASD,IAAIC,OAAO;QACpBD;QACAK,MAAML,IAAIK,IAAI;IAChB;IAEA,2BAA2B;IAC3B,MAAMS,iBAAiB,MAAMpB,kBAAkB;QAC7CkB,gBAAgBL,iBAAiBM,IAAI;QACrCZ,SAASD,IAAIC,OAAO;QACpBI,MAAML,IAAIK,IAAI;IAChB;IAEA,MAAMU,aAAyCC,OAAOC,WAAW,CAC/DV,iBAAiBW,MAAM,CACpBC,MAAM,CAAC,CAACC,IAAwC,UAAUA,KAAK,OAAOA,EAAEC,IAAI,KAAK,UACjFC,GAAG,CAAC,CAACF,IAAM;YAACA,EAAEC,IAAI;YAAE;gBAAEE,QAAQ;gBAAMC,MAAM;gBAAMC,QAAQ;YAAK;SAAE;IAGpE,yDAAyD;IACzD,MAAMC,wBAAsD;QAC1DH,QAAQ;QACRI,QAAQ;QACRT,QAAQH;QACRS,MAAM;QACNI,cAAc;QACdH,QAAQ;IACV;IAEA,qCAAqC;IACrC,MAAM,EAAEI,OAAOC,SAAS,EAAE,GAAG,MAAMrC,eAAe;QAChDmB,gBAAgBL,iBAAiBM,IAAI;QACrCF;QACAoB,gBAAgBL;QAChBZ;QACAf,QAAQA,QAAQiC;QAChBC,WAAW;QACXC,iBAAiB;QACjBlC;QACAmC,YAAY5B,iBAAiBM,IAAI;QACjCuB,sBAAsB;QACtBC,gBAAgB;IAClB;IAEA,QACGC,IAAIC,UAAU,oBAAoB;MACjC,CAACC,IAAIxC,IAAIyC,CAAC,CAAC,qBAAqBD,GAAG;MACnC,CAACE,GAAG1C,IAAIyC,CAAC,CAAC,yCAAyCC,EAAE;MACrD,CAAC9C,sBACCmC,gBAAgBL,uBAChBZ,gBAAgBA,gBAChB6B,cAAcb,WACdpB,mBAAmBA,mBACnBJ,UAAUA,WACV;IACJ,EAAEgC;AAEN"}
1
+ {"version":3,"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n SanitizedDocumentPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport React from 'react'\n\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport async function CreateFirstUserView({ initPageResult }: AdminViewServerProps) {\n const {\n locale,\n req,\n req: {\n payload: {\n collections,\n config: {\n admin: { user: userSlug },\n },\n },\n },\n } = initPageResult\n\n const collectionConfig = collections?.[userSlug]?.config\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n // Fetch the data required for the view\n const data = await getDocumentData({\n collectionSlug: collectionConfig.slug,\n locale,\n payload: req.payload,\n req,\n user: req.user,\n })\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n collectionSlug: collectionConfig.slug,\n payload: req.payload,\n user: req.user,\n })\n\n const baseFields: SanitizedFieldsPermissions = Object.fromEntries(\n collectionConfig.fields\n .filter((f): f is { name: string } & typeof f => 'name' in f && typeof f.name === 'string')\n .map((f) => [f.name, { create: true, read: true, update: true }]),\n )\n\n // In create-first-user we should always allow all fields\n const docPermissionsForForm: SanitizedDocumentPermissions = {\n create: true,\n delete: true,\n fields: baseFields,\n read: true,\n readVersions: true,\n update: true,\n }\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions: docPermissionsForForm,\n docPreferences,\n locale: locale?.code,\n operation: 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n skipClientConfigAuth: true,\n skipValidation: true,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n docPermissions={docPermissionsForForm}\n docPreferences={docPreferences}\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"names":["buildFormState","React","getDocPreferences","getDocumentData","CreateFirstUserClient","CreateFirstUserView","initPageResult","locale","req","payload","collections","config","admin","user","userSlug","collectionConfig","auth","authOptions","loginWithUsername","data","collectionSlug","slug","docPreferences","baseFields","Object","fromEntries","fields","filter","f","name","map","create","read","update","docPermissionsForForm","delete","readVersions","state","formState","docPermissions","code","operation","renderAllFields","schemaPath","skipClientConfigAuth","skipValidation","div","className","h1","t","p","initialState"],"mappings":";AAMA,SAASA,cAAc,QAAQ,0CAAyC;AACxE,OAAOC,WAAW,QAAO;AAEzB,SAASC,iBAAiB,QAAQ,mCAAkC;AACpE,SAASC,eAAe,QAAQ,iCAAgC;AAChE,SAASC,qBAAqB,QAAQ,oBAAmB;AACzD,OAAO,eAAc;AAErB,OAAO,eAAeC,oBAAoB,EAAEC,cAAc,EAAwB;IAChF,MAAM,EACJC,MAAM,EACNC,GAAG,EACHA,KAAK,EACHC,SAAS,EACPC,WAAW,EACXC,QAAQ,EACNC,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EAC1B,EACF,EACF,EACF,GAAGR;IAEJ,MAAMS,mBAAmBL,aAAa,CAACI,SAAS,EAAEH;IAClD,MAAM,EAAEK,MAAMC,WAAW,EAAE,GAAGF;IAC9B,MAAMG,oBAAoBD,YAAYC,iBAAiB;IAEvD,uCAAuC;IACvC,MAAMC,OAAO,MAAMhB,gBAAgB;QACjCiB,gBAAgBL,iBAAiBM,IAAI;QACrCd;QACAE,SAASD,IAAIC,OAAO;QACpBD;QACAK,MAAML,IAAIK,IAAI;IAChB;IAEA,2BAA2B;IAC3B,MAAMS,iBAAiB,MAAMpB,kBAAkB;QAC7CkB,gBAAgBL,iBAAiBM,IAAI;QACrCZ,SAASD,IAAIC,OAAO;QACpBI,MAAML,IAAIK,IAAI;IAChB;IAEA,MAAMU,aAAyCC,OAAOC,WAAW,CAC/DV,iBAAiBW,MAAM,CACpBC,MAAM,CAAC,CAACC,IAAwC,UAAUA,KAAK,OAAOA,EAAEC,IAAI,KAAK,UACjFC,GAAG,CAAC,CAACF,IAAM;YAACA,EAAEC,IAAI;YAAE;gBAAEE,QAAQ;gBAAMC,MAAM;gBAAMC,QAAQ;YAAK;SAAE;IAGpE,yDAAyD;IACzD,MAAMC,wBAAsD;QAC1DH,QAAQ;QACRI,QAAQ;QACRT,QAAQH;QACRS,MAAM;QACNI,cAAc;QACdH,QAAQ;IACV;IAEA,qCAAqC;IACrC,MAAM,EAAEI,OAAOC,SAAS,EAAE,GAAG,MAAMtC,eAAe;QAChDoB,gBAAgBL,iBAAiBM,IAAI;QACrCF;QACAoB,gBAAgBL;QAChBZ;QACAf,QAAQA,QAAQiC;QAChBC,WAAW;QACXC,iBAAiB;QACjBlC;QACAmC,YAAY5B,iBAAiBM,IAAI;QACjCuB,sBAAsB;QACtBC,gBAAgB;IAClB;IAEA,qBACE,QAACC;QAAIC,WAAU;;0BACb,QAACC;0BAAIxC,IAAIyC,CAAC,CAAC;;;;;;0BACX,QAACC;0BAAG1C,IAAIyC,CAAC,CAAC;;;;;;0BACV,QAAC7C;gBACCmC,gBAAgBL;gBAChBZ,gBAAgBA;gBAChB6B,cAAcb;gBACdpB,mBAAmBA;gBACnBJ,UAAUA;;;;;;;;;;;;AAIlB"}