@payloadcms/next 3.18.0-canary.df484f6 → 3.19.0-canary.5e4a1d4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/elements/Nav/index.d.ts.map +1 -1
  2. package/dist/elements/Nav/index.js +14 -0
  3. package/dist/elements/Nav/index.js.map +1 -1
  4. package/dist/exports/utilities.d.ts +1 -3
  5. package/dist/exports/utilities.d.ts.map +1 -1
  6. package/dist/exports/utilities.js +1 -3
  7. package/dist/exports/utilities.js.map +1 -1
  8. package/dist/prod/styles.css +1 -1
  9. package/dist/routes/graphql/handler.js +1 -1
  10. package/dist/routes/graphql/handler.js.map +1 -1
  11. package/dist/templates/Default/index.d.ts +4 -3
  12. package/dist/templates/Default/index.d.ts.map +1 -1
  13. package/dist/templates/Default/index.js +15 -15
  14. package/dist/templates/Default/index.js.map +1 -1
  15. package/dist/utilities/initPage/handleAdminPage.js +1 -1
  16. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  17. package/dist/views/API/index.client.d.ts.map +1 -1
  18. package/dist/views/API/index.client.js.map +1 -1
  19. package/dist/views/Account/index.js +1 -1
  20. package/dist/views/Account/index.js.map +1 -1
  21. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  22. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  23. package/dist/views/CreateFirstUser/index.js +3 -3
  24. package/dist/views/CreateFirstUser/index.js.map +1 -1
  25. package/dist/views/Document/handleServerFunction.js +4 -2
  26. package/dist/views/Document/handleServerFunction.js.map +1 -1
  27. package/dist/views/Document/index.d.ts +1 -1
  28. package/dist/views/Document/index.d.ts.map +1 -1
  29. package/dist/views/Document/index.js +6 -2
  30. package/dist/views/Document/index.js.map +1 -1
  31. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  32. package/dist/views/Document/renderDocumentSlots.js +7 -0
  33. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  34. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +7 -4
  35. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  36. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  37. package/dist/views/List/handleServerFunction.js +3 -2
  38. package/dist/views/List/handleServerFunction.js.map +1 -1
  39. package/dist/views/List/index.d.ts.map +1 -1
  40. package/dist/views/List/index.js +0 -1
  41. package/dist/views/List/index.js.map +1 -1
  42. package/dist/views/LivePreview/index.client.js.map +1 -1
  43. package/dist/views/Login/LoginForm/index.js +7 -4
  44. package/dist/views/Login/LoginForm/index.js.map +1 -1
  45. package/dist/views/Login/index.js +1 -3
  46. package/dist/views/Login/index.js.map +1 -1
  47. package/dist/views/Root/attachViewActions.d.ts +11 -0
  48. package/dist/views/Root/attachViewActions.d.ts.map +1 -0
  49. package/dist/views/Root/attachViewActions.js +29 -0
  50. package/dist/views/Root/attachViewActions.js.map +1 -0
  51. package/dist/views/Root/getDocumentViewInfo.d.ts +6 -0
  52. package/dist/views/Root/getDocumentViewInfo.d.ts.map +1 -0
  53. package/dist/views/Root/getDocumentViewInfo.js +33 -0
  54. package/dist/views/Root/getDocumentViewInfo.js.map +1 -0
  55. package/dist/views/Root/getViewFromConfig.d.ts +3 -7
  56. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  57. package/dist/views/Root/getViewFromConfig.js +29 -96
  58. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  59. package/dist/views/Root/index.d.ts.map +1 -1
  60. package/dist/views/Root/index.js +8 -3
  61. package/dist/views/Root/index.js.map +1 -1
  62. package/dist/views/Version/Default/index.d.ts.map +1 -1
  63. package/dist/views/Version/Default/index.js.map +1 -1
  64. package/dist/views/Version/Restore/index.js +5 -3
  65. package/dist/views/Version/Restore/index.js.map +1 -1
  66. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","DocumentControls","DocumentFields","DocumentLocked","DocumentTakeOver","Form","LeaveWithoutSaving","OperationProvider","SetDocumentStepNav","SetDocumentTitle","useAuth","useConfig","useDocumentDrawerContext","useDocumentEvents","useDocumentInfo","useEditDepth","useServerFunctions","useTranslation","useUploadEdits","abortAndIgnore","formatAdminURL","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","useRouter","useSearchParams","React","Fragment","useCallback","useEffect","useRef","useState","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","collectionConfig","config","Description","fields","globalConfig","PreviewButton","PublishButton","SaveButton","SaveDraftButton","schemaPath","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","disableActions","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialData","initialState","isEditing","isInitializing","lastUpdateTime","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","updateSavedDocumentData","onSave","onSaveFromContext","operation","admin","user","userSlug","routes","adminRoute","router","params","locale","get","t","previewWindowType","refreshCookieAsync","reportUpdate","resetUploadEdits","getFormState","docConfig","entitySlug","slug","depth","lockDocumentsProp","lockDocuments","undefined","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","Boolean","versions","drafts","autosave","preventLeaveWithoutSaving","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","abortOnChangeRef","abortOnSaveRef","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","json","controller","updatedAt","result","toISOString","doc","redirectRoute","path","push","docPreferences","state","data","renderAllFields","returnLockStatus","signal","current","onChange","formState","prevFormState","currentTime","timeSinceLastUpdate","updateLastEdited","lockedState","previousOwnerID","lockedUserID","currentPath","window","location","pathname","documentID","stayWithinDocumentPaths","isStayingWithinDocument","some","includes","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","_jsx","_jsxs","className","disabled","method","onSuccess","isActive","onReadOnly","onTakeOver","globalLabel","label","pluralLabel","labels","plural","useAsTitle","view","fallback","toString","customComponents","permissions","readOnlyForIncomingUser","filter","join","forceSidebarWrap","readOnly","schemaPathSegments","LivePreviewClient","props","$","breakpoints","url","t0","getEntityConfig","t1","serverURL","api","apiRoute","t2","eventType","isPopupOpen","openPopupWindow","popupRef","t3","Upload","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 DocumentSlots,\n FormState,\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 useEditDepth,\n useServerFunctions,\n useTranslation,\n useUploadEdits,\n} from '@payloadcms/ui'\nimport {\n abortAndIgnore,\n formatAdminURL,\n handleAbortRef,\n handleBackToDashboard,\n handleGoBack,\n handleTakeOver,\n} from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useLivePreviewContext } from './Context/context.js'\nimport './index.scss'\nimport { LivePreviewProvider } from './Context/index.js'\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} & DocumentSlots\n\nconst PreviewView: React.FC<Props> = ({\n collectionConfig,\n config,\n Description,\n fields,\n globalConfig,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\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 getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n updateSavedDocumentData,\n } = useDocumentInfo()\n\n const { onSave: onSaveFromContext } = 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 params = useSearchParams()\n const locale = params.get('locale')\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n const { refreshCookieAsync, user } = useAuth()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n\n const docConfig = collectionConfig || globalConfig\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const depth = useEditDepth()\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 autosaveEnabled = Boolean(\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave),\n )\n\n const preventLeaveWithoutSaving =\n typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\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 async (json): Promise<FormState> => {\n const controller = handleAbortRef(abortOnSaveRef)\n\n reportUpdate({\n id,\n entitySlug,\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 incrementVersionCount()\n\n if (typeof updateSavedDocumentData === 'function') {\n void updateSavedDocumentData(json?.doc || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n\n await getDocPermissions(json)\n\n if ((id || globalSlug) && !autosaveEnabled) {\n const docPreferences = await getDocPreferences()\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: json?.doc || json?.result,\n docPermissions,\n docPreferences,\n globalSlug,\n operation,\n renderAllFields: true,\n returnLockStatus: false,\n schemaPath: entitySlug,\n signal: controller.signal,\n })\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n adminRoute,\n collectionSlug,\n depth,\n docPermissions,\n entitySlug,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n globalSlug,\n id,\n incrementVersionCount,\n isEditing,\n isLockingEnabled,\n locale,\n onSaveFromContext,\n operation,\n refreshCookieAsync,\n reportUpdate,\n resetUploadEdits,\n router,\n setDocumentIsLocked,\n updateSavedDocumentData,\n user,\n userSlug,\n autosaveEnabled,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const controller = handleAbortRef(abortOnChangeRef)\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 abortOnChangeRef.current = null\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 const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\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 {!isReadOnlyForIncomingUser && preventLeaveWithoutSaving && <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 customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\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 Description={Description}\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 {\n readonly breakpoints: LivePreviewConfig['breakpoints']\n readonly initialData: Data\n readonly url: string\n } & DocumentSlots\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 Description={props.Description}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n PreviewButton={props.PreviewButton}\n PublishButton={props.PublishButton}\n SaveButton={props.SaveButton}\n SaveDraftButton={props.SaveDraftButton}\n schemaPath={schemaPath}\n serverURL={serverURL}\n Upload={props.Upload}\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","useEditDepth","useServerFunctions","useTranslation","useUploadEdits","abortAndIgnore","formatAdminURL","handleAbortRef","handleBackToDashboard","handleGoBack","handleTakeOver","useRouter","useSearchParams","React","Fragment","useCallback","useEffect","useRef","useState","useLivePreviewContext","LivePreviewProvider","LivePreview","usePopupWindow","baseClass","PreviewView","collectionConfig","config","Description","fields","globalConfig","PreviewButton","PublishButton","SaveButton","SaveDraftButton","schemaPath","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","disableActions","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialData","initialState","isEditing","isInitializing","lastUpdateTime","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","updateSavedDocumentData","onSave","onSaveFromContext","operation","admin","user","userSlug","routes","adminRoute","router","params","locale","get","t","previewWindowType","refreshCookieAsync","reportUpdate","resetUploadEdits","getFormState","docConfig","entitySlug","slug","depth","lockDocumentsProp","lockDocuments","undefined","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","autosaveEnabled","Boolean","versions","drafts","autosave","preventLeaveWithoutSaving","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","abortOnChangeRef","abortOnSaveRef","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","json","controller","updatedAt","result","toISOString","doc","redirectRoute","path","push","docPreferences","state","data","renderAllFields","returnLockStatus","signal","current","onChange","formState","prevFormState","currentTime","timeSinceLastUpdate","updateLastEdited","lockedState","previousOwnerID","lockedUserID","currentPath","window","location","pathname","documentID","stayWithinDocumentPaths","isStayingWithinDocument","some","includes","abortOnChange","abortOnSave","shouldShowDocumentLockedModal","_jsx","_jsxs","className","disabled","method","onSuccess","isActive","onReadOnly","onTakeOver","globalLabel","label","pluralLabel","labels","plural","useAsTitle","view","fallback","toString","customComponents","permissions","readOnlyForIncomingUser","filter","join","forceSidebarWrap","readOnly","schemaPathSegments","LivePreviewClient","props","$","breakpoints","url","t0","getEntityConfig","t1","serverURL","api","apiRoute","t2","eventType","isPopupOpen","openPopupWindow","popupRef","t3","Upload","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 DocumentSlots,\n FormState,\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 useEditDepth,\n useServerFunctions,\n useTranslation,\n useUploadEdits,\n} from '@payloadcms/ui'\nimport {\n abortAndIgnore,\n formatAdminURL,\n handleAbortRef,\n handleBackToDashboard,\n handleGoBack,\n handleTakeOver,\n} from '@payloadcms/ui/shared'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useLivePreviewContext } from './Context/context.js'\nimport './index.scss'\nimport { LivePreviewProvider } from './Context/index.js'\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} & DocumentSlots\n\nconst PreviewView: React.FC<Props> = ({\n collectionConfig,\n config,\n Description,\n fields,\n globalConfig,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\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 getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n updateSavedDocumentData,\n } = useDocumentInfo()\n\n const { onSave: onSaveFromContext } = 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 params = useSearchParams()\n const locale = params.get('locale')\n const { t } = useTranslation()\n const { previewWindowType } = useLivePreviewContext()\n const { refreshCookieAsync, user } = useAuth()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n\n const docConfig = collectionConfig || globalConfig\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const depth = useEditDepth()\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 autosaveEnabled = Boolean(\n (collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave),\n )\n\n const preventLeaveWithoutSaving =\n typeof disableLeaveWithoutSaving !== 'undefined' ? !disableLeaveWithoutSaving : !autosaveEnabled\n\n const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false)\n const [showTakeOverModal, setShowTakeOverModal] = useState(false)\n\n const abortOnChangeRef = useRef<AbortController>(null)\n const abortOnSaveRef = useRef<AbortController>(null)\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 async (json): Promise<FormState> => {\n const controller = handleAbortRef(abortOnSaveRef)\n\n reportUpdate({\n id,\n entitySlug,\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 incrementVersionCount()\n\n if (typeof updateSavedDocumentData === 'function') {\n void updateSavedDocumentData(json?.doc || {})\n }\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: id ? 'update' : 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n router.push(redirectRoute)\n } else {\n resetUploadEdits()\n }\n\n await getDocPermissions(json)\n\n if ((id || globalSlug) && !autosaveEnabled) {\n const docPreferences = await getDocPreferences()\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: json?.doc || json?.result,\n docPermissions,\n docPreferences,\n globalSlug,\n operation,\n renderAllFields: true,\n returnLockStatus: false,\n schemaPath: entitySlug,\n signal: controller.signal,\n })\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\n\n abortOnSaveRef.current = null\n\n return state\n }\n },\n [\n adminRoute,\n collectionSlug,\n depth,\n docPermissions,\n entitySlug,\n getDocPermissions,\n getDocPreferences,\n getFormState,\n globalSlug,\n id,\n incrementVersionCount,\n isEditing,\n isLockingEnabled,\n locale,\n onSaveFromContext,\n operation,\n refreshCookieAsync,\n reportUpdate,\n resetUploadEdits,\n router,\n setDocumentIsLocked,\n updateSavedDocumentData,\n user,\n userSlug,\n autosaveEnabled,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const controller = handleAbortRef(abortOnChangeRef)\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 abortOnChangeRef.current = null\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 const abortOnChange = abortOnChangeRef.current\n const abortOnSave = abortOnSaveRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n abortAndIgnore(abortOnSave)\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 {!isReadOnlyForIncomingUser && preventLeaveWithoutSaving && <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 customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\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 Description={Description}\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 {\n readonly breakpoints: LivePreviewConfig['breakpoints']\n readonly initialData: Data\n readonly url: string\n } & DocumentSlots\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 })\n\n const globalConfig = getEntityConfig({ globalSlug })\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 Description={props.Description}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n PreviewButton={props.PreviewButton}\n PublishButton={props.PublishButton}\n SaveButton={props.SaveButton}\n SaveDraftButton={props.SaveDraftButton}\n schemaPath={schemaPath}\n serverURL={serverURL}\n Upload={props.Upload}\n />\n </LivePreviewProvider>\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,8 @@ export const LoginForm = t0 => {
19
19
  searchParams
20
20
  } = t0;
21
21
  const {
22
- config
22
+ config,
23
+ getEntityConfig
23
24
  } = useConfig();
24
25
  const {
25
26
  admin: t1,
@@ -38,14 +39,16 @@ export const LoginForm = t0 => {
38
39
  } = t2;
39
40
  let loginWithUsername;
40
41
  let t4;
41
- if ($[0] !== config.collections || $[1] !== userSlug) {
42
- const collectionConfig = config.collections?.find(collection => collection?.slug === userSlug);
42
+ if ($[0] !== getEntityConfig || $[1] !== userSlug) {
43
+ const collectionConfig = getEntityConfig({
44
+ collectionSlug: userSlug
45
+ });
43
46
  const {
44
47
  auth: authOptions
45
48
  } = collectionConfig;
46
49
  loginWithUsername = authOptions.loginWithUsername;
47
50
  t4 = getLoginOptions(loginWithUsername);
48
- $[0] = config.collections;
51
+ $[0] = getEntityConfig;
49
52
  $[1] = userSlug;
50
53
  $[2] = loginWithUsername;
51
54
  $[3] = t4;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","LinkImport","React","baseClass","Link","default","Form","FormSubmit","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","getLoginOptions","LoginField","LoginForm","t0","$","prefillEmail","prefillPassword","prefillUsername","searchParams","config","admin","t1","routes","t2","t3","user","userSlug","forgot","forgotRoute","adminRoute","api","apiRoute","loginWithUsername","t4","collections","collectionConfig","find","collection","slug","auth","authOptions","canLoginWithEmail","canLoginWithUsername","t5","loginType","useState","t","setUser","t6","undefined","t7","t8","initialState","password","initialValue","valid","value","username","email","t9","data","handleLogin","_jsxs","action","className","disableSuccessStatus","method","onSuccess","redirect","waitForAutocomplete","children","_jsx","type","field","name","label","required","path","href","prefetch","size"],"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst baseClass = 'login__form'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nimport type { UserWithToken } from '@payloadcms/ui'\nimport type { FormState } from 'payload'\n\nimport { Form, FormSubmit, PasswordField, useAuth, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getLoginOptions } from 'payload/shared'\n\nimport type { LoginFieldProps } from '../LoginField/index.js'\n\nimport { LoginField } from '../LoginField/index.js'\nimport './index.scss'\n\nexport const LoginForm: React.FC<{\n prefillEmail?: string\n prefillPassword?: string\n prefillUsername?: string\n searchParams: { [key: string]: string | string[] | undefined }\n}> = ({ prefillEmail, prefillPassword, prefillUsername, searchParams }) => {\n const { config } = useConfig()\n\n const {\n admin: {\n routes: { forgot: forgotRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n } = config\n\n const collectionConfig = config.collections?.find((collection) => collection?.slug === userSlug)\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n const { canLoginWithEmail, canLoginWithUsername } = getLoginOptions(loginWithUsername)\n\n const [loginType] = React.useState<LoginFieldProps['type']>(() => {\n if (canLoginWithEmail && canLoginWithUsername) {\n return 'emailOrUsername'\n }\n if (canLoginWithUsername) {\n return 'username'\n }\n return 'email'\n })\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const initialState: FormState = {\n password: {\n initialValue: prefillPassword ?? undefined,\n valid: true,\n value: prefillPassword ?? undefined,\n },\n }\n\n if (loginWithUsername) {\n initialState.username = {\n initialValue: prefillUsername ?? undefined,\n valid: true,\n value: prefillUsername ?? undefined,\n }\n } else {\n initialState.email = {\n initialValue: prefillEmail ?? undefined,\n valid: true,\n value: prefillEmail ?? undefined,\n }\n }\n\n const handleLogin = (data: UserWithToken) => {\n setUser(data)\n }\n\n return (\n <Form\n action={`${apiRoute}/${userSlug}/login`}\n className={baseClass}\n disableSuccessStatus\n initialState={initialState}\n method=\"POST\"\n onSuccess={handleLogin}\n redirect={typeof searchParams?.redirect === 'string' ? searchParams.redirect : adminRoute}\n waitForAutocomplete\n >\n <div className={`${baseClass}__inputWrap`}>\n <LoginField type={loginType} />\n <PasswordField\n field={{\n name: 'password',\n label: t('general:password'),\n required: true,\n }}\n path=\"password\"\n />\n </div>\n <Link\n href={formatAdminURL({\n adminRoute,\n path: forgotRoute,\n })}\n prefetch={false}\n >\n {t('authentication:forgotPasswordQuestion')}\n </Link>\n <FormSubmit size=\"large\">{t('authentication:login')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","LinkImport","React","baseClass","Link","default","Form","FormSubmit","PasswordField","useAuth","useConfig","useTranslation","formatAdminURL","getLoginOptions","LoginField","LoginForm","t0","$","prefillEmail","prefillPassword","prefillUsername","searchParams","config","getEntityConfig","admin","t1","routes","t2","t3","user","userSlug","forgot","forgotRoute","adminRoute","api","apiRoute","loginWithUsername","t4","collectionConfig","collectionSlug","auth","authOptions","canLoginWithEmail","canLoginWithUsername","t5","loginType","useState","t","setUser","t6","undefined","t7","t8","initialState","password","initialValue","valid","value","username","email","t9","data","handleLogin","_jsxs","action","className","disableSuccessStatus","method","onSuccess","redirect","waitForAutocomplete","children","_jsx","type","field","name","label","required","path","href","prefetch","size"],"sources":["../../../../src/views/Login/LoginForm/index.tsx"],"sourcesContent":["'use client'\n\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nconst baseClass = 'login__form'\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nimport type { UserWithToken } from '@payloadcms/ui'\nimport type { FormState } from 'payload'\n\nimport { Form, FormSubmit, PasswordField, useAuth, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getLoginOptions } from 'payload/shared'\n\nimport type { LoginFieldProps } from '../LoginField/index.js'\n\nimport { LoginField } from '../LoginField/index.js'\nimport './index.scss'\n\nexport const LoginForm: React.FC<{\n prefillEmail?: string\n prefillPassword?: string\n prefillUsername?: string\n searchParams: { [key: string]: string | string[] | undefined }\n}> = ({ prefillEmail, prefillPassword, prefillUsername, searchParams }) => {\n const { config, getEntityConfig } = useConfig()\n\n const {\n admin: {\n routes: { forgot: forgotRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute, api: apiRoute },\n } = config\n\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug })\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n const { canLoginWithEmail, canLoginWithUsername } = getLoginOptions(loginWithUsername)\n\n const [loginType] = React.useState<LoginFieldProps['type']>(() => {\n if (canLoginWithEmail && canLoginWithUsername) {\n return 'emailOrUsername'\n }\n if (canLoginWithUsername) {\n return 'username'\n }\n return 'email'\n })\n\n const { t } = useTranslation()\n const { setUser } = useAuth()\n\n const initialState: FormState = {\n password: {\n initialValue: prefillPassword ?? undefined,\n valid: true,\n value: prefillPassword ?? undefined,\n },\n }\n\n if (loginWithUsername) {\n initialState.username = {\n initialValue: prefillUsername ?? undefined,\n valid: true,\n value: prefillUsername ?? undefined,\n }\n } else {\n initialState.email = {\n initialValue: prefillEmail ?? undefined,\n valid: true,\n value: prefillEmail ?? undefined,\n }\n }\n\n const handleLogin = (data: UserWithToken) => {\n setUser(data)\n }\n\n return (\n <Form\n action={`${apiRoute}/${userSlug}/login`}\n className={baseClass}\n disableSuccessStatus\n initialState={initialState}\n method=\"POST\"\n onSuccess={handleLogin}\n redirect={typeof searchParams?.redirect === 'string' ? searchParams.redirect : adminRoute}\n waitForAutocomplete\n >\n <div className={`${baseClass}__inputWrap`}>\n <LoginField type={loginType} />\n <PasswordField\n field={{\n name: 'password',\n label: t('general:password'),\n required: true,\n }}\n path=\"password\"\n />\n </div>\n <Link\n href={formatAdminURL({\n adminRoute,\n path: forgotRoute,\n })}\n prefetch={false}\n >\n {t('authentication:forgotPasswordQuestion')}\n </Link>\n <FormSubmit size=\"large\">{t('authentication:login')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -40,9 +40,7 @@ export const LoginView = ({
40
40
  if (user) {
41
41
  redirect(searchParams.redirect || admin);
42
42
  }
43
- const collectionConfig = collections.find(({
44
- slug
45
- }) => slug === userSlug);
43
+ const collectionConfig = payload?.collections?.[userSlug]?.config;
46
44
  const prefillAutoLogin = typeof config.admin?.autoLogin === 'object' && config.admin?.autoLogin.prefillOnly;
47
45
  const prefillUsername = prefillAutoLogin && typeof config.admin?.autoLogin === 'object' ? config.admin?.autoLogin.username : undefined;
48
46
  const prefillEmail = prefillAutoLogin && typeof config.admin?.autoLogin === 'object' ? config.admin?.autoLogin.email : undefined;
@@ -1 +1 @@
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\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":"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","ignoreList":[]}
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","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 = payload?.collections?.[userSlug]?.config\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\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,GAAmBV,OAAA,EAASQ,WAAA,GAAcD,QAAA,CAAS,EAAEN,MAAA;EAE3D,MAAMU,gBAAA,GACJ,OAAOV,MAAA,CAAOE,KAAK,EAAES,SAAA,KAAc,YAAYX,MAAA,CAAOE,KAAK,EAAES,SAAA,CAAUC,WAAA;EAEzE,MAAMC,eAAA,GACJH,gBAAA,IAAoB,OAAOV,MAAA,CAAOE,KAAK,EAAES,SAAA,KAAc,WACnDX,MAAA,CAAOE,KAAK,EAAES,SAAA,CAAUG,QAAA,GACxBC,SAAA;EAEN,MAAMC,YAAA,GACJN,gBAAA,IAAoB,OAAOV,MAAA,CAAOE,KAAK,EAAES,SAAA,KAAc,WACnDX,MAAA,CAAOE,KAAK,EAAES,SAAA,CAAUM,KAAA,GACxBF,SAAA;EAEN,MAAMG,eAAA,GACJR,gBAAA,IAAoB,OAAOV,MAAA,CAAOE,KAAK,EAAES,SAAA,KAAc,WACnDX,MAAA,CAAOE,KAAK,EAAES,SAAA,CAAUQ,QAAA,GACxBJ,SAAA;EAEN,oBACEK,KAAA,CAAClC,QAAA;4BACCmC,IAAA,CAAC;MAAIC,SAAA,EAAW,GAAGhC,cAAA,SAAuB;gBACxC,aAAA+B,IAAA,CAAClC,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;;QAGTlB,qBAAA,CAAsB;MACrBwC,SAAA,EAAWlB,WAAA;MACXmB,SAAA,EAAWzB,OAAA,CAAQyB,SAAS;MAC5BC,WAAA,EAAa;QACX3B,IAAA;QACAH,MAAA;QACAF,MAAA;QACAM,OAAA;QACAH,WAAA;QACAF,YAAA;QACAO;MACF;IACF,IAEC,CAACQ,gBAAA,EAAkBiB,IAAA,EAAMC,oBAAA,iBACxBN,IAAA,CAACjC,SAAA;MACC4B,YAAA,EAAcA,YAAA;MACdE,eAAA,EAAiBA,eAAA;MACjBL,eAAA,EAAiBA,eAAA;MACjBnB,YAAA,EAAcA;QAGjBX,qBAAA,CAAsB;MACrBwC,SAAA,EAAWnB,UAAA;MACXoB,SAAA,EAAWzB,OAAA,CAAQyB,SAAS;MAC5BC,WAAA,EAAa;QACX3B,IAAA;QACAH,MAAA;QACAF,MAAA;QACAM,OAAA;QACAH,WAAA;QACAF,YAAA;QACAO;MACF;IACF;;AAGN","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { CustomComponent, EditConfig, SanitizedCollectionConfig, SanitizedGlobalConfig, ServerPropsFromView } from 'payload';
2
+ export declare function getViewActions({ editConfig, viewKey, }: {
3
+ editConfig: EditConfig;
4
+ viewKey: keyof EditConfig;
5
+ }): CustomComponent[] | undefined;
6
+ export declare function attachViewActions({ collectionOrGlobal, serverProps, viewKeyArg, }: {
7
+ collectionOrGlobal: SanitizedCollectionConfig | SanitizedGlobalConfig;
8
+ serverProps: ServerPropsFromView;
9
+ viewKeyArg?: keyof EditConfig;
10
+ }): void;
11
+ //# sourceMappingURL=attachViewActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachViewActions.d.ts","sourceRoot":"","sources":["../../../src/views/Root/attachViewActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAEhB,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,OAAO,GACR,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,UAAU,CAAA;CAC1B,GAAG,eAAe,EAAE,GAAG,SAAS,CAMhC;AAED,wBAAgB,iBAAiB,CAAC,EAChC,kBAAkB,EAClB,WAAW,EACX,UAAU,GACX,EAAE;IACD,kBAAkB,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACrE,WAAW,EAAE,mBAAmB,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,UAAU,CAAA;CAC9B,QAgBA"}
@@ -0,0 +1,29 @@
1
+ export function getViewActions({
2
+ editConfig,
3
+ viewKey
4
+ }) {
5
+ if (editConfig && viewKey in editConfig && 'actions' in editConfig[viewKey]) {
6
+ return editConfig[viewKey].actions;
7
+ }
8
+ return undefined;
9
+ }
10
+ export function attachViewActions({
11
+ collectionOrGlobal,
12
+ serverProps,
13
+ viewKeyArg
14
+ }) {
15
+ if (collectionOrGlobal?.admin?.components?.views?.edit) {
16
+ let viewKey = viewKeyArg || 'default';
17
+ if ('root' in collectionOrGlobal.admin.components.views.edit) {
18
+ viewKey = 'root';
19
+ }
20
+ const actions = getViewActions({
21
+ editConfig: collectionOrGlobal.admin?.components?.views?.edit,
22
+ viewKey
23
+ });
24
+ if (actions) {
25
+ serverProps.viewActions = serverProps.viewActions.concat(actions);
26
+ }
27
+ }
28
+ }
29
+ //# sourceMappingURL=attachViewActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachViewActions.js","names":["getViewActions","editConfig","viewKey","actions","undefined","attachViewActions","collectionOrGlobal","serverProps","viewKeyArg","admin","components","views","edit","viewActions","concat"],"sources":["../../../src/views/Root/attachViewActions.ts"],"sourcesContent":["import type {\n CustomComponent,\n EditConfig,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n ServerPropsFromView,\n} from 'payload'\n\nexport function getViewActions({\n editConfig,\n viewKey,\n}: {\n editConfig: EditConfig\n viewKey: keyof EditConfig\n}): CustomComponent[] | undefined {\n if (editConfig && viewKey in editConfig && 'actions' in editConfig[viewKey]) {\n return editConfig[viewKey].actions\n }\n\n return undefined\n}\n\nexport function attachViewActions({\n collectionOrGlobal,\n serverProps,\n viewKeyArg,\n}: {\n collectionOrGlobal: SanitizedCollectionConfig | SanitizedGlobalConfig\n serverProps: ServerPropsFromView\n viewKeyArg?: keyof EditConfig\n}) {\n if (collectionOrGlobal?.admin?.components?.views?.edit) {\n let viewKey = viewKeyArg || 'default'\n if ('root' in collectionOrGlobal.admin.components.views.edit) {\n viewKey = 'root'\n }\n\n const actions = getViewActions({\n editConfig: collectionOrGlobal.admin?.components?.views?.edit,\n viewKey,\n })\n\n if (actions) {\n serverProps.viewActions = serverProps.viewActions.concat(actions)\n }\n }\n}\n"],"mappings":"AAQA,OAAO,SAASA,eAAe;EAC7BC,UAAU;EACVC;AAAO,CAIR;EACC,IAAID,UAAA,IAAcC,OAAA,IAAWD,UAAA,IAAc,aAAaA,UAAU,CAACC,OAAA,CAAQ,EAAE;IAC3E,OAAOD,UAAU,CAACC,OAAA,CAAQ,CAACC,OAAO;EACpC;EAEA,OAAOC,SAAA;AACT;AAEA,OAAO,SAASC,kBAAkB;EAChCC,kBAAkB;EAClBC,WAAW;EACXC;AAAU,CAKX;EACC,IAAIF,kBAAA,EAAoBG,KAAA,EAAOC,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAM;IACtD,IAAIV,OAAA,GAAUM,UAAA,IAAc;IAC5B,IAAI,UAAUF,kBAAA,CAAmBG,KAAK,CAACC,UAAU,CAACC,KAAK,CAACC,IAAI,EAAE;MAC5DV,OAAA,GAAU;IACZ;IAEA,MAAMC,OAAA,GAAUH,cAAA,CAAe;MAC7BC,UAAA,EAAYK,kBAAA,CAAmBG,KAAK,EAAEC,UAAA,EAAYC,KAAA,EAAOC,IAAA;MACzDV;IACF;IAEA,IAAIC,OAAA,EAAS;MACXI,WAAA,CAAYM,WAAW,GAAGN,WAAA,CAAYM,WAAW,CAACC,MAAM,CAACX,OAAA;IAC3D;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import type { DocumentSubViewTypes, ViewTypes } from 'payload';
2
+ export declare function getDocumentViewInfo(segments: string[]): {
3
+ documentSubViewType?: DocumentSubViewTypes;
4
+ viewType: ViewTypes;
5
+ };
6
+ //# sourceMappingURL=getDocumentViewInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentViewInfo.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getDocumentViewInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE9D,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG;IACvD,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,QAAQ,EAAE,SAAS,CAAA;CACpB,CAiCA"}
@@ -0,0 +1,33 @@
1
+ export function getDocumentViewInfo(segments) {
2
+ const [tabSegment, versionSegment] = segments;
3
+ if (versionSegment) {
4
+ if (tabSegment === 'versions') {
5
+ return {
6
+ documentSubViewType: 'version',
7
+ viewType: 'version'
8
+ };
9
+ }
10
+ } else {
11
+ if (tabSegment === 'versions') {
12
+ return {
13
+ documentSubViewType: 'versions',
14
+ viewType: 'document'
15
+ };
16
+ } else if (tabSegment === 'preview') {
17
+ return {
18
+ documentSubViewType: 'livePreview',
19
+ viewType: 'document'
20
+ };
21
+ } else if (tabSegment === 'api') {
22
+ return {
23
+ documentSubViewType: 'api',
24
+ viewType: 'document'
25
+ };
26
+ }
27
+ }
28
+ return {
29
+ documentSubViewType: 'default',
30
+ viewType: 'document'
31
+ };
32
+ }
33
+ //# sourceMappingURL=getDocumentViewInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDocumentViewInfo.js","names":["getDocumentViewInfo","segments","tabSegment","versionSegment","documentSubViewType","viewType"],"sources":["../../../src/views/Root/getDocumentViewInfo.ts"],"sourcesContent":["import type { DocumentSubViewTypes, ViewTypes } from 'payload'\n\nexport function getDocumentViewInfo(segments: string[]): {\n documentSubViewType?: DocumentSubViewTypes\n viewType: ViewTypes\n} {\n const [tabSegment, versionSegment] = segments\n\n if (versionSegment) {\n if (tabSegment === 'versions') {\n return {\n documentSubViewType: 'version',\n viewType: 'version',\n }\n }\n } else {\n if (tabSegment === 'versions') {\n return {\n documentSubViewType: 'versions',\n viewType: 'document',\n }\n } else if (tabSegment === 'preview') {\n return {\n documentSubViewType: 'livePreview',\n viewType: 'document',\n }\n } else if (tabSegment === 'api') {\n return {\n documentSubViewType: 'api',\n viewType: 'document',\n }\n }\n }\n\n return {\n documentSubViewType: 'default',\n viewType: 'document',\n }\n}\n"],"mappings":"AAEA,OAAO,SAASA,oBAAoBC,QAAkB;EAIpD,MAAM,CAACC,UAAA,EAAYC,cAAA,CAAe,GAAGF,QAAA;EAErC,IAAIE,cAAA,EAAgB;IAClB,IAAID,UAAA,KAAe,YAAY;MAC7B,OAAO;QACLE,mBAAA,EAAqB;QACrBC,QAAA,EAAU;MACZ;IACF;EACF,OAAO;IACL,IAAIH,UAAA,KAAe,YAAY;MAC7B,OAAO;QACLE,mBAAA,EAAqB;QACrBC,QAAA,EAAU;MACZ;IACF,OAAO,IAAIH,UAAA,KAAe,WAAW;MACnC,OAAO;QACLE,mBAAA,EAAqB;QACrBC,QAAA,EAAU;MACZ;IACF,OAAO,IAAIH,UAAA,KAAe,OAAO;MAC/B,OAAO;QACLE,mBAAA,EAAqB;QACrBC,QAAA,EAAU;MACZ;IACF;EACF;EAEA,OAAO;IACLD,mBAAA,EAAqB;IACrBC,QAAA,EAAU;EACZ;AACF","ignoreList":[]}
@@ -1,16 +1,10 @@
1
- import type { AdminViewComponent, AdminViewProps, CustomComponent, ImportMap, SanitizedConfig } from 'payload';
1
+ import type { AdminViewComponent, AdminViewProps, DocumentSubViewTypes, ImportMap, SanitizedConfig, ServerPropsFromView, ViewTypes } from 'payload';
2
2
  import type React from 'react';
3
3
  import type { initPage } from '../../utilities/initPage/index.js';
4
4
  export type ViewFromConfig = {
5
5
  Component?: React.FC<AdminViewProps>;
6
6
  payloadComponent?: AdminViewComponent;
7
7
  };
8
- type ServerPropsFromView = {
9
- collectionConfig?: SanitizedConfig['collections'][number];
10
- globalConfig?: SanitizedConfig['globals'][number];
11
- viewActions: CustomComponent[];
12
- viewType?: 'edit' | 'list';
13
- };
14
8
  type GetViewFromConfigArgs = {
15
9
  adminRoute: string;
16
10
  config: SanitizedConfig;
@@ -23,10 +17,12 @@ type GetViewFromConfigArgs = {
23
17
  };
24
18
  type GetViewFromConfigResult = {
25
19
  DefaultView: ViewFromConfig;
20
+ documentSubViewType?: DocumentSubViewTypes;
26
21
  initPageOptions: Parameters<typeof initPage>[0];
27
22
  serverProps: ServerPropsFromView;
28
23
  templateClassName: string;
29
24
  templateType: 'default' | 'minimal';
25
+ viewType?: ViewTypes;
30
26
  };
31
27
  export declare const getViewFromConfig: ({ adminRoute, config, currentRoute, importMap, searchParams, segments, }: GetViewFromConfigArgs) => GetViewFromConfigResult;
32
28
  export {};
@@ -1 +1 @@
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,KAAK,mBAAmB,GAAG;IACzB,gBAAgB,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;IACzD,YAAY,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;IACjD,WAAW,EAAE,eAAe,EAAE,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3B,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,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,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,cAAc,CAAA;IAC3B,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,iBAAiB,6EAO3B,qBAAqB,KAAG,uBAkS1B,CAAA"}
1
+ {"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,SAAS,EACV,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AA8BjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,CAAA;IACpC,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC,CAAA;AAYD,KAAK,qBAAqB,GAAG;IAC3B,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,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,cAAc,CAAA;IAC3B,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,iBAAiB,6EAO3B,qBAAqB,KAAG,uBAkN1B,CAAA"}