@payloadcms/next 3.24.0-canary.72057b1 → 3.24.0-canary.80e034e

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 (189) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  2. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +1 -2
  3. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +2 -2
  5. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  6. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/Tabs/index.js +2 -0
  9. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  10. package/dist/elements/DocumentHeader/index.scss +0 -2
  11. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  12. package/dist/elements/Nav/index.client.js +1 -3
  13. package/dist/elements/Nav/index.client.js.map +1 -1
  14. package/dist/elements/Nav/index.d.ts.map +1 -1
  15. package/dist/elements/Nav/index.js.map +1 -1
  16. package/dist/layouts/Root/index.d.ts.map +1 -1
  17. package/dist/layouts/Root/index.js +4 -4
  18. package/dist/layouts/Root/index.js.map +1 -1
  19. package/dist/prod/styles.css +1 -1
  20. package/dist/views/API/index.client.d.ts.map +1 -1
  21. package/dist/views/API/index.client.js +1 -2
  22. package/dist/views/API/index.client.js.map +1 -1
  23. package/dist/views/API/index.d.ts +3 -2
  24. package/dist/views/API/index.d.ts.map +1 -1
  25. package/dist/views/API/index.js +2 -2
  26. package/dist/views/API/index.js.map +1 -1
  27. package/dist/views/Account/ResetPreferences/index.d.ts.map +1 -1
  28. package/dist/views/Account/ResetPreferences/index.js +83 -56
  29. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  30. package/dist/views/Account/index.d.ts +2 -2
  31. package/dist/views/Account/index.d.ts.map +1 -1
  32. package/dist/views/Account/index.js +4 -3
  33. package/dist/views/Account/index.js.map +1 -1
  34. package/dist/views/CreateFirstUser/index.d.ts +2 -2
  35. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  36. package/dist/views/CreateFirstUser/index.js +3 -3
  37. package/dist/views/CreateFirstUser/index.js.map +1 -1
  38. package/dist/views/Dashboard/Default/index.d.ts +13 -6
  39. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  40. package/dist/views/Dashboard/Default/index.js +2 -5
  41. package/dist/views/Dashboard/Default/index.js.map +1 -1
  42. package/dist/views/Dashboard/index.d.ts +2 -2
  43. package/dist/views/Dashboard/index.d.ts.map +1 -1
  44. package/dist/views/Dashboard/index.js +3 -7
  45. package/dist/views/Dashboard/index.js.map +1 -1
  46. package/dist/views/Document/getVersions.d.ts +1 -1
  47. package/dist/views/Document/getVersions.d.ts.map +1 -1
  48. package/dist/views/Document/getVersions.js +9 -8
  49. package/dist/views/Document/getVersions.js.map +1 -1
  50. package/dist/views/Document/getViewsFromConfig.d.ts +4 -4
  51. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  52. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  53. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  54. package/dist/views/Document/handleServerFunction.js +2 -0
  55. package/dist/views/Document/handleServerFunction.js.map +1 -1
  56. package/dist/views/Document/index.d.ts +4 -3
  57. package/dist/views/Document/index.d.ts.map +1 -1
  58. package/dist/views/Document/index.js +7 -7
  59. package/dist/views/Document/index.js.map +1 -1
  60. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  61. package/dist/views/Document/renderDocumentSlots.js +6 -5
  62. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  63. package/dist/views/Edit/index.d.ts +2 -2
  64. package/dist/views/Edit/index.js.map +1 -1
  65. package/dist/views/ForgotPassword/index.d.ts +2 -2
  66. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  67. package/dist/views/ForgotPassword/index.js +4 -7
  68. package/dist/views/ForgotPassword/index.js.map +1 -1
  69. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  70. package/dist/views/List/handleServerFunction.js +2 -0
  71. package/dist/views/List/handleServerFunction.js.map +1 -1
  72. package/dist/views/List/index.d.ts +6 -5
  73. package/dist/views/List/index.d.ts.map +1 -1
  74. package/dist/views/List/index.js +30 -30
  75. package/dist/views/List/index.js.map +1 -1
  76. package/dist/views/List/renderListViewSlots.d.ts +3 -4
  77. package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
  78. package/dist/views/List/renderListViewSlots.js +20 -11
  79. package/dist/views/List/renderListViewSlots.js.map +1 -1
  80. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  81. package/dist/views/LivePreview/Context/index.js +5 -1
  82. package/dist/views/LivePreview/Context/index.js.map +1 -1
  83. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  84. package/dist/views/LivePreview/index.client.js +6 -3
  85. package/dist/views/LivePreview/index.client.js.map +1 -1
  86. package/dist/views/LivePreview/index.d.ts +3 -2
  87. package/dist/views/LivePreview/index.d.ts.map +1 -1
  88. package/dist/views/LivePreview/index.js +2 -2
  89. package/dist/views/LivePreview/index.js.map +1 -1
  90. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  91. package/dist/views/Login/LoginForm/index.js +1 -3
  92. package/dist/views/Login/LoginForm/index.js.map +1 -1
  93. package/dist/views/Login/index.d.ts +2 -2
  94. package/dist/views/Login/index.d.ts.map +1 -1
  95. package/dist/views/Login/index.js +3 -4
  96. package/dist/views/Login/index.js.map +1 -1
  97. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  98. package/dist/views/Logout/LogoutClient.js +32 -30
  99. package/dist/views/Logout/LogoutClient.js.map +1 -1
  100. package/dist/views/Logout/index.d.ts +3 -3
  101. package/dist/views/Logout/index.d.ts.map +1 -1
  102. package/dist/views/Logout/index.js +2 -2
  103. package/dist/views/Logout/index.js.map +1 -1
  104. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  105. package/dist/views/NotFound/index.client.js +0 -3
  106. package/dist/views/NotFound/index.client.js.map +1 -1
  107. package/dist/views/NotFound/index.d.ts +2 -2
  108. package/dist/views/NotFound/index.d.ts.map +1 -1
  109. package/dist/views/NotFound/index.js +2 -2
  110. package/dist/views/NotFound/index.js.map +1 -1
  111. package/dist/views/ResetPassword/index.d.ts +2 -2
  112. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  113. package/dist/views/ResetPassword/index.js +4 -7
  114. package/dist/views/ResetPassword/index.js.map +1 -1
  115. package/dist/views/Root/getViewFromConfig.d.ts +3 -3
  116. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  117. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  118. package/dist/views/Root/index.d.ts.map +1 -1
  119. package/dist/views/Root/index.js.map +1 -1
  120. package/dist/views/Unauthorized/index.d.ts +3 -2
  121. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  122. package/dist/views/Unauthorized/index.js +3 -6
  123. package/dist/views/Unauthorized/index.js.map +1 -1
  124. package/dist/views/Verify/index.client.d.ts.map +1 -1
  125. package/dist/views/Verify/index.client.js +13 -9
  126. package/dist/views/Verify/index.client.js.map +1 -1
  127. package/dist/views/Verify/index.d.ts +2 -2
  128. package/dist/views/Verify/index.d.ts.map +1 -1
  129. package/dist/views/Verify/index.js +4 -4
  130. package/dist/views/Verify/index.js.map +1 -1
  131. package/dist/views/Version/Default/index.d.ts.map +1 -1
  132. package/dist/views/Version/Default/index.js +9 -5
  133. package/dist/views/Version/Default/index.js.map +1 -1
  134. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +2 -0
  135. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
  136. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +126 -59
  137. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  138. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +2 -1
  139. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  140. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +18 -4
  141. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  142. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts.map +1 -1
  143. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +12 -8
  144. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  145. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -1
  146. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +12 -8
  147. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  148. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  149. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +20 -11
  150. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  151. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  152. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +30 -21
  153. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  154. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +13 -9
  155. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  156. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts +7 -3
  157. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  158. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +36 -3
  159. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  160. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +3 -2
  161. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  162. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +7 -6
  163. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  164. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  165. package/dist/views/Version/Restore/index.js +12 -32
  166. package/dist/views/Version/Restore/index.js.map +1 -1
  167. package/dist/views/Version/index.d.ts +3 -2
  168. package/dist/views/Version/index.d.ts.map +1 -1
  169. package/dist/views/Version/index.js +3 -2
  170. package/dist/views/Version/index.js.map +1 -1
  171. package/dist/views/Versions/buildColumns.d.ts +1 -2
  172. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  173. package/dist/views/Versions/buildColumns.js.map +1 -1
  174. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  175. package/dist/views/Versions/cells/CreatedAt/index.js +1 -3
  176. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  177. package/dist/views/Versions/index.client.d.ts +1 -2
  178. package/dist/views/Versions/index.client.d.ts.map +1 -1
  179. package/dist/views/Versions/index.client.js.map +1 -1
  180. package/dist/views/Versions/index.d.ts +3 -2
  181. package/dist/views/Versions/index.d.ts.map +1 -1
  182. package/dist/views/Versions/index.js +2 -2
  183. package/dist/views/Versions/index.js.map +1 -1
  184. package/package.json +7 -8
  185. package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.d.ts +0 -6
  186. package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.d.ts.map +0 -1
  187. package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.js +0 -83
  188. package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.js.map +0 -1
  189. package/dist/views/Account/ResetPreferences/ConfirmResetModal/index.scss +0 -40
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","getClientConfig","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","documentSubViewType","initPageOptions","serverProps","templateClassName","templateType","viewType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","docID","_jsxs","_jsx","className","collectionSlug","globalSlug","globalConfig","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type { ImportMap, SanitizedConfig } from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const {\n DefaultView,\n documentSubViewType,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig, documentSubViewType, viewType },\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n },\n })\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n documentSubViewType={documentSubViewType}\n globalSlug={initPageResult?.globalConfig?.slug}\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":";AAIA,SAASA,qBAAqB,QAAQ;AACtC,SAASC,cAAc,QAAQ;AAC/B,SAASC,eAAe,QAAQ;AAChC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ;AACnC,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,eAAe,QAAQ;AAChC,SAASC,eAAe,QAAQ;AAChC,SAASC,QAAQ,QAAQ;AACzB,SAASC,iBAAiB,QAAQ;AAElC,SAASC,oBAAoB,QAAQ;AASrC,OAAO,MAAMC,QAAA,GAAW,MAAAA,CAAO;EAC7BC,MAAA,EAAQC,aAAa;EACrBC,SAAS;EACTC,MAAA,EAAQC,aAAa;EACrBC,YAAA,EAAcC;AAAmB,CAUlC;EACC,MAAMN,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAM;IACJM,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,eAAA,EAAiBC;MAAqB,CAAE;MAClDC,IAAA,EAAMC;IAAQ,CACf;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGb,MAAA;EAEJ,MAAMG,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAMU,YAAA,GAAe1B,cAAA,CAAe;IAClCyB,UAAA;IACAE,IAAA,EAAM,GAAGC,KAAA,CAAMC,OAAO,CAACd,MAAA,CAAOe,QAAQ,IAAI,IAAIf,MAAA,CAAOe,QAAQ,CAACC,IAAI,CAAC,MAAM,GAAG;EAC9E;EAEA,MAAMD,QAAA,GAAWF,KAAA,CAAMC,OAAO,CAACd,MAAA,CAAOe,QAAQ,IAAIf,MAAA,CAAOe,QAAQ,GAAG,EAAE;EAEtE,MAAMb,YAAA,GAAe,MAAMC,mBAAA;EAE3B,MAAM;IACJc,WAAW;IACXC,mBAAmB;IACnBC,eAAe;IACfC,WAAW;IACXC,iBAAiB;IACjBC,YAAY;IACZC;EAAQ,CACT,GAAG7B,iBAAA,CAAkB;IACpBgB,UAAA;IACAb,MAAA;IACAc,YAAA;IACAZ,SAAA;IACAG,YAAA;IACAa;EACF;EAEA,MAAMS,cAAA,GAAiB,MAAM/B,QAAA,CAAS0B,eAAA;EAEtC,MAAMM,SAAA,GACJD,cAAA,CAAeE,GAAG,CAAClB,IAAI,KACtB,MAAMgB,cAAA,EAAgBE,GAAA,CAAIC,OAAA,CAAQC,EAAA,CAChCC,OAAA,CAAQ;IACPC,UAAA,EAAYrB,QAAA;IACZiB,GAAA,EAAKF,cAAA,EAAgBE;EACvB,IACEK,IAAA,CAAMC,GAAA,IAAQ,CAAC,CAACA,GAAA;EAEtB,IAAI,CAACf,WAAA,EAAagB,SAAA,IAAa,CAAChB,WAAA,EAAaiB,gBAAA,EAAkB;IAC7D,IAAIV,cAAA,EAAgBE,GAAA,EAAKlB,IAAA,EAAM;MAC7BrB,QAAA;IACF;IAEA,IAAIsC,SAAA,EAAW;MACbrC,QAAA,CAASsB,UAAA;IACX;EACF;EAEA,IAAI,OAAOc,cAAA,EAAgBW,UAAA,KAAe,UAAU;IAClD/C,QAAA,CAASoC,cAAA,CAAeW,UAAU;EACpC;EAEA,IAAIX,cAAA,EAAgB;IAClB,MAAMY,oBAAA,GAAuBnD,cAAA,CAAe;MAAEyB,UAAA;MAAYE,IAAA,EAAML;IAAsB;IAEtF,MAAM8B,gBAAA,GAAmBxC,MAAA,CAAOyC,WAAW,CAACC,IAAI,CAAC,CAAC;MAAEC;IAAI,CAAE,KAAKA,IAAA,KAAS/B,QAAA;IACxE,MAAMgC,oBAAA,GAAuBJ,gBAAA,EAAkBK,IAAA,EAAMD,oBAAA;IAErD,IAAIA,oBAAA,IAAwB9B,YAAA,KAAiByB,oBAAA,EAAsB;MACjEhD,QAAA,CAASsB,UAAA;IACX;IAEA,IAAI,CAACe,SAAA,IAAad,YAAA,KAAiByB,oBAAA,IAAwB,CAACK,oBAAA,EAAsB;MAChFrD,QAAA,CAASgD,oBAAA;IACX;IAEA,IAAIX,SAAA,IAAad,YAAA,KAAiByB,oBAAA,EAAsB;MACtDhD,QAAA,CAASsB,UAAA;IACX;EACF;EAEA,IAAI,CAACO,WAAA,EAAagB,SAAA,IAAa,CAAChB,WAAA,EAAaiB,gBAAA,IAAoB,CAACT,SAAA,EAAW;IAC3ErC,QAAA,CAASsB,UAAA;EACX;EAEA,MAAMiC,YAAA,GAAezD,eAAA,CAAgB;IACnCW,MAAA;IACA+C,IAAA,EAAMpB,cAAA,EAAgBE,GAAA,CAAIkB,IAAA;IAC1B7C;EACF;EAEA,MAAM8C,YAAA,GAAe7D,qBAAA,CAAsB;IACzC8D,WAAA,EAAa;MAAEH,YAAA;MAAczB,mBAAA;MAAqBK;IAAS;IAC3DU,SAAA,EAAWhB,WAAA,CAAYiB,gBAAgB;IACvCa,QAAA,EAAU9B,WAAA,CAAYgB,SAAS;IAC/BlC,SAAA;IACAqB,WAAA,EAAa;MACX,GAAGA,WAAW;MACduB,YAAA;MACAK,KAAA,EAAOxB,cAAA,EAAgBwB,KAAA;MACvBJ,IAAA,EAAMpB,cAAA,EAAgBE,GAAA,CAAIkB,IAAA;MAC1B7C,SAAA;MACAyB,cAAA;MACAxB,MAAA;MACA2B,OAAA,EAASH,cAAA,EAAgBE,GAAA,CAAIC,OAAA;MAC7BzB;IACF;EACF;EAEA,oBACE+C,KAAA,CAAC3D,QAAA;eACE,CAACgC,YAAA,iBAAgB4B,IAAA,CAAC5D,QAAA;gBAAUuD;QAC5BvB,YAAA,KAAiB,0BAChB4B,IAAA,CAAC1D,eAAA;MAAgB2D,SAAA,EAAW9B,iBAAA;gBAAoBwB;QAEjDvB,YAAA,KAAiB,0BAChB4B,IAAA,CAAC3D,eAAA;MACC6D,cAAA,EAAgB5B,cAAA,EAAgBa,gBAAA,EAAkBG,IAAA;MAClDQ,KAAA,EAAOxB,cAAA,EAAgBwB,KAAA;MACvB9B,mBAAA,EAAqBA,mBAAA;MACrBmC,UAAA,EAAY7B,cAAA,EAAgB8B,YAAA,EAAcd,IAAA;MAC1CI,IAAA,EAAMpB,cAAA,EAAgBE,GAAA,CAAIkB,IAAA;MAC1BW,MAAA,EAAQ/B,cAAA,EAAgB+B,MAAA;MACxBvD,MAAA,EAAQA,MAAA;MACR2B,OAAA,EAASH,cAAA,EAAgBE,GAAA,CAAIC,OAAA;MAC7B6B,WAAA,EAAahC,cAAA,EAAgBgC,WAAA;MAC7BtD,YAAA,EAAcA,YAAA;MACdM,IAAA,EAAMgB,cAAA,EAAgBE,GAAA,CAAIlB,IAAA;MAC1BiD,WAAA,EAAarC,WAAA,CAAYqC,WAAW;MACpClC,QAAA,EAAUA,QAAA;MACVmC,eAAA,EAAiB;QACf;QACA;QACApB,WAAA,EAAad,cAAA,EAAgBkC,eAAA,EAAiBpB,WAAA;QAC9CqB,OAAA,EAASnC,cAAA,EAAgBkC,eAAA,EAAiBC;MAC5C;gBAECd;;;AAKX","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["RenderServerComponent","formatAdminURL","getClientConfig","notFound","redirect","React","Fragment","DefaultTemplate","MinimalTemplate","initPage","getViewFromConfig","generatePageMetadata","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","DefaultView","documentSubViewType","initPageOptions","serverProps","templateClassName","templateType","viewType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","RenderedView","clientProps","Fallback","docID","_jsxs","_jsx","className","collectionSlug","globalSlug","globalConfig","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n ImportMap,\n SanitizedConfig,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport React, { Fragment } from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getViewFromConfig } from './getViewFromConfig.js'\n\nexport { generatePageMetadata } from './meta.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: `${Array.isArray(params.segments) ? `/${params.segments.join('/')}` : ''}`,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const {\n DefaultView,\n documentSubViewType,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n } = getViewFromConfig({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const RenderedView = RenderServerComponent({\n clientProps: { clientConfig, documentSubViewType, viewType } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <Fragment>\n {!templateType && <Fragment>{RenderedView}</Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n documentSubViewType={documentSubViewType}\n globalSlug={initPageResult?.globalConfig?.slug}\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
- import type { AdminViewComponent, PayloadServerReactComponent } from 'payload';
1
+ import type { AdminViewServerProps } from 'payload';
2
+ import React from 'react';
2
3
  import './index.scss';
3
4
  export { generateUnauthorizedMetadata } from './meta.js';
4
- export declare const UnauthorizedView: PayloadServerReactComponent<AdminViewComponent>;
5
+ export declare function UnauthorizedView({ initPageResult }: AdminViewServerProps): React.JSX.Element;
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAQ9E,OAAO,cAAc,CAAA;AAIrB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,eAAO,MAAM,gBAAgB,EAAE,2BAA2B,CAAC,kBAAkB,CAyC5E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAInD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAA;AAIxD,wBAAgB,gBAAgB,CAAC,EAAE,cAAc,EAAE,EAAE,oBAAoB,qBAsCxE"}
@@ -1,15 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button } from '@payloadcms/ui';
3
3
  import { formatAdminURL } from '@payloadcms/ui/shared';
4
- import LinkImport from 'next/link.js';
5
4
  import React from 'react';
6
5
  import { FormHeader } from '../../elements/FormHeader/index.js';
7
- const Link = LinkImport.default || LinkImport;
8
6
  export { generateUnauthorizedMetadata } from './meta.js';
9
7
  const baseClass = 'unauthorized';
10
- export const UnauthorizedView = ({
8
+ export function UnauthorizedView({
11
9
  initPageResult
12
- }) => {
10
+ }) {
13
11
  const {
14
12
  permissions,
15
13
  req: {
@@ -37,7 +35,6 @@ export const UnauthorizedView = ({
37
35
  }), /*#__PURE__*/_jsx(Button, {
38
36
  className: `${baseClass}__button`,
39
37
  el: "link",
40
- Link: Link,
41
38
  size: "large",
42
39
  to: formatAdminURL({
43
40
  adminRoute,
@@ -46,5 +43,5 @@ export const UnauthorizedView = ({
46
43
  children: i18n.t('authentication:logOut')
47
44
  })]
48
45
  });
49
- };
46
+ }
50
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Button","formatAdminURL","LinkImport","React","FormHeader","Link","default","generateUnauthorizedMetadata","baseClass","UnauthorizedView","initPageResult","permissions","req","i18n","payload","config","admin","routes","logout","logoutRoute","adminRoute","user","_jsxs","className","_jsx","description","t","heading","canAccessAdmin","el","size","to","path"],"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewComponent, PayloadServerReactComponent } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport LinkImport from 'next/link.js'\nimport React from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport './index.scss'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport { generateUnauthorizedMetadata } from './meta.js'\n\nconst baseClass = 'unauthorized'\n\nexport const UnauthorizedView: PayloadServerReactComponent<AdminViewComponent> = ({\n initPageResult,\n}) => {\n const {\n permissions,\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin: adminRoute },\n },\n },\n user,\n },\n } = initPageResult\n\n return (\n <div className={baseClass}>\n <FormHeader\n description={i18n.t('error:notAllowedToAccessPage')}\n heading={i18n.t(\n user && !permissions.canAccessAdmin ? 'error:unauthorizedAdmin' : 'error:unauthorized',\n )}\n />\n <Button\n className={`${baseClass}__button`}\n el=\"link\"\n Link={Link}\n size=\"large\"\n to={formatAdminURL({\n adminRoute,\n path: logoutRoute,\n })}\n >\n {i18n.t('authentication:logOut')}\n </Button>\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,cAAc,QAAQ;AAC/B,OAAOC,UAAA,MAAgB;AACvB,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAG3B,MAAMC,IAAA,GAAQH,UAAA,CAAWI,OAAO,IAAIJ,UAAA;AAEpC,SAASK,4BAA4B,QAAQ;AAE7C,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,gBAAA,GAAoEA,CAAC;EAChFC;AAAc,CACf;EACC,MAAM;IACJC,WAAW;IACXC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YACLC,MAAA,EAAQ;cAAEC,MAAA,EAAQC;YAAW;UAAE,CAChC;UACDF,MAAA,EAAQ;YAAED,KAAA,EAAOI;UAAU;QAAE;MAC9B,CACF;MACDC;IAAI;EACL,CACF,GAAGX,cAAA;EAEJ,oBACEY,KAAA,CAAC;IAAIC,SAAA,EAAWf,SAAA;4BACdgB,IAAA,CAACpB,UAAA;MACCqB,WAAA,EAAaZ,IAAA,CAAKa,CAAC,CAAC;MACpBC,OAAA,EAASd,IAAA,CAAKa,CAAC,CACbL,IAAA,IAAQ,CAACV,WAAA,CAAYiB,cAAc,GAAG,4BAA4B;qBAGtEJ,IAAA,CAACxB,MAAA;MACCuB,SAAA,EAAW,GAAGf,SAAA,UAAmB;MACjCqB,EAAA,EAAG;MACHxB,IAAA,EAAMA,IAAA;MACNyB,IAAA,EAAK;MACLC,EAAA,EAAI9B,cAAA,CAAe;QACjBmB,UAAA;QACAY,IAAA,EAAMb;MACR;gBAECN,IAAA,CAAKa,CAAC,CAAC;;;AAIhB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Button","formatAdminURL","React","FormHeader","generateUnauthorizedMetadata","baseClass","UnauthorizedView","initPageResult","permissions","req","i18n","payload","config","admin","routes","logout","logoutRoute","adminRoute","user","_jsxs","className","_jsx","description","t","heading","canAccessAdmin","el","size","to","path"],"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport './index.scss'\n\nexport { generateUnauthorizedMetadata } from './meta.js'\n\nconst baseClass = 'unauthorized'\n\nexport function UnauthorizedView({ initPageResult }: AdminViewServerProps) {\n const {\n permissions,\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin: adminRoute },\n },\n },\n user,\n },\n } = initPageResult\n\n return (\n <div className={baseClass}>\n <FormHeader\n description={i18n.t('error:notAllowedToAccessPage')}\n heading={i18n.t(\n user && !permissions.canAccessAdmin ? 'error:unauthorizedAdmin' : 'error:unauthorized',\n )}\n />\n <Button\n className={`${baseClass}__button`}\n el=\"link\"\n size=\"large\"\n to={formatAdminURL({\n adminRoute,\n path: logoutRoute,\n })}\n >\n {i18n.t('authentication:logOut')}\n </Button>\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;AACvB,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAG3B,SAASC,4BAA4B,QAAQ;AAE7C,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,iBAAiB;EAAEC;AAAc,CAAwB;EACvE,MAAM;IACJC,WAAW;IACXC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YACLC,MAAA,EAAQ;cAAEC,MAAA,EAAQC;YAAW;UAAE,CAChC;UACDF,MAAA,EAAQ;YAAED,KAAA,EAAOI;UAAU;QAAE;MAC9B,CACF;MACDC;IAAI;EACL,CACF,GAAGX,cAAA;EAEJ,oBACEY,KAAA,CAAC;IAAIC,SAAA,EAAWf,SAAA;4BACdgB,IAAA,CAAClB,UAAA;MACCmB,WAAA,EAAaZ,IAAA,CAAKa,CAAC,CAAC;MACpBC,OAAA,EAASd,IAAA,CAAKa,CAAC,CACbL,IAAA,IAAQ,CAACV,WAAA,CAAYiB,cAAc,GAAG,4BAA4B;qBAGtEJ,IAAA,CAACrB,MAAA;MACCoB,SAAA,EAAW,GAAGf,SAAA,UAAmB;MACjCqB,EAAA,EAAG;MACHC,IAAA,EAAK;MACLC,EAAA,EAAI3B,cAAA,CAAe;QACjBgB,UAAA;QACAY,IAAA,EAAMb;MACR;gBAECN,IAAA,CAAKa,CAAC,CAAC;;;AAIhB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.client.tsx"],"names":[],"mappings":"AAKA,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,OAsB9D"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.client.tsx"],"names":[],"mappings":"AAKA,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,OAwB9D"}
@@ -1,27 +1,30 @@
1
1
  'use client';
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
- import { toast } from '@payloadcms/ui';
4
+ import { toast, useRouteTransition } from '@payloadcms/ui';
5
5
  import { useRouter } from 'next/navigation.js';
6
6
  import React, { useEffect } from 'react';
7
7
  export function ToastAndRedirect(t0) {
8
- const $ = _c(5);
8
+ const $ = _c(6);
9
9
  const {
10
10
  message,
11
11
  redirectTo
12
12
  } = t0;
13
13
  const router = useRouter();
14
+ const {
15
+ startRouteTransition
16
+ } = useRouteTransition();
14
17
  const hasToastedRef = React.useRef(false);
15
18
  let t1;
16
19
  let t2;
17
- if ($[0] !== message || $[1] !== redirectTo || $[2] !== router) {
20
+ if ($[0] !== message || $[1] !== redirectTo || $[2] !== router || $[3] !== startRouteTransition) {
18
21
  t1 = () => {
19
22
  let timeoutID;
20
23
  if (toast) {
21
24
  timeoutID = setTimeout(() => {
22
25
  toast.success(message);
23
26
  hasToastedRef.current = true;
24
- router.push(redirectTo);
27
+ startRouteTransition(() => router.push(redirectTo));
25
28
  }, 100);
26
29
  }
27
30
  return () => {
@@ -30,15 +33,16 @@ export function ToastAndRedirect(t0) {
30
33
  }
31
34
  };
32
35
  };
33
- t2 = [router, redirectTo, message];
36
+ t2 = [router, redirectTo, message, startRouteTransition];
34
37
  $[0] = message;
35
38
  $[1] = redirectTo;
36
39
  $[2] = router;
37
- $[3] = t1;
38
- $[4] = t2;
40
+ $[3] = startRouteTransition;
41
+ $[4] = t1;
42
+ $[5] = t2;
39
43
  } else {
40
- t1 = $[3];
41
- t2 = $[4];
44
+ t1 = $[4];
45
+ t2 = $[5];
42
46
  }
43
47
  useEffect(t1, t2);
44
48
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","toast","useRouter","React","useEffect","ToastAndRedirect","t0","$","message","redirectTo","router","hasToastedRef","useRef","t1","t2","timeoutID","current","push","clearTimeout"],"sources":["../../../src/views/Verify/index.client.tsx"],"sourcesContent":["'use client'\nimport { toast } from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useEffect } from 'react'\n\ntype Props = {\n message: string\n redirectTo: string\n}\nexport function ToastAndRedirect({ message, redirectTo }: Props) {\n const router = useRouter()\n const hasToastedRef = React.useRef(false)\n\n useEffect(() => {\n let timeoutID\n if (toast) {\n timeoutID = setTimeout(() => {\n toast.success(message)\n hasToastedRef.current = true\n router.push(redirectTo)\n }, 100)\n }\n\n return () => {\n if (timeoutID) {\n clearTimeout(timeoutID)\n }\n }\n }, [router, redirectTo, message])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AACA,SAASC,KAAK,QAAQ;AACtB,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAMjC,OAAO,SAAAC,iBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAA0B;IAAAQ,OAAA;IAAAC;EAAA,IAAAH,EAA8B;EAC7D,MAAAI,MAAA,GAAeR,SAAA;EACf,MAAAS,aAAA,GAAsBR,KAAA,CAAAS,MAAA,MAAa;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAP,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAG,MAAA;IAEzBG,EAAA,GAAAA,CAAA;MACJE,GAAA,CAAAA,SAAA;MAAA,IAAAd,KAAA;QAEFc,SAAA,CAAAA,CAAA,CAAYA,aAAA,CAAAA,EAAA,CAAAA;UACVA,cAAcP,OAAA;UACdG,aAAA,CAAAK,OAAA;UACAN,MAAA,CAAAO,IAAA,CAAYR,UAAA;QAAA,MACX;MAJH;MAAA;QAAA,IAQIM,SAAA;UACFG,YAAA,CAAaH,SAAA;QAAA;MAAA;IAAA;IAGhBD,EAAA,IAACJ,MAAA,EAAQD,UAAA,EAAYD,OAAA;IAAQD,CAAA,MAAAC,OAAA;IAAAD,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAO,EAAA;EAAA;IAAAD,EAAA,GAAAN,CAAA;IAAAO,EAAA,GAAAP,CAAA;EAAA;EAfhCH,SAAA,CAAUS,EAeV,EAAGC,EAA6B;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["c","_c","toast","useRouteTransition","useRouter","React","useEffect","ToastAndRedirect","t0","$","message","redirectTo","router","startRouteTransition","hasToastedRef","useRef","t1","t2","timeoutID","current","push","clearTimeout"],"sources":["../../../src/views/Verify/index.client.tsx"],"sourcesContent":["'use client'\nimport { toast, useRouteTransition } from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useEffect } from 'react'\n\ntype Props = {\n message: string\n redirectTo: string\n}\nexport function ToastAndRedirect({ message, redirectTo }: Props) {\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n const hasToastedRef = React.useRef(false)\n\n useEffect(() => {\n let timeoutID\n\n if (toast) {\n timeoutID = setTimeout(() => {\n toast.success(message)\n hasToastedRef.current = true\n startRouteTransition(() => router.push(redirectTo))\n }, 100)\n }\n\n return () => {\n if (timeoutID) {\n clearTimeout(timeoutID)\n }\n }\n }, [router, redirectTo, message, startRouteTransition])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AACA,SAASC,KAAK,EAAEC,kBAAkB,QAAQ;AAC1C,SAASC,SAAS,QAAQ;AAC1B,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAMjC,OAAO,SAAAC,iBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAA0B;IAAAS,OAAA;IAAAC;EAAA,IAAAH,EAA8B;EAC7D,MAAAI,MAAA,GAAeR,SAAA;EACf;IAAAS;EAAA,IAAiCV,kBAAA;EACjC,MAAAW,aAAA,GAAsBT,KAAA,CAAAU,MAAA,MAAa;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAC,OAAA,IAAAD,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAG,MAAA,IAAAH,CAAA,QAAAI,oBAAA;IAEzBG,EAAA,GAAAA,CAAA;MACJE,GAAA,CAAAA,SAAA;MAAA,IAAAhB,KAAA;QAGFgB,SAAA,CAAAA,CAAA,CAAYA,aAAA,CAAAA,EAAA,CAAAA;UACVA,cAAcR,OAAA;UACdI,aAAA,CAAAK,OAAA;UACAN,oBAAA,OAA2BD,MAAA,CAAAQ,IAAA,CAAYT,UAAA;QAAA,MACtC;MAJH;MAAA;QAAA,IAQIO,SAAA;UACFG,YAAA,CAAaH,SAAA;QAAA;MAAA;IAAA;IAGhBD,EAAA,IAACL,MAAA,EAAQD,UAAA,EAAYD,OAAA,EAASG,oBAAA;IAAqBJ,CAAA,MAAAC,OAAA;IAAAD,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAI,oBAAA;IAAAJ,CAAA,MAAAO,EAAA;IAAAP,CAAA,MAAAQ,EAAA;EAAA;IAAAD,EAAA,GAAAP,CAAA;IAAAQ,EAAA,GAAAR,CAAA;EAAA;EAhBtDH,SAAA,CAAUU,EAgBV,EAAGC,EAAmD;EAAA;AAAA","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import type { AdminViewProps } from 'payload';
1
+ import type { AdminViewServerProps } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export declare const verifyBaseClass = "verify";
5
5
  export { generateVerifyMetadata } from './meta.js';
6
- export declare const Verify: React.FC<AdminViewProps>;
6
+ export declare function Verify({ initPageResult, params, searchParams }: AdminViewServerProps): Promise<React.JSX.Element>;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,WAAW,CAAA;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA6D3C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Verify/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,eAAe,WAAW,CAAA;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,wBAAsB,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,oBAAoB,8BAyD1F"}
@@ -5,13 +5,13 @@ import { Logo } from '../../elements/Logo/index.js';
5
5
  import { ToastAndRedirect } from './index.client.js';
6
6
  export const verifyBaseClass = 'verify';
7
7
  export { generateVerifyMetadata } from './meta.js';
8
- export const Verify = async ({
8
+ export async function Verify({
9
9
  initPageResult,
10
10
  params,
11
11
  searchParams
12
- }) => {
12
+ }) {
13
13
  // /:collectionSlug/verify/:token
14
- const [collectionSlug, verify, token] = params.segments;
14
+ const [collectionSlug, token] = params.segments;
15
15
  const {
16
16
  locale,
17
17
  permissions,
@@ -67,5 +67,5 @@ export const Verify = async ({
67
67
  children: textToRender
68
68
  })]
69
69
  });
70
- };
70
+ }
71
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatAdminURL","React","Logo","ToastAndRedirect","verifyBaseClass","generateVerifyMetadata","Verify","initPageResult","params","searchParams","collectionSlug","verify","token","segments","locale","permissions","req","i18n","payload","config","user","routes","admin","adminRoute","textToRender","isVerified","verifyEmail","collection","t","e","_jsx","message","redirectTo","path","_jsxs","Fragment","className"],"sources":["../../../src/views/Verify/index.tsx"],"sourcesContent":["import type { AdminViewProps } from 'payload'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\nimport { ToastAndRedirect } from './index.client.js'\nimport './index.scss'\n\nexport const verifyBaseClass = 'verify'\n\nexport { generateVerifyMetadata } from './meta.js'\n\nexport const Verify: React.FC<AdminViewProps> = async ({\n initPageResult,\n params,\n searchParams,\n}) => {\n // /:collectionSlug/verify/:token\n\n const [collectionSlug, verify, token] = params.segments\n const { locale, permissions, req } = initPageResult\n\n const {\n i18n,\n payload: { config },\n payload,\n user,\n } = req\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n let textToRender\n let isVerified = false\n\n try {\n await req.payload.verifyEmail({\n collection: collectionSlug,\n token,\n })\n\n isVerified = true\n textToRender = req.t('authentication:emailVerified')\n } catch (e) {\n textToRender = req.t('authentication:unableToVerify')\n }\n\n if (isVerified) {\n return (\n <ToastAndRedirect\n message={req.t('authentication:emailVerified')}\n redirectTo={formatAdminURL({ adminRoute, path: '/login' })}\n />\n )\n }\n\n return (\n <React.Fragment>\n <div className={`${verifyBaseClass}__brand`}>\n <Logo\n i18n={i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={user}\n />\n </div>\n <h2>{textToRender}</h2>\n </React.Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,IAAI,QAAQ;AACrB,SAASC,gBAAgB,QAAQ;AAGjC,OAAO,MAAMC,eAAA,GAAkB;AAE/B,SAASC,sBAAsB,QAAQ;AAEvC,OAAO,MAAMC,MAAA,GAAmC,MAAAA,CAAO;EACrDC,cAAc;EACdC,MAAM;EACNC;AAAY,CACb;EACC;EAEA,MAAM,CAACC,cAAA,EAAgBC,MAAA,EAAQC,KAAA,CAAM,GAAGJ,MAAA,CAAOK,QAAQ;EACvD,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC;EAAG,CAAE,GAAGT,cAAA;EAErC,MAAM;IACJU,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBD,OAAO;IACPE;EAAI,CACL,GAAGJ,GAAA;EAEJ,MAAM;IACJK,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGJ,MAAA;EAEJ,IAAIK,YAAA;EACJ,IAAIC,UAAA,GAAa;EAEjB,IAAI;IACF,MAAMT,GAAA,CAAIE,OAAO,CAACQ,WAAW,CAAC;MAC5BC,UAAA,EAAYjB,cAAA;MACZE;IACF;IAEAa,UAAA,GAAa;IACbD,YAAA,GAAeR,GAAA,CAAIY,CAAC,CAAC;EACvB,EAAE,OAAOC,CAAA,EAAG;IACVL,YAAA,GAAeR,GAAA,CAAIY,CAAC,CAAC;EACvB;EAEA,IAAIH,UAAA,EAAY;IACd,oBACEK,IAAA,CAAC3B,gBAAA;MACC4B,OAAA,EAASf,GAAA,CAAIY,CAAC,CAAC;MACfI,UAAA,EAAYhC,cAAA,CAAe;QAAEuB,UAAA;QAAYU,IAAA,EAAM;MAAS;;EAG9D;EAEA,oBACEC,KAAA,CAACjC,KAAA,CAAMkC,QAAQ;4BACbL,IAAA,CAAC;MAAIM,SAAA,EAAW,GAAGhC,eAAA,SAAwB;gBACzC,aAAA0B,IAAA,CAAC5B,IAAA;QACCe,IAAA,EAAMA,IAAA;QACNH,MAAA,EAAQA,MAAA;QACRN,MAAA,EAAQA,MAAA;QACRU,OAAA,EAASA,OAAA;QACTH,WAAA,EAAaA,WAAA;QACbN,YAAA,EAAcA,YAAA;QACdW,IAAA,EAAMA;;qBAGVU,IAAA,CAAC;gBAAIN;;;AAGX","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["formatAdminURL","React","Logo","ToastAndRedirect","verifyBaseClass","generateVerifyMetadata","Verify","initPageResult","params","searchParams","collectionSlug","token","segments","locale","permissions","req","i18n","payload","config","user","routes","admin","adminRoute","textToRender","isVerified","verifyEmail","collection","t","e","_jsx","message","redirectTo","path","_jsxs","Fragment","className"],"sources":["../../../src/views/Verify/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { Logo } from '../../elements/Logo/index.js'\nimport { ToastAndRedirect } from './index.client.js'\nimport './index.scss'\n\nexport const verifyBaseClass = 'verify'\n\nexport { generateVerifyMetadata } from './meta.js'\n\nexport async function Verify({ initPageResult, params, searchParams }: AdminViewServerProps) {\n // /:collectionSlug/verify/:token\n\n const [collectionSlug, token] = params.segments\n const { locale, permissions, req } = initPageResult\n\n const {\n i18n,\n payload: { config },\n payload,\n user,\n } = req\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n let textToRender\n let isVerified = false\n\n try {\n await req.payload.verifyEmail({\n collection: collectionSlug,\n token,\n })\n\n isVerified = true\n textToRender = req.t('authentication:emailVerified')\n } catch (e) {\n textToRender = req.t('authentication:unableToVerify')\n }\n\n if (isVerified) {\n return (\n <ToastAndRedirect\n message={req.t('authentication:emailVerified')}\n redirectTo={formatAdminURL({ adminRoute, path: '/login' })}\n />\n )\n }\n\n return (\n <React.Fragment>\n <div className={`${verifyBaseClass}__brand`}>\n <Logo\n i18n={i18n}\n locale={locale}\n params={params}\n payload={payload}\n permissions={permissions}\n searchParams={searchParams}\n user={user}\n />\n </div>\n <h2>{textToRender}</h2>\n </React.Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,IAAI,QAAQ;AACrB,SAASC,gBAAgB,QAAQ;AAGjC,OAAO,MAAMC,eAAA,GAAkB;AAE/B,SAASC,sBAAsB,QAAQ;AAEvC,OAAO,eAAeC,OAAO;EAAEC,cAAc;EAAEC,MAAM;EAAEC;AAAY,CAAwB;EACzF;EAEA,MAAM,CAACC,cAAA,EAAgBC,KAAA,CAAM,GAAGH,MAAA,CAAOI,QAAQ;EAC/C,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC;EAAG,CAAE,GAAGR,cAAA;EAErC,MAAM;IACJS,IAAI;IACJC,OAAA,EAAS;MAAEC;IAAM,CAAE;IACnBD,OAAO;IACPE;EAAI,CACL,GAAGJ,GAAA;EAEJ,MAAM;IACJK,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGJ,MAAA;EAEJ,IAAIK,YAAA;EACJ,IAAIC,UAAA,GAAa;EAEjB,IAAI;IACF,MAAMT,GAAA,CAAIE,OAAO,CAACQ,WAAW,CAAC;MAC5BC,UAAA,EAAYhB,cAAA;MACZC;IACF;IAEAa,UAAA,GAAa;IACbD,YAAA,GAAeR,GAAA,CAAIY,CAAC,CAAC;EACvB,EAAE,OAAOC,CAAA,EAAG;IACVL,YAAA,GAAeR,GAAA,CAAIY,CAAC,CAAC;EACvB;EAEA,IAAIH,UAAA,EAAY;IACd,oBACEK,IAAA,CAAC1B,gBAAA;MACC2B,OAAA,EAASf,GAAA,CAAIY,CAAC,CAAC;MACfI,UAAA,EAAY/B,cAAA,CAAe;QAAEsB,UAAA;QAAYU,IAAA,EAAM;MAAS;;EAG9D;EAEA,oBACEC,KAAA,CAAChC,KAAA,CAAMiC,QAAQ;4BACbL,IAAA,CAAC;MAAIM,SAAA,EAAW,GAAG/B,eAAA,SAAwB;gBACzC,aAAAyB,IAAA,CAAC3B,IAAA;QACCc,IAAA,EAAMA,IAAA;QACNH,MAAA,EAAQA,MAAA;QACRL,MAAA,EAAQA,MAAA;QACRS,OAAA,EAASA,OAAA;QACTH,WAAA,EAAaA,WAAA;QACbL,YAAA,EAAcA,YAAA;QACdU,IAAA,EAAMA;;qBAGVU,IAAA,CAAC;gBAAIN;;;AAGX","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAE3D,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAIzE,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA0JjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAE3D,OAAO,KAAK,EAAiB,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAIzE,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAsKjE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import { CheckboxInput, Gutter, useConfig, useDocumentInfo, useTranslation } from '@payloadcms/ui';
4
+ import { CheckboxInput, Gutter, useConfig, useDocumentInfo, useRouteTransition, useTranslation } from '@payloadcms/ui';
5
5
  import { formatDate } from '@payloadcms/ui/shared';
6
6
  import { usePathname, useRouter, useSearchParams } from 'next/navigation.js';
7
7
  import React, { useEffect, useMemo, useState } from 'react';
@@ -37,6 +37,9 @@ export const DefaultVersionView = ({
37
37
  collectionSlug,
38
38
  globalSlug
39
39
  } = useDocumentInfo();
40
+ const {
41
+ startRouteTransition
42
+ } = useRouteTransition();
40
43
  const [collectionConfig] = useState(() => getEntityConfig({
41
44
  collectionSlug
42
45
  }));
@@ -53,8 +56,8 @@ export const DefaultVersionView = ({
53
56
  setModifiedOnly(!modifiedOnly);
54
57
  }
55
58
  useEffect(() => {
56
- // If the selected comparison doc or locales change, update URL params so that version page RSC
57
- // can update the version comparison state
59
+ // If the selected comparison doc or locales change, update URL params so that version page
60
+ // This is so that RSC can update the version comparison state
58
61
  const current = new URLSearchParams(Array.from(searchParams.entries()));
59
62
  if (!compareValue) {
60
63
  current.delete('compareValue');
@@ -73,8 +76,9 @@ export const DefaultVersionView = ({
73
76
  }
74
77
  const search = current.toString();
75
78
  const query = search ? `?${search}` : '';
76
- router.push(`${pathname}${query}`);
77
- }, [compareValue, pathname, router, searchParams, selectedLocales, modifiedOnly]);
79
+ // TODO: this transition occurs multiple times during the initial rendering phases, need to evaluate
80
+ startRouteTransition(() => router.push(`${pathname}${query}`));
81
+ }, [compareValue, pathname, router, searchParams, selectedLocales, modifiedOnly, startRouteTransition]);
78
82
  const {
79
83
  admin: {
80
84
  dateFormat
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["CheckboxInput","Gutter","useConfig","useDocumentInfo","useTranslation","formatDate","usePathname","useRouter","useSearchParams","React","useEffect","useMemo","useState","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","doc","latestDraftVersion","latestPublishedVersion","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesProp","versionID","config","getEntityConfig","availableLocales","localization","locales","map","locale","label","value","code","i18n","id","collectionSlug","globalSlug","collectionConfig","globalConfig","setSelectedLocales","compareValue","setCompareValue","router","pathname","searchParams","setModifiedOnly","onToggleModifiedOnly","current","URLSearchParams","Array","from","entries","delete","set","JSON","stringify","search","toString","query","push","admin","dateFormat","routes","api","apiRoute","serverURL","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","draftsEnabled","Boolean","versions","drafts","_jsxs","className","_jsx","fields","t","version","autosave","labels","singular","originalDocID","status","_status","versionDate","checked","onToggle","baseURL","onChange","parentID","options","Provider"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport { CheckboxInput, Gutter, useConfig, useDocumentInfo, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport './index.scss'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n canUpdate,\n doc,\n latestDraftVersion,\n latestPublishedVersion,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesProp,\n versionID,\n}) => {\n const { config, getEntityConfig } = useConfig()\n\n const availableLocales = useMemo(\n () =>\n config.localization\n ? config.localization.locales.map((locale) => ({\n label: locale.label,\n value: locale.code,\n }))\n : [],\n [config.localization],\n )\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug }))\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }))\n\n const [selectedLocales, setSelectedLocales] = useState<OptionObject[]>(selectedLocalesProp)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n function onToggleModifiedOnly() {\n setModifiedOnly(!modifiedOnly)\n }\n\n useEffect(() => {\n // If the selected comparison doc or locales change, update URL params so that version page RSC\n // can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (!compareValue) {\n current.delete('compareValue')\n } else {\n current.set('compareValue', compareValue?.value)\n }\n if (!selectedLocales) {\n current.delete('localeCodes')\n } else {\n current.set('localeCodes', JSON.stringify(selectedLocales.map((locale) => locale.value)))\n }\n\n if (!modifiedOnly) {\n current.delete('modifiedOnly')\n } else {\n current.set('modifiedOnly', 'true')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n router.push(`${pathname}${query}`)\n }, [compareValue, pathname, router, searchParams, selectedLocales, modifiedOnly])\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const versionCreatedAt = doc?.updatedAt\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : ''\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts)\n\n return (\n <main className={baseClass}>\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{versionCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n status={doc?.version?._status}\n versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n draftsEnabled={draftsEnabled}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales\n onChange={setSelectedLocales}\n options={availableLocales}\n value={selectedLocales}\n />\n )}\n </div>\n <SelectedLocalesContext.Provider\n value={{ selectedLocales: selectedLocales.map((locale) => locale.value) }}\n >\n {doc?.version && RenderedDiff}\n </SelectedLocalesContext.Provider>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["CheckboxInput","Gutter","useConfig","useDocumentInfo","useRouteTransition","useTranslation","formatDate","usePathname","useRouter","useSearchParams","React","useEffect","useMemo","useState","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","doc","latestDraftVersion","latestPublishedVersion","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesProp","versionID","config","getEntityConfig","availableLocales","localization","locales","map","locale","label","value","code","i18n","id","collectionSlug","globalSlug","startRouteTransition","collectionConfig","globalConfig","setSelectedLocales","compareValue","setCompareValue","router","pathname","searchParams","setModifiedOnly","onToggleModifiedOnly","current","URLSearchParams","Array","from","entries","delete","set","JSON","stringify","search","toString","query","push","admin","dateFormat","routes","api","apiRoute","serverURL","versionCreatedAt","updatedAt","date","pattern","compareBaseURL","draftsEnabled","Boolean","versions","drafts","_jsxs","className","_jsx","fields","t","version","autosave","labels","singular","originalDocID","status","_status","versionDate","checked","onToggle","baseURL","onChange","parentID","options","Provider"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject } from 'payload'\n\nimport {\n CheckboxInput,\n Gutter,\n useConfig,\n useDocumentInfo,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport Restore from '../Restore/index.js'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport './index.scss'\nimport { SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n canUpdate,\n doc,\n latestDraftVersion,\n latestPublishedVersion,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesProp,\n versionID,\n}) => {\n const { config, getEntityConfig } = useConfig()\n\n const availableLocales = useMemo(\n () =>\n config.localization\n ? config.localization.locales.map((locale) => ({\n label: locale.label,\n value: locale.code,\n }))\n : [],\n [config.localization],\n )\n\n const { i18n } = useTranslation()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug }))\n\n const [globalConfig] = useState(() => getEntityConfig({ globalSlug }))\n\n const [selectedLocales, setSelectedLocales] = useState<OptionObject[]>(selectedLocalesProp)\n\n const [compareValue, setCompareValue] = useState<CompareOption>()\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n function onToggleModifiedOnly() {\n setModifiedOnly(!modifiedOnly)\n }\n\n useEffect(() => {\n // If the selected comparison doc or locales change, update URL params so that version page\n // This is so that RSC can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (!compareValue) {\n current.delete('compareValue')\n } else {\n current.set('compareValue', compareValue?.value)\n }\n\n if (!selectedLocales) {\n current.delete('localeCodes')\n } else {\n current.set('localeCodes', JSON.stringify(selectedLocales.map((locale) => locale.value)))\n }\n\n if (!modifiedOnly) {\n current.delete('modifiedOnly')\n } else {\n current.set('modifiedOnly', 'true')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n // TODO: this transition occurs multiple times during the initial rendering phases, need to evaluate\n startRouteTransition(() => router.push(`${pathname}${query}`))\n }, [\n compareValue,\n pathname,\n router,\n searchParams,\n selectedLocales,\n modifiedOnly,\n startRouteTransition,\n ])\n\n const {\n admin: { dateFormat },\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = config\n\n const versionCreatedAt = doc?.updatedAt\n ? formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })\n : ''\n\n const compareBaseURL = `${serverURL}${apiRoute}/${globalSlug ? 'globals/' : ''}${\n collectionSlug || globalSlug\n }/versions`\n\n const draftsEnabled = Boolean((collectionConfig || globalConfig)?.versions.drafts)\n\n return (\n <main className={baseClass}>\n <SetStepNav\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n doc={doc}\n fields={(collectionConfig || globalConfig)?.fields}\n globalConfig={globalConfig}\n globalSlug={globalSlug}\n id={id}\n />\n <Gutter className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__header-wrap`}>\n <p className={`${baseClass}__created-at`}>\n {i18n.t('version:versionCreatedOn', {\n version: i18n.t(doc?.autosave ? 'version:autosavedVersion' : 'version:version'),\n })}\n </p>\n <header className={`${baseClass}__header`}>\n <h2>{versionCreatedAt}</h2>\n {canUpdate && (\n <Restore\n className={`${baseClass}__restore`}\n collectionSlug={collectionSlug}\n globalSlug={globalSlug}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={id}\n status={doc?.version?._status}\n versionDate={versionCreatedAt}\n versionID={versionID}\n />\n )}\n <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n </header>\n </div>\n <div className={`${baseClass}__controls`}>\n <SelectComparison\n baseURL={compareBaseURL}\n draftsEnabled={draftsEnabled}\n latestDraftVersion={latestDraftVersion}\n latestPublishedVersion={latestPublishedVersion}\n onChange={setCompareValue}\n parentID={id}\n value={compareValue}\n versionID={versionID}\n />\n {localization && (\n <SelectLocales\n onChange={setSelectedLocales}\n options={availableLocales}\n value={selectedLocales}\n />\n )}\n </div>\n <SelectedLocalesContext.Provider\n value={{ selectedLocales: selectedLocales.map((locale) => locale.value) }}\n >\n {doc?.version && RenderedDiff}\n </SelectedLocalesContext.Provider>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ type Props = {
10
10
  isIterable?: false;
11
11
  label: React.ReactNode;
12
12
  locales: string[] | undefined;
13
+ parentIsLocalized: boolean;
13
14
  version: unknown;
14
15
  } | {
15
16
  children: React.ReactNode;
@@ -20,6 +21,7 @@ type Props = {
20
21
  isIterable: true;
21
22
  label: React.ReactNode;
22
23
  locales: string[] | undefined;
24
+ parentIsLocalized: boolean;
23
25
  version: unknown;
24
26
  };
25
27
  export declare const DiffCollapser: React.FC<Props>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAKrB,KAAK,KAAK,GACN;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB,GACD;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,EAAE,IAAI,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAEL,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0EzC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAO,cAAc,CAAA;AAKrB,KAAK,KAAK,GACN;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,GACD;IAEE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,EAAE,IAAI,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAEL,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgFzC,CAAA"}
@@ -1,76 +1,143 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
1
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ChevronIcon, Pill, useTranslation } from '@payloadcms/ui';
5
+ import { ChevronIcon, Pill, useConfig, useTranslation } from '@payloadcms/ui';
3
6
  import { fieldIsArrayType, fieldIsBlockType } from 'payload/shared';
4
7
  import React, { useState } from 'react';
5
8
  import Label from '../Label/index.js';
6
9
  import { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js';
7
10
  const baseClass = 'diff-collapser';
8
- export const DiffCollapser = ({
9
- children,
10
- comparison,
11
- field,
12
- fields,
13
- initCollapsed = false,
14
- isIterable = false,
15
- label,
16
- locales,
17
- version
18
- }) => {
11
+ export const DiffCollapser = t0 => {
12
+ const $ = _c(21);
13
+ const {
14
+ children,
15
+ comparison,
16
+ field,
17
+ fields,
18
+ initCollapsed: t1,
19
+ isIterable: t2,
20
+ label,
21
+ locales,
22
+ parentIsLocalized,
23
+ version
24
+ } = t0;
25
+ const initCollapsed = t1 === undefined ? false : t1;
26
+ const isIterable = t2 === undefined ? false : t2;
19
27
  const {
20
28
  t
21
29
  } = useTranslation();
22
30
  const [isCollapsed, setIsCollapsed] = useState(initCollapsed);
23
- let changeCount = 0;
24
- if (isIterable) {
25
- if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {
26
- throw new Error('DiffCollapser: field must be an array or blocks field when isIterable is true');
31
+ const {
32
+ config
33
+ } = useConfig();
34
+ let t3;
35
+ if ($[0] !== children || $[1] !== comparison || $[2] !== config || $[3] !== field || $[4] !== fields || $[5] !== isCollapsed || $[6] !== isIterable || $[7] !== label || $[8] !== locales || $[9] !== parentIsLocalized || $[10] !== t || $[11] !== version) {
36
+ let changeCount;
37
+ if (isIterable) {
38
+ if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {
39
+ throw new Error("DiffCollapser: field must be an array or blocks field when isIterable is true");
40
+ }
41
+ let t4;
42
+ if ($[13] !== comparison) {
43
+ t4 = comparison ?? [];
44
+ $[13] = comparison;
45
+ $[14] = t4;
46
+ } else {
47
+ t4 = $[14];
48
+ }
49
+ const comparisonRows = t4;
50
+ let t5;
51
+ if ($[15] !== version) {
52
+ t5 = version ?? [];
53
+ $[15] = version;
54
+ $[16] = t5;
55
+ } else {
56
+ t5 = $[16];
57
+ }
58
+ const versionRows = t5;
59
+ if (!Array.isArray(comparisonRows) || !Array.isArray(versionRows)) {
60
+ throw new Error("DiffCollapser: comparison and version must be arrays when isIterable is true");
61
+ }
62
+ changeCount = countChangedFieldsInRows({
63
+ comparisonRows,
64
+ config,
65
+ field,
66
+ locales,
67
+ parentIsLocalized,
68
+ versionRows
69
+ });
70
+ } else {
71
+ changeCount = countChangedFields({
72
+ comparison,
73
+ config,
74
+ fields,
75
+ locales,
76
+ parentIsLocalized,
77
+ version
78
+ });
79
+ }
80
+ const t4 = isCollapsed && `${baseClass}__content--is-collapsed`;
81
+ let t5;
82
+ if ($[17] !== t4) {
83
+ t5 = [`${baseClass}__content`, t4].filter(Boolean);
84
+ $[17] = t4;
85
+ $[18] = t5;
86
+ } else {
87
+ t5 = $[18];
27
88
  }
28
- const comparisonRows = comparison ?? [];
29
- const versionRows = version ?? [];
30
- if (!Array.isArray(comparisonRows) || !Array.isArray(versionRows)) {
31
- throw new Error('DiffCollapser: comparison and version must be arrays when isIterable is true');
89
+ const contentClassNames = t5.join(" ");
90
+ let t6;
91
+ if ($[19] !== isCollapsed) {
92
+ t6 = () => setIsCollapsed(!isCollapsed);
93
+ $[19] = isCollapsed;
94
+ $[20] = t6;
95
+ } else {
96
+ t6 = $[20];
32
97
  }
33
- changeCount = countChangedFieldsInRows({
34
- comparisonRows,
35
- field,
36
- locales,
37
- versionRows
98
+ t3 = _jsxs("div", {
99
+ className: baseClass,
100
+ children: [_jsxs(Label, {
101
+ children: [_jsx("button", {
102
+ "aria-label": isCollapsed ? "Expand" : "Collapse",
103
+ className: `${baseClass}__toggle-button`,
104
+ onClick: t6,
105
+ type: "button",
106
+ children: _jsx(ChevronIcon, {
107
+ direction: isCollapsed ? "right" : "down"
108
+ })
109
+ }), _jsx("span", {
110
+ className: `${baseClass}__label`,
111
+ children: label
112
+ }), changeCount > 0 && _jsx(Pill, {
113
+ className: `${baseClass}__field-change-count`,
114
+ pillStyle: "light-gray",
115
+ size: "small",
116
+ children: t("version:changedFieldsCount", {
117
+ count: changeCount
118
+ })
119
+ })]
120
+ }), _jsx("div", {
121
+ className: contentClassNames,
122
+ children
123
+ })]
38
124
  });
125
+ $[0] = children;
126
+ $[1] = comparison;
127
+ $[2] = config;
128
+ $[3] = field;
129
+ $[4] = fields;
130
+ $[5] = isCollapsed;
131
+ $[6] = isIterable;
132
+ $[7] = label;
133
+ $[8] = locales;
134
+ $[9] = parentIsLocalized;
135
+ $[10] = t;
136
+ $[11] = version;
137
+ $[12] = t3;
39
138
  } else {
40
- changeCount = countChangedFields({
41
- comparison,
42
- fields,
43
- locales,
44
- version
45
- });
139
+ t3 = $[12];
46
140
  }
47
- const contentClassNames = [`${baseClass}__content`, isCollapsed && `${baseClass}__content--is-collapsed`].filter(Boolean).join(' ');
48
- return /*#__PURE__*/_jsxs("div", {
49
- className: baseClass,
50
- children: [/*#__PURE__*/_jsxs(Label, {
51
- children: [/*#__PURE__*/_jsx("button", {
52
- "aria-label": isCollapsed ? 'Expand' : 'Collapse',
53
- className: `${baseClass}__toggle-button`,
54
- onClick: () => setIsCollapsed(!isCollapsed),
55
- type: "button",
56
- children: /*#__PURE__*/_jsx(ChevronIcon, {
57
- direction: isCollapsed ? 'right' : 'down'
58
- })
59
- }), /*#__PURE__*/_jsx("span", {
60
- className: `${baseClass}__label`,
61
- children: label
62
- }), changeCount > 0 && /*#__PURE__*/_jsx(Pill, {
63
- className: `${baseClass}__field-change-count`,
64
- pillStyle: "light-gray",
65
- size: "small",
66
- children: t('version:changedFieldsCount', {
67
- count: changeCount
68
- })
69
- })]
70
- }), /*#__PURE__*/_jsx("div", {
71
- className: contentClassNames,
72
- children: children
73
- })]
74
- });
141
+ return t3;
75
142
  };
76
143
  //# sourceMappingURL=index.js.map