@payloadcms/next 3.68.0-internal-debug.591ab42 → 3.68.0-internal-debug.e9b66ee

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 (162) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +6 -21
  2. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  3. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +20 -44
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  5. package/dist/elements/DocumentHeader/Tabs/index.js +41 -73
  6. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +1 -10
  8. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  9. package/dist/elements/DocumentHeader/index.js +7 -45
  10. package/dist/elements/DocumentHeader/index.js.map +1 -1
  11. package/dist/elements/FormHeader/index.js +4 -25
  12. package/dist/elements/FormHeader/index.js.map +1 -1
  13. package/dist/elements/Nav/NavHamburger/index.js +5 -21
  14. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  15. package/dist/elements/Nav/NavWrapper/index.js +10 -24
  16. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  17. package/dist/elements/Nav/SettingsMenuButton/index.js +4 -27
  18. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  19. package/dist/elements/Nav/index.client.js +43 -91
  20. package/dist/elements/Nav/index.client.js.map +1 -1
  21. package/dist/elements/Nav/index.js +48 -100
  22. package/dist/elements/Nav/index.js.map +1 -1
  23. package/dist/layouts/Root/NestProviders.js +3 -12
  24. package/dist/layouts/Root/NestProviders.js.map +1 -1
  25. package/dist/layouts/Root/index.js +19 -84
  26. package/dist/layouts/Root/index.js.map +1 -1
  27. package/dist/prod/styles.css +5 -0
  28. package/dist/routes/rest/og/image.js +61 -97
  29. package/dist/routes/rest/og/image.js.map +1 -1
  30. package/dist/routes/rest/og/index.js +1 -15
  31. package/dist/routes/rest/og/index.js.map +1 -1
  32. package/dist/templates/Default/NavHamburger/index.js +1 -10
  33. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  34. package/dist/templates/Default/Wrapper/index.js +9 -16
  35. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  36. package/dist/templates/Default/index.js +38 -106
  37. package/dist/templates/Default/index.js.map +1 -1
  38. package/dist/templates/Minimal/index.js +3 -18
  39. package/dist/templates/Minimal/index.js.map +1 -1
  40. package/dist/views/API/LocaleSelector/index.js +5 -15
  41. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  42. package/dist/views/API/RenderJSON/index.js +59 -156
  43. package/dist/views/API/RenderJSON/index.js.map +1 -1
  44. package/dist/views/API/index.client.js +71 -215
  45. package/dist/views/API/index.client.js.map +1 -1
  46. package/dist/views/API/index.js +1 -7
  47. package/dist/views/API/index.js.map +1 -1
  48. package/dist/views/Account/ResetPreferences/index.js +8 -35
  49. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  50. package/dist/views/Account/Settings/LanguageSelector.js +3 -15
  51. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  52. package/dist/views/Account/Settings/index.js +12 -58
  53. package/dist/views/Account/Settings/index.js.map +1 -1
  54. package/dist/views/Account/ToggleTheme/index.js +19 -30
  55. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  56. package/dist/views/Account/index.js +25 -83
  57. package/dist/views/Account/index.js.map +1 -1
  58. package/dist/views/BrowseByFolder/buildView.js +28 -38
  59. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  60. package/dist/views/CollectionFolders/buildView.js +35 -45
  61. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  62. package/dist/views/CreateFirstUser/index.client.js +20 -75
  63. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  64. package/dist/views/CreateFirstUser/index.js +5 -36
  65. package/dist/views/CreateFirstUser/index.js.map +1 -1
  66. package/dist/views/Dashboard/Default/index.js +94 -169
  67. package/dist/views/Dashboard/Default/index.js.map +1 -1
  68. package/dist/views/Dashboard/index.js +24 -43
  69. package/dist/views/Dashboard/index.js.map +1 -1
  70. package/dist/views/Document/index.js +14 -76
  71. package/dist/views/Document/index.js.map +1 -1
  72. package/dist/views/Edit/index.js +1 -9
  73. package/dist/views/Edit/index.js.map +1 -1
  74. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +57 -104
  75. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  76. package/dist/views/ForgotPassword/index.js +23 -75
  77. package/dist/views/ForgotPassword/index.js.map +1 -1
  78. package/dist/views/List/index.js +31 -53
  79. package/dist/views/List/index.js.map +1 -1
  80. package/dist/views/List/renderListViewSlots.js +9 -21
  81. package/dist/views/List/renderListViewSlots.js.map +1 -1
  82. package/dist/views/Login/LoginField/index.js +23 -49
  83. package/dist/views/Login/LoginField/index.js.map +1 -1
  84. package/dist/views/Login/LoginForm/index.js +20 -68
  85. package/dist/views/Login/LoginForm/index.js.map +1 -1
  86. package/dist/views/Login/index.js +33 -66
  87. package/dist/views/Login/index.js.map +1 -1
  88. package/dist/views/Logout/LogoutClient.js +7 -36
  89. package/dist/views/Logout/LogoutClient.js.map +1 -1
  90. package/dist/views/Logout/index.js +4 -26
  91. package/dist/views/Logout/index.js.map +1 -1
  92. package/dist/views/NotFound/index.client.js +15 -55
  93. package/dist/views/NotFound/index.client.js.map +1 -1
  94. package/dist/views/NotFound/index.js +5 -33
  95. package/dist/views/NotFound/index.js.map +1 -1
  96. package/dist/views/ResetPassword/ResetPasswordForm/index.js +12 -57
  97. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  98. package/dist/views/ResetPassword/index.js +23 -86
  99. package/dist/views/ResetPassword/index.js.map +1 -1
  100. package/dist/views/Root/index.js +12 -52
  101. package/dist/views/Root/index.js.map +1 -1
  102. package/dist/views/Unauthorized/index.js +15 -50
  103. package/dist/views/Unauthorized/index.js.map +1 -1
  104. package/dist/views/Verify/index.js +10 -47
  105. package/dist/views/Verify/index.js.map +1 -1
  106. package/dist/views/Version/Default/SelectedLocalesContext.js +1 -1
  107. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  108. package/dist/views/Version/Default/index.js +52 -258
  109. package/dist/views/Version/Default/index.js.map +1 -1
  110. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +16 -65
  111. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  112. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +24 -66
  113. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  114. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +5 -34
  115. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  116. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +4 -17
  117. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  118. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +10 -55
  119. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  120. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +43 -128
  121. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  122. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +23 -151
  123. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  124. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +3 -16
  125. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  126. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +4 -17
  127. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  128. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +51 -122
  129. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  130. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +4 -17
  131. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  132. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +27 -176
  133. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  134. package/dist/views/Version/RenderFieldsToDiff/index.js +1 -9
  135. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  136. package/dist/views/Version/Restore/index.js +21 -61
  137. package/dist/views/Version/Restore/index.js.map +1 -1
  138. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +16 -24
  139. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  140. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +6 -37
  141. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  142. package/dist/views/Version/SelectComparison/index.js +10 -40
  143. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  144. package/dist/views/Version/SelectLocales/index.js +17 -33
  145. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  146. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +17 -84
  147. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  148. package/dist/views/Version/index.js +21 -63
  149. package/dist/views/Version/index.js.map +1 -1
  150. package/dist/views/Versions/buildColumns.js +9 -58
  151. package/dist/views/Versions/buildColumns.js.map +1 -1
  152. package/dist/views/Versions/cells/AutosaveCell/index.js +4 -31
  153. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  154. package/dist/views/Versions/cells/CreatedAt/index.js +7 -15
  155. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  156. package/dist/views/Versions/cells/ID/index.js +2 -9
  157. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  158. package/dist/views/Versions/index.client.js +20 -98
  159. package/dist/views/Versions/index.client.js.map +1 -1
  160. package/dist/views/Versions/index.js +13 -59
  161. package/dist/views/Versions/index.js.map +1 -1
  162. package/package.json +10 -9
@@ -1,10 +1,8 @@
1
- import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
2
1
  import { DefaultBrowseByFolderView, HydrateAuthProvider } from '@payloadcms/ui';
3
2
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
3
  import { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc';
5
4
  import { formatAdminURL } from '@payloadcms/ui/shared';
6
5
  import { redirect } from 'next/navigation.js';
7
- import React from 'react';
8
6
  export const buildBrowseByFolderView = async (args)=>{
9
7
  const { browseByFolderSlugs: browseByFolderSlugsFromArgs = [], disableBulkDelete, disableBulkEdit, enableRowSelections, folderID, initPageResult, isInDrawer, params, query: queryFromArgs, searchParams } = args;
10
8
  const { locale: fullLocale, permissions, req: { i18n, payload, payload: { config }, query: queryFromReq, user }, visibleEntities } = initPageResult;
@@ -109,42 +107,34 @@ export const buildBrowseByFolderView = async (args)=>{
109
107
  return permissions?.collections?.[collectionSlug]?.create && visibleEntities.collections.includes(collectionSlug);
110
108
  });
111
109
  return {
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)
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
+ </>
148
138
  };
149
139
  };
150
140
 
@@ -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","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
+ {"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,10 +1,8 @@
1
- import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
2
1
  import { DefaultCollectionFolderView, HydrateAuthProvider } from '@payloadcms/ui';
3
2
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
3
  import { getFolderResultsComponentAndData, upsertPreferences } from '@payloadcms/ui/rsc';
5
4
  import { formatAdminURL } from '@payloadcms/ui/shared';
6
5
  import { redirect } from 'next/navigation.js';
7
- import React from 'react';
8
6
  // import { renderFolderViewSlots } from './renderFolderViewSlots.js'
9
7
  /**
10
8
  * Builds the entire view for collection-folder views on the server
@@ -86,49 +84,41 @@ import React from 'react';
86
84
  // })
87
85
  const search = query?.search;
88
86
  return {
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)
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
+ </>
132
122
  };
133
123
  }
134
124
  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","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
+ {"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,5 +1,4 @@
1
1
  'use client';
2
- import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
3
2
  import { ConfirmPasswordField, EmailAndUsernameFields, Form, FormSubmit, PasswordField, RenderFields, useAuth, useConfig, useServerFunctions, useTranslation } from '@payloadcms/ui';
4
3
  import { abortAndIgnore, handleAbortRef } from '@payloadcms/ui/shared';
5
4
  import React, { useEffect } from 'react';
@@ -43,80 +42,26 @@ export const CreateFirstUserClient = ({ docPermissions, docPreferences, initialS
43
42
  abortAndIgnore(abortOnChange);
44
43
  };
45
44
  }, []);
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);
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>;
120
65
  };
121
66
 
122
67
  //# 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,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
+ {"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,6 +1,4 @@
1
- import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
2
1
  import { buildFormState } from '@payloadcms/ui/utilities/buildFormState';
3
- import React from 'react';
4
2
  import { getDocPreferences } from '../Document/getDocPreferences.js';
5
3
  import { getDocumentData } from '../Document/getDocumentData.js';
6
4
  import { CreateFirstUserClient } from './index.client.js';
@@ -55,40 +53,11 @@ export async function CreateFirstUserView({ initPageResult }) {
55
53
  skipClientConfigAuth: true,
56
54
  skipValidation: true
57
55
  });
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);
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>;
92
61
  }
93
62
 
94
63
  //# 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","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"}
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"}