@payloadcms/next 3.44.0-canary.7 → 3.44.0-canary.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA2E,MAAM,OAAO,CAAA;AAE/F,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAGzE,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA+PjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA2E,MAAM,OAAO,CAAA;AAE/F,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAGzE,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgQjE,CAAA"}
@@ -202,6 +202,7 @@ export const DefaultVersionView = ({
202
202
  }), /*#__PURE__*/_jsx(SelectComparison, {
203
203
  collectionSlug: collectionSlug,
204
204
  docID: originalDocID,
205
+ globalSlug: globalSlug,
205
206
  onChange: onChangeVersionFrom,
206
207
  versionFromID: versionFromID,
207
208
  versionFromOptions: versionFromOptions
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["CheckboxInput","ChevronIcon","formatTimeToNow","Gutter","Pill","useConfig","useDocumentInfo","useLocale","useRouteTransition","useTranslation","usePathname","useRouter","useSearchParams","React","useCallback","useEffect","useMemo","useState","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesFromProps","versionFromCreatedAt","versionFromID","versionFromOptions","versionToCreatedAt","versionToCreatedAtFormatted","VersionToCreatedAtLabel","versionToID","versionToStatus","versionToUseAsTitle","config","getEntityConfig","code","i18n","t","locales","setLocales","localeSelectorOpen","setLocaleSelectorOpen","localization","updatedLocales","map","locale","label","name","Label","selected","includes","id","originalDocID","collectionSlug","globalSlug","startRouteTransition","collectionConfig","globalConfig","router","pathname","searchParams","setModifiedOnly","updateSearchParams","args","current","URLSearchParams","Array","from","entries","set","length","delete","selectedLocaleCodes","push","JSON","stringify","search","toString","query","onToggleModifiedOnly","event","newModified","target","checked","onChangeSelectedLocales","onChangeVersionFrom","val","value","versionToTimeAgo","distance","date","versionFromTimeAgo","undefined","_jsxs","className","_jsx","onToggle","icon","direction","onClick","pillStyle","size","filter","join","onChange","docID","labels","singular","status","versionDateFormatted","versionID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n CheckboxInput,\n ChevronIcon,\n formatTimeToNow,\n Gutter,\n Pill,\n type SelectablePill,\n useConfig,\n useDocumentInfo,\n useLocale,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { type FormEventHandler, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { Restore } from '../Restore/index.js'\nimport './index.scss'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { type SelectedLocaleOnChange, SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n canUpdate,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesFromProps,\n versionFromCreatedAt,\n versionFromID,\n versionFromOptions,\n versionToCreatedAt,\n versionToCreatedAtFormatted,\n VersionToCreatedAtLabel,\n versionToID,\n versionToStatus,\n versionToUseAsTitle,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const [locales, setLocales] = useState<SelectablePill[]>([])\n const [localeSelectorOpen, setLocaleSelectorOpen] = React.useState(false)\n\n useEffect(() => {\n if (config.localization) {\n const updatedLocales = config.localization.locales.map((locale) => {\n let label = locale.label\n if (typeof locale.label !== 'string' && locale.label[code]) {\n label = locale.label[code]\n }\n\n return {\n name: locale.code,\n Label: label,\n selected: selectedLocalesFromProps.includes(locale.code),\n } as SelectablePill\n })\n setLocales(updatedLocales)\n }\n }, [code, config.localization, selectedLocalesFromProps])\n\n const { id: originalDocID, collectionSlug, globalSlug } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n\n const { collectionConfig, globalConfig } = useMemo(() => {\n return {\n collectionConfig: getEntityConfig({ collectionSlug }),\n globalConfig: getEntityConfig({ globalSlug }),\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n\n const updateSearchParams = useCallback(\n (args: {\n modifiedOnly?: boolean\n selectedLocales?: SelectablePill[]\n versionFromID?: string\n }) => {\n // If the selected comparison doc or locales change, update URL params so that version page\n // This is so that RSC can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (args?.versionFromID) {\n current.set('versionFrom', args?.versionFromID)\n }\n\n if (args?.selectedLocales) {\n if (!args.selectedLocales.length) {\n current.delete('localeCodes')\n } else {\n const selectedLocaleCodes: string[] = []\n for (const locale of args.selectedLocales) {\n if (locale.selected) {\n selectedLocaleCodes.push(locale.name)\n }\n }\n current.set('localeCodes', JSON.stringify(selectedLocaleCodes))\n }\n }\n\n if (args?.modifiedOnly === false) {\n current.set('modifiedOnly', 'false')\n } else if (args?.modifiedOnly === true) {\n current.delete('modifiedOnly')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n startRouteTransition(() => router.push(`${pathname}${query}`))\n },\n [pathname, router, searchParams, startRouteTransition],\n )\n\n const onToggleModifiedOnly: FormEventHandler<HTMLInputElement> = useCallback(\n (event) => {\n const newModified = (event.target as HTMLInputElement).checked\n setModifiedOnly(newModified)\n updateSearchParams({\n modifiedOnly: newModified,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeSelectedLocales: SelectedLocaleOnChange = useCallback(\n ({ locales }) => {\n setLocales(locales)\n updateSearchParams({\n selectedLocales: locales,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeVersionFrom: (val: CompareOption) => void = useCallback(\n (val) => {\n updateSearchParams({\n versionFromID: val.value,\n })\n },\n [updateSearchParams],\n )\n\n const { localization } = config\n\n const versionToTimeAgo = useMemo(\n () =>\n t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionToCreatedAt,\n i18n,\n }),\n }),\n [versionToCreatedAt, i18n, t],\n )\n\n const versionFromTimeAgo = useMemo(\n () =>\n versionFromCreatedAt\n ? t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionFromCreatedAt,\n i18n,\n }),\n })\n : undefined,\n [versionFromCreatedAt, i18n, t],\n )\n\n return (\n <main className={baseClass}>\n <Gutter className={`${baseClass}-controls-top`}>\n <div className={`${baseClass}-controls-top__wrapper`}>\n <h2>{i18n.t('version:compareVersions')}</h2>\n <div className={`${baseClass}-controls-top__wrapper-actions`}>\n <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n {localization && (\n <Pill\n aria-controls={`${baseClass}-locales`}\n aria-expanded={localeSelectorOpen}\n className={`${baseClass}__toggle-locales`}\n icon={<ChevronIcon direction={localeSelectorOpen ? 'up' : 'down'} />}\n onClick={() => setLocaleSelectorOpen((localeSelectorOpen) => !localeSelectorOpen)}\n pillStyle=\"light\"\n size=\"small\"\n >\n <span className={`${baseClass}__toggle-locales-label`}>\n {t('general:locales')}:{' '}\n </span>\n <span className={`${baseClass}__toggle-locales-list`}>\n {locales\n .filter((locale) => locale.selected)\n .map((locale) => locale.name)\n .join(', ')}\n </span>\n </Pill>\n )}\n </div>\n </div>\n\n {localization && (\n <SelectLocales\n locales={locales}\n localeSelectorOpen={localeSelectorOpen}\n onChange={onChangeSelectedLocales}\n />\n )}\n </Gutter>\n <Gutter className={`${baseClass}-controls-bottom`}>\n <div className={`${baseClass}-controls-bottom__wrapper`}>\n <div className={`${baseClass}__version-from`}>\n <div className={`${baseClass}__version-from-labels`}>\n <span>{t('version:comparingAgainst')}</span>\n {versionFromTimeAgo && (\n <span className={`${baseClass}__time-elapsed`}>{versionFromTimeAgo}</span>\n )}\n </div>\n <SelectComparison\n collectionSlug={collectionSlug}\n docID={originalDocID}\n onChange={onChangeVersionFrom}\n versionFromID={versionFromID}\n versionFromOptions={versionFromOptions}\n />\n </div>\n\n <div className={`${baseClass}__version-to`}>\n <div className={`${baseClass}__version-to-labels`}>\n <span>{t('version:currentlyViewing')}</span>\n <span className={`${baseClass}__time-elapsed`}>{versionToTimeAgo}</span>\n </div>\n <div className={`${baseClass}__version-to-version`}>\n {VersionToCreatedAtLabel}\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={originalDocID}\n status={versionToStatus}\n versionDateFormatted={versionToCreatedAtFormatted}\n versionID={versionToID}\n />\n )}\n </div>\n </div>\n </div>\n </Gutter>\n <SetStepNav\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n id={originalDocID}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n versionToID={versionToID}\n versionToUseAsTitle={versionToUseAsTitle}\n />\n <Gutter className={`${baseClass}__diff-wrap`}>\n <SelectedLocalesContext value={{ selectedLocales: locales.map((locale) => locale.name) }}>\n {versionToCreatedAt && RenderedDiff}\n </SelectedLocalesContext>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["CheckboxInput","ChevronIcon","formatTimeToNow","Gutter","Pill","useConfig","useDocumentInfo","useLocale","useRouteTransition","useTranslation","usePathname","useRouter","useSearchParams","React","useCallback","useEffect","useMemo","useState","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesFromProps","versionFromCreatedAt","versionFromID","versionFromOptions","versionToCreatedAt","versionToCreatedAtFormatted","VersionToCreatedAtLabel","versionToID","versionToStatus","versionToUseAsTitle","config","getEntityConfig","code","i18n","t","locales","setLocales","localeSelectorOpen","setLocaleSelectorOpen","localization","updatedLocales","map","locale","label","name","Label","selected","includes","id","originalDocID","collectionSlug","globalSlug","startRouteTransition","collectionConfig","globalConfig","router","pathname","searchParams","setModifiedOnly","updateSearchParams","args","current","URLSearchParams","Array","from","entries","set","length","delete","selectedLocaleCodes","push","JSON","stringify","search","toString","query","onToggleModifiedOnly","event","newModified","target","checked","onChangeSelectedLocales","onChangeVersionFrom","val","value","versionToTimeAgo","distance","date","versionFromTimeAgo","undefined","_jsxs","className","_jsx","onToggle","icon","direction","onClick","pillStyle","size","filter","join","onChange","docID","labels","singular","status","versionDateFormatted","versionID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n CheckboxInput,\n ChevronIcon,\n formatTimeToNow,\n Gutter,\n Pill,\n type SelectablePill,\n useConfig,\n useDocumentInfo,\n useLocale,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { type FormEventHandler, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { Restore } from '../Restore/index.js'\nimport './index.scss'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { type SelectedLocaleOnChange, SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n canUpdate,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesFromProps,\n versionFromCreatedAt,\n versionFromID,\n versionFromOptions,\n versionToCreatedAt,\n versionToCreatedAtFormatted,\n VersionToCreatedAtLabel,\n versionToID,\n versionToStatus,\n versionToUseAsTitle,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const [locales, setLocales] = useState<SelectablePill[]>([])\n const [localeSelectorOpen, setLocaleSelectorOpen] = React.useState(false)\n\n useEffect(() => {\n if (config.localization) {\n const updatedLocales = config.localization.locales.map((locale) => {\n let label = locale.label\n if (typeof locale.label !== 'string' && locale.label[code]) {\n label = locale.label[code]\n }\n\n return {\n name: locale.code,\n Label: label,\n selected: selectedLocalesFromProps.includes(locale.code),\n } as SelectablePill\n })\n setLocales(updatedLocales)\n }\n }, [code, config.localization, selectedLocalesFromProps])\n\n const { id: originalDocID, collectionSlug, globalSlug } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n\n const { collectionConfig, globalConfig } = useMemo(() => {\n return {\n collectionConfig: getEntityConfig({ collectionSlug }),\n globalConfig: getEntityConfig({ globalSlug }),\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n\n const updateSearchParams = useCallback(\n (args: {\n modifiedOnly?: boolean\n selectedLocales?: SelectablePill[]\n versionFromID?: string\n }) => {\n // If the selected comparison doc or locales change, update URL params so that version page\n // This is so that RSC can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (args?.versionFromID) {\n current.set('versionFrom', args?.versionFromID)\n }\n\n if (args?.selectedLocales) {\n if (!args.selectedLocales.length) {\n current.delete('localeCodes')\n } else {\n const selectedLocaleCodes: string[] = []\n for (const locale of args.selectedLocales) {\n if (locale.selected) {\n selectedLocaleCodes.push(locale.name)\n }\n }\n current.set('localeCodes', JSON.stringify(selectedLocaleCodes))\n }\n }\n\n if (args?.modifiedOnly === false) {\n current.set('modifiedOnly', 'false')\n } else if (args?.modifiedOnly === true) {\n current.delete('modifiedOnly')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n startRouteTransition(() => router.push(`${pathname}${query}`))\n },\n [pathname, router, searchParams, startRouteTransition],\n )\n\n const onToggleModifiedOnly: FormEventHandler<HTMLInputElement> = useCallback(\n (event) => {\n const newModified = (event.target as HTMLInputElement).checked\n setModifiedOnly(newModified)\n updateSearchParams({\n modifiedOnly: newModified,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeSelectedLocales: SelectedLocaleOnChange = useCallback(\n ({ locales }) => {\n setLocales(locales)\n updateSearchParams({\n selectedLocales: locales,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeVersionFrom: (val: CompareOption) => void = useCallback(\n (val) => {\n updateSearchParams({\n versionFromID: val.value,\n })\n },\n [updateSearchParams],\n )\n\n const { localization } = config\n\n const versionToTimeAgo = useMemo(\n () =>\n t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionToCreatedAt,\n i18n,\n }),\n }),\n [versionToCreatedAt, i18n, t],\n )\n\n const versionFromTimeAgo = useMemo(\n () =>\n versionFromCreatedAt\n ? t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionFromCreatedAt,\n i18n,\n }),\n })\n : undefined,\n [versionFromCreatedAt, i18n, t],\n )\n\n return (\n <main className={baseClass}>\n <Gutter className={`${baseClass}-controls-top`}>\n <div className={`${baseClass}-controls-top__wrapper`}>\n <h2>{i18n.t('version:compareVersions')}</h2>\n <div className={`${baseClass}-controls-top__wrapper-actions`}>\n <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n {localization && (\n <Pill\n aria-controls={`${baseClass}-locales`}\n aria-expanded={localeSelectorOpen}\n className={`${baseClass}__toggle-locales`}\n icon={<ChevronIcon direction={localeSelectorOpen ? 'up' : 'down'} />}\n onClick={() => setLocaleSelectorOpen((localeSelectorOpen) => !localeSelectorOpen)}\n pillStyle=\"light\"\n size=\"small\"\n >\n <span className={`${baseClass}__toggle-locales-label`}>\n {t('general:locales')}:{' '}\n </span>\n <span className={`${baseClass}__toggle-locales-list`}>\n {locales\n .filter((locale) => locale.selected)\n .map((locale) => locale.name)\n .join(', ')}\n </span>\n </Pill>\n )}\n </div>\n </div>\n\n {localization && (\n <SelectLocales\n locales={locales}\n localeSelectorOpen={localeSelectorOpen}\n onChange={onChangeSelectedLocales}\n />\n )}\n </Gutter>\n <Gutter className={`${baseClass}-controls-bottom`}>\n <div className={`${baseClass}-controls-bottom__wrapper`}>\n <div className={`${baseClass}__version-from`}>\n <div className={`${baseClass}__version-from-labels`}>\n <span>{t('version:comparingAgainst')}</span>\n {versionFromTimeAgo && (\n <span className={`${baseClass}__time-elapsed`}>{versionFromTimeAgo}</span>\n )}\n </div>\n <SelectComparison\n collectionSlug={collectionSlug}\n docID={originalDocID}\n globalSlug={globalSlug}\n onChange={onChangeVersionFrom}\n versionFromID={versionFromID}\n versionFromOptions={versionFromOptions}\n />\n </div>\n\n <div className={`${baseClass}__version-to`}>\n <div className={`${baseClass}__version-to-labels`}>\n <span>{t('version:currentlyViewing')}</span>\n <span className={`${baseClass}__time-elapsed`}>{versionToTimeAgo}</span>\n </div>\n <div className={`${baseClass}__version-to-version`}>\n {VersionToCreatedAtLabel}\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={originalDocID}\n status={versionToStatus}\n versionDateFormatted={versionToCreatedAtFormatted}\n versionID={versionToID}\n />\n )}\n </div>\n </div>\n </div>\n </Gutter>\n <SetStepNav\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n id={originalDocID}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n versionToID={versionToID}\n versionToUseAsTitle={versionToUseAsTitle}\n />\n <Gutter className={`${baseClass}__diff-wrap`}>\n <SelectedLocalesContext value={{ selectedLocales: locales.map((locale) => locale.name) }}>\n {versionToCreatedAt && RenderedDiff}\n </SelectedLocalesContext>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,18 +6,21 @@ export declare const formatVersionDrawerSlug: ({ depth, uuid, }: {
6
6
  uuid: string;
7
7
  }) => string;
8
8
  export declare const VersionDrawerContent: React.FC<{
9
- collectionSlug: string;
10
- docID: number | string;
9
+ collectionSlug?: string;
10
+ docID?: number | string;
11
11
  drawerSlug: string;
12
+ globalSlug?: string;
12
13
  }>;
13
14
  export declare const VersionDrawer: React.FC<{
14
- collectionSlug: string;
15
- docID: number | string;
15
+ collectionSlug?: string;
16
+ docID?: number | string;
16
17
  drawerSlug: string;
18
+ globalSlug?: string;
17
19
  }>;
18
- export declare const useVersionDrawer: ({ collectionSlug, docID, }: {
19
- collectionSlug: string;
20
- docID: number | string;
20
+ export declare const useVersionDrawer: ({ collectionSlug, docID, globalSlug, }: {
21
+ collectionSlug?: string;
22
+ docID?: number | string;
23
+ globalSlug?: string;
21
24
  }) => {
22
25
  closeDrawer: () => void;
23
26
  Drawer: () => React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/SelectComparison/VersionDrawer/index.tsx"],"names":[],"mappings":"AAYA,OAAO,cAAc,CAAA;AAErB,OAAO,KAAmE,MAAM,OAAO,CAAA;AAEvF,eAAO,MAAM,SAAS,mBAAmB,CAAA;AACzC,eAAO,MAAM,uBAAuB,qBAGjC;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,WAAsC,CAAA;AAEvC,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CACnB,CAgEA,CAAA;AACD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CACnB,CAcA,CAAA;AAED,eAAO,MAAM,gBAAgB,+BAG1B;IACD,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;;;;;;;;CA6CA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/SelectComparison/VersionDrawer/index.tsx"],"names":[],"mappings":"AAYA,OAAO,cAAc,CAAA;AAErB,OAAO,KAAmE,MAAM,OAAO,CAAA;AAEvF,eAAO,MAAM,SAAS,mBAAmB,CAAA;AACzC,eAAO,MAAM,uBAAuB,qBAGjC;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,WAAsC,CAAA;AAEvC,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAwEA,CAAA;AACD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAmBA,CAAA;AAED,eAAO,MAAM,gBAAgB,2CAI1B;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;;;;;;;;CAkDA,CAAA"}
@@ -14,7 +14,8 @@ export const VersionDrawerContent = props => {
14
14
  const {
15
15
  collectionSlug,
16
16
  docID,
17
- drawerSlug
17
+ drawerSlug,
18
+ globalSlug
18
19
  } = props;
19
20
  const {
20
21
  closeModal
@@ -34,12 +35,14 @@ export const VersionDrawerContent = props => {
34
35
  const fetchDocumentView = async () => {
35
36
  setIsLoading(true);
36
37
  try {
38
+ const isGlobal = Boolean(globalSlug);
39
+ const entitySlug = collectionSlug ?? globalSlug;
37
40
  const result = await renderDocument({
38
- collectionSlug,
41
+ collectionSlug: entitySlug,
39
42
  docID: docID_0,
40
43
  drawerSlug,
41
44
  paramsOverride: {
42
- segments: ['collections', collectionSlug, String(docID_0), 'versions']
45
+ segments: [isGlobal ? 'globals' : 'collections', entitySlug, isGlobal ? undefined : String(docID_0), 'versions'].filter(Boolean)
43
46
  },
44
47
  redirectAfterDelete: false,
45
48
  redirectAfterDuplicate: false,
@@ -60,7 +63,7 @@ export const VersionDrawerContent = props => {
60
63
  }
61
64
  };
62
65
  void fetchDocumentView();
63
- }, [closeModal, collectionSlug, drawerSlug, renderDocument, searchParams, t]);
66
+ }, [closeModal, collectionSlug, globalSlug, drawerSlug, renderDocument, searchParams, t]);
64
67
  useEffect(() => {
65
68
  if (!hasRenderedDocument.current || prevSearchParams.current !== searchParams) {
66
69
  prevSearchParams.current = searchParams;
@@ -74,17 +77,18 @@ export const VersionDrawerContent = props => {
74
77
  return DocumentView;
75
78
  };
76
79
  export const VersionDrawer = props => {
77
- const $ = _c(5);
80
+ const $ = _c(6);
78
81
  const {
79
82
  collectionSlug,
80
83
  docID,
81
- drawerSlug
84
+ drawerSlug,
85
+ globalSlug
82
86
  } = props;
83
87
  const {
84
88
  t
85
89
  } = useTranslation();
86
90
  let t0;
87
- if ($[0] !== collectionSlug || $[1] !== docID || $[2] !== drawerSlug || $[3] !== t) {
91
+ if ($[0] !== collectionSlug || $[1] !== docID || $[2] !== drawerSlug || $[3] !== globalSlug || $[4] !== t) {
88
92
  t0 = _jsx(Drawer, {
89
93
  className: baseClass,
90
94
  gutter: true,
@@ -93,24 +97,27 @@ export const VersionDrawer = props => {
93
97
  children: _jsx(VersionDrawerContent, {
94
98
  collectionSlug,
95
99
  docID,
96
- drawerSlug
100
+ drawerSlug,
101
+ globalSlug
97
102
  })
98
103
  });
99
104
  $[0] = collectionSlug;
100
105
  $[1] = docID;
101
106
  $[2] = drawerSlug;
102
- $[3] = t;
103
- $[4] = t0;
107
+ $[3] = globalSlug;
108
+ $[4] = t;
109
+ $[5] = t0;
104
110
  } else {
105
- t0 = $[4];
111
+ t0 = $[5];
106
112
  }
107
113
  return t0;
108
114
  };
109
115
  export const useVersionDrawer = t0 => {
110
- const $ = _c(28);
116
+ const $ = _c(29);
111
117
  const {
112
118
  collectionSlug,
113
- docID
119
+ docID,
120
+ globalSlug
114
121
  } = t0;
115
122
  const drawerDepth = useEditDepth();
116
123
  const uuid = useId();
@@ -188,24 +195,26 @@ export const useVersionDrawer = t0 => {
188
195
  const openDrawer = t6;
189
196
  let t7;
190
197
  let t8;
191
- if ($[16] !== collectionSlug || $[17] !== docID || $[18] !== drawerSlug) {
198
+ if ($[16] !== collectionSlug || $[17] !== docID || $[18] !== drawerSlug || $[19] !== globalSlug) {
192
199
  t8 = () => _jsx(VersionDrawer, {
193
200
  collectionSlug,
194
201
  docID,
195
- drawerSlug
202
+ drawerSlug,
203
+ globalSlug
196
204
  });
197
205
  $[16] = collectionSlug;
198
206
  $[17] = docID;
199
207
  $[18] = drawerSlug;
200
- $[19] = t8;
208
+ $[19] = globalSlug;
209
+ $[20] = t8;
201
210
  } else {
202
- t8 = $[19];
211
+ t8 = $[20];
203
212
  }
204
213
  t7 = t8;
205
214
  const MemoizedDrawer = t7;
206
215
  let t9;
207
216
  let t10;
208
- if ($[20] !== MemoizedDrawer || $[21] !== closeDrawer || $[22] !== drawerDepth || $[23] !== drawerSlug || $[24] !== isOpen || $[25] !== openDrawer || $[26] !== toggleDrawer) {
217
+ if ($[21] !== MemoizedDrawer || $[22] !== closeDrawer || $[23] !== drawerDepth || $[24] !== drawerSlug || $[25] !== isOpen || $[26] !== openDrawer || $[27] !== toggleDrawer) {
209
218
  t10 = {
210
219
  closeDrawer,
211
220
  Drawer: MemoizedDrawer,
@@ -215,16 +224,16 @@ export const useVersionDrawer = t0 => {
215
224
  openDrawer,
216
225
  toggleDrawer
217
226
  };
218
- $[20] = MemoizedDrawer;
219
- $[21] = closeDrawer;
220
- $[22] = drawerDepth;
221
- $[23] = drawerSlug;
222
- $[24] = isOpen;
223
- $[25] = openDrawer;
224
- $[26] = toggleDrawer;
225
- $[27] = t10;
227
+ $[21] = MemoizedDrawer;
228
+ $[22] = closeDrawer;
229
+ $[23] = drawerDepth;
230
+ $[24] = drawerSlug;
231
+ $[25] = isOpen;
232
+ $[26] = openDrawer;
233
+ $[27] = toggleDrawer;
234
+ $[28] = t10;
226
235
  } else {
227
- t10 = $[27];
236
+ t10 = $[28];
228
237
  }
229
238
  t9 = t10;
230
239
  return t9;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","Drawer","LoadingOverlay","toast","useEditDepth","useModal","useServerFunctions","useTranslation","useSearchParams","React","useCallback","useEffect","useId","useMemo","useRef","useState","baseClass","formatVersionDrawerSlug","depth","uuid","VersionDrawerContent","props","collectionSlug","docID","drawerSlug","closeModal","searchParams","prevSearchParams","renderDocument","DocumentView","setDocumentView","undefined","isLoading","setIsLoading","hasRenderedDocument","t","getDocumentView","fetchDocumentView","result","paramsOverride","segments","String","redirectAfterDelete","redirectAfterDuplicate","Object","fromEntries","entries","versions","disableGutter","useVersionDrawerCreatedAtCell","Document","error","message","current","_jsx","VersionDrawer","$","t0","className","gutter","slug","title","children","useVersionDrawer","drawerDepth","modalState","openModal","toggleModal","isOpen","setIsOpen","t1","t2","t3","Boolean","t4","toggleDrawer","t5","closeDrawer","t6","openDrawer","t7","t8","MemoizedDrawer","t9","t10","isDrawerOpen"],"sources":["../../../../../src/views/Version/SelectComparison/VersionDrawer/index.tsx"],"sourcesContent":["'use client'\nimport {\n Drawer,\n LoadingOverlay,\n toast,\n useEditDepth,\n useModal,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useSearchParams } from 'next/navigation.js'\n\nimport './index.scss'\n\nimport React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react'\n\nexport const baseClass = 'version-drawer'\nexport const formatVersionDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `version-drawer_${depth}_${uuid}`\n\nexport const VersionDrawerContent: React.FC<{\n collectionSlug: string\n docID: number | string\n drawerSlug: string\n}> = (props) => {\n const { collectionSlug, docID, drawerSlug } = props\n const { closeModal } = useModal()\n const searchParams = useSearchParams()\n const prevSearchParams = useRef(searchParams)\n\n const { renderDocument } = useServerFunctions()\n\n const [DocumentView, setDocumentView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n const hasRenderedDocument = useRef(false)\n const { t } = useTranslation()\n\n const getDocumentView = useCallback(\n (docID?: number | string) => {\n const fetchDocumentView = async () => {\n setIsLoading(true)\n\n try {\n const result = await renderDocument({\n collectionSlug,\n docID,\n drawerSlug,\n paramsOverride: {\n segments: ['collections', collectionSlug, String(docID), 'versions'],\n },\n redirectAfterDelete: false,\n redirectAfterDuplicate: false,\n searchParams: Object.fromEntries(searchParams.entries()),\n versions: {\n disableGutter: true,\n useVersionDrawerCreatedAtCell: true,\n },\n })\n\n if (result?.Document) {\n setDocumentView(result.Document)\n setIsLoading(false)\n }\n } catch (error) {\n toast.error(error?.message || t('error:unspecific'))\n closeModal(drawerSlug)\n // toast.error(data?.errors?.[0].message || t('error:unspecific'))\n }\n }\n\n void fetchDocumentView()\n },\n [closeModal, collectionSlug, drawerSlug, renderDocument, searchParams, t],\n )\n\n useEffect(() => {\n if (!hasRenderedDocument.current || prevSearchParams.current !== searchParams) {\n prevSearchParams.current = searchParams\n getDocumentView(docID)\n hasRenderedDocument.current = true\n }\n }, [docID, getDocumentView, searchParams])\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return DocumentView\n}\nexport const VersionDrawer: React.FC<{\n collectionSlug: string\n docID: number | string\n drawerSlug: string\n}> = (props) => {\n const { collectionSlug, docID, drawerSlug } = props\n const { t } = useTranslation()\n\n return (\n <Drawer\n className={baseClass}\n gutter={true}\n slug={drawerSlug}\n title={t('version:selectVersionToCompare')}\n >\n <VersionDrawerContent collectionSlug={collectionSlug} docID={docID} drawerSlug={drawerSlug} />\n </Drawer>\n )\n}\n\nexport const useVersionDrawer = ({\n collectionSlug,\n docID,\n}: {\n collectionSlug: string\n docID: number | string\n}) => {\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n\n const drawerSlug = formatVersionDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return () => (\n <VersionDrawer collectionSlug={collectionSlug} docID={docID} drawerSlug={drawerSlug} />\n )\n }, [collectionSlug, docID, drawerSlug])\n\n return useMemo(\n () => ({\n closeDrawer,\n Drawer: MemoizedDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [MemoizedDrawer, closeDrawer, drawerDepth, drawerSlug, isOpen, openDrawer, toggleDrawer],\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","Drawer","LoadingOverlay","toast","useEditDepth","useModal","useServerFunctions","useTranslation","useSearchParams","React","useCallback","useEffect","useId","useMemo","useRef","useState","baseClass","formatVersionDrawerSlug","depth","uuid","VersionDrawerContent","props","collectionSlug","docID","drawerSlug","globalSlug","closeModal","searchParams","prevSearchParams","renderDocument","DocumentView","setDocumentView","undefined","isLoading","setIsLoading","hasRenderedDocument","t","getDocumentView","fetchDocumentView","isGlobal","Boolean","entitySlug","result","paramsOverride","segments","String","filter","redirectAfterDelete","redirectAfterDuplicate","Object","fromEntries","entries","versions","disableGutter","useVersionDrawerCreatedAtCell","Document","error","message","current","_jsx","VersionDrawer","$","t0","className","gutter","slug","title","children","useVersionDrawer","drawerDepth","modalState","openModal","toggleModal","isOpen","setIsOpen","t1","t2","t3","t4","toggleDrawer","t5","closeDrawer","t6","openDrawer","t7","t8","MemoizedDrawer","t9","t10","isDrawerOpen"],"sources":["../../../../../src/views/Version/SelectComparison/VersionDrawer/index.tsx"],"sourcesContent":["'use client'\nimport {\n Drawer,\n LoadingOverlay,\n toast,\n useEditDepth,\n useModal,\n useServerFunctions,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useSearchParams } from 'next/navigation.js'\n\nimport './index.scss'\n\nimport React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react'\n\nexport const baseClass = 'version-drawer'\nexport const formatVersionDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `version-drawer_${depth}_${uuid}`\n\nexport const VersionDrawerContent: React.FC<{\n collectionSlug?: string\n docID?: number | string\n drawerSlug: string\n globalSlug?: string\n}> = (props) => {\n const { collectionSlug, docID, drawerSlug, globalSlug } = props\n const { closeModal } = useModal()\n const searchParams = useSearchParams()\n const prevSearchParams = useRef(searchParams)\n\n const { renderDocument } = useServerFunctions()\n\n const [DocumentView, setDocumentView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n const hasRenderedDocument = useRef(false)\n const { t } = useTranslation()\n\n const getDocumentView = useCallback(\n (docID?: number | string) => {\n const fetchDocumentView = async () => {\n setIsLoading(true)\n\n try {\n const isGlobal = Boolean(globalSlug)\n const entitySlug = collectionSlug ?? globalSlug\n\n const result = await renderDocument({\n collectionSlug: entitySlug,\n docID,\n drawerSlug,\n paramsOverride: {\n segments: [\n isGlobal ? 'globals' : 'collections',\n entitySlug,\n isGlobal ? undefined : String(docID),\n 'versions',\n ].filter(Boolean),\n },\n redirectAfterDelete: false,\n redirectAfterDuplicate: false,\n searchParams: Object.fromEntries(searchParams.entries()),\n versions: {\n disableGutter: true,\n useVersionDrawerCreatedAtCell: true,\n },\n })\n\n if (result?.Document) {\n setDocumentView(result.Document)\n setIsLoading(false)\n }\n } catch (error) {\n toast.error(error?.message || t('error:unspecific'))\n closeModal(drawerSlug)\n // toast.error(data?.errors?.[0].message || t('error:unspecific'))\n }\n }\n\n void fetchDocumentView()\n },\n [closeModal, collectionSlug, globalSlug, drawerSlug, renderDocument, searchParams, t],\n )\n\n useEffect(() => {\n if (!hasRenderedDocument.current || prevSearchParams.current !== searchParams) {\n prevSearchParams.current = searchParams\n getDocumentView(docID)\n hasRenderedDocument.current = true\n }\n }, [docID, getDocumentView, searchParams])\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return DocumentView\n}\nexport const VersionDrawer: React.FC<{\n collectionSlug?: string\n docID?: number | string\n drawerSlug: string\n globalSlug?: string\n}> = (props) => {\n const { collectionSlug, docID, drawerSlug, globalSlug } = props\n const { t } = useTranslation()\n\n return (\n <Drawer\n className={baseClass}\n gutter={true}\n slug={drawerSlug}\n title={t('version:selectVersionToCompare')}\n >\n <VersionDrawerContent\n collectionSlug={collectionSlug}\n docID={docID}\n drawerSlug={drawerSlug}\n globalSlug={globalSlug}\n />\n </Drawer>\n )\n}\n\nexport const useVersionDrawer = ({\n collectionSlug,\n docID,\n globalSlug,\n}: {\n collectionSlug?: string\n docID?: number | string\n globalSlug?: string\n}) => {\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n\n const drawerSlug = formatVersionDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return () => (\n <VersionDrawer\n collectionSlug={collectionSlug}\n docID={docID}\n drawerSlug={drawerSlug}\n globalSlug={globalSlug}\n />\n )\n }, [collectionSlug, docID, drawerSlug, globalSlug])\n\n return useMemo(\n () => ({\n closeDrawer,\n Drawer: MemoizedDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [MemoizedDrawer, closeDrawer, drawerDepth, drawerSlug, isOpen, openDrawer, toggleDrawer],\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAqC,MAAM,OAAO,CAAA;AAIzD,OAAO,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAMvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmD3C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAqC,MAAM,OAAO,CAAA;AAIzD,OAAO,cAAc,CAAA;AAErB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAMvC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoD3C,CAAA"}
@@ -9,6 +9,7 @@ export const SelectComparison = /*#__PURE__*/memo(props => {
9
9
  const {
10
10
  collectionSlug,
11
11
  docID,
12
+ globalSlug,
12
13
  onChange: onChangeFromProps,
13
14
  versionFromID,
14
15
  versionFromOptions
@@ -21,7 +22,8 @@ export const SelectComparison = /*#__PURE__*/memo(props => {
21
22
  openDrawer
22
23
  } = useVersionDrawer({
23
24
  collectionSlug,
24
- docID
25
+ docID,
26
+ globalSlug
25
27
  });
26
28
  const options = useMemo(() => {
27
29
  return [...versionFromOptions, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fieldBaseClass","ReactSelect","useTranslation","React","memo","useCallback","useMemo","useVersionDrawer","baseClass","SelectComparison","props","collectionSlug","docID","onChange","onChangeFromProps","versionFromID","versionFromOptions","t","Drawer","openDrawer","options","label","_jsx","className","value","currentOption","find","option","val","_jsxs","filter","Boolean","join","isClearable","isSearchable","placeholder"],"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\n\nimport { fieldBaseClass, ReactSelect, useTranslation } from '@payloadcms/ui'\nimport React, { memo, useCallback, useMemo } from 'react'\n\nimport type { CompareOption } from '../Default/types.js'\n\nimport './index.scss'\n\nimport type { Props } from './types.js'\n\nimport { useVersionDrawer } from './VersionDrawer/index.js'\n\nconst baseClass = 'compare-version'\n\nexport const SelectComparison: React.FC<Props> = memo((props) => {\n const {\n collectionSlug,\n docID,\n onChange: onChangeFromProps,\n versionFromID,\n versionFromOptions,\n } = props\n const { t } = useTranslation()\n\n const { Drawer, openDrawer } = useVersionDrawer({ collectionSlug, docID })\n\n const options = useMemo(() => {\n return [\n ...versionFromOptions,\n {\n label: <span className={`${baseClass}-moreVersions`}>{t('version:moreVersions')}</span>,\n value: 'more',\n },\n ]\n }, [t, versionFromOptions])\n\n const currentOption = useMemo(\n () => versionFromOptions.find((option) => option.value === versionFromID),\n [versionFromOptions, versionFromID],\n )\n\n const onChange = useCallback(\n (val: CompareOption) => {\n if (val.value === 'more') {\n openDrawer()\n return\n }\n onChangeFromProps(val)\n },\n [onChangeFromProps, openDrawer],\n )\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n options={options}\n placeholder={t('version:selectVersionToCompare')}\n value={currentOption}\n />\n <Drawer />\n </div>\n )\n})\n"],"mappings":"AAAA;;;AAEA,SAASA,cAAc,EAAEC,WAAW,EAAEC,cAAc,QAAQ;AAC5D,OAAOC,KAAA,IAASC,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ;AAQlD,SAASC,gBAAgB,QAAQ;AAEjC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,gBAAA,gBAAoCL,IAAA,CAAMM,KAAA;EACrD,MAAM;IACJC,cAAc;IACdC,KAAK;IACLC,QAAA,EAAUC,iBAAiB;IAC3BC,aAAa;IACbC;EAAkB,CACnB,GAAGN,KAAA;EACJ,MAAM;IAAEO;EAAC,CAAE,GAAGf,cAAA;EAEd,MAAM;IAAEgB,MAAM;IAAEC;EAAU,CAAE,GAAGZ,gBAAA,CAAiB;IAAEI,cAAA;IAAgBC;EAAM;EAExE,MAAMQ,OAAA,GAAUd,OAAA,CAAQ;IACtB,OAAO,C,GACFU,kBAAA,EACH;MACEK,KAAA,eAAOC,IAAA,CAAC;QAAKC,SAAA,EAAW,GAAGf,SAAA,eAAwB;kBAAGS,CAAA,CAAE;;MACxDO,KAAA,EAAO;IACT,EACD;EACH,GAAG,CAACP,CAAA,EAAGD,kBAAA,CAAmB;EAE1B,MAAMS,aAAA,GAAgBnB,OAAA,CACpB,MAAMU,kBAAA,CAAmBU,IAAI,CAAEC,MAAA,IAAWA,MAAA,CAAOH,KAAK,KAAKT,aAAA,GAC3D,CAACC,kBAAA,EAAoBD,aAAA,CAAc;EAGrC,MAAMF,QAAA,GAAWR,WAAA,CACduB,GAAA;IACC,IAAIA,GAAA,CAAIJ,KAAK,KAAK,QAAQ;MACxBL,UAAA;MACA;IACF;IACAL,iBAAA,CAAkBc,GAAA;EACpB,GACA,CAACd,iBAAA,EAAmBK,UAAA,CAAW;EAGjC,oBACEU,KAAA,CAAC;IAAIN,SAAA,EAAW,CAACvB,cAAA,EAAgBQ,SAAA,CAAU,CAACsB,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;4BAC/DV,IAAA,CAACrB,WAAA;MACCgC,WAAA,EAAa;MACbC,YAAA,EAAc;MACdrB,QAAA,EAAUA,QAAA;MACVO,OAAA,EAASA,OAAA;MACTe,WAAA,EAAalB,CAAA,CAAE;MACfO,KAAA,EAAOC;qBAETH,IAAA,CAACJ,MAAA;;AAGP","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["fieldBaseClass","ReactSelect","useTranslation","React","memo","useCallback","useMemo","useVersionDrawer","baseClass","SelectComparison","props","collectionSlug","docID","globalSlug","onChange","onChangeFromProps","versionFromID","versionFromOptions","t","Drawer","openDrawer","options","label","_jsx","className","value","currentOption","find","option","val","_jsxs","filter","Boolean","join","isClearable","isSearchable","placeholder"],"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\n\nimport { fieldBaseClass, ReactSelect, useTranslation } from '@payloadcms/ui'\nimport React, { memo, useCallback, useMemo } from 'react'\n\nimport type { CompareOption } from '../Default/types.js'\n\nimport './index.scss'\n\nimport type { Props } from './types.js'\n\nimport { useVersionDrawer } from './VersionDrawer/index.js'\n\nconst baseClass = 'compare-version'\n\nexport const SelectComparison: React.FC<Props> = memo((props) => {\n const {\n collectionSlug,\n docID,\n globalSlug,\n onChange: onChangeFromProps,\n versionFromID,\n versionFromOptions,\n } = props\n const { t } = useTranslation()\n\n const { Drawer, openDrawer } = useVersionDrawer({ collectionSlug, docID, globalSlug })\n\n const options = useMemo(() => {\n return [\n ...versionFromOptions,\n {\n label: <span className={`${baseClass}-moreVersions`}>{t('version:moreVersions')}</span>,\n value: 'more',\n },\n ]\n }, [t, versionFromOptions])\n\n const currentOption = useMemo(\n () => versionFromOptions.find((option) => option.value === versionFromID),\n [versionFromOptions, versionFromID],\n )\n\n const onChange = useCallback(\n (val: CompareOption) => {\n if (val.value === 'more') {\n openDrawer()\n return\n }\n onChangeFromProps(val)\n },\n [onChangeFromProps, openDrawer],\n )\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n options={options}\n placeholder={t('version:selectVersionToCompare')}\n value={currentOption}\n />\n <Drawer />\n </div>\n )\n})\n"],"mappings":"AAAA;;;AAEA,SAASA,cAAc,EAAEC,WAAW,EAAEC,cAAc,QAAQ;AAC5D,OAAOC,KAAA,IAASC,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ;AAQlD,SAASC,gBAAgB,QAAQ;AAEjC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,gBAAA,gBAAoCL,IAAA,CAAMM,KAAA;EACrD,MAAM;IACJC,cAAc;IACdC,KAAK;IACLC,UAAU;IACVC,QAAA,EAAUC,iBAAiB;IAC3BC,aAAa;IACbC;EAAkB,CACnB,GAAGP,KAAA;EACJ,MAAM;IAAEQ;EAAC,CAAE,GAAGhB,cAAA;EAEd,MAAM;IAAEiB,MAAM;IAAEC;EAAU,CAAE,GAAGb,gBAAA,CAAiB;IAAEI,cAAA;IAAgBC,KAAA;IAAOC;EAAW;EAEpF,MAAMQ,OAAA,GAAUf,OAAA,CAAQ;IACtB,OAAO,C,GACFW,kBAAA,EACH;MACEK,KAAA,eAAOC,IAAA,CAAC;QAAKC,SAAA,EAAW,GAAGhB,SAAA,eAAwB;kBAAGU,CAAA,CAAE;;MACxDO,KAAA,EAAO;IACT,EACD;EACH,GAAG,CAACP,CAAA,EAAGD,kBAAA,CAAmB;EAE1B,MAAMS,aAAA,GAAgBpB,OAAA,CACpB,MAAMW,kBAAA,CAAmBU,IAAI,CAAEC,MAAA,IAAWA,MAAA,CAAOH,KAAK,KAAKT,aAAA,GAC3D,CAACC,kBAAA,EAAoBD,aAAA,CAAc;EAGrC,MAAMF,QAAA,GAAWT,WAAA,CACdwB,GAAA;IACC,IAAIA,GAAA,CAAIJ,KAAK,KAAK,QAAQ;MACxBL,UAAA;MACA;IACF;IACAL,iBAAA,CAAkBc,GAAA;EACpB,GACA,CAACd,iBAAA,EAAmBK,UAAA,CAAW;EAGjC,oBACEU,KAAA,CAAC;IAAIN,SAAA,EAAW,CAACxB,cAAA,EAAgBQ,SAAA,CAAU,CAACuB,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;4BAC/DV,IAAA,CAACtB,WAAA;MACCiC,WAAA,EAAa;MACbC,YAAA,EAAc;MACdrB,QAAA,EAAUA,QAAA;MACVO,OAAA,EAASA,OAAA;MACTe,WAAA,EAAalB,CAAA,CAAE;MACfO,KAAA,EAAOC;qBAETH,IAAA,CAACJ,MAAA;;AAGP","ignoreList":[]}
@@ -1,8 +1,9 @@
1
1
  import type { PaginatedDocs, SanitizedCollectionConfig } from 'payload';
2
2
  import type { CompareOption } from '../Default/types.js';
3
3
  export type Props = {
4
- collectionSlug: string;
5
- docID: number | string;
4
+ collectionSlug?: string;
5
+ docID?: number | string;
6
+ globalSlug?: string;
6
7
  onChange: (val: CompareOption) => void;
7
8
  versionFromID?: string;
8
9
  versionFromOptions: CompareOption[];
@@ -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,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,aAAa,EAAE,CAAA;CACpC,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
+ {"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,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,aAAa,EAAE,CAAA;CACpC,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 collectionSlug: string\n docID: number | string\n onChange: (val: CompareOption) => void\n versionFromID?: string\n versionFromOptions: CompareOption[]\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":"AAyBA","ignoreList":[]}
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 collectionSlug?: string\n docID?: number | string\n globalSlug?: string\n onChange: (val: CompareOption) => void\n versionFromID?: string\n versionFromOptions: CompareOption[]\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":"AA0BA","ignoreList":[]}
@@ -341,7 +341,7 @@ export async function VersionView(props) {
341
341
  }),
342
342
  versionToID: versionTo.id,
343
343
  versionToStatus: versionTo.version?._status,
344
- versionToUseAsTitle: versionTo[collectionConfig.admin?.useAsTitle || 'id']
344
+ versionToUseAsTitle: versionTo[collectionConfig?.admin?.useAsTitle || 'id']
345
345
  });
346
346
  }
347
347
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatDate","getClientConfig","getClientSchemaMap","getSchemaMap","notFound","React","DefaultVersionView","fetchLatestVersion","fetchVersion","fetchVersions","RenderDiff","getVersionLabel","VersionPillLabel","VersionView","props","hasPublishedDoc","i18n","initPageResult","routeSegments","searchParams","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","localization","user","versionToID","length","collectionSlug","slug","globalSlug","draftsEnabled","versions","drafts","localeCodesFromParams","localeCodes","JSON","parse","versionFromIDFromParams","versionFrom","modifiedOnly","docPermissions","collections","globals","versionTo","depth","locale","overrideAccess","previousVersionResult","versionFromResult","currentlyPublishedVersion","latestDraftVersion","previousPublishedVersionResult","Promise","all","draft","limit","parentID","sort","where","and","updatedAt","less_than","resolve","status","equals","previousVersion","docs","previousPublishedVersion","selectedLocales","locales","code","find","push","filterAvailableLocales","map","schemaMap","clientSchemaMap","importMap","RenderedDiff","customDiffComponents","entitySlug","fieldPermissions","fields","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","versionFromSiblingData","version","versionToSiblingData","versionToCreatedAtFormatted","date","Date","pattern","admin","dateFormat","formatPill","doc","labelOverride","labelStyle","labelSuffix","_jsx","labelFirst","versionFromOptions","t","value","publishedNewerThanDraft","some","option","a","b","getTime","versionToIsVersionFrom","versionFromComparisonOptions","isVersionTo","alreadyAdded","existingOption","otherOptionsWithSameID","filter","_jsxs","optionWithSameID","index","label","Fragment","undefined","canUpdate","update","versionFromCreatedAt","createdAt","versionFromID","versionToCreatedAt","VersionToCreatedAtLabel","versionToStatus","_status","versionToUseAsTitle","useAsTitle"],"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type {\n DocumentViewServerProps,\n Locale,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n TypeWithVersion,\n} from 'payload'\n\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { getClientSchemaMap } from '@payloadcms/ui/utilities/getClientSchemaMap'\nimport { getSchemaMap } from '@payloadcms/ui/utilities/getSchemaMap'\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { CompareOption } from './Default/types.js'\n\nimport { DefaultVersionView } from './Default/index.js'\nimport { fetchLatestVersion, fetchVersion, fetchVersions } from './fetchVersions.js'\nimport { RenderDiff } from './RenderFieldsToDiff/index.js'\nimport { getVersionLabel } from './VersionPillLabel/getVersionLabel.js'\nimport { VersionPillLabel } from './VersionPillLabel/VersionPillLabel.js'\n\nexport async function VersionView(props: DocumentViewServerProps) {\n const { hasPublishedDoc, i18n, initPageResult, routeSegments, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req,\n req: { payload, payload: { config, config: { localization } } = {}, user } = {},\n } = initPageResult\n\n const versionToID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const draftsEnabled = (collectionConfig ?? globalConfig)?.versions?.drafts\n\n const localeCodesFromParams = searchParams.localeCodes\n ? JSON.parse(searchParams.localeCodes as string)\n : null\n\n const versionFromIDFromParams = searchParams.versionFrom as string\n\n const modifiedOnly: boolean = searchParams.modifiedOnly === 'false' ? false : true\n\n const docPermissions: SanitizedCollectionPermission | SanitizedGlobalPermission = collectionSlug\n ? permissions.collections[collectionSlug]\n : permissions.globals[globalSlug]\n\n const versionTo = await fetchVersion<{\n _status?: string\n }>({\n id: versionToID,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n\n if (!versionTo) {\n return notFound()\n }\n\n const [\n previousVersionResult,\n versionFromResult,\n currentlyPublishedVersion,\n latestDraftVersion,\n previousPublishedVersionResult,\n ] = await Promise.all([\n // Previous version (the one before the versionTo)\n fetchVersions({\n collectionSlug,\n // If versionFromIDFromParams is provided, the previous version is only used in the version comparison dropdown => depth 0 is enough.\n // If it's not provided, this is used as `versionFrom` in the comparison, which expects populated data => depth 1 is needed.\n depth: versionFromIDFromParams ? 0 : 1,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n ],\n },\n }),\n // Version from ID from params\n (versionFromIDFromParams\n ? fetchVersion({\n id: versionFromIDFromParams,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n : Promise.resolve(null)) as Promise<null | TypeWithVersion<object>>,\n // Currently published version - do note: currently published != latest published, as an unpublished version can be the latest published\n hasPublishedDoc\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n status: 'published',\n user,\n })\n : Promise.resolve(null),\n // Latest draft version\n draftsEnabled\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n status: 'draft',\n user,\n })\n : Promise.resolve(null),\n // Previous published version\n fetchVersions({\n collectionSlug,\n depth: 0,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n {\n 'version._status': {\n equals: 'published',\n },\n },\n ],\n },\n }),\n ])\n\n const previousVersion: null | TypeWithVersion<object> = previousVersionResult?.docs?.[0] ?? null\n\n const versionFrom =\n versionFromResult ||\n // By default, we'll compare the previous version. => versionFrom = version previous to versionTo\n previousVersion\n\n // Previous published version before the versionTo\n const previousPublishedVersion = previousPublishedVersionResult?.docs?.[0] ?? null\n\n let selectedLocales: string[] = []\n if (localization) {\n let locales: Locale[] = []\n if (localeCodesFromParams) {\n for (const code of localeCodesFromParams) {\n const locale = localization.locales.find((locale) => locale.code === code)\n if (!locale) {\n continue\n }\n locales.push(locale)\n }\n } else {\n locales = localization.locales\n }\n\n if (localization.filterAvailableLocales) {\n locales = (await localization.filterAvailableLocales({ locales, req })) || []\n }\n\n selectedLocales = locales.map((locale) => locale.code)\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({ config: payload.config, i18n, importMap: payload.importMap }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n const RenderedDiff = RenderDiff({\n clientSchemaMap,\n customDiffComponents: {},\n entitySlug: collectionSlug || globalSlug,\n fieldPermissions: docPermissions?.fields,\n fields: (collectionConfig || globalConfig)?.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: '',\n parentIsLocalized: false,\n parentPath: '',\n parentSchemaPath: '',\n req,\n selectedLocales,\n versionFromSiblingData: {\n ...versionFrom?.version,\n updatedAt: versionFrom?.updatedAt,\n },\n versionToSiblingData: {\n ...versionTo.version,\n updatedAt: versionTo.updatedAt,\n },\n })\n\n const versionToCreatedAtFormatted = versionTo.updatedAt\n ? formatDate({\n date:\n typeof versionTo.updatedAt === 'string'\n ? new Date(versionTo.updatedAt)\n : (versionTo.updatedAt as Date),\n i18n,\n pattern: config.admin.dateFormat,\n })\n : ''\n\n const formatPill = ({\n doc,\n labelOverride,\n labelStyle,\n labelSuffix,\n }: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n labelStyle?: 'pill' | 'text'\n labelSuffix?: React.ReactNode\n }): React.ReactNode => {\n return (\n <VersionPillLabel\n currentlyPublishedVersion={currentlyPublishedVersion}\n doc={doc}\n key={doc.id}\n labelFirst={true}\n labelOverride={labelOverride}\n labelStyle={labelStyle ?? 'text'}\n labelSuffix={labelSuffix}\n latestDraftVersion={latestDraftVersion}\n />\n )\n }\n\n // SelectComparison Options:\n //\n // Previous version: always, unless doesn't exist. Can be the same as previously published\n // Latest draft: only if no newer published exists (latestDraftVersion)\n // Currently published: always, if exists\n // Previously published: if there is a prior published version older than versionTo\n // Specific Version: only if not already present under other label (= versionFrom)\n\n let versionFromOptions: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n updatedAt: Date\n value: string\n }[] = []\n\n // Previous version\n if (previousVersion?.id) {\n versionFromOptions.push({\n doc: previousVersion,\n labelOverride: i18n.t('version:previousVersion'),\n updatedAt: new Date(previousVersion.updatedAt),\n value: previousVersion.id,\n })\n }\n\n // Latest Draft\n const publishedNewerThanDraft =\n currentlyPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n if (latestDraftVersion && !publishedNewerThanDraft) {\n versionFromOptions.push({\n doc: latestDraftVersion,\n updatedAt: new Date(latestDraftVersion.updatedAt),\n value: latestDraftVersion.id,\n })\n }\n\n // Currently Published\n if (currentlyPublishedVersion) {\n versionFromOptions.push({\n doc: currentlyPublishedVersion,\n updatedAt: new Date(currentlyPublishedVersion.updatedAt),\n value: currentlyPublishedVersion.id,\n })\n }\n\n // Previous Published\n if (previousPublishedVersion && currentlyPublishedVersion?.id !== previousPublishedVersion.id) {\n versionFromOptions.push({\n doc: previousPublishedVersion,\n labelOverride: i18n.t('version:previouslyPublished'),\n updatedAt: new Date(previousPublishedVersion.updatedAt),\n value: previousPublishedVersion.id,\n })\n }\n\n // Specific Version\n if (versionFrom?.id && !versionFromOptions.some((option) => option.value === versionFrom.id)) {\n // Only add \"specific version\" if it is not already in the options\n versionFromOptions.push({\n doc: versionFrom,\n labelOverride: i18n.t('version:specificVersion'),\n updatedAt: new Date(versionFrom.updatedAt),\n value: versionFrom.id,\n })\n }\n\n versionFromOptions = versionFromOptions.sort((a, b) => {\n // Sort by updatedAt, newest first\n if (a && b) {\n return b.updatedAt.getTime() - a.updatedAt.getTime()\n }\n return 0\n })\n\n const versionToIsVersionFrom = versionFrom?.id === versionTo.id\n\n const versionFromComparisonOptions: CompareOption[] = []\n\n for (const option of versionFromOptions) {\n const isVersionTo = option.value === versionTo.id\n\n if (isVersionTo && !versionToIsVersionFrom) {\n // Don't offer selecting a versionFrom that is the same as versionTo, unless it's already selected\n continue\n }\n\n const alreadyAdded = versionFromComparisonOptions.some(\n (existingOption) => existingOption.value === option.value,\n )\n if (alreadyAdded) {\n continue\n }\n\n const otherOptionsWithSameID = versionFromOptions.filter(\n (existingOption) => existingOption.value === option.value && existingOption !== option,\n )\n\n // Merge options with same ID to the same option\n const labelSuffix = otherOptionsWithSameID?.length ? (\n <span key={`${option.value}-suffix`}>\n {' ('}\n {otherOptionsWithSameID.map((optionWithSameID, index) => {\n const label =\n optionWithSameID.labelOverride ||\n getVersionLabel({\n currentlyPublishedVersion,\n latestDraftVersion,\n t: i18n.t,\n version: optionWithSameID.doc,\n }).label\n\n return (\n <React.Fragment key={`${optionWithSameID.value}-${index}`}>\n {index > 0 ? ', ' : ''}\n {label}\n </React.Fragment>\n )\n })}\n {')'}\n </span>\n ) : undefined\n\n versionFromComparisonOptions.push({\n label: formatPill({\n doc: option.doc,\n labelOverride: option.labelOverride,\n labelSuffix,\n }),\n value: option.value,\n })\n }\n\n return (\n <DefaultVersionView\n canUpdate={docPermissions?.update}\n modifiedOnly={modifiedOnly}\n RenderedDiff={RenderedDiff}\n selectedLocales={selectedLocales}\n versionFromCreatedAt={versionFrom?.createdAt}\n versionFromID={versionFrom?.id}\n versionFromOptions={versionFromComparisonOptions}\n versionToCreatedAt={versionTo.createdAt}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n VersionToCreatedAtLabel={formatPill({ doc: versionTo, labelStyle: 'pill' })}\n versionToID={versionTo.id}\n versionToStatus={versionTo.version?._status}\n versionToUseAsTitle={versionTo[collectionConfig.admin?.useAsTitle || 'id']}\n />\n )\n}\n"],"mappings":";AAQA,SAASA,UAAU,QAAQ;AAC3B,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,YAAY,QAAQ;AAC7B,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,MAAW;AAIlB,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,EAAEC,YAAY,EAAEC,aAAa,QAAQ;AAChE,SAASC,UAAU,QAAQ;AAC3B,SAASC,eAAe,QAAQ;AAChC,SAASC,gBAAgB,QAAQ;AAEjC,OAAO,eAAeC,YAAYC,KAA8B;EAC9D,MAAM;IAAEC,eAAe;IAAEC,IAAI;IAAEC,cAAc;IAAEC,aAAa;IAAEC;EAAY,CAAE,GAAGL,KAAA;EAE/E,MAAM;IACJM,gBAAgB;IAChBC,KAAA,EAAOC,EAAE;IACTC,YAAY;IACZC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MAAEC,OAAO;MAAEA,OAAA,EAAS;QAAEC,MAAM;QAAEA,MAAA,EAAQ;UAAEC;QAAY;MAAE,CAAE,GAAG,CAAC,CAAC;MAAEC;IAAI,CAAE,GAAG,CAAC;EAAC,CAChF,GAAGZ,cAAA;EAEJ,MAAMa,WAAA,GAAcZ,aAAa,CAACA,aAAA,CAAca,MAAM,GAAG,EAAE;EAE3D,MAAMC,cAAA,GAAiBZ,gBAAA,EAAkBa,IAAA;EACzC,MAAMC,UAAA,GAAaX,YAAA,EAAcU,IAAA;EAEjC,MAAME,aAAA,GAAiB,CAAAf,gBAAA,IAAoBG,YAAW,GAAIa,QAAA,EAAUC,MAAA;EAEpE,MAAMC,qBAAA,GAAwBnB,YAAA,CAAaoB,WAAW,GAClDC,IAAA,CAAKC,KAAK,CAACtB,YAAA,CAAaoB,WAAW,IACnC;EAEJ,MAAMG,uBAAA,GAA0BvB,YAAA,CAAawB,WAAW;EAExD,MAAMC,YAAA,GAAwBzB,YAAA,CAAayB,YAAY,KAAK,UAAU,QAAQ;EAE9E,MAAMC,cAAA,GAA4Eb,cAAA,GAC9ER,WAAA,CAAYsB,WAAW,CAACd,cAAA,CAAe,GACvCR,WAAA,CAAYuB,OAAO,CAACb,UAAA,CAAW;EAEnC,MAAMc,SAAA,GAAY,MAAMxC,YAAA,CAErB;IACDc,EAAA,EAAIQ,WAAA;IACJE,cAAA;IACAiB,KAAA,EAAO;IACPf,UAAA;IACAgB,MAAA,EAAQ;IACRC,cAAA,EAAgB;IAChB1B,GAAA;IACAI;EACF;EAEA,IAAI,CAACmB,SAAA,EAAW;IACd,OAAO5C,QAAA;EACT;EAEA,MAAM,CACJgD,qBAAA,EACAC,iBAAA,EACAC,yBAAA,EACAC,kBAAA,EACAC,8BAAA,CACD,GAAG,MAAMC,OAAA,CAAQC,GAAG,CAAC;EACpB;EACAjD,aAAA,CAAc;IACZuB,cAAA;IACA;IACA;IACAiB,KAAA,EAAOP,uBAAA,GAA0B,IAAI;IACrCiB,KAAA,EAAO;IACPzB,UAAA;IACA0B,KAAA,EAAO;IACPV,MAAA,EAAQ;IACRC,cAAA,EAAgB;IAChBU,QAAA,EAAUvC,EAAA;IACVG,GAAA;IACAqC,IAAA,EAAM;IACNjC,IAAA;IACAkC,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,SAAA,EAAW;UACTC,SAAA,EAAWlB,SAAA,CAAUiB;QACvB;MACF;IAEJ;EACF;EACA;EACCvB,uBAAA,GACGlC,YAAA,CAAa;IACXc,EAAA,EAAIoB,uBAAA;IACJV,cAAA;IACAiB,KAAA,EAAO;IACPf,UAAA;IACAgB,MAAA,EAAQ;IACRC,cAAA,EAAgB;IAChB1B,GAAA;IACAI;EACF,KACA4B,OAAA,CAAQU,OAAO,CAAC;EACpB;EACApD,eAAA,GACIR,kBAAA,CAAmB;IACjByB,cAAA;IACAiB,KAAA,EAAO;IACPf,UAAA;IACAgB,MAAA,EAAQ;IACRC,cAAA,EAAgB;IAChBU,QAAA,EAAUvC,EAAA;IACVG,GAAA;IACA2C,MAAA,EAAQ;IACRvC;EACF,KACA4B,OAAA,CAAQU,OAAO,CAAC;EACpB;EACAhC,aAAA,GACI5B,kBAAA,CAAmB;IACjByB,cAAA;IACAiB,KAAA,EAAO;IACPf,UAAA;IACAgB,MAAA,EAAQ;IACRC,cAAA,EAAgB;IAChBU,QAAA,EAAUvC,EAAA;IACVG,GAAA;IACA2C,MAAA,EAAQ;IACRvC;EACF,KACA4B,OAAA,CAAQU,OAAO,CAAC;EACpB;EACA1D,aAAA,CAAc;IACZuB,cAAA;IACAiB,KAAA,EAAO;IACPU,KAAA,EAAO;IACPzB,UAAA;IACA0B,KAAA,EAAO;IACPV,MAAA,EAAQ;IACRC,cAAA,EAAgB;IAChBU,QAAA,EAAUvC,EAAA;IACVG,GAAA;IACAqC,IAAA,EAAM;IACNjC,IAAA;IACAkC,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,SAAA,EAAW;UACTC,SAAA,EAAWlB,SAAA,CAAUiB;QACvB;MACF,GACA;QACE,mBAAmB;UACjBI,MAAA,EAAQ;QACV;MACF;IAEJ;EACF,GACD;EAED,MAAMC,eAAA,GAAkDlB,qBAAA,EAAuBmB,IAAA,GAAO,EAAE,IAAI;EAE5F,MAAM5B,WAAA,GACJU,iBAAA;EACA;EACAiB,eAAA;EAEF;EACA,MAAME,wBAAA,GAA2BhB,8BAAA,EAAgCe,IAAA,GAAO,EAAE,IAAI;EAE9E,IAAIE,eAAA,GAA4B,EAAE;EAClC,IAAI7C,YAAA,EAAc;IAChB,IAAI8C,OAAA,GAAoB,EAAE;IAC1B,IAAIpC,qBAAA,EAAuB;MACzB,KAAK,MAAMqC,IAAA,IAAQrC,qBAAA,EAAuB;QACxC,MAAMY,MAAA,GAAStB,YAAA,CAAa8C,OAAO,CAACE,IAAI,CAAE1B,MAAA,IAAWA,MAAA,CAAOyB,IAAI,KAAKA,IAAA;QACrE,IAAI,CAACzB,MAAA,EAAQ;UACX;QACF;QACAwB,OAAA,CAAQG,IAAI,CAAC3B,MAAA;MACf;IACF,OAAO;MACLwB,OAAA,GAAU9C,YAAA,CAAa8C,OAAO;IAChC;IAEA,IAAI9C,YAAA,CAAakD,sBAAsB,EAAE;MACvCJ,OAAA,GAAU,OAAO9C,YAAA,CAAakD,sBAAsB,CAAC;QAAEJ,OAAA;QAASjD;MAAI,OAAO,EAAE;IAC/E;IAEAgD,eAAA,GAAkBC,OAAA,CAAQK,GAAG,CAAE7B,MAAA,IAAWA,MAAA,CAAOyB,IAAI;EACvD;EAEA,MAAMK,SAAA,GAAY7E,YAAA,CAAa;IAC7B6B,cAAA;IACAL,MAAA;IACAO,UAAA;IACAlB;EACF;EAEA,MAAMiE,eAAA,GAAkB/E,kBAAA,CAAmB;IACzC8B,cAAA;IACAL,MAAA,EAAQ1B,eAAA,CAAgB;MAAE0B,MAAA,EAAQD,OAAA,CAAQC,MAAM;MAAEX,IAAA;MAAMkE,SAAA,EAAWxD,OAAA,CAAQwD;IAAU;IACrFhD,UAAA;IACAlB,IAAA;IACAU,OAAA;IACAsD;EACF;EACA,MAAMG,YAAA,GAAezE,UAAA,CAAW;IAC9BuE,eAAA;IACAG,oBAAA,EAAsB,CAAC;IACvBC,UAAA,EAAYrD,cAAA,IAAkBE,UAAA;IAC9BoD,gBAAA,EAAkBzC,cAAA,EAAgB0C,MAAA;IAClCA,MAAA,EAAS,CAAAnE,gBAAA,IAAoBG,YAAW,GAAIgE,MAAA;IAC5CvE,IAAA;IACA4B,YAAA;IACA4C,eAAA,EAAiB;IACjBC,iBAAA,EAAmB;IACnBC,UAAA,EAAY;IACZC,gBAAA,EAAkB;IAClBlE,GAAA;IACAgD,eAAA;IACAmB,sBAAA,EAAwB;MACtB,GAAGjD,WAAA,EAAakD,OAAO;MACvB5B,SAAA,EAAWtB,WAAA,EAAasB;IAC1B;IACA6B,oBAAA,EAAsB;MACpB,GAAG9C,SAAA,CAAU6C,OAAO;MACpB5B,SAAA,EAAWjB,SAAA,CAAUiB;IACvB;EACF;EAEA,MAAM8B,2BAAA,GAA8B/C,SAAA,CAAUiB,SAAS,GACnDjE,UAAA,CAAW;IACTgG,IAAA,EACE,OAAOhD,SAAA,CAAUiB,SAAS,KAAK,WAC3B,IAAIgC,IAAA,CAAKjD,SAAA,CAAUiB,SAAS,IAC3BjB,SAAA,CAAUiB,SAAS;IAC1BjD,IAAA;IACAkF,OAAA,EAASvE,MAAA,CAAOwE,KAAK,CAACC;EACxB,KACA;EAEJ,MAAMC,UAAA,GAAaA,CAAC;IAClBC,GAAG;IACHC,aAAa;IACbC,UAAU;IACVC;EAAW,CAMZ;IACC,oBACEC,IAAA,CAAC9F,gBAAA;MACC0C,yBAAA,EAA2BA,yBAAA;MAC3BgD,GAAA,EAAKA,GAAA;MAELK,UAAA,EAAY;MACZJ,aAAA,EAAeA,aAAA;MACfC,UAAA,EAAYA,UAAA,IAAc;MAC1BC,WAAA,EAAaA,WAAA;MACblD,kBAAA,EAAoBA;OALf+C,GAAA,CAAIhF,EAAE;EAQjB;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,IAAIsF,kBAAA,GAKE,EAAE;EAER;EACA,IAAItC,eAAA,EAAiBhD,EAAA,EAAI;IACvBsF,kBAAA,CAAmB/B,IAAI,CAAC;MACtByB,GAAA,EAAKhC,eAAA;MACLiC,aAAA,EAAevF,IAAA,CAAK6F,CAAC,CAAC;MACtB5C,SAAA,EAAW,IAAIgC,IAAA,CAAK3B,eAAA,CAAgBL,SAAS;MAC7C6C,KAAA,EAAOxC,eAAA,CAAgBhD;IACzB;EACF;EAEA;EACA,MAAMyF,uBAAA,GACJzD,yBAAA,EAA2BW,SAAA,GAAYV,kBAAA,EAAoBU,SAAA;EAC7D,IAAIV,kBAAA,IAAsB,CAACwD,uBAAA,EAAyB;IAClDH,kBAAA,CAAmB/B,IAAI,CAAC;MACtByB,GAAA,EAAK/C,kBAAA;MACLU,SAAA,EAAW,IAAIgC,IAAA,CAAK1C,kBAAA,CAAmBU,SAAS;MAChD6C,KAAA,EAAOvD,kBAAA,CAAmBjC;IAC5B;EACF;EAEA;EACA,IAAIgC,yBAAA,EAA2B;IAC7BsD,kBAAA,CAAmB/B,IAAI,CAAC;MACtByB,GAAA,EAAKhD,yBAAA;MACLW,SAAA,EAAW,IAAIgC,IAAA,CAAK3C,yBAAA,CAA0BW,SAAS;MACvD6C,KAAA,EAAOxD,yBAAA,CAA0BhC;IACnC;EACF;EAEA;EACA,IAAIkD,wBAAA,IAA4BlB,yBAAA,EAA2BhC,EAAA,KAAOkD,wBAAA,CAAyBlD,EAAE,EAAE;IAC7FsF,kBAAA,CAAmB/B,IAAI,CAAC;MACtByB,GAAA,EAAK9B,wBAAA;MACL+B,aAAA,EAAevF,IAAA,CAAK6F,CAAC,CAAC;MACtB5C,SAAA,EAAW,IAAIgC,IAAA,CAAKzB,wBAAA,CAAyBP,SAAS;MACtD6C,KAAA,EAAOtC,wBAAA,CAAyBlD;IAClC;EACF;EAEA;EACA,IAAIqB,WAAA,EAAarB,EAAA,IAAM,CAACsF,kBAAA,CAAmBI,IAAI,CAAEC,MAAA,IAAWA,MAAA,CAAOH,KAAK,KAAKnE,WAAA,CAAYrB,EAAE,GAAG;IAC5F;IACAsF,kBAAA,CAAmB/B,IAAI,CAAC;MACtByB,GAAA,EAAK3D,WAAA;MACL4D,aAAA,EAAevF,IAAA,CAAK6F,CAAC,CAAC;MACtB5C,SAAA,EAAW,IAAIgC,IAAA,CAAKtD,WAAA,CAAYsB,SAAS;MACzC6C,KAAA,EAAOnE,WAAA,CAAYrB;IACrB;EACF;EAEAsF,kBAAA,GAAqBA,kBAAA,CAAmB9C,IAAI,CAAC,CAACoD,CAAA,EAAGC,CAAA;IAC/C;IACA,IAAID,CAAA,IAAKC,CAAA,EAAG;MACV,OAAOA,CAAA,CAAElD,SAAS,CAACmD,OAAO,KAAKF,CAAA,CAAEjD,SAAS,CAACmD,OAAO;IACpD;IACA,OAAO;EACT;EAEA,MAAMC,sBAAA,GAAyB1E,WAAA,EAAarB,EAAA,KAAO0B,SAAA,CAAU1B,EAAE;EAE/D,MAAMgG,4BAAA,GAAgD,EAAE;EAExD,KAAK,MAAML,MAAA,IAAUL,kBAAA,EAAoB;IACvC,MAAMW,WAAA,GAAcN,MAAA,CAAOH,KAAK,KAAK9D,SAAA,CAAU1B,EAAE;IAEjD,IAAIiG,WAAA,IAAe,CAACF,sBAAA,EAAwB;MAE1C;IACF;IAEA,MAAMG,YAAA,GAAeF,4BAAA,CAA6BN,IAAI,CACnDS,cAAA,IAAmBA,cAAA,CAAeX,KAAK,KAAKG,MAAA,CAAOH,KAAK;IAE3D,IAAIU,YAAA,EAAc;MAChB;IACF;IAEA,MAAME,sBAAA,GAAyBd,kBAAA,CAAmBe,MAAM,CACrDF,cAAA,IAAmBA,cAAA,CAAeX,KAAK,KAAKG,MAAA,CAAOH,KAAK,IAAIW,cAAA,KAAmBR,MAAA;IAGlF;IACA,MAAMR,WAAA,GAAciB,sBAAA,EAAwB3F,MAAA,gBAC1C6F,KAAA,CAAC;iBACE,MACAF,sBAAA,CAAuB3C,GAAG,CAAC,CAAC8C,gBAAA,EAAkBC,KAAA;QAC7C,MAAMC,KAAA,GACJF,gBAAA,CAAiBtB,aAAa,IAC9B5F,eAAA,CAAgB;UACd2C,yBAAA;UACAC,kBAAA;UACAsD,CAAA,EAAG7F,IAAA,CAAK6F,CAAC;UACThB,OAAA,EAASgC,gBAAA,CAAiBvB;QAC5B,GAAGyB,KAAK;QAEV,oBACEH,KAAA,CAACvH,KAAA,CAAM2H,QAAQ;qBACZF,KAAA,GAAQ,IAAI,OAAO,IACnBC,KAAA;WAFkB,GAAGF,gBAAA,CAAiBf,KAAK,IAAIgB,KAAA,EAAO;MAK7D,IACC;OAnBQ,GAAGb,MAAA,CAAOH,KAAK,SAAS,IAqBjCmB,SAAA;IAEJX,4BAAA,CAA6BzC,IAAI,CAAC;MAChCkD,KAAA,EAAO1B,UAAA,CAAW;QAChBC,GAAA,EAAKW,MAAA,CAAOX,GAAG;QACfC,aAAA,EAAeU,MAAA,CAAOV,aAAa;QACnCE;MACF;MACAK,KAAA,EAAOG,MAAA,CAAOH;IAChB;EACF;EAEA,oBACEJ,IAAA,CAACpG,kBAAA;IACC4H,SAAA,EAAWrF,cAAA,EAAgBsF,MAAA;IAC3BvF,YAAA,EAAcA,YAAA;IACduC,YAAA,EAAcA,YAAA;IACdV,eAAA,EAAiBA,eAAA;IACjB2D,oBAAA,EAAsBzF,WAAA,EAAa0F,SAAA;IACnCC,aAAA,EAAe3F,WAAA,EAAarB,EAAA;IAC5BsF,kBAAA,EAAoBU,4BAAA;IACpBiB,kBAAA,EAAoBvF,SAAA,CAAUqF,SAAS;IACvCtC,2BAAA,EAA6BA,2BAAA;IAC7ByC,uBAAA,EAAyBnC,UAAA,CAAW;MAAEC,GAAA,EAAKtD,SAAA;MAAWwD,UAAA,EAAY;IAAO;IACzE1E,WAAA,EAAakB,SAAA,CAAU1B,EAAE;IACzBmH,eAAA,EAAiBzF,SAAA,CAAU6C,OAAO,EAAE6C,OAAA;IACpCC,mBAAA,EAAqB3F,SAAS,CAAC5B,gBAAA,CAAiB+E,KAAK,EAAEyC,UAAA,IAAc;;AAG3E","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatDate","getClientConfig","getClientSchemaMap","getSchemaMap","notFound","React","DefaultVersionView","fetchLatestVersion","fetchVersion","fetchVersions","RenderDiff","getVersionLabel","VersionPillLabel","VersionView","props","hasPublishedDoc","i18n","initPageResult","routeSegments","searchParams","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","localization","user","versionToID","length","collectionSlug","slug","globalSlug","draftsEnabled","versions","drafts","localeCodesFromParams","localeCodes","JSON","parse","versionFromIDFromParams","versionFrom","modifiedOnly","docPermissions","collections","globals","versionTo","depth","locale","overrideAccess","previousVersionResult","versionFromResult","currentlyPublishedVersion","latestDraftVersion","previousPublishedVersionResult","Promise","all","draft","limit","parentID","sort","where","and","updatedAt","less_than","resolve","status","equals","previousVersion","docs","previousPublishedVersion","selectedLocales","locales","code","find","push","filterAvailableLocales","map","schemaMap","clientSchemaMap","importMap","RenderedDiff","customDiffComponents","entitySlug","fieldPermissions","fields","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","versionFromSiblingData","version","versionToSiblingData","versionToCreatedAtFormatted","date","Date","pattern","admin","dateFormat","formatPill","doc","labelOverride","labelStyle","labelSuffix","_jsx","labelFirst","versionFromOptions","t","value","publishedNewerThanDraft","some","option","a","b","getTime","versionToIsVersionFrom","versionFromComparisonOptions","isVersionTo","alreadyAdded","existingOption","otherOptionsWithSameID","filter","_jsxs","optionWithSameID","index","label","Fragment","undefined","canUpdate","update","versionFromCreatedAt","createdAt","versionFromID","versionToCreatedAt","VersionToCreatedAtLabel","versionToStatus","_status","versionToUseAsTitle","useAsTitle"],"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type {\n DocumentViewServerProps,\n Locale,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n TypeWithVersion,\n} from 'payload'\n\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { getClientSchemaMap } from '@payloadcms/ui/utilities/getClientSchemaMap'\nimport { getSchemaMap } from '@payloadcms/ui/utilities/getSchemaMap'\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport type { CompareOption } from './Default/types.js'\n\nimport { DefaultVersionView } from './Default/index.js'\nimport { fetchLatestVersion, fetchVersion, fetchVersions } from './fetchVersions.js'\nimport { RenderDiff } from './RenderFieldsToDiff/index.js'\nimport { getVersionLabel } from './VersionPillLabel/getVersionLabel.js'\nimport { VersionPillLabel } from './VersionPillLabel/VersionPillLabel.js'\n\nexport async function VersionView(props: DocumentViewServerProps) {\n const { hasPublishedDoc, i18n, initPageResult, routeSegments, searchParams } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req,\n req: { payload, payload: { config, config: { localization } } = {}, user } = {},\n } = initPageResult\n\n const versionToID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const draftsEnabled = (collectionConfig ?? globalConfig)?.versions?.drafts\n\n const localeCodesFromParams = searchParams.localeCodes\n ? JSON.parse(searchParams.localeCodes as string)\n : null\n\n const versionFromIDFromParams = searchParams.versionFrom as string\n\n const modifiedOnly: boolean = searchParams.modifiedOnly === 'false' ? false : true\n\n const docPermissions: SanitizedCollectionPermission | SanitizedGlobalPermission = collectionSlug\n ? permissions.collections[collectionSlug]\n : permissions.globals[globalSlug]\n\n const versionTo = await fetchVersion<{\n _status?: string\n }>({\n id: versionToID,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n\n if (!versionTo) {\n return notFound()\n }\n\n const [\n previousVersionResult,\n versionFromResult,\n currentlyPublishedVersion,\n latestDraftVersion,\n previousPublishedVersionResult,\n ] = await Promise.all([\n // Previous version (the one before the versionTo)\n fetchVersions({\n collectionSlug,\n // If versionFromIDFromParams is provided, the previous version is only used in the version comparison dropdown => depth 0 is enough.\n // If it's not provided, this is used as `versionFrom` in the comparison, which expects populated data => depth 1 is needed.\n depth: versionFromIDFromParams ? 0 : 1,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n ],\n },\n }),\n // Version from ID from params\n (versionFromIDFromParams\n ? fetchVersion({\n id: versionFromIDFromParams,\n collectionSlug,\n depth: 1,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n req,\n user,\n })\n : Promise.resolve(null)) as Promise<null | TypeWithVersion<object>>,\n // Currently published version - do note: currently published != latest published, as an unpublished version can be the latest published\n hasPublishedDoc\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n status: 'published',\n user,\n })\n : Promise.resolve(null),\n // Latest draft version\n draftsEnabled\n ? fetchLatestVersion({\n collectionSlug,\n depth: 0,\n globalSlug,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n status: 'draft',\n user,\n })\n : Promise.resolve(null),\n // Previous published version\n fetchVersions({\n collectionSlug,\n depth: 0,\n draft: true,\n globalSlug,\n limit: 1,\n locale: 'all',\n overrideAccess: false,\n parentID: id,\n req,\n sort: '-updatedAt',\n user,\n where: {\n and: [\n {\n updatedAt: {\n less_than: versionTo.updatedAt,\n },\n },\n {\n 'version._status': {\n equals: 'published',\n },\n },\n ],\n },\n }),\n ])\n\n const previousVersion: null | TypeWithVersion<object> = previousVersionResult?.docs?.[0] ?? null\n\n const versionFrom =\n versionFromResult ||\n // By default, we'll compare the previous version. => versionFrom = version previous to versionTo\n previousVersion\n\n // Previous published version before the versionTo\n const previousPublishedVersion = previousPublishedVersionResult?.docs?.[0] ?? null\n\n let selectedLocales: string[] = []\n if (localization) {\n let locales: Locale[] = []\n if (localeCodesFromParams) {\n for (const code of localeCodesFromParams) {\n const locale = localization.locales.find((locale) => locale.code === code)\n if (!locale) {\n continue\n }\n locales.push(locale)\n }\n } else {\n locales = localization.locales\n }\n\n if (localization.filterAvailableLocales) {\n locales = (await localization.filterAvailableLocales({ locales, req })) || []\n }\n\n selectedLocales = locales.map((locale) => locale.code)\n }\n\n const schemaMap = getSchemaMap({\n collectionSlug,\n config,\n globalSlug,\n i18n,\n })\n\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug,\n config: getClientConfig({ config: payload.config, i18n, importMap: payload.importMap }),\n globalSlug,\n i18n,\n payload,\n schemaMap,\n })\n const RenderedDiff = RenderDiff({\n clientSchemaMap,\n customDiffComponents: {},\n entitySlug: collectionSlug || globalSlug,\n fieldPermissions: docPermissions?.fields,\n fields: (collectionConfig || globalConfig)?.fields,\n i18n,\n modifiedOnly,\n parentIndexPath: '',\n parentIsLocalized: false,\n parentPath: '',\n parentSchemaPath: '',\n req,\n selectedLocales,\n versionFromSiblingData: {\n ...versionFrom?.version,\n updatedAt: versionFrom?.updatedAt,\n },\n versionToSiblingData: {\n ...versionTo.version,\n updatedAt: versionTo.updatedAt,\n },\n })\n\n const versionToCreatedAtFormatted = versionTo.updatedAt\n ? formatDate({\n date:\n typeof versionTo.updatedAt === 'string'\n ? new Date(versionTo.updatedAt)\n : (versionTo.updatedAt as Date),\n i18n,\n pattern: config.admin.dateFormat,\n })\n : ''\n\n const formatPill = ({\n doc,\n labelOverride,\n labelStyle,\n labelSuffix,\n }: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n labelStyle?: 'pill' | 'text'\n labelSuffix?: React.ReactNode\n }): React.ReactNode => {\n return (\n <VersionPillLabel\n currentlyPublishedVersion={currentlyPublishedVersion}\n doc={doc}\n key={doc.id}\n labelFirst={true}\n labelOverride={labelOverride}\n labelStyle={labelStyle ?? 'text'}\n labelSuffix={labelSuffix}\n latestDraftVersion={latestDraftVersion}\n />\n )\n }\n\n // SelectComparison Options:\n //\n // Previous version: always, unless doesn't exist. Can be the same as previously published\n // Latest draft: only if no newer published exists (latestDraftVersion)\n // Currently published: always, if exists\n // Previously published: if there is a prior published version older than versionTo\n // Specific Version: only if not already present under other label (= versionFrom)\n\n let versionFromOptions: {\n doc: TypeWithVersion<any>\n labelOverride?: string\n updatedAt: Date\n value: string\n }[] = []\n\n // Previous version\n if (previousVersion?.id) {\n versionFromOptions.push({\n doc: previousVersion,\n labelOverride: i18n.t('version:previousVersion'),\n updatedAt: new Date(previousVersion.updatedAt),\n value: previousVersion.id,\n })\n }\n\n // Latest Draft\n const publishedNewerThanDraft =\n currentlyPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n if (latestDraftVersion && !publishedNewerThanDraft) {\n versionFromOptions.push({\n doc: latestDraftVersion,\n updatedAt: new Date(latestDraftVersion.updatedAt),\n value: latestDraftVersion.id,\n })\n }\n\n // Currently Published\n if (currentlyPublishedVersion) {\n versionFromOptions.push({\n doc: currentlyPublishedVersion,\n updatedAt: new Date(currentlyPublishedVersion.updatedAt),\n value: currentlyPublishedVersion.id,\n })\n }\n\n // Previous Published\n if (previousPublishedVersion && currentlyPublishedVersion?.id !== previousPublishedVersion.id) {\n versionFromOptions.push({\n doc: previousPublishedVersion,\n labelOverride: i18n.t('version:previouslyPublished'),\n updatedAt: new Date(previousPublishedVersion.updatedAt),\n value: previousPublishedVersion.id,\n })\n }\n\n // Specific Version\n if (versionFrom?.id && !versionFromOptions.some((option) => option.value === versionFrom.id)) {\n // Only add \"specific version\" if it is not already in the options\n versionFromOptions.push({\n doc: versionFrom,\n labelOverride: i18n.t('version:specificVersion'),\n updatedAt: new Date(versionFrom.updatedAt),\n value: versionFrom.id,\n })\n }\n\n versionFromOptions = versionFromOptions.sort((a, b) => {\n // Sort by updatedAt, newest first\n if (a && b) {\n return b.updatedAt.getTime() - a.updatedAt.getTime()\n }\n return 0\n })\n\n const versionToIsVersionFrom = versionFrom?.id === versionTo.id\n\n const versionFromComparisonOptions: CompareOption[] = []\n\n for (const option of versionFromOptions) {\n const isVersionTo = option.value === versionTo.id\n\n if (isVersionTo && !versionToIsVersionFrom) {\n // Don't offer selecting a versionFrom that is the same as versionTo, unless it's already selected\n continue\n }\n\n const alreadyAdded = versionFromComparisonOptions.some(\n (existingOption) => existingOption.value === option.value,\n )\n if (alreadyAdded) {\n continue\n }\n\n const otherOptionsWithSameID = versionFromOptions.filter(\n (existingOption) => existingOption.value === option.value && existingOption !== option,\n )\n\n // Merge options with same ID to the same option\n const labelSuffix = otherOptionsWithSameID?.length ? (\n <span key={`${option.value}-suffix`}>\n {' ('}\n {otherOptionsWithSameID.map((optionWithSameID, index) => {\n const label =\n optionWithSameID.labelOverride ||\n getVersionLabel({\n currentlyPublishedVersion,\n latestDraftVersion,\n t: i18n.t,\n version: optionWithSameID.doc,\n }).label\n\n return (\n <React.Fragment key={`${optionWithSameID.value}-${index}`}>\n {index > 0 ? ', ' : ''}\n {label}\n </React.Fragment>\n )\n })}\n {')'}\n </span>\n ) : undefined\n\n versionFromComparisonOptions.push({\n label: formatPill({\n doc: option.doc,\n labelOverride: option.labelOverride,\n labelSuffix,\n }),\n value: option.value,\n })\n }\n\n return (\n <DefaultVersionView\n canUpdate={docPermissions?.update}\n modifiedOnly={modifiedOnly}\n RenderedDiff={RenderedDiff}\n selectedLocales={selectedLocales}\n versionFromCreatedAt={versionFrom?.createdAt}\n versionFromID={versionFrom?.id}\n versionFromOptions={versionFromComparisonOptions}\n versionToCreatedAt={versionTo.createdAt}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n VersionToCreatedAtLabel={formatPill({ doc: versionTo, labelStyle: 'pill' })}\n versionToID={versionTo.id}\n versionToStatus={versionTo.version?._status}\n versionToUseAsTitle={versionTo[collectionConfig?.admin?.useAsTitle || 'id']}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/next",
3
- "version": "3.44.0-canary.7",
3
+ "version": "3.44.0-canary.8",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -87,9 +87,9 @@
87
87
  "qs-esm": "7.0.2",
88
88
  "sass": "1.77.4",
89
89
  "uuid": "10.0.0",
90
- "@payloadcms/graphql": "3.44.0-canary.7",
91
- "@payloadcms/translations": "3.44.0-canary.7",
92
- "@payloadcms/ui": "3.44.0-canary.7"
90
+ "@payloadcms/translations": "3.44.0-canary.8",
91
+ "@payloadcms/graphql": "3.44.0-canary.8",
92
+ "@payloadcms/ui": "3.44.0-canary.8"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@babel/cli": "7.27.2",
@@ -106,13 +106,13 @@
106
106
  "esbuild": "0.25.5",
107
107
  "esbuild-sass-plugin": "3.3.1",
108
108
  "swc-plugin-transform-remove-imports": "4.0.4",
109
- "payload": "3.44.0-canary.7",
110
- "@payloadcms/eslint-config": "3.28.0"
109
+ "@payloadcms/eslint-config": "3.28.0",
110
+ "payload": "3.44.0-canary.8"
111
111
  },
112
112
  "peerDependencies": {
113
113
  "graphql": "^16.8.1",
114
114
  "next": "^15.2.3",
115
- "payload": "3.44.0-canary.7"
115
+ "payload": "3.44.0-canary.8"
116
116
  },
117
117
  "engines": {
118
118
  "node": "^18.20.2 || >=20.9.0"