@payloadcms/next 3.0.0-beta.34 → 3.0.0-beta.36

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 (178) hide show
  1. package/dist/cjs/withPayload.cjs +23 -0
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/elements/LeaveWithoutSaving/index.js +35 -15
  4. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  5. package/dist/exports/views.d.ts +2 -1
  6. package/dist/exports/views.d.ts.map +1 -1
  7. package/dist/exports/views.js +2 -1
  8. package/dist/exports/views.js.map +1 -1
  9. package/dist/fetchAPI-multipart/index.js.map +1 -1
  10. package/dist/layouts/Root/index.d.ts.map +1 -1
  11. package/dist/layouts/Root/index.js +31 -15
  12. package/dist/layouts/Root/index.js.map +1 -1
  13. package/dist/prod/styles.css +1 -1
  14. package/dist/routes/rest/auth/access.d.ts.map +1 -1
  15. package/dist/routes/rest/auth/access.js +17 -7
  16. package/dist/routes/rest/auth/access.js.map +1 -1
  17. package/dist/routes/rest/og/image.js +64 -50
  18. package/dist/routes/rest/og/image.js.map +1 -1
  19. package/dist/routes/rest/og/index.js +2 -1
  20. package/dist/routes/rest/og/index.js.map +1 -1
  21. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  22. package/dist/utilities/getRequestLanguage.js +1 -1
  23. package/dist/utilities/getRequestLanguage.js.map +1 -1
  24. package/dist/utilities/getRequestTheme.d.ts +11 -0
  25. package/dist/utilities/getRequestTheme.d.ts.map +1 -0
  26. package/dist/utilities/getRequestTheme.js +19 -0
  27. package/dist/utilities/getRequestTheme.js.map +1 -0
  28. package/dist/utilities/initPage/index.d.ts.map +1 -1
  29. package/dist/utilities/initPage/index.js +1 -0
  30. package/dist/utilities/initPage/index.js.map +1 -1
  31. package/dist/views/API/RenderJSON/index.js +99 -70
  32. package/dist/views/API/RenderJSON/index.js.map +1 -1
  33. package/dist/views/API/index.client.js +128 -91
  34. package/dist/views/API/index.client.js.map +1 -1
  35. package/dist/views/API/index.js +2 -1
  36. package/dist/views/API/index.js.map +1 -1
  37. package/dist/views/Account/Settings/index.js +27 -15
  38. package/dist/views/Account/Settings/index.js.map +1 -1
  39. package/dist/views/Account/ToggleTheme/index.js +2 -1
  40. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  41. package/dist/views/Account/index.d.ts.map +1 -1
  42. package/dist/views/Account/index.js +53 -39
  43. package/dist/views/Account/index.js.map +1 -1
  44. package/dist/views/CreateFirstUser/index.client.js +29 -19
  45. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  46. package/dist/views/CreateFirstUser/index.js +16 -6
  47. package/dist/views/CreateFirstUser/index.js.map +1 -1
  48. package/dist/views/Dashboard/Default/index.client.js +67 -56
  49. package/dist/views/Dashboard/Default/index.client.js.map +1 -1
  50. package/dist/views/Dashboard/Default/index.js +28 -19
  51. package/dist/views/Dashboard/Default/index.js.map +1 -1
  52. package/dist/views/Dashboard/index.js +23 -17
  53. package/dist/views/Dashboard/index.js.map +1 -1
  54. package/dist/views/Document/getDocumentData.d.ts +10 -0
  55. package/dist/views/Document/getDocumentData.d.ts.map +1 -0
  56. package/dist/views/Document/getDocumentData.js +24 -0
  57. package/dist/views/Document/getDocumentData.js.map +1 -0
  58. package/dist/views/Document/getDocumentPermissions.d.ts +14 -0
  59. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -0
  60. package/dist/views/Document/getDocumentPermissions.js +83 -0
  61. package/dist/views/Document/getDocumentPermissions.js.map +1 -0
  62. package/dist/views/Document/index.d.ts.map +1 -1
  63. package/dist/views/Document/index.js +63 -64
  64. package/dist/views/Document/index.js.map +1 -1
  65. package/dist/views/Edit/Default/Auth/APIKey.js +41 -25
  66. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  67. package/dist/views/Edit/Default/Auth/index.js +78 -50
  68. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  69. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  70. package/dist/views/Edit/Default/index.js +84 -65
  71. package/dist/views/Edit/Default/index.js.map +1 -1
  72. package/dist/views/Edit/index.client.js +10 -4
  73. package/dist/views/Edit/index.client.js.map +1 -1
  74. package/dist/views/Edit/index.js +2 -1
  75. package/dist/views/Edit/index.js.map +1 -1
  76. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +42 -20
  77. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  78. package/dist/views/ForgotPassword/index.js +37 -17
  79. package/dist/views/ForgotPassword/index.js.map +1 -1
  80. package/dist/views/List/Default/index.js +151 -81
  81. package/dist/views/List/Default/index.js.map +1 -1
  82. package/dist/views/List/index.js +52 -43
  83. package/dist/views/List/index.js.map +1 -1
  84. package/dist/views/LivePreview/Context/context.d.ts +1 -1
  85. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  86. package/dist/views/LivePreview/Context/context.js.map +1 -1
  87. package/dist/views/LivePreview/Context/index.js +9 -6
  88. package/dist/views/LivePreview/Context/index.js.map +1 -1
  89. package/dist/views/LivePreview/Device/index.js +5 -3
  90. package/dist/views/LivePreview/Device/index.js.map +1 -1
  91. package/dist/views/LivePreview/DeviceContainer/index.js +5 -3
  92. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  93. package/dist/views/LivePreview/IFrame/index.js +2 -1
  94. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  95. package/dist/views/LivePreview/Preview/index.js +25 -14
  96. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  97. package/dist/views/LivePreview/Toolbar/Controls/index.js +105 -57
  98. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  99. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +2 -1
  100. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  101. package/dist/views/LivePreview/Toolbar/index.js +29 -14
  102. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  103. package/dist/views/LivePreview/ToolbarArea/index.js +5 -3
  104. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  105. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  106. package/dist/views/LivePreview/index.client.js +103 -76
  107. package/dist/views/LivePreview/index.client.js.map +1 -1
  108. package/dist/views/LivePreview/index.js +2 -1
  109. package/dist/views/LivePreview/index.js.map +1 -1
  110. package/dist/views/Login/LoginForm/index.js +62 -48
  111. package/dist/views/Login/LoginForm/index.js.map +1 -1
  112. package/dist/views/Login/index.js +26 -19
  113. package/dist/views/Login/index.js.map +1 -1
  114. package/dist/views/Logout/LogoutClient.js +21 -7
  115. package/dist/views/Logout/LogoutClient.js.map +1 -1
  116. package/dist/views/Logout/index.js +13 -10
  117. package/dist/views/Logout/index.js.map +1 -1
  118. package/dist/views/NotFound/index.client.js +22 -10
  119. package/dist/views/NotFound/index.client.js.map +1 -1
  120. package/dist/views/NotFound/index.js +21 -14
  121. package/dist/views/NotFound/index.js.map +1 -1
  122. package/dist/views/ResetPassword/index.client.js +17 -8
  123. package/dist/views/ResetPassword/index.client.js.map +1 -1
  124. package/dist/views/ResetPassword/index.js +46 -25
  125. package/dist/views/ResetPassword/index.js.map +1 -1
  126. package/dist/views/Root/index.d.ts.map +1 -1
  127. package/dist/views/Root/index.js +29 -13
  128. package/dist/views/Root/index.js.map +1 -1
  129. package/dist/views/Unauthorized/index.js +19 -8
  130. package/dist/views/Unauthorized/index.js.map +1 -1
  131. package/dist/views/Verify/index.js +20 -11
  132. package/dist/views/Verify/index.js.map +1 -1
  133. package/dist/views/Version/Default/index.js +83 -57
  134. package/dist/views/Version/Default/index.js.map +1 -1
  135. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +5 -3
  136. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  137. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +65 -50
  138. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  139. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +30 -18
  140. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  141. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +23 -12
  142. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  143. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +2 -1
  144. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  145. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +22 -11
  146. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  147. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +31 -30
  148. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  149. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +2 -1
  150. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  151. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +22 -11
  152. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  153. package/dist/views/Version/RenderFieldsToDiff/index.js +90 -87
  154. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  155. package/dist/views/Version/Restore/index.js +38 -18
  156. package/dist/views/Version/Restore/index.js.map +1 -1
  157. package/dist/views/Version/SelectComparison/index.js +32 -24
  158. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  159. package/dist/views/Version/SelectLocales/index.js +17 -11
  160. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  161. package/dist/views/Version/index.js +2 -1
  162. package/dist/views/Version/index.js.map +1 -1
  163. package/dist/views/Versions/buildColumns.js +7 -6
  164. package/dist/views/Versions/buildColumns.js.map +1 -1
  165. package/dist/views/Versions/cells/AutosaveCell/index.js +25 -3
  166. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  167. package/dist/views/Versions/cells/CreatedAt/index.js +9 -7
  168. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  169. package/dist/views/Versions/cells/ID/index.js +4 -1
  170. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  171. package/dist/views/Versions/index.client.js +61 -29
  172. package/dist/views/Versions/index.client.js.map +1 -1
  173. package/dist/views/Versions/index.js +31 -22
  174. package/dist/views/Versions/index.js.map +1 -1
  175. package/dist/withPayload.d.ts.map +1 -1
  176. package/dist/withPayload.js +23 -0
  177. package/dist/withPayload.js.map +1 -1
  178. package/package.json +14 -10
@@ -34,6 +34,29 @@ const withPayload = (nextConfig = {})=>{
34
34
  ]
35
35
  }
36
36
  },
37
+ headers: async ()=>{
38
+ const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : [];
39
+ return [
40
+ ...headersFromConfig || [],
41
+ {
42
+ source: '/:path*',
43
+ headers: [
44
+ {
45
+ key: 'Accept-CH',
46
+ value: 'Sec-CH-Prefers-Color-Scheme'
47
+ },
48
+ {
49
+ key: 'Vary',
50
+ value: 'Sec-CH-Prefers-Color-Scheme'
51
+ },
52
+ {
53
+ key: 'Critical-CH',
54
+ value: 'Sec-CH-Prefers-Color-Scheme'
55
+ }
56
+ ]
57
+ }
58
+ ];
59
+ },
37
60
  serverExternalPackages: [
38
61
  ...nextConfig?.serverExternalPackages || [],
39
62
  'drizzle-kit',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/withPayload.js"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;;;IAoEH,OAA0B;eAA1B;;IAnEa,WAAW;eAAX;;;AAAN,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;IACzC,OAAO;QACL,GAAG,UAAU;QACb,cAAc;YACZ,GAAI,YAAY,gBAAgB,CAAC,CAAC;YAClC,2BAA2B;gBACzB,QAAQ;uBACF,WAAW,YAAY,EAAE,2BAA2B,CAAC,OAAO,IAAI,EAAE;oBACtE;oBACA;oBACA;iBACD;YACH;QACF;QACA,wBAAwB;eAClB,YAAY,0BAA0B,EAAE;YAC5C;YACA;YACA;YACA;YACA;YACA;SACD;QACD,SAAS,CAAC,eAAe;YACvB,MAAM,wBACJ,OAAO,WAAW,OAAO,KAAK,aAC1B,WAAW,OAAO,CAAC,eAAe,kBAClC;YAEN,OAAO;gBACL,GAAG,qBAAqB;gBACxB,WAAW;uBACL,uBAAuB,aAAa,EAAE;oBAC1C;oBACA;oBACA;oBACA;iBACD;gBACD,gBAAgB;uBACV,uBAAuB,kBAAkB,EAAE;oBAC/C;wBAAE,QAAQ;oBAAwC;oBAClD;wBAAE,MAAM;oBAAwC;oBAChD;wBAAE,QAAQ;oBAAuC;oBACjD;wBAAE,MAAM;oBAAuC;iBAChD;gBACD,SAAS;oBACP,GAAI,uBAAuB,WAAW,CAAC,CAAC;oBACxC,OAAO;wBACL,GAAI,uBAAuB,SAAS,SAAS,CAAC,CAAC;oBACjD;oBACA,UAAU;wBACR,GAAI,uBAAuB,SAAS,YAAY,CAAC,CAAC;wBAClD,iCAAiC;wBACjC,oBAAoB;wBACpB,MAAM;wBACN,UAAU;wBACV,6BAA6B;wBAC7B,QAAQ;wBACR,kBAAkB;wBAClB,eAAe;oBACjB;gBACF;YACF;QACF;IACF;AACF;MAEA,WAAe","file":"withPayload.cjs","sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}) => {\n return {\n ...nextConfig,\n experimental: {\n ...(nextConfig?.experimental || {}),\n outputFileTracingExcludes: {\n '**/*': [\n ...(nextConfig.experimental?.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'libsql',\n ],\n },\n },\n serverExternalPackages: [\n ...(nextConfig?.serverExternalPackages || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'libsql',\n 'pino',\n 'pino-pretty',\n 'graphql',\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [\n ...(incomingWebpackConfig?.externals || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'sharp',\n 'libsql',\n ],\n ignoreWarnings: [\n ...(incomingWebpackConfig?.ignoreWarnings || []),\n { module: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { module: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n ],\n resolve: {\n ...(incomingWebpackConfig?.resolve || {}),\n alias: {\n ...(incomingWebpackConfig?.resolve?.alias || {}),\n },\n fallback: {\n ...(incomingWebpackConfig?.resolve?.fallback || {}),\n '@aws-sdk/credential-providers': false,\n '@mongodb-js/zstd': false,\n aws4: false,\n kerberos: false,\n 'mongodb-client-encryption': false,\n snappy: false,\n 'supports-color': false,\n 'yocto-queue': false,\n },\n },\n }\n },\n }\n}\n\nexport default withPayload\n"]}
1
+ {"version":3,"sources":["../../src/withPayload.js"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;;;IA4FH,OAA0B;eAA1B;;IA3Fa,WAAW;eAAX;;;AAAN,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;IACzC,OAAO;QACL,GAAG,UAAU;QACb,cAAc;YACZ,GAAI,YAAY,gBAAgB,CAAC,CAAC;YAClC,2BAA2B;gBACzB,QAAQ;uBACF,WAAW,YAAY,EAAE,2BAA2B,CAAC,OAAO,IAAI,EAAE;oBACtE;oBACA;oBACA;iBACD;YACH;QACF;QACA,SAAS;YACP,MAAM,oBAAoB,aAAa,aAAa,MAAM,WAAW,OAAO,KAAK,EAAE;YAEnF,OAAO;mBACD,qBAAqB,EAAE;gBAC3B;oBACE,QAAQ;oBACR,SAAS;wBACP;4BACE,KAAK;4BACL,OAAO;wBACT;wBACA;4BACE,KAAK;4BACL,OAAO;wBACT;wBACA;4BACE,KAAK;4BACL,OAAO;wBACT;qBACD;gBACH;aACD;QACH;QACA,wBAAwB;eAClB,YAAY,0BAA0B,EAAE;YAC5C;YACA;YACA;YACA;YACA;YACA;SACD;QACD,SAAS,CAAC,eAAe;YACvB,MAAM,wBACJ,OAAO,WAAW,OAAO,KAAK,aAC1B,WAAW,OAAO,CAAC,eAAe,kBAClC;YAEN,OAAO;gBACL,GAAG,qBAAqB;gBACxB,WAAW;uBACL,uBAAuB,aAAa,EAAE;oBAC1C;oBACA;oBACA;oBACA;iBACD;gBACD,gBAAgB;uBACV,uBAAuB,kBAAkB,EAAE;oBAC/C;wBAAE,QAAQ;oBAAwC;oBAClD;wBAAE,MAAM;oBAAwC;oBAChD;wBAAE,QAAQ;oBAAuC;oBACjD;wBAAE,MAAM;oBAAuC;iBAChD;gBACD,SAAS;oBACP,GAAI,uBAAuB,WAAW,CAAC,CAAC;oBACxC,OAAO;wBACL,GAAI,uBAAuB,SAAS,SAAS,CAAC,CAAC;oBACjD;oBACA,UAAU;wBACR,GAAI,uBAAuB,SAAS,YAAY,CAAC,CAAC;wBAClD,iCAAiC;wBACjC,oBAAoB;wBACpB,MAAM;wBACN,UAAU;wBACV,6BAA6B;wBAC7B,QAAQ;wBACR,kBAAkB;wBAClB,eAAe;oBACjB;gBACF;YACF;QACF;IACF;AACF;MAEA,WAAe","file":"withPayload.cjs","sourcesContent":["/**\n * @param {import('next').NextConfig} nextConfig\n *\n * @returns {import('next').NextConfig}\n * */\nexport const withPayload = (nextConfig = {}) => {\n return {\n ...nextConfig,\n experimental: {\n ...(nextConfig?.experimental || {}),\n outputFileTracingExcludes: {\n '**/*': [\n ...(nextConfig.experimental?.outputFileTracingExcludes?.['**/*'] || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'libsql',\n ],\n },\n },\n headers: async () => {\n const headersFromConfig = 'headers' in nextConfig ? await nextConfig.headers() : []\n\n return [\n ...(headersFromConfig || []),\n {\n source: '/:path*',\n headers: [\n {\n key: 'Accept-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Vary',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n {\n key: 'Critical-CH',\n value: 'Sec-CH-Prefers-Color-Scheme',\n },\n ],\n },\n ]\n },\n serverExternalPackages: [\n ...(nextConfig?.serverExternalPackages || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'libsql',\n 'pino',\n 'pino-pretty',\n 'graphql',\n ],\n webpack: (webpackConfig, webpackOptions) => {\n const incomingWebpackConfig =\n typeof nextConfig.webpack === 'function'\n ? nextConfig.webpack(webpackConfig, webpackOptions)\n : webpackConfig\n\n return {\n ...incomingWebpackConfig,\n externals: [\n ...(incomingWebpackConfig?.externals || []),\n 'drizzle-kit',\n 'drizzle-kit/payload',\n 'sharp',\n 'libsql',\n ],\n ignoreWarnings: [\n ...(incomingWebpackConfig?.ignoreWarnings || []),\n { module: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/utils\\.js/ },\n { module: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n { file: /node_modules\\/mongodb\\/lib\\/bson\\.js/ },\n ],\n resolve: {\n ...(incomingWebpackConfig?.resolve || {}),\n alias: {\n ...(incomingWebpackConfig?.resolve?.alias || {}),\n },\n fallback: {\n ...(incomingWebpackConfig?.resolve?.fallback || {}),\n '@aws-sdk/credential-providers': false,\n '@mongodb-js/zstd': false,\n aws4: false,\n kerberos: false,\n 'mongodb-client-encryption': false,\n snappy: false,\n 'supports-color': false,\n 'yocto-queue': false,\n },\n },\n }\n },\n }\n}\n\nexport default withPayload\n"]}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { Button } from '@payloadcms/ui/elements/Button';
3
4
  import { Modal, useModal } from '@payloadcms/ui/elements/Modal';
4
5
  import { useFormModified } from '@payloadcms/ui/forms/Form';
@@ -25,22 +26,41 @@ const Component = ({ isActive, onCancel, onConfirm })=>{
25
26
  openModal,
26
27
  closeModal
27
28
  ]);
28
- return /*#__PURE__*/ React.createElement(Modal, {
29
+ return /*#__PURE__*/ _jsx(Modal, {
29
30
  className: baseClass,
30
31
  onClose: onCancel,
31
- slug: modalSlug
32
- }, /*#__PURE__*/ React.createElement("div", {
33
- className: `${baseClass}__wrapper`
34
- }, /*#__PURE__*/ React.createElement("div", {
35
- className: `${baseClass}__content`
36
- }, /*#__PURE__*/ React.createElement("h1", null, t('general:leaveWithoutSaving')), /*#__PURE__*/ React.createElement("p", null, t('general:changesNotSaved'))), /*#__PURE__*/ React.createElement("div", {
37
- className: `${baseClass}__controls`
38
- }, /*#__PURE__*/ React.createElement(Button, {
39
- buttonStyle: "secondary",
40
- onClick: onCancel
41
- }, t('general:stayOnThisPage')), /*#__PURE__*/ React.createElement(Button, {
42
- onClick: onConfirm
43
- }, t('general:leaveAnyway')))));
32
+ slug: modalSlug,
33
+ children: /*#__PURE__*/ _jsxs("div", {
34
+ className: `${baseClass}__wrapper`,
35
+ children: [
36
+ /*#__PURE__*/ _jsxs("div", {
37
+ className: `${baseClass}__content`,
38
+ children: [
39
+ /*#__PURE__*/ _jsx("h1", {
40
+ children: t('general:leaveWithoutSaving')
41
+ }),
42
+ /*#__PURE__*/ _jsx("p", {
43
+ children: t('general:changesNotSaved')
44
+ })
45
+ ]
46
+ }),
47
+ /*#__PURE__*/ _jsxs("div", {
48
+ className: `${baseClass}__controls`,
49
+ children: [
50
+ /*#__PURE__*/ _jsx(Button, {
51
+ buttonStyle: "secondary",
52
+ onClick: onCancel,
53
+ children: t('general:stayOnThisPage')
54
+ }),
55
+ /*#__PURE__*/ _jsx(Button, {
56
+ onClick: onConfirm,
57
+ children: t('general:leaveAnyway')
58
+ })
59
+ ]
60
+ })
61
+ ]
62
+ })
63
+ });
44
64
  };
45
65
  export const LeaveWithoutSaving = ()=>{
46
66
  const modified = useFormModified();
@@ -56,7 +76,7 @@ export const LeaveWithoutSaving = ()=>{
56
76
  onPrevent,
57
77
  prevent
58
78
  });
59
- return /*#__PURE__*/ React.createElement(Component, {
79
+ return /*#__PURE__*/ _jsx(Component, {
60
80
  isActive: show,
61
81
  onCancel: ()=>{
62
82
  setShow(false);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"sourcesContent":["'use client'\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Modal, useModal } from '@payloadcms/ui/elements/Modal'\nimport { useFormModified } from '@payloadcms/ui/forms/Form'\nimport { useAuth } from '@payloadcms/ui/providers/Auth'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React, { useCallback, useEffect } from 'react'\n\nimport './index.scss'\nimport { usePreventLeave } from './usePreventLeave.js'\n\nconst modalSlug = 'leave-without-saving'\n\nconst baseClass = 'leave-without-saving'\n\nconst Component: React.FC<{\n isActive: boolean\n onCancel: () => void\n onConfirm: () => void\n}> = ({ isActive, onCancel, onConfirm }) => {\n const { closeModal, modalState, openModal } = useModal()\n const { t } = useTranslation()\n\n // Manually check for modal state as 'esc' key will not trigger the nav inactivity\n // useEffect(() => {\n // if (!modalState?.[modalSlug]?.isOpen && isActive) {\n // onCancel()\n // }\n // }, [modalState, isActive, onCancel])\n\n useEffect(() => {\n if (isActive) openModal(modalSlug)\n else closeModal(modalSlug)\n }, [isActive, openModal, closeModal])\n\n return (\n <Modal className={baseClass} onClose={onCancel} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:leaveWithoutSaving')}</h1>\n <p>{t('general:changesNotSaved')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button buttonStyle=\"secondary\" onClick={onCancel}>\n {t('general:stayOnThisPage')}\n </Button>\n <Button onClick={onConfirm}>{t('general:leaveAnyway')}</Button>\n </div>\n </div>\n </Modal>\n )\n}\n\nexport const LeaveWithoutSaving: React.FC = () => {\n const modified = useFormModified()\n const { user } = useAuth()\n const [show, setShow] = React.useState(false)\n const [hasAccepted, setHasAccepted] = React.useState(false)\n\n const prevent = Boolean(modified && user)\n\n const onPrevent = useCallback(() => {\n setShow(true)\n }, [])\n\n usePreventLeave({ hasAccepted, onPrevent, prevent })\n\n return (\n <Component\n isActive={show}\n onCancel={() => {\n setShow(false)\n }}\n onConfirm={() => {\n setHasAccepted(true)\n }}\n />\n )\n}\n"],"names":["Button","Modal","useModal","useFormModified","useAuth","useTranslation","React","useCallback","useEffect","usePreventLeave","modalSlug","baseClass","Component","isActive","onCancel","onConfirm","closeModal","modalState","openModal","t","className","onClose","slug","div","h1","p","buttonStyle","onClick","LeaveWithoutSaving","modified","user","show","setShow","useState","hasAccepted","setHasAccepted","prevent","Boolean","onPrevent"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,MAAM,QAAQ,iCAAgC;AACvD,SAASC,KAAK,EAAEC,QAAQ,QAAQ,gCAA+B;AAC/D,SAASC,eAAe,QAAQ,4BAA2B;AAC3D,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAOC,SAASC,WAAW,EAAEC,SAAS,QAAQ,QAAO;AAGrD,SAASC,eAAe,QAAQ,uBAAsB;AAEtD,MAAMC,YAAY;AAElB,MAAMC,YAAY;AAElB,MAAMC,YAID,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAE;IACrC,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGhB;IAC9C,MAAM,EAAEiB,CAAC,EAAE,GAAGd;IAEd,kFAAkF;IAClF,oBAAoB;IACpB,wDAAwD;IACxD,iBAAiB;IACjB,MAAM;IACN,uCAAuC;IAEvCG,UAAU;QACR,IAAIK,UAAUK,UAAUR;aACnBM,WAAWN;IAClB,GAAG;QAACG;QAAUK;QAAWF;KAAW;IAEpC,qBACE,oBAACf;QAAMmB,WAAWT;QAAWU,SAASP;QAAUQ,MAAMZ;qBACpD,oBAACa;QAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;qBACrC,oBAACY;QAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;qBACrC,oBAACa,YAAIL,EAAE,8CACP,oBAACM,WAAGN,EAAE,4CAER,oBAACI;QAAIH,WAAW,CAAC,EAAET,UAAU,UAAU,CAAC;qBACtC,oBAACX;QAAO0B,aAAY;QAAYC,SAASb;OACtCK,EAAE,0CAEL,oBAACnB;QAAO2B,SAASZ;OAAYI,EAAE;AAKzC;AAEA,OAAO,MAAMS,qBAA+B;IAC1C,MAAMC,WAAW1B;IACjB,MAAM,EAAE2B,IAAI,EAAE,GAAG1B;IACjB,MAAM,CAAC2B,MAAMC,QAAQ,GAAG1B,MAAM2B,QAAQ,CAAC;IACvC,MAAM,CAACC,aAAaC,eAAe,GAAG7B,MAAM2B,QAAQ,CAAC;IAErD,MAAMG,UAAUC,QAAQR,YAAYC;IAEpC,MAAMQ,YAAY/B,YAAY;QAC5ByB,QAAQ;IACV,GAAG,EAAE;IAELvB,gBAAgB;QAAEyB;QAAaI;QAAWF;IAAQ;IAElD,qBACE,oBAACxB;QACCC,UAAUkB;QACVjB,UAAU;YACRkB,QAAQ;QACV;QACAjB,WAAW;YACToB,eAAe;QACjB;;AAGN,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/LeaveWithoutSaving/index.tsx"],"sourcesContent":["'use client'\nimport { Button } from '@payloadcms/ui/elements/Button'\nimport { Modal, useModal } from '@payloadcms/ui/elements/Modal'\nimport { useFormModified } from '@payloadcms/ui/forms/Form'\nimport { useAuth } from '@payloadcms/ui/providers/Auth'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport React, { useCallback, useEffect } from 'react'\n\nimport './index.scss'\nimport { usePreventLeave } from './usePreventLeave.js'\n\nconst modalSlug = 'leave-without-saving'\n\nconst baseClass = 'leave-without-saving'\n\nconst Component: React.FC<{\n isActive: boolean\n onCancel: () => void\n onConfirm: () => void\n}> = ({ isActive, onCancel, onConfirm }) => {\n const { closeModal, modalState, openModal } = useModal()\n const { t } = useTranslation()\n\n // Manually check for modal state as 'esc' key will not trigger the nav inactivity\n // useEffect(() => {\n // if (!modalState?.[modalSlug]?.isOpen && isActive) {\n // onCancel()\n // }\n // }, [modalState, isActive, onCancel])\n\n useEffect(() => {\n if (isActive) openModal(modalSlug)\n else closeModal(modalSlug)\n }, [isActive, openModal, closeModal])\n\n return (\n <Modal className={baseClass} onClose={onCancel} slug={modalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:leaveWithoutSaving')}</h1>\n <p>{t('general:changesNotSaved')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button buttonStyle=\"secondary\" onClick={onCancel}>\n {t('general:stayOnThisPage')}\n </Button>\n <Button onClick={onConfirm}>{t('general:leaveAnyway')}</Button>\n </div>\n </div>\n </Modal>\n )\n}\n\nexport const LeaveWithoutSaving: React.FC = () => {\n const modified = useFormModified()\n const { user } = useAuth()\n const [show, setShow] = React.useState(false)\n const [hasAccepted, setHasAccepted] = React.useState(false)\n\n const prevent = Boolean(modified && user)\n\n const onPrevent = useCallback(() => {\n setShow(true)\n }, [])\n\n usePreventLeave({ hasAccepted, onPrevent, prevent })\n\n return (\n <Component\n isActive={show}\n onCancel={() => {\n setShow(false)\n }}\n onConfirm={() => {\n setHasAccepted(true)\n }}\n />\n )\n}\n"],"names":["Button","Modal","useModal","useFormModified","useAuth","useTranslation","React","useCallback","useEffect","usePreventLeave","modalSlug","baseClass","Component","isActive","onCancel","onConfirm","closeModal","modalState","openModal","t","className","onClose","slug","div","h1","p","buttonStyle","onClick","LeaveWithoutSaving","modified","user","show","setShow","useState","hasAccepted","setHasAccepted","prevent","Boolean","onPrevent"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,MAAM,QAAQ,iCAAgC;AACvD,SAASC,KAAK,EAAEC,QAAQ,QAAQ,gCAA+B;AAC/D,SAASC,eAAe,QAAQ,4BAA2B;AAC3D,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAOC,SAASC,WAAW,EAAEC,SAAS,QAAQ,QAAO;AAGrD,SAASC,eAAe,QAAQ,uBAAsB;AAEtD,MAAMC,YAAY;AAElB,MAAMC,YAAY;AAElB,MAAMC,YAID,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAE;IACrC,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGhB;IAC9C,MAAM,EAAEiB,CAAC,EAAE,GAAGd;IAEd,kFAAkF;IAClF,oBAAoB;IACpB,wDAAwD;IACxD,iBAAiB;IACjB,MAAM;IACN,uCAAuC;IAEvCG,UAAU;QACR,IAAIK,UAAUK,UAAUR;aACnBM,WAAWN;IAClB,GAAG;QAACG;QAAUK;QAAWF;KAAW;IAEpC,qBACE,KAACf;QAAMmB,WAAWT;QAAWU,SAASP;QAAUQ,MAAMZ;kBACpD,cAAA,MAACa;YAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;;8BACrC,MAACY;oBAAIH,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;;sCACrC,KAACa;sCAAIL,EAAE;;sCACP,KAACM;sCAAGN,EAAE;;;;8BAER,MAACI;oBAAIH,WAAW,CAAC,EAAET,UAAU,UAAU,CAAC;;sCACtC,KAACX;4BAAO0B,aAAY;4BAAYC,SAASb;sCACtCK,EAAE;;sCAEL,KAACnB;4BAAO2B,SAASZ;sCAAYI,EAAE;;;;;;;AAKzC;AAEA,OAAO,MAAMS,qBAA+B;IAC1C,MAAMC,WAAW1B;IACjB,MAAM,EAAE2B,IAAI,EAAE,GAAG1B;IACjB,MAAM,CAAC2B,MAAMC,QAAQ,GAAG1B,MAAM2B,QAAQ,CAAC;IACvC,MAAM,CAACC,aAAaC,eAAe,GAAG7B,MAAM2B,QAAQ,CAAC;IAErD,MAAMG,UAAUC,QAAQR,YAAYC;IAEpC,MAAMQ,YAAY/B,YAAY;QAC5ByB,QAAQ;IACV,GAAG,EAAE;IAELvB,gBAAgB;QAAEyB;QAAaI;QAAWF;IAAQ;IAElD,qBACE,KAACxB;QACCC,UAAUkB;QACVjB,UAAU;YACRkB,QAAQ;QACV;QACAjB,WAAW;YACToB,eAAe;QACjB;;AAGN,EAAC"}
@@ -1,4 +1,5 @@
1
- export { EditView } from '../views/Edit/index.js';
1
+ export { DefaultEditView as EditView } from '../views/Edit/Default/index.js';
2
+ export { DefaultListView as ListView } from '../views/List/Default/index.js';
2
3
  export { NotFoundPage } from '../views/NotFound/index.js';
3
4
  export { type GenerateViewMetadata, RootPage, generatePageMetadata } from '../views/Root/index.js';
4
5
  //# sourceMappingURL=views.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/exports/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,KAAK,oBAAoB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/exports/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,KAAK,oBAAoB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA"}
@@ -1,4 +1,5 @@
1
- export { EditView } from '../views/Edit/index.js';
1
+ export { DefaultEditView as EditView } from '../views/Edit/Default/index.js';
2
+ export { DefaultListView as ListView } from '../views/List/Default/index.js';
2
3
  export { NotFoundPage } from '../views/NotFound/index.js';
3
4
  export { RootPage, generatePageMetadata } from '../views/Root/index.js';
4
5
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/exports/views.ts"],"sourcesContent":["export { EditView } from '../views/Edit/index.js'\nexport { NotFoundPage } from '../views/NotFound/index.js'\nexport { type GenerateViewMetadata, RootPage, generatePageMetadata } from '../views/Root/index.js'\n"],"names":["EditView","NotFoundPage","RootPage","generatePageMetadata"],"rangeMappings":";;","mappings":"AAAA,SAASA,QAAQ,QAAQ,yBAAwB;AACjD,SAASC,YAAY,QAAQ,6BAA4B;AACzD,SAAoCC,QAAQ,EAAEC,oBAAoB,QAAQ,yBAAwB"}
1
+ {"version":3,"sources":["../../src/exports/views.ts"],"sourcesContent":["export { DefaultEditView as EditView } from '../views/Edit/Default/index.js'\nexport { DefaultListView as ListView } from '../views/List/Default/index.js'\nexport { NotFoundPage } from '../views/NotFound/index.js'\nexport { type GenerateViewMetadata, RootPage, generatePageMetadata } from '../views/Root/index.js'\n"],"names":["DefaultEditView","EditView","DefaultListView","ListView","NotFoundPage","RootPage","generatePageMetadata"],"rangeMappings":";;;","mappings":"AAAA,SAASA,mBAAmBC,QAAQ,QAAQ,iCAAgC;AAC5E,SAASC,mBAAmBC,QAAQ,QAAQ,iCAAgC;AAC5E,SAASC,YAAY,QAAQ,6BAA4B;AACzD,SAAoCC,QAAQ,EAAEC,oBAAoB,QAAQ,yBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/fetchAPI-multipart/index.ts"],"sourcesContent":["import type { BusboyConfig } from 'busboy'\n\nimport path from 'path'\nimport { APIError } from 'payload/errors'\n\nimport { isEligibleRequest } from './isEligibleRequest.js'\nimport { processMultipart } from './processMultipart.js'\nimport { debugLog } from './utilities.js'\n\nconst DEFAULT_OPTIONS = {\n abortOnLimit: false,\n createParentPath: false,\n debug: false,\n fileHandler: false,\n limitHandler: false,\n parseNested: false,\n preserveExtension: false,\n responseOnLimit: 'File size limit has been reached',\n safeFileNames: false,\n tempFileDir: path.join(process.cwd(), 'tmp'),\n uploadTimeout: 60000,\n uriDecodeFileNames: false,\n useTempFiles: false,\n}\n\nexport type FileShape = {\n data: Buffer\n encoding: string\n md5: Buffer | string\n mimetype: string\n mv: (filePath: string, callback: () => void) => Promise<void> | void\n name: string\n size: number\n tempFilePath: string\n truncated: boolean\n}\n\nexport type FetchAPIFileUploadOptions = {\n /**\n * Returns a HTTP 413 when the file is bigger than the size limit if `true`.\n * Otherwise, it will add a `truncated = true` to the resulting file structure.\n * @default false\n */\n abortOnLimit?: boolean | undefined\n /**\n * Automatically creates the directory path specified in `.mv(filePathName)`\n * @default false\n */\n createParentPath?: boolean | undefined\n /**\n * Turn on/off upload process logging. Can be useful for troubleshooting.\n * @default false\n */\n debug?: boolean | undefined\n /**\n * User defined limit handler which will be invoked if the file is bigger than configured limits.\n * @default false\n */\n limitHandler?: ((args: { request: Request; size: number }) => void) | boolean | undefined\n /**\n * By default, `req.body` and `req.files` are flattened like this:\n * `{'name': 'John', 'hobbies[0]': 'Cinema', 'hobbies[1]': 'Bike'}\n *\n * When this option is enabled they are parsed in order to be nested like this:\n * `{'name': 'John', 'hobbies': ['Cinema', 'Bike']}`\n * @default false\n */\n parseNested?: boolean | undefined\n /**\n * Preserves filename extension when using `safeFileNames` option.\n * If set to `true`, will default to an extension length of `3`.\n * If set to `number`, this will be the max allowable extension length.\n * If an extension is smaller than the extension length, it remains untouched. If the extension is longer,\n * it is shifted.\n * @default false\n *\n * @example\n * // true\n * app.use(fileUpload({ safeFileNames: true, preserveExtension: true }));\n * // myFileName.ext --> myFileName.ext\n *\n * @example\n * // max extension length 2, extension shifted\n * app.use(fileUpload({ safeFileNames: true, preserveExtension: 2 }));\n * // myFileName.ext --> myFileNamee.xt\n */\n preserveExtension?: boolean | number | undefined\n /**\n * Response which will be send to client if file size limit exceeded when `abortOnLimit` set to `true`.\n * @default 'File size limit has been reached'\n */\n responseOnLimit?: string | undefined\n /**\n * Strips characters from the upload's filename.\n * You can use custom regex to determine what to strip.\n * If set to `true`, non-alphanumeric characters _except_ dashes and underscores will be stripped.\n * This option is off by default.\n * @default false\n *\n * @example\n * // strip slashes from file names\n * app.use(fileUpload({ safeFileNames: /\\\\/g }))\n *\n * @example\n * app.use(fileUpload({ safeFileNames: true }))\n */\n safeFileNames?: RegExp | boolean | undefined\n /**\n * Path to store temporary files.\n * Used along with the `useTempFiles` option. By default this module uses `'tmp'` folder\n * in the current working directory.\n * You can use trailing slash, but it is not necessary.\n * @default './tmp'\n */\n tempFileDir?: string | undefined\n /**\n * This defines how long to wait for data before aborting. Set to `0` if you want to turn off timeout checks.\n * @default 60_000\n */\n uploadTimeout?: number | undefined\n /**\n * Applies uri decoding to file names if set `true`.\n * @default false\n */\n uriDecodeFileNames?: boolean | undefined\n /**\n * By default this module uploads files into RAM.\n * Setting this option to `true` turns on using temporary files instead of utilising RAM.\n * This avoids memory overflow issues when uploading large files or in case of uploading\n * lots of files at same time.\n * @default false\n */\n useTempFiles?: boolean | undefined\n} & Partial<BusboyConfig>\n\ntype FetchAPIFileUploadResponseFile = {\n data: Buffer\n mimetype: string\n name: string\n size: number\n tempFilePath?: string\n}\n\nexport type FetchAPIFileUploadResponse = {\n error?: APIError\n fields: Record<string, string>\n files: Record<string, FetchAPIFileUploadResponseFile>\n}\n\ntype FetchAPIFileUpload = (args: {\n options?: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const fetchAPIFileUpload: FetchAPIFileUpload = async ({ options, request }) => {\n const uploadOptions = { ...DEFAULT_OPTIONS, ...options }\n if (!isEligibleRequest(request)) {\n debugLog(uploadOptions, 'Request is not eligible for file upload!')\n return {\n error: new APIError('Request is not eligible for file upload', 500),\n fields: undefined,\n files: undefined,\n }\n } else {\n return processMultipart({ options: uploadOptions, request })\n }\n}\n"],"names":["path","APIError","isEligibleRequest","processMultipart","debugLog","DEFAULT_OPTIONS","abortOnLimit","createParentPath","debug","fileHandler","limitHandler","parseNested","preserveExtension","responseOnLimit","safeFileNames","tempFileDir","join","process","cwd","uploadTimeout","uriDecodeFileNames","useTempFiles","fetchAPIFileUpload","options","request","uploadOptions","error","fields","undefined","files"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,UAAU,OAAM;AACvB,SAASC,QAAQ,QAAQ,iBAAgB;AAEzC,SAASC,iBAAiB,QAAQ,yBAAwB;AAC1D,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,QAAQ,QAAQ,iBAAgB;AAEzC,MAAMC,kBAAkB;IACtBC,cAAc;IACdC,kBAAkB;IAClBC,OAAO;IACPC,aAAa;IACbC,cAAc;IACdC,aAAa;IACbC,mBAAmB;IACnBC,iBAAiB;IACjBC,eAAe;IACfC,aAAaf,KAAKgB,IAAI,CAACC,QAAQC,GAAG,IAAI;IACtCC,eAAe;IACfC,oBAAoB;IACpBC,cAAc;AAChB;AAkIA,OAAO,MAAMC,qBAAyC,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAE;IAC/E,MAAMC,gBAAgB;QAAE,GAAGpB,eAAe;QAAE,GAAGkB,OAAO;IAAC;IACvD,IAAI,CAACrB,kBAAkBsB,UAAU;QAC/BpB,SAASqB,eAAe;QACxB,OAAO;YACLC,OAAO,IAAIzB,SAAS,2CAA2C;YAC/D0B,QAAQC;YACRC,OAAOD;QACT;IACF,OAAO;QACL,OAAOzB,iBAAiB;YAAEoB,SAASE;YAAeD;QAAQ;IAC5D;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/fetchAPI-multipart/index.ts"],"sourcesContent":["import type { BusboyConfig } from 'busboy'\n\nimport path from 'path'\nimport { APIError } from 'payload/errors'\n\nimport { isEligibleRequest } from './isEligibleRequest.js'\nimport { processMultipart } from './processMultipart.js'\nimport { debugLog } from './utilities.js'\n\nconst DEFAULT_OPTIONS = {\n abortOnLimit: false,\n createParentPath: false,\n debug: false,\n fileHandler: false,\n limitHandler: false,\n parseNested: false,\n preserveExtension: false,\n responseOnLimit: 'File size limit has been reached',\n safeFileNames: false,\n tempFileDir: path.join(process.cwd(), 'tmp'),\n uploadTimeout: 60000,\n uriDecodeFileNames: false,\n useTempFiles: false,\n}\n\nexport type FileShape = {\n data: Buffer\n encoding: string\n md5: Buffer | string\n mimetype: string\n mv: (filePath: string, callback: () => void) => Promise<void> | void\n name: string\n size: number\n tempFilePath: string\n truncated: boolean\n}\n\nexport type FetchAPIFileUploadOptions = {\n /**\n * Returns a HTTP 413 when the file is bigger than the size limit if `true`.\n * Otherwise, it will add a `truncated = true` to the resulting file structure.\n * @default false\n */\n abortOnLimit?: boolean | undefined\n /**\n * Automatically creates the directory path specified in `.mv(filePathName)`\n * @default false\n */\n createParentPath?: boolean | undefined\n /**\n * Turn on/off upload process logging. Can be useful for troubleshooting.\n * @default false\n */\n debug?: boolean | undefined\n /**\n * User defined limit handler which will be invoked if the file is bigger than configured limits.\n * @default false\n */\n limitHandler?: ((args: { request: Request; size: number }) => void) | boolean | undefined\n /**\n * By default, `req.body` and `req.files` are flattened like this:\n * `{'name': 'John', 'hobbies[0]': 'Cinema', 'hobbies[1]': 'Bike'}\n *\n * When this option is enabled they are parsed in order to be nested like this:\n * `{'name': 'John', 'hobbies': ['Cinema', 'Bike']}`\n * @default false\n */\n parseNested?: boolean | undefined\n /**\n * Preserves filename extension when using `safeFileNames` option.\n * If set to `true`, will default to an extension length of `3`.\n * If set to `number`, this will be the max allowable extension length.\n * If an extension is smaller than the extension length, it remains untouched. If the extension is longer,\n * it is shifted.\n * @default false\n *\n * @example\n * // true\n * app.use(fileUpload({ safeFileNames: true, preserveExtension: true }));\n * // myFileName.ext --> myFileName.ext\n *\n * @example\n * // max extension length 2, extension shifted\n * app.use(fileUpload({ safeFileNames: true, preserveExtension: 2 }));\n * // myFileName.ext --> myFileNamee.xt\n */\n preserveExtension?: boolean | number | undefined\n /**\n * Response which will be send to client if file size limit exceeded when `abortOnLimit` set to `true`.\n * @default 'File size limit has been reached'\n */\n responseOnLimit?: string | undefined\n /**\n * Strips characters from the upload's filename.\n * You can use custom regex to determine what to strip.\n * If set to `true`, non-alphanumeric characters _except_ dashes and underscores will be stripped.\n * This option is off by default.\n * @default false\n *\n * @example\n * // strip slashes from file names\n * app.use(fileUpload({ safeFileNames: /\\\\/g }))\n *\n * @example\n * app.use(fileUpload({ safeFileNames: true }))\n */\n safeFileNames?: RegExp | boolean | undefined\n /**\n * Path to store temporary files.\n * Used along with the `useTempFiles` option. By default this module uses `'tmp'` folder\n * in the current working directory.\n * You can use trailing slash, but it is not necessary.\n * @default './tmp'\n */\n tempFileDir?: string | undefined\n /**\n * This defines how long to wait for data before aborting. Set to `0` if you want to turn off timeout checks.\n * @default 60_000\n */\n uploadTimeout?: number | undefined\n /**\n * Applies uri decoding to file names if set `true`.\n * @default false\n */\n uriDecodeFileNames?: boolean | undefined\n /**\n * By default this module uploads files into RAM.\n * Setting this option to `true` turns on using temporary files instead of utilising RAM.\n * This avoids memory overflow issues when uploading large files or in case of uploading\n * lots of files at same time.\n * @default false\n */\n useTempFiles?: boolean | undefined\n} & Partial<BusboyConfig>\n\ntype FetchAPIFileUploadResponseFile = {\n data: Buffer\n mimetype: string\n name: string\n size: number\n tempFilePath?: string\n}\n\nexport type FetchAPIFileUploadResponse = {\n error?: APIError\n fields: Record<string, string>\n files: Record<string, FetchAPIFileUploadResponseFile>\n}\n\ntype FetchAPIFileUpload = (args: {\n options?: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const fetchAPIFileUpload: FetchAPIFileUpload = async ({ options, request }) => {\n const uploadOptions: FetchAPIFileUploadOptions = { ...DEFAULT_OPTIONS, ...options }\n if (!isEligibleRequest(request)) {\n debugLog(uploadOptions, 'Request is not eligible for file upload!')\n return {\n error: new APIError('Request is not eligible for file upload', 500),\n fields: undefined,\n files: undefined,\n }\n } else {\n return processMultipart({ options: uploadOptions, request })\n }\n}\n"],"names":["path","APIError","isEligibleRequest","processMultipart","debugLog","DEFAULT_OPTIONS","abortOnLimit","createParentPath","debug","fileHandler","limitHandler","parseNested","preserveExtension","responseOnLimit","safeFileNames","tempFileDir","join","process","cwd","uploadTimeout","uriDecodeFileNames","useTempFiles","fetchAPIFileUpload","options","request","uploadOptions","error","fields","undefined","files"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,UAAU,OAAM;AACvB,SAASC,QAAQ,QAAQ,iBAAgB;AAEzC,SAASC,iBAAiB,QAAQ,yBAAwB;AAC1D,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,QAAQ,QAAQ,iBAAgB;AAEzC,MAAMC,kBAAkB;IACtBC,cAAc;IACdC,kBAAkB;IAClBC,OAAO;IACPC,aAAa;IACbC,cAAc;IACdC,aAAa;IACbC,mBAAmB;IACnBC,iBAAiB;IACjBC,eAAe;IACfC,aAAaf,KAAKgB,IAAI,CAACC,QAAQC,GAAG,IAAI;IACtCC,eAAe;IACfC,oBAAoB;IACpBC,cAAc;AAChB;AAkIA,OAAO,MAAMC,qBAAyC,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAE;IAC/E,MAAMC,gBAA2C;QAAE,GAAGpB,eAAe;QAAE,GAAGkB,OAAO;IAAC;IAClF,IAAI,CAACrB,kBAAkBsB,UAAU;QAC/BpB,SAASqB,eAAe;QACxB,OAAO;YACLC,OAAO,IAAIzB,SAAS,2CAA2C;YAC/D0B,QAAQC;YACRC,OAAOD;QACT;IACF,OAAO;QACL,OAAOzB,iBAAiB;YAAEoB,SAASE;YAAeD;QAAQ;IAC5D;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAKpD,OAAO,8BAA8B,CAAA;AAMrC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,uCAAuC,CAAA;AAe9C,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,yCAGpB;IACD,QAAQ,EAAE,MAAM,SAAS,CAAA;IACzB,MAAM,EAAE,QAAQ,eAAe,CAAC,CAAA;CACjC,+BA4EA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layouts/Root/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAKpD,OAAO,8BAA8B,CAAA;AAMrC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,uCAAuC,CAAA;AAgB9C,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAED,eAAO,MAAM,UAAU,yCAGpB;IACD,QAAQ,EAAE,MAAM,SAAS,CAAA;IACzB,MAAM,EAAE,QAAQ,eAAe,CAAC,CAAA;CACjC,+BAmFA,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { rtlLanguages } from '@payloadcms/translations';
2
3
  import { initI18n } from '@payloadcms/translations';
3
4
  import { RootProvider } from '@payloadcms/ui/providers/Root';
@@ -9,6 +10,7 @@ import { createClientConfig } from 'payload/config';
9
10
  import React from 'react';
10
11
  import { getPayloadHMR } from '../../utilities/getPayloadHMR.js';
11
12
  import { getRequestLanguage } from '../../utilities/getRequestLanguage.js';
13
+ import { getRequestTheme } from '../../utilities/getRequestTheme.js';
12
14
  import { DefaultEditView } from '../../views/Edit/Default/index.js';
13
15
  import { DefaultListView } from '../../views/List/Default/index.js';
14
16
  const merriweather = Merriweather({
@@ -39,6 +41,11 @@ export const RootLayout = async ({ children, config: configPromise })=>{
39
41
  cookies,
40
42
  headers
41
43
  });
44
+ const theme = getRequestTheme({
45
+ config,
46
+ cookies,
47
+ headers
48
+ });
42
49
  const payload = await getPayloadHMR({
43
50
  config
44
51
  });
@@ -77,23 +84,32 @@ export const RootLayout = async ({ children, config: configPromise })=>{
77
84
  i18n,
78
85
  payload
79
86
  });
80
- return /*#__PURE__*/ React.createElement("html", {
87
+ return /*#__PURE__*/ _jsx("html", {
81
88
  className: merriweather.variable,
89
+ "data-theme": theme,
82
90
  dir: dir,
83
- lang: languageCode
84
- }, /*#__PURE__*/ React.createElement("body", null, /*#__PURE__*/ React.createElement(RootProvider, {
85
- componentMap: componentMap,
86
- config: clientConfig,
87
- dateFNSKey: i18n.dateFNSKey,
88
- fallbackLang: clientConfig.i18n.fallbackLanguage,
89
- languageCode: languageCode,
90
- languageOptions: languageOptions,
91
- // eslint-disable-next-line react/jsx-no-bind
92
- switchLanguageServerAction: switchLanguageServerAction,
93
- translations: i18n.translations
94
- }, wrappedChildren), /*#__PURE__*/ React.createElement("div", {
95
- id: "portal"
96
- })));
91
+ lang: languageCode,
92
+ children: /*#__PURE__*/ _jsxs("body", {
93
+ children: [
94
+ /*#__PURE__*/ _jsx(RootProvider, {
95
+ componentMap: componentMap,
96
+ config: clientConfig,
97
+ dateFNSKey: i18n.dateFNSKey,
98
+ fallbackLang: clientConfig.i18n.fallbackLanguage,
99
+ languageCode: languageCode,
100
+ languageOptions: languageOptions,
101
+ // eslint-disable-next-line react/jsx-no-bind
102
+ switchLanguageServerAction: switchLanguageServerAction,
103
+ theme: theme,
104
+ translations: i18n.translations,
105
+ children: wrappedChildren
106
+ }),
107
+ /*#__PURE__*/ _jsx("div", {
108
+ id: "portal"
109
+ })
110
+ ]
111
+ })
112
+ });
97
113
  };
98
114
 
99
115
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages, I18nClient } from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload/types'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { initI18n } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui/providers/Root'\nimport '@payloadcms/ui/scss/app.scss'\nimport { buildComponentMap } from '@payloadcms/ui/utilities/buildComponentMap'\nimport { Merriweather } from 'next/font/google'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { parseCookies } from 'payload/auth'\nimport { createClientConfig } from 'payload/config'\nimport React from 'react'\nimport 'react-toastify/dist/ReactToastify.css'\n\nimport { getPayloadHMR } from '../../utilities/getPayloadHMR.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { DefaultEditView } from '../../views/Edit/Default/index.js'\nimport { DefaultListView } from '../../views/List/Default/index.js'\n\nconst merriweather = Merriweather({\n display: 'swap',\n style: ['normal', 'italic'],\n subsets: ['latin'],\n variable: '--font-serif',\n weight: ['400', '900'],\n})\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n}: {\n children: React.ReactNode\n config: Promise<SanitizedConfig>\n}) => {\n const config = await configPromise\n\n const headers = getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayloadHMR({ config })\n const i18n: I18nClient = await initI18n({\n config: config.i18n,\n context: 'client',\n language: languageCode,\n })\n const clientConfig = await createClientConfig({ config, t: i18n.t })\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n nextCookies().set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const { componentMap, wrappedChildren } = buildComponentMap({\n DefaultEditView,\n DefaultListView,\n children,\n i18n,\n payload,\n })\n\n return (\n <html className={merriweather.variable} dir={dir} lang={languageCode}>\n <body>\n <RootProvider\n componentMap={componentMap}\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={clientConfig.i18n.fallbackLanguage}\n languageCode={languageCode}\n languageOptions={languageOptions}\n // eslint-disable-next-line react/jsx-no-bind\n switchLanguageServerAction={switchLanguageServerAction}\n translations={i18n.translations}\n >\n {wrappedChildren}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"names":["rtlLanguages","initI18n","RootProvider","buildComponentMap","Merriweather","headers","getHeaders","cookies","nextCookies","parseCookies","createClientConfig","React","getPayloadHMR","getRequestLanguage","DefaultEditView","DefaultListView","merriweather","display","style","subsets","variable","weight","metadata","description","title","RootLayout","children","config","configPromise","languageCode","payload","i18n","context","language","clientConfig","t","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","componentMap","wrappedChildren","html","className","body","dateFNSKey","fallbackLang","fallbackLanguage","div","id"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,YAAY,QAAQ,2BAA0B;AACvD,SAASC,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,YAAY,QAAQ,gCAA+B;AAE5D,SAASC,iBAAiB,QAAQ,6CAA4C;AAC9E,SAASC,YAAY,QAAQ,mBAAkB;AAC/C,SAASC,WAAWC,UAAU,EAAEC,WAAWC,WAAW,QAAQ,kBAAiB;AAC/E,SAASC,YAAY,QAAQ,eAAc;AAC3C,SAASC,kBAAkB,QAAQ,iBAAgB;AACnD,OAAOC,WAAW,QAAO;AAGzB,SAASC,aAAa,QAAQ,mCAAkC;AAChE,SAASC,kBAAkB,QAAQ,wCAAuC;AAC1E,SAASC,eAAe,QAAQ,oCAAmC;AACnE,SAASC,eAAe,QAAQ,oCAAmC;AAEnE,MAAMC,eAAeZ,aAAa;IAChCa,SAAS;IACTC,OAAO;QAAC;QAAU;KAAS;IAC3BC,SAAS;QAAC;KAAQ;IAClBC,UAAU;IACVC,QAAQ;QAAC;QAAO;KAAM;AACxB;AAEA,OAAO,MAAMC,WAAW;IACtBC,aAAa;IACbC,OAAO;AACT,EAAC;AAED,OAAO,MAAMC,aAAa,OAAO,EAC/BC,QAAQ,EACRC,QAAQC,aAAa,EAItB;IACC,MAAMD,SAAS,MAAMC;IAErB,MAAMvB,UAAUC;IAChB,MAAMC,UAAUE,aAAaJ;IAE7B,MAAMwB,eAAehB,mBAAmB;QACtCc;QACApB;QACAF;IACF;IAEA,MAAMyB,UAAU,MAAMlB,cAAc;QAAEe;IAAO;IAC7C,MAAMI,OAAmB,MAAM9B,SAAS;QACtC0B,QAAQA,OAAOI,IAAI;QACnBC,SAAS;QACTC,UAAUJ;IACZ;IACA,MAAMK,eAAe,MAAMxB,mBAAmB;QAAEiB;QAAQQ,GAAGJ,KAAKI,CAAC;IAAC;IAElE,MAAMC,MAAM,AAACpC,aAAgDqC,QAAQ,CAACR,gBAClE,QACA;IAEJ,MAAMS,kBAAkBC,OAAOC,OAAO,CAACb,OAAOI,IAAI,CAACU,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACjF,CAACC,KAAK,CAACV,UAAUW,eAAe;QAC9B,IAAIL,OAAOM,IAAI,CAAClB,OAAOI,IAAI,CAACU,kBAAkB,EAAEJ,QAAQ,CAACJ,WAAW;YAClEU,IAAIG,IAAI,CAAC;gBACPC,OAAOH,eAAeI,YAAY,CAACC,OAAO,CAACC,YAAY;gBACvDC,OAAOlB;YACT;QACF;QAEA,OAAOU;IACT,GACA,EAAE;IAGJ,4DAA4D;IAC5D,eAAeS,2BAA2BC,IAAY;QACpD;QACA7C,cAAc8C,GAAG,CAAC;YAChBC,MAAM,CAAC,EAAE5B,OAAO6B,YAAY,IAAI,UAAU,IAAI,CAAC;YAC/CC,MAAM;YACNN,OAAOE;QACT;IACF;IAEA,MAAM,EAAEK,YAAY,EAAEC,eAAe,EAAE,GAAGxD,kBAAkB;QAC1DW;QACAC;QACAW;QACAK;QACAD;IACF;IAEA,qBACE,oBAAC8B;QAAKC,WAAW7C,aAAaI,QAAQ;QAAEgB,KAAKA;QAAKiB,MAAMxB;qBACtD,oBAACiC,4BACC,oBAAC5D;QACCwD,cAAcA;QACd/B,QAAQO;QACR6B,YAAYhC,KAAKgC,UAAU;QAC3BC,cAAc9B,aAAaH,IAAI,CAACkC,gBAAgB;QAChDpC,cAAcA;QACdS,iBAAiBA;QACjB,6CAA6C;QAC7Cc,4BAA4BA;QAC5BJ,cAAcjB,KAAKiB,YAAY;OAE9BW,gCAEH,oBAACO;QAAIC,IAAG;;AAIhB,EAAC"}
1
+ {"version":3,"sources":["../../../src/layouts/Root/index.tsx"],"sourcesContent":["import type { AcceptedLanguages, I18nClient } from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload/types'\n\nimport { rtlLanguages } from '@payloadcms/translations'\nimport { initI18n } from '@payloadcms/translations'\nimport { RootProvider } from '@payloadcms/ui/providers/Root'\nimport '@payloadcms/ui/scss/app.scss'\nimport { buildComponentMap } from '@payloadcms/ui/utilities/buildComponentMap'\nimport { Merriweather } from 'next/font/google'\nimport { headers as getHeaders, cookies as nextCookies } from 'next/headers.js'\nimport { parseCookies } from 'payload/auth'\nimport { createClientConfig } from 'payload/config'\nimport React from 'react'\nimport 'react-toastify/dist/ReactToastify.css'\n\nimport { getPayloadHMR } from '../../utilities/getPayloadHMR.js'\nimport { getRequestLanguage } from '../../utilities/getRequestLanguage.js'\nimport { getRequestTheme } from '../../utilities/getRequestTheme.js'\nimport { DefaultEditView } from '../../views/Edit/Default/index.js'\nimport { DefaultListView } from '../../views/List/Default/index.js'\n\nconst merriweather = Merriweather({\n display: 'swap',\n style: ['normal', 'italic'],\n subsets: ['latin'],\n variable: '--font-serif',\n weight: ['400', '900'],\n})\n\nexport const metadata = {\n description: 'Generated by Next.js',\n title: 'Next.js',\n}\n\nexport const RootLayout = async ({\n children,\n config: configPromise,\n}: {\n children: React.ReactNode\n config: Promise<SanitizedConfig>\n}) => {\n const config = await configPromise\n\n const headers = getHeaders()\n const cookies = parseCookies(headers)\n\n const languageCode = getRequestLanguage({\n config,\n cookies,\n headers,\n })\n\n const theme = getRequestTheme({\n config,\n cookies,\n headers,\n })\n\n const payload = await getPayloadHMR({ config })\n const i18n: I18nClient = await initI18n({\n config: config.i18n,\n context: 'client',\n language: languageCode,\n })\n const clientConfig = await createClientConfig({ config, t: i18n.t })\n\n const dir = (rtlLanguages as unknown as AcceptedLanguages[]).includes(languageCode)\n ? 'RTL'\n : 'LTR'\n\n const languageOptions = Object.entries(config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n )\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async function switchLanguageServerAction(lang: string): Promise<void> {\n 'use server'\n nextCookies().set({\n name: `${config.cookiePrefix || 'payload'}-lng`,\n path: '/',\n value: lang,\n })\n }\n\n const { componentMap, wrappedChildren } = buildComponentMap({\n DefaultEditView,\n DefaultListView,\n children,\n i18n,\n payload,\n })\n\n return (\n <html className={merriweather.variable} data-theme={theme} dir={dir} lang={languageCode}>\n <body>\n <RootProvider\n componentMap={componentMap}\n config={clientConfig}\n dateFNSKey={i18n.dateFNSKey}\n fallbackLang={clientConfig.i18n.fallbackLanguage}\n languageCode={languageCode}\n languageOptions={languageOptions}\n // eslint-disable-next-line react/jsx-no-bind\n switchLanguageServerAction={switchLanguageServerAction}\n theme={theme}\n translations={i18n.translations}\n >\n {wrappedChildren}\n </RootProvider>\n <div id=\"portal\" />\n </body>\n </html>\n )\n}\n"],"names":["rtlLanguages","initI18n","RootProvider","buildComponentMap","Merriweather","headers","getHeaders","cookies","nextCookies","parseCookies","createClientConfig","React","getPayloadHMR","getRequestLanguage","getRequestTheme","DefaultEditView","DefaultListView","merriweather","display","style","subsets","variable","weight","metadata","description","title","RootLayout","children","config","configPromise","languageCode","theme","payload","i18n","context","language","clientConfig","t","dir","includes","languageOptions","Object","entries","supportedLanguages","reduce","acc","languageConfig","keys","push","label","translations","general","thisLanguage","value","switchLanguageServerAction","lang","set","name","cookiePrefix","path","componentMap","wrappedChildren","html","className","data-theme","body","dateFNSKey","fallbackLang","fallbackLanguage","div","id"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAGA,SAASA,YAAY,QAAQ,2BAA0B;AACvD,SAASC,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,YAAY,QAAQ,gCAA+B;AAE5D,SAASC,iBAAiB,QAAQ,6CAA4C;AAC9E,SAASC,YAAY,QAAQ,mBAAkB;AAC/C,SAASC,WAAWC,UAAU,EAAEC,WAAWC,WAAW,QAAQ,kBAAiB;AAC/E,SAASC,YAAY,QAAQ,eAAc;AAC3C,SAASC,kBAAkB,QAAQ,iBAAgB;AACnD,OAAOC,WAAW,QAAO;AAGzB,SAASC,aAAa,QAAQ,mCAAkC;AAChE,SAASC,kBAAkB,QAAQ,wCAAuC;AAC1E,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,oCAAmC;AACnE,SAASC,eAAe,QAAQ,oCAAmC;AAEnE,MAAMC,eAAeb,aAAa;IAChCc,SAAS;IACTC,OAAO;QAAC;QAAU;KAAS;IAC3BC,SAAS;QAAC;KAAQ;IAClBC,UAAU;IACVC,QAAQ;QAAC;QAAO;KAAM;AACxB;AAEA,OAAO,MAAMC,WAAW;IACtBC,aAAa;IACbC,OAAO;AACT,EAAC;AAED,OAAO,MAAMC,aAAa,OAAO,EAC/BC,QAAQ,EACRC,QAAQC,aAAa,EAItB;IACC,MAAMD,SAAS,MAAMC;IAErB,MAAMxB,UAAUC;IAChB,MAAMC,UAAUE,aAAaJ;IAE7B,MAAMyB,eAAejB,mBAAmB;QACtCe;QACArB;QACAF;IACF;IAEA,MAAM0B,QAAQjB,gBAAgB;QAC5Bc;QACArB;QACAF;IACF;IAEA,MAAM2B,UAAU,MAAMpB,cAAc;QAAEgB;IAAO;IAC7C,MAAMK,OAAmB,MAAMhC,SAAS;QACtC2B,QAAQA,OAAOK,IAAI;QACnBC,SAAS;QACTC,UAAUL;IACZ;IACA,MAAMM,eAAe,MAAM1B,mBAAmB;QAAEkB;QAAQS,GAAGJ,KAAKI,CAAC;IAAC;IAElE,MAAMC,MAAM,AAACtC,aAAgDuC,QAAQ,CAACT,gBAClE,QACA;IAEJ,MAAMU,kBAAkBC,OAAOC,OAAO,CAACd,OAAOK,IAAI,CAACU,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACjF,CAACC,KAAK,CAACV,UAAUW,eAAe;QAC9B,IAAIL,OAAOM,IAAI,CAACnB,OAAOK,IAAI,CAACU,kBAAkB,EAAEJ,QAAQ,CAACJ,WAAW;YAClEU,IAAIG,IAAI,CAAC;gBACPC,OAAOH,eAAeI,YAAY,CAACC,OAAO,CAACC,YAAY;gBACvDC,OAAOlB;YACT;QACF;QAEA,OAAOU;IACT,GACA,EAAE;IAGJ,4DAA4D;IAC5D,eAAeS,2BAA2BC,IAAY;QACpD;QACA/C,cAAcgD,GAAG,CAAC;YAChBC,MAAM,CAAC,EAAE7B,OAAO8B,YAAY,IAAI,UAAU,IAAI,CAAC;YAC/CC,MAAM;YACNN,OAAOE;QACT;IACF;IAEA,MAAM,EAAEK,YAAY,EAAEC,eAAe,EAAE,GAAG1D,kBAAkB;QAC1DY;QACAC;QACAW;QACAM;QACAD;IACF;IAEA,qBACE,KAAC8B;QAAKC,WAAW9C,aAAaI,QAAQ;QAAE2C,cAAYjC;QAAOO,KAAKA;QAAKiB,MAAMzB;kBACzE,cAAA,MAACmC;;8BACC,KAAC/D;oBACC0D,cAAcA;oBACdhC,QAAQQ;oBACR8B,YAAYjC,KAAKiC,UAAU;oBAC3BC,cAAc/B,aAAaH,IAAI,CAACmC,gBAAgB;oBAChDtC,cAAcA;oBACdU,iBAAiBA;oBACjB,6CAA6C;oBAC7Cc,4BAA4BA;oBAC5BvB,OAAOA;oBACPmB,cAAcjB,KAAKiB,YAAY;8BAE9BW;;8BAEH,KAACQ;oBAAIC,IAAG;;;;;AAIhB,EAAC"}