@payloadcms/ui 3.2.1 → 3.2.2-canary.317488d

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 (46) hide show
  1. package/dist/elements/Button/types.d.ts +8 -0
  2. package/dist/elements/Button/types.d.ts.map +1 -1
  3. package/dist/elements/Button/types.js.map +1 -1
  4. package/dist/elements/DocumentDrawer/Provider.d.ts +2 -2
  5. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  6. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  7. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentFields/index.js +53 -92
  9. package/dist/elements/DocumentFields/index.js.map +1 -1
  10. package/dist/exports/client/{CodeEditor-DRTCMRCY.js → CodeEditor-5MCGR4GL.js} +2 -2
  11. package/dist/exports/client/chunk-4SO5UCQD.js +14 -0
  12. package/dist/exports/client/chunk-4SO5UCQD.js.map +8 -0
  13. package/dist/exports/client/index.js +10 -10
  14. package/dist/exports/client/index.js.map +3 -3
  15. package/dist/forms/Form/index.d.ts.map +1 -1
  16. package/dist/forms/Form/index.js +11 -1
  17. package/dist/forms/Form/index.js.map +1 -1
  18. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  19. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  20. package/dist/forms/Form/types.d.ts +1 -1
  21. package/dist/forms/Form/types.d.ts.map +1 -1
  22. package/dist/forms/Form/types.js.map +1 -1
  23. package/dist/forms/Submit/index.d.ts.map +1 -1
  24. package/dist/forms/Submit/index.js +6 -4
  25. package/dist/forms/Submit/index.js.map +1 -1
  26. package/dist/providers/Config/index.d.ts.map +1 -1
  27. package/dist/providers/Config/index.js +34 -19
  28. package/dist/providers/Config/index.js.map +1 -1
  29. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  30. package/dist/providers/ListQuery/index.js +5 -6
  31. package/dist/providers/ListQuery/index.js.map +1 -1
  32. package/dist/providers/SearchParams/index.d.ts +2 -0
  33. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  34. package/dist/providers/SearchParams/index.js +24 -28
  35. package/dist/providers/SearchParams/index.js.map +1 -1
  36. package/dist/utilities/buildFormState.d.ts +6 -5
  37. package/dist/utilities/buildFormState.d.ts.map +1 -1
  38. package/dist/utilities/buildFormState.js.map +1 -1
  39. package/dist/views/Edit/index.d.ts +1 -1
  40. package/dist/views/Edit/index.d.ts.map +1 -1
  41. package/dist/views/Edit/index.js +76 -51
  42. package/dist/views/Edit/index.js.map +1 -1
  43. package/package.json +5 -5
  44. package/dist/exports/client/chunk-PNHVQDTJ.js +0 -14
  45. package/dist/exports/client/chunk-PNHVQDTJ.js.map +0 -8
  46. /package/dist/exports/client/{CodeEditor-DRTCMRCY.js.map → CodeEditor-5MCGR4GL.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useRouter","useSearchParams","React","Fragment","useCallback","useEffect","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useServerFunctions","useUploadEdits","abortAndIgnore","formatAdminURL","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","Description","PreviewButton","PublishButton","SaveButton","SaveDraftButton","CustomUpload","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","lastUpdateTime","redirectAfterDelete","redirectAfterDuplicate","savedDocumentData","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","updateSavedDocumentData","clearDoc","drawerSlug","onDelete","onDuplicate","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","onChangeAbortControllerRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","preventLeaveWithoutSaving","versions","drafts","autosave","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","classes","push","schemaPathSegments","setSchemaPathSegments","disableLocalStrategy","validateBeforeSubmit","setValidateBeforeSubmit","json","updatedAt","result","toISOString","doc","redirectRoute","path","onChange","formState","prevFormState","current","controller","AbortController","currentTime","timeSinceLastUpdate","updateLastEdited","docPreferences","lockedState","state","renderAllFields","returnLockStatus","schemaPath","join","signal","previousOwnerId","lockedUserID","currentPath","window","location","pathname","documentId","stayWithinDocumentPaths","isStayingWithinDocument","some","includes","shouldShowDocumentLockedModal","_jsx","className","filter","_jsxs","disabled","disableValidationOnSubmit","method","onSuccess","isActive","onReadOnly","onTakeOver","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","data","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport {\n type ClientCollectionConfig,\n type ClientGlobalConfig,\n type ClientSideEditViewProps,\n type ClientUser,\n} from 'payload'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { Upload } from '../../elements/Upload/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore } from '../../utilities/abortAndIgnore.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport './index.scss'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC<ClientSideEditViewProps> = ({\n Description,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload: CustomUpload,\n}) => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n redirectAfterDelete,\n redirectAfterDuplicate,\n savedDocumentData,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n updateSavedDocumentData,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n\n const onChangeAbortControllerRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\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 let preventLeaveWithoutSaving = true\n\n if (collectionConfig) {\n preventLeaveWithoutSaving = !(\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave\n )\n } else if (globalConfig) {\n preventLeaveWithoutSaving = !(\n globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave\n )\n } else if (typeof disableLeaveWithoutSaving !== 'undefined') {\n preventLeaveWithoutSaving = !disableLeaveWithoutSaving\n }\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 classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`]\n\n if (globalSlug) {\n classes.push(`global-edit--${globalSlug}`)\n }\n\n if (collectionSlug) {\n classes.push(`collection-edit--${collectionSlug}`)\n }\n\n const [schemaPathSegments, setSchemaPathSegments] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return [`_${entitySlug}`, 'auth']\n }\n\n return [entitySlug]\n })\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const onSave = useCallback(\n async (json) => {\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 // Unlock the document after save\n if ((id || globalSlug) && isLockingEnabled) {\n setDocumentIsLocked(false)\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 [\n updateSavedDocumentData,\n reportUpdate,\n id,\n entitySlug,\n user,\n collectionSlug,\n userSlug,\n incrementVersionCount,\n onSaveFromContext,\n globalSlug,\n isLockingEnabled,\n isEditing,\n depth,\n getDocPermissions,\n refreshCookieAsync,\n setDocumentIsLocked,\n adminRoute,\n locale,\n router,\n resetUploadEdits,\n ],\n )\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.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 // Performance optimization: Setting it to false ensure that only fields that have explicit requireRender set in the form state will be rendered (e.g. new array rows).\n // We only wanna render ALL fields on initial render, not in onChange.\n renderAllFields: false,\n returnLockStatus: isLockingEnabled ? true : false,\n schemaPath: schemaPathSegments.join('.'),\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 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 schemaPathSegments,\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(onChangeAbortControllerRef.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 !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && <DocumentDrawerHeader drawerSlug={drawerSlug} />}\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={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\n data={savedDocumentData}\n disableActions={disableActions}\n disableCreate={disableCreate}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onSave={onSave}\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 redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={savedDocumentData?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setSchemaPathSegments={setSchemaPathSegments}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n useAPIKey={auth.useAPIKey}\n username={savedDocumentData?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useRouter","useSearchParams","React","Fragment","useCallback","useEffect","useRef","useState","DocumentControls","DocumentDrawerHeader","useDocumentDrawerContext","DocumentFields","DocumentLocked","DocumentTakeOver","LeaveWithoutSaving","Upload","Form","useAuth","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useServerFunctions","useUploadEdits","abortAndIgnore","formatAdminURL","handleBackToDashboard","handleGoBack","handleTakeOver","Auth","SetDocumentStepNav","SetDocumentTitle","baseClass","DefaultEditView","Description","PreviewButton","PublishButton","SaveButton","SaveDraftButton","CustomUpload","id","action","AfterDocument","AfterFields","apiURL","BeforeFields","collectionSlug","currentEditor","disableActions","disableCreate","disableLeaveWithoutSaving","docPermissions","documentIsLocked","getDocPermissions","getDocPreferences","globalSlug","hasPublishPermission","hasSavePermission","incrementVersionCount","initialState","isEditing","isInitializing","lastUpdateTime","redirectAfterDelete","redirectAfterDuplicate","savedDocumentData","setCurrentEditor","setDocumentIsLocked","unlockDocument","updateDocumentEditor","updateSavedDocumentData","clearDoc","drawerSlug","onDelete","onDuplicate","onSave","onSaveFromContext","isInDrawer","Boolean","refreshCookieAsync","user","config","admin","userSlug","routes","adminRoute","getEntityConfig","collectionConfig","globalConfig","depth","router","params","reportUpdate","resetUploadEdits","getFormState","onChangeAbortControllerRef","onSaveAbortControllerRef","locale","get","entitySlug","slug","operation","auth","undefined","upload","docConfig","lockDocumentsProp","lockDocuments","isLockingEnabled","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","preventLeaveWithoutSaving","autosaveEnabled","versions","drafts","autosave","isReadOnlyForIncomingUser","setIsReadOnlyForIncomingUser","showTakeOverModal","setShowTakeOverModal","editSessionStartTime","setEditSessionStartTime","Date","now","lockExpiryTime","isLockExpired","documentLockStateRef","hasShownLockedModal","isLocked","classes","push","schemaPathSegments","setSchemaPathSegments","disableLocalStrategy","validateBeforeSubmit","setValidateBeforeSubmit","handleDocumentLocking","lockedState","previousOwnerId","current","lockedUserID","json","updatedAt","result","toISOString","doc","redirectRoute","path","controller","AbortController","docPreferences","state","data","renderAllFields","returnLockStatus","schemaPath","join","signal","onChange","formState","prevFormState","currentTime","timeSinceLastUpdate","updateLastEdited","shouldUnlockDocument","some","window","location","pathname","includes","shouldShowDocumentLockedModal","_jsx","className","filter","_jsxs","disabled","disableValidationOnSubmit","method","onSuccess","isActive","onReadOnly","onTakeOver","pluralLabel","labels","plural","useAsTitle","fallback","toString","customComponents","onDrawerCreateNew","permissions","readOnlyForIncomingUser","email","loginWithUsername","readOnly","requirePassword","useAPIKey","username","verify","uploadConfig","fields"],"sources":["../../../src/views/Edit/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n ClientGlobalConfig,\n ClientSideEditViewProps,\n ClientUser,\n FormState,\n} from 'payload'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { LockedState } from '../../utilities/buildFormState.js'\n\nimport { DocumentControls } from '../../elements/DocumentControls/index.js'\nimport { DocumentDrawerHeader } from '../../elements/DocumentDrawer/DrawerHeader/index.js'\nimport { useDocumentDrawerContext } from '../../elements/DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../elements/DocumentFields/index.js'\nimport { DocumentLocked } from '../../elements/DocumentLocked/index.js'\nimport { DocumentTakeOver } from '../../elements/DocumentTakeOver/index.js'\nimport { LeaveWithoutSaving } from '../../elements/LeaveWithoutSaving/index.js'\nimport { Upload } from '../../elements/Upload/index.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../providers/Operation/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { abortAndIgnore } from '../../utilities/abortAndIgnore.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { handleBackToDashboard } from '../../utilities/handleBackToDashboard.js'\nimport { handleGoBack } from '../../utilities/handleGoBack.js'\nimport { handleTakeOver } from '../../utilities/handleTakeOver.js'\nimport { Auth } from './Auth/index.js'\nimport { SetDocumentStepNav } from './SetDocumentStepNav/index.js'\nimport { SetDocumentTitle } from './SetDocumentTitle/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\nexport const DefaultEditView: React.FC<ClientSideEditViewProps> = ({\n Description,\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n Upload: CustomUpload,\n}) => {\n const {\n id,\n action,\n AfterDocument,\n AfterFields,\n apiURL,\n BeforeFields,\n collectionSlug,\n currentEditor,\n disableActions,\n disableCreate,\n disableLeaveWithoutSaving,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n globalSlug,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialState,\n isEditing,\n isInitializing,\n lastUpdateTime,\n redirectAfterDelete,\n redirectAfterDuplicate,\n savedDocumentData,\n setCurrentEditor,\n setDocumentIsLocked,\n unlockDocument,\n updateDocumentEditor,\n updateSavedDocumentData,\n } = useDocumentInfo()\n\n const {\n clearDoc,\n drawerSlug,\n onDelete,\n onDuplicate,\n onSave: onSaveFromContext,\n } = useDocumentDrawerContext()\n\n const isInDrawer = Boolean(drawerSlug)\n\n const { refreshCookieAsync, user } = useAuth()\n\n const {\n config,\n config: {\n admin: { user: userSlug },\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug }) as ClientCollectionConfig\n const globalConfig = getEntityConfig({ globalSlug }) as ClientGlobalConfig\n\n const depth = useEditDepth()\n\n const router = useRouter()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { resetUploadEdits } = useUploadEdits()\n const { getFormState } = useServerFunctions()\n\n const onChangeAbortControllerRef = useRef<AbortController>(null)\n const onSaveAbortControllerRef = useRef<AbortController>(null)\n\n const locale = params.get('locale')\n\n const entitySlug = collectionConfig?.slug || globalConfig?.slug\n\n const operation = collectionSlug && !id ? 'create' : 'update'\n\n const auth = collectionConfig ? collectionConfig.auth : undefined\n const upload = collectionConfig ? collectionConfig.upload : undefined\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 let preventLeaveWithoutSaving = true\n let autosaveEnabled = false\n\n if (collectionConfig) {\n autosaveEnabled = Boolean(\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave,\n )\n preventLeaveWithoutSaving = !autosaveEnabled\n } else if (globalConfig) {\n autosaveEnabled = Boolean(\n globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave,\n )\n preventLeaveWithoutSaving = !autosaveEnabled\n } else if (typeof disableLeaveWithoutSaving !== 'undefined') {\n preventLeaveWithoutSaving = !disableLeaveWithoutSaving\n }\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 classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`]\n\n if (globalSlug) {\n classes.push(`global-edit--${globalSlug}`)\n }\n\n if (collectionSlug) {\n classes.push(`collection-edit--${collectionSlug}`)\n }\n\n const [schemaPathSegments, setSchemaPathSegments] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return [`_${entitySlug}`, 'auth']\n }\n\n return [entitySlug]\n })\n\n const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {\n if (operation === 'create' && auth && !auth.disableLocalStrategy) {\n return true\n }\n\n return false\n })\n\n const handleDocumentLocking = useCallback(\n (lockedState: LockedState) => {\n setDocumentIsLocked(true)\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 = {\n hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,\n isLocked: true,\n user: lockedState.user as ClientUser,\n }\n setCurrentEditor(lockedState.user as ClientUser)\n }\n }\n },\n [setCurrentEditor, setDocumentIsLocked, user.id],\n )\n\n const onSave = useCallback(\n async (json): Promise<FormState> => {\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 abortAndIgnore(onSaveAbortControllerRef.current)\n const controller = new AbortController()\n onSaveAbortControllerRef.current = controller\n\n const docPreferences = await getDocPreferences()\n\n const { state } = await getFormState({\n id,\n collectionSlug,\n data: json?.doc,\n docPermissions,\n docPreferences,\n globalSlug,\n operation,\n renderAllFields: true,\n returnLockStatus: false,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n })\n\n // Unlock the document after save\n if (isLockingEnabled) {\n setDocumentIsLocked(false)\n }\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 schemaPathSegments,\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 abortAndIgnore(onChangeAbortControllerRef.current)\n\n const controller = new AbortController()\n onChangeAbortControllerRef.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 // Performance optimization: Setting it to false ensure that only fields that have explicit requireRender set in the form state will be rendered (e.g. new array rows).\n // We only want to render ALL fields on initial render, not in onChange.\n renderAllFields: false,\n returnLockStatus: isLockingEnabled,\n schemaPath: schemaPathSegments.join('.'),\n signal: controller.signal,\n updateLastEdited,\n })\n\n if (isLockingEnabled) {\n handleDocumentLocking(lockedState)\n }\n\n return state\n },\n [\n id,\n collectionSlug,\n getDocPreferences,\n getFormState,\n globalSlug,\n handleDocumentLocking,\n isLockingEnabled,\n operation,\n schemaPathSegments,\n docPermissions,\n editSessionStartTime,\n ],\n )\n\n // Clean up when the component unmounts or when the document is unlocked\n useEffect(() => {\n return () => {\n if (isLockingEnabled && documentIsLocked && (id || globalSlug)) {\n // Only retain the lock if the user is still viewing the document\n const shouldUnlockDocument = !['preview', 'api', 'versions'].some((path) =>\n window.location.pathname.includes(path),\n )\n if (shouldUnlockDocument) {\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\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(onChangeAbortControllerRef.current)\n abortAndIgnore(onSaveAbortControllerRef.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 !documentLockStateRef.current?.hasShownLockedModal &&\n !isLockExpired\n\n return (\n <main className={classes.filter(Boolean).join(' ')}>\n <OperationProvider operation={operation}>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isReadOnlyForIncomingUser || isInitializing || !hasSavePermission}\n disableValidationOnSubmit={!validateBeforeSubmit}\n initialState={!isInitializing && initialState}\n isInitializing={isInitializing}\n method={id ? 'PATCH' : 'POST'}\n onChange={[onChange]}\n onSuccess={onSave}\n >\n {isInDrawer && <DocumentDrawerHeader drawerSlug={drawerSlug} />}\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={collectionConfig?.slug}\n globalSlug={globalConfig?.slug}\n id={id}\n pluralLabel={collectionConfig?.labels?.plural}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n <SetDocumentTitle\n collectionConfig={collectionConfig}\n config={config}\n fallback={depth <= 1 ? id?.toString() : undefined}\n globalConfig={globalConfig}\n />\n <DocumentControls\n apiURL={apiURL}\n customComponents={{\n PreviewButton,\n PublishButton,\n SaveButton,\n SaveDraftButton,\n }}\n data={savedDocumentData}\n disableActions={disableActions}\n disableCreate={disableCreate}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n isEditing={isEditing}\n onDelete={onDelete}\n onDrawerCreateNew={clearDoc}\n onDuplicate={onDuplicate}\n onSave={onSave}\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 redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n slug={collectionConfig?.slug || globalConfig?.slug}\n user={currentEditor}\n />\n <DocumentFields\n AfterFields={AfterFields}\n BeforeFields={\n BeforeFields || (\n <Fragment>\n {auth && (\n <Auth\n className={`${baseClass}__auth`}\n collectionSlug={collectionConfig.slug}\n disableLocalStrategy={collectionConfig.auth?.disableLocalStrategy}\n email={savedDocumentData?.email}\n loginWithUsername={auth?.loginWithUsername}\n operation={operation}\n readOnly={!hasSavePermission}\n requirePassword={!id}\n setSchemaPathSegments={setSchemaPathSegments}\n setValidateBeforeSubmit={setValidateBeforeSubmit}\n useAPIKey={auth.useAPIKey}\n username={savedDocumentData?.username}\n verify={auth.verify}\n />\n )}\n {upload && (\n <React.Fragment>\n {CustomUpload || (\n <Upload\n collectionSlug={collectionConfig.slug}\n initialState={initialState}\n uploadConfig={upload}\n />\n )}\n </React.Fragment>\n )}\n </Fragment>\n )\n }\n Description={Description}\n docPermissions={docPermissions}\n fields={docConfig.fields}\n readOnly={isReadOnlyForIncomingUser || !hasSavePermission}\n schemaPathSegments={schemaPathSegments}\n />\n {AfterDocument}\n </Form>\n </OperationProvider>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.2.1",
3
+ "version": "3.2.2-canary.317488d",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -132,7 +132,7 @@
132
132
  "ts-essentials": "10.0.3",
133
133
  "use-context-selector": "2.0.0",
134
134
  "uuid": "10.0.0",
135
- "@payloadcms/translations": "3.2.1"
135
+ "@payloadcms/translations": "3.2.2-canary.317488d"
136
136
  },
137
137
  "devDependencies": {
138
138
  "@babel/cli": "^7.24.5",
@@ -150,14 +150,14 @@
150
150
  "esbuild": "0.23.1",
151
151
  "esbuild-sass-plugin": "3.3.1",
152
152
  "eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110",
153
- "payload": "3.2.1",
154
- "@payloadcms/eslint-config": "3.0.0"
153
+ "@payloadcms/eslint-config": "3.0.0",
154
+ "payload": "3.2.2-canary.317488d"
155
155
  },
156
156
  "peerDependencies": {
157
157
  "next": "^15.0.0",
158
158
  "react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
159
159
  "react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
160
- "payload": "3.2.1"
160
+ "payload": "3.2.2-canary.317488d"
161
161
  },
162
162
  "engines": {
163
163
  "node": "^18.20.2 || >=20.9.0"
@@ -1,14 +0,0 @@
1
- "use client";
2
- // Workaround for react-datepicker and other cjs dependencies potentially inserting require("react") statements
3
- import * as requireReact from 'react';
4
- import * as requireReactDom from 'react-dom';
5
-
6
- function require(m) {
7
- if (m === 'react') return requireReact;
8
- if (m === 'react-dom') return requireReactDom;
9
- throw new Error(`Unknown module ${m}`);
10
- }
11
- // Workaround end
12
-
13
- import{c as $}from"react/compiler-runtime";import{jsx as v}from"react/jsx-runtime";import{createContext as R,useContext as M,useState as E}from"react";var k=R(void 0),J=l=>{let e=$(7),{children:t,config:r}=l,[o,m]=E(r),s;e[0]!==o.collections||e[1]!==o.globals?(s=u=>{let{collectionSlug:a,globalSlug:c}=u;return a?o.collections.find(f=>f.slug===a):c?o.globals.find(f=>f.slug===c):null},e[0]=o.collections,e[1]=o.globals,e[2]=s):s=e[2];let i=s,n;return e[3]!==o||e[4]!==i||e[5]!==t?(n=v(k.Provider,{value:{config:o,getEntityConfig:i,setConfig:m},children:t}),e[3]=o,e[4]=i,e[5]=t,e[6]=n):n=e[6],n},D=()=>M(k);import{c as P}from"react/compiler-runtime";import*as g from"react";var b=(l,e)=>{let t=P(9),r=e===void 0?!1:e,[o,m]=g.useState(!1),s=g.useRef(void 0),i;t[0]!==l?(i=()=>(m(!1),clearTimeout(s.current),s.current=setTimeout(()=>{m(!0)},l),()=>{clearTimeout(s.current)}),t[0]=l,t[1]=i):i=t[1];let n=i,u,a;t[2]!==r||t[3]!==n?(u=()=>{r&&n()},a=[n,r],t[2]=r,t[3]=n,t[4]=u,t[5]=a):(u=t[4],a=t[5]),g.useEffect(u,a);let c;return t[6]!==o||t[7]!==n?(c=[o,n],t[6]=o,t[7]=n,t[8]=c):c=t[8],c};import{c as j}from"react/compiler-runtime";import{jsx as x}from"react/jsx-runtime";import"react";var A=({animationDelay:l="0ms",height:e="60px",width:t="100%"})=>x("div",{className:"shimmer-effect",style:{height:typeof e=="number"?`${e}px`:e,width:typeof t=="number"?`${t}px`:t},children:x("div",{className:"shimmer-effect__shine",style:{animationDelay:l}})}),te=l=>{let e=j(7),{className:t,count:r,height:o,renderDelay:m,shimmerDelay:s,shimmerItemClassName:i,width:n}=l,u=m===void 0?500:m,a=s===void 0?25:s,c=typeof a=="number"?`${a}ms`:a,[f]=b(u,!0);if(!f)return null;let d;return e[0]!==r||e[1]!==i||e[2]!==c||e[3]!==o||e[4]!==n||e[5]!==t?(d=x("div",{className:t,children:[...Array(r)].map((C,p)=>x("div",{className:i,children:x(A,{animationDelay:`calc(${p} * ${c})`,height:o,width:n})},p))}),e[0]=r,e[1]=i,e[2]=c,e[3]=o,e[4]=n,e[5]=t,e[6]=d):d=e[6],d};import{c as N}from"react/compiler-runtime";import{jsx as S}from"react/jsx-runtime";import{createContext as F,useContext as O,useEffect as H,useState as w}from"react";var I={autoMode:!0,setTheme:()=>null,theme:"light"},_=F(I);function T(l,e,t){let r=new Date;r.setTime(r.getTime()+t*24*60*60*1e3);let o="expires="+r.toUTCString();document.cookie=l+"="+e+";"+o+";path=/"}var K=l=>{let e,t=window.document.cookie.split("; ").find(r=>r.startsWith(`${l}=`))?.split("=")[1];return t==="light"||t==="dark"?e=t:e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",document.documentElement.setAttribute("data-theme",e),{theme:e,themeFromCookies:t}},U="light",ae=l=>{let e=N(11),{children:t,theme:r}=l,{config:o}=D(),m=o.admin.theme,s=`${o.cookiePrefix||"payload"}-theme`,[i,n]=w(r||U),[u,a]=w(),c,f;e[0]!==m||e[1]!==s?(c=()=>{if(m!=="all")return;let{theme:h,themeFromCookies:y}=K(s);n(h),a(!y)},f=[m,s],e[0]=m,e[1]=s,e[2]=c,e[3]=f):(c=e[2],f=e[3]),H(c,f);let d;e[4]!==s?(d=h=>{if(h==="light"||h==="dark")n(h),a(!1),T(s,h,365),document.documentElement.setAttribute("data-theme",h);else if(h==="auto"){T(s,h,-1);let y=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";document.documentElement.setAttribute("data-theme",y),a(!0),n(y)}},e[4]=s,e[5]=d):d=e[5];let C=d,p;return e[6]!==u||e[7]!==C||e[8]!==i||e[9]!==t?(p=S(_.Provider,{value:{autoMode:u,setTheme:C,theme:i},children:t}),e[6]=u,e[7]=C,e[8]=i,e[9]=t,e[10]=p):p=e[10],p},me=()=>O(_);export{J as a,D as b,b as c,A as d,te as e,U as f,ae as g,me as h};
14
- //# sourceMappingURL=chunk-PNHVQDTJ.js.map
@@ -1,8 +0,0 @@
1
- "use client";
2
- {
3
- "version": 3,
4
- "sources": ["../../../src/providers/Config/index.tsx", "../../../src/hooks/useDelay.ts", "../../../src/elements/ShimmerEffect/index.tsx", "../../../src/providers/Theme/index.tsx"],
5
- "sourcesContent": ["'use client'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext, useState } from 'react'\n\nexport type ClientConfigContext = {\n config: ClientConfig\n getEntityConfig: (args: {\n collectionSlug?: string\n globalSlug?: string\n }) => ClientCollectionConfig | ClientGlobalConfig | null\n setConfig: (config: ClientConfig) => void\n}\n\nexport type EntityConfigContext = {\n collectionConfig?: ClientCollectionConfig\n globalConfig?: ClientGlobalConfig\n setEntityConfig: (args: {\n collectionConfig?: ClientCollectionConfig | null\n globalConfig?: ClientGlobalConfig | null\n }) => void\n}\n\nconst RootConfigContext = createContext<ClientConfigContext | undefined>(undefined)\n\nexport const ConfigProvider: React.FC<{\n readonly children: React.ReactNode\n readonly config: ClientConfig\n}> = ({ children, config: configFromProps }) => {\n const [config, setConfig] = useState<ClientConfig>(configFromProps)\n\n const getEntityConfig = useCallback(\n ({ collectionSlug, globalSlug }: { collectionSlug?: string; globalSlug?: string }) => {\n if (collectionSlug) {\n return config.collections.find((collection) => collection.slug === collectionSlug)\n }\n\n if (globalSlug) {\n return config.globals.find((global) => global.slug === globalSlug)\n }\n\n return null\n },\n [config],\n )\n\n return (\n <RootConfigContext.Provider value={{ config, getEntityConfig, setConfig }}>\n {children}\n </RootConfigContext.Provider>\n )\n}\n\nexport const useConfig = (): ClientConfigContext => useContext(RootConfigContext)\n", "'use client'\nimport * as React from 'react'\n\ntype Result = [boolean, () => void]\nexport const useDelay = (delay: number, triggerOnMount = false): Result => {\n const [hasDelayed, setHasDelayed] = React.useState(false)\n const triggerTimeoutRef = React.useRef<NodeJS.Timeout>(undefined)\n\n const triggerDelay = React.useCallback(() => {\n setHasDelayed(false)\n clearTimeout(triggerTimeoutRef.current)\n triggerTimeoutRef.current = setTimeout(() => {\n setHasDelayed(true)\n }, delay)\n\n return () => {\n clearTimeout(triggerTimeoutRef.current)\n }\n }, [delay])\n\n React.useEffect(() => {\n if (triggerOnMount) {\n triggerDelay()\n }\n }, [triggerDelay, triggerOnMount])\n\n return [hasDelayed, triggerDelay]\n}\n", "'use client'\nimport * as React from 'react'\n\nimport { useDelay } from '../../hooks/useDelay.js'\nimport './index.scss'\n\nexport type ShimmerEffectProps = {\n readonly animationDelay?: string\n readonly height?: number | string\n readonly width?: number | string\n}\n\nexport const ShimmerEffect: React.FC<ShimmerEffectProps> = ({\n animationDelay = '0ms',\n height = '60px',\n width = '100%',\n}) => {\n return (\n <div\n className=\"shimmer-effect\"\n style={{\n height: typeof height === 'number' ? `${height}px` : height,\n width: typeof width === 'number' ? `${width}px` : width,\n }}\n >\n <div\n className=\"shimmer-effect__shine\"\n style={{\n animationDelay,\n }}\n />\n </div>\n )\n}\n\nexport type StaggeredShimmersProps = {\n className?: string\n count: number\n height?: number | string\n renderDelay?: number\n shimmerDelay?: number | string\n shimmerItemClassName?: string\n width?: number | string\n}\n\nexport const StaggeredShimmers: React.FC<StaggeredShimmersProps> = ({\n className,\n count,\n height,\n renderDelay = 500,\n shimmerDelay = 25,\n shimmerItemClassName,\n width,\n}) => {\n const shimmerDelayToPass = typeof shimmerDelay === 'number' ? `${shimmerDelay}ms` : shimmerDelay\n const [hasDelayed] = useDelay(renderDelay, true)\n\n if (!hasDelayed) {\n return null\n }\n\n return (\n <div className={className}>\n {[...Array(count)].map((_, i) => (\n <div className={shimmerItemClassName} key={i}>\n <ShimmerEffect\n animationDelay={`calc(${i} * ${shimmerDelayToPass})`}\n height={height}\n width={width}\n />\n </div>\n ))}\n </div>\n )\n}\n", "'use client'\nimport React, { createContext, useCallback, useContext, useEffect, useState } from 'react'\n\nimport { useConfig } from '../Config/index.js'\n\nexport type Theme = 'dark' | 'light'\n\nexport type ThemeContext = {\n autoMode: boolean\n setTheme: (theme: Theme) => void\n theme: Theme\n}\n\nconst initialContext: ThemeContext = {\n autoMode: true,\n setTheme: () => null,\n theme: 'light',\n}\n\nconst Context = createContext(initialContext)\n\nfunction setCookie(cname, cvalue, exdays) {\n const d = new Date()\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)\n const expires = 'expires=' + d.toUTCString()\n document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'\n}\n\nconst getTheme = (\n cookieKey,\n): {\n theme: Theme\n themeFromCookies: null | string\n} => {\n let theme: Theme\n\n const themeFromCookies = window.document.cookie\n .split('; ')\n .find((row) => row.startsWith(`${cookieKey}=`))\n ?.split('=')[1]\n\n if (themeFromCookies === 'light' || themeFromCookies === 'dark') {\n theme = themeFromCookies\n } else {\n theme =\n window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n }\n\n document.documentElement.setAttribute('data-theme', theme)\n\n return { theme, themeFromCookies }\n}\n\nexport const defaultTheme = 'light'\n\nexport const ThemeProvider: React.FC<{\n children?: React.ReactNode\n theme?: Theme\n}> = ({ children, theme: initialTheme }) => {\n const { config } = useConfig()\n\n const preselectedTheme = config.admin.theme\n const cookieKey = `${config.cookiePrefix || 'payload'}-theme`\n\n const [theme, setThemeState] = useState<Theme>(initialTheme || defaultTheme)\n\n const [autoMode, setAutoMode] = useState<boolean>()\n\n useEffect(() => {\n if (preselectedTheme !== 'all') {\n return\n }\n\n const { theme, themeFromCookies } = getTheme(cookieKey)\n setThemeState(theme)\n setAutoMode(!themeFromCookies)\n }, [preselectedTheme, cookieKey])\n\n const setTheme = useCallback(\n (themeToSet: 'auto' | Theme) => {\n if (themeToSet === 'light' || themeToSet === 'dark') {\n setThemeState(themeToSet)\n setAutoMode(false)\n setCookie(cookieKey, themeToSet, 365)\n document.documentElement.setAttribute('data-theme', themeToSet)\n } else if (themeToSet === 'auto') {\n // to delete the cookie, we set an expired date\n setCookie(cookieKey, themeToSet, -1)\n const themeFromOS =\n window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light'\n document.documentElement.setAttribute('data-theme', themeFromOS)\n setAutoMode(true)\n setThemeState(themeFromOS)\n }\n },\n [cookieKey],\n )\n\n return <Context.Provider value={{ autoMode, setTheme, theme }}>{children}</Context.Provider>\n}\n\nexport const useTheme = (): ThemeContext => useContext(Context)\n"],
6
- "mappings": "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",
7
- "names": ["c", "_c", "createContext", "useContext", "useState", "RootConfigContext", "undefined", "ConfigProvider", "t0", "$", "children", "config", "configFromProps", "setConfig", "t1", "collections", "globals", "t2", "collectionSlug", "globalSlug", "find", "collection", "slug", "global", "getEntityConfig", "_jsx", "Provider", "value", "useConfig", "c", "_c", "React", "useDelay", "delay", "t0", "$", "triggerOnMount", "undefined", "hasDelayed", "setHasDelayed", "useState", "triggerTimeoutRef", "useRef", "t1", "clearTimeout", "current", "setTimeout", "triggerDelay", "t2", "t3", "useEffect", "t4", "c", "_c", "ShimmerEffect", "animationDelay", "height", "_jsx", "className", "style", "width", "StaggeredShimmers", "t0", "$", "_c", "count", "t1", "renderDelay", "shimmerDelay", "shimmerItemClassName", "undefined", "shimmerDelayToPass", "hasDelayed", "t3", "_", "i", "children", "c", "_c", "createContext", "useContext", "useEffect", "useState", "initialContext", "autoMode", "setTheme", "theme", "Context", "createContext", "setCookie", "cname", "cvalue", "exdays", "d", "Date", "setTime", "getTime", "expires", "toUTCString", "document", "cookie", "getTheme", "cookieKey", "themeFromCookies", "window", "split", "find", "row", "startsWith", "matchMedia", "matches", "documentElement", "setAttribute", "defaultTheme", "ThemeProvider", "t0", "$", "_c", "children", "initialTheme", "config", "useConfig", "preselectedTheme", "admin", "cookiePrefix", "setThemeState", "useState", "setAutoMode", "t1", "t2", "theme_0", "useEffect", "t3", "themeToSet", "themeFromOS", "t4", "_jsx", "Provider", "value", "useTheme", "useContext"]
8
- }