@payloadcms/next 3.0.0-beta.30 → 3.0.0-beta.32

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 (118) hide show
  1. package/dist/layouts/Root/index.d.ts.map +1 -1
  2. package/dist/layouts/Root/index.js +5 -6
  3. package/dist/layouts/Root/index.js.map +1 -1
  4. package/dist/prod/payload/payload-favicon-dark.png +0 -0
  5. package/dist/prod/payload/payload-favicon-light.png +0 -0
  6. package/dist/prod/styles.css +1 -1
  7. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +1 -1
  8. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  9. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  10. package/dist/utilities/getNextRequestI18n.d.ts +1 -1
  11. package/dist/utilities/getNextRequestI18n.js +1 -1
  12. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  13. package/dist/utilities/initPage/handleAdminPage.js +1 -1
  14. package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
  15. package/dist/utilities/initPage/handleAuthRedirect.d.ts +2 -2
  16. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
  17. package/dist/utilities/initPage/handleAuthRedirect.js +5 -4
  18. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
  19. package/dist/utilities/initPage/index.d.ts.map +1 -1
  20. package/dist/utilities/initPage/index.js +1 -1
  21. package/dist/utilities/initPage/index.js.map +1 -1
  22. package/dist/utilities/initPage/shared.d.ts +2 -2
  23. package/dist/utilities/initPage/shared.d.ts.map +1 -1
  24. package/dist/utilities/initPage/shared.js +11 -9
  25. package/dist/utilities/initPage/shared.js.map +1 -1
  26. package/dist/utilities/meta.d.ts.map +1 -1
  27. package/dist/utilities/meta.js +24 -11
  28. package/dist/utilities/meta.js.map +1 -1
  29. package/dist/views/API/RenderJSON/index.js +4 -1
  30. package/dist/views/API/RenderJSON/index.js.map +1 -1
  31. package/dist/views/API/index.client.js +6 -6
  32. package/dist/views/API/index.client.js.map +1 -1
  33. package/dist/views/API/meta.d.ts.map +1 -1
  34. package/dist/views/API/meta.js +1 -3
  35. package/dist/views/API/meta.js.map +1 -1
  36. package/dist/views/Account/index.d.ts.map +1 -1
  37. package/dist/views/Account/index.js +10 -1
  38. package/dist/views/Account/index.js.map +1 -1
  39. package/dist/views/Account/meta.d.ts.map +1 -1
  40. package/dist/views/Account/meta.js +1 -3
  41. package/dist/views/Account/meta.js.map +1 -1
  42. package/dist/views/CreateFirstUser/meta.d.ts.map +1 -1
  43. package/dist/views/CreateFirstUser/meta.js +1 -3
  44. package/dist/views/CreateFirstUser/meta.js.map +1 -1
  45. package/dist/views/Dashboard/Default/index.d.ts +3 -3
  46. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  47. package/dist/views/Dashboard/Default/index.js +30 -7
  48. package/dist/views/Dashboard/Default/index.js.map +1 -1
  49. package/dist/views/Dashboard/index.d.ts.map +1 -1
  50. package/dist/views/Dashboard/index.js +18 -4
  51. package/dist/views/Dashboard/index.js.map +1 -1
  52. package/dist/views/Dashboard/meta.d.ts.map +1 -1
  53. package/dist/views/Dashboard/meta.js +1 -3
  54. package/dist/views/Dashboard/meta.js.map +1 -1
  55. package/dist/views/Document/index.d.ts.map +1 -1
  56. package/dist/views/Document/index.js +10 -1
  57. package/dist/views/Document/index.js.map +1 -1
  58. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  59. package/dist/views/ForgotPassword/index.js +2 -2
  60. package/dist/views/ForgotPassword/index.js.map +1 -1
  61. package/dist/views/ForgotPassword/meta.d.ts.map +1 -1
  62. package/dist/views/ForgotPassword/meta.js +1 -3
  63. package/dist/views/ForgotPassword/meta.js.map +1 -1
  64. package/dist/views/List/index.d.ts.map +1 -1
  65. package/dist/views/List/index.js +12 -3
  66. package/dist/views/List/index.js.map +1 -1
  67. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  68. package/dist/views/Login/LoginForm/index.js +2 -2
  69. package/dist/views/Login/LoginForm/index.js.map +1 -1
  70. package/dist/views/Login/index.d.ts.map +1 -1
  71. package/dist/views/Login/index.js +28 -6
  72. package/dist/views/Login/index.js.map +1 -1
  73. package/dist/views/Login/meta.d.ts.map +1 -1
  74. package/dist/views/Login/meta.js +1 -3
  75. package/dist/views/Login/meta.js.map +1 -1
  76. package/dist/views/Logout/meta.d.ts.map +1 -1
  77. package/dist/views/Logout/meta.js +1 -3
  78. package/dist/views/Logout/meta.js.map +1 -1
  79. package/dist/views/NotFound/index.d.ts +1 -1
  80. package/dist/views/NotFound/index.d.ts.map +1 -1
  81. package/dist/views/NotFound/index.js +8 -2
  82. package/dist/views/NotFound/index.js.map +1 -1
  83. package/dist/views/NotFound/meta.d.ts.map +1 -1
  84. package/dist/views/NotFound/meta.js +1 -3
  85. package/dist/views/NotFound/meta.js.map +1 -1
  86. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  87. package/dist/views/ResetPassword/index.js +2 -2
  88. package/dist/views/ResetPassword/index.js.map +1 -1
  89. package/dist/views/ResetPassword/meta.d.ts.map +1 -1
  90. package/dist/views/ResetPassword/meta.js +1 -3
  91. package/dist/views/ResetPassword/meta.js.map +1 -1
  92. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  93. package/dist/views/Root/getViewFromConfig.js +28 -11
  94. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  95. package/dist/views/Root/index.d.ts.map +1 -1
  96. package/dist/views/Root/index.js +12 -6
  97. package/dist/views/Root/index.js.map +1 -1
  98. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  99. package/dist/views/Unauthorized/index.js +1 -1
  100. package/dist/views/Unauthorized/index.js.map +1 -1
  101. package/dist/views/Unauthorized/meta.d.ts.map +1 -1
  102. package/dist/views/Unauthorized/meta.js +1 -3
  103. package/dist/views/Unauthorized/meta.js.map +1 -1
  104. package/dist/views/Verify/index.d.ts.map +1 -1
  105. package/dist/views/Verify/index.js +10 -4
  106. package/dist/views/Verify/index.js.map +1 -1
  107. package/dist/views/Verify/meta.d.ts.map +1 -1
  108. package/dist/views/Verify/meta.js +1 -3
  109. package/dist/views/Verify/meta.js.map +1 -1
  110. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  111. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +2 -2
  112. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  113. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  114. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +2 -2
  115. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  116. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  117. package/package.json +7 -7
  118. /package/dist/prod/payload/{favicon.svg → payload-favicon.svg} +0 -0
@@ -4,7 +4,7 @@ import type { FieldSchemaMap } from './types.js';
4
4
  type Args = {
5
5
  config: SanitizedConfig;
6
6
  fields: Field[];
7
- i18n: I18n;
7
+ i18n: I18n<any, any>;
8
8
  schemaMap: FieldSchemaMap;
9
9
  schemaPath: string;
10
10
  validRelationships: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAI3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,IAAI,CAAA;IACV,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,cAAc,yEAOxB,IAAI,SAkFN,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAI3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACpB,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,cAAc,yEAOxB,IAAI,SAkFN,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Field, SanitizedConfig } from 'payload/types'\n\nimport { tabHasName } from 'payload/types'\n\nimport type { FieldSchemaMap } from './types.js'\n\ntype Args = {\n config: SanitizedConfig\n fields: Field[]\n i18n: I18n\n schemaMap: FieldSchemaMap\n schemaPath: string\n validRelationships: string[]\n}\n\nexport const traverseFields = ({\n config,\n fields,\n i18n,\n schemaMap,\n schemaPath,\n validRelationships,\n}: Args) => {\n fields.map((field) => {\n switch (field.type) {\n case 'group':\n case 'array':\n schemaMap.set(`${schemaPath}.${field.name}`, field.fields)\n\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n schemaMap,\n schemaPath: `${schemaPath}.${field.name}`,\n validRelationships,\n })\n break\n\n case 'collapsible':\n case 'row':\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n schemaMap,\n schemaPath,\n validRelationships,\n })\n break\n\n case 'blocks':\n field.blocks.map((block) => {\n const blockSchemaPath = `${schemaPath}.${field.name}.${block.slug}`\n\n schemaMap.set(blockSchemaPath, block.fields)\n\n traverseFields({\n config,\n fields: block.fields,\n i18n,\n schemaMap,\n schemaPath: blockSchemaPath,\n validRelationships,\n })\n })\n break\n\n case 'richText':\n if (typeof field.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (typeof field.editor.generateSchemaMap === 'function') {\n field.editor.generateSchemaMap({\n config,\n i18n,\n schemaMap,\n schemaPath: `${schemaPath}.${field.name}`,\n })\n }\n\n break\n\n case 'tabs':\n field.tabs.map((tab) => {\n const tabSchemaPath = tabHasName(tab) ? `${schemaPath}.${tab.name}` : schemaPath\n\n if (tabHasName(tab)) {\n schemaMap.set(tabSchemaPath, tab.fields)\n }\n\n traverseFields({\n config,\n fields: tab.fields,\n i18n,\n schemaMap,\n schemaPath: tabSchemaPath,\n validRelationships,\n })\n })\n break\n }\n })\n}\n"],"names":["tabHasName","traverseFields","config","fields","i18n","schemaMap","schemaPath","validRelationships","map","field","type","set","name","blocks","block","blockSchemaPath","slug","editor","Error","generateSchemaMap","tabs","tab","tabSchemaPath"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,UAAU,QAAQ,gBAAe;AAa1C,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,MAAM,EACNC,MAAM,EACNC,IAAI,EACJC,SAAS,EACTC,UAAU,EACVC,kBAAkB,EACb;IACLJ,OAAOK,GAAG,CAAC,CAACC;QACV,OAAQA,MAAMC,IAAI;YAChB,KAAK;YACL,KAAK;gBACHL,UAAUM,GAAG,CAAC,CAAC,EAAEL,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC,EAAEH,MAAMN,MAAM;gBAEzDF,eAAe;oBACbC;oBACAC,QAAQM,MAAMN,MAAM;oBACpBC;oBACAC;oBACAC,YAAY,CAAC,EAAEA,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC;oBACzCL;gBACF;gBACA;YAEF,KAAK;YACL,KAAK;gBACHN,eAAe;oBACbC;oBACAC,QAAQM,MAAMN,MAAM;oBACpBC;oBACAC;oBACAC;oBACAC;gBACF;gBACA;YAEF,KAAK;gBACHE,MAAMI,MAAM,CAACL,GAAG,CAAC,CAACM;oBAChB,MAAMC,kBAAkB,CAAC,EAAET,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC,EAAEE,MAAME,IAAI,CAAC,CAAC;oBAEnEX,UAAUM,GAAG,CAACI,iBAAiBD,MAAMX,MAAM;oBAE3CF,eAAe;wBACbC;wBACAC,QAAQW,MAAMX,MAAM;wBACpBC;wBACAC;wBACAC,YAAYS;wBACZR;oBACF;gBACF;gBACA;YAEF,KAAK;gBACH,IAAI,OAAOE,MAAMQ,MAAM,KAAK,YAAY;oBACtC,MAAM,IAAIC,MAAM;gBAClB;gBAEA,IAAI,OAAOT,MAAMQ,MAAM,CAACE,iBAAiB,KAAK,YAAY;oBACxDV,MAAMQ,MAAM,CAACE,iBAAiB,CAAC;wBAC7BjB;wBACAE;wBACAC;wBACAC,YAAY,CAAC,EAAEA,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC;oBAC3C;gBACF;gBAEA;YAEF,KAAK;gBACHH,MAAMW,IAAI,CAACZ,GAAG,CAAC,CAACa;oBACd,MAAMC,gBAAgBtB,WAAWqB,OAAO,CAAC,EAAEf,WAAW,CAAC,EAAEe,IAAIT,IAAI,CAAC,CAAC,GAAGN;oBAEtE,IAAIN,WAAWqB,MAAM;wBACnBhB,UAAUM,GAAG,CAACW,eAAeD,IAAIlB,MAAM;oBACzC;oBAEAF,eAAe;wBACbC;wBACAC,QAAQkB,IAAIlB,MAAM;wBAClBC;wBACAC;wBACAC,YAAYgB;wBACZf;oBACF;gBACF;gBACA;QACJ;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/utilities/buildFieldSchemaMap/traverseFields.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { Field, SanitizedConfig } from 'payload/types'\n\nimport { tabHasName } from 'payload/types'\n\nimport type { FieldSchemaMap } from './types.js'\n\ntype Args = {\n config: SanitizedConfig\n fields: Field[]\n i18n: I18n<any, any>\n schemaMap: FieldSchemaMap\n schemaPath: string\n validRelationships: string[]\n}\n\nexport const traverseFields = ({\n config,\n fields,\n i18n,\n schemaMap,\n schemaPath,\n validRelationships,\n}: Args) => {\n fields.map((field) => {\n switch (field.type) {\n case 'group':\n case 'array':\n schemaMap.set(`${schemaPath}.${field.name}`, field.fields)\n\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n schemaMap,\n schemaPath: `${schemaPath}.${field.name}`,\n validRelationships,\n })\n break\n\n case 'collapsible':\n case 'row':\n traverseFields({\n config,\n fields: field.fields,\n i18n,\n schemaMap,\n schemaPath,\n validRelationships,\n })\n break\n\n case 'blocks':\n field.blocks.map((block) => {\n const blockSchemaPath = `${schemaPath}.${field.name}.${block.slug}`\n\n schemaMap.set(blockSchemaPath, block.fields)\n\n traverseFields({\n config,\n fields: block.fields,\n i18n,\n schemaMap,\n schemaPath: blockSchemaPath,\n validRelationships,\n })\n })\n break\n\n case 'richText':\n if (typeof field.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (typeof field.editor.generateSchemaMap === 'function') {\n field.editor.generateSchemaMap({\n config,\n i18n,\n schemaMap,\n schemaPath: `${schemaPath}.${field.name}`,\n })\n }\n\n break\n\n case 'tabs':\n field.tabs.map((tab) => {\n const tabSchemaPath = tabHasName(tab) ? `${schemaPath}.${tab.name}` : schemaPath\n\n if (tabHasName(tab)) {\n schemaMap.set(tabSchemaPath, tab.fields)\n }\n\n traverseFields({\n config,\n fields: tab.fields,\n i18n,\n schemaMap,\n schemaPath: tabSchemaPath,\n validRelationships,\n })\n })\n break\n }\n })\n}\n"],"names":["tabHasName","traverseFields","config","fields","i18n","schemaMap","schemaPath","validRelationships","map","field","type","set","name","blocks","block","blockSchemaPath","slug","editor","Error","generateSchemaMap","tabs","tab","tabSchemaPath"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,UAAU,QAAQ,gBAAe;AAa1C,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,MAAM,EACNC,MAAM,EACNC,IAAI,EACJC,SAAS,EACTC,UAAU,EACVC,kBAAkB,EACb;IACLJ,OAAOK,GAAG,CAAC,CAACC;QACV,OAAQA,MAAMC,IAAI;YAChB,KAAK;YACL,KAAK;gBACHL,UAAUM,GAAG,CAAC,CAAC,EAAEL,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC,EAAEH,MAAMN,MAAM;gBAEzDF,eAAe;oBACbC;oBACAC,QAAQM,MAAMN,MAAM;oBACpBC;oBACAC;oBACAC,YAAY,CAAC,EAAEA,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC;oBACzCL;gBACF;gBACA;YAEF,KAAK;YACL,KAAK;gBACHN,eAAe;oBACbC;oBACAC,QAAQM,MAAMN,MAAM;oBACpBC;oBACAC;oBACAC;oBACAC;gBACF;gBACA;YAEF,KAAK;gBACHE,MAAMI,MAAM,CAACL,GAAG,CAAC,CAACM;oBAChB,MAAMC,kBAAkB,CAAC,EAAET,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC,EAAEE,MAAME,IAAI,CAAC,CAAC;oBAEnEX,UAAUM,GAAG,CAACI,iBAAiBD,MAAMX,MAAM;oBAE3CF,eAAe;wBACbC;wBACAC,QAAQW,MAAMX,MAAM;wBACpBC;wBACAC;wBACAC,YAAYS;wBACZR;oBACF;gBACF;gBACA;YAEF,KAAK;gBACH,IAAI,OAAOE,MAAMQ,MAAM,KAAK,YAAY;oBACtC,MAAM,IAAIC,MAAM;gBAClB;gBAEA,IAAI,OAAOT,MAAMQ,MAAM,CAACE,iBAAiB,KAAK,YAAY;oBACxDV,MAAMQ,MAAM,CAACE,iBAAiB,CAAC;wBAC7BjB;wBACAE;wBACAC;wBACAC,YAAY,CAAC,EAAEA,WAAW,CAAC,EAAEG,MAAMG,IAAI,CAAC,CAAC;oBAC3C;gBACF;gBAEA;YAEF,KAAK;gBACHH,MAAMW,IAAI,CAACZ,GAAG,CAAC,CAACa;oBACd,MAAMC,gBAAgBtB,WAAWqB,OAAO,CAAC,EAAEf,WAAW,CAAC,EAAEe,IAAIT,IAAI,CAAC,CAAC,GAAGN;oBAEtE,IAAIN,WAAWqB,MAAM;wBACnBhB,UAAUM,GAAG,CAACW,eAAeD,IAAIlB,MAAM;oBACzC;oBAEAF,eAAe;wBACbC;wBACAC,QAAQkB,IAAIlB,MAAM;wBAClBC;wBACAC;wBACAC,YAAYgB;wBACZf;oBACF;gBACF;gBACA;QACJ;IACF;AACF,EAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { I18n } from '@payloadcms/translations';
2
2
  import type { SanitizedConfig } from 'payload/types';
3
3
  /**
4
- * In the context of NextJS, this function initializes the i18n object for the current request.
4
+ * In the context of Next.js, this function initializes the i18n object for the current request.
5
5
  *
6
6
  * It must be called on the server side, and within the lifecycle of a request since it relies on the request headers and cookies.
7
7
  */
@@ -2,7 +2,7 @@ import { initI18n } from '@payloadcms/translations';
2
2
  import { cookies, headers } from 'next/headers.js';
3
3
  import { getRequestLanguage } from './getRequestLanguage.js';
4
4
  /**
5
- * In the context of NextJS, this function initializes the i18n object for the current request.
5
+ * In the context of Next.js, this function initializes the i18n object for the current request.
6
6
  *
7
7
  * It must be called on the server side, and within the lifecycle of a request since it relies on the request headers and cookies.
8
8
  */ export const getNextRequestI18n = async ({ config })=>initI18n({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getNextRequestI18n.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload/types'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { cookies, headers } from 'next/headers.js'\n\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\n/**\n * In the context of NextJS, this function initializes the i18n object for the current request.\n *\n * It must be called on the server side, and within the lifecycle of a request since it relies on the request headers and cookies.\n */\nexport const getNextRequestI18n = async ({ config }: { config: SanitizedConfig }): Promise<I18n> =>\n initI18n({\n config: config.i18n,\n context: 'client',\n language: getRequestLanguage({ config, cookies: cookies(), headers: headers() }),\n })\n"],"names":["initI18n","cookies","headers","getRequestLanguage","getNextRequestI18n","config","i18n","context","language"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,OAAO,EAAEC,OAAO,QAAQ,kBAAiB;AAElD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D;;;;CAIC,GACD,OAAO,MAAMC,qBAAqB,OAAO,EAAEC,MAAM,EAA+B,GAC9EL,SAAS;QACPK,QAAQA,OAAOC,IAAI;QACnBC,SAAS;QACTC,UAAUL,mBAAmB;YAAEE;YAAQJ,SAASA;YAAWC,SAASA;QAAU;IAChF,GAAE"}
1
+ {"version":3,"sources":["../../src/utilities/getNextRequestI18n.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { SanitizedConfig } from 'payload/types'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { cookies, headers } from 'next/headers.js'\n\nimport { getRequestLanguage } from './getRequestLanguage.js'\n\n/**\n * In the context of Next.js, this function initializes the i18n object for the current request.\n *\n * It must be called on the server side, and within the lifecycle of a request since it relies on the request headers and cookies.\n */\nexport const getNextRequestI18n = async ({ config }: { config: SanitizedConfig }): Promise<I18n> =>\n initI18n({\n config: config.i18n,\n context: 'client',\n language: getRequestLanguage({ config, cookies: cookies(), headers: headers() }),\n })\n"],"names":["initI18n","cookies","headers","getRequestLanguage","getNextRequestI18n","config","i18n","context","language"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,OAAO,EAAEC,OAAO,QAAQ,kBAAiB;AAElD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D;;;;CAIC,GACD,OAAO,MAAMC,qBAAqB,OAAO,EAAEC,MAAM,EAA+B,GAC9EL,SAAS;QACPK,QAAQA,OAAOC,IAAI;QACnBC,SAAS;QACTC,UAAUL,mBAAmB;YAAEE;YAAQJ,SAASA;YAAWC,SAASA;QAAU;IAChF,GAAE"}
@@ -21,7 +21,7 @@ export const handleAdminPage = ({ adminRoute, config, permissions, route })=>{
21
21
  notFound();
22
22
  }
23
23
  }
24
- if (!permissions.canAccessAdmin && !isAdminAuthRoute(route, adminRoute)) {
24
+ if (!permissions.canAccessAdmin && !isAdminAuthRoute(config, route, adminRoute)) {
25
25
  notFound();
26
26
  }
27
27
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"sourcesContent":["import type { Permissions } from 'payload/auth'\nimport type {\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload/types'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAdminPage = ({\n adminRoute,\n config,\n permissions,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n permissions: Permissions\n route: string\n}) => {\n if (isAdminRoute(route, adminRoute)) {\n const routeSegments = route.replace(adminRoute, '').split('/').filter(Boolean)\n const [entityType, entitySlug, createOrID] = routeSegments\n const collectionSlug = entityType === 'collections' ? entitySlug : undefined\n const globalSlug = entityType === 'globals' ? entitySlug : undefined\n const docID = collectionSlug && createOrID !== 'create' ? createOrID : undefined\n\n let collectionConfig: SanitizedCollectionConfig | undefined\n let globalConfig: SanitizedGlobalConfig | undefined\n\n if (collectionSlug) {\n collectionConfig = config.collections.find((collection) => collection.slug === collectionSlug)\n\n if (!collectionConfig) {\n notFound()\n }\n }\n\n if (globalSlug) {\n globalConfig = config.globals.find((global) => global.slug === globalSlug)\n\n if (!globalConfig) {\n notFound()\n }\n }\n\n if (!permissions.canAccessAdmin && !isAdminAuthRoute(route, adminRoute)) {\n notFound()\n }\n\n return {\n collectionConfig,\n docID,\n globalConfig,\n }\n }\n}\n"],"names":["notFound","isAdminAuthRoute","isAdminRoute","handleAdminPage","adminRoute","config","permissions","route","routeSegments","replace","split","filter","Boolean","entityType","entitySlug","createOrID","collectionSlug","undefined","globalSlug","docID","collectionConfig","globalConfig","collections","find","collection","slug","globals","global","canAccessAdmin"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAOA,SAASA,QAAQ,QAAQ,qBAAoB;AAE7C,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAE5D,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,UAAU,EACVC,MAAM,EACNC,WAAW,EACXC,KAAK,EAMN;IACC,IAAIL,aAAaK,OAAOH,aAAa;QACnC,MAAMI,gBAAgBD,MAAME,OAAO,CAACL,YAAY,IAAIM,KAAK,CAAC,KAAKC,MAAM,CAACC;QACtE,MAAM,CAACC,YAAYC,YAAYC,WAAW,GAAGP;QAC7C,MAAMQ,iBAAiBH,eAAe,gBAAgBC,aAAaG;QACnE,MAAMC,aAAaL,eAAe,YAAYC,aAAaG;QAC3D,MAAME,QAAQH,kBAAkBD,eAAe,WAAWA,aAAaE;QAEvE,IAAIG;QACJ,IAAIC;QAEJ,IAAIL,gBAAgB;YAClBI,mBAAmBf,OAAOiB,WAAW,CAACC,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKT;YAE/E,IAAI,CAACI,kBAAkB;gBACrBpB;YACF;QACF;QAEA,IAAIkB,YAAY;YACdG,eAAehB,OAAOqB,OAAO,CAACH,IAAI,CAAC,CAACI,SAAWA,OAAOF,IAAI,KAAKP;YAE/D,IAAI,CAACG,cAAc;gBACjBrB;YACF;QACF;QAEA,IAAI,CAACM,YAAYsB,cAAc,IAAI,CAAC3B,iBAAiBM,OAAOH,aAAa;YACvEJ;QACF;QAEA,OAAO;YACLoB;YACAD;YACAE;QACF;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/utilities/initPage/handleAdminPage.ts"],"sourcesContent":["import type { Permissions } from 'payload/auth'\nimport type {\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload/types'\n\nimport { notFound } from 'next/navigation.js'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAdminPage = ({\n adminRoute,\n config,\n permissions,\n route,\n}: {\n adminRoute: string\n config: SanitizedConfig\n permissions: Permissions\n route: string\n}) => {\n if (isAdminRoute(route, adminRoute)) {\n const routeSegments = route.replace(adminRoute, '').split('/').filter(Boolean)\n const [entityType, entitySlug, createOrID] = routeSegments\n const collectionSlug = entityType === 'collections' ? entitySlug : undefined\n const globalSlug = entityType === 'globals' ? entitySlug : undefined\n const docID = collectionSlug && createOrID !== 'create' ? createOrID : undefined\n\n let collectionConfig: SanitizedCollectionConfig | undefined\n let globalConfig: SanitizedGlobalConfig | undefined\n\n if (collectionSlug) {\n collectionConfig = config.collections.find((collection) => collection.slug === collectionSlug)\n\n if (!collectionConfig) {\n notFound()\n }\n }\n\n if (globalSlug) {\n globalConfig = config.globals.find((global) => global.slug === globalSlug)\n\n if (!globalConfig) {\n notFound()\n }\n }\n\n if (!permissions.canAccessAdmin && !isAdminAuthRoute(config, route, adminRoute)) {\n notFound()\n }\n\n return {\n collectionConfig,\n docID,\n globalConfig,\n }\n }\n}\n"],"names":["notFound","isAdminAuthRoute","isAdminRoute","handleAdminPage","adminRoute","config","permissions","route","routeSegments","replace","split","filter","Boolean","entityType","entitySlug","createOrID","collectionSlug","undefined","globalSlug","docID","collectionConfig","globalConfig","collections","find","collection","slug","globals","global","canAccessAdmin"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAOA,SAASA,QAAQ,QAAQ,qBAAoB;AAE7C,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAE5D,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,UAAU,EACVC,MAAM,EACNC,WAAW,EACXC,KAAK,EAMN;IACC,IAAIL,aAAaK,OAAOH,aAAa;QACnC,MAAMI,gBAAgBD,MAAME,OAAO,CAACL,YAAY,IAAIM,KAAK,CAAC,KAAKC,MAAM,CAACC;QACtE,MAAM,CAACC,YAAYC,YAAYC,WAAW,GAAGP;QAC7C,MAAMQ,iBAAiBH,eAAe,gBAAgBC,aAAaG;QACnE,MAAMC,aAAaL,eAAe,YAAYC,aAAaG;QAC3D,MAAME,QAAQH,kBAAkBD,eAAe,WAAWA,aAAaE;QAEvE,IAAIG;QACJ,IAAIC;QAEJ,IAAIL,gBAAgB;YAClBI,mBAAmBf,OAAOiB,WAAW,CAACC,IAAI,CAAC,CAACC,aAAeA,WAAWC,IAAI,KAAKT;YAE/E,IAAI,CAACI,kBAAkB;gBACrBpB;YACF;QACF;QAEA,IAAIkB,YAAY;YACdG,eAAehB,OAAOqB,OAAO,CAACH,IAAI,CAAC,CAACI,SAAWA,OAAOF,IAAI,KAAKP;YAE/D,IAAI,CAACG,cAAc;gBACjBrB;YACF;QACF;QAEA,IAAI,CAACM,YAAYsB,cAAc,IAAI,CAAC3B,iBAAiBI,QAAQE,OAAOH,aAAa;YAC/EJ;QACF;QAEA,OAAO;YACLoB;YACAD;YACAE;QACF;IACF;AACF,EAAC"}
@@ -1,5 +1,5 @@
1
- export declare const handleAuthRedirect: ({ adminRoute, redirectUnauthenticatedUser, route, searchParams, }: {
2
- adminRoute: string;
1
+ export declare const handleAuthRedirect: ({ config, redirectUnauthenticatedUser, route, searchParams, }: {
2
+ config;
3
3
  redirectUnauthenticatedUser: boolean | string;
4
4
  route: string;
5
5
  searchParams: {
@@ -1 +1 @@
1
- {"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB,sEAK5B;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,2BAA2B,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CACnD,SA+BA,CAAA"}
1
+ {"version":3,"file":"handleAuthRedirect.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB,kEAK5B;IACD,MAAM,CAAA;IACN,2BAA2B,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CACnD,SAsCA,CAAA"}
@@ -1,15 +1,16 @@
1
1
  import { redirect } from 'next/navigation.js';
2
2
  import QueryString from 'qs';
3
3
  import { isAdminAuthRoute, isAdminRoute } from './shared.js';
4
- export const handleAuthRedirect = ({ adminRoute, redirectUnauthenticatedUser, route, searchParams })=>{
5
- if (!isAdminAuthRoute(route, adminRoute)) {
4
+ export const handleAuthRedirect = ({ config, redirectUnauthenticatedUser, route, searchParams })=>{
5
+ const { admin: { routes: { login: loginRouteFromConfig } }, routes: { admin: adminRoute } } = config;
6
+ if (!isAdminAuthRoute(config, route, adminRoute)) {
6
7
  if (searchParams && 'redirect' in searchParams) delete searchParams.redirect;
7
8
  const redirectRoute = encodeURIComponent(route + Object.keys(searchParams ?? {}).length ? `${QueryString.stringify(searchParams, {
8
9
  addQueryPrefix: true
9
10
  })}` : undefined);
10
- const adminLoginRoute = `${adminRoute}/login`;
11
+ const adminLoginRoute = `${adminRoute}${loginRouteFromConfig}`;
11
12
  const customLoginRoute = typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined;
12
- const loginRoute = isAdminRoute(route, adminRoute) ? adminLoginRoute : customLoginRoute || '/login';
13
+ const loginRoute = isAdminRoute(route, adminRoute) ? adminLoginRoute : customLoginRoute || loginRouteFromConfig;
13
14
  const parsedLoginRouteSearchParams = QueryString.parse(loginRoute.split('?')[1] ?? '');
14
15
  const searchParamsWithRedirect = `${QueryString.stringify({
15
16
  ...parsedLoginRouteSearchParams,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import { redirect } from 'next/navigation.js'\nimport QueryString from 'qs'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAuthRedirect = ({\n adminRoute,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n}: {\n adminRoute: string\n redirectUnauthenticatedUser: boolean | string\n route: string\n searchParams: { [key: string]: string | string[] }\n}) => {\n if (!isAdminAuthRoute(route, adminRoute)) {\n if (searchParams && 'redirect' in searchParams) delete searchParams.redirect\n\n const redirectRoute = encodeURIComponent(\n route + Object.keys(searchParams ?? {}).length\n ? `${QueryString.stringify(searchParams, { addQueryPrefix: true })}`\n : undefined,\n )\n\n const adminLoginRoute = `${adminRoute}/login`\n\n const customLoginRoute =\n typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined\n\n const loginRoute = isAdminRoute(route, adminRoute)\n ? adminLoginRoute\n : customLoginRoute || '/login'\n\n const parsedLoginRouteSearchParams = QueryString.parse(loginRoute.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${QueryString.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n redirect(`${loginRoute.split('?')[0]}${searchParamsWithRedirect}`)\n }\n}\n"],"names":["redirect","QueryString","isAdminAuthRoute","isAdminRoute","handleAuthRedirect","adminRoute","redirectUnauthenticatedUser","route","searchParams","redirectRoute","encodeURIComponent","Object","keys","length","stringify","addQueryPrefix","undefined","adminLoginRoute","customLoginRoute","loginRoute","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,iBAAiB,KAAI;AAE5B,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAE5D,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,UAAU,EACVC,2BAA2B,EAC3BC,KAAK,EACLC,YAAY,EAMb;IACC,IAAI,CAACN,iBAAiBK,OAAOF,aAAa;QACxC,IAAIG,gBAAgB,cAAcA,cAAc,OAAOA,aAAaR,QAAQ;QAE5E,MAAMS,gBAAgBC,mBACpBH,QAAQI,OAAOC,IAAI,CAACJ,gBAAgB,CAAC,GAAGK,MAAM,GAC1C,CAAC,EAAEZ,YAAYa,SAAS,CAACN,cAAc;YAAEO,gBAAgB;QAAK,GAAG,CAAC,GAClEC;QAGN,MAAMC,kBAAkB,CAAC,EAAEZ,WAAW,MAAM,CAAC;QAE7C,MAAMa,mBACJ,OAAOZ,gCAAgC,WAAWA,8BAA8BU;QAElF,MAAMG,aAAahB,aAAaI,OAAOF,cACnCY,kBACAC,oBAAoB;QAExB,MAAME,+BAA+BnB,YAAYoB,KAAK,CAACF,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;QAEnF,MAAMC,2BAA2B,CAAC,EAAEtB,YAAYa,SAAS,CACvD;YACE,GAAGM,4BAA4B;YAC/B,GAAIX,gBAAgB;gBAAET,UAAUS;YAAc,IAAI,CAAC,CAAC;QACtD,GACA;YAAEM,gBAAgB;QAAK,GACvB,CAAC;QAEHf,SAAS,CAAC,EAAEmB,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAEC,yBAAyB,CAAC;IACnE;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/utilities/initPage/handleAuthRedirect.ts"],"sourcesContent":["import { redirect } from 'next/navigation.js'\nimport QueryString from 'qs'\n\nimport { isAdminAuthRoute, isAdminRoute } from './shared.js'\n\nexport const handleAuthRedirect = ({\n config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n}: {\n config\n redirectUnauthenticatedUser: boolean | string\n route: string\n searchParams: { [key: string]: string | string[] }\n}) => {\n const {\n admin: {\n routes: { login: loginRouteFromConfig },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (!isAdminAuthRoute(config, route, adminRoute)) {\n if (searchParams && 'redirect' in searchParams) delete searchParams.redirect\n\n const redirectRoute = encodeURIComponent(\n route + Object.keys(searchParams ?? {}).length\n ? `${QueryString.stringify(searchParams, { addQueryPrefix: true })}`\n : undefined,\n )\n\n const adminLoginRoute = `${adminRoute}${loginRouteFromConfig}`\n\n const customLoginRoute =\n typeof redirectUnauthenticatedUser === 'string' ? redirectUnauthenticatedUser : undefined\n\n const loginRoute = isAdminRoute(route, adminRoute)\n ? adminLoginRoute\n : customLoginRoute || loginRouteFromConfig\n\n const parsedLoginRouteSearchParams = QueryString.parse(loginRoute.split('?')[1] ?? '')\n\n const searchParamsWithRedirect = `${QueryString.stringify(\n {\n ...parsedLoginRouteSearchParams,\n ...(redirectRoute ? { redirect: redirectRoute } : {}),\n },\n { addQueryPrefix: true },\n )}`\n\n redirect(`${loginRoute.split('?')[0]}${searchParamsWithRedirect}`)\n }\n}\n"],"names":["redirect","QueryString","isAdminAuthRoute","isAdminRoute","handleAuthRedirect","config","redirectUnauthenticatedUser","route","searchParams","admin","routes","login","loginRouteFromConfig","adminRoute","redirectRoute","encodeURIComponent","Object","keys","length","stringify","addQueryPrefix","undefined","adminLoginRoute","customLoginRoute","loginRoute","parsedLoginRouteSearchParams","parse","split","searchParamsWithRedirect"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,QAAQ,QAAQ,qBAAoB;AAC7C,OAAOC,iBAAiB,KAAI;AAE5B,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,cAAa;AAE5D,OAAO,MAAMC,qBAAqB,CAAC,EACjCC,MAAM,EACNC,2BAA2B,EAC3BC,KAAK,EACLC,YAAY,EAMb;IACC,MAAM,EACJC,OAAO,EACLC,QAAQ,EAAEC,OAAOC,oBAAoB,EAAE,EACxC,EACDF,QAAQ,EAAED,OAAOI,UAAU,EAAE,EAC9B,GAAGR;IAEJ,IAAI,CAACH,iBAAiBG,QAAQE,OAAOM,aAAa;QAChD,IAAIL,gBAAgB,cAAcA,cAAc,OAAOA,aAAaR,QAAQ;QAE5E,MAAMc,gBAAgBC,mBACpBR,QAAQS,OAAOC,IAAI,CAACT,gBAAgB,CAAC,GAAGU,MAAM,GAC1C,CAAC,EAAEjB,YAAYkB,SAAS,CAACX,cAAc;YAAEY,gBAAgB;QAAK,GAAG,CAAC,GAClEC;QAGN,MAAMC,kBAAkB,CAAC,EAAET,WAAW,EAAED,qBAAqB,CAAC;QAE9D,MAAMW,mBACJ,OAAOjB,gCAAgC,WAAWA,8BAA8Be;QAElF,MAAMG,aAAarB,aAAaI,OAAOM,cACnCS,kBACAC,oBAAoBX;QAExB,MAAMa,+BAA+BxB,YAAYyB,KAAK,CAACF,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI;QAEnF,MAAMC,2BAA2B,CAAC,EAAE3B,YAAYkB,SAAS,CACvD;YACE,GAAGM,4BAA4B;YAC/B,GAAIX,gBAAgB;gBAAEd,UAAUc;YAAc,IAAI,CAAC,CAAC;QACtD,GACA;YAAEM,gBAAgB;QAAK,GACvB,CAAC;QAEHpB,SAAS,CAAC,EAAEwB,WAAWG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAEC,yBAAyB,CAAC;IACnE;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,eAAe,CAAA;AAS5F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,eAAO,MAAM,QAAQ,iFAKlB,IAAI,KAAG,QAAQ,cAAc,CAmF/B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,eAAe,CAAA;AAS5F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAOtC,eAAO,MAAM,QAAQ,iFAKlB,IAAI,KAAG,QAAQ,cAAc,CAmF/B,CAAA"}
@@ -61,7 +61,7 @@ export const initPage = async ({ config: configPromise, redirectUnauthenticatedU
61
61
  };
62
62
  if (redirectUnauthenticatedUser && !user) {
63
63
  handleAuthRedirect({
64
- adminRoute,
64
+ config: payload.config,
65
65
  redirectUnauthenticatedUser,
66
66
  route,
67
67
  searchParams
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { InitPageResult, PayloadRequestWithData, VisibleEntities } from 'payload/types'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { findLocaleFromCode } from '@payloadcms/ui/utilities/findLocaleFromCode'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { parseCookies } from 'payload/auth'\nimport { createLocalReq, isEntityHidden } from 'payload/utilities'\nimport qs from 'qs'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { getRequestLanguage } from '../getRequestLanguage.js'\nimport { handleAdminPage } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\n\nexport const initPage = async ({\n config: configPromise,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const localeParam = searchParams?.locale as string\n const payload = await getPayloadHMR({ config: configPromise })\n\n const {\n collections,\n globals,\n i18n: i18nConfig,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n const localeCode = localeParam || defaultLocale\n const locale = localization && findLocaleFromCode(localization, localeCode)\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n = await initI18n({\n config: i18nConfig,\n context: 'client',\n language,\n })\n\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n locale: locale.code,\n req: {\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequestWithData,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n\n req.user = user\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n adminRoute,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"names":["initI18n","findLocaleFromCode","headers","getHeaders","parseCookies","createLocalReq","isEntityHidden","qs","getPayloadHMR","getRequestLanguage","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","redirectUnauthenticatedUser","route","searchParams","localeParam","locale","payload","collections","globals","i18n","i18nConfig","localization","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","defaultLocale","localeCode","cookies","language","context","req","fallbackLocale","code","query","parse","depth","ignoreQueryPrefix","url","serverURL","permissions","user","auth","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig","translations"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,kBAAkB,QAAQ,8CAA6C;AAChF,SAASC,WAAWC,UAAU,QAAQ,kBAAiB;AACvD,SAASC,YAAY,QAAQ,eAAc;AAC3C,SAASC,cAAc,EAAEC,cAAc,QAAQ,oBAAmB;AAClE,OAAOC,QAAQ,KAAI;AAInB,SAASC,aAAa,QAAQ,sBAAqB;AACnD,SAASC,kBAAkB,QAAQ,2BAA0B;AAC7D,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D,OAAO,MAAMC,WAAW,OAAO,EAC7BC,QAAQC,aAAa,EACrBC,8BAA8B,KAAK,EACnCC,KAAK,EACLC,YAAY,EACP;IACL,MAAMf,UAAUC;IAChB,MAAMe,cAAcD,cAAcE;IAClC,MAAMC,UAAU,MAAMZ,cAAc;QAAEK,QAAQC;IAAc;IAE5D,MAAM,EACJO,WAAW,EACXC,OAAO,EACPC,MAAMC,UAAU,EAChBC,YAAY,EACZC,QAAQ,EAAEC,OAAOC,UAAU,EAAE,EAC9B,GAAGR,QAAQP,MAAM;IAElB,MAAMgB,cAAc,CAAC,EAAEtB,GAAGuB,SAAS,CAACb,gBAAgB,CAAC,GAAG;QAAEc,gBAAgB;IAAK,GAAG,CAAC;IACnF,MAAMC,gBACJP,gBAAgBA,aAAaO,aAAa,GAAGP,aAAaO,aAAa,GAAG;IAC5E,MAAMC,aAAaf,eAAec;IAClC,MAAMb,SAASM,gBAAgBxB,mBAAmBwB,cAAcQ;IAChE,MAAMC,UAAU9B,aAAaF;IAC7B,MAAMiC,WAAW1B,mBAAmB;QAAEI,QAAQO,QAAQP,MAAM;QAAEqB;QAAShC;IAAQ;IAE/E,MAAMqB,OAAO,MAAMvB,SAAS;QAC1Ba,QAAQW;QACRY,SAAS;QACTD;IACF;IAEA,MAAME,MAAM,MAAMhC,eAChB;QACEiC,gBAAgB;QAChBnB,QAAQA,OAAOoB,IAAI;QACnBF,KAAK;YACHd;YACAiB,OAAOjC,GAAGkC,KAAK,CAACZ,aAAa;gBAC3Ba,OAAO;gBACPC,mBAAmB;YACrB;YACAC,KAAK,CAAC,EAAExB,QAAQP,MAAM,CAACgC,SAAS,CAAC,EAAE7B,MAAM,EAAEC,eAAeY,cAAc,GAAG,CAAC;QAC9E;IACF,GACAT;IAGF,MAAM,EAAE0B,WAAW,EAAEC,IAAI,EAAE,GAAG,MAAM3B,QAAQ4B,IAAI,CAAC;QAAE9C;QAASmC;IAAI;IAEhEA,IAAIU,IAAI,GAAGA;IAEX,MAAME,kBAAmC;QACvC5B,aAAaA,YACV6B,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAExB,OAAO,EAAEyB,MAAM,EAAE,EAAE,GAAM,CAAC9C,eAAe;gBAAE8C;gBAAQL;YAAK,KAAKI,OAAO,MACjFE,MAAM,CAACC;QACVhC,SAASA,QACN4B,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAExB,OAAO,EAAEyB,MAAM,EAAE,EAAE,GAAM,CAAC9C,eAAe;gBAAE8C;gBAAQL;YAAK,KAAKI,OAAO,MACjFE,MAAM,CAACC;IACZ;IAEA,IAAIvC,+BAA+B,CAACgC,MAAM;QACxCpC,mBAAmB;YACjBiB;YACAb;YACAC;YACAC;QACF;IACF;IAEA,MAAM,EAAEsC,gBAAgB,EAAEC,KAAK,EAAEC,YAAY,EAAE,GAAG/C,gBAAgB;QAChEkB;QACAf,QAAQO,QAAQP,MAAM;QACtBiC;QACA9B;IACF;IAEA,OAAO;QACLuC;QACArB;QACAsB;QACAC;QACAtC;QACA2B;QACAT;QACAqB,cAAcnC,KAAKmC,YAAY;QAC/BT;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/utilities/initPage/index.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { InitPageResult, PayloadRequestWithData, VisibleEntities } from 'payload/types'\n\nimport { initI18n } from '@payloadcms/translations'\nimport { findLocaleFromCode } from '@payloadcms/ui/utilities/findLocaleFromCode'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { parseCookies } from 'payload/auth'\nimport { createLocalReq, isEntityHidden } from 'payload/utilities'\nimport qs from 'qs'\n\nimport type { Args } from './types.js'\n\nimport { getPayloadHMR } from '../getPayloadHMR.js'\nimport { getRequestLanguage } from '../getRequestLanguage.js'\nimport { handleAdminPage } from './handleAdminPage.js'\nimport { handleAuthRedirect } from './handleAuthRedirect.js'\n\nexport const initPage = async ({\n config: configPromise,\n redirectUnauthenticatedUser = false,\n route,\n searchParams,\n}: Args): Promise<InitPageResult> => {\n const headers = getHeaders()\n const localeParam = searchParams?.locale as string\n const payload = await getPayloadHMR({ config: configPromise })\n\n const {\n collections,\n globals,\n i18n: i18nConfig,\n localization,\n routes: { admin: adminRoute },\n } = payload.config\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n const localeCode = localeParam || defaultLocale\n const locale = localization && findLocaleFromCode(localization, localeCode)\n const cookies = parseCookies(headers)\n const language = getRequestLanguage({ config: payload.config, cookies, headers })\n\n const i18n: I18nClient = await initI18n({\n config: i18nConfig,\n context: 'client',\n language,\n })\n\n const req = await createLocalReq(\n {\n fallbackLocale: null,\n locale: locale.code,\n req: {\n i18n,\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n url: `${payload.config.serverURL}${route}${searchParams ? queryString : ''}`,\n } as PayloadRequestWithData,\n },\n payload,\n )\n\n const { permissions, user } = await payload.auth({ headers, req })\n\n req.user = user\n\n const visibleEntities: VisibleEntities = {\n collections: collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n if (redirectUnauthenticatedUser && !user) {\n handleAuthRedirect({\n config: payload.config,\n redirectUnauthenticatedUser,\n route,\n searchParams,\n })\n }\n\n const { collectionConfig, docID, globalConfig } = handleAdminPage({\n adminRoute,\n config: payload.config,\n permissions,\n route,\n })\n\n return {\n collectionConfig,\n cookies,\n docID,\n globalConfig,\n locale,\n permissions,\n req,\n translations: i18n.translations,\n visibleEntities,\n }\n}\n"],"names":["initI18n","findLocaleFromCode","headers","getHeaders","parseCookies","createLocalReq","isEntityHidden","qs","getPayloadHMR","getRequestLanguage","handleAdminPage","handleAuthRedirect","initPage","config","configPromise","redirectUnauthenticatedUser","route","searchParams","localeParam","locale","payload","collections","globals","i18n","i18nConfig","localization","routes","admin","adminRoute","queryString","stringify","addQueryPrefix","defaultLocale","localeCode","cookies","language","context","req","fallbackLocale","code","query","parse","depth","ignoreQueryPrefix","url","serverURL","permissions","user","auth","visibleEntities","map","slug","hidden","filter","Boolean","collectionConfig","docID","globalConfig","translations"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,kBAAkB,QAAQ,8CAA6C;AAChF,SAASC,WAAWC,UAAU,QAAQ,kBAAiB;AACvD,SAASC,YAAY,QAAQ,eAAc;AAC3C,SAASC,cAAc,EAAEC,cAAc,QAAQ,oBAAmB;AAClE,OAAOC,QAAQ,KAAI;AAInB,SAASC,aAAa,QAAQ,sBAAqB;AACnD,SAASC,kBAAkB,QAAQ,2BAA0B;AAC7D,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D,OAAO,MAAMC,WAAW,OAAO,EAC7BC,QAAQC,aAAa,EACrBC,8BAA8B,KAAK,EACnCC,KAAK,EACLC,YAAY,EACP;IACL,MAAMf,UAAUC;IAChB,MAAMe,cAAcD,cAAcE;IAClC,MAAMC,UAAU,MAAMZ,cAAc;QAAEK,QAAQC;IAAc;IAE5D,MAAM,EACJO,WAAW,EACXC,OAAO,EACPC,MAAMC,UAAU,EAChBC,YAAY,EACZC,QAAQ,EAAEC,OAAOC,UAAU,EAAE,EAC9B,GAAGR,QAAQP,MAAM;IAElB,MAAMgB,cAAc,CAAC,EAAEtB,GAAGuB,SAAS,CAACb,gBAAgB,CAAC,GAAG;QAAEc,gBAAgB;IAAK,GAAG,CAAC;IACnF,MAAMC,gBACJP,gBAAgBA,aAAaO,aAAa,GAAGP,aAAaO,aAAa,GAAG;IAC5E,MAAMC,aAAaf,eAAec;IAClC,MAAMb,SAASM,gBAAgBxB,mBAAmBwB,cAAcQ;IAChE,MAAMC,UAAU9B,aAAaF;IAC7B,MAAMiC,WAAW1B,mBAAmB;QAAEI,QAAQO,QAAQP,MAAM;QAAEqB;QAAShC;IAAQ;IAE/E,MAAMqB,OAAmB,MAAMvB,SAAS;QACtCa,QAAQW;QACRY,SAAS;QACTD;IACF;IAEA,MAAME,MAAM,MAAMhC,eAChB;QACEiC,gBAAgB;QAChBnB,QAAQA,OAAOoB,IAAI;QACnBF,KAAK;YACHd;YACAiB,OAAOjC,GAAGkC,KAAK,CAACZ,aAAa;gBAC3Ba,OAAO;gBACPC,mBAAmB;YACrB;YACAC,KAAK,CAAC,EAAExB,QAAQP,MAAM,CAACgC,SAAS,CAAC,EAAE7B,MAAM,EAAEC,eAAeY,cAAc,GAAG,CAAC;QAC9E;IACF,GACAT;IAGF,MAAM,EAAE0B,WAAW,EAAEC,IAAI,EAAE,GAAG,MAAM3B,QAAQ4B,IAAI,CAAC;QAAE9C;QAASmC;IAAI;IAEhEA,IAAIU,IAAI,GAAGA;IAEX,MAAME,kBAAmC;QACvC5B,aAAaA,YACV6B,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAExB,OAAO,EAAEyB,MAAM,EAAE,EAAE,GAAM,CAAC9C,eAAe;gBAAE8C;gBAAQL;YAAK,KAAKI,OAAO,MACjFE,MAAM,CAACC;QACVhC,SAASA,QACN4B,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAExB,OAAO,EAAEyB,MAAM,EAAE,EAAE,GAAM,CAAC9C,eAAe;gBAAE8C;gBAAQL;YAAK,KAAKI,OAAO,MACjFE,MAAM,CAACC;IACZ;IAEA,IAAIvC,+BAA+B,CAACgC,MAAM;QACxCpC,mBAAmB;YACjBE,QAAQO,QAAQP,MAAM;YACtBE;YACAC;YACAC;QACF;IACF;IAEA,MAAM,EAAEsC,gBAAgB,EAAEC,KAAK,EAAEC,YAAY,EAAE,GAAG/C,gBAAgB;QAChEkB;QACAf,QAAQO,QAAQP,MAAM;QACtBiC;QACA9B;IACF;IAEA,OAAO;QACLuC;QACArB;QACAsB;QACAC;QACAtC;QACA2B;QACAT;QACAqB,cAAcnC,KAAKmC,YAAY;QAC/BT;IACF;AACF,EAAC"}
@@ -1,4 +1,4 @@
1
- export declare const authRoutes: string[];
1
+ import type { SanitizedConfig } from 'payload/types';
2
2
  export declare const isAdminRoute: (route: string, adminRoute: string) => boolean;
3
- export declare const isAdminAuthRoute: (route: string, adminRoute: string) => boolean;
3
+ export declare const isAdminAuthRoute: (config: SanitizedConfig, route: string, adminRoute: string) => boolean;
4
4
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/shared.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,UAQtB,CAAA;AAED,eAAO,MAAM,YAAY,UAAW,MAAM,cAAc,MAAM,YAE7D,CAAA;AAED,eAAO,MAAM,gBAAgB,UAAW,MAAM,cAAc,MAAM,YAEjE,CAAA"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/utilities/initPage/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAapD,eAAO,MAAM,YAAY,UAAW,MAAM,cAAc,MAAM,YAE7D,CAAA;AAED,eAAO,MAAM,gBAAgB,WAAY,eAAe,SAAS,MAAM,cAAc,MAAM,YAQ1F,CAAA"}
@@ -1,16 +1,18 @@
1
- export const authRoutes = [
2
- '/login',
3
- '/logout',
4
- '/create-first-user',
5
- '/forgot',
6
- '/reset',
7
- '/verify',
8
- '/logout-inactivity'
1
+ const authRouteKeys = [
2
+ 'account',
3
+ 'createFirstUser',
4
+ 'forgot',
5
+ 'login',
6
+ 'logout',
7
+ 'forgot',
8
+ 'inactivity',
9
+ 'unauthorized'
9
10
  ];
10
11
  export const isAdminRoute = (route, adminRoute)=>{
11
12
  return route.startsWith(adminRoute);
12
13
  };
13
- export const isAdminAuthRoute = (route, adminRoute)=>{
14
+ export const isAdminAuthRoute = (config, route, adminRoute)=>{
15
+ const authRoutes = config.admin?.routes ? Object.entries(config.admin.routes).filter(([key])=>authRouteKeys.includes(key)).map(([_, value])=>value) : [];
14
16
  return authRoutes.some((r)=>route.replace(adminRoute, '').startsWith(r));
15
17
  };
16
18
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/initPage/shared.ts"],"sourcesContent":["export const authRoutes = [\n '/login',\n '/logout',\n '/create-first-user',\n '/forgot',\n '/reset',\n '/verify',\n '/logout-inactivity',\n]\n\nexport const isAdminRoute = (route: string, adminRoute: string) => {\n return route.startsWith(adminRoute)\n}\n\nexport const isAdminAuthRoute = (route: string, adminRoute: string) => {\n return authRoutes.some((r) => route.replace(adminRoute, '').startsWith(r))\n}\n"],"names":["authRoutes","isAdminRoute","route","adminRoute","startsWith","isAdminAuthRoute","some","r","replace"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAAA,OAAO,MAAMA,aAAa;IACxB;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAA;AAED,OAAO,MAAMC,eAAe,CAACC,OAAeC;IAC1C,OAAOD,MAAME,UAAU,CAACD;AAC1B,EAAC;AAED,OAAO,MAAME,mBAAmB,CAACH,OAAeC;IAC9C,OAAOH,WAAWM,IAAI,CAAC,CAACC,IAAML,MAAMM,OAAO,CAACL,YAAY,IAAIC,UAAU,CAACG;AACzE,EAAC"}
1
+ {"version":3,"sources":["../../../src/utilities/initPage/shared.ts"],"sourcesContent":["import type { SanitizedConfig } from 'payload/types'\n\nconst authRouteKeys: (keyof SanitizedConfig['admin']['routes'])[] = [\n 'account',\n 'createFirstUser',\n 'forgot',\n 'login',\n 'logout',\n 'forgot',\n 'inactivity',\n 'unauthorized',\n]\n\nexport const isAdminRoute = (route: string, adminRoute: string) => {\n return route.startsWith(adminRoute)\n}\n\nexport const isAdminAuthRoute = (config: SanitizedConfig, route: string, adminRoute: string) => {\n const authRoutes = config.admin?.routes\n ? Object.entries(config.admin.routes)\n .filter(([key]) => authRouteKeys.includes(key as keyof SanitizedConfig['admin']['routes']))\n .map(([_, value]) => value)\n : []\n\n return authRoutes.some((r) => route.replace(adminRoute, '').startsWith(r))\n}\n"],"names":["authRouteKeys","isAdminRoute","route","adminRoute","startsWith","isAdminAuthRoute","config","authRoutes","admin","routes","Object","entries","filter","key","includes","map","_","value","some","r","replace"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAEA,MAAMA,gBAA8D;IAClE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,OAAO,MAAMC,eAAe,CAACC,OAAeC;IAC1C,OAAOD,MAAME,UAAU,CAACD;AAC1B,EAAC;AAED,OAAO,MAAME,mBAAmB,CAACC,QAAyBJ,OAAeC;IACvE,MAAMI,aAAaD,OAAOE,KAAK,EAAEC,SAC7BC,OAAOC,OAAO,CAACL,OAAOE,KAAK,CAACC,MAAM,EAC/BG,MAAM,CAAC,CAAC,CAACC,IAAI,GAAKb,cAAcc,QAAQ,CAACD,MACzCE,GAAG,CAAC,CAAC,CAACC,GAAGC,MAAM,GAAKA,SACvB,EAAE;IAEN,OAAOV,WAAWW,IAAI,CAAC,CAACC,IAAMjB,MAAMkB,OAAO,CAACjB,YAAY,IAAIC,UAAU,CAACe;AACzE,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/utilities/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAIpD,eAAO,MAAM,IAAI,SAAgB;IAC/B,MAAM,EAAE,eAAe,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,QAAQ,QAAQ,CAqCnB,CAAA"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/utilities/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAIpD,eAAO,MAAM,IAAI,SAAgB;IAC/B,MAAM,EAAE,eAAe,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd,KAAG,QAAQ,QAAQ,CAuDnB,CAAA"}
@@ -1,18 +1,31 @@
1
- import { payloadFavicon, payloadOgImage } from '@payloadcms/ui/assets';
1
+ import { payloadFaviconDark, payloadFaviconLight, payloadOgImage } from '@payloadcms/ui/assets';
2
2
  export const meta = async (args)=>{
3
3
  const { config, description = '', keywords = 'CMS, Admin, Dashboard', title } = args;
4
4
  const titleSuffix = config.admin.meta?.titleSuffix ?? '- Payload';
5
- const favicon = config?.admin?.meta?.favicon ?? payloadFavicon?.src;
6
5
  const ogImage = config.admin?.meta?.ogImage ?? payloadOgImage?.src;
7
- return {
6
+ const customIcons = config.admin.meta.icons;
7
+ let icons = customIcons ?? [];
8
+ const payloadIcons = [
9
+ {
10
+ type: 'image/png',
11
+ rel: 'icon',
12
+ sizes: '32x32',
13
+ url: payloadFaviconDark?.src
14
+ },
15
+ {
16
+ type: 'image/png',
17
+ media: '(prefers-color-scheme: dark)',
18
+ rel: 'icon',
19
+ sizes: '32x32',
20
+ url: payloadFaviconLight?.src
21
+ }
22
+ ];
23
+ if (customIcons && typeof customIcons === 'object' && Array.isArray(customIcons)) {
24
+ icons = payloadIcons.concat(customIcons);
25
+ }
26
+ return Promise.resolve({
8
27
  description,
9
- icons: [
10
- {
11
- type: 'image/svg',
12
- rel: 'icon',
13
- url: favicon
14
- }
15
- ],
28
+ icons,
16
29
  keywords,
17
30
  metadataBase: new URL(config?.serverURL || process.env.PAYLOAD_PUBLIC_SERVER_URL || `http://localhost:${process.env.PORT || 3000}`),
18
31
  openGraph: {
@@ -29,7 +42,7 @@ export const meta = async (args)=>{
29
42
  title: `${title} ${titleSuffix}`
30
43
  },
31
44
  title: `${title} ${titleSuffix}`
32
- };
45
+ });
33
46
  };
34
47
 
35
48
  //# sourceMappingURL=meta.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { SanitizedConfig } from 'payload/types'\n\nimport { payloadFavicon, payloadOgImage } from '@payloadcms/ui/assets'\n\nexport const meta = async (args: {\n config: SanitizedConfig\n description?: string\n keywords?: string\n title: string\n}): Promise<Metadata> => {\n const { config, description = '', keywords = 'CMS, Admin, Dashboard', title } = args\n\n const titleSuffix = config.admin.meta?.titleSuffix ?? '- Payload'\n const favicon = config?.admin?.meta?.favicon ?? payloadFavicon?.src\n const ogImage = config.admin?.meta?.ogImage ?? payloadOgImage?.src\n\n return {\n description,\n icons: [\n {\n type: 'image/svg',\n rel: 'icon',\n url: favicon,\n },\n ],\n keywords,\n metadataBase: new URL(\n config?.serverURL ||\n process.env.PAYLOAD_PUBLIC_SERVER_URL ||\n `http://localhost:${process.env.PORT || 3000}`,\n ),\n openGraph: {\n type: 'website',\n description,\n images: [\n {\n alt: `${title} ${titleSuffix}`,\n height: 630,\n url: ogImage,\n width: 1200,\n },\n ],\n title: `${title} ${titleSuffix}`,\n },\n title: `${title} ${titleSuffix}`,\n }\n}\n"],"names":["payloadFavicon","payloadOgImage","meta","args","config","description","keywords","title","titleSuffix","admin","favicon","src","ogImage","icons","type","rel","url","metadataBase","URL","serverURL","process","env","PAYLOAD_PUBLIC_SERVER_URL","PORT","openGraph","images","alt","height","width"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SAASA,cAAc,EAAEC,cAAc,QAAQ,wBAAuB;AAEtE,OAAO,MAAMC,OAAO,OAAOC;IAMzB,MAAM,EAAEC,MAAM,EAAEC,cAAc,EAAE,EAAEC,WAAW,uBAAuB,EAAEC,KAAK,EAAE,GAAGJ;IAEhF,MAAMK,cAAcJ,OAAOK,KAAK,CAACP,IAAI,EAAEM,eAAe;IACtD,MAAME,UAAUN,QAAQK,OAAOP,MAAMQ,WAAWV,gBAAgBW;IAChE,MAAMC,UAAUR,OAAOK,KAAK,EAAEP,MAAMU,WAAWX,gBAAgBU;IAE/D,OAAO;QACLN;QACAQ,OAAO;YACL;gBACEC,MAAM;gBACNC,KAAK;gBACLC,KAAKN;YACP;SACD;QACDJ;QACAW,cAAc,IAAIC,IAChBd,QAAQe,aACNC,QAAQC,GAAG,CAACC,yBAAyB,IACrC,CAAC,iBAAiB,EAAEF,QAAQC,GAAG,CAACE,IAAI,IAAI,KAAK,CAAC;QAElDC,WAAW;YACTV,MAAM;YACNT;YACAoB,QAAQ;gBACN;oBACEC,KAAK,CAAC,EAAEnB,MAAM,CAAC,EAAEC,YAAY,CAAC;oBAC9BmB,QAAQ;oBACRX,KAAKJ;oBACLgB,OAAO;gBACT;aACD;YACDrB,OAAO,CAAC,EAAEA,MAAM,CAAC,EAAEC,YAAY,CAAC;QAClC;QACAD,OAAO,CAAC,EAAEA,MAAM,CAAC,EAAEC,YAAY,CAAC;IAClC;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/meta.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { Icon } from 'next/dist/lib/metadata/types/metadata-types.js'\nimport type { SanitizedConfig } from 'payload/types'\n\nimport { payloadFaviconDark, payloadFaviconLight, payloadOgImage } from '@payloadcms/ui/assets'\n\nexport const meta = async (args: {\n config: SanitizedConfig\n description?: string\n keywords?: string\n title: string\n}): Promise<Metadata> => {\n const { config, description = '', keywords = 'CMS, Admin, Dashboard', title } = args\n\n const titleSuffix = config.admin.meta?.titleSuffix ?? '- Payload'\n\n const ogImage = config.admin?.meta?.ogImage ?? payloadOgImage?.src\n\n const customIcons = config.admin.meta.icons as Metadata['icons']\n\n let icons = customIcons ?? []\n\n const payloadIcons: Icon[] = [\n {\n type: 'image/png',\n rel: 'icon',\n sizes: '32x32',\n url: payloadFaviconDark?.src,\n },\n {\n type: 'image/png',\n media: '(prefers-color-scheme: dark)',\n rel: 'icon',\n sizes: '32x32',\n url: payloadFaviconLight?.src,\n },\n ]\n\n if (customIcons && typeof customIcons === 'object' && Array.isArray(customIcons)) {\n icons = payloadIcons.concat(customIcons)\n }\n\n return Promise.resolve({\n description,\n icons,\n keywords,\n metadataBase: new URL(\n config?.serverURL ||\n process.env.PAYLOAD_PUBLIC_SERVER_URL ||\n `http://localhost:${process.env.PORT || 3000}`,\n ),\n openGraph: {\n type: 'website',\n description,\n images: [\n {\n alt: `${title} ${titleSuffix}`,\n height: 630,\n url: ogImage,\n width: 1200,\n },\n ],\n title: `${title} ${titleSuffix}`,\n },\n title: `${title} ${titleSuffix}`,\n })\n}\n"],"names":["payloadFaviconDark","payloadFaviconLight","payloadOgImage","meta","args","config","description","keywords","title","titleSuffix","admin","ogImage","src","customIcons","icons","payloadIcons","type","rel","sizes","url","media","Array","isArray","concat","Promise","resolve","metadataBase","URL","serverURL","process","env","PAYLOAD_PUBLIC_SERVER_URL","PORT","openGraph","images","alt","height","width"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,kBAAkB,EAAEC,mBAAmB,EAAEC,cAAc,QAAQ,wBAAuB;AAE/F,OAAO,MAAMC,OAAO,OAAOC;IAMzB,MAAM,EAAEC,MAAM,EAAEC,cAAc,EAAE,EAAEC,WAAW,uBAAuB,EAAEC,KAAK,EAAE,GAAGJ;IAEhF,MAAMK,cAAcJ,OAAOK,KAAK,CAACP,IAAI,EAAEM,eAAe;IAEtD,MAAME,UAAUN,OAAOK,KAAK,EAAEP,MAAMQ,WAAWT,gBAAgBU;IAE/D,MAAMC,cAAcR,OAAOK,KAAK,CAACP,IAAI,CAACW,KAAK;IAE3C,IAAIA,QAAQD,eAAe,EAAE;IAE7B,MAAME,eAAuB;QAC3B;YACEC,MAAM;YACNC,KAAK;YACLC,OAAO;YACPC,KAAKnB,oBAAoBY;QAC3B;QACA;YACEI,MAAM;YACNI,OAAO;YACPH,KAAK;YACLC,OAAO;YACPC,KAAKlB,qBAAqBW;QAC5B;KACD;IAED,IAAIC,eAAe,OAAOA,gBAAgB,YAAYQ,MAAMC,OAAO,CAACT,cAAc;QAChFC,QAAQC,aAAaQ,MAAM,CAACV;IAC9B;IAEA,OAAOW,QAAQC,OAAO,CAAC;QACrBnB;QACAQ;QACAP;QACAmB,cAAc,IAAIC,IAChBtB,QAAQuB,aACNC,QAAQC,GAAG,CAACC,yBAAyB,IACrC,CAAC,iBAAiB,EAAEF,QAAQC,GAAG,CAACE,IAAI,IAAI,KAAK,CAAC;QAElDC,WAAW;YACTjB,MAAM;YACNV;YACA4B,QAAQ;gBACN;oBACEC,KAAK,CAAC,EAAE3B,MAAM,CAAC,EAAEC,YAAY,CAAC;oBAC9B2B,QAAQ;oBACRjB,KAAKR;oBACL0B,OAAO;gBACT;aACD;YACD7B,OAAO,CAAC,EAAEA,MAAM,CAAC,EAAEC,YAAY,CAAC;QAClC;QACAD,OAAO,CAAC,EAAEA,MAAM,CAAC,EAAEC,YAAY,CAAC;IAClC;AACF,EAAC"}
@@ -20,7 +20,10 @@ export const RenderJSON = ({ isEmpty = false, object, objectKey, parentType = 'o
20
20
  const objectKeys = object ? Object.keys(object) : [];
21
21
  const objectLength = objectKeys.length;
22
22
  const [isOpen, setIsOpen] = React.useState(true);
23
- return /*#__PURE__*/ React.createElement("li", null, /*#__PURE__*/ React.createElement("button", {
23
+ const isNestedAndEmpty = isEmpty && (parentType === 'object' || parentType === 'array');
24
+ return /*#__PURE__*/ React.createElement("li", {
25
+ className: isNestedAndEmpty ? `${baseClass}__row-line--nested` : ''
26
+ }, /*#__PURE__*/ React.createElement("button", {
24
27
  "aria-label": "toggle",
25
28
  className: `${baseClass}__list-toggle ${isEmpty ? `${baseClass}__list-toggle--empty` : ''}`,
26
29
  onClick: ()=>setIsOpen(!isOpen),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/views/API/RenderJSON/index.tsx"],"sourcesContent":["'use client'\nimport { Chevron } from '@payloadcms/ui/icons/Chevron'\nimport * as React from 'react'\n\nimport './index.scss'\n\nconst chars = {\n leftCurlyBracket: '\\u007B',\n leftSquareBracket: '\\u005B',\n rightCurlyBracket: '\\u007D',\n rightSquareBracket: '\\u005D',\n}\n\nconst baseClass = 'query-inspector'\n\nconst Bracket = ({\n type,\n comma = false,\n position,\n}: {\n comma?: boolean\n position: 'end' | 'start'\n type: 'array' | 'object'\n}) => {\n const rightBracket = type === 'object' ? chars.rightCurlyBracket : chars.rightSquareBracket\n const leftBracket = type === 'object' ? chars.leftCurlyBracket : chars.leftSquareBracket\n const bracketToRender = position === 'end' ? rightBracket : leftBracket\n\n return (\n <span className={`${baseClass}__bracket ${baseClass}__bracket--position-${position}`}>\n {bracketToRender}\n {position === 'end' && comma ? ',' : null}\n </span>\n )\n}\n\ntype Args = {\n isEmpty?: boolean\n object: Record<string, any> | any[]\n objectKey?: string\n parentType?: 'array' | 'object'\n trailingComma?: boolean\n}\n\nexport const RenderJSON = ({\n isEmpty = false,\n object,\n objectKey,\n parentType = 'object',\n trailingComma = false,\n}: Args) => {\n const objectKeys = object ? Object.keys(object) : []\n const objectLength = objectKeys.length\n const [isOpen, setIsOpen] = React.useState<boolean>(true)\n\n return (\n <li>\n <button\n aria-label=\"toggle\"\n className={`${baseClass}__list-toggle ${isEmpty ? `${baseClass}__list-toggle--empty` : ''}`}\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n >\n {isEmpty ? null : (\n <Chevron\n className={`${baseClass}__toggle-row-icon ${baseClass}__toggle-row-icon--${\n isOpen ? 'open' : 'closed'\n }`}\n />\n )}\n <span>\n {objectKey && `\"${objectKey}\": `}\n <Bracket position=\"start\" type={parentType} />\n {isEmpty ? <Bracket comma={trailingComma} position=\"end\" type={parentType} /> : null}\n </span>\n </button>\n\n <ul className={`${baseClass}__json-children`}>\n {isOpen &&\n objectKeys.map((key, keyIndex) => {\n let value = object[key]\n let type = 'string'\n const isLastKey = keyIndex === objectLength - 1\n\n if (value === null) {\n type = 'null'\n } else if (value instanceof Date) {\n type = 'date'\n value = value.toISOString()\n } else if (Array.isArray(value)) {\n type = 'array'\n } else if (typeof value === 'object') {\n type = 'object'\n } else if (typeof value === 'number') {\n type = 'number'\n } else if (typeof value === 'boolean') {\n type = 'boolean'\n } else {\n type = 'string'\n }\n\n if (type === 'object' || type === 'array') {\n return (\n <RenderJSON\n isEmpty={value.length === 0 || Object.keys(value).length === 0}\n key={`${key}-${keyIndex}`}\n object={value}\n objectKey={parentType === 'object' ? key : undefined}\n parentType={type}\n trailingComma={!isLastKey}\n />\n )\n }\n\n if (\n type === 'date' ||\n type === 'string' ||\n type === 'null' ||\n type === 'number' ||\n type === 'boolean'\n ) {\n const parentHasKey = Boolean(parentType === 'object' && key)\n\n const rowClasses = [\n `${baseClass}__row-line`,\n `${baseClass}__value-type--${type}`,\n `${baseClass}__row-line--${objectKey ? 'nested' : 'top'}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <li className={rowClasses} key={`${key}-${keyIndex}`}>\n {parentHasKey ? <span>{`\"${key}\": `}</span> : null}\n\n <span className={`${baseClass}__value`}>{JSON.stringify(value)}</span>\n {isLastKey ? '' : ','}\n </li>\n )\n }\n })}\n </ul>\n\n {!isEmpty && (\n <span>\n <Bracket comma={trailingComma} position=\"end\" type={parentType} />\n </span>\n )}\n </li>\n )\n}\n"],"names":["Chevron","React","chars","leftCurlyBracket","leftSquareBracket","rightCurlyBracket","rightSquareBracket","baseClass","Bracket","type","comma","position","rightBracket","leftBracket","bracketToRender","span","className","RenderJSON","isEmpty","object","objectKey","parentType","trailingComma","objectKeys","Object","keys","objectLength","length","isOpen","setIsOpen","useState","li","button","aria-label","onClick","ul","map","key","keyIndex","value","isLastKey","Date","toISOString","Array","isArray","undefined","parentHasKey","Boolean","rowClasses","filter","join","JSON","stringify"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/views/API/RenderJSON/index.tsx"],"sourcesContent":["'use client'\nimport { Chevron } from '@payloadcms/ui/icons/Chevron'\nimport * as React from 'react'\n\nimport './index.scss'\n\nconst chars = {\n leftCurlyBracket: '\\u007B',\n leftSquareBracket: '\\u005B',\n rightCurlyBracket: '\\u007D',\n rightSquareBracket: '\\u005D',\n}\n\nconst baseClass = 'query-inspector'\n\nconst Bracket = ({\n type,\n comma = false,\n position,\n}: {\n comma?: boolean\n position: 'end' | 'start'\n type: 'array' | 'object'\n}) => {\n const rightBracket = type === 'object' ? chars.rightCurlyBracket : chars.rightSquareBracket\n const leftBracket = type === 'object' ? chars.leftCurlyBracket : chars.leftSquareBracket\n const bracketToRender = position === 'end' ? rightBracket : leftBracket\n\n return (\n <span className={`${baseClass}__bracket ${baseClass}__bracket--position-${position}`}>\n {bracketToRender}\n {position === 'end' && comma ? ',' : null}\n </span>\n )\n}\n\ntype Args = {\n isEmpty?: boolean\n object: Record<string, any> | any[]\n objectKey?: string\n parentType?: 'array' | 'object'\n trailingComma?: boolean\n}\n\nexport const RenderJSON = ({\n isEmpty = false,\n object,\n objectKey,\n parentType = 'object',\n trailingComma = false,\n}: Args) => {\n const objectKeys = object ? Object.keys(object) : []\n const objectLength = objectKeys.length\n const [isOpen, setIsOpen] = React.useState<boolean>(true)\n const isNestedAndEmpty = isEmpty && (parentType === 'object' || parentType === 'array')\n return (\n <li className={isNestedAndEmpty ? `${baseClass}__row-line--nested` : ''}>\n <button\n aria-label=\"toggle\"\n className={`${baseClass}__list-toggle ${isEmpty ? `${baseClass}__list-toggle--empty` : ''}`}\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n >\n {isEmpty ? null : (\n <Chevron\n className={`${baseClass}__toggle-row-icon ${baseClass}__toggle-row-icon--${\n isOpen ? 'open' : 'closed'\n }`}\n />\n )}\n <span>\n {objectKey && `\"${objectKey}\": `}\n <Bracket position=\"start\" type={parentType} />\n {isEmpty ? <Bracket comma={trailingComma} position=\"end\" type={parentType} /> : null}\n </span>\n </button>\n\n <ul className={`${baseClass}__json-children`}>\n {isOpen &&\n objectKeys.map((key, keyIndex) => {\n let value = object[key]\n let type = 'string'\n const isLastKey = keyIndex === objectLength - 1\n\n if (value === null) {\n type = 'null'\n } else if (value instanceof Date) {\n type = 'date'\n value = value.toISOString()\n } else if (Array.isArray(value)) {\n type = 'array'\n } else if (typeof value === 'object') {\n type = 'object'\n } else if (typeof value === 'number') {\n type = 'number'\n } else if (typeof value === 'boolean') {\n type = 'boolean'\n } else {\n type = 'string'\n }\n\n if (type === 'object' || type === 'array') {\n return (\n <RenderJSON\n isEmpty={value.length === 0 || Object.keys(value).length === 0}\n key={`${key}-${keyIndex}`}\n object={value}\n objectKey={parentType === 'object' ? key : undefined}\n parentType={type}\n trailingComma={!isLastKey}\n />\n )\n }\n\n if (\n type === 'date' ||\n type === 'string' ||\n type === 'null' ||\n type === 'number' ||\n type === 'boolean'\n ) {\n const parentHasKey = Boolean(parentType === 'object' && key)\n\n const rowClasses = [\n `${baseClass}__row-line`,\n `${baseClass}__value-type--${type}`,\n `${baseClass}__row-line--${objectKey ? 'nested' : 'top'}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <li className={rowClasses} key={`${key}-${keyIndex}`}>\n {parentHasKey ? <span>{`\"${key}\": `}</span> : null}\n\n <span className={`${baseClass}__value`}>{JSON.stringify(value)}</span>\n {isLastKey ? '' : ','}\n </li>\n )\n }\n })}\n </ul>\n\n {!isEmpty && (\n <span>\n <Bracket comma={trailingComma} position=\"end\" type={parentType} />\n </span>\n )}\n </li>\n )\n}\n"],"names":["Chevron","React","chars","leftCurlyBracket","leftSquareBracket","rightCurlyBracket","rightSquareBracket","baseClass","Bracket","type","comma","position","rightBracket","leftBracket","bracketToRender","span","className","RenderJSON","isEmpty","object","objectKey","parentType","trailingComma","objectKeys","Object","keys","objectLength","length","isOpen","setIsOpen","useState","isNestedAndEmpty","li","button","aria-label","onClick","ul","map","key","keyIndex","value","isLastKey","Date","toISOString","Array","isArray","undefined","parentHasKey","Boolean","rowClasses","filter","join","JSON","stringify"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -22,7 +22,7 @@ const baseClass = 'query-inspector';
22
22
  export const APIViewClient = ()=>{
23
23
  const { id, collectionSlug, globalSlug, initialData } = useDocumentInfo();
24
24
  const searchParams = useSearchParams();
25
- const { i18n } = useTranslation();
25
+ const { i18n, t } = useTranslation();
26
26
  const { code } = useLocale();
27
27
  const { getComponentMap } = useComponentMap();
28
28
  const componentMap = getComponentMap({
@@ -143,27 +143,27 @@ export const APIViewClient = ()=>{
143
143
  }, /*#__PURE__*/ React.createElement("div", {
144
144
  className: `${baseClass}__filter-query-checkboxes`
145
145
  }, draftsEnabled && /*#__PURE__*/ React.createElement(Checkbox, {
146
- label: "Draft",
146
+ label: t('version:draft'),
147
147
  name: "draft",
148
148
  onChange: ()=>setDraft(!draft),
149
149
  path: "draft"
150
150
  }), /*#__PURE__*/ React.createElement(Checkbox, {
151
- label: "Authenticated",
151
+ label: t('authentication:authenticated'),
152
152
  name: "authenticated",
153
153
  onChange: ()=>setAuthenticated(!authenticated),
154
154
  path: "authenticated"
155
155
  })), localeOptions && /*#__PURE__*/ React.createElement(Select, {
156
- label: "Locale",
156
+ label: t('general:locale'),
157
157
  name: "locale",
158
158
  onChange: (value)=>setLocale(value),
159
159
  options: localeOptions,
160
160
  path: "locale"
161
161
  }), /*#__PURE__*/ React.createElement(NumberInput, {
162
- label: "Depth",
162
+ label: t('general:depth'),
163
163
  max: 10,
164
164
  min: 0,
165
165
  name: "depth",
166
- onChange: (value)=>setDepth(value.toString()),
166
+ onChange: (value)=>setDepth(value?.toString()),
167
167
  path: "depth",
168
168
  step: 1
169
169
  })))), /*#__PURE__*/ React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard'\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport { Checkbox } from '@payloadcms/ui/fields/Checkbox'\nimport { NumberField as NumberInput } from '@payloadcms/ui/fields/Number'\nimport { Select } from '@payloadcms/ui/fields/Select'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { MinimizeMaximize } from '@payloadcms/ui/icons/MinimizeMaximize'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { useSearchParams } from 'next/navigation.js'\nimport qs from 'qs'\nimport * as React from 'react'\nimport { toast } from 'react-toastify'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { RenderJSON } from './RenderJSON/index.js'\nimport './index.scss'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n } = useTranslation()\n const { code } = useLocale()\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const {\n collections,\n globals,\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = useConfig()\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: string = ''\n\n if (collectionConfig) {\n draftsEnabled = Boolean(collectionConfig.versions?.drafts)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalConfig) {\n draftsEnabled = Boolean(globalConfig.versions?.drafts)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(searchParams.get('depth') || '1')\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n\n const fetchURL = `${serverURL}${apiRoute}${docEndpoint}${qs.stringify(\n {\n depth,\n draft,\n locale,\n },\n { addQueryPrefix: true },\n )}`\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error)\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error)\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <Gutter\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n right={false}\n >\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.API} />\n <div className={`${baseClass}__configuration`}>\n <div className={`${baseClass}__api-url`}>\n <span className={`${baseClass}__label`}>\n API URL <CopyToClipboard value={fetchURL} />\n </span>\n <a href={fetchURL} rel=\"noopener noreferrer\" target=\"_blank\">\n {fetchURL}\n </a>\n </div>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n <div className={`${baseClass}__filter-query-checkboxes`}>\n {draftsEnabled && (\n <Checkbox\n label=\"Draft\"\n name=\"draft\"\n onChange={() => setDraft(!draft)}\n path=\"draft\"\n />\n )}\n <Checkbox\n label=\"Authenticated\"\n name=\"authenticated\"\n onChange={() => setAuthenticated(!authenticated)}\n path=\"authenticated\"\n />\n </div>\n {localeOptions && (\n <Select\n label=\"Locale\"\n name=\"locale\"\n onChange={(value) => setLocale(value)}\n options={localeOptions}\n path=\"locale\"\n />\n )}\n <NumberInput\n label=\"Depth\"\n max={10}\n min={0}\n name=\"depth\"\n onChange={(value) => setDepth(value.toString())}\n path=\"depth\"\n step={1}\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__toggle-fullscreen-button-container`}>\n <button\n aria-label=\"toggle fullscreen\"\n className={`${baseClass}__toggle-fullscreen-button`}\n onClick={() => setFullscreen(!fullscreen)}\n type=\"button\"\n >\n <MinimizeMaximize isMinimized={!fullscreen} />\n </button>\n </div>\n <div className={`${baseClass}__results`}>\n <RenderJSON object={data} />\n </div>\n </div>\n </Gutter>\n )\n}\n"],"names":["CopyToClipboard","Gutter","Checkbox","NumberField","NumberInput","Select","Form","MinimizeMaximize","SetViewActions","useComponentMap","useConfig","useDocumentInfo","useLocale","useTranslation","useSearchParams","qs","React","toast","SetDocumentStepNav","RenderJSON","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","searchParams","i18n","code","getComponentMap","componentMap","collections","globals","localization","routes","api","apiRoute","serverURL","collectionConfig","find","collection","slug","globalConfig","global","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","Boolean","versions","drafts","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","authenticated","setAuthenticated","fullscreen","setFullscreen","fetchURL","stringify","addQueryPrefix","useEffect","fetchData","res","fetch","credentials","headers","language","method","json","error","console","className","filter","join","right","globalLabel","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","actions","actionsMap","Edit","API","div","span","a","href","rel","target","initialState","initialValue","valid","Number","name","onChange","path","options","max","min","toString","step","button","aria-label","onClick","type","isMinimized","object"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/views/API/index.client.tsx"],"sourcesContent":["'use client'\n\nimport { CopyToClipboard } from '@payloadcms/ui/elements/CopyToClipboard'\nimport { Gutter } from '@payloadcms/ui/elements/Gutter'\nimport { Checkbox } from '@payloadcms/ui/fields/Checkbox'\nimport { NumberField as NumberInput } from '@payloadcms/ui/fields/Number'\nimport { Select } from '@payloadcms/ui/fields/Select'\nimport { Form } from '@payloadcms/ui/forms/Form'\nimport { MinimizeMaximize } from '@payloadcms/ui/icons/MinimizeMaximize'\nimport { SetViewActions } from '@payloadcms/ui/providers/Actions'\nimport { useComponentMap } from '@payloadcms/ui/providers/ComponentMap'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useDocumentInfo } from '@payloadcms/ui/providers/DocumentInfo'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { useSearchParams } from 'next/navigation.js'\nimport qs from 'qs'\nimport * as React from 'react'\nimport { toast } from 'react-toastify'\n\nimport { SetDocumentStepNav } from '../Edit/Default/SetDocumentStepNav/index.js'\nimport { RenderJSON } from './RenderJSON/index.js'\nimport './index.scss'\n\nconst baseClass = 'query-inspector'\n\nexport const APIViewClient: React.FC = () => {\n const { id, collectionSlug, globalSlug, initialData } = useDocumentInfo()\n\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n const { code } = useLocale()\n\n const { getComponentMap } = useComponentMap()\n\n const componentMap = getComponentMap({ collectionSlug, globalSlug })\n\n const {\n collections,\n globals,\n localization,\n routes: { api: apiRoute },\n serverURL,\n } = useConfig()\n\n const collectionConfig =\n collectionSlug && collections.find((collection) => collection.slug === collectionSlug)\n\n const globalConfig = globalSlug && globals.find((global) => global.slug === globalSlug)\n\n const localeOptions =\n localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))\n\n let draftsEnabled: boolean = false\n let docEndpoint: string = ''\n\n if (collectionConfig) {\n draftsEnabled = Boolean(collectionConfig.versions?.drafts)\n docEndpoint = `/${collectionSlug}/${id}`\n }\n\n if (globalConfig) {\n draftsEnabled = Boolean(globalConfig.versions?.drafts)\n docEndpoint = `/globals/${globalSlug}`\n }\n\n const [data, setData] = React.useState<any>(initialData)\n const [draft, setDraft] = React.useState<boolean>(searchParams.get('draft') === 'true')\n const [locale, setLocale] = React.useState<string>(searchParams?.get('locale') || code)\n const [depth, setDepth] = React.useState<string>(searchParams.get('depth') || '1')\n const [authenticated, setAuthenticated] = React.useState<boolean>(true)\n const [fullscreen, setFullscreen] = React.useState<boolean>(false)\n\n const fetchURL = `${serverURL}${apiRoute}${docEndpoint}${qs.stringify(\n {\n depth,\n draft,\n locale,\n },\n { addQueryPrefix: true },\n )}`\n\n React.useEffect(() => {\n const fetchData = async () => {\n try {\n const res = await fetch(fetchURL, {\n credentials: authenticated ? 'include' : 'omit',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'GET',\n })\n\n try {\n const json = await res.json()\n setData(json)\n } catch (error) {\n toast.error('Error parsing response')\n console.error(error)\n }\n } catch (error) {\n toast.error('Error making request')\n console.error(error)\n }\n }\n\n void fetchData()\n }, [i18n.language, fetchURL, authenticated])\n\n return (\n <Gutter\n className={[baseClass, fullscreen && `${baseClass}--fullscreen`].filter(Boolean).join(' ')}\n right={false}\n >\n <SetDocumentStepNav\n collectionSlug={collectionSlug}\n globalLabel={globalConfig?.label}\n globalSlug={globalSlug}\n id={id}\n pluralLabel={collectionConfig ? collectionConfig?.labels?.plural : undefined}\n useAsTitle={collectionConfig ? collectionConfig?.admin?.useAsTitle : undefined}\n view=\"API\"\n />\n <SetViewActions actions={componentMap?.actionsMap?.Edit?.API} />\n <div className={`${baseClass}__configuration`}>\n <div className={`${baseClass}__api-url`}>\n <span className={`${baseClass}__label`}>\n API URL <CopyToClipboard value={fetchURL} />\n </span>\n <a href={fetchURL} rel=\"noopener noreferrer\" target=\"_blank\">\n {fetchURL}\n </a>\n </div>\n <Form\n initialState={{\n authenticated: {\n initialValue: authenticated || false,\n valid: true,\n value: authenticated || false,\n },\n depth: {\n initialValue: Number(depth || 0),\n valid: true,\n value: Number(depth || 0),\n },\n draft: {\n initialValue: draft || false,\n valid: true,\n value: draft || false,\n },\n locale: {\n initialValue: locale,\n valid: true,\n value: locale,\n },\n }}\n >\n <div className={`${baseClass}__form-fields`}>\n <div className={`${baseClass}__filter-query-checkboxes`}>\n {draftsEnabled && (\n <Checkbox\n label={t('version:draft')}\n name=\"draft\"\n onChange={() => setDraft(!draft)}\n path=\"draft\"\n />\n )}\n <Checkbox\n label={t('authentication:authenticated')}\n name=\"authenticated\"\n onChange={() => setAuthenticated(!authenticated)}\n path=\"authenticated\"\n />\n </div>\n {localeOptions && (\n <Select\n label={t('general:locale')}\n name=\"locale\"\n onChange={(value) => setLocale(value)}\n options={localeOptions}\n path=\"locale\"\n />\n )}\n <NumberInput\n label={t('general:depth')}\n max={10}\n min={0}\n name=\"depth\"\n onChange={(value) => setDepth(value?.toString())}\n path=\"depth\"\n step={1}\n />\n </div>\n </Form>\n </div>\n <div className={`${baseClass}__results-wrapper`}>\n <div className={`${baseClass}__toggle-fullscreen-button-container`}>\n <button\n aria-label=\"toggle fullscreen\"\n className={`${baseClass}__toggle-fullscreen-button`}\n onClick={() => setFullscreen(!fullscreen)}\n type=\"button\"\n >\n <MinimizeMaximize isMinimized={!fullscreen} />\n </button>\n </div>\n <div className={`${baseClass}__results`}>\n <RenderJSON object={data} />\n </div>\n </div>\n </Gutter>\n )\n}\n"],"names":["CopyToClipboard","Gutter","Checkbox","NumberField","NumberInput","Select","Form","MinimizeMaximize","SetViewActions","useComponentMap","useConfig","useDocumentInfo","useLocale","useTranslation","useSearchParams","qs","React","toast","SetDocumentStepNav","RenderJSON","baseClass","APIViewClient","id","collectionSlug","globalSlug","initialData","searchParams","i18n","t","code","getComponentMap","componentMap","collections","globals","localization","routes","api","apiRoute","serverURL","collectionConfig","find","collection","slug","globalConfig","global","localeOptions","locales","map","locale","label","value","draftsEnabled","docEndpoint","Boolean","versions","drafts","data","setData","useState","draft","setDraft","get","setLocale","depth","setDepth","authenticated","setAuthenticated","fullscreen","setFullscreen","fetchURL","stringify","addQueryPrefix","useEffect","fetchData","res","fetch","credentials","headers","language","method","json","error","console","className","filter","join","right","globalLabel","pluralLabel","labels","plural","undefined","useAsTitle","admin","view","actions","actionsMap","Edit","API","div","span","a","href","rel","target","initialState","initialValue","valid","Number","name","onChange","path","options","max","min","toString","step","button","aria-label","onClick","type","isMinimized","object"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/API/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAI/E,eAAO,MAAM,gBAAgB,EAAE,wBAO9B,CAAA"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/views/API/meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAI/E,eAAO,MAAM,gBAAgB,EAAE,wBAM3B,CAAA"}
@@ -1,11 +1,9 @@
1
1
  import { meta } from '../../utilities/meta.js';
2
- export const generateMetadata = async ({ config })=>{
3
- return meta({
2
+ export const generateMetadata = async ({ config })=>meta({
4
3
  config,
5
4
  description: 'API',
6
5
  keywords: 'API',
7
6
  title: 'API'
8
7
  });
9
- };
10
8
 
11
9
  //# sourceMappingURL=meta.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/API/meta.ts"],"sourcesContent":["import type { GenerateEditViewMetadata } from '../Document/getMetaBySegment.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async ({ config }) => {\n return meta({\n config,\n description: 'API',\n keywords: 'API',\n title: 'API',\n })\n}\n"],"names":["meta","generateMetadata","config","description","keywords","title"],"rangeMappings":";;;;;;;;","mappings":"AAEA,SAASA,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,mBAA6C,OAAO,EAAEC,MAAM,EAAE;IACzE,OAAOF,KAAK;QACVE;QACAC,aAAa;QACbC,UAAU;QACVC,OAAO;IACT;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/views/API/meta.ts"],"sourcesContent":["import type { GenerateEditViewMetadata } from '../Document/getMetaBySegment.js'\n\nimport { meta } from '../../utilities/meta.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async ({ config }) =>\n meta({\n config,\n description: 'API',\n keywords: 'API',\n title: 'API',\n })\n"],"names":["meta","generateMetadata","config","description","keywords","title"],"rangeMappings":";;;;;;","mappings":"AAEA,SAASA,IAAI,QAAQ,0BAAyB;AAE9C,OAAO,MAAMC,mBAA6C,OAAO,EAAEC,MAAM,EAAE,GACzEF,KAAK;QACHE;QACAC,aAAa;QACbC,UAAU;QACVC,OAAO;IACT,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Account/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAQnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAEnD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAsE5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Account/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAQnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAEnD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA+E5C,CAAA"}
@@ -48,7 +48,16 @@ export const Account = ({ initPageResult, params, searchParams })=>{
48
48
  }, /*#__PURE__*/ React.createElement(RenderCustomComponent, {
49
49
  CustomComponent: typeof CustomAccountComponent === 'function' ? CustomAccountComponent : undefined,
50
50
  DefaultComponent: EditView,
51
- componentProps: viewComponentProps
51
+ componentProps: viewComponentProps,
52
+ serverOnlyProps: {
53
+ i18n,
54
+ locale,
55
+ params,
56
+ payload,
57
+ permissions,
58
+ searchParams,
59
+ user
60
+ }
52
61
  })));
53
62
  }
54
63
  return notFound();