@payloadcms/next 3.0.0-canary.013af1b → 3.0.0-canary.0374de4
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/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +4 -4
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +10 -4
- 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 +27 -24
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +2 -2
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.d.ts +12 -0
- package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
- package/dist/elements/DocumentLocked/index.js +142 -0
- package/dist/elements/DocumentLocked/index.js.map +1 -0
- package/dist/elements/DocumentLocked/index.scss +37 -0
- package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
- package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
- package/dist/elements/DocumentTakeOver/index.js +98 -0
- package/dist/elements/DocumentTakeOver/index.js.map +1 -0
- package/dist/elements/DocumentTakeOver/index.scss +37 -0
- package/dist/elements/EmailAndUsername/index.d.ts +1 -1
- package/dist/elements/EmailAndUsername/index.d.ts.map +1 -1
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.scss +3 -3
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Logo/index.js +1 -1
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +1 -1
- 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 +1 -1
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/exports/layouts.d.ts +1 -1
- package/dist/exports/layouts.d.ts.map +1 -1
- package/dist/exports/layouts.js +1 -1
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/views.d.ts +1 -1
- package/dist/exports/views.d.ts.map +1 -1
- package/dist/exports/views.js +1 -1
- package/dist/exports/views.js.map +1 -1
- package/dist/fetchAPI-multipart/fileFactory.d.ts +2 -1
- package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/fileFactory.js.map +1 -1
- package/dist/fetchAPI-multipart/handlers.d.ts +1 -1
- package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/handlers.js +3 -1
- package/dist/fetchAPI-multipart/handlers.js.map +1 -1
- package/dist/fetchAPI-multipart/index.d.ts +1 -101
- package/dist/fetchAPI-multipart/index.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/index.js +1 -1
- package/dist/fetchAPI-multipart/index.js.map +1 -1
- package/dist/fetchAPI-multipart/processMultipart.d.ts +2 -1
- package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/processMultipart.js +1 -0
- package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
- package/dist/fetchAPI-multipart/processNested.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/processNested.js +8 -4
- package/dist/fetchAPI-multipart/processNested.js.map +1 -1
- package/dist/fetchAPI-multipart/uploadTimer.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/uploadTimer.js +3 -1
- package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -1
- package/dist/fetchAPI-multipart/utilities.d.ts +1 -1
- package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/utilities.js +32 -12
- package/dist/fetchAPI-multipart/utilities.js.map +1 -1
- package/dist/layouts/Root/index.js +2 -2
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/rest/collections/find.d.ts.map +1 -1
- package/dist/routes/rest/collections/find.js +3 -0
- 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 +2 -0
- package/dist/routes/rest/collections/findByID.js.map +1 -1
- package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/updateByID.js +8 -2
- package/dist/routes/rest/collections/updateByID.js.map +1 -1
- package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
- package/dist/routes/rest/files/checkFileAccess.js +7 -2
- package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
- package/dist/routes/rest/files/getFile.d.ts.map +1 -1
- package/dist/routes/rest/files/getFile.js +6 -2
- package/dist/routes/rest/files/getFile.js.map +1 -1
- package/dist/routes/rest/globals/update.d.ts.map +1 -1
- package/dist/routes/rest/globals/update.js +8 -2
- package/dist/routes/rest/globals/update.js.map +1 -1
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js +42 -14
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.d.ts +1 -1
- package/dist/routes/rest/og/image.d.ts.map +1 -1
- package/dist/routes/rest/og/image.js +7 -7
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +2 -2
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -1
- package/dist/routes/rest/utilities/sanitizeCollectionID.js +6 -2
- package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
- package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +13 -0
- package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -0
- package/dist/routes/rest/utilities/sanitizeJoinParams.js +17 -0
- package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -0
- package/dist/templates/Default/Wrapper/index.scss +0 -1
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +21 -19
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Default/index.scss +1 -1
- package/dist/templates/Minimal/index.scss +2 -2
- package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
- package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
- package/dist/utilities/addLocalesToRequest.js +6 -2
- package/dist/utilities/addLocalesToRequest.js.map +1 -1
- package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
- package/dist/utilities/createPayloadRequest.js +9 -3
- package/dist/utilities/createPayloadRequest.js.map +1 -1
- package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
- package/dist/utilities/getNextRequestI18n.js.map +1 -1
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/getRequestTheme.d.ts.map +1 -1
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/headersWithCors.d.ts.map +1 -1
- package/dist/utilities/headersWithCors.js.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.js +3 -1
- 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 +3 -1
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/timestamp.d.ts.map +1 -1
- package/dist/utilities/timestamp.js +3 -1
- package/dist/utilities/timestamp.js.map +1 -1
- package/dist/views/API/RenderJSON/index.d.ts +1 -1
- package/dist/views/API/RenderJSON/index.d.ts.map +1 -1
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Account/Settings/index.d.ts.map +1 -1
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +1 -1
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.d.ts +1 -1
- package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +4 -1
- 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.map +1 -1
- package/dist/views/CreateFirstUser/index.scss +10 -0
- package/dist/views/Dashboard/Default/index.d.ts +8 -1
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js +18 -6
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.scss +5 -0
- package/dist/views/Dashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/index.js +18 -3
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts +5 -2
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js +13 -2
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.d.ts +2 -2
- package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +2 -2
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +3 -3
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/types.d.ts +1 -1
- package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/types.js.map +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +183 -18
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +1 -1
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/Default/index.d.ts.map +1 -1
- package/dist/views/List/Default/index.js +166 -146
- package/dist/views/List/Default/index.js.map +1 -1
- package/dist/views/List/Default/index.scss +1 -0
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +4 -3
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/LivePreview/Context/context.d.ts +1 -1
- package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/context.js.map +1 -1
- package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/index.js +3 -1
- package/dist/views/LivePreview/Context/index.js.map +1 -1
- package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Device/index.js +6 -2
- package/dist/views/LivePreview/Device/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +6 -3
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/usePopupWindow.d.ts +1 -1
- package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
- package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
- package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
- package/dist/views/Login/LoginForm/index.js +28 -12
- 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 +1 -1
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.d.ts +1 -0
- package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
- package/dist/views/Logout/LogoutClient.js +4 -2
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.d.ts.map +1 -1
- package/dist/views/Logout/index.js +1 -1
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Logout/index.scss +12 -9
- package/dist/views/NotFound/index.client.d.ts.map +1 -1
- package/dist/views/NotFound/index.client.js +8 -5
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.d.ts.map +1 -1
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/NotFound/index.scss +18 -0
- package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.client.js +15 -12
- package/dist/views/ResetPassword/index.client.js.map +1 -1
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +36 -42
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/index.scss +28 -2
- package/dist/views/Root/getViewFromConfig.js +2 -2
- package/dist/views/Root/getViewFromConfig.js.map +1 -1
- package/dist/views/Root/index.js +1 -1
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.js +6 -2
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
- package/dist/views/Unauthorized/index.js +1 -1
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Verify/index.d.ts.map +1 -1
- package/dist/views/Verify/index.js +6 -5
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +4 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +3 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +9 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +8 -4
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +24 -16
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/index.scss +26 -10
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +26 -3
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +63 -48
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +48 -20
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +2 -2
- 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 +15 -4
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +10 -10
|
@@ -24,8 +24,12 @@
|
|
|
24
24
|
locale: localeOnReq,
|
|
25
25
|
localization: config.localization
|
|
26
26
|
});
|
|
27
|
-
if (locale)
|
|
28
|
-
|
|
27
|
+
if (locale) {
|
|
28
|
+
req.locale = locale;
|
|
29
|
+
}
|
|
30
|
+
if (fallbackLocale) {
|
|
31
|
+
req.fallbackLocale = fallbackLocale;
|
|
32
|
+
}
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
35
|
export const sanitizeLocales = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addLocalesToRequest.js","names":["addLocalesToRequestFromData","req","data","payload","config","localeOnReq","locale","fallbackLocaleOnReq","fallbackLocale","sanitizeLocales","localization","includes","localeCodes","defaultLocale"],"sources":["../../src/utilities/addLocalesToRequest.ts"],"sourcesContent":["import type { PayloadRequest, SanitizedConfig } from 'payload'\n\n/**\n * Mutates the Request to contain 'locale' and 'fallbackLocale' based on data or searchParams\n */\nexport function addLocalesToRequestFromData(req: PayloadRequest): void {\n const {\n data,\n payload: { config },\n } = req\n\n if (data) {\n let localeOnReq = req.locale\n let fallbackLocaleOnReq = req.fallbackLocale\n\n if (!localeOnReq && data?.locale && typeof data.locale === 'string') {\n localeOnReq = data.locale\n }\n\n if (\n !fallbackLocaleOnReq &&\n data?.['fallback-locale'] &&\n typeof data?.['fallback-locale'] === 'string'\n ) {\n fallbackLocaleOnReq = data['fallback-locale']\n }\n\n const { fallbackLocale, locale } = sanitizeLocales({\n fallbackLocale: fallbackLocaleOnReq,\n locale: localeOnReq,\n localization: config.localization,\n })\n\n if (locale) req.locale = locale\n if (fallbackLocale) req.fallbackLocale = fallbackLocale\n }\n}\n\ntype SanitizeLocalesArgs = {\n fallbackLocale: string\n locale: string\n localization: SanitizedConfig['localization']\n}\ntype SanitizeLocalesReturn = {\n fallbackLocale?: string\n locale?: string\n}\nexport const sanitizeLocales = ({\n fallbackLocale,\n locale,\n localization,\n}: SanitizeLocalesArgs): SanitizeLocalesReturn => {\n if (['none', 'null'].includes(fallbackLocale)) {\n fallbackLocale = 'null'\n } else if (localization && !localization.localeCodes.includes(fallbackLocale)) {\n fallbackLocale = localization.defaultLocale\n }\n\n if (locale === '*') {\n locale = 'all'\n } else if (localization && !localization.localeCodes.includes(locale)) {\n locale = localization.defaultLocale\n }\n\n return {\n fallbackLocale,\n locale,\n }\n}\n"],"mappings":"AAEA;;GAGA,OAAO,SAASA,4BAA4BC,GAAmB;EAC7D,MAAM;IACJC,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM;EAAE,CACpB,GAAGH,GAAA;EAEJ,IAAIC,IAAA,EAAM;IACR,IAAIG,WAAA,GAAcJ,GAAA,CAAIK,MAAM;IAC5B,IAAIC,mBAAA,GAAsBN,GAAA,CAAIO,cAAc;IAE5C,IAAI,CAACH,WAAA,IAAeH,IAAA,EAAMI,MAAA,IAAU,OAAOJ,IAAA,CAAKI,MAAM,KAAK,UAAU;MACnED,WAAA,GAAcH,IAAA,CAAKI,MAAM;IAC3B;IAEA,IACE,CAACC,mBAAA,IACDL,IAAA,GAAO,kBAAkB,IACzB,OAAOA,IAAA,GAAO,kBAAkB,KAAK,UACrC;MACAK,mBAAA,GAAsBL,IAAI,CAAC,kBAAkB;IAC/C;IAEA,MAAM;MAAEM,cAAc;MAAEF;IAAM,CAAE,GAAGG,eAAA,CAAgB;MACjDD,cAAA,EAAgBD,mBAAA;MAChBD,MAAA,EAAQD,WAAA;MACRK,YAAA,EAAcN,MAAA,CAAOM;IACvB;IAEA,IAAIJ,MAAA,
|
|
1
|
+
{"version":3,"file":"addLocalesToRequest.js","names":["addLocalesToRequestFromData","req","data","payload","config","localeOnReq","locale","fallbackLocaleOnReq","fallbackLocale","sanitizeLocales","localization","includes","localeCodes","defaultLocale"],"sources":["../../src/utilities/addLocalesToRequest.ts"],"sourcesContent":["import type { PayloadRequest, SanitizedConfig } from 'payload'\n\n/**\n * Mutates the Request to contain 'locale' and 'fallbackLocale' based on data or searchParams\n */\nexport function addLocalesToRequestFromData(req: PayloadRequest): void {\n const {\n data,\n payload: { config },\n } = req\n\n if (data) {\n let localeOnReq = req.locale\n let fallbackLocaleOnReq = req.fallbackLocale\n\n if (!localeOnReq && data?.locale && typeof data.locale === 'string') {\n localeOnReq = data.locale\n }\n\n if (\n !fallbackLocaleOnReq &&\n data?.['fallback-locale'] &&\n typeof data?.['fallback-locale'] === 'string'\n ) {\n fallbackLocaleOnReq = data['fallback-locale']\n }\n\n const { fallbackLocale, locale } = sanitizeLocales({\n fallbackLocale: fallbackLocaleOnReq,\n locale: localeOnReq,\n localization: config.localization,\n })\n\n if (locale) {\n req.locale = locale\n }\n if (fallbackLocale) {\n req.fallbackLocale = fallbackLocale\n }\n }\n}\n\ntype SanitizeLocalesArgs = {\n fallbackLocale: string\n locale: string\n localization: SanitizedConfig['localization']\n}\ntype SanitizeLocalesReturn = {\n fallbackLocale?: string\n locale?: string\n}\nexport const sanitizeLocales = ({\n fallbackLocale,\n locale,\n localization,\n}: SanitizeLocalesArgs): SanitizeLocalesReturn => {\n if (['none', 'null'].includes(fallbackLocale)) {\n fallbackLocale = 'null'\n } else if (localization && !localization.localeCodes.includes(fallbackLocale)) {\n fallbackLocale = localization.defaultLocale\n }\n\n if (locale === '*') {\n locale = 'all'\n } else if (localization && !localization.localeCodes.includes(locale)) {\n locale = localization.defaultLocale\n }\n\n return {\n fallbackLocale,\n locale,\n }\n}\n"],"mappings":"AAEA;;GAGA,OAAO,SAASA,4BAA4BC,GAAmB;EAC7D,MAAM;IACJC,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM;EAAE,CACpB,GAAGH,GAAA;EAEJ,IAAIC,IAAA,EAAM;IACR,IAAIG,WAAA,GAAcJ,GAAA,CAAIK,MAAM;IAC5B,IAAIC,mBAAA,GAAsBN,GAAA,CAAIO,cAAc;IAE5C,IAAI,CAACH,WAAA,IAAeH,IAAA,EAAMI,MAAA,IAAU,OAAOJ,IAAA,CAAKI,MAAM,KAAK,UAAU;MACnED,WAAA,GAAcH,IAAA,CAAKI,MAAM;IAC3B;IAEA,IACE,CAACC,mBAAA,IACDL,IAAA,GAAO,kBAAkB,IACzB,OAAOA,IAAA,GAAO,kBAAkB,KAAK,UACrC;MACAK,mBAAA,GAAsBL,IAAI,CAAC,kBAAkB;IAC/C;IAEA,MAAM;MAAEM,cAAc;MAAEF;IAAM,CAAE,GAAGG,eAAA,CAAgB;MACjDD,cAAA,EAAgBD,mBAAA;MAChBD,MAAA,EAAQD,WAAA;MACRK,YAAA,EAAcN,MAAA,CAAOM;IACvB;IAEA,IAAIJ,MAAA,EAAQ;MACVL,GAAA,CAAIK,MAAM,GAAGA,MAAA;IACf;IACA,IAAIE,cAAA,EAAgB;MAClBP,GAAA,CAAIO,cAAc,GAAGA,cAAA;IACvB;EACF;AACF;AAWA,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAC9BD,cAAc;EACdF,MAAM;EACNI;AAAY,CACQ;EACpB,IAAI,CAAC,QAAQ,OAAO,CAACC,QAAQ,CAACH,cAAA,GAAiB;IAC7CA,cAAA,GAAiB;EACnB,OAAO,IAAIE,YAAA,IAAgB,CAACA,YAAA,CAAaE,WAAW,CAACD,QAAQ,CAACH,cAAA,GAAiB;IAC7EA,cAAA,GAAiBE,YAAA,CAAaG,aAAa;EAC7C;EAEA,IAAIP,MAAA,KAAW,KAAK;IAClBA,MAAA,GAAS;EACX,OAAO,IAAII,YAAA,IAAgB,CAACA,YAAA,CAAaE,WAAW,CAACD,QAAQ,CAACL,MAAA,GAAS;IACrEA,MAAA,GAASI,YAAA,CAAaG,aAAa;EACrC;EAEA,OAAO;IACLL,cAAA;IACAF;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPayloadRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/createPayloadRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkC,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAW9F,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,oBAAoB,gDAI9B,IAAI,KAAG,OAAO,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"createPayloadRequest.d.ts","sourceRoot":"","sources":["../../src/utilities/createPayloadRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkC,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAW9F,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAClD,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,oBAAoB,gDAI9B,IAAI,KAAG,OAAO,CAAC,cAAc,CAkG/B,CAAA"}
|
|
@@ -51,8 +51,12 @@ export const createPayloadRequest = async ({
|
|
|
51
51
|
locale = locales.locale;
|
|
52
52
|
fallbackLocale = locales.fallbackLocale;
|
|
53
53
|
// Override if query params are present, in order to respect HTTP method override
|
|
54
|
-
if (query.locale)
|
|
55
|
-
|
|
54
|
+
if (query.locale) {
|
|
55
|
+
locale = query.locale;
|
|
56
|
+
}
|
|
57
|
+
if (query?.['fallback-locale']) {
|
|
58
|
+
fallbackLocale = query['fallback-locale'];
|
|
59
|
+
}
|
|
56
60
|
}
|
|
57
61
|
const customRequest = {
|
|
58
62
|
context: {},
|
|
@@ -89,7 +93,9 @@ export const createPayloadRequest = async ({
|
|
|
89
93
|
payload
|
|
90
94
|
});
|
|
91
95
|
req.user = user;
|
|
92
|
-
if (responseHeaders)
|
|
96
|
+
if (responseHeaders) {
|
|
97
|
+
req.responseHeaders = responseHeaders;
|
|
98
|
+
}
|
|
93
99
|
return req;
|
|
94
100
|
};
|
|
95
101
|
//# sourceMappingURL=createPayloadRequest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPayloadRequest.js","names":["initI18n","executeAuthStrategies","getDataLoader","parseCookies","qs","URL","sanitizeLocales","getPayloadHMR","getRequestLanguage","createPayloadRequest","config","configPromise","params","request","cookies","headers","payload","urlProperties","url","pathname","searchParams","isGraphQL","graphQL","disable","routes","api","language","i18n","context","locale","fallbackLocale","overrideHttpMethod","get","queryToParse","text","search","query","parse","arrayLimit","depth","ignoreQueryPrefix","localization","locales","customRequest","hash","host","href","origin","payloadAPI","payloadDataLoader","undefined","payloadUploadSizes","port","protocol","routeParams","t","transactionID","user","req","Object","assign","responseHeaders"],"sources":["../../src/utilities/createPayloadRequest.ts"],"sourcesContent":["import type { CustomPayloadRequestProperties, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { executeAuthStrategies, getDataLoader, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\nimport { URL } from 'url'\n\nimport { sanitizeLocales } from './addLocalesToRequest.js'\nimport { getPayloadHMR } from './getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: {\n collection: string\n }\n request: Request\n}\n\nexport const createPayloadRequest = async ({\n config: configPromise,\n params,\n request,\n}: Args): Promise<PayloadRequest> => {\n const cookies = parseCookies(request.headers)\n const payload = await getPayloadHMR({ config: configPromise })\n\n const { config } = payload\n\n const urlProperties = new URL(request.url)\n const { pathname, searchParams } = urlProperties\n\n const isGraphQL =\n !config.graphQL.disable && pathname === `${config.routes.api}${config.routes.graphQL}`\n\n const language = getRequestLanguage({\n config,\n cookies,\n headers: request.headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'api',\n language,\n })\n\n let locale\n let fallbackLocale\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search\n\n const query = queryToParse\n ? qs.parse(queryToParse, {\n arrayLimit: 1000,\n depth: 10,\n ignoreQueryPrefix: true,\n })\n : {}\n\n if (config.localization) {\n const locales = sanitizeLocales({\n fallbackLocale: searchParams.get('fallback-locale'),\n locale: searchParams.get('locale'),\n localization: payload.config.localization,\n })\n locale = locales.locale\n fallbackLocale = locales.fallbackLocale\n\n // Override if query params are present, in order to respect HTTP method override\n if (query.locale) locale = query.locale\n if (query?.['fallback-locale']) fallbackLocale = query['fallback-locale']\n }\n\n const customRequest: CustomPayloadRequestProperties = {\n context: {},\n fallbackLocale,\n hash: urlProperties.hash,\n host: urlProperties.host,\n href: urlProperties.href,\n i18n,\n locale,\n origin: urlProperties.origin,\n pathname: urlProperties.pathname,\n payload,\n payloadAPI: isGraphQL ? 'GraphQL' : 'REST',\n payloadDataLoader: undefined,\n payloadUploadSizes: {},\n port: urlProperties.port,\n protocol: urlProperties.protocol,\n query,\n routeParams: params || {},\n search: urlProperties.search,\n searchParams: urlProperties.searchParams,\n t: i18n.t,\n transactionID: undefined,\n user: null,\n }\n\n const req: PayloadRequest = Object.assign(request, customRequest)\n\n req.payloadDataLoader = getDataLoader(req)\n\n const { responseHeaders, user } = await executeAuthStrategies({\n headers: req.headers,\n isGraphQL,\n payload,\n })\n\n req.user = user\n\n if (responseHeaders) req.responseHeaders = responseHeaders\n\n return req\n}\n"],"mappings":"AAEA,SAASA,QAAQ,QAAQ;AACzB,SAASC,qBAAqB,EAAEC,aAAa,EAAEC,YAAY,QAAQ;AACnE,YAAYC,EAAA,MAAQ;AACpB,SAASC,GAAG,QAAQ;AAEpB,SAASC,eAAe,QAAQ;AAChC,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AAUnC,OAAO,MAAMC,oBAAA,GAAuB,MAAAA,CAAO;EACzCC,MAAA,EAAQC,aAAa;EACrBC,MAAM;EACNC;AAAO,CACF;EACL,MAAMC,OAAA,GAAUX,YAAA,CAAaU,OAAA,CAAQE,OAAO;EAC5C,MAAMC,OAAA,GAAU,MAAMT,aAAA,CAAc;IAAEG,MAAA,EAAQC;EAAc;EAE5D,MAAM;IAAED;EAAM,CAAE,GAAGM,OAAA;EAEnB,MAAMC,aAAA,GAAgB,IAAIZ,GAAA,CAAIQ,OAAA,CAAQK,GAAG;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAY,CAAE,GAAGH,aAAA;EAEnC,MAAMI,SAAA,GACJ,CAACX,MAAA,CAAOY,OAAO,CAACC,OAAO,IAAIJ,QAAA,KAAa,GAAGT,MAAA,CAAOc,MAAM,CAACC,GAAG,GAAGf,MAAA,CAAOc,MAAM,CAACF,OAAO,EAAE;EAExF,MAAMI,QAAA,GAAWlB,kBAAA,CAAmB;IAClCE,MAAA;IACAI,OAAA;IACAC,OAAA,EAASF,OAAA,CAAQE;EACnB;EAEA,MAAMY,IAAA,GAAO,MAAM3B,QAAA,CAAS;IAC1BU,MAAA,EAAQA,MAAA,CAAOiB,IAAI;IACnBC,OAAA,EAAS;IACTF;EACF;EAEA,IAAIG,MAAA;EACJ,IAAIC,cAAA;EAEJ,MAAMC,kBAAA,GAAqBlB,OAAA,CAAQE,OAAO,CAACiB,GAAG,CAAC;EAC/C,MAAMC,YAAA,GAAeF,kBAAA,KAAuB,QAAQ,MAAMlB,OAAA,CAAQqB,IAAI,KAAKjB,aAAA,CAAckB,MAAM;EAE/F,MAAMC,KAAA,GAAQH,YAAA,GACV7B,EAAA,CAAGiC,KAAK,CAACJ,YAAA,EAAc;IACrBK,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,iBAAA,EAAmB;EACrB,KACA,CAAC;EAEL,IAAI9B,MAAA,CAAO+B,YAAY,EAAE;IACvB,MAAMC,OAAA,GAAUpC,eAAA,CAAgB;MAC9BwB,cAAA,EAAgBV,YAAA,CAAaY,GAAG,CAAC;MACjCH,MAAA,EAAQT,YAAA,CAAaY,GAAG,CAAC;MACzBS,YAAA,EAAczB,OAAA,CAAQN,MAAM,CAAC+B;IAC/B;IACAZ,MAAA,GAASa,OAAA,CAAQb,MAAM;IACvBC,cAAA,GAAiBY,OAAA,CAAQZ,cAAc;IAEvC;IACA,IAAIM,KAAA,CAAMP,MAAM,
|
|
1
|
+
{"version":3,"file":"createPayloadRequest.js","names":["initI18n","executeAuthStrategies","getDataLoader","parseCookies","qs","URL","sanitizeLocales","getPayloadHMR","getRequestLanguage","createPayloadRequest","config","configPromise","params","request","cookies","headers","payload","urlProperties","url","pathname","searchParams","isGraphQL","graphQL","disable","routes","api","language","i18n","context","locale","fallbackLocale","overrideHttpMethod","get","queryToParse","text","search","query","parse","arrayLimit","depth","ignoreQueryPrefix","localization","locales","customRequest","hash","host","href","origin","payloadAPI","payloadDataLoader","undefined","payloadUploadSizes","port","protocol","routeParams","t","transactionID","user","req","Object","assign","responseHeaders"],"sources":["../../src/utilities/createPayloadRequest.ts"],"sourcesContent":["import type { CustomPayloadRequestProperties, PayloadRequest, SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { executeAuthStrategies, getDataLoader, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\nimport { URL } from 'url'\n\nimport { sanitizeLocales } from './addLocalesToRequest.js'\nimport { getPayloadHMR } from './getPayloadHMR.js'\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\ntype Args = {\n config: Promise<SanitizedConfig> | SanitizedConfig\n params?: {\n collection: string\n }\n request: Request\n}\n\nexport const createPayloadRequest = async ({\n config: configPromise,\n params,\n request,\n}: Args): Promise<PayloadRequest> => {\n const cookies = parseCookies(request.headers)\n const payload = await getPayloadHMR({ config: configPromise })\n\n const { config } = payload\n\n const urlProperties = new URL(request.url)\n const { pathname, searchParams } = urlProperties\n\n const isGraphQL =\n !config.graphQL.disable && pathname === `${config.routes.api}${config.routes.graphQL}`\n\n const language = getRequestLanguage({\n config,\n cookies,\n headers: request.headers,\n })\n\n const i18n = await initI18n({\n config: config.i18n,\n context: 'api',\n language,\n })\n\n let locale\n let fallbackLocale\n\n const overrideHttpMethod = request.headers.get('X-HTTP-Method-Override')\n const queryToParse = overrideHttpMethod === 'GET' ? await request.text() : urlProperties.search\n\n const query = queryToParse\n ? qs.parse(queryToParse, {\n arrayLimit: 1000,\n depth: 10,\n ignoreQueryPrefix: true,\n })\n : {}\n\n if (config.localization) {\n const locales = sanitizeLocales({\n fallbackLocale: searchParams.get('fallback-locale'),\n locale: searchParams.get('locale'),\n localization: payload.config.localization,\n })\n locale = locales.locale\n fallbackLocale = locales.fallbackLocale\n\n // Override if query params are present, in order to respect HTTP method override\n if (query.locale) {\n locale = query.locale\n }\n if (query?.['fallback-locale']) {\n fallbackLocale = query['fallback-locale']\n }\n }\n\n const customRequest: CustomPayloadRequestProperties = {\n context: {},\n fallbackLocale,\n hash: urlProperties.hash,\n host: urlProperties.host,\n href: urlProperties.href,\n i18n,\n locale,\n origin: urlProperties.origin,\n pathname: urlProperties.pathname,\n payload,\n payloadAPI: isGraphQL ? 'GraphQL' : 'REST',\n payloadDataLoader: undefined,\n payloadUploadSizes: {},\n port: urlProperties.port,\n protocol: urlProperties.protocol,\n query,\n routeParams: params || {},\n search: urlProperties.search,\n searchParams: urlProperties.searchParams,\n t: i18n.t,\n transactionID: undefined,\n user: null,\n }\n\n const req: PayloadRequest = Object.assign(request, customRequest)\n\n req.payloadDataLoader = getDataLoader(req)\n\n const { responseHeaders, user } = await executeAuthStrategies({\n headers: req.headers,\n isGraphQL,\n payload,\n })\n\n req.user = user\n\n if (responseHeaders) {\n req.responseHeaders = responseHeaders\n }\n\n return req\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNextRequestI18n.d.ts","sourceRoot":"","sources":["../../src/utilities/getNextRequestI18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getNextRequestI18n.d.ts","sourceRoot":"","sources":["../../src/utilities/getNextRequestI18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAO9C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAE7B,uBAAuB,OACvB,gCAAgC,SAAS,MAAM,uBAG9C;IACD,MAAM,EAAE,eAAe,CAAA;CACxB,KAAG,OAAO,CACT,CAAC,gCAAgC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC9C,UAAU,GACV,uBAAuB,SAAS,MAAM,GACpC,UAAU,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,GACrE,UAAU,CAAC,wBAAwB,EAAE,gCAAgC,CAAC,CAO7E,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNextRequestI18n.js","names":["initI18n","cookies","headers","getRequestLanguage","getNextRequestI18n","config","i18n","context","language"],"sources":["../../src/utilities/getNextRequestI18n.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"getNextRequestI18n.js","names":["initI18n","cookies","headers","getRequestLanguage","getNextRequestI18n","config","i18n","context","language"],"sources":["../../src/utilities/getNextRequestI18n.ts"],"sourcesContent":["import type { ClientTranslationsObject, I18nClient } from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { cookies, headers } from 'next/headers.js'\n\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\n/**\n * In the context of Next.js, this function initializes the i18n object for the current request.\n *\n * It must be called on the server side, and within the lifecycle of a request since it relies on the request headers and cookies.\n */\nexport const getNextRequestI18n = async <\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n TAdditionalTranslations = {},\n TAdditionalClientTranslationKeys extends string = never,\n>({\n config,\n}: {\n config: SanitizedConfig\n}): Promise<\n [TAdditionalClientTranslationKeys] extends [never]\n ? I18nClient\n : TAdditionalTranslations extends object\n ? I18nClient<TAdditionalTranslations, TAdditionalClientTranslationKeys>\n : I18nClient<ClientTranslationsObject, TAdditionalClientTranslationKeys>\n> => {\n return (await initI18n({\n config: config.i18n,\n context: 'client',\n language: getRequestLanguage({ config, cookies: cookies(), headers: headers() }),\n })) as any\n}\n"],"mappings":"AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,OAAO,EAAEC,OAAO,QAAQ;AAEjC,SAASC,kBAAkB,QAAQ;AAEnC;;;;;AAKA,OAAO,MAAMC,kBAAA,GAAqB,MAAAA,CAIhC;EACAC;AAAM,CAGP;EAOC,OAAQ,MAAML,QAAA,CAAS;IACrBK,MAAA,EAAQA,MAAA,CAAOC,IAAI;IACnBC,OAAA,EAAS;IACTC,QAAA,EAAUL,kBAAA,CAAmB;MAAEE,MAAA;MAAQJ,OAAA,EAASA,OAAA;MAAWC,OAAA,EAASA,OAAA;IAAU;EAChF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPayloadHMR.js","names":["BasePayload","generateImportMap","WebSocket","cached","global","_payload","payload","promise","reload","ws","config","skipImportMapGeneration","db","destroy","collections","reduce","collection","slug","customIDType","globals","typescript","autoGenerate","bin","args","log","admin","importMap","init","connect","hotReload","getPayloadHMR","options","Error","resolve","Promise","res","process","env","NODE_ENV","DISABLE_PAYLOAD_HMR","port","PORT","NEXT_BASE_PATH","onmessage","event","data","JSON","parse","action","_","e"],"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type { InitOptions, Payload, SanitizedConfig } from 'payload'\n\nimport { BasePayload, generateImportMap } from 'payload'\nimport WebSocket from 'ws'\n\nlet cached: {\n payload:
|
|
1
|
+
{"version":3,"file":"getPayloadHMR.js","names":["BasePayload","generateImportMap","WebSocket","cached","global","_payload","payload","promise","reload","ws","config","skipImportMapGeneration","db","destroy","collections","reduce","collection","slug","customIDType","globals","typescript","autoGenerate","bin","args","log","admin","importMap","init","connect","hotReload","getPayloadHMR","options","Error","resolve","Promise","res","process","env","NODE_ENV","DISABLE_PAYLOAD_HMR","port","PORT","NEXT_BASE_PATH","onmessage","event","data","JSON","parse","action","_","e"],"sources":["../../src/utilities/getPayloadHMR.ts"],"sourcesContent":["import type { InitOptions, Payload, SanitizedConfig } from 'payload'\n\nimport { BasePayload, generateImportMap } from 'payload'\nimport WebSocket from 'ws'\n\nlet cached: {\n payload: null | Payload\n promise: null | Promise<Payload>\n reload: boolean | Promise<void>\n ws: null | WebSocket\n} = global._payload\n\nif (!cached) {\n cached = global._payload = { payload: null, promise: null, reload: false, ws: null }\n}\n\nexport const reload = async (\n config: SanitizedConfig,\n payload: Payload,\n skipImportMapGeneration?: boolean,\n): Promise<void> => {\n if (typeof payload.db.destroy === 'function') {\n await payload.db.destroy()\n }\n\n payload.config = config\n\n payload.collections = config.collections.reduce((collections, collection) => {\n collections[collection.slug] = {\n config: collection,\n customIDType: payload.collections[collection.slug]?.customIDType,\n }\n return collections\n }, {})\n\n payload.globals = {\n config: config.globals,\n }\n\n // TODO: support HMR for other props in the future (see payload/src/index init()) hat may change on Payload singleton\n\n // Generate types\n if (config.typescript.autoGenerate !== false) {\n // We cannot run it directly here, as generate-types imports json-schema-to-typescript, which breaks on turbopack.\n // see: https://github.com/vercel/next.js/issues/66723\n void payload.bin({\n args: ['generate:types'],\n log: false,\n })\n }\n\n // Generate component map\n if (skipImportMapGeneration !== true && config.admin?.importMap?.autoGenerate !== false) {\n await generateImportMap(config, {\n log: true,\n })\n }\n\n await payload.db.init()\n if (payload.db.connect) {\n await payload.db.connect({ hotReload: true })\n }\n}\n\nexport const getPayloadHMR = async (\n options: Pick<InitOptions, 'config' | 'importMap'>,\n): Promise<Payload> => {\n if (!options?.config) {\n throw new Error('Error: the payload config is required for getPayloadHMR to work.')\n }\n\n if (cached.payload) {\n if (cached.reload === true) {\n let resolve: () => void\n\n // getPayloadHMR is called multiple times, in parallel. However, we only want to run `await reload` once. By immediately setting cached.reload to a promise,\n // we can ensure that all subsequent calls will wait for the first reload to finish. So if we set it here, the 2nd call of getPayloadHMR\n // will reach `if (cached.reload instanceof Promise) {` which then waits for the first reload to finish.\n cached.reload = new Promise((res) => (resolve = res))\n const config = await options.config\n await reload(config, cached.payload)\n\n resolve()\n }\n\n if (cached.reload instanceof Promise) {\n await cached.reload\n }\n\n if (options?.importMap) {\n cached.payload.importMap = options.importMap\n }\n return cached.payload\n }\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n if (!cached.promise) {\n // no need to await options.config here, as it's already awaited in the BasePayload.init\n cached.promise = new BasePayload().init(options)\n }\n\n try {\n cached.payload = await cached.promise\n\n if (\n !cached.ws &&\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n process.env.DISABLE_PAYLOAD_HMR !== 'true'\n ) {\n try {\n const port = process.env.PORT || '3000'\n cached.ws = new WebSocket(\n `ws://localhost:${port}${process.env.NEXT_BASE_PATH ?? ''}/_next/webpack-hmr`,\n )\n\n cached.ws.onmessage = (event) => {\n if (typeof event.data === 'string') {\n const data = JSON.parse(event.data)\n\n if ('action' in data && data.action === 'serverComponentChanges') {\n cached.reload = true\n }\n }\n }\n } catch (_) {\n // swallow e\n }\n }\n } catch (e) {\n cached.promise = null\n throw e\n }\n\n if (options?.importMap) {\n cached.payload.importMap = options.importMap\n }\n\n return cached.payload\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRequestTheme.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAA;AAC7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,
|
|
1
|
+
{"version":3,"file":"getRequestTheme.d.ts","sourceRoot":"","sources":["../../src/utilities/getRequestTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAA;AAC7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEzD,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,sBAAsB,CAAA;IACrD,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;CAC5B,CAAA;AAID,eAAO,MAAM,eAAe,iCAAkC,sBAAsB,KAAG,KAkBtF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRequestTheme.js","names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","themeCookie","get","cookiePrefix","themeFromCookie","value","includes","themeFromHeader"],"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js'\nimport type { SanitizedConfig } from 'payload'\n\nimport { type Theme
|
|
1
|
+
{"version":3,"file":"getRequestTheme.js","names":["defaultTheme","acceptedThemes","getRequestTheme","config","cookies","headers","themeCookie","get","cookiePrefix","themeFromCookie","value","includes","themeFromHeader"],"sources":["../../src/utilities/getRequestTheme.ts"],"sourcesContent":["import type { ReadonlyRequestCookies } from 'next/dist/server/web/spec-extension/adapters/request-cookies.js'\nimport type { SanitizedConfig } from 'payload'\n\nimport { defaultTheme, type Theme } from '@payloadcms/ui'\n\ntype GetRequestLanguageArgs = {\n config: SanitizedConfig\n cookies: Map<string, string> | ReadonlyRequestCookies\n headers: Request['headers']\n}\n\nconst acceptedThemes: Theme[] = ['dark', 'light']\n\nexport const getRequestTheme = ({ config, cookies, headers }: GetRequestLanguageArgs): Theme => {\n const themeCookie = cookies.get(`${config.cookiePrefix || 'payload'}-theme`)\n\n const themeFromCookie: Theme = (\n typeof themeCookie === 'string' ? themeCookie : themeCookie?.value\n ) as Theme\n\n if (themeFromCookie && acceptedThemes.includes(themeFromCookie)) {\n return themeFromCookie\n }\n\n const themeFromHeader = headers.get('Sec-CH-Prefers-Color-Scheme') as Theme\n\n if (themeFromHeader && acceptedThemes.includes(themeFromHeader)) {\n return themeFromHeader\n }\n\n return defaultTheme\n}\n"],"mappings":"AAGA,SAASA,YAAY,QAAoB;AAQzC,MAAMC,cAAA,GAA0B,CAAC,QAAQ,QAAQ;AAEjD,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAO,CAA0B;EAClF,MAAMC,WAAA,GAAcF,OAAA,CAAQG,GAAG,CAAC,GAAGJ,MAAA,CAAOK,YAAY,IAAI,iBAAiB;EAE3E,MAAMC,eAAA,GACJ,OAAOH,WAAA,KAAgB,WAAWA,WAAA,GAAcA,WAAA,EAAaI,KAAA;EAG/D,IAAID,eAAA,IAAmBR,cAAA,CAAeU,QAAQ,CAACF,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,MAAMG,eAAA,GAAkBP,OAAA,CAAQE,GAAG,CAAC;EAEpC,IAAIK,eAAA,IAAmBX,cAAA,CAAeU,QAAQ,CAACC,eAAA,GAAkB;IAC/D,OAAOA,eAAA;EACT;EAEA,OAAOZ,YAAA;AACT","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headersWithCors.d.ts","sourceRoot":"","sources":["../../src/utilities/headersWithCors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"headersWithCors.d.ts","sourceRoot":"","sources":["../../src/utilities/headersWithCors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;CAC7B,CAAA;AACD,eAAO,MAAM,eAAe,qBAAsB,QAAQ,KAAG,OAyC5D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headersWithCors.js","names":["headersWithCors","headers","req","cors","payload","config","requestOrigin","get","defaultAllowedHeaders","set","filter","Boolean","join","origins","Array","isArray","indexOf"],"sources":["../../src/utilities/headersWithCors.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"headersWithCors.js","names":["headersWithCors","headers","req","cors","payload","config","requestOrigin","get","defaultAllowedHeaders","set","filter","Boolean","join","origins","Array","isArray","indexOf"],"sources":["../../src/utilities/headersWithCors.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\ntype CorsArgs = {\n headers: Headers\n req: Partial<PayloadRequest>\n}\nexport const headersWithCors = ({ headers, req }: CorsArgs): Headers => {\n const cors = req?.payload.config.cors\n const requestOrigin = req?.headers.get('Origin')\n\n if (cors) {\n const defaultAllowedHeaders = [\n 'Origin',\n 'X-Requested-With',\n 'Content-Type',\n 'Accept',\n 'Authorization',\n 'Content-Encoding',\n 'x-apollo-tracing',\n ]\n\n headers.set('Access-Control-Allow-Methods', 'PUT, PATCH, POST, GET, DELETE, OPTIONS')\n\n if (typeof cors === 'object' && 'headers' in cors) {\n headers.set(\n 'Access-Control-Allow-Headers',\n [...defaultAllowedHeaders, ...cors.headers].filter(Boolean).join(', '),\n )\n } else {\n headers.set('Access-Control-Allow-Headers', defaultAllowedHeaders.join(', '))\n }\n\n if (cors === '*' || (typeof cors === 'object' && 'origins' in cors && cors.origins === '*')) {\n headers.set('Access-Control-Allow-Origin', '*')\n } else if (\n (Array.isArray(cors) && cors.indexOf(requestOrigin) > -1) ||\n (!Array.isArray(cors) &&\n typeof cors === 'object' &&\n 'origins' in cors &&\n cors.origins.indexOf(requestOrigin) > -1)\n ) {\n headers.set('Access-Control-Allow-Credentials', 'true')\n headers.set('Access-Control-Allow-Origin', requestOrigin)\n }\n }\n\n return headers\n}\n"],"mappings":"AAMA,OAAO,MAAMA,eAAA,GAAkBA,CAAC;EAAEC,OAAO;EAAEC;AAAG,CAAY;EACxD,MAAMC,IAAA,GAAOD,GAAA,EAAKE,OAAA,CAAQC,MAAA,CAAOF,IAAA;EACjC,MAAMG,aAAA,GAAgBJ,GAAA,EAAKD,OAAA,CAAQM,GAAA,CAAI;EAEvC,IAAIJ,IAAA,EAAM;IACR,MAAMK,qBAAA,GAAwB,CAC5B,UACA,oBACA,gBACA,UACA,iBACA,oBACA,mBACD;IAEDP,OAAA,CAAQQ,GAAG,CAAC,gCAAgC;IAE5C,IAAI,OAAON,IAAA,KAAS,YAAY,aAAaA,IAAA,EAAM;MACjDF,OAAA,CAAQQ,GAAG,CACT,gCACA,C,GAAID,qBAAA,E,GAA0BL,IAAA,CAAKF,OAAO,CAAC,CAACS,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;IAErE,OAAO;MACLX,OAAA,CAAQQ,GAAG,CAAC,gCAAgCD,qBAAA,CAAsBI,IAAI,CAAC;IACzE;IAEA,IAAIT,IAAA,KAAS,OAAQ,OAAOA,IAAA,KAAS,YAAY,aAAaA,IAAA,IAAQA,IAAA,CAAKU,OAAO,KAAK,KAAM;MAC3FZ,OAAA,CAAQQ,GAAG,CAAC,+BAA+B;IAC7C,OAAO,IACLK,KAAC,CAAMC,OAAO,CAACZ,IAAA,KAASA,IAAA,CAAKa,OAAO,CAACV,aAAA,IAAiB,CAAC,KACtD,CAACQ,KAAA,CAAMC,OAAO,CAACZ,IAAA,KACd,OAAOA,IAAA,KAAS,YAChB,aAAaA,IAAA,IACbA,IAAA,CAAKU,OAAO,CAACG,OAAO,CAACV,aAAA,IAAiB,CAAC,GACzC;MACAL,OAAA,CAAQQ,GAAG,CAAC,oCAAoC;MAChDR,OAAA,CAAQQ,GAAG,CAAC,+BAA+BH,aAAA;IAC7C;EACF;EAEA,OAAOL,OAAA;AACT","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,kEAK5B;IACD,MAAM,MAAA;IACN,2BAA2B,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CACnD,
|
|
1
|
+
{"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,kEAK5B;IACD,MAAM,MAAA;IACN,2BAA2B,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CACnD,SAwCA,CAAA"}
|
|
@@ -23,7 +23,9 @@ export const handleAuthRedirect = ({
|
|
|
23
23
|
config,
|
|
24
24
|
route
|
|
25
25
|
})) {
|
|
26
|
-
if (searchParams && 'redirect' in searchParams)
|
|
26
|
+
if (searchParams && 'redirect' in searchParams) {
|
|
27
|
+
delete searchParams.redirect;
|
|
28
|
+
}
|
|
27
29
|
const redirectRoute = encodeURIComponent(route + Object.keys(searchParams ?? {}).length ? `${qs.stringify(searchParams, {
|
|
28
30
|
addQueryPrefix: true
|
|
29
31
|
})}` : undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleAuthRedirect.js","names":["formatAdminURL","redirect","qs","isAdminAuthRoute","isAdminRoute","handleAuthRedirect","config","redirectUnauthenticatedUser","route","searchParams","admin","routes","login","loginRouteFromConfig","adminRoute","redirectRoute","encodeURIComponent","Object","keys","length","stringify","addQueryPrefix","undefined","adminLoginRoute","path","customLoginRoute","loginRoute","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAuthRedirect = ({\n config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n}: {\n config\n redirectUnauthenticatedUser: boolean | string\n route: string\n searchParams: { [key: string]: string | string[] }\n}) => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (!isAdminAuthRoute({ adminRoute, config, route })) {\n if (searchParams && 'redirect' in searchParams) delete searchParams.redirect\n\n const redirectRoute = encodeURIComponent(\n route + Object.keys(searchParams ?? {}).length\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : undefined,\n )\n\n const adminLoginRoute = formatAdminURL({ adminRoute, path: loginRouteFromConfig })\n\n const customLoginRoute =\n typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined\n\n const loginRoute = isAdminRoute({ adminRoute, config, route })\n ? adminLoginRoute\n : customLoginRoute || loginRouteFromConfig\n\n const parsedLoginRouteSearchParams = qs.parse(loginRoute.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n redirect(`${loginRoute.split('?')[0]}${searchParamsWithRedirect}`)\n }\n}\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,YAAYC,EAAA,MAAQ;AAEpB,SAASC,gBAAgB,EAAEC,YAAY,QAAQ;AAE/C,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EACjCC,MAAM;EACNC,2BAA2B;EAC3BC,KAAK;EACLC;AAAY,CAMb;EACC,MAAM;IACJC,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,KAAA,EAAOC;MAAoB;IAAE,CACxC;IACDF,MAAA,EAAQ;MAAED,KAAA,EAAOI;IAAU;EAAE,CAC9B,GAAGR,MAAA;EAEJ,IAAI,CAACH,gBAAA,CAAiB;IAAEW,UAAA;IAAYR,MAAA;IAAQE;EAAM,IAAI;IACpD,IAAIC,YAAA,IAAgB,cAAcA,YAAA,EAAc,OAAOA,YAAA,CAAaR,QAAQ;
|
|
1
|
+
{"version":3,"file":"handleAuthRedirect.js","names":["formatAdminURL","redirect","qs","isAdminAuthRoute","isAdminRoute","handleAuthRedirect","config","redirectUnauthenticatedUser","route","searchParams","admin","routes","login","loginRouteFromConfig","adminRoute","redirectRoute","encodeURIComponent","Object","keys","length","stringify","addQueryPrefix","undefined","adminLoginRoute","path","customLoginRoute","loginRoute","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import { formatAdminURL } from '@payloadcms/ui/shared'\nimport { redirect } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAuthRedirect = ({\n config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n}: {\n config\n redirectUnauthenticatedUser: boolean | string\n route: string\n searchParams: { [key: string]: string | string[] }\n}) => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (!isAdminAuthRoute({ adminRoute, config, route })) {\n if (searchParams && 'redirect' in searchParams) {\n delete searchParams.redirect\n }\n\n const redirectRoute = encodeURIComponent(\n route + Object.keys(searchParams ?? {}).length\n ? `${qs.stringify(searchParams, { addQueryPrefix: true })}`\n : undefined,\n )\n\n const adminLoginRoute = formatAdminURL({ adminRoute, path: loginRouteFromConfig })\n\n const customLoginRoute =\n typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined\n\n const loginRoute = isAdminRoute({ adminRoute, config, route })\n ? adminLoginRoute\n : customLoginRoute || loginRouteFromConfig\n\n const parsedLoginRouteSearchParams = qs.parse(loginRoute.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${qs.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n redirect(`${loginRoute.split('?')[0]}${searchParamsWithRedirect}`)\n }\n}\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,YAAYC,EAAA,MAAQ;AAEpB,SAASC,gBAAgB,EAAEC,YAAY,QAAQ;AAE/C,OAAO,MAAMC,kBAAA,GAAqBA,CAAC;EACjCC,MAAM;EACNC,2BAA2B;EAC3BC,KAAK;EACLC;AAAY,CAMb;EACC,MAAM;IACJC,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,KAAA,EAAOC;MAAoB;IAAE,CACxC;IACDF,MAAA,EAAQ;MAAED,KAAA,EAAOI;IAAU;EAAE,CAC9B,GAAGR,MAAA;EAEJ,IAAI,CAACH,gBAAA,CAAiB;IAAEW,UAAA;IAAYR,MAAA;IAAQE;EAAM,IAAI;IACpD,IAAIC,YAAA,IAAgB,cAAcA,YAAA,EAAc;MAC9C,OAAOA,YAAA,CAAaR,QAAQ;IAC9B;IAEA,MAAMc,aAAA,GAAgBC,kBAAA,CACpBR,KAAA,GAAQS,MAAA,CAAOC,IAAI,CAACT,YAAA,IAAgB,CAAC,GAAGU,MAAM,GAC1C,GAAGjB,EAAA,CAAGkB,SAAS,CAACX,YAAA,EAAc;MAAEY,cAAA,EAAgB;IAAK,IAAI,GACzDC,SAAA;IAGN,MAAMC,eAAA,GAAkBvB,cAAA,CAAe;MAAEc,UAAA;MAAYU,IAAA,EAAMX;IAAqB;IAEhF,MAAMY,gBAAA,GACJ,OAAOlB,2BAAA,KAAgC,WAAWA,2BAAA,GAA8Be,SAAA;IAElF,MAAMI,UAAA,GAAatB,YAAA,CAAa;MAAEU,UAAA;MAAYR,MAAA;MAAQE;IAAM,KACxDe,eAAA,GACAE,gBAAA,IAAoBZ,oBAAA;IAExB,MAAMc,4BAAA,GAA+BzB,EAAA,CAAG0B,KAAK,CAACF,UAAA,CAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;IAE1E,MAAMC,wBAAA,GAA2B,GAAG5B,EAAA,CAAGkB,SAAS,CAC9C;MACE,GAAGO,4BAA4B;MAC/B,IAAIZ,aAAA,GAAgB;QAAEd,QAAA,EAAUc;MAAc,IAAI,CAAC,CAAC;IACtD,GACA;MAAEM,cAAA,EAAgB;IAAK,IACtB;IAEHpB,QAAA,CAAS,GAAGyB,UAAA,CAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,GAAGC,wBAAA,EAA0B;EACnE;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,SAAS,CAAA;AAQtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,eAAO,MAAM,QAAQ,4FAMlB,IAAI,KAAG,OAAO,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,SAAS,CAAA;AAQtF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,eAAO,MAAM,QAAQ,4FAMlB,IAAI,KAAG,OAAO,CAAC,cAAc,CA4I/B,CAAA"}
|
|
@@ -103,7 +103,9 @@ export const initPage = async ({
|
|
|
103
103
|
} catch (error) {} // eslint-disable-line no-empty
|
|
104
104
|
}
|
|
105
105
|
locale = findLocaleFromCode(localization, localeCode);
|
|
106
|
-
if (!locale)
|
|
106
|
+
if (!locale) {
|
|
107
|
+
locale = findLocaleFromCode(localization, defaultLocaleCode);
|
|
108
|
+
}
|
|
107
109
|
req.locale = locale.code;
|
|
108
110
|
}
|
|
109
111
|
const visibleEntities = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["initI18n","findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","getRequestLanguage","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","importMap","redirectUnauthenticatedUser","route","searchParams","payload","collections","globals","i18n","i18nConfig","localization","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","cookies","language","context","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","permissions","user","auth","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","code","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig"],"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { InitPageResult, Locale, PayloadRequest, VisibleEntities } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createLocalReq, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { getRequestLanguage } from '../getRequestLanguage.js'\nimport { handleAdminPage } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\n\nexport const initPage = async ({\n config: configPromise,\n importMap,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const payload = await getPayloadHMR({ config: configPromise, importMap })\n\n const {\n collections,\n globals,\n i18n: i18nConfig,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n: I18n = await initI18n({\n config: i18nConfig,\n context: 'client',\n language,\n })\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.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 const req = await createLocalReq(\n {\n fallbackLocale: null,\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequest,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n req.user = user\n\n const localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (error) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) locale = findLocaleFromCode(localization, defaultLocaleCode)\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"mappings":"AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAA,IAAWC,UAAU,QAAQ;AACtC,SAASC,cAAc,EAAEC,cAAc,EAAEC,YAAY,QAAQ;AAC7D,YAAYC,EAAA,MAAQ;AAIpB,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,QAAA,GAAW,MAAAA,CAAO;EAC7BC,MAAA,EAAQC,aAAa;EACrBC,SAAS;EACTC,2BAAA,GAA8B,KAAK;EACnCC,KAAK;EACLC;AAAY,CACP;EACL,MAAMhB,OAAA,GAAUC,UAAA;EAChB,MAAMgB,OAAA,GAAU,MAAMX,aAAA,CAAc;IAAEK,MAAA,EAAQC,aAAA;IAAeC;EAAU;EAEvE,MAAM;IACJK,WAAW;IACXC,OAAO;IACPC,IAAA,EAAMC,UAAU;IAChBC,YAAY;IACZC,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGR,OAAA,CAAQN,MAAM;EAElB,MAAMe,WAAA,GAAc,GAAGrB,EAAA,CAAGsB,SAAS,CAACX,YAAA,IAAgB,CAAC,GAAG;IAAEY,cAAA,EAAgB;EAAK,IAAI;EACnF,MAAMC,OAAA,GAAUzB,YAAA,CAAaJ,OAAA;EAC7B,MAAM8B,QAAA,GAAWvB,kBAAA,CAAmB;IAAEI,MAAA,EAAQM,OAAA,CAAQN,MAAM;IAAEkB,OAAA;IAAS7B;EAAQ;EAE/E,MAAMoB,IAAA,GAAa,MAAMtB,QAAA,CAAS;IAChCa,MAAA,EAAQU,UAAA;IACRU,OAAA,EAAS;IACTD;EACF;EAEA,MAAME,eAAA,GAAkBC,MAAA,CAAOC,OAAO,CAACjB,OAAA,CAAQN,MAAM,CAACS,IAAI,CAACe,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACzF,CAACC,GAAA,EAAK,CAACP,QAAA,EAAUQ,cAAA,CAAe;IAC9B,IAAIL,MAAA,CAAOM,IAAI,CAACtB,OAAA,CAAQN,MAAM,CAACS,IAAI,CAACe,kBAAkB,EAAEK,QAAQ,CAACV,QAAA,GAAW;MAC1EO,GAAA,CAAII,IAAI,CAAC;QACPC,KAAA,EAAOJ,cAAA,CAAeK,YAAY,CAACC,OAAO,CAACC,YAAY;QACvDC,KAAA,EAAOhB;MACT;IACF;IAEA,OAAOO,GAAA;EACT,GACA,EAAE;EAGJ,MAAMU,GAAA,GAAM,MAAM7C,cAAA,CAChB;IACE8C,cAAA,EAAgB;IAChBD,GAAA,EAAK;MACH/C,OAAA;MACAiD,IAAA,EAAMjD,OAAA,CAAQkD,GAAG,CAAC;MAClB9B,IAAA;MACA+B,KAAA,EAAO9C,EAAA,CAAG+C,KAAK,CAAC1B,WAAA,EAAa;QAC3B2B,KAAA,EAAO;QACPC,iBAAA,EAAmB;MACrB;MACAC,GAAA,EAAK,GAAGtC,OAAA,CAAQN,MAAM,CAAC6C,SAAS,GAAGzC,KAAA,GAAQC,YAAA,GAAeU,WAAA,GAAc;IAC1E;EACF,GACAT,OAAA;EAGF,MAAM;IAAEwC,WAAW;IAAEC;EAAI,CAAE,GAAG,MAAMzC,OAAA,CAAQ0C,IAAI,CAAC;IAAE3D,OAAA;IAAS+C;EAAI;EAChEA,GAAA,CAAIW,IAAI,GAAGA,IAAA;EAEX,MAAME,WAAA,GAAc5C,YAAA,EAAc6C,MAAA;EAClC,IAAIA,MAAA;EAEJ,IAAIvC,YAAA,EAAc;IAChB,MAAMwC,iBAAA,GAAoBxC,YAAA,CAAayC,aAAa,GAAGzC,YAAA,CAAayC,aAAa,GAAG;IACpF,IAAIC,UAAA,GAAqBJ,WAAA;IAEzB,IAAI,CAACI,UAAA,EAAY;MACf,IAAI;QACFA,UAAA,GAAa,MAAM/C,OAAA,CAChBgD,IAAI,CAAC;UACJC,UAAA,EAAY;UACZb,KAAA,EAAO;UACPc,KAAA,EAAO;UACPT,IAAA;UACAU,KAAA,EAAO;YACLC,GAAA,EAAK,CACH;cACE,mBAAmB;gBACjBC,MAAA,EAAQrD,OAAA,CAAQN,MAAM,CAACa,KAAK,CAACkC;cAC/B;YACF,GACA;cACE,cAAc;gBACZY,MAAA,EAAQZ,IAAA,CAAKa;cACf;YACF,GACA;cACEC,GAAA,EAAK;gBACHF,MAAA,EAAQ;cACV;YACF;UAEJ;QACF,IACEG,IAAA,CAAMC,GAAA,IAAQA,GAAA,CAAIC,IAAI,GAAG,EAAE,EAAE7B,KAAA;MACnC,EAAE,OAAO8B,KAAA,EAAO,CAAC,EAAE;IACrB;IAEAf,MAAA,GAAS9D,kBAAA,CAAmBuB,YAAA,EAAc0C,UAAA;IAE1C,IAAI,CAACH,MAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["initI18n","findLocaleFromCode","headers","getHeaders","createLocalReq","isEntityHidden","parseCookies","qs","getPayloadHMR","getRequestLanguage","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","importMap","redirectUnauthenticatedUser","route","searchParams","payload","collections","globals","i18n","i18nConfig","localization","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","cookies","language","context","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","req","fallbackLocale","host","get","query","parse","depth","ignoreQueryPrefix","url","serverURL","permissions","user","auth","localeParam","locale","defaultLocaleCode","defaultLocale","localeCode","find","collection","limit","where","and","equals","id","key","then","res","docs","error","code","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig"],"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { InitPageResult, Locale, PayloadRequest, VisibleEntities } from 'payload'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { findLocaleFromCode } from '@payloadcms/ui/shared'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createLocalReq, isEntityHidden, parseCookies } from 'payload'\nimport * as qs from 'qs-esm'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { getRequestLanguage } from '../getRequestLanguage.js'\nimport { handleAdminPage } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\n\nexport const initPage = async ({\n config: configPromise,\n importMap,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const payload = await getPayloadHMR({ config: configPromise, importMap })\n\n const {\n collections,\n globals,\n i18n: i18nConfig,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n: I18n = await initI18n({\n config: i18nConfig,\n context: 'client',\n language,\n })\n\n const languageOptions = Object.entries(payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(payload.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 const req = await createLocalReq(\n {\n fallbackLocale: null,\n req: {\n headers,\n host: headers.get('host'),\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequest,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n req.user = user\n\n const localeParam = searchParams?.locale as string\n let locale: Locale\n\n if (localization) {\n const defaultLocaleCode = localization.defaultLocale ? localization.defaultLocale : 'en'\n let localeCode: string = localeParam\n\n if (!localeCode) {\n try {\n localeCode = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n and: [\n {\n 'user.relationTo': {\n equals: payload.config.admin.user,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n {\n key: {\n equals: 'locale',\n },\n },\n ],\n },\n })\n ?.then((res) => res.docs?.[0]?.value as string)\n } catch (error) {} // eslint-disable-line no-empty\n }\n\n locale = findLocaleFromCode(localization, localeCode)\n\n if (!locale) {\n locale = findLocaleFromCode(localization, defaultLocaleCode)\n }\n req.locale = locale.code\n }\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n languageOptions,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"mappings":"AAGA,SAASA,QAAQ,QAAQ;AACzB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAA,IAAWC,UAAU,QAAQ;AACtC,SAASC,cAAc,EAAEC,cAAc,EAAEC,YAAY,QAAQ;AAC7D,YAAYC,EAAA,MAAQ;AAIpB,SAASC,aAAa,QAAQ;AAC9B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,QAAA,GAAW,MAAAA,CAAO;EAC7BC,MAAA,EAAQC,aAAa;EACrBC,SAAS;EACTC,2BAAA,GAA8B,KAAK;EACnCC,KAAK;EACLC;AAAY,CACP;EACL,MAAMhB,OAAA,GAAUC,UAAA;EAChB,MAAMgB,OAAA,GAAU,MAAMX,aAAA,CAAc;IAAEK,MAAA,EAAQC,aAAA;IAAeC;EAAU;EAEvE,MAAM;IACJK,WAAW;IACXC,OAAO;IACPC,IAAA,EAAMC,UAAU;IAChBC,YAAY;IACZC,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGR,OAAA,CAAQN,MAAM;EAElB,MAAMe,WAAA,GAAc,GAAGrB,EAAA,CAAGsB,SAAS,CAACX,YAAA,IAAgB,CAAC,GAAG;IAAEY,cAAA,EAAgB;EAAK,IAAI;EACnF,MAAMC,OAAA,GAAUzB,YAAA,CAAaJ,OAAA;EAC7B,MAAM8B,QAAA,GAAWvB,kBAAA,CAAmB;IAAEI,MAAA,EAAQM,OAAA,CAAQN,MAAM;IAAEkB,OAAA;IAAS7B;EAAQ;EAE/E,MAAMoB,IAAA,GAAa,MAAMtB,QAAA,CAAS;IAChCa,MAAA,EAAQU,UAAA;IACRU,OAAA,EAAS;IACTD;EACF;EAEA,MAAME,eAAA,GAAkBC,MAAA,CAAOC,OAAO,CAACjB,OAAA,CAAQN,MAAM,CAACS,IAAI,CAACe,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACzF,CAACC,GAAA,EAAK,CAACP,QAAA,EAAUQ,cAAA,CAAe;IAC9B,IAAIL,MAAA,CAAOM,IAAI,CAACtB,OAAA,CAAQN,MAAM,CAACS,IAAI,CAACe,kBAAkB,EAAEK,QAAQ,CAACV,QAAA,GAAW;MAC1EO,GAAA,CAAII,IAAI,CAAC;QACPC,KAAA,EAAOJ,cAAA,CAAeK,YAAY,CAACC,OAAO,CAACC,YAAY;QACvDC,KAAA,EAAOhB;MACT;IACF;IAEA,OAAOO,GAAA;EACT,GACA,EAAE;EAGJ,MAAMU,GAAA,GAAM,MAAM7C,cAAA,CAChB;IACE8C,cAAA,EAAgB;IAChBD,GAAA,EAAK;MACH/C,OAAA;MACAiD,IAAA,EAAMjD,OAAA,CAAQkD,GAAG,CAAC;MAClB9B,IAAA;MACA+B,KAAA,EAAO9C,EAAA,CAAG+C,KAAK,CAAC1B,WAAA,EAAa;QAC3B2B,KAAA,EAAO;QACPC,iBAAA,EAAmB;MACrB;MACAC,GAAA,EAAK,GAAGtC,OAAA,CAAQN,MAAM,CAAC6C,SAAS,GAAGzC,KAAA,GAAQC,YAAA,GAAeU,WAAA,GAAc;IAC1E;EACF,GACAT,OAAA;EAGF,MAAM;IAAEwC,WAAW;IAAEC;EAAI,CAAE,GAAG,MAAMzC,OAAA,CAAQ0C,IAAI,CAAC;IAAE3D,OAAA;IAAS+C;EAAI;EAChEA,GAAA,CAAIW,IAAI,GAAGA,IAAA;EAEX,MAAME,WAAA,GAAc5C,YAAA,EAAc6C,MAAA;EAClC,IAAIA,MAAA;EAEJ,IAAIvC,YAAA,EAAc;IAChB,MAAMwC,iBAAA,GAAoBxC,YAAA,CAAayC,aAAa,GAAGzC,YAAA,CAAayC,aAAa,GAAG;IACpF,IAAIC,UAAA,GAAqBJ,WAAA;IAEzB,IAAI,CAACI,UAAA,EAAY;MACf,IAAI;QACFA,UAAA,GAAa,MAAM/C,OAAA,CAChBgD,IAAI,CAAC;UACJC,UAAA,EAAY;UACZb,KAAA,EAAO;UACPc,KAAA,EAAO;UACPT,IAAA;UACAU,KAAA,EAAO;YACLC,GAAA,EAAK,CACH;cACE,mBAAmB;gBACjBC,MAAA,EAAQrD,OAAA,CAAQN,MAAM,CAACa,KAAK,CAACkC;cAC/B;YACF,GACA;cACE,cAAc;gBACZY,MAAA,EAAQZ,IAAA,CAAKa;cACf;YACF,GACA;cACEC,GAAA,EAAK;gBACHF,MAAA,EAAQ;cACV;YACF;UAEJ;QACF,IACEG,IAAA,CAAMC,GAAA,IAAQA,GAAA,CAAIC,IAAI,GAAG,EAAE,EAAE7B,KAAA;MACnC,EAAE,OAAO8B,KAAA,EAAO,CAAC,EAAE;IACrB;IAEAf,MAAA,GAAS9D,kBAAA,CAAmBuB,YAAA,EAAc0C,UAAA;IAE1C,IAAI,CAACH,MAAA,EAAQ;MACXA,MAAA,GAAS9D,kBAAA,CAAmBuB,YAAA,EAAcwC,iBAAA;IAC5C;IACAf,GAAA,CAAIc,MAAM,GAAGA,MAAA,CAAOgB,IAAI;EAC1B;EAEA,MAAMC,eAAA,GAAmC;IACvC5D,WAAA,EAAaA,WAAA,CACV6D,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAExD,KAAA,EAAO;QAAEyD;MAAM;IAAE,CAAE,KAAM,CAAC9E,cAAA,CAAe;MAAE8E,MAAA;MAAQvB;IAAK,KAAKsB,IAAA,GAAO,MACjFE,MAAM,CAACC,OAAA;IACVhE,OAAA,EAASA,OAAA,CACN4D,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAExD,KAAA,EAAO;QAAEyD;MAAM;IAAE,CAAE,KAAM,CAAC9E,cAAA,CAAe;MAAE8E,MAAA;MAAQvB;IAAK,KAAKsB,IAAA,GAAO,MACjFE,MAAM,CAACC,OAAA;EACZ;EAEA,IAAIrE,2BAAA,IAA+B,CAAC4C,IAAA,EAAM;IACxCjD,kBAAA,CAAmB;MACjBE,MAAA,EAAQM,OAAA,CAAQN,MAAM;MACtBG,2BAAA;MACAC,KAAA;MACAC;IACF;EACF;EAEA,MAAM;IAAEoE,gBAAgB;IAAEC,KAAK;IAAEC;EAAY,CAAE,GAAG9E,eAAA,CAAgB;IAChEiB,UAAA;IACAd,MAAA,EAAQM,OAAA,CAAQN,MAAM;IACtB8C,WAAA;IACA1C;EACF;EAEA,OAAO;IACLqE,gBAAA;IACAvD,OAAA;IACAwD,KAAA;IACAC,YAAA;IACAtD,eAAA;IACA6B,MAAA;IACAJ,WAAA;IACAV,GAAA;IACAJ,YAAA,EAAcvB,IAAA,CAAKuB,YAAY;IAC/BmC;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../src/utilities/timestamp.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../src/utilities/timestamp.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAAW,MAAM,SAMtC,CAAA"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export const timestamp = label => {
|
|
2
|
-
if (!process.env.PAYLOAD_TIME)
|
|
2
|
+
if (!process.env.PAYLOAD_TIME) {
|
|
3
|
+
process.env.PAYLOAD_TIME = String(new Date().getTime());
|
|
4
|
+
}
|
|
3
5
|
const now = new Date();
|
|
4
6
|
console.log(`[${now.getTime() - Number(process.env.PAYLOAD_TIME)}ms] ${label}`);
|
|
5
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamp.js","names":["timestamp","label","process","env","PAYLOAD_TIME","String","Date","getTime","now","console","log","Number"],"sources":["../../src/utilities/timestamp.ts"],"sourcesContent":["export const timestamp = (label: string) => {\n if (!process.env.PAYLOAD_TIME) process.env.PAYLOAD_TIME = String(new Date().getTime())\n const now = new Date()\n console.log(`[${now.getTime() - Number(process.env.PAYLOAD_TIME)}ms] ${label}`)\n}\n"],"mappings":"AAAA,OAAO,MAAMA,SAAA,GAAaC,KAAA;EACxB,IAAI,CAACC,OAAA,CAAQC,GAAG,CAACC,YAAY,
|
|
1
|
+
{"version":3,"file":"timestamp.js","names":["timestamp","label","process","env","PAYLOAD_TIME","String","Date","getTime","now","console","log","Number"],"sources":["../../src/utilities/timestamp.ts"],"sourcesContent":["export const timestamp = (label: string) => {\n if (!process.env.PAYLOAD_TIME) {\n process.env.PAYLOAD_TIME = String(new Date().getTime())\n }\n const now = new Date()\n console.log(`[${now.getTime() - Number(process.env.PAYLOAD_TIME)}ms] ${label}`)\n}\n"],"mappings":"AAAA,OAAO,MAAMA,SAAA,GAAaC,KAAA;EACxB,IAAI,CAACC,OAAA,CAAQC,GAAG,CAACC,YAAY,EAAE;IAC7BF,OAAA,CAAQC,GAAG,CAACC,YAAY,GAAGC,MAAA,CAAO,IAAIC,IAAA,GAAOC,OAAO;EACtD;EACA,MAAMC,GAAA,GAAM,IAAIF,IAAA;EAChBG,OAAA,CAAQC,GAAG,CAAC,IAAIF,GAAA,CAAID,OAAO,KAAKI,MAAA,CAAOT,OAAA,CAAQC,GAAG,CAACC,YAAY,QAAQH,KAAA,EAAO;AAChF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/API/RenderJSON/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,cAAc,CAAA;AAgCrB,KAAK,IAAI,GAAG;IACV,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/API/RenderJSON/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,cAAc,CAAA;AAgCrB,KAAK,IAAI,GAAG;IACV,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,UAAU,+DAMpB,IAAI,sBAoGN,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","ChevronIcon","React","chars","leftCurlyBracket","leftSquareBracket","rightCurlyBracket","rightSquareBracket","baseClass","Bracket","type","comma","position","rightBracket","leftBracket","bracketToRender","_jsxs","className","RenderJSON","t0","$","isEmpty","t1","object","objectKey","parentType","t2","trailingComma","t3","undefined","objectKeys","Object","keys","objectLength","length","isOpen","setIsOpen","useState","isNestedAndEmpty","t4","children","onClick","_jsx","map","key","keyIndex","value","isLastKey","Date","toISOString","Array","isArray","parentHasKey","Boolean","rowClasses","filter","join","JSON","stringify"],"sources":["../../../../src/views/API/RenderJSON/index.tsx"],"sourcesContent":["'use client'\nimport { ChevronIcon } from '@payloadcms/ui'\nimport * as React from 'react'\n\nimport './index.scss'\n\nconst chars = {\n leftCurlyBracket: '\\u007B',\n leftSquareBracket: '\\u005B',\n rightCurlyBracket: '\\u007D',\n rightSquareBracket: '\\u005D',\n}\n\nconst baseClass = 'query-inspector'\n\nconst Bracket = ({\n type,\n comma = false,\n position,\n}: {\n comma?: boolean\n position: 'end' | 'start'\n type: 'array' | 'object'\n}) => {\n const rightBracket = type === 'object' ? chars.rightCurlyBracket : chars.rightSquareBracket\n const leftBracket = type === 'object' ? chars.leftCurlyBracket : chars.leftSquareBracket\n const bracketToRender = position === 'end' ? rightBracket : leftBracket\n\n return (\n <span className={`${baseClass}__bracket ${baseClass}__bracket--position-${position}`}>\n {bracketToRender}\n {position === 'end' && comma ? ',' : null}\n </span>\n )\n}\n\ntype Args = {\n isEmpty?: boolean\n object: Record<string, any
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","ChevronIcon","React","chars","leftCurlyBracket","leftSquareBracket","rightCurlyBracket","rightSquareBracket","baseClass","Bracket","type","comma","position","rightBracket","leftBracket","bracketToRender","_jsxs","className","RenderJSON","t0","$","isEmpty","t1","object","objectKey","parentType","t2","trailingComma","t3","undefined","objectKeys","Object","keys","objectLength","length","isOpen","setIsOpen","useState","isNestedAndEmpty","t4","children","onClick","_jsx","map","key","keyIndex","value","isLastKey","Date","toISOString","Array","isArray","parentHasKey","Boolean","rowClasses","filter","join","JSON","stringify"],"sources":["../../../../src/views/API/RenderJSON/index.tsx"],"sourcesContent":["'use client'\nimport { ChevronIcon } from '@payloadcms/ui'\nimport * as React from 'react'\n\nimport './index.scss'\n\nconst chars = {\n leftCurlyBracket: '\\u007B',\n leftSquareBracket: '\\u005B',\n rightCurlyBracket: '\\u007D',\n rightSquareBracket: '\\u005D',\n}\n\nconst baseClass = 'query-inspector'\n\nconst Bracket = ({\n type,\n comma = false,\n position,\n}: {\n comma?: boolean\n position: 'end' | 'start'\n type: 'array' | 'object'\n}) => {\n const rightBracket = type === 'object' ? chars.rightCurlyBracket : chars.rightSquareBracket\n const leftBracket = type === 'object' ? chars.leftCurlyBracket : chars.leftSquareBracket\n const bracketToRender = position === 'end' ? rightBracket : leftBracket\n\n return (\n <span className={`${baseClass}__bracket ${baseClass}__bracket--position-${position}`}>\n {bracketToRender}\n {position === 'end' && comma ? ',' : null}\n </span>\n )\n}\n\ntype Args = {\n isEmpty?: boolean\n object: any[] | Record<string, any>\n objectKey?: string\n parentType?: 'array' | 'object'\n trailingComma?: boolean\n}\n\nexport const RenderJSON = ({\n isEmpty = false,\n object,\n objectKey,\n parentType = 'object',\n trailingComma = false,\n}: Args) => {\n const objectKeys = object ? Object.keys(object) : []\n const objectLength = objectKeys.length\n const [isOpen, setIsOpen] = React.useState<boolean>(true)\n const isNestedAndEmpty = isEmpty && (parentType === 'object' || parentType === 'array')\n return (\n <li className={isNestedAndEmpty ? `${baseClass}__row-line--nested` : ''}>\n <button\n aria-label=\"toggle\"\n className={`${baseClass}__list-toggle ${isEmpty ? `${baseClass}__list-toggle--empty` : ''}`}\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n >\n {isEmpty ? null : (\n <ChevronIcon\n className={`${baseClass}__toggle-row-icon ${baseClass}__toggle-row-icon--${\n isOpen ? 'open' : 'closed'\n }`}\n />\n )}\n <span>\n {objectKey && `\"${objectKey}\": `}\n <Bracket position=\"start\" type={parentType} />\n {isEmpty ? <Bracket comma={trailingComma} position=\"end\" type={parentType} /> : null}\n </span>\n </button>\n\n <ul className={`${baseClass}__json-children`}>\n {isOpen &&\n objectKeys.map((key, keyIndex) => {\n let value = object[key]\n let type = 'string'\n const isLastKey = keyIndex === objectLength - 1\n\n if (value === null) {\n type = 'null'\n } else if (value instanceof Date) {\n type = 'date'\n value = value.toISOString()\n } else if (Array.isArray(value)) {\n type = 'array'\n } else if (typeof value === 'object') {\n type = 'object'\n } else if (typeof value === 'number') {\n type = 'number'\n } else if (typeof value === 'boolean') {\n type = 'boolean'\n } else {\n type = 'string'\n }\n\n if (type === 'object' || type === 'array') {\n return (\n <RenderJSON\n isEmpty={value.length === 0 || Object.keys(value).length === 0}\n key={`${key}-${keyIndex}`}\n object={value}\n objectKey={parentType === 'object' ? key : undefined}\n parentType={type}\n trailingComma={!isLastKey}\n />\n )\n }\n\n if (\n type === 'date' ||\n type === 'string' ||\n type === 'null' ||\n type === 'number' ||\n type === 'boolean'\n ) {\n const parentHasKey = Boolean(parentType === 'object' && key)\n\n const rowClasses = [\n `${baseClass}__row-line`,\n `${baseClass}__value-type--${type}`,\n `${baseClass}__row-line--${objectKey ? 'nested' : 'top'}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <li className={rowClasses} key={`${key}-${keyIndex}`}>\n {parentHasKey ? <span>{`\"${key}\": `}</span> : null}\n\n <span className={`${baseClass}__value`}>{JSON.stringify(value)}</span>\n {isLastKey ? '' : ','}\n </li>\n )\n }\n })}\n </ul>\n\n {!isEmpty && (\n <span>\n <Bracket comma={trailingComma} position=\"end\" type={parentType} />\n </span>\n )}\n </li>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/API/index.client.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/API/index.client.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAuLjC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","names":["CheckboxField","CopyToClipboard","Form","Gutter","MinimizeMaximizeIcon","NumberField","SetViewActions","useConfig","useDocumentInfo","useLocale","useTranslation","useSearchParams","React","toast","SetDocumentStepNav","LocaleSelector","RenderJSON","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","searchParams","i18n","t","code","config","localization","routes","api","apiRoute","serverURL","getEntityConfig","collectionClientConfig","globalClientConfig","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","Boolean","versions","drafts","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","authenticated","setAuthenticated","fullscreen","setFullscreen","params","URLSearchParams","String","toString","fetchURL","useEffect","fetchData","res","fetch","credentials","headers","language","method","json","error","console","_jsxs","className","filter","join","right","_jsx","globalLabel","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","actions","components","views","edit","href","rel","target","initialState","initialValue","valid","Number","field","name","onChange","step","max","min","onClick","type","isMinimized","object"],"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport {\n CheckboxField,\n CopyToClipboard,\n Form,\n Gutter,\n MinimizeMaximizeIcon,\n NumberField,\n SetViewActions,\n useConfig,\n useDocumentInfo,\n useLocale,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useSearchParams } from 'next/navigation.js'\nimport * as React from 'react'\nimport { toast } from 'sonner'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { LocaleSelector } from './LocaleSelector/index.js'\nimport { RenderJSON } from './RenderJSON/index.js'\nimport './index.scss'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n\n const {\n config: {\n localization,\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionClientConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalClientConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: string = ''\n\n if (collectionClientConfig) {\n draftsEnabled = Boolean(collectionClientConfig.versions?.drafts)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalClientConfig) {\n draftsEnabled = Boolean(globalClientConfig.versions?.drafts)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(searchParams.get('depth') || '1')\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n\n const params = new URLSearchParams({\n depth,\n draft: String(draft),\n locale,\n }).toString()\n\n const fetchURL = `${serverURL}${apiRoute}${docEndpoint}?${params}`\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error) // eslint-disable-line no-console\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <Gutter\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n right={false}\n >\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalClientConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionClientConfig ? collectionClientConfig?.labels?.plural : undefined}\n useAsTitle={collectionClientConfig ? collectionClientConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <SetViewActions\n actions={\n (collectionClientConfig || globalClientConfig)?.admin?.components?.views?.edit?.api\n ?.actions\n }\n />\n <div className={`${baseClass}__configuration`}>\n <div className={`${baseClass}__api-url`}>\n <span className={`${baseClass}__label`}>\n API URL <CopyToClipboard value={fetchURL} />\n </span>\n <a href={fetchURL} rel=\"noopener noreferrer\" target=\"_blank\">\n {fetchURL}\n </a>\n </div>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n <div className={`${baseClass}__filter-query-checkboxes`}>\n {draftsEnabled && (\n <CheckboxField\n field={{\n name: 'draft',\n label: t('version:draft'),\n }}\n onChange={() => setDraft(!draft)}\n />\n )}\n <CheckboxField\n field={{\n name: 'authenticated',\n label: t('authentication:authenticated'),\n }}\n onChange={() => setAuthenticated(!authenticated)}\n />\n </div>\n {localeOptions && <LocaleSelector localeOptions={localeOptions} onChange={setLocale} />}\n <NumberField\n field={{\n name: 'depth',\n admin: {\n step: 1,\n },\n label: t('general:depth'),\n max: 10,\n min: 0,\n }}\n onChange={(value) => setDepth(value?.toString())}\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__toggle-fullscreen-button-container`}>\n <button\n aria-label=\"toggle fullscreen\"\n className={`${baseClass}__toggle-fullscreen-button`}\n onClick={() => setFullscreen(!fullscreen)}\n type=\"button\"\n >\n <MinimizeMaximizeIcon isMinimized={!fullscreen} />\n </button>\n </div>\n <div className={`${baseClass}__results`}>\n <RenderJSON object={data} />\n </div>\n </div>\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["CheckboxField","CopyToClipboard","Form","Gutter","MinimizeMaximizeIcon","NumberField","SetViewActions","useConfig","useDocumentInfo","useLocale","useTranslation","useSearchParams","React","toast","SetDocumentStepNav","LocaleSelector","RenderJSON","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","searchParams","i18n","t","code","config","localization","routes","api","apiRoute","serverURL","getEntityConfig","collectionClientConfig","globalClientConfig","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","Boolean","versions","drafts","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","authenticated","setAuthenticated","fullscreen","setFullscreen","params","URLSearchParams","String","toString","fetchURL","useEffect","fetchData","res","fetch","credentials","headers","language","method","json","error","console","_jsxs","className","filter","join","right","_jsx","globalLabel","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","actions","components","views","edit","href","rel","target","initialState","initialValue","valid","Number","field","name","onChange","step","max","min","onClick","type","isMinimized","object"],"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport {\n CheckboxField,\n CopyToClipboard,\n Form,\n Gutter,\n MinimizeMaximizeIcon,\n NumberField,\n SetViewActions,\n useConfig,\n useDocumentInfo,\n useLocale,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useSearchParams } from 'next/navigation.js'\nimport * as React from 'react'\nimport { toast } from 'sonner'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport './index.scss'\nimport { LocaleSelector } from './LocaleSelector/index.js'\nimport { RenderJSON } from './RenderJSON/index.js'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n\n const {\n config: {\n localization,\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionClientConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalClientConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: string = ''\n\n if (collectionClientConfig) {\n draftsEnabled = Boolean(collectionClientConfig.versions?.drafts)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalClientConfig) {\n draftsEnabled = Boolean(globalClientConfig.versions?.drafts)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(searchParams.get('depth') || '1')\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n\n const params = new URLSearchParams({\n depth,\n draft: String(draft),\n locale,\n }).toString()\n\n const fetchURL = `${serverURL}${apiRoute}${docEndpoint}?${params}`\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error) // eslint-disable-line no-console\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error) // eslint-disable-line no-console\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <Gutter\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n right={false}\n >\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalClientConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionClientConfig ? collectionClientConfig?.labels?.plural : undefined}\n useAsTitle={collectionClientConfig ? collectionClientConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <SetViewActions\n actions={\n (collectionClientConfig || globalClientConfig)?.admin?.components?.views?.edit?.api\n ?.actions\n }\n />\n <div className={`${baseClass}__configuration`}>\n <div className={`${baseClass}__api-url`}>\n <span className={`${baseClass}__label`}>\n API URL <CopyToClipboard value={fetchURL} />\n </span>\n <a href={fetchURL} rel=\"noopener noreferrer\" target=\"_blank\">\n {fetchURL}\n </a>\n </div>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n <div className={`${baseClass}__filter-query-checkboxes`}>\n {draftsEnabled && (\n <CheckboxField\n field={{\n name: 'draft',\n label: t('version:draft'),\n }}\n onChange={() => setDraft(!draft)}\n />\n )}\n <CheckboxField\n field={{\n name: 'authenticated',\n label: t('authentication:authenticated'),\n }}\n onChange={() => setAuthenticated(!authenticated)}\n />\n </div>\n {localeOptions && <LocaleSelector localeOptions={localeOptions} onChange={setLocale} />}\n <NumberField\n field={{\n name: 'depth',\n admin: {\n step: 1,\n },\n label: t('general:depth'),\n max: 10,\n min: 0,\n }}\n onChange={(value) => setDepth(value?.toString())}\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__toggle-fullscreen-button-container`}>\n <button\n aria-label=\"toggle fullscreen\"\n className={`${baseClass}__toggle-fullscreen-button`}\n onClick={() => setFullscreen(!fullscreen)}\n type=\"button\"\n >\n <MinimizeMaximizeIcon isMinimized={!fullscreen} />\n </button>\n </div>\n <div className={`${baseClass}__results`}>\n <RenderJSON object={data} />\n </div>\n </div>\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Account/Settings/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Account/Settings/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;CAC1C,CAaA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["FieldLabel","React","ToggleTheme","LanguageSelector","baseClass","Settings","props","className","i18n","languageOptions","_jsxs","filter","Boolean","join","_jsx","t","field","htmlFor","label"],"sources":["../../../../src/views/Account/Settings/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { LanguageOptions } from 'payload'\n\nimport { FieldLabel } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { ToggleTheme } from '../ToggleTheme/index.js'\nimport { LanguageSelector } from './LanguageSelector.js'\
|
|
1
|
+
{"version":3,"file":"index.js","names":["FieldLabel","React","ToggleTheme","LanguageSelector","baseClass","Settings","props","className","i18n","languageOptions","_jsxs","filter","Boolean","join","_jsx","t","field","htmlFor","label"],"sources":["../../../../src/views/Account/Settings/index.tsx"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { LanguageOptions } from 'payload'\n\nimport { FieldLabel } from '@payloadcms/ui'\nimport React from 'react'\n\nimport { ToggleTheme } from '../ToggleTheme/index.js'\nimport './index.scss'\nimport { LanguageSelector } from './LanguageSelector.js'\n\nconst baseClass = 'payload-settings'\n\nexport const Settings: React.FC<{\n readonly className?: string\n readonly i18n: I18n\n readonly languageOptions: LanguageOptions\n}> = (props) => {\n const { className, i18n, languageOptions } = props\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <h3>{i18n.t('general:payloadSettings')}</h3>\n <div className={`${baseClass}__language`}>\n <FieldLabel field={null} htmlFor=\"language-select\" label={i18n.t('general:language')} />\n <LanguageSelector languageOptions={languageOptions} />\n </div>\n <ToggleTheme />\n </div>\n )\n}\n"],"mappings":";AAGA,SAASA,UAAU,QAAQ;AAC3B,OAAOC,KAAA,MAAW;AAElB,SAASC,WAAW,QAAQ;AAE5B,SAASC,gBAAgB,QAAQ;AAEjC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,QAAA,GAIPC,KAAA;EACJ,MAAM;IAAEC,SAAS;IAAEC,IAAI;IAAEC;EAAe,CAAE,GAAGH,KAAA;EAE7C,oBACEI,KAAA,CAAC;IAAIH,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACI,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;4BAC1DC,IAAA,CAAC;gBAAIN,IAAA,CAAKO,CAAC,CAAC;qBACZL,KAAA,CAAC;MAAIH,SAAA,EAAW,GAAGH,SAAA,YAAqB;8BACtCU,IAAA,CAACd,UAAA;QAAWgB,KAAA,EAAO;QAAMC,OAAA,EAAQ;QAAkBC,KAAA,EAAOV,IAAA,CAAKO,CAAC,CAAC;uBACjED,IAAA,CAACX,gBAAA;QAAiBM,eAAA,EAAiBA;;qBAErCK,IAAA,CAACZ,WAAA;;AAGP","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Account/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Account/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAU7C,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAEnD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA8F5C,CAAA"}
|
|
@@ -7,8 +7,8 @@ import { DocumentHeader } from '../../elements/DocumentHeader/index.js';
|
|
|
7
7
|
import { getDocumentData } from '../Document/getDocumentData.js';
|
|
8
8
|
import { getDocumentPermissions } from '../Document/getDocumentPermissions.js';
|
|
9
9
|
import { EditView } from '../Edit/index.js';
|
|
10
|
-
import { Settings } from './Settings/index.js';
|
|
11
10
|
import { AccountClient } from './index.client.js';
|
|
11
|
+
import { Settings } from './Settings/index.js';
|
|
12
12
|
export { generateAccountMetadata } from './meta.js';
|
|
13
13
|
export const Account = async ({
|
|
14
14
|
initPageResult,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderComponent","getCreateMappedComponent","notFound","React","DocumentHeader","getDocumentData","getDocumentPermissions","EditView","
|
|
1
|
+
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderComponent","getCreateMappedComponent","notFound","React","DocumentHeader","getDocumentData","getDocumentPermissions","EditView","AccountClient","Settings","generateAccountMetadata","Account","initPageResult","params","searchParams","languageOptions","locale","permissions","req","i18n","payload","config","user","admin","components","views","CustomAccountComponent","userSlug","routes","api","serverURL","collectionConfig","collections","find","collection","slug","id","docPermissions","hasPublishPermission","hasSavePermission","data","formState","createMappedComponent","importMap","serverProps","routeSegments","mappedAccountComponent","Component","undefined","_jsx","AfterFields","apiURL","collectionSlug","toString","initialData","initialState","isEditing","_jsxs","depth","hideTabs","mappedComponent"],"sources":["../../../src/views/Account/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport {\n DocumentInfoProvider,\n EditDepthProvider,\n HydrateAuthProvider,\n RenderComponent,\n} from '@payloadcms/ui'\nimport { getCreateMappedComponent } from '@payloadcms/ui/shared'\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { EditView } from '../Edit/index.js'\nimport { AccountClient } from './index.client.js'\nimport { Settings } from './Settings/index.js'\n\nexport { generateAccountMetadata } from './meta.js'\n\nexport const Account: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n languageOptions,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: { components: { views: { Account: CustomAccountComponent } = {} } = {}, user: userSlug },\n routes: { api },\n serverURL,\n } = config\n\n const collectionConfig = config.collections.find((collection) => collection.slug === userSlug)\n\n if (collectionConfig && user?.id) {\n const { docPermissions, hasPublishPermission, hasSavePermission } =\n await getDocumentPermissions({\n id: user.id,\n collectionConfig,\n data: user,\n req,\n })\n\n const { data, formState } = await getDocumentData({\n id: user.id,\n collectionConfig,\n locale,\n req,\n })\n\n const createMappedComponent = getCreateMappedComponent({\n importMap: payload.importMap,\n serverProps: {\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: [],\n searchParams,\n user,\n },\n })\n\n const mappedAccountComponent = createMappedComponent(\n CustomAccountComponent?.Component,\n undefined,\n EditView,\n 'CustomAccountComponent.Component',\n )\n\n return (\n <DocumentInfoProvider\n AfterFields={<Settings i18n={i18n} languageOptions={languageOptions} />}\n apiURL={`${serverURL}${api}/${userSlug}${user?.id ? `/${user.id}` : ''}`}\n collectionSlug={userSlug}\n docPermissions={docPermissions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={user?.id.toString()}\n initialData={data}\n initialState={formState}\n isEditing\n >\n <EditDepthProvider depth={1}>\n <DocumentHeader\n collectionConfig={collectionConfig}\n hideTabs\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n <HydrateAuthProvider permissions={permissions} />\n <RenderComponent mappedComponent={mappedAccountComponent} />\n <AccountClient />\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n }\n\n return notFound()\n}\n"],"mappings":"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","ignoreList":[]}
|