@payloadcms/next 3.0.0-canary.51be7be → 3.0.0-canary.5624723
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.
- package/dist/cjs/withPayload.cjs +22 -1
- package/dist/cjs/withPayload.cjs.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +13 -15
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -2
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +9 -14
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +13 -28
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.d.ts +2 -3
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js +9 -12
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/Logo/index.d.ts.map +1 -1
- package/dist/elements/Logo/index.js +5 -6
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
- package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -0
- package/dist/elements/Nav/getNavPrefs.js +26 -0
- package/dist/elements/Nav/getNavPrefs.js.map +1 -0
- package/dist/elements/Nav/index.client.d.ts +6 -1
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +44 -94
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +66 -23
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/exports/layouts.d.ts +1 -0
- package/dist/exports/layouts.d.ts.map +1 -1
- package/dist/exports/layouts.js +1 -0
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/routes.d.ts +1 -1
- package/dist/exports/routes.d.ts.map +1 -1
- package/dist/exports/routes.js +1 -1
- package/dist/exports/routes.js.map +1 -1
- package/dist/exports/utilities.d.ts +1 -1
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +2 -1
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.d.ts +0 -2
- package/dist/exports/views.d.ts.map +1 -1
- package/dist/exports/views.js +0 -2
- package/dist/exports/views.js.map +1 -1
- package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
- package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
- package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/processMultipart.js +9 -11
- package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
- package/dist/layouts/Root/NestProviders.d.ts +11 -0
- package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
- package/dist/layouts/Root/NestProviders.js +21 -0
- package/dist/layouts/Root/NestProviders.js.map +1 -0
- package/dist/layouts/Root/checkDependencies.d.ts +2 -0
- package/dist/layouts/Root/checkDependencies.d.ts.map +1 -0
- package/dist/layouts/Root/checkDependencies.js +49 -0
- package/dist/layouts/Root/checkDependencies.js.map +1 -0
- package/dist/layouts/Root/index.d.ts +4 -3
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +35 -96
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/rest/collections/create.d.ts.map +1 -1
- package/dist/routes/rest/collections/create.js +5 -1
- package/dist/routes/rest/collections/create.js.map +1 -1
- package/dist/routes/rest/collections/delete.d.ts.map +1 -1
- package/dist/routes/rest/collections/delete.js +6 -0
- package/dist/routes/rest/collections/delete.js.map +1 -1
- package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/deleteByID.js +5 -1
- package/dist/routes/rest/collections/deleteByID.js.map +1 -1
- package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
- package/dist/routes/rest/collections/duplicate.js +5 -1
- package/dist/routes/rest/collections/duplicate.js.map +1 -1
- package/dist/routes/rest/collections/find.d.ts.map +1 -1
- package/dist/routes/rest/collections/find.js +7 -1
- package/dist/routes/rest/collections/find.js.map +1 -1
- package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/findByID.js +5 -1
- package/dist/routes/rest/collections/findByID.js.map +1 -1
- package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/findVersionByID.js +5 -1
- package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
- package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
- package/dist/routes/rest/collections/findVersions.js +7 -1
- package/dist/routes/rest/collections/findVersions.js.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.js +2 -0
- package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
- package/dist/routes/rest/collections/update.d.ts.map +1 -1
- package/dist/routes/rest/collections/update.js +6 -0
- package/dist/routes/rest/collections/update.js.map +1 -1
- package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/updateByID.js +5 -1
- package/dist/routes/rest/collections/updateByID.js.map +1 -1
- package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
- package/dist/routes/rest/globals/findOne.js +5 -1
- package/dist/routes/rest/globals/findOne.js.map +1 -1
- package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
- package/dist/routes/rest/globals/findVersionByID.js +5 -1
- package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
- package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
- package/dist/routes/rest/globals/findVersions.js +7 -1
- package/dist/routes/rest/globals/findVersions.js.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.js +2 -0
- package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
- package/dist/routes/rest/globals/update.d.ts.map +1 -1
- package/dist/routes/rest/globals/update.js +5 -1
- package/dist/routes/rest/globals/update.js.map +1 -1
- package/dist/routes/rest/index.d.ts +5 -0
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js +73 -10
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.d.ts +4 -2
- package/dist/routes/rest/og/image.d.ts.map +1 -1
- package/dist/routes/rest/og/image.js +7 -3
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.d.ts.map +1 -1
- package/dist/routes/rest/og/index.js +7 -12
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/routes/rest/routeError.d.ts.map +1 -1
- package/dist/routes/rest/routeError.js +10 -50
- package/dist/routes/rest/routeError.js.map +1 -1
- package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +1 -1
- package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -1
- package/dist/routes/rest/utilities/sanitizeJoinParams.js +9 -5
- package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -1
- package/dist/routes/rest/utilities/sanitizePopulate.d.ts +3 -0
- package/dist/routes/rest/utilities/sanitizePopulate.d.ts.map +1 -0
- package/dist/routes/rest/utilities/sanitizePopulate.js +11 -0
- package/dist/routes/rest/utilities/sanitizePopulate.js.map +1 -0
- package/dist/routes/rest/utilities/sanitizeSelect.d.ts +6 -0
- package/dist/routes/rest/utilities/sanitizeSelect.d.ts.map +1 -0
- package/dist/routes/rest/utilities/sanitizeSelect.js +17 -0
- package/dist/routes/rest/utilities/sanitizeSelect.js.map +1 -0
- package/dist/templates/Default/index.d.ts +2 -1
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +97 -41
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
- package/dist/utilities/addLocalesToRequest.js +18 -8
- package/dist/utilities/addLocalesToRequest.js.map +1 -1
- package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
- package/dist/utilities/createPayloadRequest.js +15 -13
- package/dist/utilities/createPayloadRequest.js.map +1 -1
- package/dist/utilities/getClientConfig.d.ts +8 -0
- package/dist/utilities/getClientConfig.d.ts.map +1 -0
- package/dist/utilities/getClientConfig.js +16 -0
- package/dist/utilities/getClientConfig.js.map +1 -0
- package/dist/utilities/getPayloadHMR.d.ts +1 -2
- package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
- package/dist/utilities/getPayloadHMR.js +4 -102
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/getRequestLocales.d.ts.map +1 -1
- package/dist/utilities/getRequestLocales.js +10 -6
- package/dist/utilities/getRequestLocales.js.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts +3 -0
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
- package/dist/utilities/handleServerFunctions.js +35 -0
- package/dist/utilities/handleServerFunctions.js.map +1 -0
- package/dist/utilities/initPage/handleAdminPage.d.ts +2 -1
- package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.js +9 -1
- package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.js +2 -2
- package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +10 -5
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/initPage/isCustomAdminView.d.ts +10 -0
- package/dist/utilities/initPage/isCustomAdminView.d.ts.map +1 -0
- package/dist/utilities/initPage/isCustomAdminView.js +31 -0
- package/dist/utilities/initPage/isCustomAdminView.js.map +1 -0
- package/dist/utilities/initPage/shared.d.ts.map +1 -1
- package/dist/utilities/initPage/shared.js +2 -1
- package/dist/utilities/initPage/shared.js.map +1 -1
- package/dist/utilities/initReq.d.ts +3 -3
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/initReq.js +5 -6
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +2 -2
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +16 -16
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Account/Settings/index.js +0 -1
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +2 -0
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +81 -28
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.d.ts +3 -1
- package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +83 -108
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +36 -4
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.d.ts +5 -3
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js +58 -47
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/index.js +55 -37
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/getDocPreferences.d.ts +11 -0
- package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
- package/dist/views/Document/getDocPreferences.js +44 -0
- package/dist/views/Document/getDocPreferences.js.map +1 -0
- package/dist/views/Document/getDocumentData.d.ts +10 -11
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js +35 -45
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getDocumentPermissions.d.ts +2 -2
- package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
- package/dist/views/Document/getDocumentPermissions.js +10 -7
- package/dist/views/Document/getDocumentPermissions.js.map +1 -1
- package/dist/views/Document/getIsLocked.d.ts +16 -0
- package/dist/views/Document/getIsLocked.d.ts.map +1 -0
- package/dist/views/Document/getIsLocked.js +55 -0
- package/dist/views/Document/getIsLocked.js.map +1 -0
- package/dist/views/Document/getVersions.d.ts +19 -0
- package/dist/views/Document/getVersions.d.ts.map +1 -0
- package/dist/views/Document/getVersions.js +181 -0
- package/dist/views/Document/getVersions.js.map +1 -0
- package/dist/views/Document/getViewsFromConfig.d.ts +3 -3
- package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
- package/dist/views/Document/getViewsFromConfig.js +30 -25
- package/dist/views/Document/getViewsFromConfig.js.map +1 -1
- package/dist/views/Document/handleServerFunction.d.ts +25 -0
- package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
- package/dist/views/Document/handleServerFunction.js +159 -0
- package/dist/views/Document/handleServerFunction.js.map +1 -0
- package/dist/views/Document/index.d.ts +5 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +184 -73
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
- package/dist/views/Document/renderDocumentSlots.js +92 -0
- package/dist/views/Document/renderDocumentSlots.js.map +1 -0
- package/dist/views/Edit/index.d.ts +3 -2
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +7 -3
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +5 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +2 -0
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/handleServerFunction.d.ts +27 -0
- package/dist/views/List/handleServerFunction.d.ts.map +1 -0
- package/dist/views/List/handleServerFunction.js +158 -0
- package/dist/views/List/handleServerFunction.js.map +1 -0
- package/dist/views/List/index.d.ts +12 -2
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +145 -85
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts +12 -0
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
- package/dist/views/List/renderListViewSlots.js +56 -0
- package/dist/views/List/renderListViewSlots.js.map +1 -0
- package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
- package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
- package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +52 -42
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/index.d.ts.map +1 -1
- package/dist/views/LivePreview/index.js +5 -36
- package/dist/views/LivePreview/index.js.map +1 -1
- package/dist/views/Login/LoginField/index.d.ts.map +1 -1
- package/dist/views/Login/LoginField/index.js +6 -1
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
- package/dist/views/Login/LoginForm/index.js +3 -1
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.d.ts.map +1 -1
- package/dist/views/Login/index.js +26 -20
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
- package/dist/views/Logout/LogoutClient.js +5 -4
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/NotFound/index.d.ts.map +1 -1
- package/dist/views/NotFound/index.js +3 -0
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +13 -12
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +2 -0
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/getViewFromConfig.d.ts +3 -1
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
- package/dist/views/Root/getViewFromConfig.js +128 -7
- package/dist/views/Root/getViewFromConfig.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +35 -15
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +3 -5
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.d.ts +2 -2
- package/dist/views/Version/Default/types.d.ts.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +4 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +3 -3
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.d.ts +4 -2
- package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
- package/dist/views/Version/Restore/index.js +1 -1
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +3 -2
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +33 -61
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +48 -37
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
- package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +43 -44
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.d.ts +3 -1
- package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +7 -19
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/getLatestVersion.js +1 -1
- package/dist/views/Versions/getLatestVersion.js.map +1 -1
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js +53 -51
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +5 -6
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +19 -1
- package/dist/withPayload.js.map +1 -1
- package/license.md +22 -0
- package/package.json +18 -11
- package/dist/elements/DocumentLocked/index.d.ts +0 -12
- package/dist/elements/DocumentLocked/index.d.ts.map +0 -1
- package/dist/elements/DocumentLocked/index.js +0 -142
- package/dist/elements/DocumentLocked/index.js.map +0 -1
- package/dist/elements/DocumentLocked/index.scss +0 -39
- package/dist/elements/DocumentTakeOver/index.d.ts +0 -8
- package/dist/elements/DocumentTakeOver/index.d.ts.map +0 -1
- package/dist/elements/DocumentTakeOver/index.js +0 -98
- package/dist/elements/DocumentTakeOver/index.js.map +0 -1
- package/dist/elements/DocumentTakeOver/index.scss +0 -39
- package/dist/elements/EmailAndUsername/index.d.ts +0 -14
- package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
- package/dist/elements/EmailAndUsername/index.js +0 -121
- package/dist/elements/EmailAndUsername/index.js.map +0 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
- package/dist/elements/LeaveWithoutSaving/index.js +0 -162
- package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
- package/dist/elements/LeaveWithoutSaving/index.scss +0 -39
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -136
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
- package/dist/routes/rest/buildFormState.d.ts +0 -5
- package/dist/routes/rest/buildFormState.d.ts.map +0 -1
- package/dist/routes/rest/buildFormState.js +0 -46
- package/dist/routes/rest/buildFormState.js.map +0 -1
- package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
- package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +0 -131
- package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
- package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
- package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/Auth/index.js +0 -307
- package/dist/views/Edit/Default/Auth/index.js.map +0 -1
- package/dist/views/Edit/Default/Auth/index.scss +0 -78
- package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
- package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
- package/dist/views/Edit/Default/Auth/types.js +0 -2
- package/dist/views/Edit/Default/Auth/types.js.map +0 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
- package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
- package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
- package/dist/views/Edit/Default/index.d.ts +0 -4
- package/dist/views/Edit/Default/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/index.js +0 -342
- package/dist/views/Edit/Default/index.js.map +0 -1
- package/dist/views/Edit/Default/index.scss +0 -23
- package/dist/views/Edit/Default/types.d.ts +0 -6
- package/dist/views/Edit/Default/types.d.ts.map +0 -1
- package/dist/views/Edit/Default/types.js +0 -2
- package/dist/views/Edit/Default/types.js.map +0 -1
- package/dist/views/Edit/index.client.d.ts +0 -3
- package/dist/views/Edit/index.client.d.ts.map +0 -1
- package/dist/views/Edit/index.client.js +0 -54
- package/dist/views/Edit/index.client.js.map +0 -1
- package/dist/views/List/Default/index.d.ts +0 -4
- package/dist/views/List/Default/index.d.ts.map +0 -1
- package/dist/views/List/Default/index.js +0 -387
- package/dist/views/List/Default/index.js.map +0 -1
- package/dist/views/List/Default/index.scss +0 -179
- package/dist/views/List/Default/types.d.ts +0 -15
- package/dist/views/List/Default/types.d.ts.map +0 -1
- package/dist/views/List/Default/types.js +0 -2
- package/dist/views/List/Default/types.js.map +0 -1
|
@@ -12,6 +12,7 @@ export const processMultipart = async ({
|
|
|
12
12
|
request
|
|
13
13
|
}) => {
|
|
14
14
|
let parsingRequest = true;
|
|
15
|
+
let shouldAbortProccessing = false;
|
|
15
16
|
let fileCount = 0;
|
|
16
17
|
let filesCompleted = 0;
|
|
17
18
|
let allFilesHaveResolved;
|
|
@@ -28,15 +29,16 @@ export const processMultipart = async ({
|
|
|
28
29
|
request.headers.forEach((value, name) => {
|
|
29
30
|
headersObject[name] = value;
|
|
30
31
|
});
|
|
31
|
-
|
|
32
|
-
file.destroy();
|
|
33
|
-
parsingRequest = false;
|
|
34
|
-
failedResolvingFiles(err);
|
|
35
|
-
}
|
|
32
|
+
const reader = request.body.getReader();
|
|
36
33
|
const busboy = Busboy({
|
|
37
34
|
...options,
|
|
38
35
|
headers: headersObject
|
|
39
36
|
});
|
|
37
|
+
function abortAndDestroyFile(file, err) {
|
|
38
|
+
file.destroy();
|
|
39
|
+
shouldAbortProccessing = true;
|
|
40
|
+
failedResolvingFiles(err);
|
|
41
|
+
}
|
|
40
42
|
// Build multipart req.body fields
|
|
41
43
|
busboy.on('field', (field, val) => {
|
|
42
44
|
result.fields = buildFields(result.fields, field, val);
|
|
@@ -113,7 +115,7 @@ export const processMultipart = async ({
|
|
|
113
115
|
mimetype: mime,
|
|
114
116
|
size,
|
|
115
117
|
tempFilePath: getFilePath(),
|
|
116
|
-
truncated: Boolean('truncated' in file && file.truncated)
|
|
118
|
+
truncated: Boolean('truncated' in file && file.truncated) || false
|
|
117
119
|
}, options));
|
|
118
120
|
if (!request[waitFlushProperty]) {
|
|
119
121
|
request[waitFlushProperty] = [];
|
|
@@ -133,7 +135,6 @@ export const processMultipart = async ({
|
|
|
133
135
|
debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`);
|
|
134
136
|
uploadTimer.set();
|
|
135
137
|
});
|
|
136
|
-
// TODO: Valid eslint error - this will likely be a floating promise. Evaluate if we need to handle this differently.
|
|
137
138
|
busboy.on('finish', async () => {
|
|
138
139
|
debugLog(options, `Busboy finished parsing request.`);
|
|
139
140
|
if (options.parseNested) {
|
|
@@ -153,11 +154,8 @@ export const processMultipart = async ({
|
|
|
153
154
|
});
|
|
154
155
|
busboy.on('error', (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST)) => {
|
|
155
156
|
debugLog(options, `Busboy error`);
|
|
156
|
-
parsingRequest = false;
|
|
157
157
|
throw err;
|
|
158
158
|
});
|
|
159
|
-
const reader = request.body.getReader();
|
|
160
|
-
// Start parsing request
|
|
161
159
|
while (parsingRequest) {
|
|
162
160
|
const {
|
|
163
161
|
done,
|
|
@@ -166,7 +164,7 @@ export const processMultipart = async ({
|
|
|
166
164
|
if (done) {
|
|
167
165
|
parsingRequest = false;
|
|
168
166
|
}
|
|
169
|
-
if (value) {
|
|
167
|
+
if (value && !shouldAbortProccessing) {
|
|
170
168
|
busboy.write(value);
|
|
171
169
|
}
|
|
172
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processMultipart.js","names":["Busboy","httpStatus","APIError","fileFactory","memHandler","tempFileHandler","processNested","createUploadTimer","buildFields","debugLog","isFunc","parseFileName","waitFlushProperty","Symbol","processMultipart","options","request","parsingRequest","fileCount","filesCompleted","allFilesHaveResolved","failedResolvingFiles","allFilesComplete","Promise","res","rej","result","fields","undefined","files","headersObject","headers","forEach","value","name","abortAndDestroyFile","file","err","destroy","busboy","on","field","val","info","encoding","filename","mimeType","mime","cleanup","complete","dataHandler","getFilePath","getFileSize","getHash","getWritePromise","useTempFiles","writePromise","catch","end","uploadTimer","uploadTimeout","clear","limitHandler","size","abortOnLimit","responseOnLimit","REQUEST_ENTITY_TOO_LARGE","data","set","buffer","hash","mimetype","tempFilePath","truncated","Boolean","push","message","parseNested","all","then","BAD_REQUEST","reader","body","getReader","done","read","write","e"],"sources":["../../src/fetchAPI-multipart/processMultipart.ts"],"sourcesContent":["import type { FetchAPIFileUploadOptions } from 'payload'\nimport type { Readable } from 'stream'\n\nimport Busboy from 'busboy'\nimport httpStatus from 'http-status'\nimport { APIError } from 'payload'\n\nimport type { FetchAPIFileUploadResponse } from './index.js'\n\nimport { fileFactory } from './fileFactory.js'\nimport { memHandler, tempFileHandler } from './handlers.js'\nimport { processNested } from './processNested.js'\nimport { createUploadTimer } from './uploadTimer.js'\nimport { buildFields, debugLog, isFunc, parseFileName } from './utilities.js'\n\nconst waitFlushProperty = Symbol('wait flush property symbol')\n\ntype ProcessMultipart = (args: {\n options: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const processMultipart: ProcessMultipart = async ({ options, request }) => {\n let parsingRequest = true\n\n let fileCount = 0\n let filesCompleted = 0\n let allFilesHaveResolved: (value?: unknown) => void\n let failedResolvingFiles: (err: Error) => void\n\n const allFilesComplete = new Promise((res, rej) => {\n allFilesHaveResolved = res\n failedResolvingFiles = rej\n })\n\n const result: FetchAPIFileUploadResponse = {\n fields: undefined,\n files: undefined,\n }\n\n const headersObject = {}\n request.headers.forEach((value, name) => {\n headersObject[name] = value\n })\n\n function abortAndDestroyFile(file: Readable, err: APIError) {\n file.destroy()\n parsingRequest = false\n failedResolvingFiles(err)\n }\n\n const busboy = Busboy({ ...options, headers: headersObject })\n\n // Build multipart req.body fields\n busboy.on('field', (field, val) => {\n result.fields = buildFields(result.fields, field, val)\n })\n\n // Build req.files fields\n busboy.on('file', (field, file, info) => {\n fileCount += 1\n // Parse file name(cutting huge names, decoding, etc..).\n const { encoding, filename: name, mimeType: mime } = info\n const filename = parseFileName(options, name)\n\n // Define methods and handlers for upload process.\n const { cleanup, complete, dataHandler, getFilePath, getFileSize, getHash, getWritePromise } =\n options.useTempFiles\n ? tempFileHandler(options, field, filename) // Upload into temporary file.\n : memHandler(options, field, filename) // Upload into RAM.\n\n const writePromise = options.useTempFiles\n ? getWritePromise().catch((err) => {\n busboy.end()\n cleanup()\n })\n : getWritePromise()\n\n const uploadTimer = createUploadTimer(options.uploadTimeout, () => {\n return abortAndDestroyFile(\n file,\n new APIError(`Upload timeout for ${field}->${filename}, bytes:${getFileSize()}`),\n )\n })\n\n file.on('limit', () => {\n debugLog(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.clear()\n\n if (isFunc(options.limitHandler)) {\n options.limitHandler({ request, size: getFileSize() })\n }\n\n // Return error and cleanup files if abortOnLimit set.\n if (options.abortOnLimit) {\n debugLog(options, `Upload file size limit reached ${field}->${filename}.`)\n cleanup()\n abortAndDestroyFile(\n file,\n new APIError(options.responseOnLimit, httpStatus.REQUEST_ENTITY_TOO_LARGE, {\n size: getFileSize(),\n }),\n )\n }\n })\n\n file.on('data', (data) => {\n uploadTimer.set()\n dataHandler(data)\n })\n\n file.on('end', () => {\n const size = getFileSize()\n debugLog(options, `Upload finished ${field}->${filename}, bytes:${size}`)\n uploadTimer.clear()\n\n if (!name && size === 0) {\n fileCount -= 1\n if (options.useTempFiles) {\n cleanup()\n debugLog(options, `Removing the empty file ${field}->${filename}`)\n }\n return debugLog(options, `Don't add file instance if original name and size are empty`)\n }\n\n filesCompleted += 1\n\n result.files = buildFields(\n result.files,\n field,\n fileFactory(\n {\n name: filename,\n buffer: complete(),\n encoding,\n hash: getHash(),\n mimetype: mime,\n size,\n tempFilePath: getFilePath(),\n truncated: Boolean('truncated' in file && file.truncated),\n },\n options,\n ),\n )\n\n if (!request[waitFlushProperty]) {\n request[waitFlushProperty] = []\n }\n request[waitFlushProperty].push(writePromise)\n\n if (filesCompleted === fileCount) {\n allFilesHaveResolved()\n }\n })\n\n file.on('error', (err) => {\n uploadTimer.clear()\n debugLog(options, `File Error: ${err.message}`)\n cleanup()\n failedResolvingFiles(err)\n })\n\n // Start upload process.\n debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.set()\n })\n\n // TODO: Valid eslint error - this will likely be a floating promise. Evaluate if we need to handle this differently.\n\n busboy.on('finish', async () => {\n debugLog(options, `Busboy finished parsing request.`)\n if (options.parseNested) {\n result.fields = processNested(result.fields)\n result.files = processNested(result.files)\n }\n\n if (request[waitFlushProperty]) {\n try {\n await Promise.all(request[waitFlushProperty]).then(() => {\n delete request[waitFlushProperty]\n })\n } catch (err) {\n debugLog(options, `Error waiting for file write promises: ${err}`)\n }\n }\n\n return result\n })\n\n busboy.on(\n 'error',\n (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST)) => {\n debugLog(options, `Busboy error`)\n parsingRequest = false\n throw err\n },\n )\n\n const reader = request.body.getReader()\n\n // Start parsing request\n while (parsingRequest) {\n const { done, value } = await reader.read()\n\n if (done) {\n parsingRequest = false\n }\n\n if (value) {\n busboy.write(value)\n }\n }\n\n if (fileCount !== 0) {\n await allFilesComplete.catch((e) => {\n throw e\n })\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"processMultipart.js","names":["Busboy","httpStatus","APIError","fileFactory","memHandler","tempFileHandler","processNested","createUploadTimer","buildFields","debugLog","isFunc","parseFileName","waitFlushProperty","Symbol","processMultipart","options","request","parsingRequest","shouldAbortProccessing","fileCount","filesCompleted","allFilesHaveResolved","failedResolvingFiles","allFilesComplete","Promise","res","rej","result","fields","undefined","files","headersObject","headers","forEach","value","name","reader","body","getReader","busboy","abortAndDestroyFile","file","err","destroy","on","field","val","info","encoding","filename","mimeType","mime","cleanup","complete","dataHandler","getFilePath","getFileSize","getHash","getWritePromise","useTempFiles","writePromise","catch","end","uploadTimer","uploadTimeout","clear","limitHandler","size","abortOnLimit","responseOnLimit","REQUEST_ENTITY_TOO_LARGE","data","set","buffer","hash","mimetype","tempFilePath","truncated","Boolean","push","message","parseNested","all","then","BAD_REQUEST","done","read","write","e"],"sources":["../../src/fetchAPI-multipart/processMultipart.ts"],"sourcesContent":["import type { FetchAPIFileUploadOptions } from 'payload'\nimport type { Readable } from 'stream'\n\nimport Busboy from 'busboy'\nimport httpStatus from 'http-status'\nimport { APIError } from 'payload'\n\nimport type { FetchAPIFileUploadResponse } from './index.js'\n\nimport { fileFactory } from './fileFactory.js'\nimport { memHandler, tempFileHandler } from './handlers.js'\nimport { processNested } from './processNested.js'\nimport { createUploadTimer } from './uploadTimer.js'\nimport { buildFields, debugLog, isFunc, parseFileName } from './utilities.js'\n\nconst waitFlushProperty = Symbol('wait flush property symbol')\n\ntype ProcessMultipart = (args: {\n options: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const processMultipart: ProcessMultipart = async ({ options, request }) => {\n let parsingRequest = true\n\n let shouldAbortProccessing = false\n let fileCount = 0\n let filesCompleted = 0\n let allFilesHaveResolved: (value?: unknown) => void\n let failedResolvingFiles: (err: Error) => void\n\n const allFilesComplete = new Promise((res, rej) => {\n allFilesHaveResolved = res\n failedResolvingFiles = rej\n })\n\n const result: FetchAPIFileUploadResponse = {\n fields: undefined,\n files: undefined,\n }\n\n const headersObject = {}\n request.headers.forEach((value, name) => {\n headersObject[name] = value\n })\n\n const reader = request.body.getReader()\n\n const busboy = Busboy({ ...options, headers: headersObject })\n\n function abortAndDestroyFile(file: Readable, err: APIError) {\n file.destroy()\n shouldAbortProccessing = true\n failedResolvingFiles(err)\n }\n\n // Build multipart req.body fields\n busboy.on('field', (field, val) => {\n result.fields = buildFields(result.fields, field, val)\n })\n\n // Build req.files fields\n busboy.on('file', (field, file, info) => {\n fileCount += 1\n // Parse file name(cutting huge names, decoding, etc..).\n const { encoding, filename: name, mimeType: mime } = info\n const filename = parseFileName(options, name)\n\n // Define methods and handlers for upload process.\n const { cleanup, complete, dataHandler, getFilePath, getFileSize, getHash, getWritePromise } =\n options.useTempFiles\n ? tempFileHandler(options, field, filename) // Upload into temporary file.\n : memHandler(options, field, filename) // Upload into RAM.\n\n const writePromise = options.useTempFiles\n ? getWritePromise().catch((err) => {\n busboy.end()\n cleanup()\n })\n : getWritePromise()\n\n const uploadTimer = createUploadTimer(options.uploadTimeout, () => {\n return abortAndDestroyFile(\n file,\n new APIError(`Upload timeout for ${field}->${filename}, bytes:${getFileSize()}`),\n )\n })\n\n file.on('limit', () => {\n debugLog(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.clear()\n\n if (isFunc(options.limitHandler)) {\n options.limitHandler({ request, size: getFileSize() })\n }\n\n // Return error and cleanup files if abortOnLimit set.\n if (options.abortOnLimit) {\n debugLog(options, `Upload file size limit reached ${field}->${filename}.`)\n cleanup()\n abortAndDestroyFile(\n file,\n new APIError(options.responseOnLimit, httpStatus.REQUEST_ENTITY_TOO_LARGE, {\n size: getFileSize(),\n }),\n )\n }\n })\n\n file.on('data', (data) => {\n uploadTimer.set()\n dataHandler(data)\n })\n\n file.on('end', () => {\n const size = getFileSize()\n debugLog(options, `Upload finished ${field}->${filename}, bytes:${size}`)\n uploadTimer.clear()\n\n if (!name && size === 0) {\n fileCount -= 1\n if (options.useTempFiles) {\n cleanup()\n debugLog(options, `Removing the empty file ${field}->${filename}`)\n }\n return debugLog(options, `Don't add file instance if original name and size are empty`)\n }\n\n filesCompleted += 1\n\n result.files = buildFields(\n result.files,\n field,\n fileFactory(\n {\n name: filename,\n buffer: complete(),\n encoding,\n hash: getHash(),\n mimetype: mime,\n size,\n tempFilePath: getFilePath(),\n truncated: Boolean('truncated' in file && file.truncated) || false,\n },\n options,\n ),\n )\n\n if (!request[waitFlushProperty]) {\n request[waitFlushProperty] = []\n }\n request[waitFlushProperty].push(writePromise)\n\n if (filesCompleted === fileCount) {\n allFilesHaveResolved()\n }\n })\n\n file.on('error', (err) => {\n uploadTimer.clear()\n debugLog(options, `File Error: ${err.message}`)\n cleanup()\n failedResolvingFiles(err)\n })\n\n // Start upload process.\n debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.set()\n })\n\n busboy.on('finish', async () => {\n debugLog(options, `Busboy finished parsing request.`)\n if (options.parseNested) {\n result.fields = processNested(result.fields)\n result.files = processNested(result.files)\n }\n\n if (request[waitFlushProperty]) {\n try {\n await Promise.all(request[waitFlushProperty]).then(() => {\n delete request[waitFlushProperty]\n })\n } catch (err) {\n debugLog(options, `Error waiting for file write promises: ${err}`)\n }\n }\n\n return result\n })\n\n busboy.on(\n 'error',\n (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST)) => {\n debugLog(options, `Busboy error`)\n throw err\n },\n )\n\n while (parsingRequest) {\n const { done, value } = await reader.read()\n\n if (done) {\n parsingRequest = false\n }\n\n if (value && !shouldAbortProccessing) {\n busboy.write(value)\n }\n }\n\n if (fileCount !== 0) {\n await allFilesComplete.catch((e) => {\n throw e\n })\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Config, ImportMap } from 'payload';
|
|
2
|
+
import '@payloadcms/ui/scss/app.scss';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
type Args = {
|
|
5
|
+
readonly children: React.ReactNode;
|
|
6
|
+
readonly importMap: ImportMap;
|
|
7
|
+
readonly providers: Config['admin']['components']['providers'];
|
|
8
|
+
};
|
|
9
|
+
export declare function NestProviders({ children, importMap, providers }: Args): React.ReactNode;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=NestProviders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestProviders.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/NestProviders.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGhD,OAAO,8BAA8B,CAAA;AACrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,CAAA;CAC/D,CAAA;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,CAiBvF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
export function NestProviders({
|
|
5
|
+
children,
|
|
6
|
+
importMap,
|
|
7
|
+
providers
|
|
8
|
+
}) {
|
|
9
|
+
return /*#__PURE__*/_jsx(RenderServerComponent, {
|
|
10
|
+
clientProps: {
|
|
11
|
+
children: providers.length > 1 ? /*#__PURE__*/_jsx(NestProviders, {
|
|
12
|
+
importMap: importMap,
|
|
13
|
+
providers: providers.slice(1),
|
|
14
|
+
children: children
|
|
15
|
+
}) : children
|
|
16
|
+
},
|
|
17
|
+
Component: providers[0],
|
|
18
|
+
importMap: importMap
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=NestProviders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestProviders.js","names":["RenderServerComponent","React","NestProviders","children","importMap","providers","_jsx","clientProps","length","slice","Component"],"sources":["../../../src/layouts/Root/NestProviders.tsx"],"sourcesContent":["import type { Config, ImportMap } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport '@payloadcms/ui/scss/app.scss'\nimport React from 'react'\n\ntype Args = {\n readonly children: React.ReactNode\n readonly importMap: ImportMap\n readonly providers: Config['admin']['components']['providers']\n}\n\nexport function NestProviders({ children, importMap, providers }: Args): React.ReactNode {\n return (\n <RenderServerComponent\n clientProps={{\n children:\n providers.length > 1 ? (\n <NestProviders importMap={importMap} providers={providers.slice(1)}>\n {children}\n </NestProviders>\n ) : (\n children\n ),\n }}\n Component={providers[0]}\n importMap={importMap}\n />\n )\n}\n"],"mappings":";AAEA,SAASA,qBAAqB,QAAQ;AAEtC,OAAOC,KAAA,MAAW;AAQlB,OAAO,SAASC,cAAc;EAAEC,QAAQ;EAAEC,SAAS;EAAEC;AAAS,CAAQ;EACpE,oBACEC,IAAA,CAACN,qBAAA;IACCO,WAAA,EAAa;MACXJ,QAAA,EACEE,SAAA,CAAUG,MAAM,GAAG,iBACjBF,IAAA,CAACJ,aAAA;QAAcE,SAAA,EAAWA,SAAA;QAAWC,SAAA,EAAWA,SAAA,CAAUI,KAAK,CAAC;kBAC7DN;WAGHA;IAEN;IACAO,SAAA,EAAWL,SAAS,CAAC,EAAE;IACvBD,SAAA,EAAWA;;AAGjB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkDependencies.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/checkDependencies.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,iBAAiB,qBAmC7B,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { checkDependencies as payloadCheckDependencies } from 'payload';
|
|
2
|
+
const customReactVersionParser = version => {
|
|
3
|
+
const [mainVersion, ...preReleases] = version.split('-');
|
|
4
|
+
if (preReleases?.length === 3) {
|
|
5
|
+
// Needs different handling, as it's in a format like 19.0.0-rc-06d0b89e-20240801 format
|
|
6
|
+
const date = preReleases[2];
|
|
7
|
+
const parts = mainVersion.split('.').map(Number);
|
|
8
|
+
return {
|
|
9
|
+
parts,
|
|
10
|
+
preReleases: [date]
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const parts = mainVersion.split('.').map(Number);
|
|
14
|
+
return {
|
|
15
|
+
parts,
|
|
16
|
+
preReleases
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
let checkedDependencies = false;
|
|
20
|
+
export const checkDependencies = async () => {
|
|
21
|
+
if (process.env.NODE_ENV !== 'production' && process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' && !checkedDependencies) {
|
|
22
|
+
checkedDependencies = true;
|
|
23
|
+
// First check if there are mismatching dependency versions of next / react packages
|
|
24
|
+
await payloadCheckDependencies({
|
|
25
|
+
dependencyGroups: [{
|
|
26
|
+
name: 'react',
|
|
27
|
+
dependencies: ['react', 'react-dom'],
|
|
28
|
+
targetVersionDependency: 'react'
|
|
29
|
+
}],
|
|
30
|
+
dependencyVersions: {
|
|
31
|
+
next: {
|
|
32
|
+
required: false,
|
|
33
|
+
version: '>=15.0.0'
|
|
34
|
+
},
|
|
35
|
+
react: {
|
|
36
|
+
customVersionParser: customReactVersionParser,
|
|
37
|
+
required: false,
|
|
38
|
+
version: '>=19.0.0-rc-65a56d0e-20241020'
|
|
39
|
+
},
|
|
40
|
+
'react-dom': {
|
|
41
|
+
customVersionParser: customReactVersionParser,
|
|
42
|
+
required: false,
|
|
43
|
+
version: '>=19.0.0-rc-65a56d0e-20241020'
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=checkDependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkDependencies.js","names":["checkDependencies","payloadCheckDependencies","customReactVersionParser","version","mainVersion","preReleases","split","length","date","parts","map","Number","checkedDependencies","process","env","NODE_ENV","PAYLOAD_DISABLE_DEPENDENCY_CHECKER","dependencyGroups","name","dependencies","targetVersionDependency","dependencyVersions","next","required","react","customVersionParser"],"sources":["../../../src/layouts/Root/checkDependencies.ts"],"sourcesContent":["import { type CustomVersionParser, checkDependencies as payloadCheckDependencies } from 'payload'\n\nconst customReactVersionParser: CustomVersionParser = (version) => {\n const [mainVersion, ...preReleases] = version.split('-')\n\n if (preReleases?.length === 3) {\n // Needs different handling, as it's in a format like 19.0.0-rc-06d0b89e-20240801 format\n const date = preReleases[2]\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases: [date] }\n }\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases }\n}\n\nlet checkedDependencies = false\n\nexport const checkDependencies = async () => {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' &&\n !checkedDependencies\n ) {\n checkedDependencies = true\n\n // First check if there are mismatching dependency versions of next / react packages\n await payloadCheckDependencies({\n dependencyGroups: [\n {\n name: 'react',\n dependencies: ['react', 'react-dom'],\n targetVersionDependency: 'react',\n },\n ],\n dependencyVersions: {\n next: {\n required: false,\n version: '>=15.0.0',\n },\n react: {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-65a56d0e-20241020',\n },\n 'react-dom': {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-65a56d0e-20241020',\n },\n },\n })\n }\n}\n"],"mappings":"AAAA,SAAmCA,iBAAA,IAAqBC,wBAAwB,QAAQ;AAExF,MAAMC,wBAAA,GAAiDC,OAAA;EACrD,MAAM,CAACC,WAAA,EAAa,GAAGC,WAAA,CAAY,GAAGF,OAAA,CAAQG,KAAK,CAAC;EAEpD,IAAID,WAAA,EAAaE,MAAA,KAAW,GAAG;IAC7B;IACA,MAAMC,IAAA,GAAOH,WAAW,CAAC,EAAE;IAE3B,MAAMI,KAAA,GAAQL,WAAA,CAAYE,KAAK,CAAC,KAAKI,GAAG,CAACC,MAAA;IACzC,OAAO;MAAEF,KAAA;MAAOJ,WAAA,EAAa,CAACG,IAAA;IAAM;EACtC;EAEA,MAAMC,KAAA,GAAQL,WAAA,CAAYE,KAAK,CAAC,KAAKI,GAAG,CAACC,MAAA;EACzC,OAAO;IAAEF,KAAA;IAAOJ;EAAY;AAC9B;AAEA,IAAIO,mBAAA,GAAsB;AAE1B,OAAO,MAAMZ,iBAAA,GAAoB,MAAAA,CAAA;EAC/B,IACEa,OAAA,CAAQC,GAAG,CAACC,QAAQ,KAAK,gBACzBF,OAAA,CAAQC,GAAG,CAACE,kCAAkC,KAAK,UACnD,CAACJ,mBAAA,EACD;IACAA,mBAAA,GAAsB;IAEtB;IACA,MAAMX,wBAAA,CAAyB;MAC7BgB,gBAAA,EAAkB,CAChB;QACEC,IAAA,EAAM;QACNC,YAAA,EAAc,CAAC,SAAS,YAAY;QACpCC,uBAAA,EAAyB;MAC3B,EACD;MACDC,kBAAA,EAAoB;QAClBC,IAAA,EAAM;UACJC,QAAA,EAAU;UACVpB,OAAA,EAAS;QACX;QACAqB,KAAA,EAAO;UACLC,mBAAA,EAAqBvB,wBAAA;UACrBqB,QAAA,EAAU;UACVpB,OAAA,EAAS;QACX;QACA,aAAa;UACXsB,mBAAA,EAAqBvB,wBAAA;UACrBqB,QAAA,EAAU;UACVpB,OAAA,EAAS;QACX;MACF;IACF;EACF;AACF","ignoreList":[]}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type { ImportMap, SanitizedConfig } from 'payload';
|
|
2
|
-
import '@payloadcms/ui/scss/app.scss';
|
|
1
|
+
import type { ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload';
|
|
3
2
|
import React from 'react';
|
|
3
|
+
import '@payloadcms/ui/scss/app.scss';
|
|
4
4
|
export declare const metadata: {
|
|
5
5
|
description: string;
|
|
6
6
|
title: string;
|
|
7
7
|
};
|
|
8
|
-
export declare const RootLayout: ({ children, config: configPromise, importMap, }: {
|
|
8
|
+
export declare const RootLayout: ({ children, config: configPromise, importMap, serverFunction, }: {
|
|
9
9
|
readonly children: React.ReactNode;
|
|
10
10
|
readonly config: Promise<SanitizedConfig>;
|
|
11
11
|
readonly importMap: ImportMap;
|
|
12
|
+
readonly serverFunction: ServerFunctionClient;
|
|
12
13
|
}) => Promise<React.JSX.Element>;
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAM/E,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,8BAA8B,CAAA;AAErC,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,oEAKpB;IACD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,+BAgGA,CAAA"}
|
|
@@ -1,71 +1,27 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { rtlLanguages } from '@payloadcms/translations';
|
|
3
3
|
import { RootProvider } from '@payloadcms/ui';
|
|
4
|
-
import { createClientConfig } from '@payloadcms/ui/utilities/createClientConfig';
|
|
5
4
|
import { headers as getHeaders, cookies as nextCookies } from 'next/headers.js';
|
|
6
|
-
import {
|
|
5
|
+
import { getPayload, parseCookies } from 'payload';
|
|
7
6
|
import React from 'react';
|
|
8
|
-
import {
|
|
7
|
+
import { getNavPrefs } from '../../elements/Nav/getNavPrefs.js';
|
|
8
|
+
import { getClientConfig } from '../../utilities/getClientConfig.js';
|
|
9
9
|
import { getRequestLanguage } from '../../utilities/getRequestLanguage.js';
|
|
10
10
|
import { getRequestTheme } from '../../utilities/getRequestTheme.js';
|
|
11
11
|
import { initReq } from '../../utilities/initReq.js';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
12
|
+
import { checkDependencies } from './checkDependencies.js';
|
|
13
|
+
import { NestProviders } from './NestProviders.js';
|
|
14
14
|
export const metadata = {
|
|
15
15
|
description: 'Generated by Next.js',
|
|
16
16
|
title: 'Next.js'
|
|
17
17
|
};
|
|
18
|
-
const customReactVersionParser = version => {
|
|
19
|
-
const [mainVersion, ...preReleases] = version.split('-');
|
|
20
|
-
if (preReleases?.length === 3) {
|
|
21
|
-
// Needs different handling, as it's in a format like 19.0.0-rc-06d0b89e-20240801 format
|
|
22
|
-
const date = preReleases[2];
|
|
23
|
-
const parts = mainVersion.split('.').map(Number);
|
|
24
|
-
return {
|
|
25
|
-
parts,
|
|
26
|
-
preReleases: [date]
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
const parts = mainVersion.split('.').map(Number);
|
|
30
|
-
return {
|
|
31
|
-
parts,
|
|
32
|
-
preReleases
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
let checkedDependencies = false;
|
|
36
18
|
export const RootLayout = async ({
|
|
37
19
|
children,
|
|
38
20
|
config: configPromise,
|
|
39
|
-
importMap
|
|
21
|
+
importMap,
|
|
22
|
+
serverFunction
|
|
40
23
|
}) => {
|
|
41
|
-
|
|
42
|
-
// eslint-disable-next-line react-compiler/react-compiler
|
|
43
|
-
checkedDependencies = true;
|
|
44
|
-
// First check if there are mismatching dependency versions of next / react packages
|
|
45
|
-
await checkDependencies({
|
|
46
|
-
dependencyGroups: [{
|
|
47
|
-
name: 'react',
|
|
48
|
-
dependencies: ['react', 'react-dom'],
|
|
49
|
-
targetVersionDependency: 'react'
|
|
50
|
-
}],
|
|
51
|
-
dependencyVersions: {
|
|
52
|
-
next: {
|
|
53
|
-
required: false,
|
|
54
|
-
version: '>=15.0.0-canary.173'
|
|
55
|
-
},
|
|
56
|
-
react: {
|
|
57
|
-
customVersionParser: customReactVersionParser,
|
|
58
|
-
required: false,
|
|
59
|
-
version: '>=19.0.0-rc-3edc000d-20240926'
|
|
60
|
-
},
|
|
61
|
-
'react-dom': {
|
|
62
|
-
customVersionParser: customReactVersionParser,
|
|
63
|
-
required: false,
|
|
64
|
-
version: '>=19.0.0-rc-3edc000d-20240926'
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
24
|
+
await checkDependencies();
|
|
69
25
|
const config = await configPromise;
|
|
70
26
|
const headers = await getHeaders();
|
|
71
27
|
const cookies = parseCookies(headers);
|
|
@@ -79,27 +35,15 @@ export const RootLayout = async ({
|
|
|
79
35
|
cookies,
|
|
80
36
|
headers
|
|
81
37
|
});
|
|
82
|
-
const payload = await
|
|
83
|
-
config
|
|
38
|
+
const payload = await getPayload({
|
|
39
|
+
config,
|
|
40
|
+
importMap
|
|
84
41
|
});
|
|
85
42
|
const {
|
|
86
43
|
i18n,
|
|
87
44
|
permissions,
|
|
88
|
-
req,
|
|
89
45
|
user
|
|
90
46
|
} = await initReq(config);
|
|
91
|
-
const {
|
|
92
|
-
clientConfig,
|
|
93
|
-
render
|
|
94
|
-
} = await createClientConfig({
|
|
95
|
-
children,
|
|
96
|
-
config,
|
|
97
|
-
DefaultEditView,
|
|
98
|
-
DefaultListView,
|
|
99
|
-
i18n,
|
|
100
|
-
importMap,
|
|
101
|
-
payload
|
|
102
|
-
});
|
|
103
47
|
const dir = rtlLanguages.includes(languageCode) ? 'RTL' : 'LTR';
|
|
104
48
|
const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig]) => {
|
|
105
49
|
if (Object.keys(config.i18n.supportedLanguages).includes(language)) {
|
|
@@ -120,51 +64,46 @@ export const RootLayout = async ({
|
|
|
120
64
|
value: lang
|
|
121
65
|
});
|
|
122
66
|
}
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
}, {
|
|
135
|
-
'user.relationTo': {
|
|
136
|
-
equals: user.collection
|
|
137
|
-
}
|
|
138
|
-
}, {
|
|
139
|
-
'user.value': {
|
|
140
|
-
equals: user.id
|
|
141
|
-
}
|
|
142
|
-
}]
|
|
143
|
-
}
|
|
144
|
-
}))?.docs?.[0] : null;
|
|
145
|
-
const isNavOpen = navPreferences?.value?.open ?? true;
|
|
146
|
-
return /*#__PURE__*/_jsx("html", {
|
|
67
|
+
const navPrefs = await getNavPrefs({
|
|
68
|
+
payload,
|
|
69
|
+
user
|
|
70
|
+
});
|
|
71
|
+
const clientConfig = await getClientConfig({
|
|
72
|
+
config,
|
|
73
|
+
i18n,
|
|
74
|
+
importMap
|
|
75
|
+
});
|
|
76
|
+
return /*#__PURE__*/_jsxs("html", {
|
|
147
77
|
"data-theme": theme,
|
|
148
78
|
dir: dir,
|
|
149
79
|
lang: languageCode,
|
|
150
|
-
children: /*#__PURE__*/
|
|
80
|
+
children: [/*#__PURE__*/_jsx("head", {
|
|
81
|
+
children: /*#__PURE__*/_jsx("style", {
|
|
82
|
+
children: `@layer payload-default, payload;`
|
|
83
|
+
})
|
|
84
|
+
}), /*#__PURE__*/_jsxs("body", {
|
|
151
85
|
children: [/*#__PURE__*/_jsx(RootProvider, {
|
|
152
86
|
config: clientConfig,
|
|
153
87
|
dateFNSKey: i18n.dateFNSKey,
|
|
154
|
-
fallbackLang:
|
|
155
|
-
isNavOpen:
|
|
88
|
+
fallbackLang: config.i18n.fallbackLanguage,
|
|
89
|
+
isNavOpen: navPrefs?.open ?? true,
|
|
156
90
|
languageCode: languageCode,
|
|
157
91
|
languageOptions: languageOptions,
|
|
158
92
|
permissions: permissions,
|
|
93
|
+
serverFunction: serverFunction,
|
|
159
94
|
switchLanguageServerAction: switchLanguageServerAction,
|
|
160
95
|
theme: theme,
|
|
161
96
|
translations: i18n.translations,
|
|
162
97
|
user: user,
|
|
163
|
-
children:
|
|
98
|
+
children: Array.isArray(config.admin?.components?.providers) && config.admin?.components?.providers.length > 0 ? /*#__PURE__*/_jsx(NestProviders, {
|
|
99
|
+
importMap: payload.importMap,
|
|
100
|
+
providers: config.admin?.components?.providers,
|
|
101
|
+
children: children
|
|
102
|
+
}) : children
|
|
164
103
|
}), /*#__PURE__*/_jsx("div", {
|
|
165
104
|
id: "portal"
|
|
166
105
|
})]
|
|
167
|
-
})
|
|
106
|
+
})]
|
|
168
107
|
});
|
|
169
108
|
};
|
|
170
109
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["rtlLanguages","RootProvider","createClientConfig","headers","getHeaders","cookies","nextCookies","checkDependencies","parseCookies","React","getPayloadHMR","getRequestLanguage","getRequestTheme","initReq","DefaultEditView","DefaultListView","metadata","description","title","customReactVersionParser","version","mainVersion","preReleases","split","length","date","parts","map","Number","checkedDependencies","RootLayout","children","config","configPromise","importMap","process","env","NODE_ENV","PAYLOAD_DISABLE_DEPENDENCY_CHECKER","dependencyGroups","name","dependencies","targetVersionDependency","dependencyVersions","next","required","react","customVersionParser","languageCode","theme","payload","i18n","permissions","req","user","clientConfig","render","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","cookiePrefix","path","navPreferences","find","collection","depth","limit","where","and","key","equals","id","docs","isNavOpen","open","_jsx","_jsxs","dateFNSKey","fallbackLang","fallbackLanguage"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { CustomVersionParser, ImportMap, SanitizedConfig } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport '@payloadcms/ui/scss/app.scss'\nimport { createClientConfig } from '@payloadcms/ui/utilities/createClientConfig'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { checkDependencies, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getPayloadHMR } from '../../utilities/getPayloadHMR.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { DefaultEditView } from '../../views/Edit/Default/index.js'\nimport { DefaultListView } from '../../views/List/Default/index.js'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nconst customReactVersionParser: CustomVersionParser = (version) => {\n const [mainVersion, ...preReleases] = version.split('-')\n\n if (preReleases?.length === 3) {\n // Needs different handling, as it's in a format like 19.0.0-rc-06d0b89e-20240801 format\n const date = preReleases[2]\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases: [date] }\n }\n\n const parts = mainVersion.split('.').map(Number)\n return { parts, preReleases }\n}\n\nlet checkedDependencies = false\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n}) => {\n if (\n process.env.NODE_ENV !== 'production' &&\n process.env.PAYLOAD_DISABLE_DEPENDENCY_CHECKER !== 'true' &&\n !checkedDependencies\n ) {\n // eslint-disable-next-line react-compiler/react-compiler\n checkedDependencies = true\n // First check if there are mismatching dependency versions of next / react packages\n await checkDependencies({\n dependencyGroups: [\n {\n name: 'react',\n dependencies: ['react', 'react-dom'],\n targetVersionDependency: 'react',\n },\n ],\n dependencyVersions: {\n next: {\n required: false,\n version: '>=15.0.0-canary.173',\n },\n react: {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-3edc000d-20240926',\n },\n 'react-dom': {\n customVersionParser: customReactVersionParser,\n required: false,\n version: '>=19.0.0-rc-3edc000d-20240926',\n },\n },\n })\n }\n\n const config = await configPromise\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayloadHMR({ config })\n\n const { i18n, permissions, req, user } = await initReq(config)\n\n const { clientConfig, render } = await createClientConfig({\n children,\n config,\n DefaultEditView,\n DefaultListView,\n i18n,\n importMap,\n payload,\n })\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPreferences = user\n ? (\n await payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n req,\n user,\n where: {\n and: [\n {\n key: {\n equals: 'nav',\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n )?.docs?.[0]\n : null\n\n const isNavOpen = navPreferences?.value?.open ?? true\n\n return (\n <html data-theme={theme} dir={dir} lang={languageCode}>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={clientConfig.i18n.fallbackLanguage}\n isNavOpen={isNavOpen}\n languageCode={languageCode}\n languageOptions={languageOptions}\n permissions={permissions}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\n {render}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["rtlLanguages","RootProvider","headers","getHeaders","cookies","nextCookies","getPayload","parseCookies","React","getNavPrefs","getClientConfig","getRequestLanguage","getRequestTheme","initReq","checkDependencies","NestProviders","metadata","description","title","RootLayout","children","config","configPromise","importMap","serverFunction","languageCode","theme","payload","i18n","permissions","user","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","navPrefs","clientConfig","_jsxs","_jsx","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","Array","isArray","admin","components","providers","length","id"],"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, SanitizedConfig, ServerFunctionClient } from 'payload'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { getPayload, parseCookies } from 'payload'\nimport React from 'react'\n\nimport { getNavPrefs } from '../../elements/Nav/getNavPrefs.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { checkDependencies } from './checkDependencies.js'\nimport { NestProviders } from './NestProviders.js'\n\nimport '@payloadcms/ui/scss/app.scss'\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n importMap,\n serverFunction,\n}: {\n readonly children: React.ReactNode\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly serverFunction: ServerFunctionClient\n}) => {\n await checkDependencies()\n\n const config = await configPromise\n\n const headers = await getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayload({ config, importMap })\n\n const { i18n, permissions, user } = await initReq(config)\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n const cookies = await nextCookies()\n cookies.set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const navPrefs = await getNavPrefs({ payload, user })\n\n const clientConfig = await getClientConfig({\n config,\n i18n,\n importMap,\n })\n\n return (\n <html data-theme={theme} dir={dir} lang={languageCode}>\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={config.i18n.fallbackLanguage}\n isNavOpen={navPrefs?.open ?? true}\n languageCode={languageCode}\n languageOptions={languageOptions}\n permissions={permissions}\n serverFunction={serverFunction}\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n user={user}\n >\n {Array.isArray(config.admin?.components?.providers) &&\n config.admin?.components?.providers.length > 0 ? (\n <NestProviders\n importMap={payload.importMap}\n providers={config.admin?.components?.providers}\n >\n {children}\n </NestProviders>\n ) : (\n children\n )}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|