@payloadcms/next 3.35.0-internal.5e55452 → 3.35.0-internal.b3d367c
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/prod/styles.css +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 +4 -5
- 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 +332 -127
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/index.scss +102 -32
- package/dist/views/Version/Default/types.d.ts +12 -8
- 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 +32 -33
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +30 -3
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts +6 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +21 -17
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +4 -3
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +80 -55
- 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/Date/index.d.ts +4 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +78 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +4 -0
- 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 +0 -10
- 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 +3 -5
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +49 -58
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +39 -45
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -11
- 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 +0 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +77 -60
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +2 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +1 -0
- 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 +6 -1
- package/dist/views/Version/SelectComparison/VersionPillLabel.d.ts +6 -0
- package/dist/views/Version/SelectComparison/VersionPillLabel.d.ts.map +1 -0
- package/dist/views/Version/SelectComparison/VersionPillLabel.js +70 -0
- package/dist/views/Version/SelectComparison/VersionPillLabel.js.map +1 -0
- package/dist/views/Version/SelectComparison/formatVersionPill.d.ts +8 -0
- package/dist/views/Version/SelectComparison/formatVersionPill.d.ts.map +1 -0
- package/dist/views/Version/SelectComparison/formatVersionPill.js +24 -0
- package/dist/views/Version/SelectComparison/formatVersionPill.js.map +1 -0
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +26 -68
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.scss +0 -4
- 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 +9 -2
- package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +33 -60
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +105 -56
- 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 +7 -8
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts +0 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +0 -23
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts +0 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +0 -23
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts +0 -7
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +0 -7
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts +0 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +0 -37
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +0 -1
- package/dist/views/Version/SelectLocales/index.scss +0 -9
- package/dist/views/Version/SelectLocales/types.d.ts +0 -7
- package/dist/views/Version/SelectLocales/types.d.ts.map +0 -1
- package/dist/views/Version/SelectLocales/types.js +0 -2
- package/dist/views/Version/SelectLocales/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["CheckboxInput","Gutter","useConfig","useDocumentInfo","useRouteTransition","useTranslation","formatDate","usePathname","useRouter","useSearchParams","React","useEffect","useMemo","useState","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","doc","latestDraftVersion","latestPublishedVersion","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesProp","versionID","config","getEntityConfig","availableLocales","localization","locales","map","locale","label","value","code","i18n","id","collectionSlug","globalSlug","startRouteTransition","collectionConfig","globalConfig","setSelectedLocales","compareValue","setCompareValue","router","pathname","searchParams","setModifiedOnly","onToggleModifiedOnly","current","URLSearchParams","Array","from","entries","delete","set","JSON","stringify","search","toString","query","push","admin","dateFormat","routes","api","apiRoute","serverURL","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","draftsEnabled","Boolean","versions","drafts","_jsxs","className","_jsx","fields","t","version","autosave","labels","singular","originalDocID","status","_status","versionDate","checked","onToggle","baseURL","onChange","parentID","options"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport {\n CheckboxInput,\n Gutter,\n useConfig,\n useDocumentInfo,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport './index.scss'\nimport { 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 doc,\n latestDraftVersion,\n latestPublishedVersion,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesProp,\n versionID,\n}) => {\n const { config, getEntityConfig } = useConfig()\n\n const availableLocales = useMemo(\n () =>\n config.localization\n ? config.localization.locales.map((locale) => ({\n label: locale.label,\n value: locale.code,\n }))\n : [],\n [config.localization],\n )\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug }))\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }))\n\n const [selectedLocales, setSelectedLocales] = useState<OptionObject[]>(selectedLocalesProp)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n function onToggleModifiedOnly() {\n setModifiedOnly(!modifiedOnly)\n }\n\n useEffect(() => {\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 (!compareValue) {\n current.delete('compareValue')\n } else {\n current.set('compareValue', compareValue?.value)\n }\n\n if (!selectedLocales) {\n current.delete('localeCodes')\n } else {\n current.set('localeCodes', JSON.stringify(selectedLocales.map((locale) => locale.value)))\n }\n\n if (modifiedOnly === false) {\n current.set('modifiedOnly', 'false')\n } else {\n current.delete('modifiedOnly')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n // TODO: this transition occurs multiple times during the initial rendering phases, need to evaluate\n startRouteTransition(() => router.push(`${pathname}${query}`))\n }, [\n compareValue,\n pathname,\n router,\n searchParams,\n selectedLocales,\n modifiedOnly,\n startRouteTransition,\n ])\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const versionCreatedAt = doc?.updatedAt\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : ''\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts)\n\n return (\n <main className={baseClass}>\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{versionCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n status={doc?.version?._status}\n versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\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 </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n draftsEnabled={draftsEnabled}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales\n onChange={setSelectedLocales}\n options={availableLocales}\n value={selectedLocales}\n />\n )}\n </div>\n <SelectedLocalesContext\n value={{ selectedLocales: selectedLocales.map((locale) => locale.value) }}\n >\n {doc?.version && RenderedDiff}\n </SelectedLocalesContext>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","CheckboxInput","ChevronIcon","Gutter","Pill","useConfig","useDocumentInfo","useLocale","useRouteTransition","useTranslation","usePathname","useRouter","useSearchParams","React","useCallback","useEffect","useState","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","t0","$","canUpdate","latestDraftVersionID","latestPublishedVersionID","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesFromProps","versionFromPill","versionTo","versionToCreatedAt","VersionToCreatedAtLabel","config","getEntityConfig","code","i18n","t","t1","Symbol","for","locales","setLocales","localeSelectorOpen","setLocaleSelectorOpen","t2","t3","localization","updatedLocales","map","locale","label","name","Label","selected","includes","id","originalDocID","collectionSlug","globalSlug","startRouteTransition","t4","collectionConfig","t5","globalConfig","router","pathname","searchParams","setModifiedOnly","t6","args","current","URLSearchParams","Array","from","entries","versionFromID","set","length","delete","selectedLocaleCodes","locale_0","push","JSON","stringify","search","toString","query","updateSearchParams","t7","event","newModified","target","checked","onToggleModifiedOnly","t8","t9","locales_0","onChangeSelectedLocales","val","value","onChangeVersionFrom","routes","t10","serverURL","api","apiRoute","compareBaseURL","draftsEnabled","Boolean","versions","drafts","t11","t12","_jsx","className","icon","direction","_temp","pillStyle","children","t13","onChange","t14","labels","singular","status","version","_status","versionDate","versionID","_jsxs","onToggle","baseURL","parentID","versionFromOption","versionToID","doc","fields","_temp2","localeSelectorOpen_0","locale_1"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport {\n CheckboxInput,\n ChevronIcon,\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, useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport './index.scss'\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 latestDraftVersionID,\n latestPublishedVersionID,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesFromProps,\n versionFromPill,\n versionTo,\n versionToCreatedAt,\n VersionToCreatedAtLabel,\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] = useState(() => getEntityConfig({ collectionSlug }))\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }))\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\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 {\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts)\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 >\n {t('general:locales')}\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}-controls-bottom__version-from`}>\n <SelectComparison\n baseURL={compareBaseURL}\n draftsEnabled={draftsEnabled}\n latestDraftVersionID={latestDraftVersionID}\n latestPublishedVersionID={latestPublishedVersionID}\n onChange={onChangeVersionFrom}\n parentID={originalDocID}\n versionFromOption={{\n label: versionFromPill.Label,\n value: versionFromPill.id,\n }}\n versionToID={versionTo.id}\n />\n </div>\n\n <div className={`${baseClass}-controls-bottom__version-to`}>\n {VersionToCreatedAtLabel}\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={originalDocID}\n status={versionTo?.version?._status}\n versionDate={versionToCreatedAt}\n versionID={versionTo?.id}\n />\n )}\n </div>\n </div>\n </Gutter>\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={versionTo}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={originalDocID}\n />\n <Gutter className={`${baseClass}__diff-wrap`}>\n <SelectedLocalesContext value={{ selectedLocales: locales.map((locale) => locale.name) }}>\n {versionTo?.version && RenderedDiff}\n </SelectedLocalesContext>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,72 +5,142 @@
|
|
|
5
5
|
width: 100%;
|
|
6
6
|
padding-bottom: var(--spacing-view-bottom);
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
flex-direction: column;
|
|
12
|
-
gap: var(--base);
|
|
13
|
-
}
|
|
8
|
+
&-controls-top {
|
|
9
|
+
border-bottom: 1px solid var(--theme-elevation-100);
|
|
10
|
+
padding: 16px var(--gutter-h) 16px var(--gutter-h);
|
|
14
11
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
&__wrapper {
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: row;
|
|
15
|
+
justify-content: space-between;
|
|
16
|
+
align-items: center;
|
|
20
17
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
&-actions {
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: row;
|
|
21
|
+
align-items: center;
|
|
22
|
+
gap: var(--base);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
25
|
|
|
26
26
|
h2 {
|
|
27
|
-
|
|
27
|
+
font-size: 18px;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
&-controls-bottom {
|
|
32
|
+
border-bottom: 1px solid var(--theme-elevation-100);
|
|
33
|
+
padding: 16px var(--gutter-h) 16px var(--gutter-h);
|
|
34
|
+
position: relative;
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
// Vertical separator line
|
|
37
|
+
&::after {
|
|
38
|
+
content: '';
|
|
39
|
+
position: absolute;
|
|
40
|
+
top: 0;
|
|
41
|
+
bottom: 0;
|
|
42
|
+
left: 50%;
|
|
43
|
+
width: 1px;
|
|
44
|
+
background-color: var(--theme-elevation-100);
|
|
45
|
+
transform: translateX(-50%); // Center the line
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&__wrapper {
|
|
49
|
+
display: grid;
|
|
50
|
+
grid-template-columns: 1fr 1fr;
|
|
51
|
+
grid-gap: var(--base);
|
|
52
|
+
gap: var(--base);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&__version-from {
|
|
56
|
+
}
|
|
39
57
|
|
|
40
|
-
|
|
41
|
-
|
|
58
|
+
&__version-to {
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-direction: row;
|
|
61
|
+
align-items: center;
|
|
62
|
+
justify-content: space-between;
|
|
63
|
+
gap: var(--base);
|
|
64
|
+
|
|
65
|
+
h2 {
|
|
66
|
+
font-size: 13px;
|
|
67
|
+
font-weight: 400;
|
|
68
|
+
}
|
|
42
69
|
}
|
|
43
70
|
}
|
|
44
71
|
|
|
45
72
|
&__restore {
|
|
46
73
|
margin: 0 0 0 var(--base);
|
|
74
|
+
div {
|
|
75
|
+
margin-block: 0;
|
|
76
|
+
}
|
|
47
77
|
}
|
|
48
78
|
|
|
49
79
|
&__modifiedCheckBox {
|
|
50
80
|
margin: 0 0 0 var(--base);
|
|
81
|
+
display: flex;
|
|
82
|
+
align-items: center;
|
|
51
83
|
}
|
|
52
84
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
85
|
+
&__diff-wrap {
|
|
86
|
+
padding-top: calc(var(--base) * 1.5);
|
|
87
|
+
display: flex;
|
|
88
|
+
flex-direction: column;
|
|
89
|
+
gap: var(--base);
|
|
90
|
+
position: relative;
|
|
91
|
+
|
|
92
|
+
// Vertical separator line
|
|
93
|
+
&::after {
|
|
94
|
+
content: '';
|
|
95
|
+
position: absolute;
|
|
96
|
+
top: 0;
|
|
97
|
+
bottom: 0;
|
|
98
|
+
left: 50%;
|
|
99
|
+
width: 1px;
|
|
100
|
+
background-color: var(--theme-elevation-100);
|
|
101
|
+
transform: translateX(-50%); // Center the line
|
|
57
102
|
}
|
|
103
|
+
}
|
|
58
104
|
|
|
105
|
+
@include mid-break {
|
|
59
106
|
&__controls {
|
|
60
107
|
flex-direction: column;
|
|
61
108
|
gap: calc(var(--base) / 4);
|
|
62
109
|
}
|
|
63
110
|
|
|
64
|
-
|
|
65
111
|
&__restore {
|
|
66
112
|
margin: calc(var(--base) * 0.5) 0 0 0;
|
|
67
113
|
}
|
|
114
|
+
|
|
115
|
+
&-controls-top {
|
|
116
|
+
&__wrapper {
|
|
117
|
+
flex-direction: column;
|
|
118
|
+
align-items: flex-start;
|
|
119
|
+
|
|
120
|
+
.view-version__modifiedCheckBox {
|
|
121
|
+
margin-left: 0;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
&-controls-bottom {
|
|
127
|
+
&__version-from {
|
|
128
|
+
display: flex;
|
|
129
|
+
justify-content: flex-start;
|
|
130
|
+
align-items: center;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
&__version-to {
|
|
134
|
+
flex-direction: column;
|
|
135
|
+
align-items: flex-start;
|
|
136
|
+
gap: 0;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
68
139
|
}
|
|
69
140
|
|
|
70
141
|
@include small-break {
|
|
71
|
-
&
|
|
142
|
+
&__diff-wrap {
|
|
72
143
|
padding-top: calc(var(--base) / 2);
|
|
73
|
-
gap: calc(var(--base) / 2);
|
|
74
144
|
}
|
|
75
145
|
}
|
|
76
146
|
}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TypeWithVersion } from 'payload';
|
|
2
2
|
export type CompareOption = {
|
|
3
3
|
label: React.ReactNode | string;
|
|
4
|
-
options?: CompareOption[];
|
|
5
|
-
relationTo?: string;
|
|
6
4
|
value: string;
|
|
7
5
|
};
|
|
6
|
+
export type VersionPill = {
|
|
7
|
+
id: string;
|
|
8
|
+
Label: React.ReactNode;
|
|
9
|
+
};
|
|
8
10
|
export type DefaultVersionsViewProps = {
|
|
9
11
|
readonly canUpdate: boolean;
|
|
10
|
-
readonly
|
|
11
|
-
readonly
|
|
12
|
-
readonly latestPublishedVersion?: string;
|
|
12
|
+
readonly latestDraftVersionID: string;
|
|
13
|
+
readonly latestPublishedVersionID: string;
|
|
13
14
|
modifiedOnly: boolean;
|
|
14
15
|
readonly RenderedDiff: React.ReactNode;
|
|
15
|
-
readonly selectedLocales:
|
|
16
|
-
readonly
|
|
16
|
+
readonly selectedLocales: string[];
|
|
17
|
+
readonly versionFromPill: VersionPill;
|
|
18
|
+
readonly versionTo: TypeWithVersion<any>;
|
|
19
|
+
versionToCreatedAt: string;
|
|
20
|
+
VersionToCreatedAtLabel: React.ReactNode;
|
|
17
21
|
};
|
|
18
22
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAA;IACzC,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;IACxC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAA;CACzC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["import type { TypeWithVersion } from 'payload'\n\nexport type CompareOption = {\n label: React.ReactNode | string\n value: string\n}\n\nexport type VersionPill = {\n id: string\n Label: React.ReactNode\n}\n\nexport type DefaultVersionsViewProps = {\n readonly canUpdate: boolean\n readonly latestDraftVersionID: string\n readonly latestPublishedVersionID: string\n modifiedOnly: boolean\n readonly RenderedDiff: React.ReactNode\n readonly selectedLocales: string[]\n readonly versionFromPill: VersionPill\n readonly versionTo: TypeWithVersion<any>\n versionToCreatedAt: string\n VersionToCreatedAtLabel: React.ReactNode\n}\n"],"mappings":"AAYA","ignoreList":[]}
|
|
@@ -3,7 +3,6 @@ import React from 'react';
|
|
|
3
3
|
import './index.scss';
|
|
4
4
|
type Props = {
|
|
5
5
|
children: React.ReactNode;
|
|
6
|
-
comparison: unknown;
|
|
7
6
|
field?: never;
|
|
8
7
|
fields: ClientField[];
|
|
9
8
|
initCollapsed?: boolean;
|
|
@@ -11,10 +10,10 @@ type Props = {
|
|
|
11
10
|
label: React.ReactNode;
|
|
12
11
|
locales: string[] | undefined;
|
|
13
12
|
parentIsLocalized: boolean;
|
|
14
|
-
|
|
13
|
+
valueFrom: unknown;
|
|
14
|
+
valueTo: unknown;
|
|
15
15
|
} | {
|
|
16
16
|
children: React.ReactNode;
|
|
17
|
-
comparison?: unknown;
|
|
18
17
|
field: ClientField;
|
|
19
18
|
fields?: never;
|
|
20
19
|
initCollapsed?: boolean;
|
|
@@ -22,7 +21,8 @@ type Props = {
|
|
|
22
21
|
label: React.ReactNode;
|
|
23
22
|
locales: string[] | undefined;
|
|
24
23
|
parentIsLocalized: boolean;
|
|
25
|
-
|
|
24
|
+
valueFrom?: unknown;
|
|
25
|
+
valueTo: unknown;
|
|
26
26
|
};
|
|
27
27
|
export declare const DiffCollapser: React.FC<Props>;
|
|
28
28
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,cAAc,CAAA;AAKrB,KAAK,KAAK,GACN;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,cAAc,CAAA;AAKrB,KAAK,KAAK,GACN;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,GACD;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,EAAE,IAAI,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAEL,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiFzC,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
-
import { ChevronIcon, FieldDiffLabel,
|
|
5
|
+
import { ChevronIcon, FieldDiffLabel, useConfig, useTranslation } from '@payloadcms/ui';
|
|
6
6
|
import { fieldIsArrayType, fieldIsBlockType } from 'payload/shared';
|
|
7
7
|
import React, { useState } from 'react';
|
|
8
8
|
import { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js';
|
|
@@ -11,7 +11,6 @@ export const DiffCollapser = t0 => {
|
|
|
11
11
|
const $ = _c(21);
|
|
12
12
|
const {
|
|
13
13
|
children,
|
|
14
|
-
comparison,
|
|
15
14
|
field,
|
|
16
15
|
fields,
|
|
17
16
|
initCollapsed: t1,
|
|
@@ -19,7 +18,8 @@ export const DiffCollapser = t0 => {
|
|
|
19
18
|
label,
|
|
20
19
|
locales,
|
|
21
20
|
parentIsLocalized,
|
|
22
|
-
|
|
21
|
+
valueFrom,
|
|
22
|
+
valueTo
|
|
23
23
|
} = t0;
|
|
24
24
|
const initCollapsed = t1 === undefined ? false : t1;
|
|
25
25
|
const isIterable = t2 === undefined ? false : t2;
|
|
@@ -31,25 +31,25 @@ export const DiffCollapser = t0 => {
|
|
|
31
31
|
config
|
|
32
32
|
} = useConfig();
|
|
33
33
|
let t3;
|
|
34
|
-
if ($[0] !== children || $[1] !==
|
|
34
|
+
if ($[0] !== children || $[1] !== config || $[2] !== field || $[3] !== fields || $[4] !== isCollapsed || $[5] !== isIterable || $[6] !== label || $[7] !== locales || $[8] !== parentIsLocalized || $[9] !== t || $[10] !== valueFrom || $[11] !== valueTo) {
|
|
35
35
|
let changeCount;
|
|
36
36
|
if (isIterable) {
|
|
37
37
|
if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {
|
|
38
38
|
throw new Error("DiffCollapser: field must be an array or blocks field when isIterable is true");
|
|
39
39
|
}
|
|
40
40
|
let t4;
|
|
41
|
-
if ($[13] !==
|
|
42
|
-
t4 =
|
|
43
|
-
$[13] =
|
|
41
|
+
if ($[13] !== valueFrom) {
|
|
42
|
+
t4 = valueFrom ?? [];
|
|
43
|
+
$[13] = valueFrom;
|
|
44
44
|
$[14] = t4;
|
|
45
45
|
} else {
|
|
46
46
|
t4 = $[14];
|
|
47
47
|
}
|
|
48
48
|
const comparisonRows = t4;
|
|
49
49
|
let t5;
|
|
50
|
-
if ($[15] !==
|
|
51
|
-
t5 =
|
|
52
|
-
$[15] =
|
|
50
|
+
if ($[15] !== valueTo) {
|
|
51
|
+
t5 = valueTo ?? [];
|
|
52
|
+
$[15] = valueTo;
|
|
53
53
|
$[16] = t5;
|
|
54
54
|
} else {
|
|
55
55
|
t5 = $[16];
|
|
@@ -68,12 +68,12 @@ export const DiffCollapser = t0 => {
|
|
|
68
68
|
});
|
|
69
69
|
} else {
|
|
70
70
|
changeCount = countChangedFields({
|
|
71
|
-
comparison,
|
|
71
|
+
comparison: valueFrom,
|
|
72
72
|
config,
|
|
73
73
|
fields,
|
|
74
74
|
locales,
|
|
75
75
|
parentIsLocalized,
|
|
76
|
-
version
|
|
76
|
+
version: valueTo
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
const t4 = isCollapsed && `${baseClass}__content--is-collapsed`;
|
|
@@ -97,21 +97,20 @@ export const DiffCollapser = t0 => {
|
|
|
97
97
|
t3 = _jsxs("div", {
|
|
98
98
|
className: baseClass,
|
|
99
99
|
children: [_jsxs(FieldDiffLabel, {
|
|
100
|
-
children: [
|
|
100
|
+
children: [_jsxs("button", {
|
|
101
101
|
"aria-label": isCollapsed ? "Expand" : "Collapse",
|
|
102
102
|
className: `${baseClass}__toggle-button`,
|
|
103
103
|
onClick: t6,
|
|
104
104
|
type: "button",
|
|
105
|
-
children: _jsx(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
105
|
+
children: [_jsx("span", {
|
|
106
|
+
className: `${baseClass}__label`,
|
|
107
|
+
children: label
|
|
108
|
+
}), _jsx(ChevronIcon, {
|
|
109
|
+
direction: isCollapsed ? "right" : "down",
|
|
110
|
+
size: "small"
|
|
111
|
+
})]
|
|
112
|
+
}), changeCount > 0 && isCollapsed && _jsx("span", {
|
|
112
113
|
className: `${baseClass}__field-change-count`,
|
|
113
|
-
pillStyle: "light-gray",
|
|
114
|
-
size: "small",
|
|
115
114
|
children: t("version:changedFieldsCount", {
|
|
116
115
|
count: changeCount
|
|
117
116
|
})
|
|
@@ -122,17 +121,17 @@ export const DiffCollapser = t0 => {
|
|
|
122
121
|
})]
|
|
123
122
|
});
|
|
124
123
|
$[0] = children;
|
|
125
|
-
$[1] =
|
|
126
|
-
$[2] =
|
|
127
|
-
$[3] =
|
|
128
|
-
$[4] =
|
|
129
|
-
$[5] =
|
|
130
|
-
$[6] =
|
|
131
|
-
$[7] =
|
|
132
|
-
$[8] =
|
|
133
|
-
$[9] =
|
|
134
|
-
$[10] =
|
|
135
|
-
$[11] =
|
|
124
|
+
$[1] = config;
|
|
125
|
+
$[2] = field;
|
|
126
|
+
$[3] = fields;
|
|
127
|
+
$[4] = isCollapsed;
|
|
128
|
+
$[5] = isIterable;
|
|
129
|
+
$[6] = label;
|
|
130
|
+
$[7] = locales;
|
|
131
|
+
$[8] = parentIsLocalized;
|
|
132
|
+
$[9] = t;
|
|
133
|
+
$[10] = valueFrom;
|
|
134
|
+
$[11] = valueTo;
|
|
136
135
|
$[12] = t3;
|
|
137
136
|
} else {
|
|
138
137
|
t3 = $[12];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","ChevronIcon","FieldDiffLabel","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","ChevronIcon","FieldDiffLabel","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useState","countChangedFields","countChangedFieldsInRows","baseClass","DiffCollapser","t0","$","children","field","fields","initCollapsed","t1","isIterable","t2","label","locales","parentIsLocalized","valueFrom","valueTo","undefined","t","isCollapsed","setIsCollapsed","config","t3","changeCount","Error","t4","comparisonRows","t5","versionRows","Array","isArray","version","filter","Boolean","contentClassNames","join","t6","_jsxs","className","onClick","type","_jsx","direction","size","count"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\n\nimport { ChevronIcon, FieldDiffLabel, Pill, useConfig, useTranslation } from '@payloadcms/ui'\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport './index.scss'\nimport { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js'\n\nconst baseClass = 'diff-collapser'\n\ntype Props =\n | {\n // fields collapser\n children: React.ReactNode\n field?: never\n fields: ClientField[]\n initCollapsed?: boolean\n isIterable?: false\n label: React.ReactNode\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueFrom: unknown\n valueTo: unknown\n }\n | {\n // iterable collapser\n children: React.ReactNode\n field: ClientField\n fields?: never\n initCollapsed?: boolean\n isIterable: true\n label: React.ReactNode\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueFrom?: unknown\n valueTo: unknown\n }\n\nexport const DiffCollapser: React.FC<Props> = ({\n children,\n field,\n fields,\n initCollapsed = false,\n isIterable = false,\n label,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}) => {\n const { t } = useTranslation()\n const [isCollapsed, setIsCollapsed] = useState(initCollapsed)\n const { config } = useConfig()\n\n let changeCount = 0\n\n if (isIterable) {\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(\n 'DiffCollapser: field must be an array or blocks field when isIterable is true',\n )\n }\n const comparisonRows = valueFrom ?? []\n const versionRows = valueTo ?? []\n\n if (!Array.isArray(comparisonRows) || !Array.isArray(versionRows)) {\n throw new Error(\n 'DiffCollapser: comparison and version must be arrays when isIterable is true',\n )\n }\n\n changeCount = countChangedFieldsInRows({\n comparisonRows,\n config,\n field,\n locales,\n parentIsLocalized,\n versionRows,\n })\n } else {\n changeCount = countChangedFields({\n comparison: valueFrom,\n config,\n fields,\n locales,\n parentIsLocalized,\n version: valueTo,\n })\n }\n\n const contentClassNames = [\n `${baseClass}__content`,\n isCollapsed && `${baseClass}__content--is-collapsed`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={baseClass}>\n <FieldDiffLabel>\n <button\n aria-label={isCollapsed ? 'Expand' : 'Collapse'}\n className={`${baseClass}__toggle-button`}\n onClick={() => setIsCollapsed(!isCollapsed)}\n type=\"button\"\n >\n <span className={`${baseClass}__label`}>{label}</span>\n\n <ChevronIcon direction={isCollapsed ? 'right' : 'down'} size={'small'} />\n </button>\n {changeCount > 0 && isCollapsed && (\n <span className={`${baseClass}__field-change-count`}>\n {t('version:changedFieldsCount', { count: changeCount })}\n </span>\n )}\n </FieldDiffLabel>\n <div className={contentClassNames}>{children}</div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import '../../../../scss/styles.scss';
|
|
2
|
+
|
|
1
3
|
@layer payload-default {
|
|
2
4
|
.diff-collapser {
|
|
3
5
|
&__toggle-button {
|
|
@@ -5,22 +7,47 @@
|
|
|
5
7
|
cursor: pointer;
|
|
6
8
|
// Align the chevron visually with the label text
|
|
7
9
|
vertical-align: 1px;
|
|
10
|
+
position: relative;
|
|
11
|
+
z-index: 1;
|
|
12
|
+
|
|
13
|
+
.icon {
|
|
14
|
+
color: var(--theme-elevation-500);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&:hover {
|
|
18
|
+
// Apply background color but with padding, thus we use after
|
|
19
|
+
&::before {
|
|
20
|
+
content: '';
|
|
21
|
+
position: absolute;
|
|
22
|
+
top: -(base(0.15));
|
|
23
|
+
left: -(base(0.15));
|
|
24
|
+
right: -(base(0.15));
|
|
25
|
+
bottom: -(base(0.15));
|
|
26
|
+
background-color: var(--theme-elevation-50);
|
|
27
|
+
border-radius: var(--style-radius-s);
|
|
28
|
+
z-index: -1;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
8
31
|
}
|
|
9
32
|
|
|
10
33
|
&__label {
|
|
11
34
|
// Add space between label, chevron, and change count
|
|
12
|
-
margin: 0 calc(var(--base) * 0.
|
|
35
|
+
margin: 0 calc(var(--base) * 0.3) 0 0;
|
|
13
36
|
}
|
|
14
37
|
|
|
15
38
|
&__field-change-count {
|
|
16
39
|
// Reset the font weight of the change count to normal
|
|
17
40
|
font-weight: normal;
|
|
41
|
+
margin-left: calc(var(--base) * 0.3);
|
|
42
|
+
padding: calc(var(--base) * 0.2);
|
|
43
|
+
background: var(--theme-elevation-100);
|
|
44
|
+
border-radius: var(--style-radius-s);
|
|
18
45
|
}
|
|
19
46
|
|
|
20
47
|
&__content {
|
|
21
48
|
[dir='ltr'] & {
|
|
22
49
|
// Vertical gutter
|
|
23
|
-
border-left:
|
|
50
|
+
border-left: 2px solid var(--theme-elevation-100);
|
|
24
51
|
// Center-align the gutter with the chevron
|
|
25
52
|
margin-left: 3px;
|
|
26
53
|
// Content indentation
|
|
@@ -28,7 +55,7 @@
|
|
|
28
55
|
}
|
|
29
56
|
[dir='rtl'] & {
|
|
30
57
|
// Vertical gutter
|
|
31
|
-
border-right:
|
|
58
|
+
border-right: 2px solid var(--theme-elevation-100);
|
|
32
59
|
// Center-align the gutter with the chevron
|
|
33
60
|
margin-right: 3px;
|
|
34
61
|
// Content indentation
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import type { VersionField } from 'payload';
|
|
2
2
|
import './index.scss';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
export declare const RenderVersionFieldsToDiff: ({ versionFields, }: {
|
|
4
|
+
export declare const RenderVersionFieldsToDiff: ({ parent, versionFields, }: {
|
|
5
|
+
/**
|
|
6
|
+
* If true, this is the parent render version fields component, not one nested in
|
|
7
|
+
* a field with children (e.g. group)
|
|
8
|
+
*/
|
|
9
|
+
parent?: boolean;
|
|
5
10
|
versionFields: VersionField[];
|
|
6
11
|
}) => React.ReactNode;
|
|
7
12
|
//# sourceMappingURL=RenderVersionFieldsToDiff.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderVersionFieldsToDiff.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,cAAc,CAAA;AAGrB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"RenderVersionFieldsToDiff.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,OAAO,cAAc,CAAA;AAGrB,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,eAAO,MAAM,yBAAyB,+BAGnC;IACD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,YAAY,EAAE,CAAA;CAC9B,KAAG,KAAK,CAAC,SAqDT,CAAA"}
|