@payloadcms/next 3.0.0-alpha.60 → 3.0.0-alpha.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/withPayload.cjs +95 -0
- package/dist/cjs/withPayload.cjs.map +1 -0
- package/dist/config.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/routes.d.ts +1 -1
- package/dist/exports/routes.d.ts.map +1 -1
- package/dist/exports/routes.js +1 -1
- package/dist/exports/routes.js.map +1 -1
- package/dist/exports/utilities.d.ts +4 -1
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +4 -1
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +51 -28
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/next-fileupload/fileFactory.js.map +1 -1
- package/dist/next-fileupload/handlers.js.map +1 -1
- package/dist/next-fileupload/index.js.map +1 -1
- package/dist/next-fileupload/isEligibleRequest.js +1 -1
- package/dist/next-fileupload/isEligibleRequest.js.map +1 -1
- package/dist/next-fileupload/processMultipart.d.ts.map +1 -1
- package/dist/next-fileupload/processMultipart.js +29 -6
- package/dist/next-fileupload/processMultipart.js.map +1 -1
- package/dist/next-fileupload/processNested.js.map +1 -1
- package/dist/next-fileupload/uploadTimer.js.map +1 -1
- package/dist/next-fileupload/utilities.d.ts.map +1 -1
- package/dist/next-fileupload/utilities.js +4 -4
- package/dist/next-fileupload/utilities.js.map +1 -1
- package/dist/next-stream-file/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/graphql/handler.d.ts.map +1 -1
- package/dist/routes/graphql/handler.js +8 -3
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/graphql/index.js.map +1 -1
- package/dist/routes/graphql/playground.js.map +1 -1
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/rest/auth/access.d.ts.map +1 -1
- package/dist/routes/rest/auth/access.js +5 -0
- package/dist/routes/rest/auth/access.js.map +1 -1
- package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
- package/dist/routes/rest/auth/forgotPassword.js +7 -2
- package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
- package/dist/routes/rest/auth/init.d.ts.map +1 -1
- package/dist/routes/rest/auth/init.js +6 -0
- package/dist/routes/rest/auth/init.js.map +1 -1
- package/dist/routes/rest/auth/login.d.ts.map +1 -1
- package/dist/routes/rest/auth/login.js +8 -5
- package/dist/routes/rest/auth/login.js.map +1 -1
- package/dist/routes/rest/auth/logout.d.ts.map +1 -1
- package/dist/routes/rest/auth/logout.js +12 -7
- package/dist/routes/rest/auth/logout.js.map +1 -1
- package/dist/routes/rest/auth/me.d.ts.map +1 -1
- package/dist/routes/rest/auth/me.js +5 -0
- package/dist/routes/rest/auth/me.js.map +1 -1
- package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
- package/dist/routes/rest/auth/refresh.js +11 -7
- package/dist/routes/rest/auth/refresh.js.map +1 -1
- package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
- package/dist/routes/rest/auth/registerFirstUser.js +17 -5
- package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
- package/dist/routes/rest/auth/resetPassword.d.ts.map +1 -1
- package/dist/routes/rest/auth/resetPassword.js +8 -5
- package/dist/routes/rest/auth/resetPassword.js.map +1 -1
- package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
- package/dist/routes/rest/auth/unlock.js +7 -2
- package/dist/routes/rest/auth/unlock.js.map +1 -1
- package/dist/routes/rest/auth/verifyEmail.d.ts.map +1 -1
- package/dist/routes/rest/auth/verifyEmail.js +7 -2
- package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
- package/dist/routes/rest/buildFormState.d.ts +2 -2
- package/dist/routes/rest/buildFormState.d.ts.map +1 -1
- package/dist/routes/rest/buildFormState.js +19 -4
- package/dist/routes/rest/buildFormState.js.map +1 -1
- package/dist/routes/rest/checkEndpoints.js.map +1 -1
- package/dist/routes/rest/collections/count.d.ts +3 -0
- package/dist/routes/rest/collections/count.d.ts.map +1 -0
- package/dist/routes/rest/collections/count.js +15 -0
- package/dist/routes/rest/collections/count.js.map +1 -0
- package/dist/routes/rest/collections/create.d.ts.map +1 -1
- package/dist/routes/rest/collections/create.js +5 -0
- package/dist/routes/rest/collections/create.js.map +1 -1
- package/dist/routes/rest/collections/delete.d.ts.map +1 -1
- package/dist/routes/rest/collections/delete.js +7 -0
- package/dist/routes/rest/collections/delete.js.map +1 -1
- package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/deleteByID.js +14 -1
- package/dist/routes/rest/collections/deleteByID.js.map +1 -1
- package/dist/routes/rest/collections/docAccess.d.ts.map +1 -1
- package/dist/routes/rest/collections/docAccess.js +5 -0
- package/dist/routes/rest/collections/docAccess.js.map +1 -1
- package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
- package/dist/routes/rest/collections/duplicate.js +12 -1
- package/dist/routes/rest/collections/duplicate.js.map +1 -1
- package/dist/routes/rest/collections/find.d.ts.map +1 -1
- package/dist/routes/rest/collections/find.js +5 -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 +12 -1
- package/dist/routes/rest/collections/findByID.js.map +1 -1
- package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/findVersionByID.js +12 -1
- package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
- package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
- package/dist/routes/rest/collections/findVersions.js +5 -0
- package/dist/routes/rest/collections/findVersions.js.map +1 -1
- package/dist/routes/rest/collections/preview.d.ts.map +1 -1
- package/dist/routes/rest/collections/preview.js +11 -2
- package/dist/routes/rest/collections/preview.js.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.js +12 -1
- package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
- package/dist/routes/rest/collections/update.d.ts.map +1 -1
- package/dist/routes/rest/collections/update.js +7 -0
- package/dist/routes/rest/collections/update.js.map +1 -1
- package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
- package/dist/routes/rest/collections/updateByID.js +12 -1
- package/dist/routes/rest/collections/updateByID.js.map +1 -1
- 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 +15 -8
- package/dist/routes/rest/files/getFile.js.map +1 -1
- package/dist/routes/rest/files/getFileTypeFallback.d.ts +7 -0
- package/dist/routes/rest/files/getFileTypeFallback.d.ts.map +1 -0
- package/dist/routes/rest/files/getFileTypeFallback.js +21 -0
- package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -0
- package/dist/routes/rest/globals/docAccess.d.ts.map +1 -1
- package/dist/routes/rest/globals/docAccess.js +5 -0
- package/dist/routes/rest/globals/docAccess.js.map +1 -1
- package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
- package/dist/routes/rest/globals/findOne.js +5 -0
- package/dist/routes/rest/globals/findOne.js.map +1 -1
- package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
- package/dist/routes/rest/globals/findVersionByID.js +5 -0
- package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
- package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
- package/dist/routes/rest/globals/findVersions.js +5 -0
- package/dist/routes/rest/globals/findVersions.js.map +1 -1
- package/dist/routes/rest/globals/preview.d.ts.map +1 -1
- package/dist/routes/rest/globals/preview.js +11 -2
- package/dist/routes/rest/globals/preview.js.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.js +5 -0
- package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
- package/dist/routes/rest/globals/update.d.ts.map +1 -1
- package/dist/routes/rest/globals/update.js +5 -0
- package/dist/routes/rest/globals/update.js.map +1 -1
- package/dist/routes/rest/index.d.ts +1 -0
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js +51 -5
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/routeError.d.ts +4 -3
- package/dist/routes/rest/routeError.d.ts.map +1 -1
- package/dist/routes/rest/routeError.js +23 -9
- package/dist/routes/rest/routeError.js.map +1 -1
- package/dist/routes/rest/types.js.map +1 -1
- package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts +9 -0
- package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -0
- package/dist/routes/rest/utilities/sanitizeCollectionID.js +13 -0
- package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -0
- package/dist/scss/app.scss +2 -3
- package/dist/scss/vars.scss +0 -7
- package/dist/utilities/buildFieldSchemaMap/index.d.ts +2 -2
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +3 -1
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +3 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +6 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -1
- package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
- package/dist/utilities/createPayloadRequest.js +2 -4
- package/dist/utilities/createPayloadRequest.js.map +1 -1
- package/dist/utilities/getDataAndFile.d.ts.map +1 -1
- package/dist/utilities/getDataAndFile.js +26 -42
- package/dist/utilities/getDataAndFile.js.map +1 -1
- package/dist/utilities/getNextRequestI18n.d.ts +11 -0
- package/dist/utilities/getNextRequestI18n.d.ts.map +1 -0
- package/dist/utilities/getNextRequestI18n.js +18 -0
- package/dist/utilities/getNextRequestI18n.js.map +1 -0
- package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
- package/dist/utilities/getPayloadHMR.js +2 -1
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/getRequestLanguage.d.ts +3 -2
- package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
- package/dist/utilities/getRequestLanguage.js +13 -5
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getRequestLocales.js.map +1 -1
- package/dist/utilities/headersWithCors.d.ts +8 -0
- package/dist/utilities/headersWithCors.d.ts.map +1 -0
- package/dist/utilities/headersWithCors.js +17 -0
- package/dist/utilities/headersWithCors.js.map +1 -0
- package/dist/utilities/initPage.d.ts.map +1 -1
- package/dist/utilities/initPage.js +18 -7
- package/dist/utilities/initPage.js.map +1 -1
- package/dist/utilities/meta.js.map +1 -1
- package/dist/utilities/timestamp.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.js +2 -2
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/API/meta.js.map +1 -1
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Account/meta.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +2 -2
- 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 +28 -1
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/CreateFirstUser/meta.js.map +1 -1
- package/dist/views/Dashboard/Default/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Dashboard/meta.js.map +1 -1
- package/dist/views/Document/getCustomViewByKey.js.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.js +2 -2
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/getViewsFromConfig.js.map +1 -1
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/meta.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/types.js.map +1 -1
- package/dist/views/Edit/Default/{SetStepNav → SetDocumentStepNav}/index.d.ts +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -0
- package/dist/views/Edit/Default/{SetStepNav → SetDocumentStepNav}/index.js +12 -5
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -0
- package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +5 -4
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/Edit/Default/types.js.map +1 -1
- package/dist/views/Edit/index.client.js.map +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/meta.js.map +1 -1
- package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts +3 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +55 -0
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -0
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +3 -39
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/ForgotPassword/meta.js.map +1 -1
- package/dist/views/List/Default/index.js.map +1 -1
- package/dist/views/List/Default/types.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +6 -3
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/meta.js.map +1 -1
- package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
- package/dist/views/LivePreview/Context/context.js.map +1 -1
- package/dist/views/LivePreview/Context/index.js.map +1 -1
- package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
- package/dist/views/LivePreview/Device/index.js.map +1 -1
- package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/views/LivePreview/IFrame/index.js.map +1 -1
- package/dist/views/LivePreview/Preview/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js +6 -4
- package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.js +2 -2
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/index.js.map +1 -1
- package/dist/views/LivePreview/meta.js.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 +26 -2
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Login/meta.js.map +1 -1
- package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
- package/dist/views/Logout/LogoutClient.js +1 -2
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Logout/meta.js.map +1 -1
- 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 +2 -2
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/NotFound/meta.js.map +1 -1
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/meta.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/getViewFromConfig.js.map +1 -1
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
- package/dist/views/Root/meta.js +2 -2
- package/dist/views/Root/meta.js.map +1 -1
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/meta.js.map +1 -1
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Verify/meta.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +10 -2
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js +5 -1
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/types.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +5 -1
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/types.js.map +1 -1
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Version/meta.js +5 -1
- package/dist/views/Version/meta.js.map +1 -1
- package/dist/views/Version/shared.js.map +1 -1
- package/dist/views/Versions/buildColumns.js.map +1 -1
- 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 +5 -1
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +3 -3
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/views/Versions/meta.js.map +1 -1
- package/dist/views/Versions/types.js.map +1 -1
- package/dist/webpackEntry.js.map +1 -1
- package/dist/withPayload.d.ts +1 -2
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +5 -1
- package/dist/withPayload.js.map +1 -1
- package/package.json +16 -13
- package/dist/prod/payload/SuisseIntl-Bold.woff +0 -0
- package/dist/prod/payload/SuisseIntl-Bold.woff2 +0 -0
- package/dist/prod/payload/SuisseIntl-Medium.woff +0 -0
- package/dist/prod/payload/SuisseIntl-Medium.woff2 +0 -0
- package/dist/prod/payload/SuisseIntl-SemiBold.woff +0 -0
- package/dist/prod/payload/SuisseIntl-SemiBold.woff2 +0 -0
- package/dist/prod/payload/SuisseIntl.woff +0 -0
- package/dist/prod/payload/SuisseIntl.woff2 +0 -0
- package/dist/prod/payload/merriweather-v30-latin-900.woff +0 -0
- package/dist/prod/payload/merriweather-v30-latin-900.woff2 +0 -0
- package/dist/prod/payload/merriweather-v30-latin-900italic.woff +0 -0
- package/dist/prod/payload/merriweather-v30-latin-900italic.woff2 +0 -0
- package/dist/prod/payload/merriweather-v30-latin-italic.woff +0 -0
- package/dist/prod/payload/merriweather-v30-latin-italic.woff2 +0 -0
- package/dist/prod/payload/merriweather-v30-latin-regular.woff +0 -0
- package/dist/prod/payload/merriweather-v30-latin-regular.woff2 +0 -0
- package/dist/scss/fonts.scss +0 -75
- package/dist/utilities/getNextI18n.d.ts +0 -7
- package/dist/utilities/getNextI18n.d.ts.map +0 -1
- package/dist/utilities/getNextI18n.js +0 -16
- package/dist/utilities/getNextI18n.js.map +0 -1
- package/dist/views/Edit/Default/SetStepNav/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/SetStepNav/index.js.map +0 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { Email } from '@payloadcms/ui/fields/Email';
|
|
3
|
+
import { Form } from '@payloadcms/ui/forms/Form';
|
|
4
|
+
import { FormSubmit } from '@payloadcms/ui/forms/Submit';
|
|
5
|
+
import { useConfig } from '@payloadcms/ui/providers/Config';
|
|
6
|
+
import { useTranslation } from '@payloadcms/ui/providers/Translation';
|
|
7
|
+
import { email } from 'payload/fields/validations';
|
|
8
|
+
import React, { Fragment, useState } from 'react';
|
|
9
|
+
import { toast } from 'react-toastify';
|
|
10
|
+
export const ForgotPasswordForm = ()=>{
|
|
11
|
+
const config = useConfig();
|
|
12
|
+
const { admin: { user: userSlug }, routes: { api } } = config;
|
|
13
|
+
const { t } = useTranslation();
|
|
14
|
+
const [hasSubmitted, setHasSubmitted] = useState(false);
|
|
15
|
+
const handleResponse = (res)=>{
|
|
16
|
+
res.json().then(()=>{
|
|
17
|
+
setHasSubmitted(true);
|
|
18
|
+
}, ()=>{
|
|
19
|
+
toast.error(t('authentication:emailNotValid'));
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const initialState = {
|
|
23
|
+
email: {
|
|
24
|
+
initialValue: '',
|
|
25
|
+
valid: true,
|
|
26
|
+
value: undefined
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
if (hasSubmitted) {
|
|
30
|
+
return /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement("h1", null, t('authentication:emailSent')), /*#__PURE__*/ React.createElement("p", null, t('authentication:checkYourEmailForPasswordReset')));
|
|
31
|
+
}
|
|
32
|
+
return /*#__PURE__*/ React.createElement(Form, {
|
|
33
|
+
action: `${api}/${userSlug}/forgot-password`,
|
|
34
|
+
handleResponse: handleResponse,
|
|
35
|
+
initialState: initialState,
|
|
36
|
+
method: "POST"
|
|
37
|
+
}, /*#__PURE__*/ React.createElement("h1", null, t('authentication:forgotPassword')), /*#__PURE__*/ React.createElement("p", null, t('authentication:forgotPasswordEmailInstructions')), /*#__PURE__*/ React.createElement(Email, {
|
|
38
|
+
autoComplete: "email",
|
|
39
|
+
label: t('general:email'),
|
|
40
|
+
name: "email",
|
|
41
|
+
required: true,
|
|
42
|
+
validate: (value)=>email(value, {
|
|
43
|
+
name: 'email',
|
|
44
|
+
type: 'email',
|
|
45
|
+
data: {},
|
|
46
|
+
req: {
|
|
47
|
+
t
|
|
48
|
+
},
|
|
49
|
+
required: true,
|
|
50
|
+
siblingData: {}
|
|
51
|
+
})
|
|
52
|
+
}), /*#__PURE__*/ React.createElement(FormSubmit, null, t('general:submit')));
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormState, PayloadRequest } from 'payload/types'\n\nimport { Email } from '@payloadcms/ui/fields/Email'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { FormSubmit } from '@payloadcms/ui/forms/Submit'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { email } from 'payload/fields/validations'\nimport React, { Fragment, useState } from 'react'\nimport { toast } from 'react-toastify'\n\nexport const ForgotPasswordForm: React.FC = () => {\n const config = useConfig()\n\n const {\n admin: { user: userSlug },\n routes: { api },\n } = config\n\n const { t } = useTranslation()\n const [hasSubmitted, setHasSubmitted] = useState(false)\n\n const handleResponse = (res) => {\n res.json().then(\n () => {\n setHasSubmitted(true)\n },\n () => {\n toast.error(t('authentication:emailNotValid'))\n },\n )\n }\n\n const initialState: FormState = {\n email: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n\n if (hasSubmitted) {\n return (\n <Fragment>\n <h1>{t('authentication:emailSent')}</h1>\n <p>{t('authentication:checkYourEmailForPasswordReset')}</p>\n </Fragment>\n )\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/forgot-password`}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <h1>{t('authentication:forgotPassword')}</h1>\n <p>{t('authentication:forgotPasswordEmailInstructions')}</p>\n <Email\n autoComplete=\"email\"\n label={t('general:email')}\n name=\"email\"\n required\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n data: {},\n req: { t } as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n <FormSubmit>{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"names":["Email","Form","FormSubmit","useConfig","useTranslation","email","React","Fragment","useState","toast","ForgotPasswordForm","config","admin","user","userSlug","routes","api","t","hasSubmitted","setHasSubmitted","handleResponse","res","json","then","error","initialState","initialValue","valid","value","undefined","h1","p","action","method","autoComplete","label","name","required","validate","type","data","req","siblingData"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAIA,SAASA,KAAK,QAAQ,8BAA6B;AACnD,SAASC,IAAI,QAAQ,4BAA2B;AAChD,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,KAAK,QAAQ,6BAA4B;AAClD,OAAOC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,QAAO;AACjD,SAASC,KAAK,QAAQ,iBAAgB;AAEtC,OAAO,MAAMC,qBAA+B;IAC1C,MAAMC,SAASR;IAEf,MAAM,EACJS,OAAO,EAAEC,MAAMC,QAAQ,EAAE,EACzBC,QAAQ,EAAEC,GAAG,EAAE,EAChB,GAAGL;IAEJ,MAAM,EAAEM,CAAC,EAAE,GAAGb;IACd,MAAM,CAACc,cAAcC,gBAAgB,GAAGX,SAAS;IAEjD,MAAMY,iBAAiB,CAACC;QACtBA,IAAIC,IAAI,GAAGC,IAAI,CACb;YACEJ,gBAAgB;QAClB,GACA;YACEV,MAAMe,KAAK,CAACP,EAAE;QAChB;IAEJ;IAEA,MAAMQ,eAA0B;QAC9BpB,OAAO;YACLqB,cAAc;YACdC,OAAO;YACPC,OAAOC;QACT;IACF;IAEA,IAAIX,cAAc;QAChB,qBACE,oBAACX,8BACC,oBAACuB,YAAIb,EAAE,4CACP,oBAACc,WAAGd,EAAE;IAGZ;IAEA,qBACE,oBAAChB;QACC+B,QAAQ,CAAC,EAAEhB,IAAI,CAAC,EAAEF,SAAS,gBAAgB,CAAC;QAC5CM,gBAAgBA;QAChBK,cAAcA;QACdQ,QAAO;qBAEP,oBAACH,YAAIb,EAAE,iDACP,oBAACc,WAAGd,EAAE,kEACN,oBAACjB;QACCkC,cAAa;QACbC,OAAOlB,EAAE;QACTmB,MAAK;QACLC,UAAAA;QACAC,UAAU,CAACV,QACTvB,MAAMuB,OAAO;gBACXQ,MAAM;gBACNG,MAAM;gBACNC,MAAM,CAAC;gBACPC,KAAK;oBAAExB;gBAAE;gBACToB,UAAU;gBACVK,aAAa,CAAC;YAChB;sBAGJ,oBAACxC,kBAAYe,EAAE;AAGrB,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ForgotPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/ForgotPassword/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAKnD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAA;AAG1D,eAAO,MAAM,uBAAuB,oBAAoB,CAAA;AAExD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwCvD,CAAA"}
|
|
@@ -1,26 +1,14 @@
|
|
|
1
1
|
import { Button } from '@payloadcms/ui/elements/Button';
|
|
2
2
|
import { Translation } from '@payloadcms/ui/elements/Translation';
|
|
3
|
-
import { Email } from '@payloadcms/ui/fields/Email';
|
|
4
|
-
import { Form } from '@payloadcms/ui/forms/Form';
|
|
5
|
-
import { FormSubmit } from '@payloadcms/ui/forms/Submit';
|
|
6
3
|
import LinkImport from 'next/link.js';
|
|
7
4
|
import React, { Fragment } from 'react';
|
|
5
|
+
import { ForgotPasswordForm } from './ForgotPasswordForm/index.js';
|
|
8
6
|
export { generateForgotPasswordMetadata } from './meta.js';
|
|
9
7
|
const Link = LinkImport.default || LinkImport;
|
|
10
8
|
export const forgotPasswordBaseClass = 'forgot-password';
|
|
11
9
|
export const ForgotPasswordView = ({ initPageResult })=>{
|
|
12
10
|
const { req: { i18n, payload: { config }, user } } = initPageResult;
|
|
13
|
-
const {
|
|
14
|
-
// const handleResponse = (res) => {
|
|
15
|
-
// res.json().then(
|
|
16
|
-
// () => {
|
|
17
|
-
// setHasSubmitted(true)
|
|
18
|
-
// },
|
|
19
|
-
// () => {
|
|
20
|
-
// toast.error(i18n.t('authentication:emailNotValid'))
|
|
21
|
-
// },
|
|
22
|
-
// )
|
|
23
|
-
// }
|
|
11
|
+
const { routes: { admin } } = config;
|
|
24
12
|
if (user) {
|
|
25
13
|
return /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement("h1", null, i18n.t('authentication:alreadyLoggedIn')), /*#__PURE__*/ React.createElement("p", null, /*#__PURE__*/ React.createElement(Translation, {
|
|
26
14
|
elements: {
|
|
@@ -37,31 +25,7 @@ export const ForgotPasswordView = ({ initPageResult })=>{
|
|
|
37
25
|
to: admin
|
|
38
26
|
}, i18n.t('general:backToDashboard')));
|
|
39
27
|
}
|
|
40
|
-
|
|
41
|
-
// return (
|
|
42
|
-
// <Fragment>
|
|
43
|
-
// <h1>{i18n.t('authentication:emailSent')}</h1>
|
|
44
|
-
// <p>{i18n.t('authentication:checkYourEmailForPasswordReset')}</p>
|
|
45
|
-
// </Fragment>
|
|
46
|
-
// )
|
|
47
|
-
// }
|
|
48
|
-
return /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(Form, {
|
|
49
|
-
action: `${serverURL}${api}/${userSlug}/forgot-password`,
|
|
50
|
-
// handleResponse={handleResponse}
|
|
51
|
-
initialState: {
|
|
52
|
-
email: {
|
|
53
|
-
initialValue: '',
|
|
54
|
-
valid: false,
|
|
55
|
-
value: undefined
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
method: "POST"
|
|
59
|
-
}, /*#__PURE__*/ React.createElement("h1", null, i18n.t('authentication:forgotPassword')), /*#__PURE__*/ React.createElement("p", null, i18n.t('authentication:forgotPasswordEmailInstructions')), /*#__PURE__*/ React.createElement(Email, {
|
|
60
|
-
autoComplete: "email",
|
|
61
|
-
label: i18n.t('general:emailAddress'),
|
|
62
|
-
name: "email",
|
|
63
|
-
required: true
|
|
64
|
-
}), /*#__PURE__*/ React.createElement(FormSubmit, null, i18n.t('general:submit'))), /*#__PURE__*/ React.createElement(Link, {
|
|
28
|
+
return /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(ForgotPasswordForm, null), /*#__PURE__*/ React.createElement(Link, {
|
|
65
29
|
href: `${admin}/login`
|
|
66
30
|
}, i18n.t('authentication:backToLogin')));
|
|
67
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/ForgotPassword/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload/types'\n\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Translation } from '@payloadcms/ui/elements/Translation'\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/views/ForgotPassword/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload/types'\n\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Translation } from '@payloadcms/ui/elements/Translation'\nimport LinkImport from 'next/link.js'\nimport React, { Fragment } from 'react'\n\nimport { ForgotPasswordForm } from './ForgotPasswordForm/index.js'\n\nexport { generateForgotPasswordMetadata } from './meta.js'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\nexport const forgotPasswordBaseClass = 'forgot-password'\n\nexport const ForgotPasswordView: React.FC<AdminViewProps> = ({ initPageResult }) => {\n const {\n req: {\n i18n,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n routes: { admin },\n } = config\n\n if (user) {\n return (\n <Fragment>\n <h1>{i18n.t('authentication:alreadyLoggedIn')}</h1>\n <p>\n <Translation\n elements={{\n '0': ({ children }) => <Link href={`${admin}/account`}>{children}</Link>,\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n </p>\n <br />\n <Button Link={Link} buttonStyle=\"secondary\" el=\"link\" to={admin}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </Fragment>\n )\n }\n\n return (\n <Fragment>\n <ForgotPasswordForm />\n <Link href={`${admin}/login`}>{i18n.t('authentication:backToLogin')}</Link>\n </Fragment>\n )\n}\n"],"names":["Button","Translation","LinkImport","React","Fragment","ForgotPasswordForm","generateForgotPasswordMetadata","Link","default","forgotPasswordBaseClass","ForgotPasswordView","initPageResult","req","i18n","payload","config","user","routes","admin","h1","t","p","elements","children","href","i18nKey","br","buttonStyle","el","to"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,MAAM,QAAQ,iCAAgC;AACvD,SAASC,WAAW,QAAQ,sCAAqC;AACjE,OAAOC,gBAAgB,eAAc;AACrC,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,kBAAkB,QAAQ,gCAA+B;AAElE,SAASC,8BAA8B,QAAQ,YAAW;AAE1D,MAAMC,OAAQL,WAAWM,OAAO,IAAIN;AACpC,OAAO,MAAMO,0BAA0B,kBAAiB;AAExD,OAAO,MAAMC,qBAA+C,CAAC,EAAEC,cAAc,EAAE;IAC7E,MAAM,EACJC,KAAK,EACHC,IAAI,EACJC,SAAS,EAAEC,MAAM,EAAE,EACnBC,IAAI,EACL,EACF,GAAGL;IAEJ,MAAM,EACJM,QAAQ,EAAEC,KAAK,EAAE,EAClB,GAAGH;IAEJ,IAAIC,MAAM;QACR,qBACE,oBAACZ,8BACC,oBAACe,YAAIN,KAAKO,CAAC,CAAC,kDACZ,oBAACC,yBACC,oBAACpB;YACCqB,UAAU;gBACR,KAAK,CAAC,EAAEC,QAAQ,EAAE,iBAAK,oBAAChB;wBAAKiB,MAAM,CAAC,EAAEN,MAAM,QAAQ,CAAC;uBAAGK;YAC1D;YACAE,SAAQ;YACRL,GAAGP,KAAKO,CAAC;2BAGb,oBAACM,2BACD,oBAAC1B;YAAOO,MAAMA;YAAMoB,aAAY;YAAYC,IAAG;YAAOC,IAAIX;WACvDL,KAAKO,CAAC,CAAC;IAIhB;IAEA,qBACE,oBAAChB,8BACC,oBAACC,yCACD,oBAACE;QAAKiB,MAAM,CAAC,EAAEN,MAAM,MAAM,CAAC;OAAGL,KAAKO,CAAC,CAAC;AAG5C,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/ForgotPassword/meta.ts"],"sourcesContent":["import type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateForgotPasswordMetadata: GenerateViewMetadata = async ({\n config,\n i18n: { t },\n}) => {\n return meta({\n config,\n description: t('authentication:forgotPassword'),\n keywords: t('authentication:forgotPassword'),\n title: t('authentication:forgotPassword'),\n })\n}\n"],"names":["meta","generateForgotPasswordMetadata","config","i18n","t","description","keywords","title"],"mappings":"AAEA,SAASA,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,iCAAuD,OAAO,EACzEC,MAAM,EACNC,MAAM,EAAEC,CAAC,EAAE,EACZ;IACC,OAAOJ,KAAK;QACVE;QACAG,aAAaD,EAAE;QACfE,UAAUF,EAAE;QACZG,OAAOH,EAAE;IACX;AACF,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../src/views/ForgotPassword/meta.ts"],"sourcesContent":["import type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateForgotPasswordMetadata: GenerateViewMetadata = async ({\n config,\n i18n: { t },\n}) => {\n return meta({\n config,\n description: t('authentication:forgotPassword'),\n keywords: t('authentication:forgotPassword'),\n title: t('authentication:forgotPassword'),\n })\n}\n"],"names":["meta","generateForgotPasswordMetadata","config","i18n","t","description","keywords","title"],"rangeMappings":";;;;;;;;","mappings":"AAEA,SAASA,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,iCAAuD,OAAO,EACzEC,MAAM,EACNC,MAAM,EAAEC,CAAC,EAAE,EACZ;IACC,OAAOJ,KAAK;QACVE;QACAG,aAAaD,EAAE;QACfE,UAAUF,EAAE;QACZG,OAAOH,EAAE;IACX;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/List/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionComponentMap } from '@payloadcms/ui/utilities/buildComponentMap'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { DeleteMany } from '@payloadcms/ui/elements/DeleteMany'\nimport { EditMany } from '@payloadcms/ui/elements/EditMany'\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport { ListControls } from '@payloadcms/ui/elements/ListControls'\nimport { ListSelection } from '@payloadcms/ui/elements/ListSelection'\nimport { Pagination } from '@payloadcms/ui/elements/Pagination'\nimport { PerPage } from '@payloadcms/ui/elements/PerPage'\nimport { Pill } from '@payloadcms/ui/elements/Pill'\nimport { PublishMany } from '@payloadcms/ui/elements/PublishMany'\nimport { StaggeredShimmers } from '@payloadcms/ui/elements/ShimmerEffect'\nimport { useStepNav } from '@payloadcms/ui/elements/StepNav'\nimport { Table } from '@payloadcms/ui/elements/Table'\nimport { RelationshipProvider } from '@payloadcms/ui/elements/Table/RelationshipProvider'\nimport { UnpublishMany } from '@payloadcms/ui/elements/UnpublishMany'\nimport { useWindowInfo } from '@payloadcms/ui/elements/WindowInfo'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useListInfo } from '@payloadcms/ui/providers/ListInfo'\nimport { useListQuery } from '@payloadcms/ui/providers/ListQuery'\nimport { useSearchParams } from '@payloadcms/ui/providers/SearchParams'\nimport { SelectionProvider } from '@payloadcms/ui/providers/Selection'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport LinkImport from 'next/link.js'\nimport { formatFilesize, isNumber } from 'payload/utilities'\nimport React, { Fragment, useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'collection-list'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultListView: React.FC = () => {\n const { Header, collectionSlug, hasCreatePermission, newDocumentURL } = useListInfo()\n const { data, defaultLimit, handlePageChange, handlePerPageChange } = useListQuery()\n const { searchParams } = useSearchParams()\n\n const config = useConfig()\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug }) as CollectionComponentMap\n\n const {\n AfterList,\n AfterListTable,\n BeforeList,\n BeforeListTable,\n Description,\n actionsMap,\n fieldMap,\n } = componentMap || {}\n\n const collectionConfig = config.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n\n const { labels } = collectionConfig\n\n const { i18n } = useTranslation()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n let docs = data.docs || []\n\n if (collectionConfig.upload) {\n docs = docs?.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n }\n\n useEffect(() => {\n setStepNav([\n {\n label: labels?.plural,\n },\n ])\n }, [setStepNav, labels])\n\n return (\n <div className={baseClass}>\n <SetViewActions actions={actionsMap?.List} />\n {BeforeList}\n <SelectionProvider docs={data.docs} totalDocs={data.totalDocs}>\n <Gutter className={`${baseClass}__wrap`}>\n <header className={`${baseClass}__header`}>\n {Header || (\n <Fragment>\n <h1>{getTranslation(labels?.plural, i18n)}</h1>\n {hasCreatePermission && (\n <Pill\n aria-label={i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n to={newDocumentURL}\n >\n {i18n.t('general:createNew')}\n </Pill>\n )}\n {!smallBreak && (\n <ListSelection label={getTranslation(collectionConfig.labels.plural, i18n)} />\n )}\n {Description && <div className={`${baseClass}__sub-header`}>{Description}</div>}\n </Fragment>\n )}\n </header>\n <ListControls collectionConfig={collectionConfig} fieldMap={fieldMap} />\n {BeforeListTable}\n {!data.docs && (\n <StaggeredShimmers\n className={[`${baseClass}__shimmer`, `${baseClass}__shimmer--rows`].join(' ')}\n count={6}\n />\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <Table\n customCellContext={{\n collectionSlug,\n uploadConfig: collectionConfig.upload,\n }}\n data={docs}\n fieldMap={fieldMap}\n />\n </RelationshipProvider>\n )}\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>{i18n.t('general:noResults', { label: getTranslation(labels?.plural, i18n) })}</p>\n {hasCreatePermission && newDocumentURL && (\n <Button Link={Link} el=\"link\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {AfterListTable}\n {data.docs && data.docs.length > 0 && (\n <div className={`${baseClass}__page-controls`}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={handlePageChange}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data?.totalDocs > 0 && (\n <Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={handlePerPageChange}\n limit={\n isNumber(searchParams?.limit) ? Number(searchParams.limit) : defaultLimit\n }\n limits={collectionConfig?.admin?.pagination?.limits}\n resetPage={data.totalDocs <= data.pagingCounter}\n />\n {smallBreak && (\n <div className={`${baseClass}__list-selection`}>\n <Fragment>\n <ListSelection\n label={getTranslation(collectionConfig.labels.plural, i18n)}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n <EditMany collection={collectionConfig} fieldMap={fieldMap} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n <DeleteMany collection={collectionConfig} />\n </div>\n </Fragment>\n </div>\n )}\n </Fragment>\n )}\n </div>\n )}\n </Gutter>\n </SelectionProvider>\n {AfterList}\n </div>\n )\n}\n"],"names":["getTranslation","Button","DeleteMany","EditMany","Gutter","ListControls","ListSelection","Pagination","PerPage","Pill","PublishMany","StaggeredShimmers","useStepNav","Table","RelationshipProvider","UnpublishMany","useWindowInfo","SetViewActions","useComponentMap","useConfig","useListInfo","useListQuery","useSearchParams","SelectionProvider","useTranslation","LinkImport","formatFilesize","isNumber","React","Fragment","useEffect","baseClass","Link","default","DefaultListView","Header","collectionSlug","hasCreatePermission","newDocumentURL","data","defaultLimit","handlePageChange","handlePerPageChange","searchParams","config","getComponentMap","componentMap","AfterList","AfterListTable","BeforeList","BeforeListTable","Description","actionsMap","fieldMap","collectionConfig","collections","find","collection","slug","labels","i18n","setStepNav","breakpoints","s","smallBreak","docs","upload","map","doc","filesize","label","plural","div","className","actions","List","totalDocs","header","h1","aria-label","t","singular","to","join","count","length","customCellContext","uploadConfig","p","el","hasNextPage","hasPrevPage","limit","nextPage","numberOfNeighbors","onChange","page","prevPage","totalPages","handleChange","Number","limits","admin","pagination","resetPage","pagingCounter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/List/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport type { CollectionComponentMap } from '@payloadcms/ui/utilities/buildComponentMap'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { DeleteMany } from '@payloadcms/ui/elements/DeleteMany'\nimport { EditMany } from '@payloadcms/ui/elements/EditMany'\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport { ListControls } from '@payloadcms/ui/elements/ListControls'\nimport { ListSelection } from '@payloadcms/ui/elements/ListSelection'\nimport { Pagination } from '@payloadcms/ui/elements/Pagination'\nimport { PerPage } from '@payloadcms/ui/elements/PerPage'\nimport { Pill } from '@payloadcms/ui/elements/Pill'\nimport { PublishMany } from '@payloadcms/ui/elements/PublishMany'\nimport { StaggeredShimmers } from '@payloadcms/ui/elements/ShimmerEffect'\nimport { useStepNav } from '@payloadcms/ui/elements/StepNav'\nimport { Table } from '@payloadcms/ui/elements/Table'\nimport { RelationshipProvider } from '@payloadcms/ui/elements/Table/RelationshipProvider'\nimport { UnpublishMany } from '@payloadcms/ui/elements/UnpublishMany'\nimport { useWindowInfo } from '@payloadcms/ui/elements/WindowInfo'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useListInfo } from '@payloadcms/ui/providers/ListInfo'\nimport { useListQuery } from '@payloadcms/ui/providers/ListQuery'\nimport { useSearchParams } from '@payloadcms/ui/providers/SearchParams'\nimport { SelectionProvider } from '@payloadcms/ui/providers/Selection'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport LinkImport from 'next/link.js'\nimport { formatFilesize, isNumber } from 'payload/utilities'\nimport React, { Fragment, useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'collection-list'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultListView: React.FC = () => {\n const { Header, collectionSlug, hasCreatePermission, newDocumentURL } = useListInfo()\n const { data, defaultLimit, handlePageChange, handlePerPageChange } = useListQuery()\n const { searchParams } = useSearchParams()\n\n const config = useConfig()\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug }) as CollectionComponentMap\n\n const {\n AfterList,\n AfterListTable,\n BeforeList,\n BeforeListTable,\n Description,\n actionsMap,\n fieldMap,\n } = componentMap || {}\n\n const collectionConfig = config.collections.find(\n (collection) => collection.slug === collectionSlug,\n )\n\n const { labels } = collectionConfig\n\n const { i18n } = useTranslation()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n let docs = data.docs || []\n\n if (collectionConfig.upload) {\n docs = docs?.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n }\n\n useEffect(() => {\n setStepNav([\n {\n label: labels?.plural,\n },\n ])\n }, [setStepNav, labels])\n\n return (\n <div className={baseClass}>\n <SetViewActions actions={actionsMap?.List} />\n {BeforeList}\n <SelectionProvider docs={data.docs} totalDocs={data.totalDocs}>\n <Gutter className={`${baseClass}__wrap`}>\n <header className={`${baseClass}__header`}>\n {Header || (\n <Fragment>\n <h1>{getTranslation(labels?.plural, i18n)}</h1>\n {hasCreatePermission && (\n <Pill\n aria-label={i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n to={newDocumentURL}\n >\n {i18n.t('general:createNew')}\n </Pill>\n )}\n {!smallBreak && (\n <ListSelection label={getTranslation(collectionConfig.labels.plural, i18n)} />\n )}\n {Description && <div className={`${baseClass}__sub-header`}>{Description}</div>}\n </Fragment>\n )}\n </header>\n <ListControls collectionConfig={collectionConfig} fieldMap={fieldMap} />\n {BeforeListTable}\n {!data.docs && (\n <StaggeredShimmers\n className={[`${baseClass}__shimmer`, `${baseClass}__shimmer--rows`].join(' ')}\n count={6}\n />\n )}\n {data.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <Table\n customCellContext={{\n collectionSlug,\n uploadConfig: collectionConfig.upload,\n }}\n data={docs}\n fieldMap={fieldMap}\n />\n </RelationshipProvider>\n )}\n {data.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>{i18n.t('general:noResults', { label: getTranslation(labels?.plural, i18n) })}</p>\n {hasCreatePermission && newDocumentURL && (\n <Button Link={Link} el=\"link\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {AfterListTable}\n {data.docs && data.docs.length > 0 && (\n <div className={`${baseClass}__page-controls`}>\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={handlePageChange}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n {data?.totalDocs > 0 && (\n <Fragment>\n <div className={`${baseClass}__page-info`}>\n {data.page * data.limit - (data.limit - 1)}-\n {data.totalPages > 1 && data.totalPages !== data.page\n ? data.limit * data.page\n : data.totalDocs}{' '}\n {i18n.t('general:of')} {data.totalDocs}\n </div>\n <PerPage\n handleChange={handlePerPageChange}\n limit={\n isNumber(searchParams?.limit) ? Number(searchParams.limit) : defaultLimit\n }\n limits={collectionConfig?.admin?.pagination?.limits}\n resetPage={data.totalDocs <= data.pagingCounter}\n />\n {smallBreak && (\n <div className={`${baseClass}__list-selection`}>\n <Fragment>\n <ListSelection\n label={getTranslation(collectionConfig.labels.plural, i18n)}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n <EditMany collection={collectionConfig} fieldMap={fieldMap} />\n <PublishMany collection={collectionConfig} />\n <UnpublishMany collection={collectionConfig} />\n <DeleteMany collection={collectionConfig} />\n </div>\n </Fragment>\n </div>\n )}\n </Fragment>\n )}\n </div>\n )}\n </Gutter>\n </SelectionProvider>\n {AfterList}\n </div>\n )\n}\n"],"names":["getTranslation","Button","DeleteMany","EditMany","Gutter","ListControls","ListSelection","Pagination","PerPage","Pill","PublishMany","StaggeredShimmers","useStepNav","Table","RelationshipProvider","UnpublishMany","useWindowInfo","SetViewActions","useComponentMap","useConfig","useListInfo","useListQuery","useSearchParams","SelectionProvider","useTranslation","LinkImport","formatFilesize","isNumber","React","Fragment","useEffect","baseClass","Link","default","DefaultListView","Header","collectionSlug","hasCreatePermission","newDocumentURL","data","defaultLimit","handlePageChange","handlePerPageChange","searchParams","config","getComponentMap","componentMap","AfterList","AfterListTable","BeforeList","BeforeListTable","Description","actionsMap","fieldMap","collectionConfig","collections","find","collection","slug","labels","i18n","setStepNav","breakpoints","s","smallBreak","docs","upload","map","doc","filesize","label","plural","div","className","actions","List","totalDocs","header","h1","aria-label","t","singular","to","join","count","length","customCellContext","uploadConfig","p","el","hasNextPage","hasPrevPage","limit","nextPage","numberOfNeighbors","onChange","page","prevPage","totalPages","handleChange","Number","limits","admin","pagination","resetPage","pagingCounter"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/List/Default/types.ts"],"sourcesContent":["import type { ColumnPreferences } from '@payloadcms/ui/providers/ListInfo'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nexport type DefaultListViewProps = {\n collectionSlug: SanitizedCollectionConfig['slug']\n listSearchableFields: SanitizedCollectionConfig['admin']['listSearchableFields']\n}\n\nexport type ListIndexProps = {\n collection: SanitizedCollectionConfig\n}\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n limit: number\n sort: string\n}\n"],"names":[],"mappings":"AAYA,WAIC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/List/Default/types.ts"],"sourcesContent":["import type { ColumnPreferences } from '@payloadcms/ui/providers/ListInfo'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nexport type DefaultListViewProps = {\n collectionSlug: SanitizedCollectionConfig['slug']\n listSearchableFields: SanitizedCollectionConfig['admin']['listSearchableFields']\n}\n\nexport type ListIndexProps = {\n collection: SanitizedCollectionConfig\n}\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n limit: number\n sort: string\n}\n"],"names":[],"rangeMappings":"","mappings":"AAYA,WAIC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAqI7C,CAAA"}
|
package/dist/views/List/index.js
CHANGED
|
@@ -46,7 +46,7 @@ export const ListView = async ({ initPageResult, searchParams })=>{
|
|
|
46
46
|
} else if (typeof CustomList === 'object' && typeof CustomList.Component === 'function') {
|
|
47
47
|
CustomListView = CustomList.Component;
|
|
48
48
|
}
|
|
49
|
-
const page = isNumber(query?.page) ? query.page : 0;
|
|
49
|
+
const page = isNumber(query?.page) ? Number(query.page) : 0;
|
|
50
50
|
const whereQuery = mergeListSearchAndWhere({
|
|
51
51
|
collectionConfig,
|
|
52
52
|
query: {
|
|
@@ -54,7 +54,7 @@ export const ListView = async ({ initPageResult, searchParams })=>{
|
|
|
54
54
|
where: query?.where || undefined
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
|
-
const limit = isNumber(query?.limit) ? query.limit : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit;
|
|
57
|
+
const limit = isNumber(query?.limit) ? Number(query.limit) : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit;
|
|
58
58
|
const sort = query?.sort && typeof query.sort === 'string' ? query.sort : listPreferences?.sort || undefined;
|
|
59
59
|
const data = await payload.find({
|
|
60
60
|
collection: collectionSlug,
|
|
@@ -77,7 +77,10 @@ export const ListView = async ({ initPageResult, searchParams })=>{
|
|
|
77
77
|
permissions: permissions,
|
|
78
78
|
user: user
|
|
79
79
|
}), /*#__PURE__*/ React.createElement(ListInfoProvider, {
|
|
80
|
-
collectionConfig: createClientCollectionConfig(
|
|
80
|
+
collectionConfig: createClientCollectionConfig({
|
|
81
|
+
collection: collectionConfig,
|
|
82
|
+
t: initPageResult.req.i18n.t
|
|
83
|
+
}),
|
|
81
84
|
collectionSlug: collectionSlug,
|
|
82
85
|
hasCreatePermission: permissions?.collections?.[collectionSlug]?.create?.permission,
|
|
83
86
|
newDocumentURL: `${admin}/collections/${collectionSlug}/create`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { Where } from 'payload/types'\n\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport { TableColumnsProvider } from '@payloadcms/ui/elements/TableColumns'\nimport { ListInfoProvider } from '@payloadcms/ui/providers/ListInfo'\nimport { ListQueryProvider } from '@payloadcms/ui/providers/ListQuery'\nimport { notFound } from 'next/navigation.js'\nimport { createClientCollectionConfig } from 'payload/config'\nimport { type AdminViewProps } from 'payload/types'\nimport { isNumber, mergeListSearchAndWhere } from 'payload/utilities'\nimport React, { Fragment } from 'react'\n\nimport type { DefaultListViewProps, ListPreferences } from './Default/types.js'\n\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { DefaultListView } from './Default/index.js'\n\nexport { generateListMetadata } from './meta.js'\n\nexport const ListView: React.FC<AdminViewProps> = async ({ initPageResult, searchParams }) => {\n const {\n collectionConfig,\n permissions,\n req: {\n locale,\n payload,\n payload: { config },\n query,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n return <UnauthorizedView initPageResult={initPageResult} searchParams={searchParams} />\n }\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n key: {\n equals: preferenceKey,\n },\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (error) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin },\n } = config\n\n if (collectionConfig) {\n const {\n admin: { components: { views: { List: CustomList } = {} } = {} },\n } = collectionConfig\n\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n let CustomListView = null\n\n if (CustomList && typeof CustomList === 'function') {\n CustomListView = CustomList\n } else if (typeof CustomList === 'object' && typeof CustomList.Component === 'function') {\n CustomListView = CustomList.Component\n }\n\n const page = isNumber(query?.page) ? query.page : 0\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n query: {\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n },\n })\n const limit = isNumber(query?.limit)\n ? query.limit\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n limit,\n locale,\n overrideAccess: false,\n page,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const viewComponentProps: DefaultListViewProps = {\n collectionSlug,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n }\n\n return (\n <Fragment>\n <HydrateClientUser permissions={permissions} user={user} />\n <ListInfoProvider\n collectionConfig={createClientCollectionConfig(collectionConfig)}\n collectionSlug={collectionSlug}\n hasCreatePermission={permissions?.collections?.[collectionSlug]?.create?.permission}\n newDocumentURL={`${admin}/collections/${collectionSlug}/create`}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || collectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n modifySearchParams\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n enableRowSelections\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n >\n <RenderCustomComponent\n CustomComponent={CustomListView}\n DefaultComponent={DefaultListView}\n componentProps={viewComponentProps}\n />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"names":["HydrateClientUser","RenderCustomComponent","TableColumnsProvider","ListInfoProvider","ListQueryProvider","notFound","createClientCollectionConfig","isNumber","mergeListSearchAndWhere","React","Fragment","UnauthorizedView","DefaultListView","generateListMetadata","ListView","initPageResult","searchParams","collectionConfig","permissions","req","locale","payload","config","query","user","visibleEntities","collectionSlug","slug","collections","read","permission","listPreferences","preferenceKey","find","collection","depth","limit","where","key","equals","then","res","docs","value","error","routes","admin","components","views","List","CustomList","includes","CustomListView","Component","page","whereQuery","search","undefined","pagination","defaultLimit","sort","data","draft","fallbackLocale","overrideAccess","viewComponentProps","listSearchableFields","hasCreatePermission","create","newDocumentURL","defaultSort","modifySearchParams","enableRowSelections","CustomComponent","DefaultComponent","componentProps"],"mappings":"AAEA,SAASA,iBAAiB,QAAQ,4CAA2C;AAC7E,SAASC,qBAAqB,QAAQ,gDAA+C;AACrF,SAASC,oBAAoB,QAAQ,uCAAsC;AAC3E,SAASC,gBAAgB,QAAQ,oCAAmC;AACpE,SAASC,iBAAiB,QAAQ,qCAAoC;AACtE,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,4BAA4B,QAAQ,iBAAgB;AAE7D,SAASC,QAAQ,EAAEC,uBAAuB,QAAQ,oBAAmB;AACrE,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAIvC,SAASC,gBAAgB,QAAQ,2BAA0B;AAC3D,SAASC,eAAe,QAAQ,qBAAoB;AAEpD,SAASC,oBAAoB,QAAQ,YAAW;AAEhD,OAAO,MAAMC,WAAqC,OAAO,EAAEC,cAAc,EAAEC,YAAY,EAAE;IACvF,MAAM,EACJC,gBAAgB,EAChBC,WAAW,EACXC,KAAK,EACHC,MAAM,EACNC,OAAO,EACPA,SAAS,EAAEC,MAAM,EAAE,EACnBC,KAAK,EACLC,IAAI,EACL,EACDC,eAAe,EAChB,GAAGV;IAEJ,MAAMW,iBAAiBT,kBAAkBU;IAEzC,IAAI,CAACT,aAAaU,aAAa,CAACF,eAAe,EAAEG,MAAMC,YAAY;QACjE,qBAAO,oBAACnB;YAAiBI,gBAAgBA;YAAgBC,cAAcA;;IACzE;IAEA,IAAIe;IACJ,MAAMC,gBAAgB,CAAC,EAAEN,eAAe,KAAK,CAAC;IAE9C,IAAI;QACFK,kBAAmB,MAAMV,QACtBY,IAAI,CAAC;YACJC,YAAY;YACZC,OAAO;YACPC,OAAO;YACPZ;YACAa,OAAO;gBACLC,KAAK;oBACHC,QAAQP;gBACV;YACF;QACF,IACEQ,KAAK,CAACC,MAAQA,KAAKC,MAAM,CAAC,EAAE,EAAEC;IACpC,EAAE,OAAOC,OAAO,CAAC,EAAE,+BAA+B;IAElD,MAAM,EACJC,QAAQ,EAAEC,KAAK,EAAE,EAClB,GAAGxB;IAEJ,IAAIL,kBAAkB;QACpB,MAAM,EACJ6B,OAAO,EAAEC,YAAY,EAAEC,OAAO,EAAEC,MAAMC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EACjE,GAAGjC;QAEJ,IAAI,CAACQ,gBAAgBG,WAAW,CAACuB,QAAQ,CAACzB,iBAAiB;YACzD,OAAOrB;QACT;QAEA,IAAI+C,iBAAiB;QAErB,IAAIF,cAAc,OAAOA,eAAe,YAAY;YAClDE,iBAAiBF;QACnB,OAAO,IAAI,OAAOA,eAAe,YAAY,OAAOA,WAAWG,SAAS,KAAK,YAAY;YACvFD,iBAAiBF,WAAWG,SAAS;QACvC;QAEA,MAAMC,OAAO/C,SAASgB,OAAO+B,
|
|
1
|
+
{"version":3,"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type { Where } from 'payload/types'\n\nimport { HydrateClientUser } from '@payloadcms/ui/elements/HydrateClientUser'\nimport { RenderCustomComponent } from '@payloadcms/ui/elements/RenderCustomComponent'\nimport { TableColumnsProvider } from '@payloadcms/ui/elements/TableColumns'\nimport { ListInfoProvider } from '@payloadcms/ui/providers/ListInfo'\nimport { ListQueryProvider } from '@payloadcms/ui/providers/ListQuery'\nimport { notFound } from 'next/navigation.js'\nimport { createClientCollectionConfig } from 'payload/config'\nimport { type AdminViewProps } from 'payload/types'\nimport { isNumber, mergeListSearchAndWhere } from 'payload/utilities'\nimport React, { Fragment } from 'react'\n\nimport type { DefaultListViewProps, ListPreferences } from './Default/types.js'\n\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { DefaultListView } from './Default/index.js'\n\nexport { generateListMetadata } from './meta.js'\n\nexport const ListView: React.FC<AdminViewProps> = async ({ initPageResult, searchParams }) => {\n const {\n collectionConfig,\n permissions,\n req: {\n locale,\n payload,\n payload: { config },\n query,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const collectionSlug = collectionConfig?.slug\n\n if (!permissions?.collections?.[collectionSlug]?.read?.permission) {\n return <UnauthorizedView initPageResult={initPageResult} searchParams={searchParams} />\n }\n\n let listPreferences: ListPreferences\n const preferenceKey = `${collectionSlug}-list`\n\n try {\n listPreferences = (await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n user,\n where: {\n key: {\n equals: preferenceKey,\n },\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences\n } catch (error) {} // eslint-disable-line no-empty\n\n const {\n routes: { admin },\n } = config\n\n if (collectionConfig) {\n const {\n admin: { components: { views: { List: CustomList } = {} } = {} },\n } = collectionConfig\n\n if (!visibleEntities.collections.includes(collectionSlug)) {\n return notFound()\n }\n\n let CustomListView = null\n\n if (CustomList && typeof CustomList === 'function') {\n CustomListView = CustomList\n } else if (typeof CustomList === 'object' && typeof CustomList.Component === 'function') {\n CustomListView = CustomList.Component\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n const whereQuery = mergeListSearchAndWhere({\n collectionConfig,\n query: {\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n },\n })\n const limit = isNumber(query?.limit)\n ? Number(query.limit)\n : listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n const sort =\n query?.sort && typeof query.sort === 'string'\n ? query.sort\n : listPreferences?.sort || undefined\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n limit,\n locale,\n overrideAccess: false,\n page,\n sort,\n user,\n where: whereQuery || {},\n })\n\n const viewComponentProps: DefaultListViewProps = {\n collectionSlug,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n }\n\n return (\n <Fragment>\n <HydrateClientUser permissions={permissions} user={user} />\n <ListInfoProvider\n collectionConfig={createClientCollectionConfig({\n collection: collectionConfig,\n t: initPageResult.req.i18n.t,\n })}\n collectionSlug={collectionSlug}\n hasCreatePermission={permissions?.collections?.[collectionSlug]?.create?.permission}\n newDocumentURL={`${admin}/collections/${collectionSlug}/create`}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || collectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n modifySearchParams\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n collectionSlug={collectionSlug}\n enableRowSelections\n listPreferences={listPreferences}\n preferenceKey={preferenceKey}\n >\n <RenderCustomComponent\n CustomComponent={CustomListView}\n DefaultComponent={DefaultListView}\n componentProps={viewComponentProps}\n />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n </Fragment>\n )\n }\n\n return notFound()\n}\n"],"names":["HydrateClientUser","RenderCustomComponent","TableColumnsProvider","ListInfoProvider","ListQueryProvider","notFound","createClientCollectionConfig","isNumber","mergeListSearchAndWhere","React","Fragment","UnauthorizedView","DefaultListView","generateListMetadata","ListView","initPageResult","searchParams","collectionConfig","permissions","req","locale","payload","config","query","user","visibleEntities","collectionSlug","slug","collections","read","permission","listPreferences","preferenceKey","find","collection","depth","limit","where","key","equals","then","res","docs","value","error","routes","admin","components","views","List","CustomList","includes","CustomListView","Component","page","Number","whereQuery","search","undefined","pagination","defaultLimit","sort","data","draft","fallbackLocale","overrideAccess","viewComponentProps","listSearchableFields","t","i18n","hasCreatePermission","create","newDocumentURL","defaultSort","modifySearchParams","enableRowSelections","CustomComponent","DefaultComponent","componentProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/List/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateListMetadata = async (\n args: Parameters<GenerateViewMetadata>[0] & {\n collectionConfig: SanitizedCollectionConfig\n },\n): Promise<Metadata> => {\n const { collectionConfig, config, i18n } = args\n\n let title: string = ''\n const description: string = ''\n const keywords: string = ''\n\n if (collectionConfig) {\n title = getTranslation(collectionConfig.labels.plural, i18n)\n }\n\n return meta({\n config,\n description,\n keywords,\n title,\n })\n}\n"],"names":["getTranslation","meta","generateListMetadata","args","collectionConfig","config","i18n","title","description","keywords","labels","plural"],"mappings":"AAGA,SAASA,cAAc,QAAQ,2BAA0B;AAIzD,SAASC,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,uBAAuB,OAClCC;IAIA,MAAM,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IAE3C,IAAII,QAAgB;IACpB,MAAMC,cAAsB;IAC5B,MAAMC,WAAmB;IAEzB,IAAIL,kBAAkB;QACpBG,QAAQP,eAAeI,iBAAiBM,MAAM,CAACC,MAAM,EAAEL;IACzD;IAEA,OAAOL,KAAK;QACVI;QACAG;QACAC;QACAF;IACF;AACF,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../src/views/List/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateListMetadata = async (\n args: Parameters<GenerateViewMetadata>[0] & {\n collectionConfig: SanitizedCollectionConfig\n },\n): Promise<Metadata> => {\n const { collectionConfig, config, i18n } = args\n\n let title: string = ''\n const description: string = ''\n const keywords: string = ''\n\n if (collectionConfig) {\n title = getTranslation(collectionConfig.labels.plural, i18n)\n }\n\n return meta({\n config,\n description,\n keywords,\n title,\n })\n}\n"],"names":["getTranslation","meta","generateListMetadata","args","collectionConfig","config","i18n","title","description","keywords","labels","plural"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,cAAc,QAAQ,2BAA0B;AAIzD,SAASC,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,uBAAuB,OAClCC;IAIA,MAAM,EAAEC,gBAAgB,EAAEC,MAAM,EAAEC,IAAI,EAAE,GAAGH;IAE3C,IAAII,QAAgB;IACpB,MAAMC,cAAsB;IAC5B,MAAMC,WAAmB;IAEzB,IAAIL,kBAAkB;QACpBG,QAAQP,eAAeI,iBAAiBM,MAAM,CAACC,MAAM,EAAEL;IACzD;IAEA,OAAOL,KAAK;QACVI;QACAG;QACAC;QACAF;IACF;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/LivePreview/Context/collisionDetection.ts"],"sourcesContent":["import type { CollisionDetection } from '@dnd-kit/core'\n\nimport { rectIntersection } from '@dnd-kit/core'\n\n// If the toolbar exits the preview area, we need to reset its position\n// This will prevent the toolbar from getting stuck outside the preview area\nexport const customCollisionDetection: CollisionDetection = ({\n collisionRect,\n droppableContainers,\n ...args\n}) => {\n const droppableContainer = droppableContainers.find(({ id }) => id === 'live-preview-area')\n\n const rectIntersectionCollisions = rectIntersection({\n ...args,\n collisionRect,\n droppableContainers: [droppableContainer],\n })\n\n // Collision detection algorithms return an array of collisions\n if (rectIntersectionCollisions.length === 0) {\n // The preview area is not intersecting, return early\n return rectIntersectionCollisions\n }\n\n // Compute whether the draggable element is completely contained within the preview area\n const previewAreaRect = droppableContainer?.rect?.current\n\n const isContained =\n collisionRect.top >= previewAreaRect.top &&\n collisionRect.left >= previewAreaRect.left &&\n collisionRect.bottom <= previewAreaRect.bottom &&\n collisionRect.right <= previewAreaRect.right\n\n if (isContained) {\n return rectIntersectionCollisions\n }\n}\n"],"names":["rectIntersection","customCollisionDetection","collisionRect","droppableContainers","args","droppableContainer","find","id","rectIntersectionCollisions","length","previewAreaRect","rect","current","isContained","top","left","bottom","right"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,gBAAe;AAEhD,uEAAuE;AACvE,4EAA4E;AAC5E,OAAO,MAAMC,2BAA+C,CAAC,EAC3DC,aAAa,EACbC,mBAAmB,EACnB,GAAGC,MACJ;IACC,MAAMC,qBAAqBF,oBAAoBG,IAAI,CAAC,CAAC,EAAEC,EAAE,EAAE,GAAKA,OAAO;IAEvE,MAAMC,6BAA6BR,iBAAiB;QAClD,GAAGI,IAAI;QACPF;QACAC,qBAAqB;YAACE;SAAmB;IAC3C;IAEA,+DAA+D;IAC/D,IAAIG,2BAA2BC,MAAM,KAAK,GAAG;QAC3C,qDAAqD;QACrD,OAAOD;IACT;IAEA,wFAAwF;IACxF,MAAME,kBAAkBL,oBAAoBM,MAAMC;IAElD,MAAMC,cACJX,cAAcY,GAAG,IAAIJ,gBAAgBI,GAAG,IACxCZ,cAAca,IAAI,IAAIL,gBAAgBK,IAAI,IAC1Cb,cAAcc,MAAM,IAAIN,gBAAgBM,MAAM,IAC9Cd,cAAce,KAAK,IAAIP,gBAAgBO,KAAK;IAE9C,IAAIJ,aAAa;QACf,OAAOL;IACT;AACF,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/LivePreview/Context/collisionDetection.ts"],"sourcesContent":["import type { CollisionDetection } from '@dnd-kit/core'\n\nimport { rectIntersection } from '@dnd-kit/core'\n\n// If the toolbar exits the preview area, we need to reset its position\n// This will prevent the toolbar from getting stuck outside the preview area\nexport const customCollisionDetection: CollisionDetection = ({\n collisionRect,\n droppableContainers,\n ...args\n}) => {\n const droppableContainer = droppableContainers.find(({ id }) => id === 'live-preview-area')\n\n const rectIntersectionCollisions = rectIntersection({\n ...args,\n collisionRect,\n droppableContainers: [droppableContainer],\n })\n\n // Collision detection algorithms return an array of collisions\n if (rectIntersectionCollisions.length === 0) {\n // The preview area is not intersecting, return early\n return rectIntersectionCollisions\n }\n\n // Compute whether the draggable element is completely contained within the preview area\n const previewAreaRect = droppableContainer?.rect?.current\n\n const isContained =\n collisionRect.top >= previewAreaRect.top &&\n collisionRect.left >= previewAreaRect.left &&\n collisionRect.bottom <= previewAreaRect.bottom &&\n collisionRect.right <= previewAreaRect.right\n\n if (isContained) {\n return rectIntersectionCollisions\n }\n}\n"],"names":["rectIntersection","customCollisionDetection","collisionRect","droppableContainers","args","droppableContainer","find","id","rectIntersectionCollisions","length","previewAreaRect","rect","current","isContained","top","left","bottom","right"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,gBAAgB,QAAQ,gBAAe;AAEhD,uEAAuE;AACvE,4EAA4E;AAC5E,OAAO,MAAMC,2BAA+C,CAAC,EAC3DC,aAAa,EACbC,mBAAmB,EACnB,GAAGC,MACJ;IACC,MAAMC,qBAAqBF,oBAAoBG,IAAI,CAAC,CAAC,EAAEC,EAAE,EAAE,GAAKA,OAAO;IAEvE,MAAMC,6BAA6BR,iBAAiB;QAClD,GAAGI,IAAI;QACPF;QACAC,qBAAqB;YAACE;SAAmB;IAC3C;IAEA,+DAA+D;IAC/D,IAAIG,2BAA2BC,MAAM,KAAK,GAAG;QAC3C,qDAAqD;QACrD,OAAOD;IACT;IAEA,wFAAwF;IACxF,MAAME,kBAAkBL,oBAAoBM,MAAMC;IAElD,MAAMC,cACJX,cAAcY,GAAG,IAAIJ,gBAAgBI,GAAG,IACxCZ,cAAca,IAAI,IAAIL,gBAAgBK,IAAI,IAC1Cb,cAAcc,MAAM,IAAIN,gBAAgBM,MAAM,IAC9Cd,cAAce,KAAK,IAAIP,gBAAgBO,KAAK;IAE9C,IAAIJ,aAAa;QACf,OAAOL;IACT;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/LivePreview/Context/context.ts"],"sourcesContent":["import type { LivePreviewConfig } from 'payload/config'\nimport type { fieldSchemaToJSON } from 'payload/utilities'\nimport type { Dispatch } from 'react'\n\nimport { createContext, useContext } from 'react'\n\nimport type { usePopupWindow } from '../usePopupWindow.js'\nimport type { SizeReducerAction } from './sizeReducer.js'\n\nexport interface LivePreviewContextType {\n appIsReady: boolean\n breakpoint: LivePreviewConfig['breakpoints'][number]['name']\n breakpoints: LivePreviewConfig['breakpoints']\n fieldSchemaJSON?: ReturnType<typeof fieldSchemaToJSON>\n iframeHasLoaded: boolean\n iframeRef: React.RefObject<HTMLIFrameElement>\n isPopupOpen: boolean\n measuredDeviceSize: {\n height: number\n width: number\n }\n openPopupWindow: ReturnType<typeof usePopupWindow>['openPopupWindow']\n popupRef?: React.MutableRefObject<Window | null>\n previewWindowType: 'iframe' | 'popup'\n setAppIsReady: (appIsReady: boolean) => void\n setBreakpoint: (breakpoint: LivePreviewConfig['breakpoints'][number]['name']) => void\n setHeight: (height: number) => void\n setIframeHasLoaded: (loaded: boolean) => void\n setMeasuredDeviceSize: (size: { height: number; width: number }) => void\n setPreviewWindowType: (previewWindowType: 'iframe' | 'popup') => void\n setSize: Dispatch<SizeReducerAction>\n setToolbarPosition: (position: { x: number; y: number }) => void\n setWidth: (width: number) => void\n setZoom: (zoom: number) => void\n size: {\n height: number\n width: number\n }\n toolbarPosition: {\n x: number\n y: number\n }\n url: string | undefined\n zoom: number\n}\n\nexport const LivePreviewContext = createContext<LivePreviewContextType>({\n appIsReady: false,\n breakpoint: undefined,\n breakpoints: undefined,\n fieldSchemaJSON: undefined,\n iframeHasLoaded: false,\n iframeRef: undefined,\n isPopupOpen: false,\n measuredDeviceSize: {\n height: 0,\n width: 0,\n },\n openPopupWindow: () => {},\n popupRef: undefined,\n previewWindowType: 'iframe',\n setAppIsReady: () => {},\n setBreakpoint: () => {},\n setHeight: () => {},\n setIframeHasLoaded: () => {},\n setMeasuredDeviceSize: () => {},\n setPreviewWindowType: () => {},\n setSize: () => {},\n setToolbarPosition: () => {},\n setWidth: () => {},\n setZoom: () => {},\n size: {\n height: 0,\n width: 0,\n },\n toolbarPosition: {\n x: 0,\n y: 0,\n },\n url: undefined,\n zoom: 1,\n})\n\nexport const useLivePreviewContext = () => useContext(LivePreviewContext)\n"],"names":["createContext","useContext","LivePreviewContext","appIsReady","breakpoint","undefined","breakpoints","fieldSchemaJSON","iframeHasLoaded","iframeRef","isPopupOpen","measuredDeviceSize","height","width","openPopupWindow","popupRef","previewWindowType","setAppIsReady","setBreakpoint","setHeight","setIframeHasLoaded","setMeasuredDeviceSize","setPreviewWindowType","setSize","setToolbarPosition","setWidth","setZoom","size","toolbarPosition","x","y","url","zoom","useLivePreviewContext"],"mappings":"AAIA,SAASA,aAAa,EAAEC,UAAU,QAAQ,QAAO;AA0CjD,OAAO,MAAMC,qBAAqBF,cAAsC;IACtEG,YAAY;IACZC,YAAYC;IACZC,aAAaD;IACbE,iBAAiBF;IACjBG,iBAAiB;IACjBC,WAAWJ;IACXK,aAAa;IACbC,oBAAoB;QAClBC,QAAQ;QACRC,OAAO;IACT;IACAC,iBAAiB,KAAO;IACxBC,UAAUV;IACVW,mBAAmB;IACnBC,eAAe,KAAO;IACtBC,eAAe,KAAO;IACtBC,WAAW,KAAO;IAClBC,oBAAoB,KAAO;IAC3BC,uBAAuB,KAAO;IAC9BC,sBAAsB,KAAO;IAC7BC,SAAS,KAAO;IAChBC,oBAAoB,KAAO;IAC3BC,UAAU,KAAO;IACjBC,SAAS,KAAO;IAChBC,MAAM;QACJf,QAAQ;QACRC,OAAO;IACT;IACAe,iBAAiB;QACfC,GAAG;QACHC,GAAG;IACL;IACAC,KAAK1B;IACL2B,MAAM;AACR,GAAE;AAEF,OAAO,MAAMC,wBAAwB,IAAMhC,WAAWC,oBAAmB"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/LivePreview/Context/context.ts"],"sourcesContent":["import type { LivePreviewConfig } from 'payload/config'\nimport type { fieldSchemaToJSON } from 'payload/utilities'\nimport type { Dispatch } from 'react'\n\nimport { createContext, useContext } from 'react'\n\nimport type { usePopupWindow } from '../usePopupWindow.js'\nimport type { SizeReducerAction } from './sizeReducer.js'\n\nexport interface LivePreviewContextType {\n appIsReady: boolean\n breakpoint: LivePreviewConfig['breakpoints'][number]['name']\n breakpoints: LivePreviewConfig['breakpoints']\n fieldSchemaJSON?: ReturnType<typeof fieldSchemaToJSON>\n iframeHasLoaded: boolean\n iframeRef: React.RefObject<HTMLIFrameElement>\n isPopupOpen: boolean\n measuredDeviceSize: {\n height: number\n width: number\n }\n openPopupWindow: ReturnType<typeof usePopupWindow>['openPopupWindow']\n popupRef?: React.MutableRefObject<Window | null>\n previewWindowType: 'iframe' | 'popup'\n setAppIsReady: (appIsReady: boolean) => void\n setBreakpoint: (breakpoint: LivePreviewConfig['breakpoints'][number]['name']) => void\n setHeight: (height: number) => void\n setIframeHasLoaded: (loaded: boolean) => void\n setMeasuredDeviceSize: (size: { height: number; width: number }) => void\n setPreviewWindowType: (previewWindowType: 'iframe' | 'popup') => void\n setSize: Dispatch<SizeReducerAction>\n setToolbarPosition: (position: { x: number; y: number }) => void\n setWidth: (width: number) => void\n setZoom: (zoom: number) => void\n size: {\n height: number\n width: number\n }\n toolbarPosition: {\n x: number\n y: number\n }\n url: string | undefined\n zoom: number\n}\n\nexport const LivePreviewContext = createContext<LivePreviewContextType>({\n appIsReady: false,\n breakpoint: undefined,\n breakpoints: undefined,\n fieldSchemaJSON: undefined,\n iframeHasLoaded: false,\n iframeRef: undefined,\n isPopupOpen: false,\n measuredDeviceSize: {\n height: 0,\n width: 0,\n },\n openPopupWindow: () => {},\n popupRef: undefined,\n previewWindowType: 'iframe',\n setAppIsReady: () => {},\n setBreakpoint: () => {},\n setHeight: () => {},\n setIframeHasLoaded: () => {},\n setMeasuredDeviceSize: () => {},\n setPreviewWindowType: () => {},\n setSize: () => {},\n setToolbarPosition: () => {},\n setWidth: () => {},\n setZoom: () => {},\n size: {\n height: 0,\n width: 0,\n },\n toolbarPosition: {\n x: 0,\n y: 0,\n },\n url: undefined,\n zoom: 1,\n})\n\nexport const useLivePreviewContext = () => useContext(LivePreviewContext)\n"],"names":["createContext","useContext","LivePreviewContext","appIsReady","breakpoint","undefined","breakpoints","fieldSchemaJSON","iframeHasLoaded","iframeRef","isPopupOpen","measuredDeviceSize","height","width","openPopupWindow","popupRef","previewWindowType","setAppIsReady","setBreakpoint","setHeight","setIframeHasLoaded","setMeasuredDeviceSize","setPreviewWindowType","setSize","setToolbarPosition","setWidth","setZoom","size","toolbarPosition","x","y","url","zoom","useLivePreviewContext"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,aAAa,EAAEC,UAAU,QAAQ,QAAO;AA0CjD,OAAO,MAAMC,qBAAqBF,cAAsC;IACtEG,YAAY;IACZC,YAAYC;IACZC,aAAaD;IACbE,iBAAiBF;IACjBG,iBAAiB;IACjBC,WAAWJ;IACXK,aAAa;IACbC,oBAAoB;QAClBC,QAAQ;QACRC,OAAO;IACT;IACAC,iBAAiB,KAAO;IACxBC,UAAUV;IACVW,mBAAmB;IACnBC,eAAe,KAAO;IACtBC,eAAe,KAAO;IACtBC,WAAW,KAAO;IAClBC,oBAAoB,KAAO;IAC3BC,uBAAuB,KAAO;IAC9BC,sBAAsB,KAAO;IAC7BC,SAAS,KAAO;IAChBC,oBAAoB,KAAO;IAC3BC,UAAU,KAAO;IACjBC,SAAS,KAAO;IAChBC,MAAM;QACJf,QAAQ;QACRC,OAAO;IACT;IACAe,iBAAiB;QACfC,GAAG;QACHC,GAAG;IACL;IACAC,KAAK1B;IACL2B,MAAM;AACR,GAAE;AAEF,OAAO,MAAMC,wBAAwB,IAAMhC,WAAWC,oBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/LivePreview/Context/index.tsx"],"sourcesContent":["'use client'\nimport type { LivePreviewConfig } from 'payload/config'\nimport type { ClientFieldConfig, Field } from 'payload/types'\n\nimport { DndContext } from '@dnd-kit/core'\nimport { fieldSchemaToJSON } from 'payload/utilities'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { usePopupWindow } from '../usePopupWindow.js'\n\nimport { customCollisionDetection } from './collisionDetection.js'\nimport { LivePreviewContext } from './context.js'\nimport { sizeReducer } from './sizeReducer.js'\n\nexport type LivePreviewProviderProps = {\n appIsReady?: boolean\n breakpoints?: LivePreviewConfig['breakpoints']\n children: React.ReactNode\n deviceSize?: {\n height: number\n width: number\n }\n fieldSchema: ClientFieldConfig[]\n isPopupOpen?: boolean\n openPopupWindow?: ReturnType<typeof usePopupWindow>['openPopupWindow']\n popupRef?: React.MutableRefObject<Window>\n url?: string\n}\n\nexport const LivePreviewProvider: React.FC<LivePreviewProviderProps> = ({\n breakpoints,\n children,\n fieldSchema,\n isPopupOpen,\n openPopupWindow,\n popupRef,\n url,\n}) => {\n const [previewWindowType, setPreviewWindowType] = useState<'iframe' | 'popup'>('iframe')\n\n const [appIsReady, setAppIsReady] = useState(false)\n const [listeningForMessages, setListeningForMessages] = useState(false)\n\n const iframeRef = React.useRef<HTMLIFrameElement>(null)\n\n const [iframeHasLoaded, setIframeHasLoaded] = useState(false)\n\n const [zoom, setZoom] = useState(1)\n\n const [position, setPosition] = useState({ x: 0, y: 0 })\n\n const [size, setSize] = React.useReducer(sizeReducer, { height: 0, width: 0 })\n\n const [measuredDeviceSize, setMeasuredDeviceSize] = useState({\n height: 0,\n width: 0,\n })\n\n const [breakpoint, setBreakpoint] =\n React.useState<LivePreviewConfig['breakpoints'][0]['name']>('responsive')\n\n const [fieldSchemaJSON] = useState(() => {\n return fieldSchemaToJSON(fieldSchema)\n })\n\n // The toolbar needs to freely drag and drop around the page\n const handleDragEnd = (ev) => {\n // only update position if the toolbar is completely within the preview area\n // otherwise reset it back to the previous position\n // TODO: reset to the nearest edge of the preview area\n if (ev.over && ev.over.id === 'live-preview-area') {\n const newPos = {\n x: position.x + ev.delta.x,\n y: position.y + ev.delta.y,\n }\n\n setPosition(newPos)\n } else {\n // reset\n }\n }\n\n const setWidth = useCallback(\n (width) => {\n setSize({ type: 'width', value: width })\n },\n [setSize],\n )\n\n const setHeight = useCallback(\n (height) => {\n setSize({ type: 'height', value: height })\n },\n [setSize],\n )\n\n // explicitly set new width and height when as new breakpoints are selected\n // exclude `custom` breakpoint as it is handled by the `setWidth` and `setHeight` directly\n useEffect(() => {\n const foundBreakpoint = breakpoints?.find((bp) => bp.name === breakpoint)\n\n if (\n foundBreakpoint &&\n breakpoint !== 'responsive' &&\n breakpoint !== 'custom' &&\n typeof foundBreakpoint?.width === 'number' &&\n typeof foundBreakpoint?.height === 'number'\n ) {\n setSize({\n type: 'reset',\n value: {\n height: foundBreakpoint.height,\n width: foundBreakpoint.width,\n },\n })\n }\n }, [breakpoint, breakpoints])\n\n // Receive the `ready` message from the popup window\n // This indicates that the app is ready to receive `window.postMessage` events\n // This is also the only cross-origin way of detecting when a popup window has loaded\n // Unlike iframe elements which have an `onLoad` handler, there is no way to access `window.open` on popups\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (\n url?.startsWith(event.origin) &&\n event.data &&\n typeof event.data === 'object' &&\n event.data.type === 'payload-live-preview'\n ) {\n if (event.data.ready) {\n setAppIsReady(true)\n }\n }\n }\n\n window.addEventListener('message', handleMessage)\n\n setListeningForMessages(true)\n\n return () => {\n window.removeEventListener('message', handleMessage)\n }\n }, [url, listeningForMessages])\n\n const handleWindowChange = useCallback(\n (type: 'iframe' | 'popup') => {\n setAppIsReady(false)\n setPreviewWindowType(type)\n if (type === 'popup') openPopupWindow()\n },\n [openPopupWindow],\n )\n\n // when the user closes the popup window, switch back to the iframe\n // the `usePopupWindow` reports the `isPopupOpen` state for us to use here\n useEffect(() => {\n const newPreviewWindowType = isPopupOpen ? 'popup' : 'iframe'\n\n if (newPreviewWindowType !== previewWindowType) {\n handleWindowChange('iframe')\n }\n }, [previewWindowType, isPopupOpen, handleWindowChange])\n\n return (\n <LivePreviewContext.Provider\n value={{\n appIsReady,\n breakpoint,\n breakpoints,\n fieldSchemaJSON,\n iframeHasLoaded,\n iframeRef,\n isPopupOpen,\n measuredDeviceSize,\n openPopupWindow,\n popupRef,\n previewWindowType,\n setAppIsReady,\n setBreakpoint,\n setHeight,\n setIframeHasLoaded,\n setMeasuredDeviceSize,\n setPreviewWindowType: handleWindowChange,\n setSize,\n setToolbarPosition: setPosition,\n setWidth,\n setZoom,\n size,\n toolbarPosition: position,\n url,\n zoom,\n }}\n >\n <DndContext collisionDetection={customCollisionDetection} onDragEnd={handleDragEnd}>\n {listeningForMessages && children}\n </DndContext>\n </LivePreviewContext.Provider>\n )\n}\n"],"names":["DndContext","fieldSchemaToJSON","React","useCallback","useEffect","useState","customCollisionDetection","LivePreviewContext","sizeReducer","LivePreviewProvider","breakpoints","children","fieldSchema","isPopupOpen","openPopupWindow","popupRef","url","previewWindowType","setPreviewWindowType","appIsReady","setAppIsReady","listeningForMessages","setListeningForMessages","iframeRef","useRef","iframeHasLoaded","setIframeHasLoaded","zoom","setZoom","position","setPosition","x","y","size","setSize","useReducer","height","width","measuredDeviceSize","setMeasuredDeviceSize","breakpoint","setBreakpoint","fieldSchemaJSON","handleDragEnd","ev","over","id","newPos","delta","setWidth","type","value","setHeight","foundBreakpoint","find","bp","name","handleMessage","event","startsWith","origin","data","ready","window","addEventListener","removeEventListener","handleWindowChange","newPreviewWindowType","Provider","setToolbarPosition","toolbarPosition","collisionDetection","onDragEnd"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/LivePreview/Context/index.tsx"],"sourcesContent":["'use client'\nimport type { LivePreviewConfig } from 'payload/config'\nimport type { ClientFieldConfig, Field } from 'payload/types'\n\nimport { DndContext } from '@dnd-kit/core'\nimport { fieldSchemaToJSON } from 'payload/utilities'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { usePopupWindow } from '../usePopupWindow.js'\n\nimport { customCollisionDetection } from './collisionDetection.js'\nimport { LivePreviewContext } from './context.js'\nimport { sizeReducer } from './sizeReducer.js'\n\nexport type LivePreviewProviderProps = {\n appIsReady?: boolean\n breakpoints?: LivePreviewConfig['breakpoints']\n children: React.ReactNode\n deviceSize?: {\n height: number\n width: number\n }\n fieldSchema: ClientFieldConfig[]\n isPopupOpen?: boolean\n openPopupWindow?: ReturnType<typeof usePopupWindow>['openPopupWindow']\n popupRef?: React.MutableRefObject<Window>\n url?: string\n}\n\nexport const LivePreviewProvider: React.FC<LivePreviewProviderProps> = ({\n breakpoints,\n children,\n fieldSchema,\n isPopupOpen,\n openPopupWindow,\n popupRef,\n url,\n}) => {\n const [previewWindowType, setPreviewWindowType] = useState<'iframe' | 'popup'>('iframe')\n\n const [appIsReady, setAppIsReady] = useState(false)\n const [listeningForMessages, setListeningForMessages] = useState(false)\n\n const iframeRef = React.useRef<HTMLIFrameElement>(null)\n\n const [iframeHasLoaded, setIframeHasLoaded] = useState(false)\n\n const [zoom, setZoom] = useState(1)\n\n const [position, setPosition] = useState({ x: 0, y: 0 })\n\n const [size, setSize] = React.useReducer(sizeReducer, { height: 0, width: 0 })\n\n const [measuredDeviceSize, setMeasuredDeviceSize] = useState({\n height: 0,\n width: 0,\n })\n\n const [breakpoint, setBreakpoint] =\n React.useState<LivePreviewConfig['breakpoints'][0]['name']>('responsive')\n\n const [fieldSchemaJSON] = useState(() => {\n return fieldSchemaToJSON(fieldSchema)\n })\n\n // The toolbar needs to freely drag and drop around the page\n const handleDragEnd = (ev) => {\n // only update position if the toolbar is completely within the preview area\n // otherwise reset it back to the previous position\n // TODO: reset to the nearest edge of the preview area\n if (ev.over && ev.over.id === 'live-preview-area') {\n const newPos = {\n x: position.x + ev.delta.x,\n y: position.y + ev.delta.y,\n }\n\n setPosition(newPos)\n } else {\n // reset\n }\n }\n\n const setWidth = useCallback(\n (width) => {\n setSize({ type: 'width', value: width })\n },\n [setSize],\n )\n\n const setHeight = useCallback(\n (height) => {\n setSize({ type: 'height', value: height })\n },\n [setSize],\n )\n\n // explicitly set new width and height when as new breakpoints are selected\n // exclude `custom` breakpoint as it is handled by the `setWidth` and `setHeight` directly\n useEffect(() => {\n const foundBreakpoint = breakpoints?.find((bp) => bp.name === breakpoint)\n\n if (\n foundBreakpoint &&\n breakpoint !== 'responsive' &&\n breakpoint !== 'custom' &&\n typeof foundBreakpoint?.width === 'number' &&\n typeof foundBreakpoint?.height === 'number'\n ) {\n setSize({\n type: 'reset',\n value: {\n height: foundBreakpoint.height,\n width: foundBreakpoint.width,\n },\n })\n }\n }, [breakpoint, breakpoints])\n\n // Receive the `ready` message from the popup window\n // This indicates that the app is ready to receive `window.postMessage` events\n // This is also the only cross-origin way of detecting when a popup window has loaded\n // Unlike iframe elements which have an `onLoad` handler, there is no way to access `window.open` on popups\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (\n url?.startsWith(event.origin) &&\n event.data &&\n typeof event.data === 'object' &&\n event.data.type === 'payload-live-preview'\n ) {\n if (event.data.ready) {\n setAppIsReady(true)\n }\n }\n }\n\n window.addEventListener('message', handleMessage)\n\n setListeningForMessages(true)\n\n return () => {\n window.removeEventListener('message', handleMessage)\n }\n }, [url, listeningForMessages])\n\n const handleWindowChange = useCallback(\n (type: 'iframe' | 'popup') => {\n setAppIsReady(false)\n setPreviewWindowType(type)\n if (type === 'popup') openPopupWindow()\n },\n [openPopupWindow],\n )\n\n // when the user closes the popup window, switch back to the iframe\n // the `usePopupWindow` reports the `isPopupOpen` state for us to use here\n useEffect(() => {\n const newPreviewWindowType = isPopupOpen ? 'popup' : 'iframe'\n\n if (newPreviewWindowType !== previewWindowType) {\n handleWindowChange('iframe')\n }\n }, [previewWindowType, isPopupOpen, handleWindowChange])\n\n return (\n <LivePreviewContext.Provider\n value={{\n appIsReady,\n breakpoint,\n breakpoints,\n fieldSchemaJSON,\n iframeHasLoaded,\n iframeRef,\n isPopupOpen,\n measuredDeviceSize,\n openPopupWindow,\n popupRef,\n previewWindowType,\n setAppIsReady,\n setBreakpoint,\n setHeight,\n setIframeHasLoaded,\n setMeasuredDeviceSize,\n setPreviewWindowType: handleWindowChange,\n setSize,\n setToolbarPosition: setPosition,\n setWidth,\n setZoom,\n size,\n toolbarPosition: position,\n url,\n zoom,\n }}\n >\n <DndContext collisionDetection={customCollisionDetection} onDragEnd={handleDragEnd}>\n {listeningForMessages && children}\n </DndContext>\n </LivePreviewContext.Provider>\n )\n}\n"],"names":["DndContext","fieldSchemaToJSON","React","useCallback","useEffect","useState","customCollisionDetection","LivePreviewContext","sizeReducer","LivePreviewProvider","breakpoints","children","fieldSchema","isPopupOpen","openPopupWindow","popupRef","url","previewWindowType","setPreviewWindowType","appIsReady","setAppIsReady","listeningForMessages","setListeningForMessages","iframeRef","useRef","iframeHasLoaded","setIframeHasLoaded","zoom","setZoom","position","setPosition","x","y","size","setSize","useReducer","height","width","measuredDeviceSize","setMeasuredDeviceSize","breakpoint","setBreakpoint","fieldSchemaJSON","handleDragEnd","ev","over","id","newPos","delta","setWidth","type","value","setHeight","foundBreakpoint","find","bp","name","handleMessage","event","startsWith","origin","data","ready","window","addEventListener","removeEventListener","handleWindowChange","newPreviewWindowType","Provider","setToolbarPosition","toolbarPosition","collisionDetection","onDragEnd"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/LivePreview/Context/sizeReducer.ts"],"sourcesContent":["// export const sizeReducer: (state, action) => {\n// switch (action.type) {\n// case 'width':\n// return { ...state, width: action.value }\n// case 'height':\n// return { ...state, height: action.value }\n// default:\n// return { ...state, ...(action?.value || {}) }\n// }\n// },\n\ntype SizeReducerState = {\n height: number\n width: number\n}\n\nexport type SizeReducerAction =\n | {\n type: 'height' | 'width'\n value: number\n }\n | {\n type: 'reset'\n value: {\n height: number\n width: number\n }\n }\n\nexport const sizeReducer = (state: SizeReducerState, action: SizeReducerAction) => {\n switch (action.type) {\n case 'width':\n return { ...state, width: action.value }\n case 'height':\n return { ...state, height: action.value }\n default:\n return { ...state, ...(action?.value || {}) }\n }\n}\n"],"names":["sizeReducer","state","action","type","width","value","height"],"mappings":"AAAA,iDAAiD;AACjD,2BAA2B;AAC3B,oBAAoB;AACpB,iDAAiD;AACjD,qBAAqB;AACrB,kDAAkD;AAClD,eAAe;AACf,sDAAsD;AACtD,MAAM;AACN,KAAK;AAoBL,OAAO,MAAMA,cAAc,CAACC,OAAyBC;IACnD,OAAQA,OAAOC,IAAI;QACjB,KAAK;YACH,OAAO;gBAAE,GAAGF,KAAK;gBAAEG,OAAOF,OAAOG,KAAK;YAAC;QACzC,KAAK;YACH,OAAO;gBAAE,GAAGJ,KAAK;gBAAEK,QAAQJ,OAAOG,KAAK;YAAC;QAC1C;YACE,OAAO;gBAAE,GAAGJ,KAAK;gBAAE,GAAIC,QAAQG,SAAS,CAAC,CAAC;YAAE;IAChD;AACF,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/LivePreview/Context/sizeReducer.ts"],"sourcesContent":["// export const sizeReducer: (state, action) => {\n// switch (action.type) {\n// case 'width':\n// return { ...state, width: action.value }\n// case 'height':\n// return { ...state, height: action.value }\n// default:\n// return { ...state, ...(action?.value || {}) }\n// }\n// },\n\ntype SizeReducerState = {\n height: number\n width: number\n}\n\nexport type SizeReducerAction =\n | {\n type: 'height' | 'width'\n value: number\n }\n | {\n type: 'reset'\n value: {\n height: number\n width: number\n }\n }\n\nexport const sizeReducer = (state: SizeReducerState, action: SizeReducerAction) => {\n switch (action.type) {\n case 'width':\n return { ...state, width: action.value }\n case 'height':\n return { ...state, height: action.value }\n default:\n return { ...state, ...(action?.value || {}) }\n }\n}\n"],"names":["sizeReducer","state","action","type","width","value","height"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,iDAAiD;AACjD,2BAA2B;AAC3B,oBAAoB;AACpB,iDAAiD;AACjD,qBAAqB;AACrB,kDAAkD;AAClD,eAAe;AACf,sDAAsD;AACtD,MAAM;AACN,KAAK;AAoBL,OAAO,MAAMA,cAAc,CAACC,OAAyBC;IACnD,OAAQA,OAAOC,IAAI;QACjB,KAAK;YACH,OAAO;gBAAE,GAAGF,KAAK;gBAAEG,OAAOF,OAAOG,KAAK;YAAC;QACzC,KAAK;YACH,OAAO;gBAAE,GAAGJ,KAAK;gBAAEK,QAAQJ,OAAOG,KAAK;YAAC;QAC1C;YACE,OAAO;gBAAE,GAAGJ,KAAK;gBAAE,GAAIC,QAAQG,SAAS,CAAC,CAAC;YAAE;IAChD;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/LivePreview/Device/index.tsx"],"sourcesContent":["'use client'\nimport { useResize } from '@payloadcms/ui/hooks/useResize'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const deviceFrameRef = React.useRef<HTMLDivElement>(null)\n\n const { breakpoint, setMeasuredDeviceSize, size, zoom } = useLivePreviewContext()\n\n // Keep an accurate measurement of the actual device size as it is truly rendered\n // This is helpful when `sizes` are non-number units like percentages, etc.\n const { size: measuredDeviceSize } = useResize(deviceFrameRef)\n\n // Sync the measured device size with the context so that other components can use it\n // This happens from the bottom up so that as this component mounts and unmounts,\n // Its size is freshly populated again upon re-mounting, i.e. going from iframe->popup->iframe\n useEffect(() => {\n if (measuredDeviceSize) {\n setMeasuredDeviceSize(measuredDeviceSize)\n }\n }, [measuredDeviceSize, setMeasuredDeviceSize])\n\n let x = '0'\n let margin = '0'\n\n if (breakpoint && breakpoint !== 'responsive') {\n x = '-50%'\n\n if (\n typeof zoom === 'number' &&\n typeof size.width === 'number' &&\n typeof size.height === 'number'\n ) {\n const scaledWidth = size.width / zoom\n const difference = scaledWidth - size.width\n x = `${difference / 2}px`\n margin = '0 auto'\n }\n }\n\n let width = zoom ? `${100 / zoom}%` : '100%'\n let height = zoom ? `${100 / zoom}%` : '100%'\n\n if (breakpoint !== 'responsive') {\n width = `${size?.width / (typeof zoom === 'number' ? zoom : 1)}px`\n height = `${size?.height / (typeof zoom === 'number' ? zoom : 1)}px`\n }\n\n return (\n <div\n ref={deviceFrameRef}\n style={{\n height,\n margin,\n transform: `translate3d(${x}, 0, 0)`,\n width,\n }}\n >\n {children}\n </div>\n )\n}\n"],"names":["useResize","React","useEffect","useLivePreviewContext","DeviceContainer","props","children","deviceFrameRef","useRef","breakpoint","setMeasuredDeviceSize","size","zoom","measuredDeviceSize","x","margin","width","height","scaledWidth","difference","div","ref","style","transform"],"mappings":"AAAA;AACA,SAASA,SAAS,QAAQ,iCAAgC;AAC1D,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAExC,SAASC,qBAAqB,QAAQ,wBAAuB;AAE7D,OAAO,MAAMC,kBAER,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAME,iBAAiBN,MAAMO,MAAM,CAAiB;IAEpD,MAAM,EAAEC,UAAU,EAAEC,qBAAqB,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGT;IAE1D,iFAAiF;IACjF,2EAA2E;IAC3E,MAAM,EAAEQ,MAAME,kBAAkB,EAAE,GAAGb,UAAUO;IAE/C,qFAAqF;IACrF,iFAAiF;IACjF,8FAA8F;IAC9FL,UAAU;QACR,IAAIW,oBAAoB;YACtBH,sBAAsBG;QACxB;IACF,GAAG;QAACA;QAAoBH;KAAsB;IAE9C,IAAII,IAAI;IACR,IAAIC,SAAS;IAEb,IAAIN,cAAcA,eAAe,cAAc;QAC7CK,IAAI;QAEJ,IACE,OAAOF,SAAS,YAChB,OAAOD,KAAKK,KAAK,KAAK,YACtB,OAAOL,KAAKM,MAAM,KAAK,UACvB;YACA,MAAMC,cAAcP,KAAKK,KAAK,GAAGJ;YACjC,MAAMO,aAAaD,cAAcP,KAAKK,KAAK;YAC3CF,IAAI,CAAC,EAAEK,aAAa,EAAE,EAAE,CAAC;YACzBJ,SAAS;QACX;IACF;IAEA,IAAIC,QAAQJ,OAAO,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAAG;IACtC,IAAIK,SAASL,OAAO,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAAG;IAEvC,IAAIH,eAAe,cAAc;QAC/BO,QAAQ,CAAC,EAAEL,MAAMK,QAAS,CAAA,OAAOJ,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC;QAClEK,SAAS,CAAC,EAAEN,MAAMM,SAAU,CAAA,OAAOL,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC;IACtE;IAEA,qBACE,oBAACQ;QACCC,KAAKd;QACLe,OAAO;YACLL;YACAF;YACAQ,WAAW,CAAC,YAAY,EAAET,EAAE,OAAO,CAAC;YACpCE;QACF;OAECV;AAGP,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/LivePreview/Device/index.tsx"],"sourcesContent":["'use client'\nimport { useResize } from '@payloadcms/ui/hooks/useResize'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const deviceFrameRef = React.useRef<HTMLDivElement>(null)\n\n const { breakpoint, setMeasuredDeviceSize, size, zoom } = useLivePreviewContext()\n\n // Keep an accurate measurement of the actual device size as it is truly rendered\n // This is helpful when `sizes` are non-number units like percentages, etc.\n const { size: measuredDeviceSize } = useResize(deviceFrameRef)\n\n // Sync the measured device size with the context so that other components can use it\n // This happens from the bottom up so that as this component mounts and unmounts,\n // Its size is freshly populated again upon re-mounting, i.e. going from iframe->popup->iframe\n useEffect(() => {\n if (measuredDeviceSize) {\n setMeasuredDeviceSize(measuredDeviceSize)\n }\n }, [measuredDeviceSize, setMeasuredDeviceSize])\n\n let x = '0'\n let margin = '0'\n\n if (breakpoint && breakpoint !== 'responsive') {\n x = '-50%'\n\n if (\n typeof zoom === 'number' &&\n typeof size.width === 'number' &&\n typeof size.height === 'number'\n ) {\n const scaledWidth = size.width / zoom\n const difference = scaledWidth - size.width\n x = `${difference / 2}px`\n margin = '0 auto'\n }\n }\n\n let width = zoom ? `${100 / zoom}%` : '100%'\n let height = zoom ? `${100 / zoom}%` : '100%'\n\n if (breakpoint !== 'responsive') {\n width = `${size?.width / (typeof zoom === 'number' ? zoom : 1)}px`\n height = `${size?.height / (typeof zoom === 'number' ? zoom : 1)}px`\n }\n\n return (\n <div\n ref={deviceFrameRef}\n style={{\n height,\n margin,\n transform: `translate3d(${x}, 0, 0)`,\n width,\n }}\n >\n {children}\n </div>\n )\n}\n"],"names":["useResize","React","useEffect","useLivePreviewContext","DeviceContainer","props","children","deviceFrameRef","useRef","breakpoint","setMeasuredDeviceSize","size","zoom","measuredDeviceSize","x","margin","width","height","scaledWidth","difference","div","ref","style","transform"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,SAAS,QAAQ,iCAAgC;AAC1D,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAExC,SAASC,qBAAqB,QAAQ,wBAAuB;AAE7D,OAAO,MAAMC,kBAER,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAME,iBAAiBN,MAAMO,MAAM,CAAiB;IAEpD,MAAM,EAAEC,UAAU,EAAEC,qBAAqB,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGT;IAE1D,iFAAiF;IACjF,2EAA2E;IAC3E,MAAM,EAAEQ,MAAME,kBAAkB,EAAE,GAAGb,UAAUO;IAE/C,qFAAqF;IACrF,iFAAiF;IACjF,8FAA8F;IAC9FL,UAAU;QACR,IAAIW,oBAAoB;YACtBH,sBAAsBG;QACxB;IACF,GAAG;QAACA;QAAoBH;KAAsB;IAE9C,IAAII,IAAI;IACR,IAAIC,SAAS;IAEb,IAAIN,cAAcA,eAAe,cAAc;QAC7CK,IAAI;QAEJ,IACE,OAAOF,SAAS,YAChB,OAAOD,KAAKK,KAAK,KAAK,YACtB,OAAOL,KAAKM,MAAM,KAAK,UACvB;YACA,MAAMC,cAAcP,KAAKK,KAAK,GAAGJ;YACjC,MAAMO,aAAaD,cAAcP,KAAKK,KAAK;YAC3CF,IAAI,CAAC,EAAEK,aAAa,EAAE,EAAE,CAAC;YACzBJ,SAAS;QACX;IACF;IAEA,IAAIC,QAAQJ,OAAO,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAAG;IACtC,IAAIK,SAASL,OAAO,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAAG;IAEvC,IAAIH,eAAe,cAAc;QAC/BO,QAAQ,CAAC,EAAEL,MAAMK,QAAS,CAAA,OAAOJ,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC;QAClEK,SAAS,CAAC,EAAEN,MAAMM,SAAU,CAAA,OAAOL,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC;IACtE;IAEA,qBACE,oBAACQ;QACCC,KAAKd;QACLe,OAAO;YACLL;YACAF;YACAQ,WAAW,CAAC,YAAY,EAAET,EAAE,OAAO,CAAC;YACpCE;QACF;OAECV;AAGP,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/LivePreview/DeviceContainer/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const { breakpoint, breakpoints, size, zoom } = useLivePreviewContext()\n\n const foundBreakpoint = breakpoint && breakpoints?.find((bp) => bp.name === breakpoint)\n\n let x = '0'\n let margin = '0'\n\n if (foundBreakpoint && breakpoint !== 'responsive') {\n x = '-50%'\n\n if (\n typeof zoom === 'number' &&\n typeof size.width === 'number' &&\n typeof size.height === 'number'\n ) {\n const scaledWidth = size.width / zoom\n const difference = scaledWidth - size.width\n x = `${difference / 2}px`\n margin = '0 auto'\n }\n }\n\n return (\n <div\n style={{\n height:\n foundBreakpoint && foundBreakpoint?.name !== 'responsive'\n ? `${size?.height / (typeof zoom === 'number' ? zoom : 1)}px`\n : typeof zoom === 'number'\n ? `${100 / zoom}%`\n : '100%',\n margin,\n transform: `translate3d(${x}, 0, 0)`,\n width:\n foundBreakpoint && foundBreakpoint?.name !== 'responsive'\n ? `${size?.width / (typeof zoom === 'number' ? zoom : 1)}px`\n : typeof zoom === 'number'\n ? `${100 / zoom}%`\n : '100%',\n }}\n >\n {children}\n </div>\n )\n}\n"],"names":["React","useLivePreviewContext","DeviceContainer","props","children","breakpoint","breakpoints","size","zoom","foundBreakpoint","find","bp","name","x","margin","width","height","scaledWidth","difference","div","style","transform"],"mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,qBAAqB,QAAQ,wBAAuB;AAE7D,OAAO,MAAMC,kBAER,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAM,EAAEE,UAAU,EAAEC,WAAW,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGP;IAEhD,MAAMQ,kBAAkBJ,cAAcC,aAAaI,KAAK,CAACC,KAAOA,GAAGC,IAAI,KAAKP;IAE5E,IAAIQ,IAAI;IACR,IAAIC,SAAS;IAEb,IAAIL,mBAAmBJ,eAAe,cAAc;QAClDQ,IAAI;QAEJ,IACE,OAAOL,SAAS,YAChB,OAAOD,KAAKQ,KAAK,KAAK,YACtB,OAAOR,KAAKS,MAAM,KAAK,UACvB;YACA,MAAMC,cAAcV,KAAKQ,KAAK,GAAGP;YACjC,MAAMU,aAAaD,cAAcV,KAAKQ,KAAK;YAC3CF,IAAI,CAAC,EAAEK,aAAa,EAAE,EAAE,CAAC;YACzBJ,SAAS;QACX;IACF;IAEA,qBACE,oBAACK;QACCC,OAAO;YACLJ,QACEP,mBAAmBA,iBAAiBG,SAAS,eACzC,CAAC,EAAEL,MAAMS,SAAU,CAAA,OAAOR,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC,GAC3D,OAAOA,SAAS,WACd,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAChB;YACRM;YACAO,WAAW,CAAC,YAAY,EAAER,EAAE,OAAO,CAAC;YACpCE,OACEN,mBAAmBA,iBAAiBG,SAAS,eACzC,CAAC,EAAEL,MAAMQ,QAAS,CAAA,OAAOP,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC,GAC1D,OAAOA,SAAS,WACd,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAChB;QACV;OAECJ;AAGP,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/LivePreview/DeviceContainer/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const { breakpoint, breakpoints, size, zoom } = useLivePreviewContext()\n\n const foundBreakpoint = breakpoint && breakpoints?.find((bp) => bp.name === breakpoint)\n\n let x = '0'\n let margin = '0'\n\n if (foundBreakpoint && breakpoint !== 'responsive') {\n x = '-50%'\n\n if (\n typeof zoom === 'number' &&\n typeof size.width === 'number' &&\n typeof size.height === 'number'\n ) {\n const scaledWidth = size.width / zoom\n const difference = scaledWidth - size.width\n x = `${difference / 2}px`\n margin = '0 auto'\n }\n }\n\n return (\n <div\n style={{\n height:\n foundBreakpoint && foundBreakpoint?.name !== 'responsive'\n ? `${size?.height / (typeof zoom === 'number' ? zoom : 1)}px`\n : typeof zoom === 'number'\n ? `${100 / zoom}%`\n : '100%',\n margin,\n transform: `translate3d(${x}, 0, 0)`,\n width:\n foundBreakpoint && foundBreakpoint?.name !== 'responsive'\n ? `${size?.width / (typeof zoom === 'number' ? zoom : 1)}px`\n : typeof zoom === 'number'\n ? `${100 / zoom}%`\n : '100%',\n }}\n >\n {children}\n </div>\n )\n}\n"],"names":["React","useLivePreviewContext","DeviceContainer","props","children","breakpoint","breakpoints","size","zoom","foundBreakpoint","find","bp","name","x","margin","width","height","scaledWidth","difference","div","style","transform"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,qBAAqB,QAAQ,wBAAuB;AAE7D,OAAO,MAAMC,kBAER,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAE,GAAGD;IAErB,MAAM,EAAEE,UAAU,EAAEC,WAAW,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGP;IAEhD,MAAMQ,kBAAkBJ,cAAcC,aAAaI,KAAK,CAACC,KAAOA,GAAGC,IAAI,KAAKP;IAE5E,IAAIQ,IAAI;IACR,IAAIC,SAAS;IAEb,IAAIL,mBAAmBJ,eAAe,cAAc;QAClDQ,IAAI;QAEJ,IACE,OAAOL,SAAS,YAChB,OAAOD,KAAKQ,KAAK,KAAK,YACtB,OAAOR,KAAKS,MAAM,KAAK,UACvB;YACA,MAAMC,cAAcV,KAAKQ,KAAK,GAAGP;YACjC,MAAMU,aAAaD,cAAcV,KAAKQ,KAAK;YAC3CF,IAAI,CAAC,EAAEK,aAAa,EAAE,EAAE,CAAC;YACzBJ,SAAS;QACX;IACF;IAEA,qBACE,oBAACK;QACCC,OAAO;YACLJ,QACEP,mBAAmBA,iBAAiBG,SAAS,eACzC,CAAC,EAAEL,MAAMS,SAAU,CAAA,OAAOR,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC,GAC3D,OAAOA,SAAS,WACd,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAChB;YACRM;YACAO,WAAW,CAAC,YAAY,EAAER,EAAE,OAAO,CAAC;YACpCE,OACEN,mBAAmBA,iBAAiBG,SAAS,eACzC,CAAC,EAAEL,MAAMQ,QAAS,CAAA,OAAOP,SAAS,WAAWA,OAAO,CAAA,EAAG,EAAE,CAAC,GAC1D,OAAOA,SAAS,WACd,CAAC,EAAE,MAAMA,KAAK,CAAC,CAAC,GAChB;QACV;OAECJ;AAGP,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/LivePreview/IFrame/index.tsx"],"sourcesContent":["'use client'\nimport React, { forwardRef } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-iframe'\n\ntype Props = {\n setIframeHasLoaded: (value: boolean) => void\n url: string\n}\n\nexport const IFrame = forwardRef<HTMLIFrameElement, Props>((props, ref) => {\n const { setIframeHasLoaded, url } = props\n\n const { zoom } = useLivePreviewContext()\n\n return (\n <iframe\n className={baseClass}\n onLoad={() => {\n setIframeHasLoaded(true)\n }}\n ref={ref}\n src={url}\n style={{\n transform: typeof zoom === 'number' ? `scale(${zoom}) ` : undefined,\n }}\n title={url}\n />\n )\n})\n"],"names":["React","forwardRef","useLivePreviewContext","baseClass","IFrame","props","ref","setIframeHasLoaded","url","zoom","iframe","className","onLoad","src","style","transform","undefined","title"],"mappings":"AAAA;AACA,OAAOA,SAASC,UAAU,QAAQ,QAAO;AAEzC,SAASC,qBAAqB,QAAQ,wBAAuB;AAG7D,MAAMC,YAAY;AAOlB,OAAO,MAAMC,uBAASH,WAAqC,CAACI,OAAOC;IACjE,MAAM,EAAEC,kBAAkB,EAAEC,GAAG,EAAE,GAAGH;IAEpC,MAAM,EAAEI,IAAI,EAAE,GAAGP;IAEjB,qBACE,oBAACQ;QACCC,WAAWR;QACXS,QAAQ;YACNL,mBAAmB;QACrB;QACAD,KAAKA;QACLO,KAAKL;QACLM,OAAO;YACLC,WAAW,OAAON,SAAS,WAAW,CAAC,MAAM,EAAEA,KAAK,EAAE,CAAC,GAAGO;QAC5D;QACAC,OAAOT;;AAGb,GAAE"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/LivePreview/IFrame/index.tsx"],"sourcesContent":["'use client'\nimport React, { forwardRef } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-iframe'\n\ntype Props = {\n setIframeHasLoaded: (value: boolean) => void\n url: string\n}\n\nexport const IFrame = forwardRef<HTMLIFrameElement, Props>((props, ref) => {\n const { setIframeHasLoaded, url } = props\n\n const { zoom } = useLivePreviewContext()\n\n return (\n <iframe\n className={baseClass}\n onLoad={() => {\n setIframeHasLoaded(true)\n }}\n ref={ref}\n src={url}\n style={{\n transform: typeof zoom === 'number' ? `scale(${zoom}) ` : undefined,\n }}\n title={url}\n />\n )\n})\n"],"names":["React","forwardRef","useLivePreviewContext","baseClass","IFrame","props","ref","setIframeHasLoaded","url","zoom","iframe","className","onLoad","src","style","transform","undefined","title"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,OAAOA,SAASC,UAAU,QAAQ,QAAO;AAEzC,SAASC,qBAAqB,QAAQ,wBAAuB;AAG7D,MAAMC,YAAY;AAOlB,OAAO,MAAMC,uBAASH,WAAqC,CAACI,OAAOC;IACjE,MAAM,EAAEC,kBAAkB,EAAEC,GAAG,EAAE,GAAGH;IAEpC,MAAM,EAAEI,IAAI,EAAE,GAAGP;IAEjB,qBACE,oBAACQ;QACCC,WAAWR;QACXS,QAAQ;YACNL,mBAAmB;QACrB;QACAD,KAAKA;QACLO,KAAKL;QACLM,OAAO;YACLC,WAAW,OAAON,SAAS,WAAW,CAAC,MAAM,EAAEA,KAAK,EAAE,CAAC,GAAGO;QAC5D;QACAC,OAAOT;;AAGb,GAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/LivePreview/Preview/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload/types'\n\nimport { ShimmerEffect } from '@payloadcms/ui/elements/ShimmerEffect'\nimport { useAllFormFields } from '@payloadcms/ui/forms/Form'\nimport { useDocumentEvents } from '@payloadcms/ui/providers/DocumentEvents'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreview: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n iframeHasLoaded,\n iframeRef,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const { breakpoint, fieldSchemaJSON } = useLivePreviewContext()\n\n const prevWindowType =\n React.useRef<ReturnType<typeof useLivePreviewContext>['previewWindowType']>()\n\n const [fields] = useAllFormFields()\n\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (fields && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(fields, true)\n\n // To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time\n // To do this, the underlying JS function maintains a cache of this value\n // So we need to send it through each time the window type changes\n // But only once per window type change, not on every render, because this is a potentially large obj\n const shouldSendSchema =\n !prevWindowType.current || prevWindowType.current !== previewWindowType\n\n prevWindowType.current = previewWindowType\n\n const message = {\n type: 'payload-live-preview',\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n fields,\n url,\n iframeHasLoaded,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n fieldSchemaJSON,\n mostRecentUpdate,\n ])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"names":["ShimmerEffect","useAllFormFields","useDocumentEvents","reduceFieldsToValues","React","useEffect","useLivePreviewContext","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreview","props","appIsReady","iframeHasLoaded","iframeRef","popupRef","previewWindowType","setIframeHasLoaded","url","mostRecentUpdate","breakpoint","fieldSchemaJSON","prevWindowType","useRef","fields","window","values","shouldSendSchema","current","message","type","data","externallyUpdatedRelationship","undefined","postMessage","contentWindow","div","className","filter","Boolean","join","ref","height"],"mappings":"AAAA;AAIA,SAASA,aAAa,QAAQ,wCAAuC;AACrE,SAASC,gBAAgB,QAAQ,4BAA2B;AAC5D,SAASC,iBAAiB,QAAQ,0CAAyC;AAC3E,SAASC,oBAAoB,QAAQ,gDAA+C;AACpF,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAExC,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,kBAAkB,QAAQ,sBAAqB;AAGxD,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAuC,CAACC;IACnD,MAAM,EACJC,UAAU,EACVC,eAAe,EACfC,SAAS,EACTC,QAAQ,EACRC,iBAAiB,EACjBC,kBAAkB,EAClBC,GAAG,EACJ,GAAGb;IAEJ,MAAM,EAAEc,gBAAgB,EAAE,GAAGlB;IAE7B,MAAM,EAAEmB,UAAU,EAAEC,eAAe,EAAE,GAAGhB;IAExC,MAAMiB,iBACJnB,MAAMoB,MAAM;IAEd,MAAM,CAACC,OAAO,GAAGxB;IAEjB,6DAA6D;IAC7D,yCAAyC;IACzC,+CAA+C;IAC/CI,UAAU;QACR,4FAA4F;QAC5F,IAAIoB,UAAUC,UAAU,iBAAiBA,UAAUb,YAAY;YAC7D,MAAMc,SAASxB,qBAAqBsB,QAAQ;YAE5C,oFAAoF;YACpF,yEAAyE;YACzE,kEAAkE;YAClE,qGAAqG;YACrG,MAAMG,mBACJ,CAACL,eAAeM,OAAO,IAAIN,eAAeM,OAAO,KAAKZ;YAExDM,eAAeM,OAAO,GAAGZ;YAEzB,MAAMa,UAAU;gBACdC,MAAM;gBACNC,MAAML;gBACNM,+BAA+Bb;gBAC/BE,iBAAiBM,mBAAmBN,kBAAkBY;YACxD;YAEA,wCAAwC;YACxC,IAAIjB,sBAAsB,WAAWD,SAASa,OAAO,EAAE;gBACrDb,SAASa,OAAO,CAACM,WAAW,CAACL,SAASX;YACxC;YAEA,kCAAkC;YAClC,IAAIF,sBAAsB,YAAYF,UAAUc,OAAO,EAAE;gBACvDd,UAAUc,OAAO,CAACO,aAAa,EAAED,YAAYL,SAASX;YACxD;QACF;IACF,GAAG;QACDM;QACAN;QACAL;QACAG;QACAD;QACAH;QACAE;QACAG;QACAI;QACAF;KACD;IAED,IAAIH,sBAAsB,UAAU;QAClC,qBACE,oBAACoB;YACCC,WAAW;gBACT5B;gBACAW,cAAcA,eAAe,gBAAgB,CAAC,EAAEX,UAAU,gBAAgB,CAAC;aAC5E,CACE6B,MAAM,CAACC,SACPC,IAAI,CAAC;yBAER,oBAACJ;YAAIC,WAAW,CAAC,EAAE5B,UAAU,SAAS,CAAC;yBACrC,oBAACD,oBAAuBG,sBACxB,oBAACyB;YAAIC,WAAW,CAAC,EAAE5B,UAAU,MAAM,CAAC;yBAClC,oBAACH,uBACEY,oBACC,oBAACX;YAAOkC,KAAK3B;YAAWG,oBAAoBA;YAAoBC,KAAKA;2BAErE,oBAACnB;YAAc2C,QAAO;;IAOpC;AACF,EAAC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/LivePreview/Preview/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload/types'\n\nimport { ShimmerEffect } from '@payloadcms/ui/elements/ShimmerEffect'\nimport { useAllFormFields } from '@payloadcms/ui/forms/Form'\nimport { useDocumentEvents } from '@payloadcms/ui/providers/DocumentEvents'\nimport { reduceFieldsToValues } from '@payloadcms/ui/utilities/reduceFieldsToValues'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreview: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n iframeHasLoaded,\n iframeRef,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const { breakpoint, fieldSchemaJSON } = useLivePreviewContext()\n\n const prevWindowType =\n React.useRef<ReturnType<typeof useLivePreviewContext>['previewWindowType']>()\n\n const [fields] = useAllFormFields()\n\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (fields && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(fields, true)\n\n // To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time\n // To do this, the underlying JS function maintains a cache of this value\n // So we need to send it through each time the window type changes\n // But only once per window type change, not on every render, because this is a potentially large obj\n const shouldSendSchema =\n !prevWindowType.current || prevWindowType.current !== previewWindowType\n\n prevWindowType.current = previewWindowType\n\n const message = {\n type: 'payload-live-preview',\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n fields,\n url,\n iframeHasLoaded,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n fieldSchemaJSON,\n mostRecentUpdate,\n ])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"names":["ShimmerEffect","useAllFormFields","useDocumentEvents","reduceFieldsToValues","React","useEffect","useLivePreviewContext","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreview","props","appIsReady","iframeHasLoaded","iframeRef","popupRef","previewWindowType","setIframeHasLoaded","url","mostRecentUpdate","breakpoint","fieldSchemaJSON","prevWindowType","useRef","fields","window","values","shouldSendSchema","current","message","type","data","externallyUpdatedRelationship","undefined","postMessage","contentWindow","div","className","filter","Boolean","join","ref","height"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAIA,SAASA,aAAa,QAAQ,wCAAuC;AACrE,SAASC,gBAAgB,QAAQ,4BAA2B;AAC5D,SAASC,iBAAiB,QAAQ,0CAAyC;AAC3E,SAASC,oBAAoB,QAAQ,gDAA+C;AACpF,OAAOC,SAASC,SAAS,QAAQ,QAAO;AAExC,SAASC,qBAAqB,QAAQ,wBAAuB;AAC7D,SAASC,eAAe,QAAQ,qBAAoB;AACpD,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,kBAAkB,QAAQ,sBAAqB;AAGxD,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAuC,CAACC;IACnD,MAAM,EACJC,UAAU,EACVC,eAAe,EACfC,SAAS,EACTC,QAAQ,EACRC,iBAAiB,EACjBC,kBAAkB,EAClBC,GAAG,EACJ,GAAGb;IAEJ,MAAM,EAAEc,gBAAgB,EAAE,GAAGlB;IAE7B,MAAM,EAAEmB,UAAU,EAAEC,eAAe,EAAE,GAAGhB;IAExC,MAAMiB,iBACJnB,MAAMoB,MAAM;IAEd,MAAM,CAACC,OAAO,GAAGxB;IAEjB,6DAA6D;IAC7D,yCAAyC;IACzC,+CAA+C;IAC/CI,UAAU;QACR,4FAA4F;QAC5F,IAAIoB,UAAUC,UAAU,iBAAiBA,UAAUb,YAAY;YAC7D,MAAMc,SAASxB,qBAAqBsB,QAAQ;YAE5C,oFAAoF;YACpF,yEAAyE;YACzE,kEAAkE;YAClE,qGAAqG;YACrG,MAAMG,mBACJ,CAACL,eAAeM,OAAO,IAAIN,eAAeM,OAAO,KAAKZ;YAExDM,eAAeM,OAAO,GAAGZ;YAEzB,MAAMa,UAAU;gBACdC,MAAM;gBACNC,MAAML;gBACNM,+BAA+Bb;gBAC/BE,iBAAiBM,mBAAmBN,kBAAkBY;YACxD;YAEA,wCAAwC;YACxC,IAAIjB,sBAAsB,WAAWD,SAASa,OAAO,EAAE;gBACrDb,SAASa,OAAO,CAACM,WAAW,CAACL,SAASX;YACxC;YAEA,kCAAkC;YAClC,IAAIF,sBAAsB,YAAYF,UAAUc,OAAO,EAAE;gBACvDd,UAAUc,OAAO,CAACO,aAAa,EAAED,YAAYL,SAASX;YACxD;QACF;IACF,GAAG;QACDM;QACAN;QACAL;QACAG;QACAD;QACAH;QACAE;QACAG;QACAI;QACAF;KACD;IAED,IAAIH,sBAAsB,UAAU;QAClC,qBACE,oBAACoB;YACCC,WAAW;gBACT5B;gBACAW,cAAcA,eAAe,gBAAgB,CAAC,EAAEX,UAAU,gBAAgB,CAAC;aAC5E,CACE6B,MAAM,CAACC,SACPC,IAAI,CAAC;yBAER,oBAACJ;YAAIC,WAAW,CAAC,EAAE5B,UAAU,SAAS,CAAC;yBACrC,oBAACD,oBAAuBG,sBACxB,oBAACyB;YAAIC,WAAW,CAAC,EAAE5B,UAAU,MAAM,CAAC;yBAClC,oBAACH,uBACEY,oBACC,oBAACX;YAAOkC,KAAK3B;YAAWG,oBAAoBA;YAAoBC,KAAKA;2BAErE,oBAACnB;YAAc2C,QAAO;;IAOpC;AACF,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/LivePreview/Toolbar/Controls/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/LivePreview/Toolbar/Controls/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAOlD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8GnD,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { Popup, PopupList } from '@payloadcms/ui/elements/Popup';
|
|
|
3
3
|
import { Chevron } from '@payloadcms/ui/icons/Chevron';
|
|
4
4
|
import { LinkIcon } from '@payloadcms/ui/icons/Link';
|
|
5
5
|
import { X } from '@payloadcms/ui/icons/X';
|
|
6
|
+
import { useTranslation } from '@payloadcms/ui/providers/Translation';
|
|
6
7
|
import React from 'react';
|
|
7
8
|
import { useLivePreviewContext } from '../../Context/context.js';
|
|
8
9
|
import { PreviewFrameSizeInput } from '../SizeInput/index.js';
|
|
@@ -15,12 +16,13 @@ const zoomOptions = [
|
|
|
15
16
|
150,
|
|
16
17
|
200
|
|
17
18
|
];
|
|
18
|
-
const customOption = {
|
|
19
|
-
label: 'Custom',
|
|
20
|
-
value: 'custom'
|
|
21
|
-
};
|
|
22
19
|
export const ToolbarControls = ()=>{
|
|
23
20
|
const { breakpoint, breakpoints, setBreakpoint, setPreviewWindowType, setZoom, url, zoom } = useLivePreviewContext();
|
|
21
|
+
const { t } = useTranslation();
|
|
22
|
+
const customOption = {
|
|
23
|
+
label: t('general:custom'),
|
|
24
|
+
value: 'custom'
|
|
25
|
+
};
|
|
24
26
|
return /*#__PURE__*/ React.createElement("div", {
|
|
25
27
|
className: baseClass
|
|
26
28
|
}, breakpoints?.length > 0 && /*#__PURE__*/ React.createElement(Popup, {
|