@payloadcms/next 3.35.0-internal.b3d367c → 3.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/login.d.ts +22 -0
- package/dist/auth/login.d.ts.map +1 -0
- package/dist/auth/login.js +71 -0
- package/dist/auth/login.js.map +1 -0
- package/dist/auth/logout.d.ts +7 -0
- package/dist/auth/logout.d.ts.map +1 -0
- package/dist/auth/logout.js +37 -0
- package/dist/auth/logout.js.map +1 -0
- package/dist/auth/refresh.d.ts +9 -0
- package/dist/auth/refresh.d.ts.map +1 -0
- package/dist/auth/refresh.js +48 -0
- package/dist/auth/refresh.js.map +1 -0
- package/dist/exports/auth.d.ts +4 -0
- package/dist/exports/auth.d.ts.map +1 -0
- package/dist/exports/auth.js +4 -0
- package/dist/exports/auth.js.map +1 -0
- package/dist/prod/styles.css +1 -1
- package/dist/utilities/getExistingAuthToken.d.ts +7 -0
- package/dist/utilities/getExistingAuthToken.d.ts.map +1 -0
- package/dist/utilities/getExistingAuthToken.js +6 -0
- package/dist/utilities/getExistingAuthToken.js.map +1 -0
- package/dist/utilities/setPayloadAuthCookie.d.ts +9 -0
- package/dist/utilities/setPayloadAuthCookie.d.ts.map +1 -0
- package/dist/utilities/setPayloadAuthCookie.js +27 -0
- package/dist/utilities/setPayloadAuthCookie.js.map +1 -0
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +2 -1
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Toolbar/Controls/index.js +2 -2
- package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts +2 -2
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +5 -4
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +127 -332
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/index.scss +32 -102
- package/dist/views/Version/Default/types.d.ts +8 -12
- package/dist/views/Version/Default/types.d.ts.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +4 -4
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +33 -32
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +3 -30
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts +1 -6
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +17 -21
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +3 -4
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +55 -80
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +11 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +11 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +10 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +20 -20
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +5 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +58 -49
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +11 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts +9 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +23 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +45 -39
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +11 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +37 -37
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +11 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts +9 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +23 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +60 -77
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +11 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts +7 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +7 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +1 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts +3 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +37 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/index.js +0 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +1 -1
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/index.scss +1 -6
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +68 -26
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.scss +4 -0
- package/dist/views/Version/SelectComparison/types.d.ts +4 -4
- package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.d.ts +2 -9
- package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +60 -33
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.scss +9 -0
- package/dist/views/Version/SelectLocales/types.d.ts +7 -0
- package/dist/views/Version/SelectLocales/types.d.ts.map +1 -0
- package/dist/views/Version/SelectLocales/types.js +2 -0
- package/dist/views/Version/SelectLocales/types.js.map +1 -0
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +56 -105
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +4 -4
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/getLatestVersion.d.ts +2 -2
- package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
- package/dist/views/Versions/getLatestVersion.js.map +1 -1
- package/package.json +8 -7
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +0 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +0 -78
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +0 -4
- package/dist/views/Version/SelectComparison/VersionPillLabel.d.ts +0 -6
- package/dist/views/Version/SelectComparison/VersionPillLabel.d.ts.map +0 -1
- package/dist/views/Version/SelectComparison/VersionPillLabel.js +0 -70
- package/dist/views/Version/SelectComparison/VersionPillLabel.js.map +0 -1
- package/dist/views/Version/SelectComparison/formatVersionPill.d.ts +0 -8
- package/dist/views/Version/SelectComparison/formatVersionPill.d.ts.map +0 -1
- package/dist/views/Version/SelectComparison/formatVersionPill.js +0 -24
- package/dist/views/Version/SelectComparison/formatVersionPill.js.map +0 -1
|
@@ -84,7 +84,7 @@ const Restore = ({
|
|
|
84
84
|
className: [baseClass, className].filter(Boolean).join(' '),
|
|
85
85
|
children: /*#__PURE__*/_jsx(Button, {
|
|
86
86
|
buttonStyle: "pill",
|
|
87
|
-
className: [canRestoreAsDraft && `${baseClass}
|
|
87
|
+
className: [canRestoreAsDraft && `${baseClass}__button`].filter(Boolean).join(' '),
|
|
88
88
|
onClick: () => toggleModal(modalSlug),
|
|
89
89
|
size: "small",
|
|
90
90
|
SubMenuPopupContent: canRestoreAsDraft ? () => /*#__PURE__*/_jsx(PopupList.ButtonGroup, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","Button","ConfirmationModal","PopupList","toast","useConfig","useModal","useRouteTransition","useTranslation","requests","useRouter","formatAdminURL","React","Fragment","useCallback","useState","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","status","versionDate","versionID","config","routes","admin","adminRoute","api","apiRoute","serverURL","getEntityConfig","collectionConfig","toggleModal","router","i18n","t","draft","setDraft","startRouteTransition","restoreMessage","fetchURL","redirectURL","canRestoreAsDraft","versions","drafts","path","handleRestore","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","body","confirmingLabel","heading","onConfirm"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ConfirmationModal,\n PopupList,\n toast,\n useConfig,\n useModal,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n status,\n versionDate,\n versionID,\n}) => {\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n const { startRouteTransition } = useRouteTransition()\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${originalDocID}`,\n })\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n }\n\n const handleRestore = useCallback(async () => {\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n return startRouteTransition(() => router.push(redirectURL))\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router, startRouteTransition])\n\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"pill\"\n className={[canRestoreAsDraft && `${baseClass}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","Button","ConfirmationModal","PopupList","toast","useConfig","useModal","useRouteTransition","useTranslation","requests","useRouter","formatAdminURL","React","Fragment","useCallback","useState","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","status","versionDate","versionID","config","routes","admin","adminRoute","api","apiRoute","serverURL","getEntityConfig","collectionConfig","toggleModal","router","i18n","t","draft","setDraft","startRouteTransition","restoreMessage","fetchURL","redirectURL","canRestoreAsDraft","versions","drafts","path","handleRestore","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","body","confirmingLabel","heading","onConfirm"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ConfirmationModal,\n PopupList,\n toast,\n useConfig,\n useModal,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n status,\n versionDate,\n versionID,\n}) => {\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n const { startRouteTransition } = useRouteTransition()\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${originalDocID}`,\n })\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n }\n\n const handleRestore = useCallback(async () => {\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n return startRouteTransition(() => router.push(redirectURL))\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router, startRouteTransition])\n\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"pill\"\n className={[canRestoreAsDraft && `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"small\"\n SubMenuPopupContent={\n canRestoreAsDraft\n ? () => (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n : null\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <ConfirmationModal\n body={restoreMessage}\n confirmingLabel={t('version:restoring')}\n heading={t('version:confirmVersionRestoration')}\n modalSlug={modalSlug}\n onConfirm={handleRestore}\n />\n </Fragment>\n )\n}\n\nexport default Restore\n"],"mappings":"AAAA;;;AAEA,SAASA,cAAc,QAAQ;AAC/B,SACEC,MAAM,EACNC,iBAAiB,EACjBC,SAAS,EACTC,KAAK,EACLC,SAAS,EACTC,QAAQ,EACRC,kBAAkB,EAClBC,cAAc,QACT;AACP,SAASC,QAAQ,QAAQ;AACzB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,QAAQ;AAMvD,MAAMC,SAAA,GAAY;AAClB,MAAMC,SAAA,GAAY;AAElB,MAAMC,OAAA,GAA2BA,CAAC;EAChCC,SAAS;EACTC,cAAc;EACdC,UAAU;EACVC,KAAK;EACLC,aAAa;EACbC,MAAM;EACNC,WAAW;EACXC;AAAS,CACV;EACC,MAAM;IACJC,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,UAAU;QAAEC,GAAA,EAAKC;MAAQ,CAAE;MAC5CC;IAAS,CACV;IACDC;EAAe,CAChB,GAAG7B,SAAA;EAEJ,MAAM8B,gBAAA,GAAmBD,eAAA,CAAgB;IAAEd;EAAe;EAE1D,MAAM;IAAEgB;EAAW,CAAE,GAAG9B,QAAA;EACxB,MAAM+B,MAAA,GAAS3B,SAAA;EACf,MAAM;IAAE4B,IAAI;IAAEC;EAAC,CAAE,GAAG/B,cAAA;EACpB,MAAM,CAACgC,KAAA,EAAOC,QAAA,CAAS,GAAG1B,QAAA,CAAS;EACnC,MAAM;IAAE2B;EAAoB,CAAE,GAAGnC,kBAAA;EAEjC,MAAMoC,cAAA,GAAiBJ,CAAA,CAAE,gCAAgC;IACvDjB,KAAA,EAAOtB,cAAA,CAAesB,KAAA,EAAOgB,IAAA;IAC7Bb;EACF;EAEA,IAAImB,QAAA,GAAW,GAAGX,SAAA,GAAYD,QAAA,EAAU;EACxC,IAAIa,WAAA;EAEJ,MAAMC,iBAAA,GAAoBtB,MAAA,KAAW,WAAWW,gBAAA,EAAkBY,QAAA,EAAUC,MAAA;EAE5E,IAAI5B,cAAA,EAAgB;IAClBwB,QAAA,GAAW,GAAGA,QAAA,IAAYxB,cAAA,aAA2BM,SAAA,UAAmBc,KAAA,EAAO;IAC/EK,WAAA,GAAclC,cAAA,CAAe;MAC3BmB,UAAA;MACAmB,IAAA,EAAM,gBAAgB7B,cAAA,IAAkBG,aAAA;IAC1C;EACF;EAEA,IAAIF,UAAA,EAAY;IACduB,QAAA,GAAW,GAAGA,QAAA,YAAoBvB,UAAA,aAAuBK,SAAA,UAAmBc,KAAA,EAAO;IACnFK,WAAA,GAAclC,cAAA,CAAe;MAC3BmB,UAAA;MACAmB,IAAA,EAAM,YAAY5B,UAAA;IACpB;EACF;EAEA,MAAM6B,aAAA,GAAgBpC,WAAA,CAAY;IAChC,MAAMqC,GAAA,GAAM,MAAM1C,QAAA,CAAS2C,IAAI,CAACR,QAAA,EAAU;MACxCS,OAAA,EAAS;QACP,mBAAmBf,IAAA,CAAKgB;MAC1B;IACF;IAEA,IAAIH,GAAA,CAAI3B,MAAM,KAAK,KAAK;MACtB,MAAM+B,IAAA,GAAO,MAAMJ,GAAA,CAAII,IAAI;MAC3BnD,KAAA,CAAMoD,OAAO,CAACD,IAAA,CAAKE,OAAO;MAC1B,OAAOf,oBAAA,CAAqB,MAAML,MAAA,CAAOqB,IAAI,CAACb,WAAA;IAChD,OAAO;MACLzC,KAAA,CAAMuD,KAAK,CAACpB,CAAA,CAAE;IAChB;EACF,GAAG,CAACK,QAAA,EAAUC,WAAA,EAAaN,CAAA,EAAGD,IAAA,EAAMD,MAAA,EAAQK,oBAAA,CAAqB;EAEjE,oBACEkB,KAAA,CAAC/C,QAAA;4BACCgD,IAAA,CAAC;MAAI1C,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAAC2C,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;gBAC1D,aAAAH,IAAA,CAAC5D,MAAA;QACCgE,WAAA,EAAY;QACZ9C,SAAA,EAAW,CAAC2B,iBAAA,IAAqB,GAAG9B,SAAA,UAAmB,CAAC,CAAC8C,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;QAC9EE,OAAA,EAASA,CAAA,KAAM9B,WAAA,CAAYnB,SAAA;QAC3BkD,IAAA,EAAK;QACLC,mBAAA,EACEtB,iBAAA,GACI,mBACEe,IAAA,CAAC1D,SAAA,CAAUkE,WAAW;oBACpB,aAAAR,IAAA,CAAC1D,SAAA,CAAUF,MAAM;YAACiE,OAAA,EAASA,CAAA,KAAM,CAACzB,QAAA,CAAS,OAAOL,WAAA,CAAYnB,SAAA,EAAW;sBACtEsB,CAAA,CAAE;;aAIT;kBAGLA,CAAA,CAAE;;qBAGPsB,IAAA,CAAC3D,iBAAA;MACCoE,IAAA,EAAM3B,cAAA;MACN4B,eAAA,EAAiBhC,CAAA,CAAE;MACnBiC,OAAA,EAASjC,CAAA,CAAE;MACXtB,SAAA,EAAWA,SAAA;MACXwD,SAAA,EAAWvB;;;AAInB;AAEA,eAAehC,OAAA","ignoreList":[]}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
.restore-version {
|
|
5
5
|
cursor: pointer;
|
|
6
6
|
display: flex;
|
|
7
|
-
min-width: max-content;
|
|
8
7
|
|
|
9
8
|
.popup-button {
|
|
10
9
|
display: flex;
|
|
@@ -25,11 +24,7 @@
|
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
margin-block: 0;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
&__restore-as-draft-button {
|
|
27
|
+
&__button {
|
|
33
28
|
border-top-right-radius: 0px;
|
|
34
29
|
border-bottom-right-radius: 0px;
|
|
35
30
|
margin-right: 2px;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyL5C,CAAA"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
-
import { fieldBaseClass, ReactSelect, useConfig, useTranslation } from '@payloadcms/ui';
|
|
4
|
+
import { fieldBaseClass, Pill, ReactSelect, useConfig, useTranslation } from '@payloadcms/ui';
|
|
5
|
+
import { formatDate } from '@payloadcms/ui/shared';
|
|
5
6
|
import { stringify } from 'qs-esm';
|
|
6
7
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
7
|
-
import {
|
|
8
|
+
import { renderPill } from '../../Versions/cells/AutosaveCell/index.js';
|
|
8
9
|
const baseClass = 'compare-version';
|
|
9
10
|
const maxResultsPerRequest = 10;
|
|
10
11
|
const baseOptions = [];
|
|
@@ -12,25 +13,28 @@ export const SelectComparison = props => {
|
|
|
12
13
|
const {
|
|
13
14
|
baseURL,
|
|
14
15
|
draftsEnabled,
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
latestDraftVersion,
|
|
17
|
+
latestPublishedVersion,
|
|
17
18
|
onChange,
|
|
18
19
|
parentID,
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
value,
|
|
21
|
+
versionID
|
|
21
22
|
} = props;
|
|
22
|
-
const {
|
|
23
|
-
i18n,
|
|
24
|
-
t
|
|
25
|
-
} = useTranslation();
|
|
26
23
|
const {
|
|
27
24
|
config: {
|
|
25
|
+
admin: {
|
|
26
|
+
dateFormat
|
|
27
|
+
},
|
|
28
28
|
localization
|
|
29
29
|
}
|
|
30
30
|
} = useConfig();
|
|
31
31
|
const [options, setOptions] = useState(baseOptions);
|
|
32
32
|
const [lastLoadedPage, setLastLoadedPage] = useState(1);
|
|
33
33
|
const [errorLoading, setErrorLoading] = useState('');
|
|
34
|
+
const {
|
|
35
|
+
i18n,
|
|
36
|
+
t
|
|
37
|
+
} = useTranslation();
|
|
34
38
|
const loadedAllOptionsRef = React.useRef(false);
|
|
35
39
|
const getResults = useCallback(async ({
|
|
36
40
|
lastLoadedPage: lastLoadedPageArg
|
|
@@ -45,7 +49,7 @@ export const SelectComparison = props => {
|
|
|
45
49
|
where: {
|
|
46
50
|
and: [{
|
|
47
51
|
id: {
|
|
48
|
-
not_equals:
|
|
52
|
+
not_equals: versionID
|
|
49
53
|
}
|
|
50
54
|
}]
|
|
51
55
|
}
|
|
@@ -74,18 +78,52 @@ export const SelectComparison = props => {
|
|
|
74
78
|
if (response.ok) {
|
|
75
79
|
const data = await response.json();
|
|
76
80
|
if (data.docs.length > 0) {
|
|
81
|
+
const versionInfo = {
|
|
82
|
+
draft: {
|
|
83
|
+
currentLabel: t('version:currentDraft'),
|
|
84
|
+
latestVersion: latestDraftVersion,
|
|
85
|
+
pillStyle: undefined,
|
|
86
|
+
previousLabel: t('version:draft')
|
|
87
|
+
},
|
|
88
|
+
published: {
|
|
89
|
+
currentLabel: t('version:currentPublishedVersion'),
|
|
90
|
+
latestVersion: latestPublishedVersion,
|
|
91
|
+
pillStyle: 'success',
|
|
92
|
+
previousLabel: t('version:previouslyPublished')
|
|
93
|
+
}
|
|
94
|
+
};
|
|
77
95
|
const additionalOptions = data.docs.map(doc => {
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
96
|
+
const status = doc.version._status;
|
|
97
|
+
let publishedLocalePill = null;
|
|
98
|
+
const publishedLocale = doc.publishedLocale || undefined;
|
|
99
|
+
const {
|
|
100
|
+
currentLabel,
|
|
101
|
+
latestVersion,
|
|
102
|
+
pillStyle,
|
|
103
|
+
previousLabel
|
|
104
|
+
} = versionInfo[status] || {};
|
|
105
|
+
if (localization && localization?.locales && publishedLocale) {
|
|
106
|
+
const localeCode = Array.isArray(publishedLocale) ? publishedLocale[0] : publishedLocale;
|
|
107
|
+
const locale = localization.locales.find(loc => loc.code === localeCode);
|
|
108
|
+
const formattedLabel = locale?.label?.[i18n?.language] || locale?.label;
|
|
109
|
+
if (formattedLabel) {
|
|
110
|
+
publishedLocalePill = /*#__PURE__*/_jsx(Pill, {
|
|
111
|
+
children: formattedLabel
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
83
115
|
return {
|
|
84
|
-
label:
|
|
85
|
-
|
|
116
|
+
label: /*#__PURE__*/_jsxs("div", {
|
|
117
|
+
children: [formatDate({
|
|
118
|
+
date: doc.updatedAt,
|
|
119
|
+
i18n,
|
|
120
|
+
pattern: dateFormat
|
|
121
|
+
}), " ", renderPill(doc, latestVersion, currentLabel, previousLabel, pillStyle), publishedLocalePill]
|
|
122
|
+
}),
|
|
123
|
+
value: doc.id
|
|
86
124
|
};
|
|
87
125
|
});
|
|
88
|
-
setOptions(existingOptions => [...existingOptions, ...additionalOptions]
|
|
126
|
+
setOptions(existingOptions => [...existingOptions, ...additionalOptions]);
|
|
89
127
|
if (!data.hasNextPage) {
|
|
90
128
|
loadedAllOptionsRef.current = true;
|
|
91
129
|
}
|
|
@@ -94,7 +132,7 @@ export const SelectComparison = props => {
|
|
|
94
132
|
} else {
|
|
95
133
|
setErrorLoading(t('error:unspecific'));
|
|
96
134
|
}
|
|
97
|
-
}, [
|
|
135
|
+
}, [dateFormat, baseURL, parentID, versionID, t, i18n, latestDraftVersion, latestPublishedVersion]);
|
|
98
136
|
useEffect(() => {
|
|
99
137
|
if (!i18n.dateFNS) {
|
|
100
138
|
// If dateFNS is not loaded, we can't format the date in getResults
|
|
@@ -104,14 +142,18 @@ export const SelectComparison = props => {
|
|
|
104
142
|
lastLoadedPage: 1
|
|
105
143
|
});
|
|
106
144
|
}, [getResults, i18n.dateFNS]);
|
|
145
|
+
const filteredOptions = options.filter((option, index, self) => self.findIndex(t_0 => t_0.value === option.value) === index);
|
|
107
146
|
useEffect(() => {
|
|
108
|
-
if (
|
|
109
|
-
onChange(
|
|
147
|
+
if (filteredOptions.length > 0 && !value) {
|
|
148
|
+
onChange(filteredOptions[0]);
|
|
110
149
|
}
|
|
111
|
-
}, [
|
|
150
|
+
}, [filteredOptions, value, onChange]);
|
|
112
151
|
return /*#__PURE__*/_jsxs("div", {
|
|
113
152
|
className: [fieldBaseClass, baseClass, errorLoading && 'error-loading'].filter(Boolean).join(' '),
|
|
114
|
-
children: [
|
|
153
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
154
|
+
className: `${baseClass}__label`,
|
|
155
|
+
children: t('version:compareVersion')
|
|
156
|
+
}), !errorLoading && /*#__PURE__*/_jsx(ReactSelect, {
|
|
115
157
|
isClearable: false,
|
|
116
158
|
isSearchable: false,
|
|
117
159
|
onChange: onChange,
|
|
@@ -120,9 +162,9 @@ export const SelectComparison = props => {
|
|
|
120
162
|
lastLoadedPage: lastLoadedPage + 1
|
|
121
163
|
});
|
|
122
164
|
},
|
|
123
|
-
options:
|
|
165
|
+
options: filteredOptions,
|
|
124
166
|
placeholder: t('version:selectVersionToCompare'),
|
|
125
|
-
value:
|
|
167
|
+
value: value
|
|
126
168
|
}), errorLoading && /*#__PURE__*/_jsx("div", {
|
|
127
169
|
className: `${baseClass}__error-loading`,
|
|
128
170
|
children: errorLoading
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["fieldBaseClass","ReactSelect","useConfig","useTranslation","stringify","React","useCallback","useEffect","useState","formatVersionPill","baseClass","maxResultsPerRequest","baseOptions","SelectComparison","props","baseURL","draftsEnabled","latestDraftVersionID","latestPublishedVersionID","onChange","parentID","versionFromOption","versionToID","i18n","t","config","localization","options","setOptions","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","loadedAllOptionsRef","useRef","getResults","lastLoadedPageArg","current","query","depth","limit","page","where","and","id","not_equals","push","parent","equals","snapshot","search","response","fetch","credentials","headers","language","ok","data","json","docs","length","additionalOptions","map","doc","pill","label","Label","value","existingOptions","filter","option","index","self","findIndex","hasNextPage","dateFNS","_jsxs","className","Boolean","join","_jsx","isClearable","isSearchable","onMenuScrollToBottom","placeholder"],"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { fieldBaseClass, Pill, ReactSelect, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { stringify } from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { renderPill } from '../../Versions/cells/AutosaveCell/index.js'\nimport './index.scss'\nimport { formatVersionPill } from './formatVersionPill.js'\n\nconst baseClass = 'compare-version'\n\nconst maxResultsPerRequest = 10\n\nconst baseOptions = []\n\nexport const SelectComparison: React.FC<Props> = (props) => {\n const {\n baseURL,\n draftsEnabled,\n latestDraftVersionID,\n latestPublishedVersionID,\n onChange,\n parentID,\n versionFromOption,\n versionToID,\n } = props\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const [options, setOptions] = useState<\n {\n label: React.ReactNode | string\n value: string\n }[]\n >(baseOptions)\n const [lastLoadedPage, setLastLoadedPage] = useState(1)\n const [errorLoading, setErrorLoading] = useState('')\n const loadedAllOptionsRef = React.useRef(false)\n\n const getResults = useCallback(\n async ({ lastLoadedPage: lastLoadedPageArg }) => {\n if (loadedAllOptionsRef.current) {\n return\n }\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: lastLoadedPageArg,\n where: {\n and: [\n {\n id: {\n not_equals: versionToID,\n },\n },\n ],\n },\n }\n\n if (parentID) {\n query.where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n if (localization && draftsEnabled) {\n query.where.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n const search = stringify(query)\n\n const response = await fetch(`${baseURL}?${search}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n\n if (data.docs.length > 0) {\n const additionalOptions = data.docs.map((doc) => {\n const pill = formatVersionPill({\n doc,\n latestDraftVersionID,\n latestPublishedVersionID,\n })\n\n return {\n label: pill.Label,\n value: pill.id,\n }\n })\n\n setOptions((existingOptions) =>\n [...existingOptions, ...additionalOptions].filter(\n (option, index, self) => self.findIndex((t) => t.value === option.value) === index,\n ),\n )\n\n if (!data.hasNextPage) {\n loadedAllOptionsRef.current = true\n }\n setLastLoadedPage(data.page)\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n },\n [\n versionToID,\n parentID,\n localization,\n draftsEnabled,\n baseURL,\n i18n.language,\n latestDraftVersionID,\n latestPublishedVersionID,\n t,\n ],\n )\n\n useEffect(() => {\n if (!i18n.dateFNS) {\n // If dateFNS is not loaded, we can't format the date in getResults\n return\n }\n void getResults({ lastLoadedPage: 1 })\n }, [getResults, i18n.dateFNS])\n\n useEffect(() => {\n if (options.length > 0 && !versionFromOption) {\n onChange(options[0])\n }\n }, [options, versionFromOption, onChange])\n\n return (\n <div\n className={[fieldBaseClass, baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')}\n >\n {!errorLoading && (\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n onMenuScrollToBottom={() => {\n void getResults({ lastLoadedPage: lastLoadedPage + 1 })\n }}\n options={options}\n placeholder={t('version:selectVersionToCompare')}\n value={versionFromOption}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["fieldBaseClass","Pill","ReactSelect","useConfig","useTranslation","formatDate","stringify","React","useCallback","useEffect","useState","renderPill","baseClass","maxResultsPerRequest","baseOptions","SelectComparison","props","baseURL","draftsEnabled","latestDraftVersion","latestPublishedVersion","onChange","parentID","value","versionID","config","admin","dateFormat","localization","options","setOptions","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","i18n","t","loadedAllOptionsRef","useRef","getResults","lastLoadedPageArg","current","query","depth","limit","page","where","and","id","not_equals","push","parent","equals","snapshot","search","response","fetch","credentials","headers","language","ok","data","json","docs","length","versionInfo","draft","currentLabel","latestVersion","pillStyle","undefined","previousLabel","published","additionalOptions","map","doc","status","version","_status","publishedLocalePill","publishedLocale","locales","localeCode","Array","isArray","locale","find","loc","code","formattedLabel","label","_jsx","_jsxs","date","updatedAt","pattern","existingOptions","hasNextPage","dateFNS","filteredOptions","filter","option","index","self","findIndex","className","Boolean","join","isClearable","isSearchable","onMenuScrollToBottom","placeholder"],"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { fieldBaseClass, Pill, ReactSelect, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { stringify } from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { renderPill } from '../../Versions/cells/AutosaveCell/index.js'\nimport './index.scss'\n\nconst baseClass = 'compare-version'\n\nconst maxResultsPerRequest = 10\n\nconst baseOptions = []\n\nexport const SelectComparison: React.FC<Props> = (props) => {\n const {\n baseURL,\n draftsEnabled,\n latestDraftVersion,\n latestPublishedVersion,\n onChange,\n parentID,\n value,\n versionID,\n } = props\n\n const {\n config: {\n admin: { dateFormat },\n localization,\n },\n } = useConfig()\n\n const [options, setOptions] = useState<\n {\n label: React.ReactNode | string\n value: string\n }[]\n >(baseOptions)\n const [lastLoadedPage, setLastLoadedPage] = useState(1)\n const [errorLoading, setErrorLoading] = useState('')\n const { i18n, t } = useTranslation()\n const loadedAllOptionsRef = React.useRef(false)\n\n const getResults = useCallback(\n async ({ lastLoadedPage: lastLoadedPageArg }) => {\n if (loadedAllOptionsRef.current) {\n return\n }\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: lastLoadedPageArg,\n where: {\n and: [\n {\n id: {\n not_equals: versionID,\n },\n },\n ],\n },\n }\n\n if (parentID) {\n query.where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n if (localization && draftsEnabled) {\n query.where.and.push({\n snapshot: {\n not_equals: true,\n },\n })\n }\n\n const search = stringify(query)\n\n const response = await fetch(`${baseURL}?${search}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n\n if (data.docs.length > 0) {\n const versionInfo = {\n draft: {\n currentLabel: t('version:currentDraft'),\n latestVersion: latestDraftVersion,\n pillStyle: undefined,\n previousLabel: t('version:draft'),\n },\n published: {\n currentLabel: t('version:currentPublishedVersion'),\n latestVersion: latestPublishedVersion,\n pillStyle: 'success',\n previousLabel: t('version:previouslyPublished'),\n },\n }\n\n const additionalOptions = data.docs.map((doc) => {\n const status = doc.version._status\n let publishedLocalePill = null\n const publishedLocale = doc.publishedLocale || undefined\n const { currentLabel, latestVersion, pillStyle, previousLabel } =\n versionInfo[status] || {}\n\n if (localization && localization?.locales && publishedLocale) {\n const localeCode = Array.isArray(publishedLocale)\n ? publishedLocale[0]\n : publishedLocale\n\n const locale = localization.locales.find((loc) => loc.code === localeCode)\n const formattedLabel = locale?.label?.[i18n?.language] || locale?.label\n\n if (formattedLabel) {\n publishedLocalePill = <Pill>{formattedLabel}</Pill>\n }\n }\n\n return {\n label: (\n <div>\n {formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })}\n \n {renderPill(doc, latestVersion, currentLabel, previousLabel, pillStyle)}\n {publishedLocalePill}\n </div>\n ),\n value: doc.id,\n }\n })\n\n setOptions((existingOptions) => [...existingOptions, ...additionalOptions])\n\n if (!data.hasNextPage) {\n loadedAllOptionsRef.current = true\n }\n setLastLoadedPage(data.page)\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n },\n [dateFormat, baseURL, parentID, versionID, t, i18n, latestDraftVersion, latestPublishedVersion],\n )\n\n useEffect(() => {\n if (!i18n.dateFNS) {\n // If dateFNS is not loaded, we can't format the date in getResults\n return\n }\n void getResults({ lastLoadedPage: 1 })\n }, [getResults, i18n.dateFNS])\n\n const filteredOptions = options.filter(\n (option, index, self) => self.findIndex((t) => t.value === option.value) === index,\n )\n\n useEffect(() => {\n if (filteredOptions.length > 0 && !value) {\n onChange(filteredOptions[0])\n }\n }, [filteredOptions, value, onChange])\n\n return (\n <div\n className={[fieldBaseClass, baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__label`}>{t('version:compareVersion')}</div>\n {!errorLoading && (\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n onMenuScrollToBottom={() => {\n void getResults({ lastLoadedPage: lastLoadedPage + 1 })\n }}\n options={filteredOptions}\n placeholder={t('version:selectVersionToCompare')}\n value={value}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,12 +3,12 @@ import type { CompareOption } from '../Default/types.js';
|
|
|
3
3
|
export type Props = {
|
|
4
4
|
baseURL: string;
|
|
5
5
|
draftsEnabled?: boolean;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
latestDraftVersion?: string;
|
|
7
|
+
latestPublishedVersion?: string;
|
|
8
8
|
onChange: (val: CompareOption) => void;
|
|
9
9
|
parentID?: number | string;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
value: CompareOption;
|
|
11
|
+
versionID: string;
|
|
12
12
|
};
|
|
13
13
|
type CLEAR = {
|
|
14
14
|
required: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,KAAK,EAAE,aAAa,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,yBAAyB,CAAA;IACrC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACxB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAA;AAEhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Version/SelectComparison/types.ts"],"sourcesContent":["import type { PaginatedDocs, SanitizedCollectionConfig } from 'payload'\n\nimport type { CompareOption } from '../Default/types.js'\n\nexport type Props = {\n baseURL: string\n draftsEnabled?: boolean\n
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Version/SelectComparison/types.ts"],"sourcesContent":["import type { PaginatedDocs, SanitizedCollectionConfig } from 'payload'\n\nimport type { CompareOption } from '../Default/types.js'\n\nexport type Props = {\n baseURL: string\n draftsEnabled?: boolean\n latestDraftVersion?: string\n latestPublishedVersion?: string\n onChange: (val: CompareOption) => void\n parentID?: number | string\n value: CompareOption\n versionID: string\n}\n\ntype CLEAR = {\n required: boolean\n type: 'CLEAR'\n}\n\ntype ADD = {\n collection: SanitizedCollectionConfig\n data: PaginatedDocs<any>\n type: 'ADD'\n}\n\nexport type Action = ADD | CLEAR\n\nexport type ValueWithRelation = {\n relationTo: string\n value: string\n}\n"],"mappings":"AA4BA","ignoreList":[]}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
import { type SelectablePill } from '@payloadcms/ui';
|
|
2
1
|
import React from 'react';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}) => void;
|
|
6
|
-
export type Props = {
|
|
7
|
-
locales: SelectablePill[];
|
|
8
|
-
localeSelectorOpen: boolean;
|
|
9
|
-
onChange: SelectedLocaleOnChange;
|
|
10
|
-
};
|
|
2
|
+
import type { Props } from './types.js';
|
|
3
|
+
import './index.scss';
|
|
11
4
|
export declare const SelectLocales: React.FC<Props>;
|
|
12
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectLocales/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectLocales/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8BzC,CAAA"}
|
|
@@ -1,39 +1,66 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { ReactSelect, useLocale, useTranslation } from '@payloadcms/ui';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
const baseClass = 'select-version-locales';
|
|
8
|
-
export const SelectLocales =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
8
|
+
export const SelectLocales = t0 => {
|
|
9
|
+
const $ = _c(8);
|
|
10
|
+
const {
|
|
11
|
+
onChange,
|
|
12
|
+
options,
|
|
13
|
+
value
|
|
14
|
+
} = t0;
|
|
15
|
+
const {
|
|
16
|
+
t
|
|
17
|
+
} = useTranslation();
|
|
18
|
+
const {
|
|
19
|
+
code
|
|
20
|
+
} = useLocale();
|
|
21
|
+
let t1;
|
|
22
|
+
if ($[0] !== code) {
|
|
23
|
+
t1 = items => items.map(item => {
|
|
24
|
+
if (typeof item.label === "string") {
|
|
25
|
+
return item;
|
|
26
|
+
}
|
|
27
|
+
if (typeof item.label !== "string" && item.label[code]) {
|
|
28
|
+
return {
|
|
29
|
+
label: item.label[code],
|
|
30
|
+
value: item.value
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
$[0] = code;
|
|
35
|
+
$[1] = t1;
|
|
36
|
+
} else {
|
|
37
|
+
t1 = $[1];
|
|
38
|
+
}
|
|
39
|
+
const format = t1;
|
|
40
|
+
let t2;
|
|
41
|
+
if ($[2] !== format || $[3] !== onChange || $[4] !== options || $[5] !== t || $[6] !== value) {
|
|
42
|
+
t2 = _jsxs("div", {
|
|
43
|
+
className: baseClass,
|
|
44
|
+
children: [_jsx("div", {
|
|
45
|
+
className: `${baseClass}__label`,
|
|
46
|
+
children: t("version:showLocales")
|
|
47
|
+
}), _jsx(ReactSelect, {
|
|
48
|
+
isMulti: true,
|
|
49
|
+
onChange,
|
|
50
|
+
options: format(options),
|
|
51
|
+
placeholder: t("version:selectLocales"),
|
|
52
|
+
value: format(value)
|
|
53
|
+
})]
|
|
54
|
+
});
|
|
55
|
+
$[2] = format;
|
|
56
|
+
$[3] = onChange;
|
|
57
|
+
$[4] = options;
|
|
58
|
+
$[5] = t;
|
|
59
|
+
$[6] = value;
|
|
60
|
+
$[7] = t2;
|
|
61
|
+
} else {
|
|
62
|
+
t2 = $[7];
|
|
63
|
+
}
|
|
64
|
+
return t2;
|
|
38
65
|
};
|
|
39
66
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","ReactSelect","useLocale","useTranslation","React","baseClass","SelectLocales","t0","$","onChange","options","value","t","code","t1","items","map","item","label","format","t2","_jsxs","className","children","_jsx","isMulti","placeholder"],"sources":["../../../../src/views/Version/SelectLocales/index.tsx"],"sourcesContent":["'use client'\nimport { ReactSelect, useLocale, useTranslation } from '@payloadcms/ui'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport './index.scss'\n\nconst baseClass = 'select-version-locales'\n\nexport const SelectLocales: React.FC<Props> = ({ onChange, options, value }) => {\n const { t } = useTranslation()\n const { code } = useLocale()\n\n const format = (items) => {\n return items.map((item) => {\n if (typeof item.label === 'string') {\n return item\n }\n if (typeof item.label !== 'string' && item.label[code]) {\n return {\n label: item.label[code],\n value: item.value,\n }\n }\n })\n }\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__label`}>{t('version:showLocales')}</div>\n <ReactSelect\n isMulti\n onChange={onChange}\n options={format(options)}\n placeholder={t('version:selectLocales')}\n value={format(value)}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SAASC,WAAW,EAAEC,SAAS,EAAEC,cAAc,QAAQ;AACvD,OAAOC,KAAA,MAAW;AAMlB,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,aAAA,GAAiCC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAC;IAAAS,QAAA;IAAAC,OAAA;IAAAC;EAAA,IAAAJ,EAA4B;EACzE;IAAAK;EAAA,IAAcT,cAAA;EACd;IAAAU;EAAA,IAAiBX,SAAA;EAAA,IAAAY,EAAA;EAAA,IAAAN,CAAA,QAAAK,IAAA;IAEFC,EAAA,GAAAC,KAAA,IACNA,KAAA,CAAAC,GAAA,CAAAC,IAAA;MAAA,IACD,OAAOA,IAAA,CAAAC,KAAA,KAAe;QAAA,OACjBD,IAAA;MAAA;MAAA,IAEL,OAAOA,IAAA,CAAAC,KAAA,KAAe,YAAYD,IAAA,CAAAC,KAAA,CAAWL,IAAA,CAAK;QAAA;UAAAK,KAAA,EAE3CD,IAAA,CAAAC,KAAA,CAAWL,IAAA;UAAAF,KAAA,EACXM,IAAA,CAAAN;QAAA;MAAA;IAAA,CAGb;IACFH,CAAA,MAAAK,IAAA;IAAAL,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAZA,MAAAW,MAAA,GAAeL,EAYf;EAAA,IAAAM,EAAA;EAAA,IAAAZ,CAAA,QAAAW,MAAA,IAAAX,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAE,OAAA,IAAAF,CAAA,QAAAI,CAAA,IAAAJ,CAAA,QAAAG,KAAA;IAGES,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAAjB,SAAA;MAAAkB,QAAA,GACCC,IAAA,CAAC;QAAAF,SAAA,EAAe,GAAAjB,SAAA,SAAqB;QAAAkB,QAAA,EAAGX,CAAA,CAAE;MAAA,C,GAC1CY,IAAA,CAAAvB,WAAA;QAAAwB,OAAA;QAAAhB,QAAA;QAAAC,OAAA,EAGWS,MAAA,CAAOT,OAAA;QAAAgB,WAAA,EACHd,CAAA,CAAE;QAAAD,KAAA,EACRQ,MAAA,CAAOR,KAAA;MAAA,C;;;;;;;;;;;SAPlBS,E;CAWJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectLocales/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,CAAA;IAC3C,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,KAAK,EAAE,YAAY,EAAE,CAAA;CACtB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Version/SelectLocales/types.ts"],"sourcesContent":["import type { OptionObject } from 'payload'\n\nexport type Props = {\n onChange: (options: OptionObject[]) => void\n options: OptionObject[]\n value: OptionObject[]\n}\n"],"mappings":"AAEA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,uBAAuB,EAKxB,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,wBAAsB,WAAW,CAAC,KAAK,EAAE,uBAAuB,8BAkP/D"}
|