@payloadcms/tanstack-start 4.0.0-internal.e7d4ebc → 4.0.0-internal.ea6e8f8

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 (220) hide show
  1. package/dist/adapters/handleServerFunctions.d.ts.map +1 -0
  2. package/dist/adapters/handleServerFunctions.js +9 -0
  3. package/dist/adapters/handleServerFunctions.js.map +1 -0
  4. package/dist/{layouts/Root/withPayloadRoot.d.ts → adapters/layout/index.d.ts} +29 -4
  5. package/dist/adapters/layout/index.d.ts.map +1 -0
  6. package/dist/adapters/layout/index.js +105 -0
  7. package/dist/adapters/layout/index.js.map +1 -0
  8. package/dist/adapters/layout/lazy.d.ts +11 -0
  9. package/dist/adapters/layout/lazy.d.ts.map +1 -0
  10. package/dist/adapters/layout/lazy.js +23 -0
  11. package/dist/adapters/layout/lazy.js.map +1 -0
  12. package/dist/adapters/layout/server.d.ts +29 -0
  13. package/dist/adapters/layout/server.d.ts.map +1 -0
  14. package/dist/adapters/layout/server.js +63 -0
  15. package/dist/adapters/layout/server.js.map +1 -0
  16. package/dist/{utilities/meta.d.ts → adapters/metadata.d.ts} +10 -1
  17. package/dist/adapters/metadata.d.ts.map +1 -0
  18. package/dist/{utilities/meta.js → adapters/metadata.js} +60 -1
  19. package/dist/adapters/metadata.js.map +1 -0
  20. package/dist/{elements/RouterAdapter/index.d.ts → adapters/router.d.ts} +1 -1
  21. package/dist/adapters/router.d.ts.map +1 -0
  22. package/dist/{elements/RouterAdapter/index.js → adapters/router.js} +26 -4
  23. package/dist/adapters/router.js.map +1 -0
  24. package/dist/{utilities/serverAdapter.server.d.ts → adapters/server.d.ts} +1 -1
  25. package/dist/adapters/server.d.ts.map +1 -0
  26. package/dist/{utilities/serverAdapter.server.js → adapters/server.js} +1 -1
  27. package/dist/adapters/server.js.map +1 -0
  28. package/dist/{routes/adminRoutes.d.ts → adapters/views/index.d.ts} +11 -18
  29. package/dist/adapters/views/index.d.ts.map +1 -0
  30. package/dist/{routes/adminRoutes.js → adapters/views/index.js} +33 -58
  31. package/dist/adapters/views/index.js.map +1 -0
  32. package/dist/adapters/views/lazy.d.ts +4 -0
  33. package/dist/adapters/views/lazy.d.ts.map +1 -0
  34. package/dist/adapters/views/lazy.js +43 -0
  35. package/dist/adapters/views/lazy.js.map +1 -0
  36. package/dist/{utilities/loadAdminPage.d.ts → adapters/views/server.d.ts} +9 -6
  37. package/dist/adapters/views/server.d.ts.map +1 -0
  38. package/dist/{utilities/loadAdminPage.js → adapters/views/server.js} +15 -86
  39. package/dist/adapters/views/server.js.map +1 -0
  40. package/dist/auth/login.d.ts +3 -16
  41. package/dist/auth/login.d.ts.map +1 -1
  42. package/dist/auth/login.js +6 -46
  43. package/dist/auth/login.js.map +1 -1
  44. package/dist/auth/logout.d.ts +2 -5
  45. package/dist/auth/logout.d.ts.map +1 -1
  46. package/dist/auth/logout.js +6 -47
  47. package/dist/auth/logout.js.map +1 -1
  48. package/dist/auth/refresh.d.ts +2 -4
  49. package/dist/auth/refresh.d.ts.map +1 -1
  50. package/dist/auth/refresh.js +6 -49
  51. package/dist/auth/refresh.js.map +1 -1
  52. package/dist/exports/client.d.ts +2 -6
  53. package/dist/exports/client.d.ts.map +1 -1
  54. package/dist/exports/client.js +2 -6
  55. package/dist/exports/client.js.map +1 -1
  56. package/dist/exports/layouts.d.ts +2 -5
  57. package/dist/exports/layouts.d.ts.map +1 -1
  58. package/dist/exports/layouts.js +1 -3
  59. package/dist/exports/layouts.js.map +1 -1
  60. package/dist/exports/rsc.browser.d.ts +4 -1
  61. package/dist/exports/rsc.browser.d.ts.map +1 -1
  62. package/dist/exports/rsc.browser.js +4 -1
  63. package/dist/exports/rsc.browser.js.map +1 -1
  64. package/dist/exports/rsc.d.ts +0 -1
  65. package/dist/exports/rsc.d.ts.map +1 -1
  66. package/dist/exports/rsc.js +0 -1
  67. package/dist/exports/rsc.js.map +1 -1
  68. package/dist/exports/server.d.ts +8 -11
  69. package/dist/exports/server.d.ts.map +1 -1
  70. package/dist/exports/server.js +7 -10
  71. package/dist/exports/server.js.map +1 -1
  72. package/dist/{utilities/graphqlHandler.server.d.ts → routes/graphql/handler.server.d.ts} +1 -3
  73. package/dist/routes/graphql/handler.server.d.ts.map +1 -0
  74. package/dist/{utilities/graphqlHandler.server.js → routes/graphql/handler.server.js} +9 -6
  75. package/dist/routes/graphql/handler.server.js.map +1 -0
  76. package/dist/{utilities/handleAPIRoute.server.d.ts → routes/rest/handler.server.d.ts} +1 -1
  77. package/dist/routes/rest/handler.server.d.ts.map +1 -0
  78. package/dist/{utilities/handleAPIRoute.server.js → routes/rest/handler.server.js} +1 -1
  79. package/dist/routes/rest/handler.server.js.map +1 -0
  80. package/dist/routes/{apiRoute.d.ts → rest/index.d.ts} +1 -1
  81. package/dist/routes/rest/index.d.ts.map +1 -0
  82. package/dist/routes/{apiRoute.js → rest/index.js} +2 -2
  83. package/dist/routes/rest/index.js.map +1 -0
  84. package/dist/rsc/CollectionCards.js +1 -1
  85. package/dist/rsc/CollectionCards.js.map +1 -1
  86. package/dist/utilities/devConfigReload.server.d.ts +2 -0
  87. package/dist/utilities/devConfigReload.server.d.ts.map +1 -0
  88. package/dist/utilities/devConfigReload.server.js +63 -0
  89. package/dist/utilities/devConfigReload.server.js.map +1 -0
  90. package/dist/utilities/devConfigReloadEvent.d.ts +9 -0
  91. package/dist/utilities/devConfigReloadEvent.d.ts.map +1 -0
  92. package/dist/utilities/devConfigReloadEvent.js +9 -0
  93. package/dist/utilities/devConfigReloadEvent.js.map +1 -0
  94. package/dist/utilities/getRequestI18n.server.d.ts +1 -1
  95. package/dist/utilities/getRequestI18n.server.js +1 -1
  96. package/dist/utilities/getRequestI18n.server.js.map +1 -1
  97. package/dist/utilities/initAdminContext.server.d.ts +9 -0
  98. package/dist/utilities/initAdminContext.server.d.ts.map +1 -0
  99. package/dist/utilities/initAdminContext.server.js +13 -0
  100. package/dist/utilities/initAdminContext.server.js.map +1 -0
  101. package/dist/utilities/serializeForRsc.d.ts.map +1 -1
  102. package/dist/utilities/serializeForRsc.js +6 -1
  103. package/dist/utilities/serializeForRsc.js.map +1 -1
  104. package/dist/utilities/serverFunctionClient.d.ts.map +1 -1
  105. package/dist/utilities/serverFunctionClient.js +6 -1
  106. package/dist/utilities/serverFunctionClient.js.map +1 -1
  107. package/dist/utilities/toSerializable.d.ts +9 -0
  108. package/dist/utilities/toSerializable.d.ts.map +1 -1
  109. package/dist/utilities/toSerializable.js +19 -3
  110. package/dist/utilities/toSerializable.js.map +1 -1
  111. package/dist/withPayload/config/external.d.ts +16 -8
  112. package/dist/withPayload/config/external.d.ts.map +1 -1
  113. package/dist/withPayload/config/external.js +24 -10
  114. package/dist/withPayload/config/external.js.map +1 -1
  115. package/dist/withPayload/config/optimizeDeps.d.ts.map +1 -1
  116. package/dist/withPayload/config/optimizeDeps.js +44 -7
  117. package/dist/withPayload/config/optimizeDeps.js.map +1 -1
  118. package/dist/withPayload/devConfigReload.d.ts +14 -0
  119. package/dist/withPayload/devConfigReload.d.ts.map +1 -0
  120. package/dist/withPayload/devConfigReload.js +84 -0
  121. package/dist/withPayload/devConfigReload.js.map +1 -0
  122. package/dist/withPayload/importProtection.d.ts.map +1 -1
  123. package/dist/withPayload/importProtection.js +2 -2
  124. package/dist/withPayload/importProtection.js.map +1 -1
  125. package/dist/withPayload/index.d.ts +21 -10
  126. package/dist/withPayload/index.d.ts.map +1 -1
  127. package/dist/withPayload/index.js +39 -16
  128. package/dist/withPayload/index.js.map +1 -1
  129. package/dist/withPayload/workarounds/stripDistStyleImports.js +2 -2
  130. package/dist/withPayload/workarounds/stripDistStyleImports.js.map +1 -1
  131. package/package.json +15 -12
  132. package/dist/elements/DocumentHeaderClient/index.d.ts +0 -16
  133. package/dist/elements/DocumentHeaderClient/index.d.ts.map +0 -1
  134. package/dist/elements/DocumentHeaderClient/index.js +0 -116
  135. package/dist/elements/DocumentHeaderClient/index.js.map +0 -1
  136. package/dist/elements/RenderComponent/index.d.ts +0 -10
  137. package/dist/elements/RenderComponent/index.d.ts.map +0 -1
  138. package/dist/elements/RenderComponent/index.js +0 -12
  139. package/dist/elements/RenderComponent/index.js.map +0 -1
  140. package/dist/elements/RouterAdapter/index.d.ts.map +0 -1
  141. package/dist/elements/RouterAdapter/index.js.map +0 -1
  142. package/dist/layouts/Root/getLayoutData.d.ts +0 -12
  143. package/dist/layouts/Root/getLayoutData.d.ts.map +0 -1
  144. package/dist/layouts/Root/getLayoutData.js +0 -91
  145. package/dist/layouts/Root/getLayoutData.js.map +0 -1
  146. package/dist/layouts/Root/index.d.ts +0 -32
  147. package/dist/layouts/Root/index.d.ts.map +0 -1
  148. package/dist/layouts/Root/index.js +0 -53
  149. package/dist/layouts/Root/index.js.map +0 -1
  150. package/dist/layouts/Root/withPayloadRoot.d.ts.map +0 -1
  151. package/dist/layouts/Root/withPayloadRoot.js +0 -91
  152. package/dist/layouts/Root/withPayloadRoot.js.map +0 -1
  153. package/dist/node/cssLoader.d.mts +0 -25
  154. package/dist/node/cssLoader.d.mts.map +0 -1
  155. package/dist/node/cssLoader.js +0 -70
  156. package/dist/node/cssLoader.js.map +0 -1
  157. package/dist/node/cssLoader.mjs +0 -75
  158. package/dist/node/registerCssLoader.d.mts +0 -2
  159. package/dist/node/registerCssLoader.d.mts.map +0 -1
  160. package/dist/node/registerCssLoader.js +0 -10
  161. package/dist/node/registerCssLoader.js.map +0 -1
  162. package/dist/node/registerCssLoader.mjs +0 -10
  163. package/dist/routes/adminRoutes.d.ts.map +0 -1
  164. package/dist/routes/adminRoutes.js.map +0 -1
  165. package/dist/routes/apiRoute.d.ts.map +0 -1
  166. package/dist/routes/apiRoute.js.map +0 -1
  167. package/dist/routes/layoutRoute.d.ts +0 -26
  168. package/dist/routes/layoutRoute.d.ts.map +0 -1
  169. package/dist/routes/layoutRoute.js +0 -57
  170. package/dist/routes/layoutRoute.js.map +0 -1
  171. package/dist/rsc/renderPayloadRSC.d.ts +0 -6
  172. package/dist/rsc/renderPayloadRSC.d.ts.map +0 -1
  173. package/dist/rsc/renderPayloadRSC.js +0 -6
  174. package/dist/rsc/renderPayloadRSC.js.map +0 -1
  175. package/dist/utilities/devReloadStrategy.d.ts +0 -10
  176. package/dist/utilities/devReloadStrategy.d.ts.map +0 -1
  177. package/dist/utilities/devReloadStrategy.js +0 -27
  178. package/dist/utilities/devReloadStrategy.js.map +0 -1
  179. package/dist/utilities/getExistingAuthToken.d.ts +0 -7
  180. package/dist/utilities/getExistingAuthToken.d.ts.map +0 -1
  181. package/dist/utilities/getExistingAuthToken.js +0 -18
  182. package/dist/utilities/getExistingAuthToken.js.map +0 -1
  183. package/dist/utilities/getPreferences.d.ts +0 -10
  184. package/dist/utilities/getPreferences.d.ts.map +0 -1
  185. package/dist/utilities/getPreferences.js +0 -33
  186. package/dist/utilities/getPreferences.js.map +0 -1
  187. package/dist/utilities/getRequestLocale.d.ts +0 -7
  188. package/dist/utilities/getRequestLocale.d.ts.map +0 -1
  189. package/dist/utilities/getRequestLocale.js +0 -20
  190. package/dist/utilities/getRequestLocale.js.map +0 -1
  191. package/dist/utilities/graphqlHandler.server.d.ts.map +0 -1
  192. package/dist/utilities/graphqlHandler.server.js.map +0 -1
  193. package/dist/utilities/handleAPIRoute.server.d.ts.map +0 -1
  194. package/dist/utilities/handleAPIRoute.server.js.map +0 -1
  195. package/dist/utilities/handleServerFunctions.d.ts.map +0 -1
  196. package/dist/utilities/handleServerFunctions.js +0 -12
  197. package/dist/utilities/handleServerFunctions.js.map +0 -1
  198. package/dist/utilities/importMap.server.d.ts +0 -8
  199. package/dist/utilities/importMap.server.d.ts.map +0 -1
  200. package/dist/utilities/importMap.server.js +0 -11
  201. package/dist/utilities/importMap.server.js.map +0 -1
  202. package/dist/utilities/initReq.server.d.ts +0 -19
  203. package/dist/utilities/initReq.server.d.ts.map +0 -1
  204. package/dist/utilities/initReq.server.js +0 -87
  205. package/dist/utilities/initReq.server.js.map +0 -1
  206. package/dist/utilities/loadAdminPage.d.ts.map +0 -1
  207. package/dist/utilities/loadAdminPage.js.map +0 -1
  208. package/dist/utilities/loadLayoutData.d.ts +0 -15
  209. package/dist/utilities/loadLayoutData.d.ts.map +0 -1
  210. package/dist/utilities/loadLayoutData.js +0 -23
  211. package/dist/utilities/loadLayoutData.js.map +0 -1
  212. package/dist/utilities/meta.d.ts.map +0 -1
  213. package/dist/utilities/meta.js.map +0 -1
  214. package/dist/utilities/serverAdapter.server.d.ts.map +0 -1
  215. package/dist/utilities/serverAdapter.server.js.map +0 -1
  216. package/dist/utilities/setPayloadAuthCookie.d.ts +0 -9
  217. package/dist/utilities/setPayloadAuthCookie.d.ts.map +0 -1
  218. package/dist/utilities/setPayloadAuthCookie.js +0 -31
  219. package/dist/utilities/setPayloadAuthCookie.js.map +0 -1
  220. /package/dist/{utilities → adapters}/handleServerFunctions.d.ts +0 -0
@@ -37,7 +37,7 @@ const STYLE_EXTENSION_RE = /\.(?:s?css|less)$/i;
37
37
  * blowing past the e2e waits. Stripping them collapses it back to ~3s.
38
38
  *
39
39
  * Safe because every one of these components' styles also ship in the global
40
- * `@payloadcms/ui/scss/app.scss` the admin imports, so dropping the per-module
40
+ * `@payloadcms/ui/css/app.css` the admin imports, so dropping the per-module
41
41
  * RSC collection here changes nothing visually (verified: diff + Nav stay
42
42
  * styled). The admin `Nav` etc. are deliberately excluded — they rely on the
43
43
  * RSC collection and a broad strip leaves them unstyled.
@@ -80,7 +80,7 @@ const STYLE_EXTENSION_RE = /\.(?:s?css|less)$/i;
80
80
  // there to collect them as client stylesheets. Stripping them here means
81
81
  // their CSS is never emitted and the admin renders unstyled (broken nav
82
82
  // scroll/layout, etc.). The Node-side `.css` no-op is handled by
83
- // `cssLoader.mjs` (dev) and by Vite's CSS extraction (build), so the
83
+ // the test dev server's asset loader and by Vite's CSS extraction (build), so the
84
84
  // crash this plugin guards against does not require touching the RSC env.
85
85
  if (envName === 'rsc') {
86
86
  return;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/withPayload/workarounds/stripDistStyleImports.ts"],"sourcesContent":["import type { PluginOption } from 'vite'\n\nconst STYLE_EXTENSION_RE = /\\.(?:s?css|less)$/i\n\n/**\n * Static `import './foo.css'` (or .scss/.less) — top-level only.\n * Captures the entire statement so we can replace it with an empty line.\n *\n * Matches:\n * import './foo.css';\n * import \"../bar.scss\"\n * import './baz.less' ;\n */\nconst STATIC_STYLE_IMPORT_RE = /^[ \\t]*import\\s+['\"][^'\"]+\\.(?:s?css|less)['\"]\\s*(?:;[ \\t]*)?$/gm\n\n/**\n * Monorepo Payload package source, e.g. `…/packages/ui/src/…`. In the\n * core-dev / test setup Payload packages resolve to their workspace `src`\n * (not a published `dist`), so the `dist/` rule below doesn't cover them and\n * their `.css` side-effect imports survive into the SSR/RSC graph.\n */\nconst PAYLOAD_PKG_SRC_RE = /\\/packages\\/[^/]+\\/src\\//\n\n/**\n * The version-diff component trees — matched in either published `dist/` or\n * workspace `src/` form. The `.css` side-effect imports of these must be\n * stripped in the RSC env (the rest of `@payloadcms/ui` must NOT be — see the\n * note in `resolveId`/`transform` below), for two reasons rooted in the same\n * `@vitejs/plugin-rsc` behaviour: it wraps every exported CSS-importing\n * component with an async CSS-collector child\n * (`__vite_rsc_wrap_css__` → `await import('virtual:vite-rsc/css?…')`).\n *\n * 1. Correctness: the diff converters render `CheckIcon` (`icons/*`) and `File`\n * (`graphics/*`) through the SYNCHRONOUS `renderToStaticMarkup` (see\n * `reactDomServerInRsc`). The async wrapper suspends, crashing that render\n * with \"A component suspended while responding to synchronous input\" and\n * taking down the entire field-diffs tree.\n * 2. Performance: the diff view (`views/Version/*` — `RenderFieldsToDiff` and\n * its per-field components, `DiffCollapser`, `SelectComparison`, the\n * `Default` template — plus the `HTMLDiff`/`FieldDiffContainer`/\n * `FieldDiffLabel` elements and lexical's `field/Diff/*`) renders dozens of\n * these wrapped components in the Flight stream. Each async CSS import\n * serializes a round-trip, ballooning the render from ~3s to ~25s and\n * blowing past the e2e waits. Stripping them collapses it back to ~3s.\n *\n * Safe because every one of these components' styles also ship in the global\n * `@payloadcms/ui/scss/app.scss` the admin imports, so dropping the per-module\n * RSC collection here changes nothing visually (verified: diff + Nav stay\n * styled). The admin `Nav` etc. are deliberately excluded — they rely on the\n * RSC collection and a broad strip leaves them unstyled.\n */\nconst DIFF_VIEW_COMPONENT_RE =\n /@payloadcms\\/ui\\/(?:dist|src)\\/(?:icons|graphics|views\\/Version|elements\\/(?:HTMLDiff|FieldDiffContainer|FieldDiffLabel))\\/|@payloadcms\\/richtext-lexical\\/(?:dist|src)\\/field\\/Diff\\//\n\n/**\n * Stops Vite (and the underlying Node ESM loader) from trying to load\n * SCSS/CSS/LESS during SSR/RSC when the importer lives inside a built\n * `dist/` directory or when the specifier is a bare package name.\n *\n * We do this two ways, because either layer can fail:\n *\n * 1. `resolveId` redirects style specifiers to a virtual empty module —\n * handles cases where Vite asks us to resolve them.\n * 2. `transform` strips top-level `import './x.css'` statements out of any\n * JS/TS file living under `node_modules/.../dist/` for non-client envs.\n * This is the bulletproof path for prod-packed `@payloadcms/ui` (and\n * similar) dependencies that get pre-bundled by Vite's SSR/RSC dep\n * optimizer (esbuild). Esbuild preserves `.css` import statements as-is,\n * and Node's native ESM loader then crashes with\n * `Unknown file extension \".css\"`. Removing them at the source avoids\n * that entirely.\n */\nexport function ssrStripDistStyleImports(): PluginOption {\n return {\n name: 'payload:ssr-strip-dist-style-imports',\n enforce: 'pre',\n load(id) {\n if (id === '\\0ssr-empty-style') {\n return ''\n }\n },\n resolveId(id, importer, options) {\n const envName = (this as any).environment?.name as string | undefined\n const isServerEnv = options?.ssr || (envName && envName !== 'client')\n if (!isServerEnv) {\n return\n }\n // Do NOT strip in the RSC environment. Server components (e.g. the admin\n // `Nav`, a non-'use client' component that `import './index.css'`) render\n // in the RSC graph, and `@vitejs/plugin-rsc` must SEE their `.css` imports\n // there to collect them as client stylesheets. Stripping them here means\n // their CSS is never emitted and the admin renders unstyled (broken nav\n // scroll/layout, etc.). The Node-side `.css` no-op is handled by\n // `cssLoader.mjs` (dev) and by Vite's CSS extraction (build), so the\n // crash this plugin guards against does not require touching the RSC env.\n if (envName === 'rsc') {\n return\n }\n if (!STYLE_EXTENSION_RE.test(id)) {\n return\n }\n if (importer && (/\\/dist\\//.test(importer) || PAYLOAD_PKG_SRC_RE.test(importer))) {\n return '\\0ssr-empty-style'\n }\n if (/^@?[a-z]/.test(id) && !id.startsWith('.') && !id.startsWith('/')) {\n return '\\0ssr-empty-style'\n }\n },\n transform(code, id) {\n const envName = (this as any).environment?.name as string | undefined\n const isServerEnv = envName && envName !== 'client'\n if (!isServerEnv) {\n return\n }\n // In the RSC env, only strip from the version-diff component trees (see\n // `DIFF_VIEW_COMPONENT_RE`). Every other server component (the admin\n // `Nav`, etc.) must keep its `.css` import so plugin-rsc can collect it —\n // see the matching note in `resolveId` above.\n if (envName === 'rsc' && !DIFF_VIEW_COMPONENT_RE.test(id)) {\n return\n }\n // Only touch Payload dependency files: published `node_modules/.../dist/`\n // builds, or workspace `…/packages/<pkg>/src/…` sources in the core-dev /\n // test setup. Don't strip from the consumer's own app source — devs may\n // legitimately want SSR-rendered <link>s from their own CSS imports.\n const isPayloadDistFile = /\\/node_modules\\//.test(id) && /\\/dist\\//.test(id)\n const isPayloadSrcFile = PAYLOAD_PKG_SRC_RE.test(id)\n if (!isPayloadDistFile && !isPayloadSrcFile) {\n return\n }\n // Allow a trailing query (`?v=…`, `?t=…`): Vite appends version/timestamp\n // queries to module ids, especially in the RSC graph, so a strict `$`\n // anchor would skip e.g. `icons/Check/index.js?v=83de8543`.\n if (!/\\.[mc]?[jt]sx?(?:$|\\?)/.test(id)) {\n return\n }\n if (!STATIC_STYLE_IMPORT_RE.test(code)) {\n STATIC_STYLE_IMPORT_RE.lastIndex = 0\n return\n }\n STATIC_STYLE_IMPORT_RE.lastIndex = 0\n const stripped = code.replace(STATIC_STYLE_IMPORT_RE, '')\n return { code: stripped, map: null }\n },\n }\n}\n"],"names":["STYLE_EXTENSION_RE","STATIC_STYLE_IMPORT_RE","PAYLOAD_PKG_SRC_RE","DIFF_VIEW_COMPONENT_RE","ssrStripDistStyleImports","name","enforce","load","id","resolveId","importer","options","envName","environment","isServerEnv","ssr","test","startsWith","transform","code","isPayloadDistFile","isPayloadSrcFile","lastIndex","stripped","replace","map"],"mappings":"AAEA,MAAMA,qBAAqB;AAE3B;;;;;;;;CAQC,GACD,MAAMC,yBAAyB;AAE/B;;;;;CAKC,GACD,MAAMC,qBAAqB;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BC,GACD,MAAMC,yBACJ;AAEF;;;;;;;;;;;;;;;;;CAiBC,GACD,OAAO,SAASC;IACd,OAAO;QACLC,MAAM;QACNC,SAAS;QACTC,MAAKC,EAAE;YACL,IAAIA,OAAO,qBAAqB;gBAC9B,OAAO;YACT;QACF;QACAC,WAAUD,EAAE,EAAEE,QAAQ,EAAEC,OAAO;YAC7B,MAAMC,UAAU,AAAC,IAAI,CAASC,WAAW,EAAER;YAC3C,MAAMS,cAAcH,SAASI,OAAQH,WAAWA,YAAY;YAC5D,IAAI,CAACE,aAAa;gBAChB;YACF;YACA,yEAAyE;YACzE,0EAA0E;YAC1E,2EAA2E;YAC3E,yEAAyE;YACzE,wEAAwE;YACxE,iEAAiE;YACjE,qEAAqE;YACrE,0EAA0E;YAC1E,IAAIF,YAAY,OAAO;gBACrB;YACF;YACA,IAAI,CAACZ,mBAAmBgB,IAAI,CAACR,KAAK;gBAChC;YACF;YACA,IAAIE,YAAa,CAAA,WAAWM,IAAI,CAACN,aAAaR,mBAAmBc,IAAI,CAACN,SAAQ,GAAI;gBAChF,OAAO;YACT;YACA,IAAI,WAAWM,IAAI,CAACR,OAAO,CAACA,GAAGS,UAAU,CAAC,QAAQ,CAACT,GAAGS,UAAU,CAAC,MAAM;gBACrE,OAAO;YACT;QACF;QACAC,WAAUC,IAAI,EAAEX,EAAE;YAChB,MAAMI,UAAU,AAAC,IAAI,CAASC,WAAW,EAAER;YAC3C,MAAMS,cAAcF,WAAWA,YAAY;YAC3C,IAAI,CAACE,aAAa;gBAChB;YACF;YACA,wEAAwE;YACxE,qEAAqE;YACrE,0EAA0E;YAC1E,8CAA8C;YAC9C,IAAIF,YAAY,SAAS,CAACT,uBAAuBa,IAAI,CAACR,KAAK;gBACzD;YACF;YACA,0EAA0E;YAC1E,0EAA0E;YAC1E,wEAAwE;YACxE,qEAAqE;YACrE,MAAMY,oBAAoB,mBAAmBJ,IAAI,CAACR,OAAO,WAAWQ,IAAI,CAACR;YACzE,MAAMa,mBAAmBnB,mBAAmBc,IAAI,CAACR;YACjD,IAAI,CAACY,qBAAqB,CAACC,kBAAkB;gBAC3C;YACF;YACA,0EAA0E;YAC1E,sEAAsE;YACtE,4DAA4D;YAC5D,IAAI,CAAC,yBAAyBL,IAAI,CAACR,KAAK;gBACtC;YACF;YACA,IAAI,CAACP,uBAAuBe,IAAI,CAACG,OAAO;gBACtClB,uBAAuBqB,SAAS,GAAG;gBACnC;YACF;YACArB,uBAAuBqB,SAAS,GAAG;YACnC,MAAMC,WAAWJ,KAAKK,OAAO,CAACvB,wBAAwB;YACtD,OAAO;gBAAEkB,MAAMI;gBAAUE,KAAK;YAAK;QACrC;IACF;AACF"}
1
+ {"version":3,"sources":["../../../src/withPayload/workarounds/stripDistStyleImports.ts"],"sourcesContent":["import type { PluginOption } from 'vite'\n\nconst STYLE_EXTENSION_RE = /\\.(?:s?css|less)$/i\n\n/**\n * Static `import './foo.css'` (or .scss/.less) — top-level only.\n * Captures the entire statement so we can replace it with an empty line.\n *\n * Matches:\n * import './foo.css';\n * import \"../bar.scss\"\n * import './baz.less' ;\n */\nconst STATIC_STYLE_IMPORT_RE = /^[ \\t]*import\\s+['\"][^'\"]+\\.(?:s?css|less)['\"]\\s*(?:;[ \\t]*)?$/gm\n\n/**\n * Monorepo Payload package source, e.g. `…/packages/ui/src/…`. In the\n * core-dev / test setup Payload packages resolve to their workspace `src`\n * (not a published `dist`), so the `dist/` rule below doesn't cover them and\n * their `.css` side-effect imports survive into the SSR/RSC graph.\n */\nconst PAYLOAD_PKG_SRC_RE = /\\/packages\\/[^/]+\\/src\\//\n\n/**\n * The version-diff component trees — matched in either published `dist/` or\n * workspace `src/` form. The `.css` side-effect imports of these must be\n * stripped in the RSC env (the rest of `@payloadcms/ui` must NOT be — see the\n * note in `resolveId`/`transform` below), for two reasons rooted in the same\n * `@vitejs/plugin-rsc` behaviour: it wraps every exported CSS-importing\n * component with an async CSS-collector child\n * (`__vite_rsc_wrap_css__` → `await import('virtual:vite-rsc/css?…')`).\n *\n * 1. Correctness: the diff converters render `CheckIcon` (`icons/*`) and `File`\n * (`graphics/*`) through the SYNCHRONOUS `renderToStaticMarkup` (see\n * `reactDomServerInRsc`). The async wrapper suspends, crashing that render\n * with \"A component suspended while responding to synchronous input\" and\n * taking down the entire field-diffs tree.\n * 2. Performance: the diff view (`views/Version/*` — `RenderFieldsToDiff` and\n * its per-field components, `DiffCollapser`, `SelectComparison`, the\n * `Default` template — plus the `HTMLDiff`/`FieldDiffContainer`/\n * `FieldDiffLabel` elements and lexical's `field/Diff/*`) renders dozens of\n * these wrapped components in the Flight stream. Each async CSS import\n * serializes a round-trip, ballooning the render from ~3s to ~25s and\n * blowing past the e2e waits. Stripping them collapses it back to ~3s.\n *\n * Safe because every one of these components' styles also ship in the global\n * `@payloadcms/ui/css/app.css` the admin imports, so dropping the per-module\n * RSC collection here changes nothing visually (verified: diff + Nav stay\n * styled). The admin `Nav` etc. are deliberately excluded — they rely on the\n * RSC collection and a broad strip leaves them unstyled.\n */\nconst DIFF_VIEW_COMPONENT_RE =\n /@payloadcms\\/ui\\/(?:dist|src)\\/(?:icons|graphics|views\\/Version|elements\\/(?:HTMLDiff|FieldDiffContainer|FieldDiffLabel))\\/|@payloadcms\\/richtext-lexical\\/(?:dist|src)\\/field\\/Diff\\//\n\n/**\n * Stops Vite (and the underlying Node ESM loader) from trying to load\n * SCSS/CSS/LESS during SSR/RSC when the importer lives inside a built\n * `dist/` directory or when the specifier is a bare package name.\n *\n * We do this two ways, because either layer can fail:\n *\n * 1. `resolveId` redirects style specifiers to a virtual empty module —\n * handles cases where Vite asks us to resolve them.\n * 2. `transform` strips top-level `import './x.css'` statements out of any\n * JS/TS file living under `node_modules/.../dist/` for non-client envs.\n * This is the bulletproof path for prod-packed `@payloadcms/ui` (and\n * similar) dependencies that get pre-bundled by Vite's SSR/RSC dep\n * optimizer (esbuild). Esbuild preserves `.css` import statements as-is,\n * and Node's native ESM loader then crashes with\n * `Unknown file extension \".css\"`. Removing them at the source avoids\n * that entirely.\n */\nexport function ssrStripDistStyleImports(): PluginOption {\n return {\n name: 'payload:ssr-strip-dist-style-imports',\n enforce: 'pre',\n load(id) {\n if (id === '\\0ssr-empty-style') {\n return ''\n }\n },\n resolveId(id, importer, options) {\n const envName = (this as any).environment?.name as string | undefined\n const isServerEnv = options?.ssr || (envName && envName !== 'client')\n if (!isServerEnv) {\n return\n }\n // Do NOT strip in the RSC environment. Server components (e.g. the admin\n // `Nav`, a non-'use client' component that `import './index.css'`) render\n // in the RSC graph, and `@vitejs/plugin-rsc` must SEE their `.css` imports\n // there to collect them as client stylesheets. Stripping them here means\n // their CSS is never emitted and the admin renders unstyled (broken nav\n // scroll/layout, etc.). The Node-side `.css` no-op is handled by\n // the test dev server's asset loader and by Vite's CSS extraction (build), so the\n // crash this plugin guards against does not require touching the RSC env.\n if (envName === 'rsc') {\n return\n }\n if (!STYLE_EXTENSION_RE.test(id)) {\n return\n }\n if (importer && (/\\/dist\\//.test(importer) || PAYLOAD_PKG_SRC_RE.test(importer))) {\n return '\\0ssr-empty-style'\n }\n if (/^@?[a-z]/.test(id) && !id.startsWith('.') && !id.startsWith('/')) {\n return '\\0ssr-empty-style'\n }\n },\n transform(code, id) {\n const envName = (this as any).environment?.name as string | undefined\n const isServerEnv = envName && envName !== 'client'\n if (!isServerEnv) {\n return\n }\n // In the RSC env, only strip from the version-diff component trees (see\n // `DIFF_VIEW_COMPONENT_RE`). Every other server component (the admin\n // `Nav`, etc.) must keep its `.css` import so plugin-rsc can collect it —\n // see the matching note in `resolveId` above.\n if (envName === 'rsc' && !DIFF_VIEW_COMPONENT_RE.test(id)) {\n return\n }\n // Only touch Payload dependency files: published `node_modules/.../dist/`\n // builds, or workspace `…/packages/<pkg>/src/…` sources in the core-dev /\n // test setup. Don't strip from the consumer's own app source — devs may\n // legitimately want SSR-rendered <link>s from their own CSS imports.\n const isPayloadDistFile = /\\/node_modules\\//.test(id) && /\\/dist\\//.test(id)\n const isPayloadSrcFile = PAYLOAD_PKG_SRC_RE.test(id)\n if (!isPayloadDistFile && !isPayloadSrcFile) {\n return\n }\n // Allow a trailing query (`?v=…`, `?t=…`): Vite appends version/timestamp\n // queries to module ids, especially in the RSC graph, so a strict `$`\n // anchor would skip e.g. `icons/Check/index.js?v=83de8543`.\n if (!/\\.[mc]?[jt]sx?(?:$|\\?)/.test(id)) {\n return\n }\n if (!STATIC_STYLE_IMPORT_RE.test(code)) {\n STATIC_STYLE_IMPORT_RE.lastIndex = 0\n return\n }\n STATIC_STYLE_IMPORT_RE.lastIndex = 0\n const stripped = code.replace(STATIC_STYLE_IMPORT_RE, '')\n return { code: stripped, map: null }\n },\n }\n}\n"],"names":["STYLE_EXTENSION_RE","STATIC_STYLE_IMPORT_RE","PAYLOAD_PKG_SRC_RE","DIFF_VIEW_COMPONENT_RE","ssrStripDistStyleImports","name","enforce","load","id","resolveId","importer","options","envName","environment","isServerEnv","ssr","test","startsWith","transform","code","isPayloadDistFile","isPayloadSrcFile","lastIndex","stripped","replace","map"],"mappings":"AAEA,MAAMA,qBAAqB;AAE3B;;;;;;;;CAQC,GACD,MAAMC,yBAAyB;AAE/B;;;;;CAKC,GACD,MAAMC,qBAAqB;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BC,GACD,MAAMC,yBACJ;AAEF;;;;;;;;;;;;;;;;;CAiBC,GACD,OAAO,SAASC;IACd,OAAO;QACLC,MAAM;QACNC,SAAS;QACTC,MAAKC,EAAE;YACL,IAAIA,OAAO,qBAAqB;gBAC9B,OAAO;YACT;QACF;QACAC,WAAUD,EAAE,EAAEE,QAAQ,EAAEC,OAAO;YAC7B,MAAMC,UAAU,AAAC,IAAI,CAASC,WAAW,EAAER;YAC3C,MAAMS,cAAcH,SAASI,OAAQH,WAAWA,YAAY;YAC5D,IAAI,CAACE,aAAa;gBAChB;YACF;YACA,yEAAyE;YACzE,0EAA0E;YAC1E,2EAA2E;YAC3E,yEAAyE;YACzE,wEAAwE;YACxE,iEAAiE;YACjE,kFAAkF;YAClF,0EAA0E;YAC1E,IAAIF,YAAY,OAAO;gBACrB;YACF;YACA,IAAI,CAACZ,mBAAmBgB,IAAI,CAACR,KAAK;gBAChC;YACF;YACA,IAAIE,YAAa,CAAA,WAAWM,IAAI,CAACN,aAAaR,mBAAmBc,IAAI,CAACN,SAAQ,GAAI;gBAChF,OAAO;YACT;YACA,IAAI,WAAWM,IAAI,CAACR,OAAO,CAACA,GAAGS,UAAU,CAAC,QAAQ,CAACT,GAAGS,UAAU,CAAC,MAAM;gBACrE,OAAO;YACT;QACF;QACAC,WAAUC,IAAI,EAAEX,EAAE;YAChB,MAAMI,UAAU,AAAC,IAAI,CAASC,WAAW,EAAER;YAC3C,MAAMS,cAAcF,WAAWA,YAAY;YAC3C,IAAI,CAACE,aAAa;gBAChB;YACF;YACA,wEAAwE;YACxE,qEAAqE;YACrE,0EAA0E;YAC1E,8CAA8C;YAC9C,IAAIF,YAAY,SAAS,CAACT,uBAAuBa,IAAI,CAACR,KAAK;gBACzD;YACF;YACA,0EAA0E;YAC1E,0EAA0E;YAC1E,wEAAwE;YACxE,qEAAqE;YACrE,MAAMY,oBAAoB,mBAAmBJ,IAAI,CAACR,OAAO,WAAWQ,IAAI,CAACR;YACzE,MAAMa,mBAAmBnB,mBAAmBc,IAAI,CAACR;YACjD,IAAI,CAACY,qBAAqB,CAACC,kBAAkB;gBAC3C;YACF;YACA,0EAA0E;YAC1E,sEAAsE;YACtE,4DAA4D;YAC5D,IAAI,CAAC,yBAAyBL,IAAI,CAACR,KAAK;gBACtC;YACF;YACA,IAAI,CAACP,uBAAuBe,IAAI,CAACG,OAAO;gBACtClB,uBAAuBqB,SAAS,GAAG;gBACnC;YACF;YACArB,uBAAuBqB,SAAS,GAAG;YACnC,MAAMC,WAAWJ,KAAKK,OAAO,CAACvB,wBAAwB;YACtD,OAAO;gBAAEkB,MAAMI;gBAAUE,KAAK;YAAK;QACrC;IACF;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/tanstack-start",
3
- "version": "4.0.0-internal.e7d4ebc",
3
+ "version": "4.0.0-internal.ea6e8f8",
4
4
  "description": "TanStack Start framework adapter for Payload",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -57,31 +57,34 @@
57
57
  "dist"
58
58
  ],
59
59
  "dependencies": {
60
+ "graphql-http": "1.22.4",
60
61
  "qs-esm": "^7.0.2",
61
- "@payloadcms/translations": "4.0.0-internal.e7d4ebc",
62
- "@payloadcms/ui": "4.0.0-internal.e7d4ebc"
62
+ "@payloadcms/graphql": "4.0.0-internal.ea6e8f8",
63
+ "@payloadcms/ui": "4.0.0-internal.ea6e8f8",
64
+ "@payloadcms/translations": "4.0.0-internal.ea6e8f8"
63
65
  },
64
66
  "devDependencies": {
65
67
  "@tanstack/react-router": "^1.120.0",
66
- "@tanstack/react-start": "^1.168.26",
68
+ "@tanstack/react-start": "^1.168.60",
67
69
  "@types/react": "^19.0.0",
68
70
  "@types/react-dom": "^19.0.0",
69
71
  "@vitejs/plugin-react": "^6.0.0",
70
72
  "@vitejs/plugin-rsc": "^0.5.21",
71
- "react": "^19.0.0",
72
- "react-dom": "^19.0.0",
73
+ "react": "19.3.0",
74
+ "react-dom": "19.3.0",
73
75
  "vite": ">=8.0.0",
74
- "payload": "4.0.0-internal.e7d4ebc"
76
+ "payload": "4.0.0-internal.ea6e8f8"
75
77
  },
76
78
  "peerDependencies": {
77
79
  "@tanstack/react-router": "^1.120.0",
78
- "@tanstack/react-start": "^1.168.26",
80
+ "@tanstack/react-start": "^1.168.60",
79
81
  "@vitejs/plugin-react": "^6.0.0",
80
82
  "@vitejs/plugin-rsc": "^0.5.21",
83
+ "graphql": "^16.8.1",
81
84
  "react": "^19.0.0",
82
85
  "react-dom": "^19.0.0",
83
86
  "vite": ">=8.0.0",
84
- "payload": "4.0.0-internal.e7d4ebc"
87
+ "payload": "4.0.0-internal.ea6e8f8"
85
88
  },
86
89
  "peerDependenciesMeta": {
87
90
  "@vitejs/plugin-react": {
@@ -98,14 +101,14 @@
98
101
  "node": "^18.20.2 || >=20.9.0"
99
102
  },
100
103
  "scripts": {
101
- "build": "pnpm build:types && pnpm build:swc && pnpm build:copy-mjs",
104
+ "build": "pnpm build:types && pnpm test:types && pnpm build:swc",
102
105
  "build:clean": "find . \\( -type d \\( -name build -o -name dist -o -name .cache \\) -o -type f -name tsconfig.tsbuildinfo \\) -exec rm -rf {} + && pnpm build",
103
- "build:copy-mjs": "node ./scripts/copyMjs.mjs",
104
106
  "build:debug": "pnpm build",
105
107
  "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
106
108
  "build:types": "tsc --emitDeclarationOnly --outDir dist",
107
109
  "clean": "rimraf {dist,*.tsbuildinfo}",
108
110
  "lint": "eslint .",
109
- "lint:fix": "eslint . --fix"
111
+ "lint:fix": "eslint . --fix",
112
+ "test:types": "tsc --project test/tsconfig.json"
110
113
  }
111
114
  }
@@ -1,16 +0,0 @@
1
- import type { ImportMap } from 'payload';
2
- import '@payloadcms/ui/elements/DocumentHeader/index.scss';
3
- import '@payloadcms/ui/elements/DocumentHeader/Tabs/index.scss';
4
- import '@payloadcms/ui/elements/DocumentHeader/Tabs/Tab/index.scss';
5
- import React from 'react';
6
- /**
7
- * Client-only DocumentHeader for non-RSC adapters.
8
- * Uses hooks to obtain config, permissions, and i18n instead of requiring `req`.
9
- */
10
- export declare function DocumentHeaderClient({ collectionSlug, globalSlug, hideTabs, importMap, }: {
11
- collectionSlug?: string;
12
- globalSlug?: string;
13
- hideTabs?: boolean;
14
- importMap: ImportMap;
15
- }): React.JSX.Element;
16
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DocumentHeaderClient/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,SAAS,EAAE,MAAM,SAAS,CAAA;AAG3D,OAAO,mDAAmD,CAAA;AAC1D,OAAO,wDAAwD,CAAA;AAC/D,OAAO,4DAA4D,CAAA;AAKnE,OAAO,KAAmB,MAAM,OAAO,CAAA;AAKvC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,UAAU,EACV,QAAQ,EACR,SAAS,GACV,EAAE;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;CACrB,qBAsGA"}
@@ -1,116 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Gutter, RenderTitle, useAuth, useConfig, useTranslation } from '@payloadcms/ui';
4
- import '@payloadcms/ui/elements/DocumentHeader/index.scss';
5
- import '@payloadcms/ui/elements/DocumentHeader/Tabs/index.scss';
6
- import '@payloadcms/ui/elements/DocumentHeader/Tabs/Tab/index.scss';
7
- import { ShouldRenderTabs } from '@payloadcms/ui/elements/DocumentHeader/Tabs/ShouldRenderTabs';
8
- import { DocumentTabLink } from '@payloadcms/ui/elements/DocumentHeader/Tabs/Tab/TabLink';
9
- import { getTabs } from '@payloadcms/ui/elements/DocumentHeader/Tabs/tabs';
10
- import { RenderClientComponent } from '@payloadcms/ui/elements/RenderServerComponent/clientOnly';
11
- import React, { Fragment } from 'react';
12
- const baseClass = 'doc-header';
13
- const tabBaseClass = 'doc-tab';
14
- /**
15
- * Client-only DocumentHeader for non-RSC adapters.
16
- * Uses hooks to obtain config, permissions, and i18n instead of requiring `req`.
17
- */ export function DocumentHeaderClient({ collectionSlug, globalSlug, hideTabs, importMap }) {
18
- const { config, getEntityConfig } = useConfig();
19
- const { permissions } = useAuth();
20
- const { t } = useTranslation();
21
- const collectionConfig = collectionSlug ? getEntityConfig({
22
- collectionSlug
23
- }) : null;
24
- const globalConfig = globalSlug ? getEntityConfig({
25
- globalSlug
26
- }) : null;
27
- const tabs = getTabs({
28
- collectionConfig: collectionConfig,
29
- globalConfig: globalConfig
30
- });
31
- return /*#__PURE__*/ _jsx(Gutter, {
32
- className: baseClass,
33
- children: /*#__PURE__*/ _jsxs("div", {
34
- className: `${baseClass}__header`,
35
- children: [
36
- /*#__PURE__*/ _jsx(RenderTitle, {
37
- className: `${baseClass}__title`
38
- }),
39
- !hideTabs && /*#__PURE__*/ _jsx(ShouldRenderTabs, {
40
- children: /*#__PURE__*/ _jsx("div", {
41
- className: "doc-tabs",
42
- children: /*#__PURE__*/ _jsx("div", {
43
- className: "doc-tabs__tabs-container",
44
- children: /*#__PURE__*/ _jsx("ul", {
45
- className: "doc-tabs__tabs",
46
- children: tabs?.map(({ tab: tabConfig, viewPath }, index)=>{
47
- if (tabConfig?.condition) {
48
- const meetsCondition = tabConfig.condition({
49
- collectionConfig: collectionConfig,
50
- config: config,
51
- globalConfig: globalConfig,
52
- permissions: permissions ?? {},
53
- req: undefined
54
- });
55
- if (!meetsCondition) {
56
- return null;
57
- }
58
- }
59
- if (tabConfig?.Component) {
60
- return /*#__PURE__*/ _jsx(RenderClientComponent, {
61
- clientProps: {
62
- path: viewPath
63
- },
64
- Component: tabConfig.Component,
65
- importMap: importMap
66
- }, `tab-${index}`);
67
- }
68
- const label = typeof tabConfig.label === 'function' ? tabConfig.label({
69
- t: t
70
- }) : tabConfig.label ?? '';
71
- let href;
72
- if (typeof tabConfig.href === 'function') {
73
- href = tabConfig.href({
74
- apiURL: undefined,
75
- collection: collectionConfig,
76
- global: globalConfig,
77
- routes: config.routes
78
- });
79
- } else {
80
- href = tabConfig.href ?? '';
81
- }
82
- const { Pill, Pill_Component } = tabConfig;
83
- return /*#__PURE__*/ _jsx(DocumentTabLink, {
84
- adminRoute: config.routes.admin,
85
- ariaLabel: label,
86
- baseClass: tabBaseClass,
87
- href: href,
88
- newTab: tabConfig.newTab,
89
- children: /*#__PURE__*/ _jsxs("span", {
90
- className: `${tabBaseClass}__label`,
91
- children: [
92
- label,
93
- Pill || Pill_Component ? /*#__PURE__*/ _jsxs(Fragment, {
94
- children: [
95
- " ",
96
- RenderClientComponent({
97
- Component: Pill,
98
- Fallback: Pill_Component,
99
- importMap
100
- })
101
- ]
102
- }) : null
103
- ]
104
- })
105
- }, `tab-${index}`);
106
- })
107
- })
108
- })
109
- })
110
- })
111
- ]
112
- })
113
- });
114
- }
115
-
116
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/elements/DocumentHeaderClient/index.tsx"],"sourcesContent":["'use client'\n\nimport type { DocumentTabConfig, ImportMap } from 'payload'\n\nimport { Gutter, RenderTitle, useAuth, useConfig, useTranslation } from '@payloadcms/ui'\nimport '@payloadcms/ui/elements/DocumentHeader/index.scss'\nimport '@payloadcms/ui/elements/DocumentHeader/Tabs/index.scss'\nimport '@payloadcms/ui/elements/DocumentHeader/Tabs/Tab/index.scss'\nimport { ShouldRenderTabs } from '@payloadcms/ui/elements/DocumentHeader/Tabs/ShouldRenderTabs'\nimport { DocumentTabLink } from '@payloadcms/ui/elements/DocumentHeader/Tabs/Tab/TabLink'\nimport { getTabs } from '@payloadcms/ui/elements/DocumentHeader/Tabs/tabs'\nimport { RenderClientComponent } from '@payloadcms/ui/elements/RenderServerComponent/clientOnly'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'doc-header'\nconst tabBaseClass = 'doc-tab'\n\n/**\n * Client-only DocumentHeader for non-RSC adapters.\n * Uses hooks to obtain config, permissions, and i18n instead of requiring `req`.\n */\nexport function DocumentHeaderClient({\n collectionSlug,\n globalSlug,\n hideTabs,\n importMap,\n}: {\n collectionSlug?: string\n globalSlug?: string\n hideTabs?: boolean\n importMap: ImportMap\n}) {\n const { config, getEntityConfig } = useConfig()\n const { permissions } = useAuth()\n const { t } = useTranslation()\n\n const collectionConfig = collectionSlug ? getEntityConfig({ collectionSlug }) : null\n const globalConfig = globalSlug ? getEntityConfig({ globalSlug }) : null\n\n const tabs = getTabs({\n collectionConfig: collectionConfig as any,\n globalConfig: globalConfig as any,\n })\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__header`}>\n <RenderTitle className={`${baseClass}__title`} />\n {!hideTabs && (\n <ShouldRenderTabs>\n <div className=\"doc-tabs\">\n <div className=\"doc-tabs__tabs-container\">\n <ul className=\"doc-tabs__tabs\">\n {tabs?.map(({ tab: tabConfig, viewPath }, index) => {\n if (tabConfig?.condition) {\n const meetsCondition = tabConfig.condition({\n collectionConfig: collectionConfig as any,\n config: config as any,\n globalConfig: globalConfig as any,\n permissions: permissions ?? ({} as any),\n req: undefined as any,\n })\n if (!meetsCondition) {\n return null\n }\n }\n\n if (tabConfig?.Component) {\n return (\n <RenderClientComponent\n clientProps={{ path: viewPath }}\n Component={tabConfig.Component}\n importMap={importMap}\n key={`tab-${index}`}\n />\n )\n }\n\n const label =\n typeof tabConfig.label === 'function'\n ? tabConfig.label({ t: t as any })\n : ((tabConfig.label as string) ?? '')\n\n let href: string\n if (typeof tabConfig.href === 'function') {\n href = tabConfig.href({\n apiURL: undefined as any,\n collection: collectionConfig as any,\n global: globalConfig as any,\n routes: config.routes as any,\n })\n } else {\n href = (tabConfig.href as string) ?? ''\n }\n\n const { Pill, Pill_Component } = tabConfig as {\n Pill?: DocumentTabConfig['Pill']\n Pill_Component?: React.FC\n }\n\n return (\n <DocumentTabLink\n adminRoute={config.routes.admin}\n ariaLabel={label}\n baseClass={tabBaseClass}\n href={href}\n key={`tab-${index}`}\n newTab={tabConfig.newTab}\n >\n <span className={`${tabBaseClass}__label`}>\n {label}\n {Pill || Pill_Component ? (\n <Fragment>\n &nbsp;\n {RenderClientComponent({\n Component: Pill,\n Fallback: Pill_Component,\n importMap,\n })}\n </Fragment>\n ) : null}\n </span>\n </DocumentTabLink>\n )\n })}\n </ul>\n </div>\n </div>\n </ShouldRenderTabs>\n )}\n </div>\n </Gutter>\n )\n}\n"],"names":["Gutter","RenderTitle","useAuth","useConfig","useTranslation","ShouldRenderTabs","DocumentTabLink","getTabs","RenderClientComponent","React","Fragment","baseClass","tabBaseClass","DocumentHeaderClient","collectionSlug","globalSlug","hideTabs","importMap","config","getEntityConfig","permissions","t","collectionConfig","globalConfig","tabs","className","div","ul","map","tab","tabConfig","viewPath","index","condition","meetsCondition","req","undefined","Component","clientProps","path","label","href","apiURL","collection","global","routes","Pill","Pill_Component","adminRoute","admin","ariaLabel","newTab","span","Fallback"],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { ComponentRenderer } from 'payload';
2
- /**
3
- * TanStack Start component renderer.
4
- *
5
- * Uses the RSC-aware renderer that passes `serverProps` to server components
6
- * (detected via `$$typeof` / `isReactServerComponentOrFunction`) and
7
- * `clientProps` only to client components.
8
- */
9
- export declare const TanStackComponentRenderer: ComponentRenderer;
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderComponent/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAIhD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAEvC,CAAA"}
@@ -1,12 +0,0 @@
1
- import { RenderRSCComponent } from '../../rsc/renderPayloadRSC.js';
2
- /**
3
- * TanStack Start component renderer.
4
- *
5
- * Uses the RSC-aware renderer that passes `serverProps` to server components
6
- * (detected via `$$typeof` / `isReactServerComponentOrFunction`) and
7
- * `clientProps` only to client components.
8
- */ export const TanStackComponentRenderer = (args)=>{
9
- return RenderRSCComponent(args);
10
- };
11
-
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/elements/RenderComponent/index.tsx"],"sourcesContent":["import type { ComponentRenderer } from 'payload'\n\nimport { RenderRSCComponent } from '../../rsc/renderPayloadRSC.js'\n\n/**\n * TanStack Start component renderer.\n *\n * Uses the RSC-aware renderer that passes `serverProps` to server components\n * (detected via `$$typeof` / `isReactServerComponentOrFunction`) and\n * `clientProps` only to client components.\n */\nexport const TanStackComponentRenderer: ComponentRenderer = (args) => {\n return RenderRSCComponent(args)\n}\n"],"names":["RenderRSCComponent","TanStackComponentRenderer","args"],"mappings":"AAEA,SAASA,kBAAkB,QAAQ,gCAA+B;AAElE;;;;;;CAMC,GACD,OAAO,MAAMC,4BAA+C,CAACC;IAC3D,OAAOF,mBAAmBE;AAC5B,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RouterAdapter/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAuDvE,eAAO,MAAM,qBAAqB,EAAE,sBAyGnC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/elements/RouterAdapter/index.tsx"],"sourcesContent":["'use client'\n\nimport type { RouterAdapterContextValue } from '@payloadcms/ui'\nimport type { LinkAdapterProps, RouterAdapterComponent } from 'payload'\n\nimport { RouterAdapterContext } from '@payloadcms/ui'\nimport { Link as TanStackLink, useLocation, useParams, useRouter } from '@tanstack/react-router'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\n\nconst normalizeNavigationTarget = ({\n path,\n pathname,\n search,\n}: {\n path: string\n pathname: string\n search: string\n}) => {\n if (path.startsWith('http')) {\n const url = new URL(path)\n return `${url.pathname}${url.search}${url.hash}`\n }\n\n if (path.startsWith('?')) {\n return `${pathname}${path}`\n }\n\n if (path.startsWith('#')) {\n return `${pathname}${search}${path}`\n }\n\n return path\n}\n\nconst TanStackLinkAdapter: React.FC<LinkAdapterProps> = ({\n children,\n href,\n prefetch,\n ref,\n replace,\n scroll,\n ...rest\n}) => {\n return (\n <TanStackLink\n preload={prefetch === false ? false : 'intent'}\n ref={ref}\n replace={replace}\n resetScroll={scroll}\n to={href}\n {...rest}\n >\n {children}\n </TanStackLink>\n )\n}\n\nexport const TanStackRouterAdapter: RouterAdapterComponent = ({ children }) => {\n const router = useRouter()\n const location = useLocation()\n const params = useParams({ strict: false })\n\n const adaptedParams = useMemo(() => {\n const adapted: Record<string, string | string[]> = { ...params }\n\n if ('_splat' in params && typeof params._splat === 'string') {\n adapted.segments = params._splat.split('/').filter(Boolean)\n }\n\n return adapted\n }, [params])\n\n // Split a target into `to` (pathname) + a parsed `search` object, so the\n // router serializes the query via its `stringifySearch` (qs, bracket-encoded)\n // rather than embedding the raw string in `to`. Navigating with a string `to`\n // leaves the search *unencoded* in `window.location.search`\n // (e.g. `where[or][0]…`), which then never matches Payload's `qs.stringify`\n // output (`where%5Bor%5D…`) — breaking the list-view `syncPropsToURL` guard,\n // which compares the two and would otherwise clobber optimistic query state\n // (e.g. an in-progress filter condition) on every navigation.\n const toNavOptions = useCallback((path: string) => {\n const relativePath = normalizeNavigationTarget({\n path,\n pathname: window.location.pathname,\n search: window.location.search,\n })\n\n const queryIndex = relativePath.indexOf('?')\n\n if (queryIndex === -1) {\n return { to: relativePath }\n }\n\n const searchObject = qs.parse(relativePath.slice(queryIndex + 1), {\n depth: 10,\n ignoreQueryPrefix: true,\n })\n\n // Function form replaces the search entirely (no merge with current search).\n return { search: () => searchObject, to: relativePath.slice(0, queryIndex) }\n }, [])\n\n const back = useCallback(() => router.history.back(), [router])\n\n const push = useCallback(\n (path: string, options?: { scroll?: boolean }) => {\n void router.navigate({ ...toNavOptions(path), resetScroll: options?.scroll })\n },\n [router, toNavOptions],\n )\n\n const refresh = useCallback(() => {\n void router.invalidate()\n }, [router])\n\n const replace = useCallback(\n (path: string, options?: { scroll?: boolean }) => {\n void router.navigate({ ...toNavOptions(path), replace: true, resetScroll: options?.scroll })\n },\n [router, toNavOptions],\n )\n\n // Mirror Next.js' router behavior to allow syncing client state to the URL without triggering a second server load.\n // TanStack's browser history monkeypatches `window.history.replaceState` and notifies `router.load` on every call.\n // Use `_ignoreSubscribers` to suppresses that notification — the same flag TanStack uses internally when flushing history.\n const replaceState = useCallback(\n (url: string) => {\n const { history } = router\n history._ignoreSubscribers = true\n\n try {\n window.history.replaceState(null, '', url)\n } finally {\n history._ignoreSubscribers = false\n }\n },\n [router],\n )\n\n const adaptedRouter = useMemo(\n () => ({ back, push, refresh, replace, replaceState }),\n [back, push, refresh, replace, replaceState],\n )\n\n // `location.searchStr` is the serialized query string; `location.search` is\n // the parsed object (a nested structure once the router uses `qs` for search\n // serialization), which `URLSearchParams` cannot consume. Build from the\n // string so Payload's `parseSearchParams` re-parses the bracket notation.\n const searchParams = useMemo(() => new URLSearchParams(location.searchStr), [location.searchStr])\n\n const value: RouterAdapterContextValue = useMemo(\n () => ({\n Link: TanStackLinkAdapter,\n params: adaptedParams,\n pathname: location.pathname,\n router: adaptedRouter,\n searchParams,\n }),\n [adaptedParams, location.pathname, adaptedRouter, searchParams],\n )\n\n return <RouterAdapterContext value={value}>{children}</RouterAdapterContext>\n}\n"],"names":["RouterAdapterContext","Link","TanStackLink","useLocation","useParams","useRouter","qs","React","useCallback","useMemo","normalizeNavigationTarget","path","pathname","search","startsWith","url","URL","hash","TanStackLinkAdapter","children","href","prefetch","ref","replace","scroll","rest","preload","resetScroll","to","TanStackRouterAdapter","router","location","params","strict","adaptedParams","adapted","_splat","segments","split","filter","Boolean","toNavOptions","relativePath","window","queryIndex","indexOf","searchObject","parse","slice","depth","ignoreQueryPrefix","back","history","push","options","navigate","refresh","invalidate","replaceState","_ignoreSubscribers","adaptedRouter","searchParams","URLSearchParams","searchStr","value"],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { ImportMap, SanitizedConfig } from 'payload';
2
- import type { RootLayoutData } from './index.js';
3
- export type GetLayoutDataArgs = {
4
- configPromise: Promise<SanitizedConfig> | SanitizedConfig;
5
- importMap: ImportMap;
6
- };
7
- /**
8
- * Fetches all data needed by the root admin layout.
9
- * Call this in your TanStack Start root route loader.
10
- */
11
- export declare function getLayoutData({ configPromise, importMap, }: GetLayoutDataArgs): Promise<RootLayoutData>;
12
- //# sourceMappingURL=getLayoutData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getLayoutData.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/getLayoutData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAmB,eAAe,EAAe,MAAM,SAAS,CAAA;AAUvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IACzD,SAAS,EAAE,SAAS,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,EAClC,aAAa,EACb,SAAS,GACV,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAsF7C"}
@@ -1,91 +0,0 @@
1
- import { getNavPrefs } from '@payloadcms/ui/elements/Nav/getNavPrefs';
2
- import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
3
- import { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig';
4
- import { getRequestTheme } from '@payloadcms/ui/utilities/getRequestTheme';
5
- import { Outlet } from '@tanstack/react-router';
6
- import { applyLocaleFiltering } from 'payload/shared';
7
- import { createElement } from 'react';
8
- import { initReq } from '../../utilities/initReq.server.js';
9
- /**
10
- * Fetches all data needed by the root admin layout.
11
- * Call this in your TanStack Start root route loader.
12
- */ export async function getLayoutData({ configPromise, importMap }) {
13
- const { cookies, headers, languageCode, permissions, req, req: { payload: { config } } } = await initReq({
14
- configPromise,
15
- importMap
16
- });
17
- const theme = getRequestTheme({
18
- config,
19
- cookies,
20
- headers
21
- });
22
- const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce((acc, [language, languageConfig])=>{
23
- if (Object.keys(config.i18n.supportedLanguages).includes(language)) {
24
- acc.push({
25
- label: languageConfig.translations.general.thisLanguage,
26
- value: language
27
- });
28
- }
29
- return acc;
30
- }, []);
31
- const navPrefs = await getNavPrefs(req);
32
- const clientConfig = getClientConfig({
33
- config,
34
- i18n: req.i18n,
35
- importMap,
36
- user: req.user ?? true
37
- });
38
- await applyLocaleFiltering({
39
- clientConfig,
40
- config,
41
- req
42
- });
43
- // Build the custom admin provider tree (`config.admin.components.providers`)
44
- // nested around the router `<Outlet />`, mirroring the Next adapter's
45
- // `NestProviders`. Returned as an unrendered element; the caller's server
46
- // function renders it to an RSC payload (so server-component providers run
47
- // server-side and client providers wrap the live Outlet). `undefined` when
48
- // no custom providers are configured — the caller falls back to `<Outlet />`.
49
- const providerPaths = config.admin?.components?.providers;
50
- let providers = undefined;
51
- if (Array.isArray(providerPaths) && providerPaths.length > 0) {
52
- const serverProps = {
53
- i18n: req.i18n,
54
- params: {},
55
- payload: req.payload,
56
- permissions,
57
- searchParams: {},
58
- server: req.server,
59
- user: req.user ?? undefined
60
- };
61
- // Mirror the Next adapter's `NestProviders`: render each configured provider
62
- // via `RenderServerComponent` so the entry's own `clientProps`/`serverProps`
63
- // (e.g. plugin-multi-tenant's `userHasAccessToAllTenants`) are merged in, and
64
- // server components receive `serverProps` while client components get only
65
- // `clientProps`. Nested around the router `<Outlet />` instead of `children`.
66
- providers = providerPaths.reduceRight((children, provider)=>RenderServerComponent({
67
- clientProps: {
68
- children
69
- },
70
- Component: provider,
71
- importMap,
72
- serverProps
73
- }), createElement(Outlet));
74
- }
75
- return {
76
- clientConfig,
77
- dateFNSKey: req.i18n.dateFNSKey,
78
- fallbackLang: config.i18n.fallbackLanguage,
79
- isNavOpen: navPrefs?.open ?? true,
80
- languageCode,
81
- languageOptions,
82
- locale: req.locale ?? undefined,
83
- permissions,
84
- providers,
85
- theme,
86
- translations: req.i18n.translations,
87
- user: req.user
88
- };
89
- }
90
-
91
- //# sourceMappingURL=getLayoutData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/layouts/Root/getLayoutData.ts"],"sourcesContent":["import type { AcceptedLanguages } from '@payloadcms/translations'\nimport type { ImportMap, LanguageOptions, SanitizedConfig, ServerProps } from 'payload'\n\nimport { getNavPrefs } from '@payloadcms/ui/elements/Nav/getNavPrefs'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { getRequestTheme } from '@payloadcms/ui/utilities/getRequestTheme'\nimport { Outlet } from '@tanstack/react-router'\nimport { applyLocaleFiltering } from 'payload/shared'\nimport { createElement } from 'react'\n\nimport type { RootLayoutData } from './index.js'\n\nimport { initReq } from '../../utilities/initReq.server.js'\n\nexport type GetLayoutDataArgs = {\n configPromise: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n}\n\n/**\n * Fetches all data needed by the root admin layout.\n * Call this in your TanStack Start root route loader.\n */\nexport async function getLayoutData({\n configPromise,\n importMap,\n}: GetLayoutDataArgs): Promise<RootLayoutData> {\n const {\n cookies,\n headers,\n languageCode,\n permissions,\n req,\n req: {\n payload: { config },\n },\n } = await initReq({ configPromise, importMap })\n\n const theme = getRequestTheme({ config, cookies, headers })\n\n const languageOptions: LanguageOptions = Object.entries(\n config.i18n.supportedLanguages || {},\n ).reduce((acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language as AcceptedLanguages,\n })\n }\n return acc\n }, [] as LanguageOptions)\n\n const navPrefs = await getNavPrefs(req)\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: req.user ?? true,\n })\n\n await applyLocaleFiltering({ clientConfig, config, req })\n\n // Build the custom admin provider tree (`config.admin.components.providers`)\n // nested around the router `<Outlet />`, mirroring the Next adapter's\n // `NestProviders`. Returned as an unrendered element; the caller's server\n // function renders it to an RSC payload (so server-component providers run\n // server-side and client providers wrap the live Outlet). `undefined` when\n // no custom providers are configured — the caller falls back to `<Outlet />`.\n const providerPaths = config.admin?.components?.providers\n let providers: React.ReactNode = undefined\n if (Array.isArray(providerPaths) && providerPaths.length > 0) {\n const serverProps: ServerProps = {\n i18n: req.i18n,\n params: {},\n payload: req.payload,\n permissions,\n searchParams: {},\n server: req.server!,\n user: req.user ?? undefined,\n }\n // Mirror the Next adapter's `NestProviders`: render each configured provider\n // via `RenderServerComponent` so the entry's own `clientProps`/`serverProps`\n // (e.g. plugin-multi-tenant's `userHasAccessToAllTenants`) are merged in, and\n // server components receive `serverProps` while client components get only\n // `clientProps`. Nested around the router `<Outlet />` instead of `children`.\n providers = providerPaths.reduceRight<React.ReactNode>(\n (children, provider) =>\n RenderServerComponent({\n clientProps: { children },\n Component: provider,\n importMap,\n serverProps,\n }),\n createElement(Outlet),\n )\n }\n\n return {\n clientConfig,\n dateFNSKey: req.i18n.dateFNSKey,\n fallbackLang: config.i18n.fallbackLanguage,\n isNavOpen: navPrefs?.open ?? true,\n languageCode,\n languageOptions,\n locale: req.locale ?? undefined,\n permissions,\n providers,\n theme,\n translations: req.i18n.translations,\n user: req.user,\n }\n}\n"],"names":["getNavPrefs","RenderServerComponent","getClientConfig","getRequestTheme","Outlet","applyLocaleFiltering","createElement","initReq","getLayoutData","configPromise","importMap","cookies","headers","languageCode","permissions","req","payload","config","theme","languageOptions","Object","entries","i18n","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","value","navPrefs","clientConfig","user","providerPaths","admin","components","providers","undefined","Array","isArray","length","serverProps","params","searchParams","server","reduceRight","children","provider","clientProps","Component","dateFNSKey","fallbackLang","fallbackLanguage","isNavOpen","open","locale"],"mappings":"AAGA,SAASA,WAAW,QAAQ,0CAAyC;AACrE,SAASC,qBAAqB,QAAQ,gDAA+C;AACrF,SAASC,eAAe,QAAQ,2CAA0C;AAC1E,SAASC,eAAe,QAAQ,2CAA0C;AAC1E,SAASC,MAAM,QAAQ,yBAAwB;AAC/C,SAASC,oBAAoB,QAAQ,iBAAgB;AACrD,SAASC,aAAa,QAAQ,QAAO;AAIrC,SAASC,OAAO,QAAQ,oCAAmC;AAO3D;;;CAGC,GACD,OAAO,eAAeC,cAAc,EAClCC,aAAa,EACbC,SAAS,EACS;IAClB,MAAM,EACJC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,WAAW,EACXC,GAAG,EACHA,KAAK,EACHC,SAAS,EAAEC,MAAM,EAAE,EACpB,EACF,GAAG,MAAMV,QAAQ;QAAEE;QAAeC;IAAU;IAE7C,MAAMQ,QAAQf,gBAAgB;QAAEc;QAAQN;QAASC;IAAQ;IAEzD,MAAMO,kBAAmCC,OAAOC,OAAO,CACrDJ,OAAOK,IAAI,CAACC,kBAAkB,IAAI,CAAC,GACnCC,MAAM,CAAC,CAACC,KAAK,CAACC,UAAUC,eAAe;QACvC,IAAIP,OAAOQ,IAAI,CAACX,OAAOK,IAAI,CAACC,kBAAkB,EAAEM,QAAQ,CAACH,WAAW;YAClED,IAAIK,IAAI,CAAC;gBACPC,OAAOJ,eAAeK,YAAY,CAACC,OAAO,CAACC,YAAY;gBACvDC,OAAOT;YACT;QACF;QACA,OAAOD;IACT,GAAG,EAAE;IAEL,MAAMW,WAAW,MAAMpC,YAAYe;IAEnC,MAAMsB,eAAenC,gBAAgB;QACnCe;QACAK,MAAMP,IAAIO,IAAI;QACdZ;QACA4B,MAAMvB,IAAIuB,IAAI,IAAI;IACpB;IAEA,MAAMjC,qBAAqB;QAAEgC;QAAcpB;QAAQF;IAAI;IAEvD,6EAA6E;IAC7E,sEAAsE;IACtE,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAMwB,gBAAgBtB,OAAOuB,KAAK,EAAEC,YAAYC;IAChD,IAAIA,YAA6BC;IACjC,IAAIC,MAAMC,OAAO,CAACN,kBAAkBA,cAAcO,MAAM,GAAG,GAAG;QAC5D,MAAMC,cAA2B;YAC/BzB,MAAMP,IAAIO,IAAI;YACd0B,QAAQ,CAAC;YACThC,SAASD,IAAIC,OAAO;YACpBF;YACAmC,cAAc,CAAC;YACfC,QAAQnC,IAAImC,MAAM;YAClBZ,MAAMvB,IAAIuB,IAAI,IAAIK;QACpB;QACA,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,2EAA2E;QAC3E,8EAA8E;QAC9ED,YAAYH,cAAcY,WAAW,CACnC,CAACC,UAAUC,WACTpD,sBAAsB;gBACpBqD,aAAa;oBAAEF;gBAAS;gBACxBG,WAAWF;gBACX3C;gBACAqC;YACF,IACFzC,cAAcF;IAElB;IAEA,OAAO;QACLiC;QACAmB,YAAYzC,IAAIO,IAAI,CAACkC,UAAU;QAC/BC,cAAcxC,OAAOK,IAAI,CAACoC,gBAAgB;QAC1CC,WAAWvB,UAAUwB,QAAQ;QAC7B/C;QACAM;QACA0C,QAAQ9C,IAAI8C,MAAM,IAAIlB;QACtB7B;QACA4B;QACAxB;QACAc,cAAcjB,IAAIO,IAAI,CAACU,YAAY;QACnCM,MAAMvB,IAAIuB,IAAI;IAChB;AACF"}
@@ -1,32 +0,0 @@
1
- import type { I18nClient } from '@payloadcms/translations';
2
- import type { Theme } from '@payloadcms/ui';
3
- import type { ClientConfig, LanguageOptions, SanitizedPermissions, ServerFunctionClient, User } from 'payload';
4
- import React from 'react';
5
- import '@payloadcms/ui/scss/app.scss';
6
- export type RootLayoutData = {
7
- clientConfig: ClientConfig;
8
- dateFNSKey: I18nClient['dateFNSKey'];
9
- fallbackLang: string;
10
- isNavOpen: boolean;
11
- languageCode: string;
12
- languageOptions: LanguageOptions;
13
- locale?: string;
14
- permissions: SanitizedPermissions;
15
- /**
16
- * Custom admin provider tree (`config.admin.components.providers`) nested
17
- * around the router `<Outlet />`. Built unrendered by `getLayoutData`; the
18
- * layout server function renders it to an RSC payload before it reaches the
19
- * client. `undefined` when no custom providers are configured.
20
- */
21
- providers?: React.ReactNode;
22
- theme: Theme;
23
- translations: I18nClient['translations'];
24
- user: null | User;
25
- };
26
- export type RootLayoutProps = {
27
- readonly children: React.ReactNode;
28
- readonly data: RootLayoutData;
29
- readonly serverFunction: ServerFunctionClient;
30
- };
31
- export declare function RootLayout({ children, data, serverFunction }: RootLayoutProps): React.JSX.Element;
32
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,IAAI,EACL,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,8BAA8B,CAAA;AAIrC,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAA;IAC1B,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,eAAe,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,oBAAoB,CAAA;IACjC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,KAAK,EAAE,KAAK,CAAA;IACZ,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;IACxC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;CAC9C,CAAA;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,eAAe,qBAgC7E"}
@@ -1,53 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ProgressBar, RootProvider } from '@payloadcms/ui';
3
- import { getLanguageDir } from '@payloadcms/ui/utilities/getLanguageDir';
4
- import React from 'react';
5
- import '@payloadcms/ui/scss/app.scss';
6
- import { TanStackRouterAdapter } from '../../elements/RouterAdapter/index.js';
7
- export function RootLayout({ children, data, serverFunction }) {
8
- const dir = getLanguageDir({
9
- languageCode: data.languageCode
10
- });
11
- return /*#__PURE__*/ _jsxs("html", {
12
- "data-theme": data.theme,
13
- dir: dir,
14
- lang: data.languageCode,
15
- suppressHydrationWarning: true,
16
- children: [
17
- /*#__PURE__*/ _jsx("head", {
18
- children: /*#__PURE__*/ _jsx("style", {
19
- children: `@layer payload-default, payload;`
20
- })
21
- }),
22
- /*#__PURE__*/ _jsxs("body", {
23
- children: [
24
- /*#__PURE__*/ _jsxs(RootProvider, {
25
- config: data.clientConfig,
26
- dateFNSKey: data.dateFNSKey,
27
- fallbackLang: data.fallbackLang,
28
- highContrastMode: false,
29
- isNavOpen: data.isNavOpen,
30
- languageCode: data.languageCode,
31
- languageOptions: data.languageOptions,
32
- locale: data.locale,
33
- permissions: data.user ? data.permissions : null,
34
- RouterAdapter: TanStackRouterAdapter,
35
- serverFunction: serverFunction,
36
- theme: data.theme,
37
- translations: data.translations,
38
- user: data.user,
39
- children: [
40
- /*#__PURE__*/ _jsx(ProgressBar, {}),
41
- children
42
- ]
43
- }),
44
- /*#__PURE__*/ _jsx("div", {
45
- id: "portal"
46
- })
47
- ]
48
- })
49
- ]
50
- });
51
- }
52
-
53
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages, I18nClient } from '@payloadcms/translations'\nimport type { Theme } from '@payloadcms/ui'\nimport type {\n ClientConfig,\n LanguageOptions,\n SanitizedPermissions,\n ServerFunctionClient,\n User,\n} from 'payload'\n\nimport { ProgressBar, RootProvider } from '@payloadcms/ui'\nimport { getLanguageDir } from '@payloadcms/ui/utilities/getLanguageDir'\nimport React from 'react'\nimport '@payloadcms/ui/scss/app.scss'\n\nimport { TanStackRouterAdapter } from '../../elements/RouterAdapter/index.js'\n\nexport type RootLayoutData = {\n clientConfig: ClientConfig\n dateFNSKey: I18nClient['dateFNSKey']\n fallbackLang: string\n isNavOpen: boolean\n languageCode: string\n languageOptions: LanguageOptions\n locale?: string\n permissions: SanitizedPermissions\n /**\n * Custom admin provider tree (`config.admin.components.providers`) nested\n * around the router `<Outlet />`. Built unrendered by `getLayoutData`; the\n * layout server function renders it to an RSC payload before it reaches the\n * client. `undefined` when no custom providers are configured.\n */\n providers?: React.ReactNode\n theme: Theme\n translations: I18nClient['translations']\n user: null | User\n}\n\nexport type RootLayoutProps = {\n readonly children: React.ReactNode\n readonly data: RootLayoutData\n readonly serverFunction: ServerFunctionClient\n}\n\nexport function RootLayout({ children, data, serverFunction }: RootLayoutProps) {\n const dir = getLanguageDir({ languageCode: data.languageCode })\n\n return (\n <html data-theme={data.theme} dir={dir} lang={data.languageCode} suppressHydrationWarning>\n <head>\n <style>{`@layer payload-default, payload;`}</style>\n </head>\n <body>\n <RootProvider\n config={data.clientConfig}\n dateFNSKey={data.dateFNSKey}\n fallbackLang={data.fallbackLang as AcceptedLanguages}\n highContrastMode={false}\n isNavOpen={data.isNavOpen}\n languageCode={data.languageCode}\n languageOptions={data.languageOptions}\n locale={data.locale}\n permissions={(data.user ? data.permissions : null) as unknown as SanitizedPermissions}\n RouterAdapter={TanStackRouterAdapter}\n serverFunction={serverFunction}\n theme={data.theme}\n translations={data.translations}\n user={data.user}\n >\n <ProgressBar />\n {children}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"names":["ProgressBar","RootProvider","getLanguageDir","React","TanStackRouterAdapter","RootLayout","children","data","serverFunction","dir","languageCode","html","data-theme","theme","lang","suppressHydrationWarning","head","style","body","config","clientConfig","dateFNSKey","fallbackLang","highContrastMode","isNavOpen","languageOptions","locale","permissions","user","RouterAdapter","translations","div","id"],"mappings":";AAUA,SAASA,WAAW,EAAEC,YAAY,QAAQ,iBAAgB;AAC1D,SAASC,cAAc,QAAQ,0CAAyC;AACxE,OAAOC,WAAW,QAAO;AACzB,OAAO,+BAA8B;AAErC,SAASC,qBAAqB,QAAQ,wCAAuC;AA6B7E,OAAO,SAASC,WAAW,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,cAAc,EAAmB;IAC5E,MAAMC,MAAMP,eAAe;QAAEQ,cAAcH,KAAKG,YAAY;IAAC;IAE7D,qBACE,MAACC;QAAKC,cAAYL,KAAKM,KAAK;QAAEJ,KAAKA;QAAKK,MAAMP,KAAKG,YAAY;QAAEK,wBAAwB;;0BACvF,KAACC;0BACC,cAAA,KAACC;8BAAO,CAAC,gCAAgC,CAAC;;;0BAE5C,MAACC;;kCACC,MAACjB;wBACCkB,QAAQZ,KAAKa,YAAY;wBACzBC,YAAYd,KAAKc,UAAU;wBAC3BC,cAAcf,KAAKe,YAAY;wBAC/BC,kBAAkB;wBAClBC,WAAWjB,KAAKiB,SAAS;wBACzBd,cAAcH,KAAKG,YAAY;wBAC/Be,iBAAiBlB,KAAKkB,eAAe;wBACrCC,QAAQnB,KAAKmB,MAAM;wBACnBC,aAAcpB,KAAKqB,IAAI,GAAGrB,KAAKoB,WAAW,GAAG;wBAC7CE,eAAezB;wBACfI,gBAAgBA;wBAChBK,OAAON,KAAKM,KAAK;wBACjBiB,cAAcvB,KAAKuB,YAAY;wBAC/BF,MAAMrB,KAAKqB,IAAI;;0CAEf,KAAC5B;4BACAM;;;kCAEH,KAACyB;wBAAIC,IAAG;;;;;;AAIhB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"withPayloadRoot.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/withPayloadRoot.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,qBAmCrE;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAAC,EAC7D,OAAO,GAAE,sBAA2B,kBAIW;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,uBAc7E"}