@payloadcms/next 3.0.0-beta.127 → 3.0.0-beta.129
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 +10 -0
- package/dist/cjs/withPayload.cjs.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +13 -15
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +9 -14
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +13 -28
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.d.ts +0 -1
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js +9 -12
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/Logo/index.d.ts.map +1 -1
- package/dist/elements/Logo/index.js +5 -6
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts +4 -1
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +40 -95
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +60 -23
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/exports/layouts.d.ts +1 -0
- package/dist/exports/layouts.d.ts.map +1 -1
- package/dist/exports/layouts.js +1 -0
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +1 -0
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.d.ts +0 -2
- package/dist/exports/views.d.ts.map +1 -1
- package/dist/exports/views.js +0 -2
- package/dist/exports/views.js.map +1 -1
- package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
- package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
- package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/processMultipart.js +9 -11
- package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
- package/dist/layouts/Root/NestProviders.d.ts +11 -0
- package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
- package/dist/layouts/Root/NestProviders.js +21 -0
- package/dist/layouts/Root/NestProviders.js.map +1 -0
- package/dist/layouts/Root/index.d.ts +3 -2
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +14 -18
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js +0 -10
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.d.ts +4 -2
- package/dist/routes/rest/og/image.d.ts.map +1 -1
- package/dist/routes/rest/og/image.js +7 -3
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.d.ts.map +1 -1
- package/dist/routes/rest/og/index.js +5 -8
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/routes/rest/routeError.d.ts.map +1 -1
- package/dist/routes/rest/routeError.js +1 -47
- package/dist/routes/rest/routeError.js.map +1 -1
- package/dist/templates/Default/index.d.ts +2 -1
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +97 -41
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/getClientConfig.d.ts +7 -0
- package/dist/utilities/getClientConfig.d.ts.map +1 -0
- package/dist/utilities/getClientConfig.js +14 -0
- package/dist/utilities/getClientConfig.js.map +1 -0
- package/dist/utilities/handleServerFunctions.d.ts +3 -0
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
- package/dist/utilities/handleServerFunctions.js +35 -0
- package/dist/utilities/handleServerFunctions.js.map +1 -0
- package/dist/utilities/initPage/handleAdminPage.d.ts +2 -1
- package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.js +9 -1
- package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +2 -1
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/initReq.d.ts +1 -1
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/initReq.js +3 -2
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +0 -1
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +10 -13
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Account/Settings/index.js +0 -1
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +81 -24
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.d.ts +3 -1
- package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +83 -109
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +36 -4
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js +46 -44
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/index.js +22 -21
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/getDocPreferences.d.ts +11 -0
- package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
- package/dist/views/Document/getDocPreferences.js +44 -0
- package/dist/views/Document/getDocPreferences.js.map +1 -0
- package/dist/views/Document/getDocumentData.d.ts +10 -11
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js +35 -47
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getIsLocked.d.ts +16 -0
- package/dist/views/Document/getIsLocked.d.ts.map +1 -0
- package/dist/views/Document/getIsLocked.js +55 -0
- package/dist/views/Document/getIsLocked.js.map +1 -0
- package/dist/views/Document/getVersions.d.ts +19 -0
- package/dist/views/Document/getVersions.d.ts.map +1 -0
- package/dist/views/Document/getVersions.js +181 -0
- package/dist/views/Document/getVersions.js.map +1 -0
- package/dist/views/Document/getViewsFromConfig.d.ts +1 -1
- package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
- package/dist/views/Document/getViewsFromConfig.js +18 -19
- package/dist/views/Document/getViewsFromConfig.js.map +1 -1
- package/dist/views/Document/handleServerFunction.d.ts +24 -0
- package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
- package/dist/views/Document/handleServerFunction.js +156 -0
- package/dist/views/Document/handleServerFunction.js.map +1 -0
- package/dist/views/Document/index.d.ts +5 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +181 -72
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
- package/dist/views/Document/renderDocumentSlots.js +92 -0
- package/dist/views/Document/renderDocumentSlots.js.map +1 -0
- package/dist/views/Edit/index.d.ts +3 -2
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +7 -3
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +3 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/List/handleServerFunction.d.ts +26 -0
- package/dist/views/List/handleServerFunction.d.ts.map +1 -0
- package/dist/views/List/handleServerFunction.js +155 -0
- package/dist/views/List/handleServerFunction.js.map +1 -0
- package/dist/views/List/index.d.ts +12 -2
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +121 -81
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts +8 -0
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
- package/dist/views/List/renderListViewSlots.js +44 -0
- package/dist/views/List/renderListViewSlots.js.map +1 -0
- package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
- package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
- package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +38 -35
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/Login/LoginField/index.d.ts.map +1 -1
- package/dist/views/Login/LoginField/index.js +3 -1
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/index.d.ts.map +1 -1
- package/dist/views/Login/index.js +25 -19
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +24 -10
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/Root/getViewFromConfig.d.ts +3 -1
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
- package/dist/views/Root/getViewFromConfig.js +128 -7
- package/dist/views/Root/getViewFromConfig.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +22 -11
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +2 -4
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +3 -2
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +33 -61
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +48 -37
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
- package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +43 -45
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.d.ts +3 -1
- package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +7 -19
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js +53 -51
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +3 -2
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +10 -0
- package/dist/withPayload.js.map +1 -1
- package/license.md +22 -0
- package/package.json +16 -7
- package/dist/elements/DocumentLocked/index.d.ts +0 -12
- package/dist/elements/DocumentLocked/index.d.ts.map +0 -1
- package/dist/elements/DocumentLocked/index.js +0 -152
- package/dist/elements/DocumentLocked/index.js.map +0 -1
- package/dist/elements/DocumentLocked/index.scss +0 -40
- package/dist/elements/DocumentTakeOver/index.d.ts +0 -8
- package/dist/elements/DocumentTakeOver/index.d.ts.map +0 -1
- package/dist/elements/DocumentTakeOver/index.js +0 -98
- package/dist/elements/DocumentTakeOver/index.js.map +0 -1
- package/dist/elements/DocumentTakeOver/index.scss +0 -39
- package/dist/elements/EmailAndUsername/index.d.ts +0 -14
- package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
- package/dist/elements/EmailAndUsername/index.js +0 -121
- package/dist/elements/EmailAndUsername/index.js.map +0 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
- package/dist/elements/LeaveWithoutSaving/index.js +0 -162
- package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
- package/dist/elements/LeaveWithoutSaving/index.scss +0 -39
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -136
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
- package/dist/routes/rest/buildFormState.d.ts +0 -5
- package/dist/routes/rest/buildFormState.d.ts.map +0 -1
- package/dist/routes/rest/buildFormState.js +0 -46
- package/dist/routes/rest/buildFormState.js.map +0 -1
- package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
- package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +0 -125
- package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
- package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
- package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/Auth/index.js +0 -318
- package/dist/views/Edit/Default/Auth/index.js.map +0 -1
- package/dist/views/Edit/Default/Auth/index.scss +0 -78
- package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
- package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
- package/dist/views/Edit/Default/Auth/types.js +0 -2
- package/dist/views/Edit/Default/Auth/types.js.map +0 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
- package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
- package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
- package/dist/views/Edit/Default/index.d.ts +0 -4
- package/dist/views/Edit/Default/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/index.js +0 -349
- package/dist/views/Edit/Default/index.js.map +0 -1
- package/dist/views/Edit/Default/index.scss +0 -23
- package/dist/views/Edit/Default/types.d.ts +0 -6
- package/dist/views/Edit/Default/types.d.ts.map +0 -1
- package/dist/views/Edit/Default/types.js +0 -2
- package/dist/views/Edit/Default/types.js.map +0 -1
- package/dist/views/Edit/index.client.d.ts +0 -3
- package/dist/views/Edit/index.client.d.ts.map +0 -1
- package/dist/views/Edit/index.client.js +0 -54
- package/dist/views/Edit/index.client.js.map +0 -1
- package/dist/views/List/Default/index.d.ts +0 -4
- package/dist/views/List/Default/index.d.ts.map +0 -1
- package/dist/views/List/Default/index.js +0 -387
- package/dist/views/List/Default/index.js.map +0 -1
- package/dist/views/List/Default/index.scss +0 -179
- package/dist/views/List/Default/types.d.ts +0 -15
- package/dist/views/List/Default/types.d.ts.map +0 -1
- package/dist/views/List/Default/types.js +0 -2
- package/dist/views/List/Default/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.client.js","names":["c","_c","DocumentControls","DocumentFields","Form","OperationProvider","SetViewActions","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useTranslation","getFormState","handleBackToDashboard","handleGoBack","handleTakeOver","useRouter","React","Fragment","useCallback","useEffect","useRef","useState","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","SetDocumentStepNav","SetDocumentTitle","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","apiRoute","collectionConfig","config","fields","globalConfig","schemaPath","serverURL","id","action","AfterDocument","AfterFields","apiURL","BeforeDocument","BeforeFields","collectionSlug","currentEditor","disableActions","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","initialData","initialState","isEditing","isInitializing","lastUpdateTime","onSave","onSaveFromProps","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","operation","admin","user","userSlug","routes","adminRoute","router","t","previewWindowType","refreshCookieAsync","reportUpdate","docConfig","lockDocumentsProp","lockDocuments","undefined","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","json","entitySlug","updatedAt","result","toISOString","onChange","formState","prevFormState","currentTime","timeSinceLastUpdate","updateLastEdited","docPreferences","lockedState","state","body","returnLockStatus","previousOwnerId","current","currentPath","window","location","pathname","documentId","stayWithinDocumentPaths","isStayingWithinDocument","some","path","includes","shouldShowDocumentLockedModal","_jsx","_jsxs","className","disabled","method","onSuccess","isActive","onReadOnly","onTakeOver","versions","drafts","autosave","globalLabel","label","pluralLabel","labels","plural","useAsTitle","view","fallback","toString","data","permissions","readOnlyForIncomingUser","slug","filter","Boolean","join","forceSidebarWrap","readOnly","LivePreviewClient","props","$","breakpoints","url","t0","getEntityConfig","t1","api","t2","eventType","isPopupOpen","openPopupWindow","popupRef","t3","children","actions","components","views","edit","livePreview","fieldSchema"],"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n ClientGlobalConfig,\n ClientUser,\n Data,\n LivePreviewConfig,\n} from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n Form,\n OperationProvider,\n SetViewActions,\n useAuth,\n useConfig,\n useDocumentEvents,\n useDocumentInfo,\n useTranslation,\n} from '@payloadcms/ui'\nimport {\n getFormState,\n handleBackToDashboard,\n handleGoBack,\n handleTakeOver,\n} from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from '../Edit/Default/SetDocumentTitle/index.js'\nimport { useLivePreviewContext } from './Context/context.js'\nimport { LivePreviewProvider } from './Context/index.js'\nimport './index.scss'\nimport { LivePreview } from './Preview/index.js'\nimport { usePopupWindow } from './usePopupWindow.js'\n\nconst baseClass = 'live-preview'\n\ntype Props = {\n readonly apiRoute: string\n readonly collectionConfig?: ClientCollectionConfig\n readonly config: ClientConfig\n readonly fields: ClientField[]\n readonly globalConfig?: ClientGlobalConfig\n readonly schemaPath: string\n readonly serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n apiRoute,\n collectionConfig,\n config,\n fields,\n globalConfig,\n schemaPath,\n serverURL,\n}) => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeDocument,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n onSave: onSaveFromProps,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const operation = id ? 'update' : 'create'\n\n const {\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n } = useConfig()\n const router = useRouter()\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n const { refreshCookieAsync, user } = useAuth()\n const { reportUpdate } = useDocumentEvents()\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n\n const isLockExpired = Date.now() > lockExpiryTime\n\n const documentLockStateRef = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n // Unlock the document after save\n if ((id || globalSlug) && isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n },\n [\n collectionSlug,\n globalSlug,\n id,\n isLockingEnabled,\n onSaveFromProps,\n refreshCookieAsync,\n reportUpdate,\n setDocumentIsLocked,\n user,\n userSlug,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const { lockedState, state } = await getFormState({\n apiRoute,\n body: {\n id,\n collectionSlug,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n returnLockStatus: isLockingEnabled ? true : false,\n schemaPath,\n updateLastEdited,\n },\n serverURL,\n })\n\n setDocumentIsLocked(true)\n\n if (isLockingEnabled) {\n const previousOwnerId =\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id\n : documentLockStateRef.current?.user\n\n if (lockedState) {\n if (!documentLockStateRef.current || lockedState.user.id !== previousOwnerId) {\n if (previousOwnerId === user.id && lockedState.user.id !== user.id) {\n setShowTakeOverModal(true)\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n documentLockStateRef.current = documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user,\n }\n setCurrentEditor(lockedState.user)\n }\n }\n }\n\n return state\n },\n [\n collectionSlug,\n editSessionStartTime,\n globalSlug,\n serverURL,\n apiRoute,\n id,\n isLockingEnabled,\n operation,\n schemaPath,\n getDocPreferences,\n setCurrentEditor,\n setDocumentIsLocked,\n user,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (!isLockingEnabled) {\n return\n }\n\n const currentPath = window.location.pathname\n\n const documentId = id || globalSlug\n\n // Routes where we do NOT want to unlock the document\n const stayWithinDocumentPaths = ['preview', 'api', 'versions']\n\n const isStayingWithinDocument = stayWithinDocumentPaths.some((path) =>\n currentPath.includes(path),\n )\n\n // Unlock the document only if we're actually navigating away from the document\n if (documentId && documentIsLocked && !isStayingWithinDocument) {\n // Check if this user is still the current editor\n if (\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id === user?.id\n : documentLockStateRef.current?.user === user?.id\n ) {\n void unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n }\n }\n\n setShowTakeOverModal(false)\n }\n }, [\n collectionSlug,\n globalSlug,\n id,\n unlockDocument,\n user,\n setCurrentEditor,\n isLockingEnabled,\n documentIsLocked,\n setDocumentIsLocked,\n ])\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n // eslint-disable-next-line react-compiler/react-compiler\n !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || !hasSavePermission}\n initialState={initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n )\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {((collectionConfig &&\n !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave)) ||\n (globalConfig &&\n !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave))) &&\n !disableLeaveWithoutSaving &&\n !isReadOnlyForIncomingUser && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view={t('general:livePreview')}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={id?.toString() || ''}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={initialData}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\n )\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <div\n className={[baseClass, previewWindowType === 'popup' && `${baseClass}--detached`]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n {BeforeDocument}\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={BeforeFields}\n docPermissions={docPermissions}\n fields={fields}\n forceSidebarWrap\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPath={collectionSlug || globalSlug}\n />\n {AfterDocument}\n </div>\n <LivePreview collectionSlug={collectionSlug} globalSlug={globalSlug} />\n </div>\n </Form>\n </OperationProvider>\n )\n}\n\nexport const LivePreviewClient: React.FC<{\n readonly breakpoints: LivePreviewConfig['breakpoints']\n readonly initialData: Data\n readonly url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const {\n config,\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const schemaPath = collectionSlug || globalSlug\n\n return (\n <Fragment>\n <SetViewActions\n actions={\n (collectionConfig || globalConfig)?.admin?.components?.views?.edit?.livePreview?.actions\n }\n />\n <LivePreviewProvider\n breakpoints={breakpoints}\n fieldSchema={collectionConfig?.fields || globalConfig?.fields}\n isPopupOpen={isPopupOpen}\n openPopupWindow={openPopupWindow}\n popupRef={popupRef}\n url={url}\n >\n <PreviewView\n apiRoute={apiRoute}\n collectionConfig={collectionConfig}\n config={config}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.client.js","names":["c","_c","DocumentControls","DocumentFields","DocumentLocked","DocumentTakeOver","Form","LeaveWithoutSaving","OperationProvider","SetDocumentStepNav","SetDocumentTitle","useAuth","useConfig","useDocumentDrawerContext","useDocumentEvents","useDocumentInfo","useServerFunctions","useTranslation","abortAndIgnore","handleBackToDashboard","handleGoBack","handleTakeOver","useRouter","React","Fragment","useCallback","useEffect","useRef","useState","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","collectionConfig","config","fields","globalConfig","schemaPath","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","disableActions","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","initialData","initialState","isEditing","isInitializing","lastUpdateTime","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","getFormState","onSave","onSaveFromProps","operation","admin","user","userSlug","routes","adminRoute","router","t","previewWindowType","refreshCookieAsync","reportUpdate","docConfig","lockDocumentsProp","lockDocuments","undefined","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","formStateAbortControllerRef","AbortController","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","json","entitySlug","updatedAt","result","toISOString","onChange","formState","prevFormState","current","controller","currentTime","timeSinceLastUpdate","updateLastEdited","docPreferences","lockedState","state","returnLockStatus","signal","previousOwnerId","lockedUserID","currentPath","window","location","pathname","documentId","stayWithinDocumentPaths","isStayingWithinDocument","some","path","includes","shouldShowDocumentLockedModal","_jsx","_jsxs","className","disabled","method","onSuccess","isActive","onReadOnly","onTakeOver","versions","drafts","autosave","globalLabel","label","pluralLabel","labels","plural","useAsTitle","view","fallback","toString","data","permissions","readOnlyForIncomingUser","slug","filter","Boolean","join","forceSidebarWrap","readOnly","schemaPathSegments","LivePreviewClient","props","$","breakpoints","url","t0","getEntityConfig","t1","serverURL","api","apiRoute","t2","eventType","isPopupOpen","openPopupWindow","popupRef","t3","children","fieldSchema"],"sources":["../../../src/views/LivePreview/index.client.tsx"],"sourcesContent":["'use client'\nimport type { FormProps } from '@payloadcms/ui'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n ClientGlobalConfig,\n ClientUser,\n Data,\n LivePreviewConfig,\n} from 'payload'\n\nimport {\n DocumentControls,\n DocumentFields,\n DocumentLocked,\n DocumentTakeOver,\n Form,\n LeaveWithoutSaving,\n OperationProvider,\n SetDocumentStepNav,\n SetDocumentTitle,\n useAuth,\n useConfig,\n useDocumentDrawerContext,\n useDocumentEvents,\n useDocumentInfo,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport {\n abortAndIgnore,\n handleBackToDashboard,\n handleGoBack,\n handleTakeOver,\n} from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useLivePreviewContext } from './Context/context.js'\nimport { LivePreviewProvider } from './Context/index.js'\nimport './index.scss'\nimport { LivePreview } from './Preview/index.js'\nimport { usePopupWindow } from './usePopupWindow.js'\n\nconst baseClass = 'live-preview'\n\ntype Props = {\n readonly apiRoute: string\n readonly collectionConfig?: ClientCollectionConfig\n readonly config: ClientConfig\n readonly fields: ClientField[]\n readonly globalConfig?: ClientGlobalConfig\n readonly schemaPath: string\n readonly serverURL: string\n}\n\nconst PreviewView: React.FC<Props> = ({\n collectionConfig,\n config,\n fields,\n globalConfig,\n schemaPath,\n}) => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n initialData,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n } = useDocumentInfo()\n\n const { getFormState } = useServerFunctions()\n\n const { onSave: onSaveFromProps } = useDocumentDrawerContext()\n\n const operation = id ? 'update' : 'create'\n\n const {\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n } = useConfig()\n const router = useRouter()\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n const { refreshCookieAsync, user } = useAuth()\n const { reportUpdate } = useDocumentEvents()\n\n const docConfig = collectionConfig || globalConfig\n\n const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true\n const isLockingEnabled = lockDocumentsProp !== false\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const formStateAbortControllerRef = useRef(new AbortController())\n\n const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now())\n\n const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds\n\n const isLockExpired = Date.now() > lockExpiryTime\n\n const documentLockStateRef = useRef<{\n hasShownLockedModal: boolean\n isLocked: boolean\n user: ClientUser | number | string\n } | null>({\n hasShownLockedModal: false,\n isLocked: false,\n user: null,\n })\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n id,\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n // If we're editing the doc of the logged-in user,\n // Refresh the cookie to get new permissions\n if (user && collectionSlug === userSlug && id === user.id) {\n void refreshCookieAsync()\n }\n\n // Unlock the document after save\n if ((id || globalSlug) && isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n },\n [\n collectionSlug,\n globalSlug,\n id,\n isLockingEnabled,\n onSaveFromProps,\n refreshCookieAsync,\n reportUpdate,\n setDocumentIsLocked,\n user,\n userSlug,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n abortAndIgnore(formStateAbortControllerRef.current)\n\n const controller = new AbortController()\n formStateAbortControllerRef.current = controller\n\n const currentTime = Date.now()\n const timeSinceLastUpdate = currentTime - editSessionStartTime\n\n const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds\n\n if (updateLastEdited) {\n setEditSessionStartTime(currentTime)\n }\n\n const docPreferences = await getDocPreferences()\n\n const { lockedState, state } = await getFormState({\n id,\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n globalSlug,\n operation,\n returnLockStatus: isLockingEnabled ? true : false,\n schemaPath,\n signal: controller.signal,\n updateLastEdited,\n })\n\n setDocumentIsLocked(true)\n\n if (isLockingEnabled) {\n const previousOwnerId =\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id\n : documentLockStateRef.current?.user\n\n if (lockedState) {\n const lockedUserID =\n typeof lockedState.user === 'string' || typeof lockedState.user === 'number'\n ? lockedState.user\n : lockedState.user.id\n\n if (!documentLockStateRef.current || lockedUserID !== previousOwnerId) {\n if (previousOwnerId === user.id && lockedUserID !== user.id) {\n setShowTakeOverModal(true)\n documentLockStateRef.current.hasShownLockedModal = true\n }\n\n documentLockStateRef.current = documentLockStateRef.current = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n\n setCurrentEditor(lockedState.user as ClientUser)\n }\n }\n }\n\n return state\n },\n [\n editSessionStartTime,\n isLockingEnabled,\n getDocPreferences,\n getFormState,\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n operation,\n schemaPath,\n setDocumentIsLocked,\n user.id,\n setCurrentEditor,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (!isLockingEnabled) {\n return\n }\n\n const currentPath = window.location.pathname\n\n const documentId = id || globalSlug\n\n // Routes where we do NOT want to unlock the document\n const stayWithinDocumentPaths = ['preview', 'api', 'versions']\n\n const isStayingWithinDocument = stayWithinDocumentPaths.some((path) =>\n currentPath.includes(path),\n )\n\n // Unlock the document only if we're actually navigating away from the document\n if (documentId && documentIsLocked && !isStayingWithinDocument) {\n // Check if this user is still the current editor\n if (\n typeof documentLockStateRef.current?.user === 'object'\n ? documentLockStateRef.current?.user?.id === user?.id\n : documentLockStateRef.current?.user === user?.id\n ) {\n void unlockDocument(id, collectionSlug ?? globalSlug)\n setDocumentIsLocked(false)\n setCurrentEditor(null)\n }\n }\n\n setShowTakeOverModal(false)\n }\n }, [\n collectionSlug,\n globalSlug,\n id,\n unlockDocument,\n user,\n setCurrentEditor,\n isLockingEnabled,\n documentIsLocked,\n setDocumentIsLocked,\n ])\n\n useEffect(() => {\n return () => {\n abortAndIgnore(formStateAbortControllerRef.current)\n }\n })\n\n const shouldShowDocumentLockedModal =\n documentIsLocked &&\n currentEditor &&\n (typeof currentEditor === 'object'\n ? currentEditor.id !== user?.id\n : currentEditor !== user?.id) &&\n !isReadOnlyForIncomingUser &&\n !showTakeOverModal &&\n // eslint-disable-next-line react-compiler/react-compiler\n !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || !hasSavePermission}\n initialState={initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && (\n <DocumentLocked\n handleGoBack={() => handleGoBack({ adminRoute, collectionSlug, router })}\n isActive={shouldShowDocumentLockedModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n false,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n )\n }\n updatedAt={lastUpdateTime}\n user={currentEditor}\n />\n )}\n {isLockingEnabled && showTakeOverModal && (\n <DocumentTakeOver\n handleBackToDashboard={() => handleBackToDashboard({ adminRoute, router })}\n isActive={showTakeOverModal}\n onReadOnly={() => {\n setIsReadOnlyForIncomingUser(true)\n setShowTakeOverModal(false)\n }}\n />\n )}\n {((collectionConfig &&\n !(collectionConfig.versions?.drafts && collectionConfig.versions?.drafts?.autosave)) ||\n (globalConfig &&\n !(globalConfig.versions?.drafts && globalConfig.versions?.drafts?.autosave))) &&\n !disableLeaveWithoutSaving &&\n !isReadOnlyForIncomingUser && <LeaveWithoutSaving />}\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view={t('general:livePreview')}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={id?.toString() || ''}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n data={initialData}\n disableActions={disableActions}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onTakeOver={() =>\n handleTakeOver(\n id,\n collectionSlug,\n globalSlug,\n user,\n true,\n updateDocumentEditor,\n setCurrentEditor,\n documentLockStateRef,\n isLockingEnabled,\n setIsReadOnlyForIncomingUser,\n )\n }\n permissions={docPermissions}\n readOnlyForIncomingUser={isReadOnlyForIncomingUser}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <div\n className={[baseClass, previewWindowType === 'popup' && `${baseClass}--detached`]\n .filter(Boolean)\n .join(' ')}\n >\n <div\n className={[\n `${baseClass}__main`,\n previewWindowType === 'popup' && `${baseClass}__main--popup-open`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={BeforeFields}\n docPermissions={docPermissions}\n fields={fields}\n forceSidebarWrap\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPathSegments={[collectionSlug || globalSlug]}\n />\n {AfterDocument}\n </div>\n <LivePreview collectionSlug={collectionSlug} globalSlug={globalSlug} />\n </div>\n </Form>\n </OperationProvider>\n )\n}\n\nexport const LivePreviewClient: React.FC<{\n readonly breakpoints: LivePreviewConfig['breakpoints']\n readonly initialData: Data\n readonly url: string\n}> = (props) => {\n const { breakpoints, url } = props\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const {\n config,\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const schemaPath = collectionSlug || globalSlug\n\n return (\n <Fragment>\n <LivePreviewProvider\n breakpoints={breakpoints}\n fieldSchema={collectionConfig?.fields || globalConfig?.fields}\n isPopupOpen={isPopupOpen}\n openPopupWindow={openPopupWindow}\n popupRef={popupRef}\n url={url}\n >\n <PreviewView\n apiRoute={apiRoute}\n collectionConfig={collectionConfig}\n config={config}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n schemaPath={schemaPath}\n serverURL={serverURL}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,SAAS,CAAA;AAIxD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,GAAG,UAAU,CAAA;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Login/LoginField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,SAAS,CAAA;AAIxD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,GAAG,UAAU,CAAA;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0DhD,CAAA"}
|
|
@@ -19,9 +19,11 @@ export const LoginField = t0 => {
|
|
|
19
19
|
let t2;
|
|
20
20
|
if ($[0] !== t || $[1] !== required) {
|
|
21
21
|
t2 = _jsx(EmailField, {
|
|
22
|
-
autoComplete: "email",
|
|
23
22
|
field: {
|
|
24
23
|
name: "email",
|
|
24
|
+
admin: {
|
|
25
|
+
autoComplete: "email"
|
|
26
|
+
},
|
|
25
27
|
label: t("general:email"),
|
|
26
28
|
required
|
|
27
29
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","EmailField","TextField","useTranslation","email","username","React","LoginField","t0","$","type","required","t1","undefined","t","t2","_jsx","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","EmailField","TextField","useTranslation","email","username","React","LoginField","t0","$","type","required","t1","undefined","t","t2","_jsx","field","name","admin","autoComplete","label","validate","t3","value","options","passesUsername","passesEmail"],"sources":["../../../../src/views/Login/LoginField/index.tsx"],"sourcesContent":["'use client'\nimport type { Validate, ValidateOptions } from 'payload'\n\nimport { EmailField, TextField, useTranslation } from '@payloadcms/ui'\nimport { email, username } from 'payload/shared'\nimport React from 'react'\n\nexport type LoginFieldProps = {\n readonly required?: boolean\n readonly type: 'email' | 'emailOrUsername' | 'username'\n readonly validate?: Validate\n}\n\nexport const LoginField: React.FC<LoginFieldProps> = ({ type, required = true }) => {\n const { t } = useTranslation()\n\n if (type === 'email') {\n return (\n <EmailField\n field={{\n name: 'email',\n admin: {\n autoComplete: 'email',\n },\n label: t('general:email'),\n required,\n }}\n validate={email}\n />\n )\n }\n\n if (type === 'username') {\n return (\n <TextField\n field={{\n name: 'username',\n label: t('authentication:username'),\n required,\n }}\n validate={username}\n />\n )\n }\n\n if (type === 'emailOrUsername') {\n return (\n <TextField\n field={{\n name: 'username',\n label: t('authentication:emailOrUsername'),\n required,\n }}\n validate={(value, options) => {\n const passesUsername = username(value, options)\n const passesEmail = email(\n value,\n options as ValidateOptions<any, { username?: string }, any, any>,\n )\n\n if (!passesEmail && !passesUsername) {\n return `${t('general:email')}: ${passesEmail} ${t('general:username')}: ${passesUsername}`\n }\n\n return true\n }}\n />\n )\n }\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,UAAU,EAAEC,SAAS,EAAEC,cAAc,QAAQ;AACtD,SAASC,KAAK,EAAEC,QAAQ,QAAQ;AAChC,OAAOC,KAAA,MAAW;AAQlB,OAAO,MAAMC,UAAA,GAAwCC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,IAAA;IAAAC,QAAA,EAAAC;EAAA,IAAAJ,EAAyB;EAAjB,MAAAG,QAAA,GAAAC,EAAe,KAAAC,SAAA,UAAfD,EAAe;EAC3E;IAAAE;EAAA,IAAcX,cAAA;EAAA,IAEVO,IAAA,KAAS;IAAA,IAAAK,EAAA;IAAA,IAAAN,CAAA,QAAAK,CAAA,IAAAL,CAAA,QAAAE,QAAA;MAETI,EAAA,GAAAC,IAAA,CAAAf,UAAA;QAAAgB,KAAA;UAAAC,IAAA,EAEU;UAAAC,KAAA;YAAAC,YAAA,EAEU;UAAA;UAAAC,KAAA,EAETP,CAAA,CAAE;UAAAH;QAAA;QAAAW,QAAA,EAAAlB;MAAA,C;;;;;;;WANbW,E;;MAcAL,IAAA,KAAS;IAAA,IAAAK,EAAA;IAAA,IAAAN,CAAA,QAAAK,CAAA,IAAAL,CAAA,QAAAE,QAAA;MAETI,EAAA,GAAAC,IAAA,CAAAd,SAAA;QAAAe,KAAA;UAAAC,IAAA,EAEU;UAAAG,KAAA,EACCP,CAAA,CAAE;UAAAH;QAAA;QAAAW,QAAA,EAAAjB;MAAA,C;;;;;;;WAHbU,E;;MAWAL,IAAA,KAAS;IAAA,IAAAK,EAAA;IAAA,IAAAN,CAAA,QAAAK,CAAA,IAAAL,CAAA,QAAAE,QAAA;MAAA,IAAAY,EAAA;MAAA,IAAAd,CAAA,QAAAK,CAAA;QAQGS,EAAA,GAAAA,CAAAC,KAAA,EAAAC,OAAA;UACR,MAAAC,cAAA,GAAuBrB,QAAA,CAASmB,KAAA,EAAOC,OAAA;UACvC,MAAAE,WAAA,GAAoBvB,KAAA,CAClBoB,KAAA,EACAC,OAAA;UAAA,IAGE,CAACE,WAAA,KAAgBD,cAAA;YAAA,OACZ,GAAGZ,CAAA,CAAE,qBAAqBa,WAAA,IAAeb,CAAA,CAAE,wBAAwBY,cAAA,EAAgB;UAAA;UAAA;QAAA;QAI9FjB,CAAA,MAAAK,CAAA;QAAAL,CAAA,OAAAc,EAAA;MAAA;QAAAA,EAAA,GAAAd,CAAA;MAAA;MAlBFM,EAAA,GAAAC,IAAA,CAAAd,SAAA;QAAAe,KAAA;UAAAC,IAAA,EAEU;UAAAG,KAAA,EACCP,CAAA,CAAE;UAAAH;QAAA;QAAAW,QAAA,EAGDC;MAYV,C;;;;;;;WAlBFR,E;;;CAwBN","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Login/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,eAAO,MAAM,cAAc,UAAU,CAAA;AAErC,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Login/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,eAAO,MAAM,cAAc,UAAU,CAAA;AAErC,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAyF9C,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
3
3
|
import { redirect } from 'next/navigation.js';
|
|
4
4
|
import React, { Fragment } from 'react';
|
|
5
5
|
import { Logo } from '../../elements/Logo/index.js';
|
|
@@ -37,20 +37,6 @@ export const LoginView = ({
|
|
|
37
37
|
admin
|
|
38
38
|
}
|
|
39
39
|
} = config;
|
|
40
|
-
const createMappedComponent = getCreateMappedComponent({
|
|
41
|
-
importMap: payload.importMap,
|
|
42
|
-
serverProps: {
|
|
43
|
-
i18n,
|
|
44
|
-
locale,
|
|
45
|
-
params,
|
|
46
|
-
payload,
|
|
47
|
-
permissions,
|
|
48
|
-
searchParams,
|
|
49
|
-
user
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
const mappedBeforeLogins = createMappedComponent(beforeLogin, undefined, undefined, 'beforeLogin');
|
|
53
|
-
const mappedAfterLogins = createMappedComponent(afterLogin, undefined, undefined, 'afterLogin');
|
|
54
40
|
if (user) {
|
|
55
41
|
redirect(searchParams.redirect || admin);
|
|
56
42
|
}
|
|
@@ -73,15 +59,35 @@ export const LoginView = ({
|
|
|
73
59
|
searchParams: searchParams,
|
|
74
60
|
user: user
|
|
75
61
|
})
|
|
76
|
-
}), /*#__PURE__*/_jsx(
|
|
77
|
-
|
|
62
|
+
}), /*#__PURE__*/_jsx(RenderServerComponent, {
|
|
63
|
+
Component: beforeLogin,
|
|
64
|
+
importMap: payload.importMap,
|
|
65
|
+
serverProps: {
|
|
66
|
+
i18n,
|
|
67
|
+
locale,
|
|
68
|
+
params,
|
|
69
|
+
payload,
|
|
70
|
+
permissions,
|
|
71
|
+
searchParams,
|
|
72
|
+
user
|
|
73
|
+
}
|
|
78
74
|
}), !collectionConfig?.auth?.disableLocalStrategy && /*#__PURE__*/_jsx(LoginForm, {
|
|
79
75
|
prefillEmail: prefillEmail,
|
|
80
76
|
prefillPassword: prefillPassword,
|
|
81
77
|
prefillUsername: prefillUsername,
|
|
82
78
|
searchParams: searchParams
|
|
83
|
-
}), /*#__PURE__*/_jsx(
|
|
84
|
-
|
|
79
|
+
}), /*#__PURE__*/_jsx(RenderServerComponent, {
|
|
80
|
+
Component: afterLogin,
|
|
81
|
+
importMap: payload.importMap,
|
|
82
|
+
serverProps: {
|
|
83
|
+
i18n,
|
|
84
|
+
locale,
|
|
85
|
+
params,
|
|
86
|
+
payload,
|
|
87
|
+
permissions,
|
|
88
|
+
searchParams,
|
|
89
|
+
user
|
|
90
|
+
}
|
|
85
91
|
})]
|
|
86
92
|
});
|
|
87
93
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["RenderServerComponent","redirect","React","Fragment","Logo","LoginForm","generateLoginMetadata","loginBaseClass","LoginView","initPageResult","params","searchParams","locale","permissions","req","i18n","payload","config","user","admin","components","afterLogin","beforeLogin","userSlug","collections","routes","collectionConfig","find","slug","prefillAutoLogin","autoLogin","prefillOnly","prefillUsername","username","undefined","prefillEmail","email","prefillPassword","password","_jsxs","_jsx","className","Component","importMap","serverProps","auth","disableLocalStrategy"],"sources":["../../../src/views/Login/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\nimport './index.scss'\nimport { LoginForm } from './LoginForm/index.js'\n\nexport { generateLoginMetadata } from './meta.js'\n\nexport const loginBaseClass = 'login'\n\nexport const LoginView: React.FC<AdminViewProps> = ({ initPageResult, params, searchParams }) => {\n const { locale, permissions, req } = initPageResult\n\n const {\n i18n,\n payload: { config },\n payload,\n user,\n } = req\n\n const {\n admin: { components: { afterLogin, beforeLogin } = {}, user: userSlug },\n collections,\n routes: { admin },\n } = config\n\n if (user) {\n redirect((searchParams.redirect as string) || admin)\n }\n\n const collectionConfig = collections.find(({ slug }) => slug === userSlug)\n\n const prefillAutoLogin =\n typeof config.admin?.autoLogin === 'object' && config.admin?.autoLogin.prefillOnly\n\n const prefillUsername =\n prefillAutoLogin && typeof config.admin?.autoLogin === 'object'\n ? config.admin?.autoLogin.username\n : undefined\n\n const prefillEmail =\n prefillAutoLogin && typeof config.admin?.autoLogin === 'object'\n ? config.admin?.autoLogin.email\n : undefined\n\n const prefillPassword =\n prefillAutoLogin && typeof config.admin?.autoLogin === 'object'\n ? config.admin?.autoLogin.password\n : undefined\n\n return (\n <Fragment>\n <div className={`${loginBaseClass}__brand`}>\n <Logo\n i18n={i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={user}\n />\n </div>\n <RenderServerComponent\n Component={beforeLogin}\n importMap={payload.importMap}\n serverProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n {!collectionConfig?.auth?.disableLocalStrategy && (\n <LoginForm\n prefillEmail={prefillEmail}\n prefillPassword={prefillPassword}\n prefillUsername={prefillUsername}\n searchParams={searchParams}\n />\n )}\n <RenderServerComponent\n Component={afterLogin}\n importMap={payload.importMap}\n serverProps={{\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }}\n />\n </Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,qBAAqB,QAAQ;AACtC,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,IAAI,QAAQ;AAErB,SAASC,SAAS,QAAQ;AAE1B,SAASC,qBAAqB,QAAQ;AAEtC,OAAO,MAAMC,cAAA,GAAiB;AAE9B,OAAO,MAAMC,SAAA,GAAsCA,CAAC;EAAEC,cAAc;EAAEC,MAAM;EAAEC;AAAY,CAAE;EAC1F,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC;EAAG,CAAE,GAAGL,cAAA;EAErC,MAAM;IACJM,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBD,OAAO;IACPE;EAAI,CACL,GAAGJ,GAAA;EAEJ,MAAM;IACJK,KAAA,EAAO;MAAEC,UAAA,EAAY;QAAEC,UAAU;QAAEC;MAAW,CAAE,GAAG,CAAC,CAAC;MAAEJ,IAAA,EAAMK;IAAQ,CAAE;IACvEC,WAAW;IACXC,MAAA,EAAQ;MAAEN;IAAK;EAAE,CAClB,GAAGF,MAAA;EAEJ,IAAIC,IAAA,EAAM;IACRjB,QAAA,CAASU,YAAC,CAAaV,QAAQ,IAAekB,KAAA;EAChD;EAEA,MAAMO,gBAAA,GAAmBF,WAAA,CAAYG,IAAI,CAAC,CAAC;IAAEC;EAAI,CAAE,KAAKA,IAAA,KAASL,QAAA;EAEjE,MAAMM,gBAAA,GACJ,OAAOZ,MAAA,CAAOE,KAAK,EAAEW,SAAA,KAAc,YAAYb,MAAA,CAAOE,KAAK,EAAEW,SAAA,CAAUC,WAAA;EAEzE,MAAMC,eAAA,GACJH,gBAAA,IAAoB,OAAOZ,MAAA,CAAOE,KAAK,EAAEW,SAAA,KAAc,WACnDb,MAAA,CAAOE,KAAK,EAAEW,SAAA,CAAUG,QAAA,GACxBC,SAAA;EAEN,MAAMC,YAAA,GACJN,gBAAA,IAAoB,OAAOZ,MAAA,CAAOE,KAAK,EAAEW,SAAA,KAAc,WACnDb,MAAA,CAAOE,KAAK,EAAEW,SAAA,CAAUM,KAAA,GACxBF,SAAA;EAEN,MAAMG,eAAA,GACJR,gBAAA,IAAoB,OAAOZ,MAAA,CAAOE,KAAK,EAAEW,SAAA,KAAc,WACnDb,MAAA,CAAOE,KAAK,EAAEW,SAAA,CAAUQ,QAAA,GACxBJ,SAAA;EAEN,oBACEK,KAAA,CAACpC,QAAA;4BACCqC,IAAA,CAAC;MAAIC,SAAA,EAAW,GAAGlC,cAAA,SAAuB;gBACxC,aAAAiC,IAAA,CAACpC,IAAA;QACCW,IAAA,EAAMA,IAAA;QACNH,MAAA,EAAQA,MAAA;QACRF,MAAA,EAAQA,MAAA;QACRM,OAAA,EAASA,OAAA;QACTH,WAAA,EAAaA,WAAA;QACbF,YAAA,EAAcA,YAAA;QACdO,IAAA,EAAMA;;qBAGVsB,IAAA,CAACxC,qBAAA;MACC0C,SAAA,EAAWpB,WAAA;MACXqB,SAAA,EAAW3B,OAAA,CAAQ2B,SAAS;MAC5BC,WAAA,EAAa;QACX7B,IAAA;QACAH,MAAA;QACAF,MAAA;QACAM,OAAA;QACAH,WAAA;QACAF,YAAA;QACAO;MACF;QAED,CAACQ,gBAAA,EAAkBmB,IAAA,EAAMC,oBAAA,iBACxBN,IAAA,CAACnC,SAAA;MACC8B,YAAA,EAAcA,YAAA;MACdE,eAAA,EAAiBA,eAAA;MACjBL,eAAA,EAAiBA,eAAA;MACjBrB,YAAA,EAAcA;qBAGlB6B,IAAA,CAACxC,qBAAA;MACC0C,SAAA,EAAWrB,UAAA;MACXsB,SAAA,EAAW3B,OAAA,CAAQ2B,SAAS;MAC5BC,WAAA,EAAa;QACX7B,IAAA;QACAH,MAAA;QACAF,MAAA;QACAM,OAAA;QACAH,WAAA;QACAF,YAAA;QACAO;MACF;;;AAIR","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ResetPassword/ResetPasswordForm/index.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAeD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/ResetPassword/ResetPasswordForm/index.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,KAAK,IAAI,GAAG;IACV,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAeD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAsE5C,CAAA"}
|
|
@@ -19,7 +19,7 @@ const initialState = {
|
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
21
|
export const ResetPasswordForm = t0 => {
|
|
22
|
-
const $ = _c(
|
|
22
|
+
const $ = _c(11);
|
|
23
23
|
const {
|
|
24
24
|
token
|
|
25
25
|
} = t0;
|
|
@@ -71,7 +71,7 @@ export const ResetPasswordForm = t0 => {
|
|
|
71
71
|
const onSuccess = t5;
|
|
72
72
|
const t6 = `${serverURL}${apiRoute}/${userSlug}/reset-password`;
|
|
73
73
|
let t7;
|
|
74
|
-
if ($[5] !== i18n || $[6] !==
|
|
74
|
+
if ($[5] !== i18n || $[6] !== userSlug || $[7] !== token || $[8] !== t6 || $[9] !== onSuccess) {
|
|
75
75
|
t7 = _jsxs(Form, {
|
|
76
76
|
action: t6,
|
|
77
77
|
initialState,
|
|
@@ -84,12 +84,25 @@ export const ResetPasswordForm = t0 => {
|
|
|
84
84
|
name: "password",
|
|
85
85
|
label: i18n.t("authentication:newPassword"),
|
|
86
86
|
required: true
|
|
87
|
-
}
|
|
87
|
+
},
|
|
88
|
+
indexPath: "",
|
|
89
|
+
parentPath: "",
|
|
90
|
+
parentSchemaPath: "",
|
|
91
|
+
path: "password",
|
|
92
|
+
schemaPath: `${userSlug}.password`
|
|
88
93
|
}), _jsx(ConfirmPasswordField, {}), _jsx(HiddenField, {
|
|
89
94
|
field: {
|
|
90
|
-
name: "token"
|
|
95
|
+
name: "token",
|
|
96
|
+
type: "text",
|
|
97
|
+
admin: {
|
|
98
|
+
hidden: true
|
|
99
|
+
}
|
|
91
100
|
},
|
|
92
|
-
|
|
101
|
+
indexPath: "",
|
|
102
|
+
parentPath: userSlug,
|
|
103
|
+
parentSchemaPath: userSlug,
|
|
104
|
+
path: "token",
|
|
105
|
+
schemaPath: `${userSlug}.token`,
|
|
93
106
|
value: token
|
|
94
107
|
})]
|
|
95
108
|
}), _jsx(FormSubmit, {
|
|
@@ -98,12 +111,13 @@ export const ResetPasswordForm = t0 => {
|
|
|
98
111
|
})]
|
|
99
112
|
});
|
|
100
113
|
$[5] = i18n;
|
|
101
|
-
$[6] =
|
|
102
|
-
$[7] =
|
|
103
|
-
$[8] =
|
|
104
|
-
$[9] =
|
|
114
|
+
$[6] = userSlug;
|
|
115
|
+
$[7] = token;
|
|
116
|
+
$[8] = t6;
|
|
117
|
+
$[9] = onSuccess;
|
|
118
|
+
$[10] = t7;
|
|
105
119
|
} else {
|
|
106
|
-
t7 = $[
|
|
120
|
+
t7 = $[10];
|
|
107
121
|
}
|
|
108
122
|
return t7;
|
|
109
123
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","ConfirmPasswordField","Form","FormSubmit","HiddenField","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","useRouter","React","initialState","initialValue","valid","value","password","ResetPasswordForm","t0","$","token","i18n","config","t1","admin","t2","routes","t3","serverURL","t4","user","userSlug","login","loginRoute","adminRoute","api","apiRoute","history","fetchFullUser","t5","push","path","onSuccess","t6","t7","_jsxs","action","method","children","className","_jsx","field","name","label","t","required","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","ConfirmPasswordField","Form","FormSubmit","HiddenField","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","useRouter","React","initialState","initialValue","valid","value","password","ResetPasswordForm","t0","$","token","i18n","config","t1","admin","t2","routes","t3","serverURL","t4","user","userSlug","login","loginRoute","adminRoute","api","apiRoute","history","fetchFullUser","t5","push","path","onSuccess","t6","t7","_jsxs","action","method","children","className","_jsx","field","name","label","t","required","indexPath","parentPath","parentSchemaPath","schemaPath","type","hidden","size"],"sources":["../../../../src/views/ResetPassword/ResetPasswordForm/index.tsx"],"sourcesContent":["'use client'\nimport {\n ConfirmPasswordField,\n Form,\n FormSubmit,\n HiddenField,\n PasswordField,\n useAuth,\n useConfig,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport { type FormState } from 'payload'\nimport React from 'react'\n\ntype Args = {\n readonly token: string\n}\n\nconst initialState: FormState = {\n 'confirm-password': {\n initialValue: '',\n valid: false,\n value: '',\n },\n password: {\n initialValue: '',\n valid: false,\n value: '',\n },\n}\n\nexport const ResetPasswordForm: React.FC<Args> = ({ token }) => {\n const i18n = useTranslation()\n const {\n config: {\n admin: {\n routes: { login: loginRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const history = useRouter()\n const { fetchFullUser } = useAuth()\n\n const onSuccess = React.useCallback(async () => {\n const user = await fetchFullUser()\n if (user) {\n history.push(adminRoute)\n } else {\n history.push(\n formatAdminURL({\n adminRoute,\n path: loginRoute,\n }),\n )\n }\n }, [adminRoute, fetchFullUser, history, loginRoute])\n\n return (\n <Form\n action={`${serverURL}${apiRoute}/${userSlug}/reset-password`}\n initialState={initialState}\n method=\"POST\"\n onSuccess={onSuccess}\n >\n <div className=\"inputWrap\">\n <PasswordField\n field={{\n name: 'password',\n label: i18n.t('authentication:newPassword'),\n required: true,\n }}\n indexPath=\"\"\n parentPath=\"\"\n parentSchemaPath=\"\"\n path=\"password\"\n schemaPath={`${userSlug}.password`}\n />\n <ConfirmPasswordField />\n <HiddenField\n field={{\n name: 'token',\n type: 'text',\n admin: {\n hidden: true,\n },\n }}\n indexPath=\"\"\n parentPath={userSlug}\n parentSchemaPath={userSlug}\n path=\"token\"\n schemaPath={`${userSlug}.token`}\n value={token}\n />\n </div>\n <FormSubmit size=\"large\">{i18n.t('authentication:resetPassword')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AdminViewComponent, AdminViewProps, ImportMap, SanitizedConfig } from 'payload';
|
|
1
|
+
import type { AdminViewComponent, AdminViewProps, CustomComponent, ImportMap, SanitizedConfig } from 'payload';
|
|
2
2
|
import type React from 'react';
|
|
3
3
|
import type { initPage } from '../../utilities/initPage/index.js';
|
|
4
4
|
export type ViewFromConfig = {
|
|
@@ -17,7 +17,9 @@ export declare const getViewFromConfig: ({ adminRoute, config, currentRoute, imp
|
|
|
17
17
|
}) => {
|
|
18
18
|
DefaultView: ViewFromConfig;
|
|
19
19
|
initPageOptions: Parameters<typeof initPage>[0];
|
|
20
|
+
serverProps: Record<string, unknown>;
|
|
20
21
|
templateClassName: string;
|
|
21
22
|
templateType: "default" | "minimal";
|
|
23
|
+
viewActions?: CustomComponent[];
|
|
22
24
|
};
|
|
23
25
|
//# sourceMappingURL=getViewFromConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EAEf,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AA4BjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACpC,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC,CAAA;AA0BD,eAAO,MAAM,iBAAiB,6EAO3B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,KAAG;IACF,WAAW,EAAE,cAAc,CAAA;IAC3B,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;CAkShC,CAAA"}
|
|
@@ -28,6 +28,15 @@ const oneSegmentViews = {
|
|
|
28
28
|
logout: LogoutView,
|
|
29
29
|
unauthorized: UnauthorizedView
|
|
30
30
|
};
|
|
31
|
+
function getViewActions({
|
|
32
|
+
editConfig,
|
|
33
|
+
viewKey
|
|
34
|
+
}) {
|
|
35
|
+
if (editConfig && viewKey in editConfig && 'actions' in editConfig[viewKey]) {
|
|
36
|
+
return editConfig[viewKey].actions;
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
31
40
|
export const getViewFromConfig = ({
|
|
32
41
|
adminRoute,
|
|
33
42
|
config,
|
|
@@ -45,9 +54,29 @@ export const getViewFromConfig = ({
|
|
|
45
54
|
route: currentRoute,
|
|
46
55
|
searchParams
|
|
47
56
|
};
|
|
48
|
-
|
|
57
|
+
let viewActions = config?.admin?.components?.actions || [];
|
|
58
|
+
const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive] = segments;
|
|
49
59
|
const isGlobal = segmentOne === 'globals';
|
|
50
60
|
const isCollection = segmentOne === 'collections';
|
|
61
|
+
let matchedCollection = undefined;
|
|
62
|
+
let matchedGlobal = undefined;
|
|
63
|
+
let serverProps = {};
|
|
64
|
+
if (isCollection) {
|
|
65
|
+
matchedCollection = config.collections.find(({
|
|
66
|
+
slug
|
|
67
|
+
}) => slug === segmentTwo);
|
|
68
|
+
serverProps = {
|
|
69
|
+
collectionConfig: matchedCollection
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
if (isGlobal) {
|
|
73
|
+
matchedGlobal = config.globals.find(({
|
|
74
|
+
slug
|
|
75
|
+
}) => slug === segmentTwo);
|
|
76
|
+
serverProps = {
|
|
77
|
+
globalConfig: matchedGlobal
|
|
78
|
+
};
|
|
79
|
+
}
|
|
51
80
|
switch (segments.length) {
|
|
52
81
|
case 0:
|
|
53
82
|
{
|
|
@@ -109,20 +138,26 @@ export const getViewFromConfig = ({
|
|
|
109
138
|
templateClassName = baseClasses[segmentTwo];
|
|
110
139
|
templateType = 'minimal';
|
|
111
140
|
}
|
|
112
|
-
if (isCollection) {
|
|
141
|
+
if (isCollection && matchedCollection) {
|
|
113
142
|
// --> /collections/:collectionSlug
|
|
114
143
|
ViewToRender = {
|
|
115
144
|
Component: ListView
|
|
116
145
|
};
|
|
117
146
|
templateClassName = `${segmentTwo}-list`;
|
|
118
147
|
templateType = 'default';
|
|
119
|
-
|
|
148
|
+
viewActions = viewActions.concat(matchedCollection.admin.components?.views?.list?.actions);
|
|
149
|
+
} else if (isGlobal && matchedGlobal) {
|
|
120
150
|
// --> /globals/:globalSlug
|
|
121
151
|
ViewToRender = {
|
|
122
152
|
Component: DocumentView
|
|
123
153
|
};
|
|
124
154
|
templateClassName = 'global-edit';
|
|
125
155
|
templateType = 'default';
|
|
156
|
+
// add default view actions
|
|
157
|
+
viewActions = viewActions.concat(getViewActions({
|
|
158
|
+
editConfig: matchedGlobal.admin?.components?.views?.edit,
|
|
159
|
+
viewKey: 'default'
|
|
160
|
+
}));
|
|
126
161
|
}
|
|
127
162
|
break;
|
|
128
163
|
}
|
|
@@ -134,19 +169,64 @@ export const getViewFromConfig = ({
|
|
|
134
169
|
};
|
|
135
170
|
templateClassName = 'verify';
|
|
136
171
|
templateType = 'minimal';
|
|
137
|
-
} else if (isCollection) {
|
|
172
|
+
} else if (isCollection && matchedCollection) {
|
|
138
173
|
// Custom Views
|
|
139
174
|
// --> /collections/:collectionSlug/:id
|
|
175
|
+
// --> /collections/:collectionSlug/:id/api
|
|
140
176
|
// --> /collections/:collectionSlug/:id/preview
|
|
141
177
|
// --> /collections/:collectionSlug/:id/versions
|
|
142
178
|
// --> /collections/:collectionSlug/:id/versions/:versionId
|
|
143
|
-
// --> /collections/:collectionSlug/:id/api
|
|
144
179
|
ViewToRender = {
|
|
145
180
|
Component: DocumentView
|
|
146
181
|
};
|
|
147
182
|
templateClassName = `collection-default-edit`;
|
|
148
183
|
templateType = 'default';
|
|
149
|
-
|
|
184
|
+
// Adds view actions to the current collection view
|
|
185
|
+
if (matchedCollection.admin?.components?.views?.edit) {
|
|
186
|
+
if ('root' in matchedCollection.admin.components.views.edit) {
|
|
187
|
+
viewActions = viewActions.concat(getViewActions({
|
|
188
|
+
editConfig: matchedCollection.admin?.components?.views?.edit,
|
|
189
|
+
viewKey: 'root'
|
|
190
|
+
}));
|
|
191
|
+
} else {
|
|
192
|
+
if (segmentFive) {
|
|
193
|
+
if (segmentFour === 'versions') {
|
|
194
|
+
// add version view actions
|
|
195
|
+
viewActions = viewActions.concat(getViewActions({
|
|
196
|
+
editConfig: matchedCollection.admin?.components?.views?.edit,
|
|
197
|
+
viewKey: 'version'
|
|
198
|
+
}));
|
|
199
|
+
}
|
|
200
|
+
} else if (segmentFour) {
|
|
201
|
+
if (segmentFour === 'versions') {
|
|
202
|
+
// add versions view actions
|
|
203
|
+
viewActions = viewActions.concat(getViewActions({
|
|
204
|
+
editConfig: matchedCollection.admin?.components?.views.edit,
|
|
205
|
+
viewKey: 'versions'
|
|
206
|
+
}));
|
|
207
|
+
} else if (segmentFour === 'preview') {
|
|
208
|
+
// add livePreview view actions
|
|
209
|
+
viewActions = viewActions.concat(getViewActions({
|
|
210
|
+
editConfig: matchedCollection.admin?.components?.views.edit,
|
|
211
|
+
viewKey: 'livePreview'
|
|
212
|
+
}));
|
|
213
|
+
} else if (segmentFour === 'api') {
|
|
214
|
+
// add api view actions
|
|
215
|
+
viewActions = viewActions.concat(getViewActions({
|
|
216
|
+
editConfig: matchedCollection.admin?.components?.views.edit,
|
|
217
|
+
viewKey: 'api'
|
|
218
|
+
}));
|
|
219
|
+
}
|
|
220
|
+
} else if (segmentThree) {
|
|
221
|
+
// add default view actions
|
|
222
|
+
viewActions = viewActions.concat(getViewActions({
|
|
223
|
+
editConfig: matchedCollection.admin?.components?.views.edit,
|
|
224
|
+
viewKey: 'default'
|
|
225
|
+
}));
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
} else if (isGlobal && matchedGlobal) {
|
|
150
230
|
// Custom Views
|
|
151
231
|
// --> /globals/:globalSlug/versions
|
|
152
232
|
// --> /globals/:globalSlug/preview
|
|
@@ -157,6 +237,45 @@ export const getViewFromConfig = ({
|
|
|
157
237
|
};
|
|
158
238
|
templateClassName = `global-edit`;
|
|
159
239
|
templateType = 'default';
|
|
240
|
+
// Adds view actions to the current global view
|
|
241
|
+
if (matchedGlobal.admin?.components?.views?.edit) {
|
|
242
|
+
if ('root' in matchedGlobal.admin.components.views.edit) {
|
|
243
|
+
viewActions = viewActions.concat(getViewActions({
|
|
244
|
+
editConfig: matchedGlobal.admin.components?.views?.edit,
|
|
245
|
+
viewKey: 'root'
|
|
246
|
+
}));
|
|
247
|
+
} else {
|
|
248
|
+
if (segmentFour) {
|
|
249
|
+
if (segmentThree === 'versions') {
|
|
250
|
+
// add version view actions
|
|
251
|
+
viewActions = viewActions.concat(getViewActions({
|
|
252
|
+
editConfig: matchedGlobal.admin?.components?.views?.edit,
|
|
253
|
+
viewKey: 'version'
|
|
254
|
+
}));
|
|
255
|
+
}
|
|
256
|
+
} else if (segmentThree) {
|
|
257
|
+
if (segmentThree === 'versions') {
|
|
258
|
+
// add versions view actions
|
|
259
|
+
viewActions = viewActions.concat(getViewActions({
|
|
260
|
+
editConfig: matchedGlobal.admin?.components?.views?.edit,
|
|
261
|
+
viewKey: 'versions'
|
|
262
|
+
}));
|
|
263
|
+
} else if (segmentThree === 'preview') {
|
|
264
|
+
// add livePreview view actions
|
|
265
|
+
viewActions = viewActions.concat(getViewActions({
|
|
266
|
+
editConfig: matchedGlobal.admin?.components?.views?.edit,
|
|
267
|
+
viewKey: 'livePreview'
|
|
268
|
+
}));
|
|
269
|
+
} else if (segmentThree === 'api') {
|
|
270
|
+
// add api view actions
|
|
271
|
+
viewActions = viewActions.concat(getViewActions({
|
|
272
|
+
editConfig: matchedGlobal.admin?.components?.views?.edit,
|
|
273
|
+
viewKey: 'api'
|
|
274
|
+
}));
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
160
279
|
}
|
|
161
280
|
break;
|
|
162
281
|
}
|
|
@@ -169,8 +288,10 @@ export const getViewFromConfig = ({
|
|
|
169
288
|
return {
|
|
170
289
|
DefaultView: ViewToRender,
|
|
171
290
|
initPageOptions,
|
|
291
|
+
serverProps,
|
|
172
292
|
templateClassName,
|
|
173
|
-
templateType
|
|
293
|
+
templateType,
|
|
294
|
+
viewActions: viewActions.reverse()
|
|
174
295
|
};
|
|
175
296
|
};
|
|
176
297
|
//# sourceMappingURL=getViewFromConfig.js.map
|