@payloadcms/tanstack-start 4.0.0-canary.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/LICENSE.md +22 -0
  2. package/dist/auth/login.d.ts +17 -0
  3. package/dist/auth/login.d.ts.map +1 -0
  4. package/dist/auth/login.js +50 -0
  5. package/dist/auth/login.js.map +1 -0
  6. package/dist/auth/logout.d.ts +9 -0
  7. package/dist/auth/logout.d.ts.map +1 -0
  8. package/dist/auth/logout.js +51 -0
  9. package/dist/auth/logout.js.map +1 -0
  10. package/dist/auth/refresh.d.ts +8 -0
  11. package/dist/auth/refresh.d.ts.map +1 -0
  12. package/dist/auth/refresh.js +53 -0
  13. package/dist/auth/refresh.js.map +1 -0
  14. package/dist/elements/DocumentHeaderClient/index.d.ts +16 -0
  15. package/dist/elements/DocumentHeaderClient/index.d.ts.map +1 -0
  16. package/dist/elements/DocumentHeaderClient/index.js +116 -0
  17. package/dist/elements/DocumentHeaderClient/index.js.map +1 -0
  18. package/dist/elements/RenderComponent/index.d.ts +10 -0
  19. package/dist/elements/RenderComponent/index.d.ts.map +1 -0
  20. package/dist/elements/RenderComponent/index.js +12 -0
  21. package/dist/elements/RenderComponent/index.js.map +1 -0
  22. package/dist/elements/RouterAdapter/index.d.ts +3 -0
  23. package/dist/elements/RouterAdapter/index.d.ts.map +1 -0
  24. package/dist/elements/RouterAdapter/index.js +141 -0
  25. package/dist/elements/RouterAdapter/index.js.map +1 -0
  26. package/dist/exports/client.d.ts +8 -0
  27. package/dist/exports/client.d.ts.map +1 -0
  28. package/dist/exports/client.js +10 -0
  29. package/dist/exports/client.js.map +1 -0
  30. package/dist/exports/layouts.d.ts +6 -0
  31. package/dist/exports/layouts.d.ts.map +1 -0
  32. package/dist/exports/layouts.js +5 -0
  33. package/dist/exports/layouts.js.map +1 -0
  34. package/dist/exports/rsc.browser.d.ts +12 -0
  35. package/dist/exports/rsc.browser.d.ts.map +1 -0
  36. package/dist/exports/rsc.browser.js +12 -0
  37. package/dist/exports/rsc.browser.js.map +1 -0
  38. package/dist/exports/rsc.d.ts +5 -0
  39. package/dist/exports/rsc.d.ts.map +1 -0
  40. package/dist/exports/rsc.js +6 -0
  41. package/dist/exports/rsc.js.map +1 -0
  42. package/dist/exports/server.d.ts +17 -0
  43. package/dist/exports/server.d.ts.map +1 -0
  44. package/dist/exports/server.js +18 -0
  45. package/dist/exports/server.js.map +1 -0
  46. package/dist/exports/vite.d.ts +3 -0
  47. package/dist/exports/vite.d.ts.map +1 -0
  48. package/dist/exports/vite.js +3 -0
  49. package/dist/exports/vite.js.map +1 -0
  50. package/dist/index.d.ts +6 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +7 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/layouts/Root/getLayoutData.d.ts +12 -0
  55. package/dist/layouts/Root/getLayoutData.d.ts.map +1 -0
  56. package/dist/layouts/Root/getLayoutData.js +91 -0
  57. package/dist/layouts/Root/getLayoutData.js.map +1 -0
  58. package/dist/layouts/Root/index.d.ts +32 -0
  59. package/dist/layouts/Root/index.d.ts.map +1 -0
  60. package/dist/layouts/Root/index.js +51 -0
  61. package/dist/layouts/Root/index.js.map +1 -0
  62. package/dist/layouts/Root/withPayloadRoot.d.ts +65 -0
  63. package/dist/layouts/Root/withPayloadRoot.d.ts.map +1 -0
  64. package/dist/layouts/Root/withPayloadRoot.js +92 -0
  65. package/dist/layouts/Root/withPayloadRoot.js.map +1 -0
  66. package/dist/node/cssLoader.d.mts +3 -0
  67. package/dist/node/cssLoader.d.mts.map +1 -0
  68. package/dist/node/cssLoader.js +70 -0
  69. package/dist/node/cssLoader.js.map +1 -0
  70. package/dist/node/cssLoader.mjs +75 -0
  71. package/dist/node/registerCssLoader.d.mts +2 -0
  72. package/dist/node/registerCssLoader.d.mts.map +1 -0
  73. package/dist/node/registerCssLoader.js +10 -0
  74. package/dist/node/registerCssLoader.js.map +1 -0
  75. package/dist/node/registerCssLoader.mjs +10 -0
  76. package/dist/routes/adminRoutes.d.ts +111 -0
  77. package/dist/routes/adminRoutes.d.ts.map +1 -0
  78. package/dist/routes/adminRoutes.js +108 -0
  79. package/dist/routes/adminRoutes.js.map +1 -0
  80. package/dist/routes/apiRoute.d.ts +29 -0
  81. package/dist/routes/apiRoute.d.ts.map +1 -0
  82. package/dist/routes/apiRoute.js +38 -0
  83. package/dist/routes/apiRoute.js.map +1 -0
  84. package/dist/routes/layoutRoute.d.ts +26 -0
  85. package/dist/routes/layoutRoute.d.ts.map +1 -0
  86. package/dist/routes/layoutRoute.js +57 -0
  87. package/dist/routes/layoutRoute.js.map +1 -0
  88. package/dist/rsc/CollectionCards.d.ts +4 -0
  89. package/dist/rsc/CollectionCards.d.ts.map +1 -0
  90. package/dist/rsc/CollectionCards.js +12 -0
  91. package/dist/rsc/CollectionCards.js.map +1 -0
  92. package/dist/rsc/HierarchyTypeFieldServer.d.ts +9 -0
  93. package/dist/rsc/HierarchyTypeFieldServer.d.ts.map +1 -0
  94. package/dist/rsc/HierarchyTypeFieldServer.js +35 -0
  95. package/dist/rsc/HierarchyTypeFieldServer.js.map +1 -0
  96. package/dist/rsc/renderOnDemand.d.ts +15 -0
  97. package/dist/rsc/renderOnDemand.d.ts.map +1 -0
  98. package/dist/rsc/renderOnDemand.js +25 -0
  99. package/dist/rsc/renderOnDemand.js.map +1 -0
  100. package/dist/rsc/renderPayloadRSC.d.ts +6 -0
  101. package/dist/rsc/renderPayloadRSC.d.ts.map +1 -0
  102. package/dist/rsc/renderPayloadRSC.js +6 -0
  103. package/dist/rsc/renderPayloadRSC.js.map +1 -0
  104. package/dist/utilities/devReloadStrategy.d.ts +10 -0
  105. package/dist/utilities/devReloadStrategy.d.ts.map +1 -0
  106. package/dist/utilities/devReloadStrategy.js +27 -0
  107. package/dist/utilities/devReloadStrategy.js.map +1 -0
  108. package/dist/utilities/getExistingAuthToken.d.ts +7 -0
  109. package/dist/utilities/getExistingAuthToken.d.ts.map +1 -0
  110. package/dist/utilities/getExistingAuthToken.js +18 -0
  111. package/dist/utilities/getExistingAuthToken.js.map +1 -0
  112. package/dist/utilities/getPreferences.d.ts +10 -0
  113. package/dist/utilities/getPreferences.d.ts.map +1 -0
  114. package/dist/utilities/getPreferences.js +33 -0
  115. package/dist/utilities/getPreferences.js.map +1 -0
  116. package/dist/utilities/getRequestI18n.server.d.ts +12 -0
  117. package/dist/utilities/getRequestI18n.server.d.ts.map +1 -0
  118. package/dist/utilities/getRequestI18n.server.js +25 -0
  119. package/dist/utilities/getRequestI18n.server.js.map +1 -0
  120. package/dist/utilities/getRequestLocale.d.ts +7 -0
  121. package/dist/utilities/getRequestLocale.d.ts.map +1 -0
  122. package/dist/utilities/getRequestLocale.js +20 -0
  123. package/dist/utilities/getRequestLocale.js.map +1 -0
  124. package/dist/utilities/getRequestTheme.d.ts +10 -0
  125. package/dist/utilities/getRequestTheme.d.ts.map +1 -0
  126. package/dist/utilities/getRequestTheme.js +25 -0
  127. package/dist/utilities/getRequestTheme.js.map +1 -0
  128. package/dist/utilities/graphqlHandler.server.d.ts +12 -0
  129. package/dist/utilities/graphqlHandler.server.d.ts.map +1 -0
  130. package/dist/utilities/graphqlHandler.server.js +129 -0
  131. package/dist/utilities/graphqlHandler.server.js.map +1 -0
  132. package/dist/utilities/handleAPIRoute.d.ts +11 -0
  133. package/dist/utilities/handleAPIRoute.d.ts.map +1 -0
  134. package/dist/utilities/handleAPIRoute.js +17 -0
  135. package/dist/utilities/handleAPIRoute.js.map +1 -0
  136. package/dist/utilities/handleServerFunctions.d.ts +20 -0
  137. package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
  138. package/dist/utilities/handleServerFunctions.js +60 -0
  139. package/dist/utilities/handleServerFunctions.js.map +1 -0
  140. package/dist/utilities/importMap.server.d.ts +8 -0
  141. package/dist/utilities/importMap.server.d.ts.map +1 -0
  142. package/dist/utilities/importMap.server.js +11 -0
  143. package/dist/utilities/importMap.server.js.map +1 -0
  144. package/dist/utilities/initReq.server.d.ts +19 -0
  145. package/dist/utilities/initReq.server.d.ts.map +1 -0
  146. package/dist/utilities/initReq.server.js +87 -0
  147. package/dist/utilities/initReq.server.js.map +1 -0
  148. package/dist/utilities/loadAdminPage.d.ts +54 -0
  149. package/dist/utilities/loadAdminPage.d.ts.map +1 -0
  150. package/dist/utilities/loadAdminPage.js +230 -0
  151. package/dist/utilities/loadAdminPage.js.map +1 -0
  152. package/dist/utilities/loadLayoutData.d.ts +15 -0
  153. package/dist/utilities/loadLayoutData.d.ts.map +1 -0
  154. package/dist/utilities/loadLayoutData.js +23 -0
  155. package/dist/utilities/loadLayoutData.js.map +1 -0
  156. package/dist/utilities/meta.d.ts +70 -0
  157. package/dist/utilities/meta.d.ts.map +1 -0
  158. package/dist/utilities/meta.js +142 -0
  159. package/dist/utilities/meta.js.map +1 -0
  160. package/dist/utilities/serializeForRsc.d.ts +26 -0
  161. package/dist/utilities/serializeForRsc.d.ts.map +1 -0
  162. package/dist/utilities/serializeForRsc.js +122 -0
  163. package/dist/utilities/serializeForRsc.js.map +1 -0
  164. package/dist/utilities/serverAdapter.server.d.ts +36 -0
  165. package/dist/utilities/serverAdapter.server.d.ts.map +1 -0
  166. package/dist/utilities/serverAdapter.server.js +130 -0
  167. package/dist/utilities/serverAdapter.server.js.map +1 -0
  168. package/dist/utilities/serverFunctionClient.d.ts +29 -0
  169. package/dist/utilities/serverFunctionClient.d.ts.map +1 -0
  170. package/dist/utilities/serverFunctionClient.js +109 -0
  171. package/dist/utilities/serverFunctionClient.js.map +1 -0
  172. package/dist/utilities/serverFunctionHandlers.d.ts +18 -0
  173. package/dist/utilities/serverFunctionHandlers.d.ts.map +1 -0
  174. package/dist/utilities/serverFunctionHandlers.js +17 -0
  175. package/dist/utilities/serverFunctionHandlers.js.map +1 -0
  176. package/dist/utilities/setPayloadAuthCookie.d.ts +9 -0
  177. package/dist/utilities/setPayloadAuthCookie.d.ts.map +1 -0
  178. package/dist/utilities/setPayloadAuthCookie.js +31 -0
  179. package/dist/utilities/setPayloadAuthCookie.js.map +1 -0
  180. package/dist/utilities/toSerializable.d.ts +2 -0
  181. package/dist/utilities/toSerializable.d.ts.map +1 -0
  182. package/dist/utilities/toSerializable.js +111 -0
  183. package/dist/utilities/toSerializable.js.map +1 -0
  184. package/dist/vite/constants.d.ts +42 -0
  185. package/dist/vite/constants.d.ts.map +1 -0
  186. package/dist/vite/constants.js +177 -0
  187. package/dist/vite/constants.js.map +1 -0
  188. package/dist/vite/importProtection.d.ts +14 -0
  189. package/dist/vite/importProtection.d.ts.map +1 -0
  190. package/dist/vite/importProtection.js +54 -0
  191. package/dist/vite/importProtection.js.map +1 -0
  192. package/dist/vite/plugin.d.ts +38 -0
  193. package/dist/vite/plugin.d.ts.map +1 -0
  194. package/dist/vite/plugin.js +177 -0
  195. package/dist/vite/plugin.js.map +1 -0
  196. package/dist/vite/plugins/clientModuleResolution.d.ts +14 -0
  197. package/dist/vite/plugins/clientModuleResolution.d.ts.map +1 -0
  198. package/dist/vite/plugins/clientModuleResolution.js +98 -0
  199. package/dist/vite/plugins/clientModuleResolution.js.map +1 -0
  200. package/dist/vite/plugins/devTransforms.d.ts +19 -0
  201. package/dist/vite/plugins/devTransforms.d.ts.map +1 -0
  202. package/dist/vite/plugins/devTransforms.js +67 -0
  203. package/dist/vite/plugins/devTransforms.js.map +1 -0
  204. package/dist/vite/plugins/reactDomServerInRsc.d.ts +27 -0
  205. package/dist/vite/plugins/reactDomServerInRsc.d.ts.map +1 -0
  206. package/dist/vite/plugins/reactDomServerInRsc.js +90 -0
  207. package/dist/vite/plugins/reactDomServerInRsc.js.map +1 -0
  208. package/dist/vite/plugins/stripDistStyleImports.d.ts +21 -0
  209. package/dist/vite/plugins/stripDistStyleImports.d.ts.map +1 -0
  210. package/dist/vite/plugins/stripDistStyleImports.js +140 -0
  211. package/dist/vite/plugins/stripDistStyleImports.js.map +1 -0
  212. package/dist/vite/plugins/wrapCjsForClient.d.ts +15 -0
  213. package/dist/vite/plugins/wrapCjsForClient.d.ts.map +1 -0
  214. package/dist/vite/plugins/wrapCjsForClient.js +106 -0
  215. package/dist/vite/plugins/wrapCjsForClient.js.map +1 -0
  216. package/package.json +106 -0
package/LICENSE.md ADDED
@@ -0,0 +1,22 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2018-2026 Payload CMS, LLC <info@payloadcms.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ 'Software'), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,17 @@
1
+ import type { AuthCollectionSlug, LoginResult, MaybePromise, SanitizedConfig } from 'payload';
2
+ type LoginWithEmail = {
3
+ email: string;
4
+ username?: never;
5
+ };
6
+ type LoginWithUsername = {
7
+ email?: never;
8
+ username: string;
9
+ };
10
+ type LoginArgs = {
11
+ collection: AuthCollectionSlug;
12
+ config: MaybePromise<SanitizedConfig>;
13
+ password: string;
14
+ } & (LoginWithEmail | LoginWithUsername);
15
+ export declare function login<TSlug extends AuthCollectionSlug>({ collection, config, email, password, username, }: LoginArgs): Promise<LoginResult<TSlug>>;
16
+ export {};
17
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM7F,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,KAAK,SAAS,GAAG;IACf,UAAU,EAAE,kBAAkB,CAAA;IAC9B,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,CAAC,cAAc,GAAG,iBAAiB,CAAC,CAAA;AAExC,wBAAsB,KAAK,CAAC,KAAK,SAAS,kBAAkB,EAAE,EAC5D,UAAU,EACV,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CA6CzC"}
@@ -0,0 +1,50 @@
1
+ import { getPayload } from 'payload';
2
+ import { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js';
3
+ export async function login({ collection, config, email, password, username }) {
4
+ const payload = await getPayload({
5
+ config
6
+ });
7
+ const authConfig = payload.collections[collection]?.config.auth;
8
+ if (!authConfig) {
9
+ throw new Error(`No auth config found for collection: ${collection}`);
10
+ }
11
+ const loginWithUsername = authConfig?.loginWithUsername ?? false;
12
+ if (loginWithUsername) {
13
+ if (loginWithUsername.allowEmailLogin) {
14
+ if (!email && !username) {
15
+ throw new Error('Email or username is required.');
16
+ }
17
+ } else {
18
+ if (!username) {
19
+ throw new Error('Username is required.');
20
+ }
21
+ }
22
+ } else {
23
+ if (!email) {
24
+ throw new Error('Email is required.');
25
+ }
26
+ }
27
+ const result = await payload.login({
28
+ collection,
29
+ data: loginWithUsername ? username ? {
30
+ password,
31
+ username
32
+ } : {
33
+ email,
34
+ password
35
+ } : {
36
+ email,
37
+ password
38
+ }
39
+ });
40
+ if (result.token) {
41
+ setPayloadAuthCookie({
42
+ authConfig,
43
+ cookiePrefix: payload.config.cookiePrefix,
44
+ token: result.token
45
+ });
46
+ }
47
+ return result;
48
+ }
49
+
50
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/auth/login.ts"],"sourcesContent":["import type { AuthCollectionSlug, LoginResult, MaybePromise, SanitizedConfig } from 'payload'\n\nimport { getPayload } from 'payload'\n\nimport { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js'\n\ntype LoginWithEmail = {\n email: string\n username?: never\n}\n\ntype LoginWithUsername = {\n email?: never\n username: string\n}\n\ntype LoginArgs = {\n collection: AuthCollectionSlug\n config: MaybePromise<SanitizedConfig>\n password: string\n} & (LoginWithEmail | LoginWithUsername)\n\nexport async function login<TSlug extends AuthCollectionSlug>({\n collection,\n config,\n email,\n password,\n username,\n}: LoginArgs): Promise<LoginResult<TSlug>> {\n const payload = await getPayload({ config })\n\n const authConfig = payload.collections[collection]?.config.auth\n\n if (!authConfig) {\n throw new Error(`No auth config found for collection: ${collection}`)\n }\n\n const loginWithUsername = authConfig?.loginWithUsername ?? false\n\n if (loginWithUsername) {\n if (loginWithUsername.allowEmailLogin) {\n if (!email && !username) {\n throw new Error('Email or username is required.')\n }\n } else {\n if (!username) {\n throw new Error('Username is required.')\n }\n }\n } else {\n if (!email) {\n throw new Error('Email is required.')\n }\n }\n\n const result = await payload.login({\n collection,\n data: (loginWithUsername\n ? username\n ? { password, username }\n : { email, password }\n : { email, password }) as { email: string; password: string },\n })\n\n if (result.token) {\n setPayloadAuthCookie({\n authConfig,\n cookiePrefix: payload.config.cookiePrefix,\n token: result.token,\n })\n }\n\n return result as LoginResult<TSlug>\n}\n"],"names":["getPayload","setPayloadAuthCookie","login","collection","config","email","password","username","payload","authConfig","collections","auth","Error","loginWithUsername","allowEmailLogin","result","data","token","cookiePrefix"],"mappings":"AAEA,SAASA,UAAU,QAAQ,UAAS;AAEpC,SAASC,oBAAoB,QAAQ,uCAAsC;AAkB3E,OAAO,eAAeC,MAAwC,EAC5DC,UAAU,EACVC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACE;IACV,MAAMC,UAAU,MAAMR,WAAW;QAAEI;IAAO;IAE1C,MAAMK,aAAaD,QAAQE,WAAW,CAACP,WAAW,EAAEC,OAAOO;IAE3D,IAAI,CAACF,YAAY;QACf,MAAM,IAAIG,MAAM,CAAC,qCAAqC,EAAET,YAAY;IACtE;IAEA,MAAMU,oBAAoBJ,YAAYI,qBAAqB;IAE3D,IAAIA,mBAAmB;QACrB,IAAIA,kBAAkBC,eAAe,EAAE;YACrC,IAAI,CAACT,SAAS,CAACE,UAAU;gBACvB,MAAM,IAAIK,MAAM;YAClB;QACF,OAAO;YACL,IAAI,CAACL,UAAU;gBACb,MAAM,IAAIK,MAAM;YAClB;QACF;IACF,OAAO;QACL,IAAI,CAACP,OAAO;YACV,MAAM,IAAIO,MAAM;QAClB;IACF;IAEA,MAAMG,SAAS,MAAMP,QAAQN,KAAK,CAAC;QACjCC;QACAa,MAAOH,oBACHN,WACE;YAAED;YAAUC;QAAS,IACrB;YAAEF;YAAOC;QAAS,IACpB;YAAED;YAAOC;QAAS;IACxB;IAEA,IAAIS,OAAOE,KAAK,EAAE;QAChBhB,qBAAqB;YACnBQ;YACAS,cAAcV,QAAQJ,MAAM,CAACc,YAAY;YACzCD,OAAOF,OAAOE,KAAK;QACrB;IACF;IAEA,OAAOF;AACT"}
@@ -0,0 +1,9 @@
1
+ import type { MaybePromise, SanitizedConfig } from 'payload';
2
+ export declare function logout({ allSessions, config, }: {
3
+ allSessions?: boolean;
4
+ config: MaybePromise<SanitizedConfig>;
5
+ }): Promise<{
6
+ message: string;
7
+ success: boolean;
8
+ }>;
9
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/auth/logout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAO5D,wBAAsB,MAAM,CAAC,EAC3B,WAAmB,EACnB,MAAM,GACP,EAAE;IACD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;CACtC;;;GAqCA"}
@@ -0,0 +1,51 @@
1
+ import { getRequest, setResponseHeader } from '@tanstack/react-start/server';
2
+ import { createLocalReq, getPayload, logoutOperation } from 'payload';
3
+ import { getExistingAuthToken } from '../utilities/getExistingAuthToken.js';
4
+ export async function logout({ allSessions = false, config }) {
5
+ const payload = await getPayload({
6
+ config
7
+ });
8
+ const request = getRequest();
9
+ const headers = new Headers(request.headers);
10
+ const authResult = await payload.auth({
11
+ headers
12
+ });
13
+ if (!authResult.user) {
14
+ return {
15
+ message: 'User already logged out',
16
+ success: true
17
+ };
18
+ }
19
+ const { user } = authResult;
20
+ const req = await createLocalReq({
21
+ user
22
+ }, payload);
23
+ const collection = payload.collections[user.collection];
24
+ if (!collection) {
25
+ return {
26
+ message: 'Collection not found',
27
+ success: false
28
+ };
29
+ }
30
+ const logoutResult = await logoutOperation({
31
+ allSessions,
32
+ collection,
33
+ req
34
+ });
35
+ if (!logoutResult) {
36
+ return {
37
+ message: 'Logout failed',
38
+ success: false
39
+ };
40
+ }
41
+ const existingCookie = getExistingAuthToken(payload.config.cookiePrefix);
42
+ if (existingCookie) {
43
+ setResponseHeader('Set-Cookie', `${encodeURIComponent(existingCookie.name)}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly`);
44
+ }
45
+ return {
46
+ message: 'User logged out successfully',
47
+ success: true
48
+ };
49
+ }
50
+
51
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/auth/logout.ts"],"sourcesContent":["import type { MaybePromise, SanitizedConfig } from 'payload'\n\nimport { getRequest, setResponseHeader } from '@tanstack/react-start/server'\nimport { createLocalReq, getPayload, logoutOperation } from 'payload'\n\nimport { getExistingAuthToken } from '../utilities/getExistingAuthToken.js'\n\nexport async function logout({\n allSessions = false,\n config,\n}: {\n allSessions?: boolean\n config: MaybePromise<SanitizedConfig>\n}) {\n const payload = await getPayload({ config })\n const request = getRequest()\n const headers = new Headers(request.headers)\n const authResult = await payload.auth({ headers })\n\n if (!authResult.user) {\n return { message: 'User already logged out', success: true }\n }\n\n const { user } = authResult\n const req = await createLocalReq({ user }, payload)\n const collection = payload.collections[user.collection]\n\n if (!collection) {\n return { message: 'Collection not found', success: false }\n }\n\n const logoutResult = await logoutOperation({\n allSessions,\n collection,\n req,\n })\n\n if (!logoutResult) {\n return { message: 'Logout failed', success: false }\n }\n\n const existingCookie = getExistingAuthToken(payload.config.cookiePrefix)\n if (existingCookie) {\n setResponseHeader(\n 'Set-Cookie',\n `${encodeURIComponent(existingCookie.name)}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly`,\n )\n }\n\n return { message: 'User logged out successfully', success: true }\n}\n"],"names":["getRequest","setResponseHeader","createLocalReq","getPayload","logoutOperation","getExistingAuthToken","logout","allSessions","config","payload","request","headers","Headers","authResult","auth","user","message","success","req","collection","collections","logoutResult","existingCookie","cookiePrefix","encodeURIComponent","name"],"mappings":"AAEA,SAASA,UAAU,EAAEC,iBAAiB,QAAQ,+BAA8B;AAC5E,SAASC,cAAc,EAAEC,UAAU,EAAEC,eAAe,QAAQ,UAAS;AAErE,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,OAAO,eAAeC,OAAO,EAC3BC,cAAc,KAAK,EACnBC,MAAM,EAIP;IACC,MAAMC,UAAU,MAAMN,WAAW;QAAEK;IAAO;IAC1C,MAAME,UAAUV;IAChB,MAAMW,UAAU,IAAIC,QAAQF,QAAQC,OAAO;IAC3C,MAAME,aAAa,MAAMJ,QAAQK,IAAI,CAAC;QAAEH;IAAQ;IAEhD,IAAI,CAACE,WAAWE,IAAI,EAAE;QACpB,OAAO;YAAEC,SAAS;YAA2BC,SAAS;QAAK;IAC7D;IAEA,MAAM,EAAEF,IAAI,EAAE,GAAGF;IACjB,MAAMK,MAAM,MAAMhB,eAAe;QAAEa;IAAK,GAAGN;IAC3C,MAAMU,aAAaV,QAAQW,WAAW,CAACL,KAAKI,UAAU,CAAC;IAEvD,IAAI,CAACA,YAAY;QACf,OAAO;YAAEH,SAAS;YAAwBC,SAAS;QAAM;IAC3D;IAEA,MAAMI,eAAe,MAAMjB,gBAAgB;QACzCG;QACAY;QACAD;IACF;IAEA,IAAI,CAACG,cAAc;QACjB,OAAO;YAAEL,SAAS;YAAiBC,SAAS;QAAM;IACpD;IAEA,MAAMK,iBAAiBjB,qBAAqBI,QAAQD,MAAM,CAACe,YAAY;IACvE,IAAID,gBAAgB;QAClBrB,kBACE,cACA,GAAGuB,mBAAmBF,eAAeG,IAAI,EAAE,0DAA0D,CAAC;IAE1G;IAEA,OAAO;QAAET,SAAS;QAAgCC,SAAS;IAAK;AAClE"}
@@ -0,0 +1,8 @@
1
+ import type { MaybePromise, SanitizedConfig } from 'payload';
2
+ export declare function refresh({ config }: {
3
+ config: MaybePromise<SanitizedConfig>;
4
+ }): Promise<{
5
+ message: string;
6
+ success: boolean;
7
+ }>;
8
+ //# sourceMappingURL=refresh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../src/auth/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAQ5E,wBAAsB,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;CAAE;;;GAwClF"}
@@ -0,0 +1,53 @@
1
+ import { getRequest } from '@tanstack/react-start/server';
2
+ import { createLocalReq, getPayload, refreshOperation } from 'payload';
3
+ import { getExistingAuthToken } from '../utilities/getExistingAuthToken.js';
4
+ import { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js';
5
+ export async function refresh({ config }) {
6
+ const payload = await getPayload({
7
+ config
8
+ });
9
+ const request = getRequest();
10
+ const headers = new Headers(request.headers);
11
+ const result = await payload.auth({
12
+ headers
13
+ });
14
+ if (!result.user) {
15
+ throw new Error('Cannot refresh token: user not authenticated');
16
+ }
17
+ const existingCookie = getExistingAuthToken(payload.config.cookiePrefix);
18
+ if (!existingCookie) {
19
+ return {
20
+ message: 'No valid token found to refresh',
21
+ success: false
22
+ };
23
+ }
24
+ const collection = result.user.collection;
25
+ const collectionConfig = payload.collections[collection];
26
+ if (!collectionConfig?.config.auth) {
27
+ throw new Error(`No auth config found for collection: ${collection}`);
28
+ }
29
+ const req = await createLocalReq({
30
+ user: result.user
31
+ }, payload);
32
+ const refreshResult = await refreshOperation({
33
+ collection: collectionConfig,
34
+ req
35
+ });
36
+ if (!refreshResult) {
37
+ return {
38
+ message: 'Token refresh failed',
39
+ success: false
40
+ };
41
+ }
42
+ setPayloadAuthCookie({
43
+ authConfig: collectionConfig.config.auth,
44
+ cookiePrefix: payload.config.cookiePrefix,
45
+ token: refreshResult.refreshedToken
46
+ });
47
+ return {
48
+ message: 'Token refreshed successfully',
49
+ success: true
50
+ };
51
+ }
52
+
53
+ //# sourceMappingURL=refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/auth/refresh.ts"],"sourcesContent":["import type { CollectionSlug, MaybePromise, SanitizedConfig } from 'payload'\n\nimport { getRequest } from '@tanstack/react-start/server'\nimport { createLocalReq, getPayload, refreshOperation } from 'payload'\n\nimport { getExistingAuthToken } from '../utilities/getExistingAuthToken.js'\nimport { setPayloadAuthCookie } from '../utilities/setPayloadAuthCookie.js'\n\nexport async function refresh({ config }: { config: MaybePromise<SanitizedConfig> }) {\n const payload = await getPayload({ config })\n const request = getRequest()\n const headers = new Headers(request.headers)\n const result = await payload.auth({ headers })\n\n if (!result.user) {\n throw new Error('Cannot refresh token: user not authenticated')\n }\n\n const existingCookie = getExistingAuthToken(payload.config.cookiePrefix)\n if (!existingCookie) {\n return { message: 'No valid token found to refresh', success: false }\n }\n\n const collection: CollectionSlug | undefined = result.user.collection\n const collectionConfig = payload.collections[collection]\n\n if (!collectionConfig?.config.auth) {\n throw new Error(`No auth config found for collection: ${collection}`)\n }\n\n const req = await createLocalReq({ user: result.user }, payload)\n\n const refreshResult = await refreshOperation({\n collection: collectionConfig,\n req,\n })\n\n if (!refreshResult) {\n return { message: 'Token refresh failed', success: false }\n }\n\n setPayloadAuthCookie({\n authConfig: collectionConfig.config.auth,\n cookiePrefix: payload.config.cookiePrefix,\n token: refreshResult.refreshedToken,\n })\n\n return { message: 'Token refreshed successfully', success: true }\n}\n"],"names":["getRequest","createLocalReq","getPayload","refreshOperation","getExistingAuthToken","setPayloadAuthCookie","refresh","config","payload","request","headers","Headers","result","auth","user","Error","existingCookie","cookiePrefix","message","success","collection","collectionConfig","collections","req","refreshResult","authConfig","token","refreshedToken"],"mappings":"AAEA,SAASA,UAAU,QAAQ,+BAA8B;AACzD,SAASC,cAAc,EAAEC,UAAU,EAAEC,gBAAgB,QAAQ,UAAS;AAEtE,SAASC,oBAAoB,QAAQ,uCAAsC;AAC3E,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,OAAO,eAAeC,QAAQ,EAAEC,MAAM,EAA6C;IACjF,MAAMC,UAAU,MAAMN,WAAW;QAAEK;IAAO;IAC1C,MAAME,UAAUT;IAChB,MAAMU,UAAU,IAAIC,QAAQF,QAAQC,OAAO;IAC3C,MAAME,SAAS,MAAMJ,QAAQK,IAAI,CAAC;QAAEH;IAAQ;IAE5C,IAAI,CAACE,OAAOE,IAAI,EAAE;QAChB,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,iBAAiBZ,qBAAqBI,QAAQD,MAAM,CAACU,YAAY;IACvE,IAAI,CAACD,gBAAgB;QACnB,OAAO;YAAEE,SAAS;YAAmCC,SAAS;QAAM;IACtE;IAEA,MAAMC,aAAyCR,OAAOE,IAAI,CAACM,UAAU;IACrE,MAAMC,mBAAmBb,QAAQc,WAAW,CAACF,WAAW;IAExD,IAAI,CAACC,kBAAkBd,OAAOM,MAAM;QAClC,MAAM,IAAIE,MAAM,CAAC,qCAAqC,EAAEK,YAAY;IACtE;IAEA,MAAMG,MAAM,MAAMtB,eAAe;QAAEa,MAAMF,OAAOE,IAAI;IAAC,GAAGN;IAExD,MAAMgB,gBAAgB,MAAMrB,iBAAiB;QAC3CiB,YAAYC;QACZE;IACF;IAEA,IAAI,CAACC,eAAe;QAClB,OAAO;YAAEN,SAAS;YAAwBC,SAAS;QAAM;IAC3D;IAEAd,qBAAqB;QACnBoB,YAAYJ,iBAAiBd,MAAM,CAACM,IAAI;QACxCI,cAAcT,QAAQD,MAAM,CAACU,YAAY;QACzCS,OAAOF,cAAcG,cAAc;IACrC;IAEA,OAAO;QAAET,SAAS;QAAgCC,SAAS;IAAK;AAClE"}
@@ -0,0 +1,16 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,116 @@
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
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,12 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ import type { RouterAdapterComponent } from 'payload';
2
+ export declare const TanStackRouterAdapter: RouterAdapterComponent;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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,sBA+EnC,CAAA"}
@@ -0,0 +1,141 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { RouterAdapterContext } from '@payloadcms/ui';
4
+ import { Link as TanStackLink, useLocation, useParams, useRouter } from '@tanstack/react-router';
5
+ import * as qs from 'qs-esm';
6
+ import React, { useCallback, useMemo } from 'react';
7
+ const normalizeNavigationTarget = ({ path, pathname, search })=>{
8
+ if (path.startsWith('http')) {
9
+ const url = new URL(path);
10
+ return `${url.pathname}${url.search}${url.hash}`;
11
+ }
12
+ if (path.startsWith('?')) {
13
+ return `${pathname}${path}`;
14
+ }
15
+ if (path.startsWith('#')) {
16
+ return `${pathname}${search}${path}`;
17
+ }
18
+ return path;
19
+ };
20
+ const TanStackLinkAdapter = ({ children, href, prefetch, ref, replace, scroll, ...rest })=>{
21
+ return /*#__PURE__*/ _jsx(TanStackLink, {
22
+ preload: prefetch === false ? false : 'intent',
23
+ ref: ref,
24
+ replace: replace,
25
+ resetScroll: scroll,
26
+ to: href,
27
+ ...rest,
28
+ children: children
29
+ });
30
+ };
31
+ export const TanStackRouterAdapter = ({ children })=>{
32
+ const router = useRouter();
33
+ const location = useLocation();
34
+ const params = useParams({
35
+ strict: false
36
+ });
37
+ const adaptedParams = useMemo(()=>{
38
+ const adapted = {
39
+ ...params
40
+ };
41
+ if ('_splat' in params && typeof params._splat === 'string') {
42
+ adapted.segments = params._splat.split('/').filter(Boolean);
43
+ }
44
+ return adapted;
45
+ }, [
46
+ params
47
+ ]);
48
+ // Split a target into `to` (pathname) + a parsed `search` object, so the
49
+ // router serializes the query via its `stringifySearch` (qs, bracket-encoded)
50
+ // rather than embedding the raw string in `to`. Navigating with a string `to`
51
+ // leaves the search *unencoded* in `window.location.search`
52
+ // (e.g. `where[or][0]…`), which then never matches Payload's `qs.stringify`
53
+ // output (`where%5Bor%5D…`) — breaking the list-view `syncPropsToURL` guard,
54
+ // which compares the two and would otherwise clobber optimistic query state
55
+ // (e.g. an in-progress filter condition) on every navigation.
56
+ const toNavOptions = useCallback((path)=>{
57
+ const relativePath = normalizeNavigationTarget({
58
+ path,
59
+ pathname: window.location.pathname,
60
+ search: window.location.search
61
+ });
62
+ const queryIndex = relativePath.indexOf('?');
63
+ if (queryIndex === -1) {
64
+ return {
65
+ to: relativePath
66
+ };
67
+ }
68
+ const searchObject = qs.parse(relativePath.slice(queryIndex + 1), {
69
+ depth: 10,
70
+ ignoreQueryPrefix: true
71
+ });
72
+ // Function form replaces the search entirely (no merge with current search).
73
+ return {
74
+ search: ()=>searchObject,
75
+ to: relativePath.slice(0, queryIndex)
76
+ };
77
+ }, []);
78
+ const back = useCallback(()=>router.history.back(), [
79
+ router
80
+ ]);
81
+ const push = useCallback((path, options)=>{
82
+ void router.navigate({
83
+ ...toNavOptions(path),
84
+ resetScroll: options?.scroll
85
+ });
86
+ }, [
87
+ router,
88
+ toNavOptions
89
+ ]);
90
+ const refresh = useCallback(()=>{
91
+ void router.invalidate();
92
+ }, [
93
+ router
94
+ ]);
95
+ const replace = useCallback((path, options)=>{
96
+ void router.navigate({
97
+ ...toNavOptions(path),
98
+ replace: true,
99
+ resetScroll: options?.scroll
100
+ });
101
+ }, [
102
+ router,
103
+ toNavOptions
104
+ ]);
105
+ const adaptedRouter = useMemo(()=>({
106
+ back,
107
+ push,
108
+ refresh,
109
+ replace
110
+ }), [
111
+ back,
112
+ push,
113
+ refresh,
114
+ replace
115
+ ]);
116
+ // `location.searchStr` is the serialized query string; `location.search` is
117
+ // the parsed object (a nested structure once the router uses `qs` for search
118
+ // serialization), which `URLSearchParams` cannot consume. Build from the
119
+ // string so Payload's `parseSearchParams` re-parses the bracket notation.
120
+ const searchParams = useMemo(()=>new URLSearchParams(location.searchStr), [
121
+ location.searchStr
122
+ ]);
123
+ const value = useMemo(()=>({
124
+ Link: TanStackLinkAdapter,
125
+ params: adaptedParams,
126
+ pathname: location.pathname,
127
+ router: adaptedRouter,
128
+ searchParams
129
+ }), [
130
+ adaptedParams,
131
+ location.pathname,
132
+ adaptedRouter,
133
+ searchParams
134
+ ]);
135
+ return /*#__PURE__*/ _jsx(RouterAdapterContext, {
136
+ value: value,
137
+ children: children
138
+ });
139
+ };
140
+
141
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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 if ('_splat' in params && typeof params._splat === 'string') {\n adapted.segments = params._splat.split('/').filter(Boolean)\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 const queryIndex = relativePath.indexOf('?')\n if (queryIndex === -1) {\n return { to: relativePath }\n }\n const searchObject = qs.parse(relativePath.slice(queryIndex + 1), {\n depth: 10,\n ignoreQueryPrefix: true,\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 const push = useCallback(\n (path: string, options?: { scroll?: boolean }) => {\n void router.navigate({ ...toNavOptions(path), resetScroll: options?.scroll })\n },\n [router, toNavOptions],\n )\n const refresh = useCallback(() => {\n void router.invalidate()\n }, [router])\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 const adaptedRouter = useMemo(\n () => ({ back, push, refresh, replace }),\n [back, push, refresh, replace],\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","adaptedRouter","searchParams","URLSearchParams","searchStr","value"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { TanStackComponentRenderer } from '../elements/RenderComponent/index.js';
2
+ export { TanStackRouterAdapter } from '../elements/RouterAdapter/index.js';
3
+ export { buildThemeInitScript, PayloadAdminShell, type PayloadAdminShellProps, THEME_INIT_SCRIPT, withPayloadRoot, type WithPayloadRootOptions, } from '../layouts/Root/withPayloadRoot.js';
4
+ export { type AdminLoad, payloadAdminIndexRoute, payloadAdminSplatRoute, } from '../routes/adminRoutes.js';
5
+ export { type LayoutLoad, payloadLayoutRoute } from '../routes/layoutRoute.js';
6
+ export { viteDevReloadStrategy } from '../utilities/devReloadStrategy.js';
7
+ export { createServerFunctionClient, stripUnserializable, } from '../utilities/serverFunctionClient.js';
8
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,iBAAiB,EACjB,eAAe,EACf,KAAK,sBAAsB,GAC5B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,KAAK,SAAS,EACd,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,KAAK,UAAU,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,sCAAsC,CAAA"}