@payloadcms/next 3.0.0-beta.70 → 3.0.0-beta.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  2. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +3 -5
  3. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  4. package/dist/prod/styles.css +1 -1
  5. package/dist/routes/graphql/handler.d.ts.map +1 -1
  6. package/dist/routes/graphql/handler.js +1 -4
  7. package/dist/routes/graphql/handler.js.map +1 -1
  8. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  9. package/dist/routes/rest/collections/restoreVersion.js +2 -0
  10. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  11. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  12. package/dist/routes/rest/globals/restoreVersion.js +2 -0
  13. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  14. package/dist/routes/rest/index.d.ts.map +1 -1
  15. package/dist/routes/rest/index.js +30 -5
  16. package/dist/routes/rest/index.js.map +1 -1
  17. package/dist/utilities/initPage/handleAdminPage.js +16 -5
  18. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  19. package/dist/utilities/initPage/handleAuthRedirect.js +10 -2
  20. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  21. package/dist/utilities/initPage/shared.d.ts +14 -2
  22. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  23. package/dist/utilities/initPage/shared.js +14 -4
  24. package/dist/utilities/initPage/shared.js.map +1 -1
  25. package/dist/utilities/mergeHeaders.d.ts +1 -1
  26. package/dist/utilities/mergeHeaders.d.ts.map +1 -1
  27. package/dist/utilities/mergeHeaders.js +7 -33
  28. package/dist/utilities/mergeHeaders.js.map +1 -1
  29. package/dist/views/CreateFirstUser/index.client.js +5 -6
  30. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  31. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  32. package/dist/views/CreateFirstUser/index.js +7 -42
  33. package/dist/views/CreateFirstUser/index.js.map +1 -1
  34. package/dist/views/Document/getDocumentData.d.ts +1 -0
  35. package/dist/views/Document/getDocumentData.d.ts.map +1 -1
  36. package/dist/views/Document/getDocumentData.js +3 -2
  37. package/dist/views/Document/getDocumentData.js.map +1 -1
  38. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  39. package/dist/views/Edit/Default/Auth/APIKey.js +2 -1
  40. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  41. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  42. package/dist/views/Edit/Default/Auth/index.js +70 -15
  43. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  44. package/dist/views/Edit/Default/Auth/types.d.ts +2 -0
  45. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  46. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  47. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  48. package/dist/views/Edit/Default/index.js +13 -9
  49. package/dist/views/Edit/Default/index.js.map +1 -1
  50. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  51. package/dist/views/LivePreview/index.client.js.map +1 -1
  52. package/dist/views/Login/LoginField/index.d.ts.map +1 -1
  53. package/dist/views/Login/LoginField/index.js +3 -0
  54. package/dist/views/Login/LoginField/index.js.map +1 -1
  55. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  56. package/dist/views/Login/LoginForm/index.js +1 -19
  57. package/dist/views/Login/LoginForm/index.js.map +1 -1
  58. package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
  59. package/dist/views/ResetPassword/index.client.js +10 -27
  60. package/dist/views/ResetPassword/index.client.js.map +1 -1
  61. package/dist/views/Version/Default/SetStepNav.d.ts +1 -2
  62. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  63. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  64. package/dist/views/Version/Default/index.d.ts.map +1 -1
  65. package/dist/views/Version/Default/index.js +3 -1
  66. package/dist/views/Version/Default/index.js.map +1 -1
  67. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  68. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  69. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +1 -2
  70. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  71. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  72. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +1 -1
  73. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  74. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  75. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +3 -3
  76. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +1 -2
  77. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  78. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  79. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +1 -2
  80. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  81. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  82. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  83. package/dist/views/Version/Restore/index.js +35 -8
  84. package/dist/views/Version/Restore/index.js.map +1 -1
  85. package/dist/views/Version/Restore/index.scss +31 -0
  86. package/dist/views/Version/Restore/types.d.ts +1 -0
  87. package/dist/views/Version/Restore/types.d.ts.map +1 -1
  88. package/dist/views/Version/Restore/types.js.map +1 -1
  89. package/dist/views/Version/index.d.ts.map +1 -1
  90. package/dist/views/Version/index.js +2 -2
  91. package/dist/views/Version/index.js.map +1 -1
  92. package/dist/views/Versions/index.client.d.ts.map +1 -1
  93. package/dist/views/Versions/index.client.js +3 -2
  94. package/dist/views/Versions/index.client.js.map +1 -1
  95. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport {\n Gutter,\n SetViewActions,\n useComponentMap,\n useConfig,\n useDocumentInfo,\n usePayloadAPI,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport diffComponents from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { SetStepNav } from './SetStepNav.js'\nimport './index.scss'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n latestDraftVersion,\n latestPublishedVersion,\n localeOptions,\n versionID,\n}) => {\n const config = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getComponentMap, getFieldMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const [fieldMap] = useState(() => getFieldMap({ collectionSlug, globalSlug }))\n\n const [collectionConfig] = useState(() =>\n config.collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const [globalConfig] = useState(() => config.globals.find((global) => global.slug === globalSlug))\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\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 compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: 'all' },\n })\n\n const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n return (\n <main className={baseClass}>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.Version} />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fieldMap={fieldMap}\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 versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={docPermissions?.fields}\n i18n={i18n}\n locales={\n locales\n ? locales.map(({ label }) => (typeof label === 'string' ? label : undefined))\n : []\n }\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"names":["Gutter","SetViewActions","useComponentMap","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","SetStepNav","baseClass","DefaultVersionView","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","versionID","config","i18n","id","collectionSlug","globalSlug","getComponentMap","getFieldMap","componentMap","fieldMap","collectionConfig","collections","find","collection","slug","globalConfig","globals","global","locales","setLocales","compareValue","setCompareValue","admin","dateFormat","localization","routes","api","apiRoute","serverURL","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","data","currentComparisonDoc","initialData","initialParams","depth","draft","locale","comparison","version","canUpdate","update","permission","main","className","actions","actionsMap","Edit","Version","div","p","t","autosave","header","h2","label","labels","singular","originalDocID","versionDate","baseURL","onChange","parentID","options","fieldPermissions","fields","map","undefined","createdAt"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport {\n Gutter,\n SetViewActions,\n useComponentMap,\n useConfig,\n useDocumentInfo,\n usePayloadAPI,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport React, { useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport diffComponents from '../RenderFieldsToDiff/fields/index.js'\nimport RenderFieldsToDiff from '../RenderFieldsToDiff/index.js'\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { SetStepNav } from './SetStepNav.js'\nimport './index.scss'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n doc,\n docPermissions,\n initialComparisonDoc,\n latestDraftVersion,\n latestPublishedVersion,\n localeOptions,\n versionID,\n}) => {\n const config = useConfig()\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const { getComponentMap, getFieldMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const [fieldMap] = useState(() => getFieldMap({ collectionSlug, globalSlug }))\n\n const [collectionConfig] = useState(() =>\n config.collections.find((collection) => collection.slug === collectionSlug),\n )\n\n const [globalConfig] = useState(() => config.globals.find((global) => global.slug === globalSlug))\n\n const [locales, setLocales] = useState<OptionObject[]>(localeOptions)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\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 compareFetchURL = compareValue?.value && `${compareBaseURL}/${compareValue.value}`\n\n const [{ data: currentComparisonDoc }] = usePayloadAPI(compareFetchURL, {\n initialData: initialComparisonDoc,\n initialParams: { depth: 1, draft: 'true', locale: 'all' },\n })\n\n const comparison = compareValue?.value && currentComparisonDoc?.version // the `version` key is only present on `versions` documents\n\n const canUpdate = docPermissions?.update?.permission\n\n const localeValues = locales.map((locale) => locale.value)\n\n return (\n <main className={baseClass}>\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.Version} />\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fieldMap={fieldMap}\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 </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales onChange={setLocales} options={localeOptions} value={locales} />\n )}\n </div>\n {doc?.version && (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={docPermissions?.fields}\n i18n={i18n}\n locales={localeValues}\n version={\n globalConfig\n ? {\n ...doc?.version,\n createdAt: doc?.version?.createdAt || doc.createdAt,\n updatedAt: doc?.version?.updatedAt || doc.updatedAt,\n }\n : doc?.version\n }\n />\n )}\n </Gutter>\n </main>\n )\n}\n"],"names":["Gutter","SetViewActions","useComponentMap","useConfig","useDocumentInfo","usePayloadAPI","useTranslation","formatDate","React","useState","diffComponents","RenderFieldsToDiff","Restore","SelectComparison","SelectLocales","SetStepNav","baseClass","DefaultVersionView","doc","docPermissions","initialComparisonDoc","latestDraftVersion","latestPublishedVersion","localeOptions","versionID","config","i18n","id","collectionSlug","globalSlug","getComponentMap","getFieldMap","componentMap","fieldMap","collectionConfig","collections","find","collection","slug","globalConfig","globals","global","locales","setLocales","compareValue","setCompareValue","admin","dateFormat","localization","routes","api","apiRoute","serverURL","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","compareFetchURL","value","data","currentComparisonDoc","initialData","initialParams","depth","draft","locale","comparison","version","canUpdate","update","permission","localeValues","map","main","className","actions","actionsMap","Edit","Version","div","p","t","autosave","header","h2","label","labels","singular","originalDocID","status","_status","versionDate","baseURL","onChange","parentID","options","fieldPermissions","fields","createdAt"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["import type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getUniqueListBy } from 'payload/shared'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport RenderFieldsToDiff from '../../index.js'\nimport './index.scss'\n\nconst baseClass = 'iterable-diff'\n\nconst Iterable: React.FC<Props> = ({\n comparison,\n diffComponents,\n field,\n i18n,\n locale,\n locales,\n permissions,\n version,\n}) => {\n const versionRowCount = Array.isArray(version) ? version.length : 0\n const comparisonRowCount = Array.isArray(comparison) ? comparison.length : 0\n const maxRows = Math.max(versionRowCount, comparisonRowCount)\n\n return (\n <div className={baseClass}>\n {'label' in field.fieldComponentProps &&\n field.fieldComponentProps.label &&\n typeof field.fieldComponentProps.label !== 'function' && (\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.fieldComponentProps.label, i18n)}\n </Label>\n )}\n {maxRows > 0 && (\n <React.Fragment>\n {Array.from(Array(maxRows).keys()).map((row, i) => {\n const versionRow = version?.[i] || {}\n const comparisonRow = comparison?.[i] || {}\n\n let fieldMap: MappedField[] = []\n\n if (field.type === 'array' && 'fieldMap' in field.fieldComponentProps)\n fieldMap = field.fieldComponentProps.fieldMap\n\n if (field.type === 'blocks') {\n fieldMap = [\n // {\n // name: 'blockType',\n // label: i18n.t('fields:blockType'),\n // type: 'text',\n // },\n ]\n\n if (versionRow?.blockType === comparisonRow?.blockType) {\n const matchedBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = [...fieldMap, ...matchedBlock.fieldMap]\n } else {\n const matchedVersionBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n const matchedComparisonBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === comparisonRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = getUniqueListBy<MappedField>(\n [\n ...fieldMap,\n ...matchedVersionBlock.fieldMap,\n ...matchedComparisonBlock.fieldMap,\n ],\n 'name',\n )\n }\n }\n\n return (\n <div className={`${baseClass}__wrap`} key={i}>\n <RenderFieldsToDiff\n comparison={comparisonRow}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n locales={locales}\n version={versionRow}\n />\n </div>\n )\n })}\n </React.Fragment>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field.fieldComponentProps && field.fieldComponentProps.labels?.plural\n ? getTranslation(field.fieldComponentProps.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </div>\n )\n}\n\nexport default Iterable\n"],"names":["getTranslation","getUniqueListBy","React","Label","RenderFieldsToDiff","baseClass","Iterable","comparison","diffComponents","field","i18n","locale","locales","permissions","version","versionRowCount","Array","isArray","length","comparisonRowCount","maxRows","Math","max","div","className","fieldComponentProps","label","span","Fragment","from","keys","map","row","i","versionRow","comparisonRow","fieldMap","type","blockType","matchedBlock","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock","fieldPermissions","t","labels","plural"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Iterable/index.tsx"],"sourcesContent":["import type { MappedField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { getUniqueListBy } from 'payload/shared'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport RenderFieldsToDiff from '../../index.js'\nimport './index.scss'\n\nconst baseClass = 'iterable-diff'\n\nconst Iterable: React.FC<Props> = ({\n comparison,\n diffComponents,\n field,\n i18n,\n locale,\n locales,\n permissions,\n version,\n}) => {\n const versionRowCount = Array.isArray(version) ? version.length : 0\n const comparisonRowCount = Array.isArray(comparison) ? comparison.length : 0\n const maxRows = Math.max(versionRowCount, comparisonRowCount)\n\n return (\n <div className={baseClass}>\n {'label' in field.fieldComponentProps &&\n field.fieldComponentProps.label &&\n typeof field.fieldComponentProps.label !== 'function' && (\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(field.fieldComponentProps.label, i18n)}\n </Label>\n )}\n {maxRows > 0 && (\n <React.Fragment>\n {Array.from(Array(maxRows).keys()).map((row, i) => {\n const versionRow = version?.[i] || {}\n const comparisonRow = comparison?.[i] || {}\n\n let fieldMap: MappedField[] = []\n\n if (field.type === 'array' && 'fieldMap' in field.fieldComponentProps)\n fieldMap = field.fieldComponentProps.fieldMap\n\n if (field.type === 'blocks') {\n fieldMap = [\n // {\n // name: 'blockType',\n // label: i18n.t('fields:blockType'),\n // type: 'text',\n // },\n ]\n\n if (versionRow?.blockType === comparisonRow?.blockType) {\n const matchedBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = [...fieldMap, ...matchedBlock.fieldMap]\n } else {\n const matchedVersionBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === versionRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n const matchedComparisonBlock = ('blocks' in field.fieldComponentProps &&\n field.fieldComponentProps.blocks?.find(\n (block) => block.slug === comparisonRow?.blockType,\n )) || {\n fieldMap: [],\n }\n\n fieldMap = getUniqueListBy<MappedField>(\n [\n ...fieldMap,\n ...matchedVersionBlock.fieldMap,\n ...matchedComparisonBlock.fieldMap,\n ],\n 'name',\n )\n }\n }\n\n return (\n <div className={`${baseClass}__wrap`} key={i}>\n <RenderFieldsToDiff\n comparison={comparisonRow}\n diffComponents={diffComponents}\n fieldMap={fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n locales={locales}\n version={versionRow}\n />\n </div>\n )\n })}\n </React.Fragment>\n )}\n {maxRows === 0 && (\n <div className={`${baseClass}__no-rows`}>\n {i18n.t('version:noRowsFound', {\n label:\n 'labels' in field.fieldComponentProps && field.fieldComponentProps.labels?.plural\n ? getTranslation(field.fieldComponentProps.labels.plural, i18n)\n : i18n.t('general:rows'),\n })}\n </div>\n )}\n </div>\n )\n}\n\nexport default Iterable\n"],"names":["getTranslation","getUniqueListBy","React","Label","RenderFieldsToDiff","baseClass","Iterable","comparison","diffComponents","field","i18n","locale","locales","permissions","version","versionRowCount","Array","isArray","length","comparisonRowCount","maxRows","Math","max","div","className","fieldComponentProps","label","span","Fragment","from","keys","map","row","i","versionRow","comparisonRow","fieldMap","type","blockType","matchedBlock","blocks","find","block","slug","matchedVersionBlock","matchedComparisonBlock","fieldPermissions","t","labels","plural"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { type MappedField, useConfig } from '@payloadcms/ui'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React from 'react'\nimport ReactDiffViewerImport from 'react-diff-viewer-continued'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport './index.scss'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: MappedField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n): string => {\n let relation: string\n let relatedDoc: RelationshipValue\n let valueToReturn = '' as any\n\n const relationTo =\n 'relationTo' in field.fieldComponentProps ? field.fieldComponentProps.relationTo : undefined\n\n if (value === null || typeof value === 'undefined') {\n return String(value)\n }\n\n if (Array.isArray(relationTo)) {\n if (typeof value === 'object') {\n relation = value.relationTo\n relatedDoc = value.value\n }\n } else {\n relation = relationTo\n relatedDoc = value\n }\n\n const relatedCollection = collections.find((c) => c.slug === relation)\n\n if (relatedCollection) {\n const useAsTitle = relatedCollection?.admin?.useAsTitle\n const useAsTitleField = relatedCollection.fields.find(\n (f) => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle,\n )\n let titleFieldIsLocalized = false\n\n if (useAsTitleField && fieldAffectsData(useAsTitleField))\n titleFieldIsLocalized = useAsTitleField.localized\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = relatedDoc.id\n }\n\n if (typeof valueToReturn === 'object' && titleFieldIsLocalized) {\n valueToReturn = valueToReturn[locale]\n }\n }\n\n return valueToReturn\n}\n\nconst Relationship: React.FC<Props> = ({ comparison, field, i18n, locale, version }) => {\n let placeholder = ''\n\n const { collections } = useConfig()\n\n if (version === comparison) placeholder = `[${i18n.t('general:noValue')}]`\n\n let versionToRender = version\n let comparisonToRender = comparison\n\n if ('hasMany' in field && field.hasMany) {\n if (Array.isArray(version))\n versionToRender = version\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n if (Array.isArray(comparison))\n comparisonToRender = comparison\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n } else {\n versionToRender = generateLabelFromValue(collections, field, locale, version)\n comparisonToRender = generateLabelFromValue(collections, field, locale, comparison)\n }\n\n const label =\n 'label' in field.fieldComponentProps &&\n typeof field.fieldComponentProps.label !== 'boolean' &&\n typeof field.fieldComponentProps.label !== 'function'\n ? field.fieldComponentProps.label\n : ''\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(label, i18n)}\n </Label>\n <ReactDiffViewer\n hideLineNumbers\n newValue={typeof versionToRender !== 'undefined' ? String(versionToRender) : placeholder}\n oldValue={\n typeof comparisonToRender !== 'undefined' ? String(comparisonToRender) : placeholder\n }\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n </div>\n )\n}\n\nexport default Relationship\n"],"names":["getTranslation","useConfig","fieldAffectsData","fieldIsPresentationalOnly","React","ReactDiffViewerImport","Label","diffStyles","ReactDiffViewer","default","baseClass","generateLabelFromValue","collections","field","locale","value","relation","relatedDoc","valueToReturn","relationTo","fieldComponentProps","undefined","String","Array","isArray","relatedCollection","find","c","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","localized","id","Relationship","comparison","i18n","version","placeholder","t","versionToRender","comparisonToRender","hasMany","map","val","join","label","div","className","span","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAA2BC,SAAS,QAAQ,iBAAgB;AAC5D,SAASC,gBAAgB,EAAEC,yBAAyB,QAAQ,iBAAgB;AAC5E,OAAOC,WAAW,QAAO;AACzB,OAAOC,2BAA2B,8BAA6B;AAI/D,OAAOC,WAAW,uBAAsB;AACxC,SAASC,UAAU,QAAQ,eAAc;AAGzC,MAAMC,kBAAmBH,sBAAsBI,OAAO,IACpDJ;AAEF,MAAMK,YAAY;AAIlB,MAAMC,yBAAyB,CAC7BC,aACAC,OACAC,QACAC;IAEA,IAAIC;IACJ,IAAIC;IACJ,IAAIC,gBAAgB;IAEpB,MAAMC,aACJ,gBAAgBN,MAAMO,mBAAmB,GAAGP,MAAMO,mBAAmB,CAACD,UAAU,GAAGE;IAErF,IAAIN,UAAU,QAAQ,OAAOA,UAAU,aAAa;QAClD,OAAOO,OAAOP;IAChB;IAEA,IAAIQ,MAAMC,OAAO,CAACL,aAAa;QAC7B,IAAI,OAAOJ,UAAU,UAAU;YAC7BC,WAAWD,MAAMI,UAAU;YAC3BF,aAAaF,MAAMA,KAAK;QAC1B;IACF,OAAO;QACLC,WAAWG;QACXF,aAAaF;IACf;IAEA,MAAMU,oBAAoBb,YAAYc,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKZ;IAE7D,IAAIS,mBAAmB;QACrB,MAAMI,aAAaJ,mBAAmBK,OAAOD;QAC7C,MAAME,kBAAkBN,kBAAkBO,MAAM,CAACN,IAAI,CACnD,CAACO,IAAM/B,iBAAiB+B,MAAM,CAAC9B,0BAA0B8B,MAAMA,EAAEC,IAAI,KAAKL;QAE5E,IAAIM,wBAAwB;QAE5B,IAAIJ,mBAAmB7B,iBAAiB6B,kBACtCI,wBAAwBJ,gBAAgBK,SAAS;QAEnD,IAAI,OAAOnB,YAAY,CAACY,WAAW,KAAK,aAAa;YACnDX,gBAAgBD,UAAU,CAACY,WAAW;QACxC,OAAO,IAAI,OAAOZ,YAAYoB,OAAO,aAAa;YAChDnB,gBAAgBD,WAAWoB,EAAE;QAC/B;QAEA,IAAI,OAAOnB,kBAAkB,YAAYiB,uBAAuB;YAC9DjB,gBAAgBA,aAAa,CAACJ,OAAO;QACvC;IACF;IAEA,OAAOI;AACT;AAEA,MAAMoB,eAAgC,CAAC,EAAEC,UAAU,EAAE1B,KAAK,EAAE2B,IAAI,EAAE1B,MAAM,EAAE2B,OAAO,EAAE;IACjF,IAAIC,cAAc;IAElB,MAAM,EAAE9B,WAAW,EAAE,GAAGX;IAExB,IAAIwC,YAAYF,YAAYG,cAAc,CAAC,CAAC,EAAEF,KAAKG,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAE1E,IAAIC,kBAAkBH;IACtB,IAAII,qBAAqBN;IAEzB,IAAI,aAAa1B,SAASA,MAAMiC,OAAO,EAAE;QACvC,IAAIvB,MAAMC,OAAO,CAACiB,UAChBG,kBAAkBH,QACfM,GAAG,CAAC,CAACC,MAAQrC,uBAAuBC,aAAaC,OAAOC,QAAQkC,MAChEC,IAAI,CAAC;QACV,IAAI1B,MAAMC,OAAO,CAACe,aAChBM,qBAAqBN,WAClBQ,GAAG,CAAC,CAACC,MAAQrC,uBAAuBC,aAAaC,OAAOC,QAAQkC,MAChEC,IAAI,CAAC;IACZ,OAAO;QACLL,kBAAkBjC,uBAAuBC,aAAaC,OAAOC,QAAQ2B;QACrEI,qBAAqBlC,uBAAuBC,aAAaC,OAAOC,QAAQyB;IAC1E;IAEA,MAAMW,QACJ,WAAWrC,MAAMO,mBAAmB,IACpC,OAAOP,MAAMO,mBAAmB,CAAC8B,KAAK,KAAK,aAC3C,OAAOrC,MAAMO,mBAAmB,CAAC8B,KAAK,KAAK,aACvCrC,MAAMO,mBAAmB,CAAC8B,KAAK,GAC/B;IAEN,qBACE,MAACC;QAAIC,WAAW1C;;0BACd,MAACJ;;oBACEQ,wBAAU,KAACuC;wBAAKD,WAAW,CAAC,EAAE1C,UAAU,cAAc,CAAC;kCAAGI;;oBAC1Dd,eAAekD,OAAOV;;;0BAEzB,KAAChC;gBACC8C,eAAe;gBACfC,UAAU,OAAOX,oBAAoB,cAActB,OAAOsB,mBAAmBF;gBAC7Ec,UACE,OAAOX,uBAAuB,cAAcvB,OAAOuB,sBAAsBH;gBAE3Ee,cAAc;gBACdC,SAAS;gBACTC,QAAQpD;;;;AAIhB;AAEA,eAAe+B,aAAY"}
1
+ {"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, MappedField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useConfig } from '@payloadcms/ui'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React from 'react'\nimport ReactDiffViewerImport from 'react-diff-viewer-continued'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport './index.scss'\n\nconst ReactDiffViewer = (ReactDiffViewerImport.default ||\n ReactDiffViewerImport) as unknown as typeof ReactDiffViewerImport.default\n\nconst baseClass = 'relationship-diff'\n\ntype RelationshipValue = Record<string, any>\n\nconst generateLabelFromValue = (\n collections: ClientCollectionConfig[],\n field: MappedField,\n locale: string,\n value: { relationTo: string; value: RelationshipValue } | RelationshipValue,\n): string => {\n let relation: string\n let relatedDoc: RelationshipValue\n let valueToReturn = '' as any\n\n const relationTo =\n 'relationTo' in field.fieldComponentProps ? field.fieldComponentProps.relationTo : undefined\n\n if (value === null || typeof value === 'undefined') {\n return String(value)\n }\n\n if (Array.isArray(relationTo)) {\n if (typeof value === 'object') {\n relation = value.relationTo\n relatedDoc = value.value\n }\n } else {\n relation = relationTo\n relatedDoc = value\n }\n\n const relatedCollection = collections.find((c) => c.slug === relation)\n\n if (relatedCollection) {\n const useAsTitle = relatedCollection?.admin?.useAsTitle\n const useAsTitleField = relatedCollection.fields.find(\n (f) => fieldAffectsData(f) && !fieldIsPresentationalOnly(f) && f.name === useAsTitle,\n )\n let titleFieldIsLocalized = false\n\n if (useAsTitleField && fieldAffectsData(useAsTitleField))\n titleFieldIsLocalized = useAsTitleField.localized\n\n if (typeof relatedDoc?.[useAsTitle] !== 'undefined') {\n valueToReturn = relatedDoc[useAsTitle]\n } else if (typeof relatedDoc?.id !== 'undefined') {\n valueToReturn = relatedDoc.id\n }\n\n if (typeof valueToReturn === 'object' && titleFieldIsLocalized) {\n valueToReturn = valueToReturn[locale]\n }\n }\n\n return valueToReturn\n}\n\nconst Relationship: React.FC<Props> = ({ comparison, field, i18n, locale, version }) => {\n let placeholder = ''\n\n const { collections } = useConfig()\n\n if (version === comparison) placeholder = `[${i18n.t('general:noValue')}]`\n\n let versionToRender = version\n let comparisonToRender = comparison\n\n if ('hasMany' in field && field.hasMany) {\n if (Array.isArray(version))\n versionToRender = version\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n if (Array.isArray(comparison))\n comparisonToRender = comparison\n .map((val) => generateLabelFromValue(collections, field, locale, val))\n .join(', ')\n } else {\n versionToRender = generateLabelFromValue(collections, field, locale, version)\n comparisonToRender = generateLabelFromValue(collections, field, locale, comparison)\n }\n\n const label =\n 'label' in field.fieldComponentProps &&\n typeof field.fieldComponentProps.label !== 'boolean' &&\n typeof field.fieldComponentProps.label !== 'function'\n ? field.fieldComponentProps.label\n : ''\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {getTranslation(label, i18n)}\n </Label>\n <ReactDiffViewer\n hideLineNumbers\n newValue={typeof versionToRender !== 'undefined' ? String(versionToRender) : placeholder}\n oldValue={\n typeof comparisonToRender !== 'undefined' ? String(comparisonToRender) : placeholder\n }\n showDiffOnly={false}\n splitView\n styles={diffStyles}\n />\n </div>\n )\n}\n\nexport default Relationship\n"],"names":["getTranslation","useConfig","fieldAffectsData","fieldIsPresentationalOnly","React","ReactDiffViewerImport","Label","diffStyles","ReactDiffViewer","default","baseClass","generateLabelFromValue","collections","field","locale","value","relation","relatedDoc","valueToReturn","relationTo","fieldComponentProps","undefined","String","Array","isArray","relatedCollection","find","c","slug","useAsTitle","admin","useAsTitleField","fields","f","name","titleFieldIsLocalized","localized","id","Relationship","comparison","i18n","version","placeholder","t","versionToRender","comparisonToRender","hasMany","map","val","join","label","div","className","span","hideLineNumbers","newValue","oldValue","showDiffOnly","splitView","styles"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import type { SelectFieldProps } from '@payloadcms/ui';
2
- import type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap';
1
+ import type { MappedField, SelectFieldProps } from 'payload';
3
2
  import React from 'react';
4
3
  import type { Props } from '../types.js';
5
4
  import './index.scss';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAA;AAI7E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAKxC,OAAO,cAAc,CAAA;AAmCrB,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CACpB;IACE,KAAK,EAAE,WAAW,GAAG,gBAAgB,CAAA;CACtC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAiCzB,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAA6B,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAGvF,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAKxC,OAAO,cAAc,CAAA;AAmCrB,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CACpB;IACE,KAAK,EAAE,WAAW,GAAG,gBAAgB,CAAA;CACtC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAiCzB,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { SelectFieldProps } from '@payloadcms/ui'\nimport type { MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { OptionObject, SelectField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport { DiffViewer } from './DiffViewer/index.js'\nimport './index.scss'\n\nconst baseClass = 'select-diff'\n\nconst getOptionsToRender = (\n value: string,\n options: SelectField['options'],\n hasMany: boolean,\n): (OptionObject | string)[] | OptionObject | string => {\n if (hasMany && Array.isArray(value)) {\n return value.map(\n (val) =>\n options.find((option) => (typeof option === 'string' ? option : option.value) === val) ||\n String(val),\n )\n }\n return (\n options.find((option) => (typeof option === 'string' ? option : option.value) === value) ||\n String(value)\n )\n}\n\nconst getTranslatedOptions = (\n options: (OptionObject | string)[] | OptionObject | string,\n i18n: I18nClient,\n): string => {\n if (Array.isArray(options)) {\n return options\n .map((option) => (typeof option === 'string' ? option : getTranslation(option.label, i18n)))\n .join(', ')\n }\n\n return typeof options === 'string' ? options : getTranslation(options.label, i18n)\n}\n\nconst Select: React.FC<\n {\n field: MappedField & SelectFieldProps\n } & Omit<Props, 'field'>\n> = ({ comparison, diffMethod, field, i18n, locale, version }) => {\n let placeholder = ''\n\n if (version === comparison) placeholder = `[${i18n.t('general:noValue')}]`\n\n const options = 'options' in field.fieldComponentProps && field.fieldComponentProps.options\n\n const comparisonToRender =\n typeof comparison !== 'undefined'\n ? getTranslatedOptions(getOptionsToRender(comparison, options, field.hasMany), i18n)\n : placeholder\n\n const versionToRender =\n typeof version !== 'undefined'\n ? getTranslatedOptions(getOptionsToRender(version, options, field.hasMany), i18n)\n : placeholder\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {'label' in field && getTranslation(field.label || '', i18n)}\n </Label>\n <DiffViewer\n comparisonToRender={comparisonToRender}\n diffMethod={diffMethod}\n diffStyles={diffStyles}\n placeholder={placeholder}\n versionToRender={versionToRender}\n />\n </div>\n )\n}\n\nexport default Select\n"],"names":["getTranslation","React","Label","diffStyles","DiffViewer","baseClass","getOptionsToRender","value","options","hasMany","Array","isArray","map","val","find","option","String","getTranslatedOptions","i18n","label","join","Select","comparison","diffMethod","field","locale","version","placeholder","t","fieldComponentProps","comparisonToRender","versionToRender","div","className","span"],"mappings":";AAKA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,OAAOC,WAAW,uBAAsB;AACxC,SAASC,UAAU,QAAQ,eAAc;AACzC,SAASC,UAAU,QAAQ,wBAAuB;AAGlD,MAAMC,YAAY;AAElB,MAAMC,qBAAqB,CACzBC,OACAC,SACAC;IAEA,IAAIA,WAAWC,MAAMC,OAAO,CAACJ,QAAQ;QACnC,OAAOA,MAAMK,GAAG,CACd,CAACC,MACCL,QAAQM,IAAI,CAAC,CAACC,SAAW,AAAC,CAAA,OAAOA,WAAW,WAAWA,SAASA,OAAOR,KAAK,AAAD,MAAOM,QAClFG,OAAOH;IAEb;IACA,OACEL,QAAQM,IAAI,CAAC,CAACC,SAAW,AAAC,CAAA,OAAOA,WAAW,WAAWA,SAASA,OAAOR,KAAK,AAAD,MAAOA,UAClFS,OAAOT;AAEX;AAEA,MAAMU,uBAAuB,CAC3BT,SACAU;IAEA,IAAIR,MAAMC,OAAO,CAACH,UAAU;QAC1B,OAAOA,QACJI,GAAG,CAAC,CAACG,SAAY,OAAOA,WAAW,WAAWA,SAASf,eAAee,OAAOI,KAAK,EAAED,OACpFE,IAAI,CAAC;IACV;IAEA,OAAO,OAAOZ,YAAY,WAAWA,UAAUR,eAAeQ,QAAQW,KAAK,EAAED;AAC/E;AAEA,MAAMG,SAIF,CAAC,EAAEC,UAAU,EAAEC,UAAU,EAAEC,KAAK,EAAEN,IAAI,EAAEO,MAAM,EAAEC,OAAO,EAAE;IAC3D,IAAIC,cAAc;IAElB,IAAID,YAAYJ,YAAYK,cAAc,CAAC,CAAC,EAAET,KAAKU,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAE1E,MAAMpB,UAAU,aAAagB,MAAMK,mBAAmB,IAAIL,MAAMK,mBAAmB,CAACrB,OAAO;IAE3F,MAAMsB,qBACJ,OAAOR,eAAe,cAClBL,qBAAqBX,mBAAmBgB,YAAYd,SAASgB,MAAMf,OAAO,GAAGS,QAC7ES;IAEN,MAAMI,kBACJ,OAAOL,YAAY,cACfT,qBAAqBX,mBAAmBoB,SAASlB,SAASgB,MAAMf,OAAO,GAAGS,QAC1ES;IAEN,qBACE,MAACK;QAAIC,WAAW5B;;0BACd,MAACH;;oBACEuB,wBAAU,KAACS;wBAAKD,WAAW,CAAC,EAAE5B,UAAU,cAAc,CAAC;kCAAGoB;;oBAC1D,WAAWD,SAASxB,eAAewB,MAAML,KAAK,IAAI,IAAID;;;0BAEzD,KAACd;gBACC0B,oBAAoBA;gBACpBP,YAAYA;gBACZpB,YAAYA;gBACZwB,aAAaA;gBACbI,iBAAiBA;;;;AAIzB;AAEA,eAAeV,OAAM"}
1
+ {"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Select/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { MappedField, OptionObject, SelectField, SelectFieldProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport Label from '../../Label/index.js'\nimport { diffStyles } from '../styles.js'\nimport { DiffViewer } from './DiffViewer/index.js'\nimport './index.scss'\n\nconst baseClass = 'select-diff'\n\nconst getOptionsToRender = (\n value: string,\n options: SelectField['options'],\n hasMany: boolean,\n): (OptionObject | string)[] | OptionObject | string => {\n if (hasMany && Array.isArray(value)) {\n return value.map(\n (val) =>\n options.find((option) => (typeof option === 'string' ? option : option.value) === val) ||\n String(val),\n )\n }\n return (\n options.find((option) => (typeof option === 'string' ? option : option.value) === value) ||\n String(value)\n )\n}\n\nconst getTranslatedOptions = (\n options: (OptionObject | string)[] | OptionObject | string,\n i18n: I18nClient,\n): string => {\n if (Array.isArray(options)) {\n return options\n .map((option) => (typeof option === 'string' ? option : getTranslation(option.label, i18n)))\n .join(', ')\n }\n\n return typeof options === 'string' ? options : getTranslation(options.label, i18n)\n}\n\nconst Select: React.FC<\n {\n field: MappedField & SelectFieldProps\n } & Omit<Props, 'field'>\n> = ({ comparison, diffMethod, field, i18n, locale, version }) => {\n let placeholder = ''\n\n if (version === comparison) placeholder = `[${i18n.t('general:noValue')}]`\n\n const options = 'options' in field.fieldComponentProps && field.fieldComponentProps.options\n\n const comparisonToRender =\n typeof comparison !== 'undefined'\n ? getTranslatedOptions(getOptionsToRender(comparison, options, field.hasMany), i18n)\n : placeholder\n\n const versionToRender =\n typeof version !== 'undefined'\n ? getTranslatedOptions(getOptionsToRender(version, options, field.hasMany), i18n)\n : placeholder\n\n return (\n <div className={baseClass}>\n <Label>\n {locale && <span className={`${baseClass}__locale-label`}>{locale}</span>}\n {'label' in field && getTranslation(field.label || '', i18n)}\n </Label>\n <DiffViewer\n comparisonToRender={comparisonToRender}\n diffMethod={diffMethod}\n diffStyles={diffStyles}\n placeholder={placeholder}\n versionToRender={versionToRender}\n />\n </div>\n )\n}\n\nexport default Select\n"],"names":["getTranslation","React","Label","diffStyles","DiffViewer","baseClass","getOptionsToRender","value","options","hasMany","Array","isArray","map","val","find","option","String","getTranslatedOptions","i18n","label","join","Select","comparison","diffMethod","field","locale","version","placeholder","t","fieldComponentProps","comparisonToRender","versionToRender","div","className","span"],"mappings":";AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,OAAOC,WAAW,uBAAsB;AACxC,SAASC,UAAU,QAAQ,eAAc;AACzC,SAASC,UAAU,QAAQ,wBAAuB;AAGlD,MAAMC,YAAY;AAElB,MAAMC,qBAAqB,CACzBC,OACAC,SACAC;IAEA,IAAIA,WAAWC,MAAMC,OAAO,CAACJ,QAAQ;QACnC,OAAOA,MAAMK,GAAG,CACd,CAACC,MACCL,QAAQM,IAAI,CAAC,CAACC,SAAW,AAAC,CAAA,OAAOA,WAAW,WAAWA,SAASA,OAAOR,KAAK,AAAD,MAAOM,QAClFG,OAAOH;IAEb;IACA,OACEL,QAAQM,IAAI,CAAC,CAACC,SAAW,AAAC,CAAA,OAAOA,WAAW,WAAWA,SAASA,OAAOR,KAAK,AAAD,MAAOA,UAClFS,OAAOT;AAEX;AAEA,MAAMU,uBAAuB,CAC3BT,SACAU;IAEA,IAAIR,MAAMC,OAAO,CAACH,UAAU;QAC1B,OAAOA,QACJI,GAAG,CAAC,CAACG,SAAY,OAAOA,WAAW,WAAWA,SAASf,eAAee,OAAOI,KAAK,EAAED,OACpFE,IAAI,CAAC;IACV;IAEA,OAAO,OAAOZ,YAAY,WAAWA,UAAUR,eAAeQ,QAAQW,KAAK,EAAED;AAC/E;AAEA,MAAMG,SAIF,CAAC,EAAEC,UAAU,EAAEC,UAAU,EAAEC,KAAK,EAAEN,IAAI,EAAEO,MAAM,EAAEC,OAAO,EAAE;IAC3D,IAAIC,cAAc;IAElB,IAAID,YAAYJ,YAAYK,cAAc,CAAC,CAAC,EAAET,KAAKU,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAE1E,MAAMpB,UAAU,aAAagB,MAAMK,mBAAmB,IAAIL,MAAMK,mBAAmB,CAACrB,OAAO;IAE3F,MAAMsB,qBACJ,OAAOR,eAAe,cAClBL,qBAAqBX,mBAAmBgB,YAAYd,SAASgB,MAAMf,OAAO,GAAGS,QAC7ES;IAEN,MAAMI,kBACJ,OAAOL,YAAY,cACfT,qBAAqBX,mBAAmBoB,SAASlB,SAASgB,MAAMf,OAAO,GAAGS,QAC1ES;IAEN,qBACE,MAACK;QAAIC,WAAW5B;;0BACd,MAACH;;oBACEuB,wBAAU,KAACS;wBAAKD,WAAW,CAAC,EAAE5B,UAAU,cAAc,CAAC;kCAAGoB;;oBAC1D,WAAWD,SAASxB,eAAewB,MAAML,KAAK,IAAI,IAAID;;;0BAEzD,KAACd;gBACC0B,oBAAoBA;gBACpBP,YAAYA;gBACZpB,YAAYA;gBACZwB,aAAaA;gBACbI,iBAAiBA;;;;AAIzB;AAEA,eAAeV,OAAM"}
@@ -1,4 +1,4 @@
1
- import type { MappedField, TabsFieldProps } from '@payloadcms/ui';
1
+ import type { MappedField, TabsFieldProps } from 'payload';
2
2
  import React from 'react';
3
3
  import type { Props } from '../types.js';
4
4
  declare const Tabs: React.FC<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEjE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAOxC,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAClB;IACE,KAAK,EAAE,WAAW,GAAG,cAAc,CAAA;CACpC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAuCzB,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAOxC,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAClB;IACE,KAAK,EAAE,WAAW,GAAG,cAAc,CAAA;CACpC,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAuCzB,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Tabs/index.tsx"],"sourcesContent":["import type { MappedField, TabsFieldProps } from '@payloadcms/ui'\n\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport RenderFieldsToDiff from '../../index.js'\nimport Nested from '../Nested/index.js'\n\nconst baseClass = 'tabs-diff'\n\nconst Tabs: React.FC<\n {\n field: MappedField & TabsFieldProps\n } & Omit<Props, 'field'>\n> = ({ comparison, diffComponents, field, i18n, locale, locales, permissions, version }) => {\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n {field.tabs.map((tab, i) => {\n if ('name' in tab) {\n return (\n <Nested\n comparison={comparison?.[tab.name]}\n diffComponents={diffComponents}\n field={field}\n fieldMap={tab.fieldMap}\n i18n={i18n}\n key={i}\n locale={locale}\n locales={locales}\n permissions={permissions}\n version={version?.[tab.name]}\n />\n )\n }\n\n return (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={tab.fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n key={i}\n locales={locales}\n version={version}\n />\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default Tabs\n"],"names":["React","RenderFieldsToDiff","Nested","baseClass","Tabs","comparison","diffComponents","field","i18n","locale","locales","permissions","version","div","className","tabs","map","tab","i","name","fieldMap","fieldPermissions"],"mappings":";AAEA,OAAOA,WAAW,QAAO;AAIzB,OAAOC,wBAAwB,iBAAgB;AAC/C,OAAOC,YAAY,qBAAoB;AAEvC,MAAMC,YAAY;AAElB,MAAMC,OAIF,CAAC,EAAEC,UAAU,EAAEC,cAAc,EAAEC,KAAK,EAAEC,IAAI,EAAEC,MAAM,EAAEC,OAAO,EAAEC,WAAW,EAAEC,OAAO,EAAE;IACrF,qBACE,KAACC;QAAIC,WAAWX;kBACd,cAAA,KAACU;YAAIC,WAAW,CAAC,EAAEX,UAAU,MAAM,CAAC;sBACjCI,MAAMQ,IAAI,CAACC,GAAG,CAAC,CAACC,KAAKC;gBACpB,IAAI,UAAUD,KAAK;oBACjB,qBACE,KAACf;wBACCG,YAAYA,YAAY,CAACY,IAAIE,IAAI,CAAC;wBAClCb,gBAAgBA;wBAChBC,OAAOA;wBACPa,UAAUH,IAAIG,QAAQ;wBACtBZ,MAAMA;wBAENC,QAAQA;wBACRC,SAASA;wBACTC,aAAaA;wBACbC,SAASA,SAAS,CAACK,IAAIE,IAAI,CAAC;uBAJvBD;gBAOX;gBAEA,qBACE,KAACjB;oBACCI,YAAYA;oBACZC,gBAAgBA;oBAChBc,UAAUH,IAAIG,QAAQ;oBACtBC,kBAAkBV;oBAClBH,MAAMA;oBAENE,SAASA;oBACTE,SAASA;mBAFJM;YAKX;;;AAIR;AAEA,eAAed,KAAI"}
1
+ {"version":3,"sources":["../../../../../../src/views/Version/RenderFieldsToDiff/fields/Tabs/index.tsx"],"sourcesContent":["import type { MappedField, TabsFieldProps } from 'payload'\n\nimport React from 'react'\n\nimport type { Props } from '../types.js'\n\nimport RenderFieldsToDiff from '../../index.js'\nimport Nested from '../Nested/index.js'\n\nconst baseClass = 'tabs-diff'\n\nconst Tabs: React.FC<\n {\n field: MappedField & TabsFieldProps\n } & Omit<Props, 'field'>\n> = ({ comparison, diffComponents, field, i18n, locale, locales, permissions, version }) => {\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n {field.tabs.map((tab, i) => {\n if ('name' in tab) {\n return (\n <Nested\n comparison={comparison?.[tab.name]}\n diffComponents={diffComponents}\n field={field}\n fieldMap={tab.fieldMap}\n i18n={i18n}\n key={i}\n locale={locale}\n locales={locales}\n permissions={permissions}\n version={version?.[tab.name]}\n />\n )\n }\n\n return (\n <RenderFieldsToDiff\n comparison={comparison}\n diffComponents={diffComponents}\n fieldMap={tab.fieldMap}\n fieldPermissions={permissions}\n i18n={i18n}\n key={i}\n locales={locales}\n version={version}\n />\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default Tabs\n"],"names":["React","RenderFieldsToDiff","Nested","baseClass","Tabs","comparison","diffComponents","field","i18n","locale","locales","permissions","version","div","className","tabs","map","tab","i","name","fieldMap","fieldPermissions"],"mappings":";AAEA,OAAOA,WAAW,QAAO;AAIzB,OAAOC,wBAAwB,iBAAgB;AAC/C,OAAOC,YAAY,qBAAoB;AAEvC,MAAMC,YAAY;AAElB,MAAMC,OAIF,CAAC,EAAEC,UAAU,EAAEC,cAAc,EAAEC,KAAK,EAAEC,IAAI,EAAEC,MAAM,EAAEC,OAAO,EAAEC,WAAW,EAAEC,OAAO,EAAE;IACrF,qBACE,KAACC;QAAIC,WAAWX;kBACd,cAAA,KAACU;YAAIC,WAAW,CAAC,EAAEX,UAAU,MAAM,CAAC;sBACjCI,MAAMQ,IAAI,CAACC,GAAG,CAAC,CAACC,KAAKC;gBACpB,IAAI,UAAUD,KAAK;oBACjB,qBACE,KAACf;wBACCG,YAAYA,YAAY,CAACY,IAAIE,IAAI,CAAC;wBAClCb,gBAAgBA;wBAChBC,OAAOA;wBACPa,UAAUH,IAAIG,QAAQ;wBACtBZ,MAAMA;wBAENC,QAAQA;wBACRC,SAASA;wBACTC,aAAaA;wBACbC,SAASA,SAAS,CAACK,IAAIE,IAAI,CAAC;uBAJvBD;gBAOX;gBAEA,qBACE,KAACjB;oBACCI,YAAYA;oBACZC,gBAAgBA;oBAChBc,UAAUH,IAAIG,QAAQ;oBACtBC,kBAAkBV;oBAClBH,MAAMA;oBAENE,SAASA;oBACTE,SAASA;mBAFJM;YAKX;;;AAIR;AAEA,eAAed,KAAI"}
@@ -11,16 +11,16 @@ declare const _default: {
11
11
  number: import("react").FC<import("./types.js").Props>;
12
12
  point: import("react").FC<import("./types.js").Props>;
13
13
  radio: import("react").FC<{
14
- field: import("@payloadcms/ui").MappedField & import("@payloadcms/ui").SelectFieldProps;
14
+ field: import("packages/payload/src/index.js").MappedField & import("packages/payload/src/index.js").SelectFieldProps;
15
15
  } & Omit<import("./types.js").Props, "field">>;
16
16
  relationship: any;
17
17
  richText: import("react").FC<import("./types.js").Props>;
18
18
  row: import("react").FC<import("./types.js").Props>;
19
19
  select: import("react").FC<{
20
- field: import("@payloadcms/ui").MappedField & import("@payloadcms/ui").SelectFieldProps;
20
+ field: import("packages/payload/src/index.js").MappedField & import("packages/payload/src/index.js").SelectFieldProps;
21
21
  } & Omit<import("./types.js").Props, "field">>;
22
22
  tabs: import("react").FC<{
23
- field: import("@payloadcms/ui").MappedField & import("@payloadcms/ui").TabsFieldProps;
23
+ field: import("packages/payload/src/index.js").MappedField & import("packages/payload/src/index.js").TabsFieldProps;
24
24
  } & Omit<import("./types.js").Props, "field">>;
25
25
  text: import("react").FC<import("./types.js").Props>;
26
26
  textarea: import("react").FC<import("./types.js").Props>;
@@ -1,6 +1,5 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
- import type { FieldMap, MappedField } from '@payloadcms/ui/utilities/buildComponentMap';
3
- import type { FieldPermissions } from 'payload';
2
+ import type { FieldMap, FieldPermissions, MappedField } from 'payload';
4
3
  import type React from 'react';
5
4
  import type { DiffMethod } from 'react-diff-viewer-continued';
6
5
  export type DiffComponents = Record<string, React.FC<Props>>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAA;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AAE5D,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,GAAG,CAAA;IACf,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,WAAW,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC9C,OAAO,EAAE,GAAG,CAAA;CACb,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AAE5D,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,GAAG,CAAA;IACf,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,WAAW,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC9C,OAAO,EAAE,GAAG,CAAA;CACb,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { FieldMap, MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { FieldPermissions } from 'payload'\nimport type React from 'react'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nexport type DiffComponents = Record<string, React.FC<Props>>\n\nexport type Props = {\n comparison: any\n diffComponents: DiffComponents\n diffMethod?: DiffMethod\n disableGutter?: boolean\n field: MappedField\n fieldMap: FieldMap\n i18n: I18nClient\n isRichText?: boolean\n locale?: string\n locales?: string[]\n permissions?: Record<string, FieldPermissions>\n version: any\n}\n"],"names":[],"mappings":"AAQA,WAaC"}
1
+ {"version":3,"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { FieldMap, FieldPermissions, MappedField } from 'payload'\nimport type React from 'react'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nexport type DiffComponents = Record<string, React.FC<Props>>\n\nexport type Props = {\n comparison: any\n diffComponents: DiffComponents\n diffMethod?: DiffMethod\n disableGutter?: boolean\n field: MappedField\n fieldMap: FieldMap\n i18n: I18nClient\n isRichText?: boolean\n locale?: string\n locales?: string[]\n permissions?: Record<string, FieldPermissions>\n version: any\n}\n"],"names":[],"mappings":"AAOA,WAaC"}
@@ -1,6 +1,5 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
- import type { FieldMap, MappedField } from '@payloadcms/ui/utilities/buildComponentMap';
3
- import type { FieldPermissions } from 'payload';
2
+ import type { FieldMap, FieldPermissions, MappedField } from 'payload';
4
3
  import type { DiffMethod } from 'react-diff-viewer-continued';
5
4
  import type { DiffComponents } from './fields/types.js';
6
5
  export type Props = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAA;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,EAAE,QAAQ,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAClD,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,EAAE,QAAQ,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAClD,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,KAAK,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { FieldMap, MappedField } from '@payloadcms/ui/utilities/buildComponentMap'\nimport type { FieldPermissions } from 'payload'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport type { DiffComponents } from './fields/types.js'\n\nexport type Props = {\n comparison: Record<string, any>\n diffComponents: DiffComponents\n fieldMap: FieldMap\n fieldPermissions: Record<string, FieldPermissions>\n i18n: I18nClient\n locales: string[]\n version: Record<string, any>\n}\n\nexport type FieldDiffProps = {\n diffMethod: DiffMethod\n field: MappedField\n isRichText: boolean\n} & Props\n"],"names":[],"mappings":"AAiBA,WAIS"}
1
+ {"version":3,"sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { FieldMap, FieldPermissions, MappedField } from 'payload'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport type { DiffComponents } from './fields/types.js'\n\nexport type Props = {\n comparison: Record<string, any>\n diffComponents: DiffComponents\n fieldMap: FieldMap\n fieldPermissions: Record<string, FieldPermissions>\n i18n: I18nClient\n locales: string[]\n version: Record<string, any>\n}\n\nexport type FieldDiffProps = {\n diffMethod: DiffMethod\n field: MappedField\n isRichText: boolean\n} & Props\n"],"names":[],"mappings":"AAgBA,WAIS"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAG9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAKrB,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuF5B,CAAA;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/index.tsx"],"names":[],"mappings":"AAeA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAG9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAKrB,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8G5B,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { getTranslation } from '@payloadcms/translations';
4
- import { Button, Modal, Pill, useConfig, useModal, useTranslation } from '@payloadcms/ui';
4
+ import { Button, ChevronIcon, Modal, Pill, Popup, PopupList, useConfig, useModal, useTranslation } from '@payloadcms/ui';
5
5
  import { formatAdminURL, requests } from '@payloadcms/ui/shared';
6
6
  import { useRouter } from 'next/navigation.js';
7
7
  import React, { Fragment, useCallback, useState } from 'react';
@@ -9,27 +9,29 @@ import { toast } from 'sonner';
9
9
  import { MinimalTemplate } from '../../../templates/Minimal/index.js';
10
10
  const baseClass = 'restore-version';
11
11
  const modalSlug = 'restore-version';
12
- const Restore = ({ className, collectionSlug, globalSlug, label, originalDocID, versionDate, versionID })=>{
12
+ const Restore = ({ className, collectionSlug, globalSlug, label, originalDocID, status, versionDate, versionID })=>{
13
13
  const { routes: { admin: adminRoute, api: apiRoute }, serverURL } = useConfig();
14
14
  const { toggleModal } = useModal();
15
15
  const [processing, setProcessing] = useState(false);
16
16
  const router = useRouter();
17
17
  const { i18n, t } = useTranslation();
18
+ const [draft, setDraft] = useState(false);
18
19
  const restoreMessage = t('version:aboutToRestoreGlobal', {
19
20
  label: getTranslation(label, i18n),
20
21
  versionDate
21
22
  });
22
23
  let fetchURL = `${serverURL}${apiRoute}`;
23
24
  let redirectURL;
25
+ const canRestoreAsDraft = status !== 'draft';
24
26
  if (collectionSlug) {
25
- fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}`;
27
+ fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`;
26
28
  redirectURL = formatAdminURL({
27
29
  adminRoute,
28
30
  path: `/collections/${collectionSlug}/${originalDocID}`
29
31
  });
30
32
  }
31
33
  if (globalSlug) {
32
- fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}`;
34
+ fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`;
33
35
  redirectURL = formatAdminURL({
34
36
  adminRoute,
35
37
  path: `/globals/${globalSlug}`
@@ -58,13 +60,38 @@ const Restore = ({ className, collectionSlug, globalSlug, label, originalDocID,
58
60
  ]);
59
61
  return /*#__PURE__*/ _jsxs(Fragment, {
60
62
  children: [
61
- /*#__PURE__*/ _jsx(Pill, {
63
+ /*#__PURE__*/ _jsxs("div", {
62
64
  className: [
63
65
  baseClass,
64
66
  className
65
67
  ].filter(Boolean).join(' '),
66
- onClick: ()=>toggleModal(modalSlug),
67
- children: t('version:restoreThisVersion')
68
+ children: [
69
+ /*#__PURE__*/ _jsx(Pill, {
70
+ className: [
71
+ canRestoreAsDraft && `${baseClass}__button`
72
+ ].filter(Boolean).join(' '),
73
+ onClick: ()=>toggleModal(modalSlug),
74
+ children: t('version:restoreThisVersion')
75
+ }),
76
+ canRestoreAsDraft && /*#__PURE__*/ _jsx(Popup, {
77
+ button: /*#__PURE__*/ _jsx(Pill, {
78
+ className: `${baseClass}__chevron`,
79
+ children: /*#__PURE__*/ _jsx(ChevronIcon, {})
80
+ }),
81
+ caret: false,
82
+ render: ()=>/*#__PURE__*/ _jsx(PopupList.ButtonGroup, {
83
+ children: /*#__PURE__*/ _jsx(PopupList.Button, {
84
+ onClick: ()=>[
85
+ setDraft(true),
86
+ toggleModal(modalSlug)
87
+ ],
88
+ children: t('version:restoreAsDraft')
89
+ })
90
+ }),
91
+ size: "large",
92
+ verticalAlign: "bottom"
93
+ })
94
+ ]
68
95
  }),
69
96
  /*#__PURE__*/ _jsx(Modal, {
70
97
  className: `${baseClass}__modal`,
@@ -85,7 +112,7 @@ const Restore = ({ className, collectionSlug, globalSlug, label, originalDocID,
85
112
  children: t('general:cancel')
86
113
  }),
87
114
  /*#__PURE__*/ _jsx(Button, {
88
- onClick: processing ? undefined : handleRestore,
115
+ onClick: processing ? undefined : ()=>void handleRestore(),
89
116
  children: processing ? t('version:restoring') : t('general:confirm')
90
117
  })
91
118
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, Modal, Pill, useConfig, useModal, useTranslation } from '@payloadcms/ui'\nimport { formatAdminURL, requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { MinimalTemplate } from '../../../templates/Minimal/index.js'\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n versionDate,\n versionID,\n}) => {\n const {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = useConfig()\n\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${originalDocID}`,\n })\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n\n return (\n <Fragment>\n <Pill\n className={[baseClass, className].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n >\n {t('version:restoreThisVersion')}\n </Pill>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__modal-template`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : handleRestore}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"names":["getTranslation","Button","Modal","Pill","useConfig","useModal","useTranslation","formatAdminURL","requests","useRouter","React","Fragment","useCallback","useState","toast","MinimalTemplate","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","versionDate","versionID","routes","admin","adminRoute","api","apiRoute","serverURL","toggleModal","processing","setProcessing","router","i18n","t","restoreMessage","fetchURL","redirectURL","path","handleRestore","res","post","headers","language","status","json","success","message","push","error","filter","Boolean","join","onClick","slug","h1","p","buttonStyle","undefined","type"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,iBAAgB;AACzF,SAASC,cAAc,EAAEC,QAAQ,QAAQ,wBAAuB;AAChE,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,SAASC,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,QAAO;AAC9D,SAASC,KAAK,QAAQ,SAAQ;AAI9B,SAASC,eAAe,QAAQ,sCAAqC;AAGrE,MAAMC,YAAY;AAClB,MAAMC,YAAY;AAElB,MAAMC,UAA2B,CAAC,EAChCC,SAAS,EACTC,cAAc,EACdC,UAAU,EACVC,KAAK,EACLC,aAAa,EACbC,WAAW,EACXC,SAAS,EACV;IACC,MAAM,EACJC,QAAQ,EAAEC,OAAOC,UAAU,EAAEC,KAAKC,QAAQ,EAAE,EAC5CC,SAAS,EACV,GAAG3B;IAEJ,MAAM,EAAE4B,WAAW,EAAE,GAAG3B;IACxB,MAAM,CAAC4B,YAAYC,cAAc,GAAGrB,SAAS;IAC7C,MAAMsB,SAAS1B;IACf,MAAM,EAAE2B,IAAI,EAAEC,CAAC,EAAE,GAAG/B;IAEpB,MAAMgC,iBAAiBD,EAAE,gCAAgC;QACvDf,OAAOtB,eAAesB,OAAOc;QAC7BZ;IACF;IAEA,IAAIe,WAAW,CAAC,EAAER,UAAU,EAAED,SAAS,CAAC;IACxC,IAAIU;IAEJ,IAAIpB,gBAAgB;QAClBmB,WAAW,CAAC,EAAEA,SAAS,CAAC,EAAEnB,eAAe,UAAU,EAAEK,UAAU,CAAC;QAChEe,cAAcjC,eAAe;YAC3BqB;YACAa,MAAM,CAAC,aAAa,EAAErB,eAAe,CAAC,EAAEG,cAAc,CAAC;QACzD;IACF;IAEA,IAAIF,YAAY;QACdkB,WAAW,CAAC,EAAEA,SAAS,SAAS,EAAElB,WAAW,UAAU,EAAEI,UAAU,CAAC;QACpEe,cAAcjC,eAAe;YAC3BqB;YACAa,MAAM,CAAC,SAAS,EAAEpB,WAAW,CAAC;QAChC;IACF;IAEA,MAAMqB,gBAAgB9B,YAAY;QAChCsB,cAAc;QAEd,MAAMS,MAAM,MAAMnC,SAASoC,IAAI,CAACL,UAAU;YACxCM,SAAS;gBACP,mBAAmBT,KAAKU,QAAQ;YAClC;QACF;QAEA,IAAIH,IAAII,MAAM,KAAK,KAAK;YACtB,MAAMC,OAAO,MAAML,IAAIK,IAAI;YAC3BlC,MAAMmC,OAAO,CAACD,KAAKE,OAAO;YAC1Bf,OAAOgB,IAAI,CAACX;QACd,OAAO;YACL1B,MAAMsC,KAAK,CAACf,EAAE;QAChB;IACF,GAAG;QAACE;QAAUC;QAAaH;QAAGD;QAAMD;KAAO;IAE3C,qBACE,MAACxB;;0BACC,KAACR;gBACCgB,WAAW;oBAACH;oBAAWG;iBAAU,CAACkC,MAAM,CAACC,SAASC,IAAI,CAAC;gBACvDC,SAAS,IAAMxB,YAAYf;0BAE1BoB,EAAE;;0BAEL,KAACnC;gBAAMiB,WAAW,CAAC,EAAEH,UAAU,OAAO,CAAC;gBAAEyC,MAAMxC;0BAC7C,cAAA,MAACF;oBAAgBI,WAAW,CAAC,EAAEH,UAAU,gBAAgB,CAAC;;sCACxD,KAAC0C;sCAAIrB,EAAE;;sCACP,KAACsB;sCAAGrB;;sCACJ,KAACrC;4BACC2D,aAAY;4BACZJ,SAASvB,aAAa4B,YAAY,IAAM7B,YAAYf;4BACpD6C,MAAK;sCAEJzB,EAAE;;sCAEL,KAACpC;4BAAOuD,SAASvB,aAAa4B,YAAYnB;sCACvCT,aAAaI,EAAE,uBAAuBA,EAAE;;;;;;;AAMrD;AAEA,eAAenB,QAAO"}
1
+ {"version":3,"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ChevronIcon,\n Modal,\n Pill,\n Popup,\n PopupList,\n useConfig,\n useModal,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL, requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { MinimalTemplate } from '../../../templates/Minimal/index.js'\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n status,\n versionDate,\n versionID,\n}) => {\n const {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n } = useConfig()\n\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n const canRestoreAsDraft = status !== 'draft'\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${originalDocID}`,\n })\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Pill\n className={[canRestoreAsDraft && `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n >\n {t('version:restoreThisVersion')}\n </Pill>\n {canRestoreAsDraft && (\n <Popup\n button={\n <Pill className={`${baseClass}__chevron`}>\n <ChevronIcon />\n </Pill>\n }\n caret={false}\n render={() => (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n )}\n </div>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__modal-template`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : () => void handleRestore()}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"names":["getTranslation","Button","ChevronIcon","Modal","Pill","Popup","PopupList","useConfig","useModal","useTranslation","formatAdminURL","requests","useRouter","React","Fragment","useCallback","useState","toast","MinimalTemplate","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","status","versionDate","versionID","routes","admin","adminRoute","api","apiRoute","serverURL","toggleModal","processing","setProcessing","router","i18n","t","draft","setDraft","restoreMessage","fetchURL","redirectURL","canRestoreAsDraft","path","handleRestore","res","post","headers","language","json","success","message","push","error","div","filter","Boolean","join","onClick","button","caret","render","ButtonGroup","size","verticalAlign","slug","h1","p","buttonStyle","undefined","type"],"mappings":"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"}
@@ -2,6 +2,37 @@
2
2
 
3
3
  .restore-version {
4
4
  cursor: pointer;
5
+ display: flex;
6
+
7
+ .popup-button {
8
+ display: flex;
9
+ }
10
+
11
+ &__chevron {
12
+ background-color: var(--theme-elevation-150);
13
+ border-top-left-radius: 0;
14
+ border-bottom-left-radius: 0;
15
+ cursor: pointer;
16
+
17
+ .stroke {
18
+ stroke-width: 1px;
19
+ }
20
+
21
+ &:hover {
22
+ background: var(--theme-elevation-100);
23
+ }
24
+ }
25
+
26
+ &__button {
27
+ border-top-right-radius: 0px;
28
+ border-bottom-right-radius: 0px;
29
+ margin-right: 2px;
30
+
31
+ &:focus {
32
+ border-radius: 0;
33
+ outline-offset: 0;
34
+ }
35
+ }
5
36
 
6
37
  &__modal {
7
38
  @include blur-bg;
@@ -5,6 +5,7 @@ export type Props = {
5
5
  globalSlug?: SanitizedGlobalConfig['slug'];
6
6
  label: SanitizedCollectionConfig['labels']['singular'];
7
7
  originalDocID: number | string;
8
+ status?: string;
8
9
  versionDate: string;
9
10
  versionID: string;
10
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/E,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,KAAK,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACtD,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/E,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,KAAK,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACtD,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/Version/Restore/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalSlug?: SanitizedGlobalConfig['slug']\n label: SanitizedCollectionConfig['labels']['singular']\n originalDocID: number | string\n versionDate: string\n versionID: string\n}\n"],"names":[],"mappings":"AAEA,WAQC"}
1
+ {"version":3,"sources":["../../../../src/views/Version/Restore/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalSlug?: SanitizedGlobalConfig['slug']\n label: SanitizedCollectionConfig['labels']['singular']\n originalDocID: number | string\n status?: string\n versionDate: string\n versionID: string\n}\n"],"names":[],"mappings":"AAEA,WASC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAQhB,eAAO,MAAM,WAAW,EAAE,iBAiHzB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAQhB,eAAO,MAAM,WAAW,EAAE,iBAgHzB,CAAA"}
@@ -66,8 +66,8 @@ export const VersionView = async (props)=>{
66
66
  updatedAt: ''
67
67
  };
68
68
  }
69
- const localeOptions = localization && localization?.locales && localization.locales.map(({ code, label })=>({
70
- label: typeof label === 'string' ? label : '',
69
+ const localeOptions = localization && localization.locales.map(({ code, label })=>({
70
+ label,
71
71
  value: code
72
72
  }));
73
73
  const latestVersion = latestPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt ? latestPublishedVersion : latestDraftVersion;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type {\n CollectionPermission,\n Document,\n EditViewComponent,\n GlobalPermission,\n OptionObject,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { getLatestVersion } from '../Versions/getLatestVersion.js'\nimport { DefaultVersionView } from './Default/index.js'\n\nexport const VersionView: EditViewComponent = async (props) => {\n const { initPageResult, routeSegments } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req,\n req: { payload, payload: { config } = {}, user } = {},\n } = initPageResult\n\n const versionID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const { localization } = config\n\n let docPermissions: CollectionPermission | GlobalPermission\n let slug: string\n\n let doc: Document\n let latestPublishedVersion = null\n let latestDraftVersion = null\n\n if (collectionSlug) {\n // /collections/:slug/:id/versions/:versionID\n slug = collectionSlug\n docPermissions = permissions.collections[collectionSlug]\n\n try {\n doc = await payload.findVersionByID({\n id: versionID,\n collection: slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n if (collectionConfig?.versions?.drafts) {\n latestDraftVersion = await getLatestVersion(payload, slug, 'draft', 'collection')\n latestPublishedVersion = await getLatestVersion(payload, slug, 'published', 'collection')\n }\n } catch (error) {\n return notFound()\n }\n }\n\n if (globalSlug) {\n // /globals/:slug/versions/:versionID\n slug = globalSlug\n docPermissions = permissions.globals[globalSlug]\n\n try {\n doc = await payload.findGlobalVersionByID({\n id: versionID,\n slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n if (globalConfig?.versions?.drafts) {\n latestDraftVersion = await getLatestVersion(payload, slug, 'draft', 'global')\n latestPublishedVersion = await getLatestVersion(payload, slug, 'published', 'global')\n }\n } catch (error) {\n return notFound()\n }\n }\n\n const publishedNewerThanDraft = latestPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n\n if (publishedNewerThanDraft) {\n latestDraftVersion = {\n id: '',\n updatedAt: '',\n }\n }\n\n const localeOptions: OptionObject[] =\n localization &&\n localization?.locales &&\n localization.locales.map(({ code, label }) => ({\n label: typeof label === 'string' ? label : '',\n value: code,\n }))\n\n const latestVersion =\n latestPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n ? latestPublishedVersion\n : latestDraftVersion\n\n if (!doc) {\n return notFound()\n }\n\n return (\n <DefaultVersionView\n doc={doc}\n docPermissions={docPermissions}\n initialComparisonDoc={latestVersion}\n latestDraftVersion={latestDraftVersion?.id}\n latestPublishedVersion={latestPublishedVersion?.id}\n localeOptions={localeOptions}\n versionID={versionID}\n />\n )\n}\n"],"names":["notFound","React","getLatestVersion","DefaultVersionView","VersionView","props","initPageResult","routeSegments","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","user","versionID","length","collectionSlug","slug","globalSlug","localization","docPermissions","doc","latestPublishedVersion","latestDraftVersion","collections","findVersionByID","collection","depth","locale","overrideAccess","versions","drafts","error","globals","findGlobalVersionByID","publishedNewerThanDraft","updatedAt","localeOptions","locales","map","code","label","value","latestVersion","initialComparisonDoc"],"mappings":";AAQA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,gBAAgB,QAAQ,kCAAiC;AAClE,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,OAAO,MAAMC,cAAiC,OAAOC;IACnD,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGF;IAE1C,MAAM,EACJG,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,WAAW,EACXC,GAAG,EACHA,KAAK,EAAEC,OAAO,EAAEA,SAAS,EAAEC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EACtD,GAAGV;IAEJ,MAAMW,YAAYV,aAAa,CAACA,cAAcW,MAAM,GAAG,EAAE;IAEzD,MAAMC,iBAAiBX,kBAAkBY;IACzC,MAAMC,aAAaV,cAAcS;IAEjC,MAAM,EAAEE,YAAY,EAAE,GAAGP;IAEzB,IAAIQ;IACJ,IAAIH;IAEJ,IAAII;IACJ,IAAIC,yBAAyB;IAC7B,IAAIC,qBAAqB;IAEzB,IAAIP,gBAAgB;QAClB,6CAA6C;QAC7CC,OAAOD;QACPI,iBAAiBX,YAAYe,WAAW,CAACR,eAAe;QAExD,IAAI;YACFK,MAAM,MAAMV,QAAQc,eAAe,CAAC;gBAClClB,IAAIO;gBACJY,YAAYT;gBACZU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEA,IAAIR,kBAAkByB,UAAUC,QAAQ;gBACtCR,qBAAqB,MAAMxB,iBAAiBY,SAASM,MAAM,SAAS;gBACpEK,yBAAyB,MAAMvB,iBAAiBY,SAASM,MAAM,aAAa;YAC9E;QACF,EAAE,OAAOe,OAAO;YACd,OAAOnC;QACT;IACF;IAEA,IAAIqB,YAAY;QACd,qCAAqC;QACrCD,OAAOC;QACPE,iBAAiBX,YAAYwB,OAAO,CAACf,WAAW;QAEhD,IAAI;YACFG,MAAM,MAAMV,QAAQuB,qBAAqB,CAAC;gBACxC3B,IAAIO;gBACJG;gBACAU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEA,IAAIL,cAAcsB,UAAUC,QAAQ;gBAClCR,qBAAqB,MAAMxB,iBAAiBY,SAASM,MAAM,SAAS;gBACpEK,yBAAyB,MAAMvB,iBAAiBY,SAASM,MAAM,aAAa;YAC9E;QACF,EAAE,OAAOe,OAAO;YACd,OAAOnC;QACT;IACF;IAEA,MAAMsC,0BAA0Bb,wBAAwBc,YAAYb,oBAAoBa;IAExF,IAAID,yBAAyB;QAC3BZ,qBAAqB;YACnBhB,IAAI;YACJ6B,WAAW;QACb;IACF;IAEA,MAAMC,gBACJlB,gBACAA,cAAcmB,WACdnB,aAAamB,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAM,CAAA;YAC7CA,OAAO,OAAOA,UAAU,WAAWA,QAAQ;YAC3CC,OAAOF;QACT,CAAA;IAEF,MAAMG,gBACJrB,wBAAwBc,YAAYb,oBAAoBa,YACpDd,yBACAC;IAEN,IAAI,CAACF,KAAK;QACR,OAAOxB;IACT;IAEA,qBACE,KAACG;QACCqB,KAAKA;QACLD,gBAAgBA;QAChBwB,sBAAsBD;QACtBpB,oBAAoBA,oBAAoBhB;QACxCe,wBAAwBA,wBAAwBf;QAChD8B,eAAeA;QACfvB,WAAWA;;AAGjB,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/Version/index.tsx"],"sourcesContent":["import type {\n CollectionPermission,\n Document,\n EditViewComponent,\n GlobalPermission,\n OptionObject,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport React from 'react'\n\nimport { getLatestVersion } from '../Versions/getLatestVersion.js'\nimport { DefaultVersionView } from './Default/index.js'\n\nexport const VersionView: EditViewComponent = async (props) => {\n const { initPageResult, routeSegments } = props\n\n const {\n collectionConfig,\n docID: id,\n globalConfig,\n permissions,\n req,\n req: { payload, payload: { config } = {}, user } = {},\n } = initPageResult\n\n const versionID = routeSegments[routeSegments.length - 1]\n\n const collectionSlug = collectionConfig?.slug\n const globalSlug = globalConfig?.slug\n\n const { localization } = config\n\n let docPermissions: CollectionPermission | GlobalPermission\n let slug: string\n\n let doc: Document\n let latestPublishedVersion = null\n let latestDraftVersion = null\n\n if (collectionSlug) {\n // /collections/:slug/:id/versions/:versionID\n slug = collectionSlug\n docPermissions = permissions.collections[collectionSlug]\n\n try {\n doc = await payload.findVersionByID({\n id: versionID,\n collection: slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n if (collectionConfig?.versions?.drafts) {\n latestDraftVersion = await getLatestVersion(payload, slug, 'draft', 'collection')\n latestPublishedVersion = await getLatestVersion(payload, slug, 'published', 'collection')\n }\n } catch (error) {\n return notFound()\n }\n }\n\n if (globalSlug) {\n // /globals/:slug/versions/:versionID\n slug = globalSlug\n docPermissions = permissions.globals[globalSlug]\n\n try {\n doc = await payload.findGlobalVersionByID({\n id: versionID,\n slug,\n depth: 1,\n locale: '*',\n overrideAccess: false,\n req,\n user,\n })\n\n if (globalConfig?.versions?.drafts) {\n latestDraftVersion = await getLatestVersion(payload, slug, 'draft', 'global')\n latestPublishedVersion = await getLatestVersion(payload, slug, 'published', 'global')\n }\n } catch (error) {\n return notFound()\n }\n }\n\n const publishedNewerThanDraft = latestPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n\n if (publishedNewerThanDraft) {\n latestDraftVersion = {\n id: '',\n updatedAt: '',\n }\n }\n\n const localeOptions: OptionObject[] =\n localization &&\n localization.locales.map(({ code, label }) => ({\n label,\n value: code,\n }))\n\n const latestVersion =\n latestPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt\n ? latestPublishedVersion\n : latestDraftVersion\n\n if (!doc) {\n return notFound()\n }\n\n return (\n <DefaultVersionView\n doc={doc}\n docPermissions={docPermissions}\n initialComparisonDoc={latestVersion}\n latestDraftVersion={latestDraftVersion?.id}\n latestPublishedVersion={latestPublishedVersion?.id}\n localeOptions={localeOptions}\n versionID={versionID}\n />\n )\n}\n"],"names":["notFound","React","getLatestVersion","DefaultVersionView","VersionView","props","initPageResult","routeSegments","collectionConfig","docID","id","globalConfig","permissions","req","payload","config","user","versionID","length","collectionSlug","slug","globalSlug","localization","docPermissions","doc","latestPublishedVersion","latestDraftVersion","collections","findVersionByID","collection","depth","locale","overrideAccess","versions","drafts","error","globals","findGlobalVersionByID","publishedNewerThanDraft","updatedAt","localeOptions","locales","map","code","label","value","latestVersion","initialComparisonDoc"],"mappings":";AAQA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,WAAW,QAAO;AAEzB,SAASC,gBAAgB,QAAQ,kCAAiC;AAClE,SAASC,kBAAkB,QAAQ,qBAAoB;AAEvD,OAAO,MAAMC,cAAiC,OAAOC;IACnD,MAAM,EAAEC,cAAc,EAAEC,aAAa,EAAE,GAAGF;IAE1C,MAAM,EACJG,gBAAgB,EAChBC,OAAOC,EAAE,EACTC,YAAY,EACZC,WAAW,EACXC,GAAG,EACHA,KAAK,EAAEC,OAAO,EAAEA,SAAS,EAAEC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAG,CAAC,CAAC,EACtD,GAAGV;IAEJ,MAAMW,YAAYV,aAAa,CAACA,cAAcW,MAAM,GAAG,EAAE;IAEzD,MAAMC,iBAAiBX,kBAAkBY;IACzC,MAAMC,aAAaV,cAAcS;IAEjC,MAAM,EAAEE,YAAY,EAAE,GAAGP;IAEzB,IAAIQ;IACJ,IAAIH;IAEJ,IAAII;IACJ,IAAIC,yBAAyB;IAC7B,IAAIC,qBAAqB;IAEzB,IAAIP,gBAAgB;QAClB,6CAA6C;QAC7CC,OAAOD;QACPI,iBAAiBX,YAAYe,WAAW,CAACR,eAAe;QAExD,IAAI;YACFK,MAAM,MAAMV,QAAQc,eAAe,CAAC;gBAClClB,IAAIO;gBACJY,YAAYT;gBACZU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEA,IAAIR,kBAAkByB,UAAUC,QAAQ;gBACtCR,qBAAqB,MAAMxB,iBAAiBY,SAASM,MAAM,SAAS;gBACpEK,yBAAyB,MAAMvB,iBAAiBY,SAASM,MAAM,aAAa;YAC9E;QACF,EAAE,OAAOe,OAAO;YACd,OAAOnC;QACT;IACF;IAEA,IAAIqB,YAAY;QACd,qCAAqC;QACrCD,OAAOC;QACPE,iBAAiBX,YAAYwB,OAAO,CAACf,WAAW;QAEhD,IAAI;YACFG,MAAM,MAAMV,QAAQuB,qBAAqB,CAAC;gBACxC3B,IAAIO;gBACJG;gBACAU,OAAO;gBACPC,QAAQ;gBACRC,gBAAgB;gBAChBnB;gBACAG;YACF;YAEA,IAAIL,cAAcsB,UAAUC,QAAQ;gBAClCR,qBAAqB,MAAMxB,iBAAiBY,SAASM,MAAM,SAAS;gBACpEK,yBAAyB,MAAMvB,iBAAiBY,SAASM,MAAM,aAAa;YAC9E;QACF,EAAE,OAAOe,OAAO;YACd,OAAOnC;QACT;IACF;IAEA,MAAMsC,0BAA0Bb,wBAAwBc,YAAYb,oBAAoBa;IAExF,IAAID,yBAAyB;QAC3BZ,qBAAqB;YACnBhB,IAAI;YACJ6B,WAAW;QACb;IACF;IAEA,MAAMC,gBACJlB,gBACAA,aAAamB,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAM,CAAA;YAC7CA;YACAC,OAAOF;QACT,CAAA;IAEF,MAAMG,gBACJrB,wBAAwBc,YAAYb,oBAAoBa,YACpDd,yBACAC;IAEN,IAAI,CAACF,KAAK;QACR,OAAOxB;IACT;IAEA,qBACE,KAACG;QACCqB,KAAKA;QACLD,gBAAgBA;QAChBwB,sBAAsBD;QACtBpB,oBAAoBA,oBAAoBhB;QACxCe,wBAAwBA,wBAAwBf;QAChD8B,eAAeA;QACfvB,WAAWA;;AAGjB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/index.client.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,EACL,KAAK,MAAM,EAUZ,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAA;CAC9E,CA+DA,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Versions/index.client.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,OAAO,EACL,KAAK,MAAM,EAUZ,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAA;CAC9E,CAgEA,CAAA"}
@@ -7,7 +7,7 @@ export const VersionsViewClient = (props)=>{
7
7
  const { baseClass, columns, paginationLimits } = props;
8
8
  const { getComponentMap } = useComponentMap();
9
9
  const { collectionSlug, globalSlug } = useDocumentInfo();
10
- const { data, handlePerPageChange } = useListQuery();
10
+ const { data, handlePageChange, handlePerPageChange } = useListQuery();
11
11
  const componentMap = getComponentMap({
12
12
  collectionSlug,
13
13
  globalSlug
@@ -45,6 +45,7 @@ export const VersionsViewClient = (props)=>{
45
45
  limit: data.limit,
46
46
  nextPage: data.nextPage,
47
47
  numberOfNeighbors: 1,
48
+ onChange: ()=>handlePageChange,
48
49
  page: data.page,
49
50
  prevPage: data.prevPage,
50
51
  totalPages: data.totalPages
@@ -64,7 +65,7 @@ export const VersionsViewClient = (props)=>{
64
65
  ]
65
66
  }),
66
67
  /*#__PURE__*/ _jsx(PerPage, {
67
- handleChange: handlePerPageChange,
68
+ handleChange: ()=>handlePerPageChange,
68
69
  limit: limit ? Number(limit) : 10,
69
70
  limits: paginationLimits
70
71
  })