@payloadcms/next 3.84.1 → 4.0.0-internal.38b7f1d

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 (158) hide show
  1. package/dist/cjs/withPayload.cjs +15 -176
  2. package/dist/cjs/withPayload.cjs.map +4 -4
  3. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  4. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +0 -4
  5. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  6. package/dist/elements/HierarchyTypeField/index.d.ts +9 -0
  7. package/dist/elements/HierarchyTypeField/index.d.ts.map +1 -0
  8. package/dist/elements/HierarchyTypeField/index.js +114 -0
  9. package/dist/elements/HierarchyTypeField/index.js.map +1 -0
  10. package/dist/elements/HierarchyTypeField/index.server.d.ts +9 -0
  11. package/dist/elements/HierarchyTypeField/index.server.d.ts.map +1 -0
  12. package/dist/elements/HierarchyTypeField/index.server.js +32 -0
  13. package/dist/elements/HierarchyTypeField/index.server.js.map +1 -0
  14. package/dist/elements/Nav/SidebarTabs/TabError/index.css +29 -0
  15. package/dist/elements/Nav/SidebarTabs/TabError/index.d.ts +8 -0
  16. package/dist/elements/Nav/SidebarTabs/TabError/index.d.ts.map +1 -0
  17. package/dist/elements/Nav/SidebarTabs/TabError/index.js +42 -0
  18. package/dist/elements/Nav/SidebarTabs/TabError/index.js.map +1 -0
  19. package/dist/elements/Nav/SidebarTabs/constants.d.ts +2 -0
  20. package/dist/elements/Nav/SidebarTabs/constants.d.ts.map +1 -0
  21. package/dist/elements/Nav/SidebarTabs/constants.js +2 -0
  22. package/dist/elements/Nav/SidebarTabs/constants.js.map +1 -0
  23. package/dist/elements/Nav/SidebarTabs/index.client.d.ts +22 -0
  24. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -0
  25. package/dist/elements/Nav/SidebarTabs/index.client.js +195 -0
  26. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -0
  27. package/dist/elements/Nav/SidebarTabs/index.css +80 -0
  28. package/dist/elements/Nav/SidebarTabs/index.d.ts +17 -0
  29. package/dist/elements/Nav/SidebarTabs/index.d.ts.map +1 -0
  30. package/dist/elements/Nav/SidebarTabs/index.js +85 -0
  31. package/dist/elements/Nav/SidebarTabs/index.js.map +1 -0
  32. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +10 -0
  33. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -0
  34. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +54 -0
  35. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -0
  36. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
  37. package/dist/elements/Nav/getNavPrefs.js +36 -2
  38. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  39. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  40. package/dist/elements/Nav/index.client.js +48 -63
  41. package/dist/elements/Nav/index.client.js.map +1 -1
  42. package/dist/elements/Nav/index.css +155 -0
  43. package/dist/elements/Nav/index.d.ts +1 -1
  44. package/dist/elements/Nav/index.d.ts.map +1 -1
  45. package/dist/elements/Nav/index.js +39 -8
  46. package/dist/elements/Nav/index.js.map +1 -1
  47. package/dist/exports/client.d.ts +2 -1
  48. package/dist/exports/client.d.ts.map +1 -1
  49. package/dist/exports/client.js +2 -1
  50. package/dist/exports/client.js.map +1 -1
  51. package/dist/exports/rsc.d.ts +2 -1
  52. package/dist/exports/rsc.d.ts.map +1 -1
  53. package/dist/exports/rsc.js +2 -1
  54. package/dist/exports/rsc.js.map +1 -1
  55. package/dist/exports/utilities.d.ts +2 -67
  56. package/dist/exports/utilities.d.ts.map +1 -1
  57. package/dist/exports/utilities.js +1 -49
  58. package/dist/exports/utilities.js.map +1 -1
  59. package/dist/layouts/Root/index.d.ts +18 -1
  60. package/dist/layouts/Root/index.d.ts.map +1 -1
  61. package/dist/layouts/Root/index.js +25 -4
  62. package/dist/layouts/Root/index.js.map +1 -1
  63. package/dist/prod/styles.css +1 -1
  64. package/dist/utilities/getHierarchyAncestry.d.ts +24 -0
  65. package/dist/utilities/getHierarchyAncestry.d.ts.map +1 -0
  66. package/dist/utilities/getHierarchyAncestry.js +103 -0
  67. package/dist/utilities/getHierarchyAncestry.js.map +1 -0
  68. package/dist/utilities/getRequestHighContrast.d.ts +10 -0
  69. package/dist/utilities/getRequestHighContrast.d.ts.map +1 -0
  70. package/dist/utilities/getRequestHighContrast.js +18 -0
  71. package/dist/utilities/getRequestHighContrast.js.map +1 -0
  72. package/dist/utilities/handleServerFunctions.js +2 -2
  73. package/dist/utilities/handleServerFunctions.js.map +1 -1
  74. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  75. package/dist/views/Account/Settings/index.js +2 -1
  76. package/dist/views/Account/Settings/index.js.map +1 -1
  77. package/dist/views/Account/ToggleHighContrast/index.d.ts +3 -0
  78. package/dist/views/Account/ToggleHighContrast/index.d.ts.map +1 -0
  79. package/dist/views/Account/ToggleHighContrast/index.js +45 -0
  80. package/dist/views/Account/ToggleHighContrast/index.js.map +1 -0
  81. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -3
  82. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  83. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +1 -1
  84. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  85. package/dist/views/Document/getDocumentView.d.ts.map +1 -1
  86. package/dist/views/Document/getDocumentView.js +3 -9
  87. package/dist/views/Document/getDocumentView.js.map +1 -1
  88. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  89. package/dist/views/Document/renderDocumentSlots.js +16 -8
  90. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  91. package/dist/views/Hierarchy/index.d.ts +18 -0
  92. package/dist/views/Hierarchy/index.d.ts.map +1 -0
  93. package/dist/views/Hierarchy/index.js +20 -0
  94. package/dist/views/Hierarchy/index.js.map +1 -0
  95. package/dist/views/List/handleHierarchy.d.ts +18 -0
  96. package/dist/views/List/handleHierarchy.d.ts.map +1 -0
  97. package/dist/views/List/handleHierarchy.js +258 -0
  98. package/dist/views/List/handleHierarchy.js.map +1 -0
  99. package/dist/views/List/index.d.ts.map +1 -1
  100. package/dist/views/List/index.js +101 -30
  101. package/dist/views/List/index.js.map +1 -1
  102. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts +12 -0
  103. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -0
  104. package/dist/views/Root/getCustomGlobalViewByRoute.js +46 -0
  105. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -0
  106. package/dist/views/Root/getRouteData.d.ts +1 -4
  107. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  108. package/dist/views/Root/getRouteData.js +83 -110
  109. package/dist/views/Root/getRouteData.js.map +1 -1
  110. package/dist/views/Root/index.d.ts.map +1 -1
  111. package/dist/views/Root/index.js +5 -12
  112. package/dist/views/Root/index.js.map +1 -1
  113. package/dist/views/Root/metadata.d.ts.map +1 -1
  114. package/dist/views/Root/metadata.js +1 -37
  115. package/dist/views/Root/metadata.js.map +1 -1
  116. package/dist/views/Version/Restore/index.js +1 -1
  117. package/dist/views/Version/Restore/index.js.map +1 -1
  118. package/dist/withPayload/withPayload.d.ts +127 -1
  119. package/dist/withPayload/withPayload.d.ts.map +1 -1
  120. package/dist/withPayload/withPayload.js +8 -22
  121. package/dist/withPayload/withPayload.js.map +1 -1
  122. package/dist/withPayload/withPayload.utils.d.ts +0 -14
  123. package/dist/withPayload/withPayload.utils.d.ts.map +1 -1
  124. package/dist/withPayload/withPayload.utils.js +0 -73
  125. package/dist/withPayload/withPayload.utils.js.map +1 -1
  126. package/package.json +12 -12
  127. package/dist/views/BrowseByFolder/buildView.d.ts +0 -13
  128. package/dist/views/BrowseByFolder/buildView.d.ts.map +0 -1
  129. package/dist/views/BrowseByFolder/buildView.js +0 -170
  130. package/dist/views/BrowseByFolder/buildView.js.map +0 -1
  131. package/dist/views/BrowseByFolder/index.d.ts +0 -4
  132. package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
  133. package/dist/views/BrowseByFolder/index.js +0 -20
  134. package/dist/views/BrowseByFolder/index.js.map +0 -1
  135. package/dist/views/BrowseByFolder/metadata.d.ts +0 -4
  136. package/dist/views/BrowseByFolder/metadata.d.ts.map +0 -1
  137. package/dist/views/BrowseByFolder/metadata.js +0 -18
  138. package/dist/views/BrowseByFolder/metadata.js.map +0 -1
  139. package/dist/views/CollectionFolders/buildView.d.ts +0 -15
  140. package/dist/views/CollectionFolders/buildView.d.ts.map +0 -1
  141. package/dist/views/CollectionFolders/buildView.js +0 -156
  142. package/dist/views/CollectionFolders/buildView.js.map +0 -1
  143. package/dist/views/CollectionFolders/index.d.ts +0 -4
  144. package/dist/views/CollectionFolders/index.d.ts.map +0 -1
  145. package/dist/views/CollectionFolders/index.js +0 -20
  146. package/dist/views/CollectionFolders/index.js.map +0 -1
  147. package/dist/views/CollectionFolders/metadata.d.ts +0 -7
  148. package/dist/views/CollectionFolders/metadata.d.ts.map +0 -1
  149. package/dist/views/CollectionFolders/metadata.js +0 -25
  150. package/dist/views/CollectionFolders/metadata.js.map +0 -1
  151. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts +0 -11
  152. package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts.map +0 -1
  153. package/dist/views/CollectionFolders/renderFolderViewSlots.js +0 -64
  154. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +0 -1
  155. package/dist/withPayload/withPayloadLegacy.d.ts +0 -2
  156. package/dist/withPayload/withPayloadLegacy.d.ts.map +0 -1
  157. package/dist/withPayload/withPayloadLegacy.js +0 -47
  158. package/dist/withPayload/withPayloadLegacy.js.map +0 -1
@@ -1,7 +1,14 @@
1
1
  import { PREFERENCE_KEYS } from 'payload/shared';
2
2
  import { cache } from 'react';
3
3
  export const getNavPrefs = cache(async req => {
4
- return req?.user?.collection ? await req.payload.find({
4
+ if (!req?.user?.collection) {
5
+ return {
6
+ activeTab: undefined,
7
+ groups: {},
8
+ open: true
9
+ };
10
+ }
11
+ const navPrefs = await req.payload.find({
5
12
  collection: 'payload-preferences',
6
13
  depth: 0,
7
14
  limit: 1,
@@ -22,6 +29,33 @@ export const getNavPrefs = cache(async req => {
22
29
  }
23
30
  }]
24
31
  }
25
- })?.then(res => res?.docs?.[0]?.value) : null;
32
+ })?.then(res => res?.docs?.[0]?.value);
33
+ const sidebarPrefs = await req.payload.find({
34
+ collection: 'payload-preferences',
35
+ depth: 0,
36
+ limit: 1,
37
+ pagination: false,
38
+ req,
39
+ where: {
40
+ and: [{
41
+ key: {
42
+ equals: PREFERENCE_KEYS.NAV_SIDEBAR_ACTIVE_TAB
43
+ }
44
+ }, {
45
+ 'user.relationTo': {
46
+ equals: req.user.collection
47
+ }
48
+ }, {
49
+ 'user.value': {
50
+ equals: req?.user?.id
51
+ }
52
+ }]
53
+ }
54
+ })?.then(res => res?.docs?.[0]?.value);
55
+ return {
56
+ activeTab: sidebarPrefs?.activeTab,
57
+ groups: navPrefs?.groups ?? {},
58
+ open: navPrefs?.open ?? true
59
+ };
26
60
  });
27
61
  //# sourceMappingURL=getNavPrefs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNavPrefs.js","names":["PREFERENCE_KEYS","cache","getNavPrefs","req","user","collection","payload","find","depth","limit","pagination","where","and","key","equals","NAV","id","then","res","docs","value"],"sources":["../../../src/elements/Nav/getNavPrefs.ts"],"sourcesContent":["import type { NavPreferences, PayloadRequest } from 'payload'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport { cache } from 'react'\n\nexport const getNavPrefs = cache(async (req: PayloadRequest): Promise<NavPreferences> => {\n return req?.user?.collection\n ? await req.payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n req,\n where: {\n and: [\n {\n key: {\n equals: PREFERENCE_KEYS.NAV,\n },\n },\n {\n 'user.relationTo': {\n equals: req.user.collection,\n },\n },\n {\n 'user.value': {\n equals: req?.user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)\n : null\n})\n"],"mappings":"AAEA,SAASA,eAAe,QAAQ;AAChC,SAASC,KAAK,QAAQ;AAEtB,OAAO,MAAMC,WAAA,GAAcD,KAAA,CAAM,MAAOE,GAAA;EACtC,OAAOA,GAAA,EAAKC,IAAA,EAAMC,UAAA,GACd,MAAMF,GAAA,CAAIG,OAAO,CACdC,IAAI,CAAC;IACJF,UAAA,EAAY;IACZG,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZP,GAAA;IACAQ,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,GAAA,EAAK;UACHC,MAAA,EAAQd,eAAA,CAAgBe;QAC1B;MACF,GACA;QACE,mBAAmB;UACjBD,MAAA,EAAQX,GAAA,CAAIC,IAAI,CAACC;QACnB;MACF,GACA;QACE,cAAc;UACZS,MAAA,EAAQX,GAAA,EAAKC,IAAA,EAAMY;QACrB;MACF;IAEJ;EACF,IACEC,IAAA,CAAMC,GAAA,IAAQA,GAAA,EAAKC,IAAA,GAAO,EAAE,EAAEC,KAAA,IAClC;AACN","ignoreList":[]}
1
+ {"version":3,"file":"getNavPrefs.js","names":["PREFERENCE_KEYS","cache","getNavPrefs","req","user","collection","activeTab","undefined","groups","open","navPrefs","payload","find","depth","limit","pagination","where","and","key","equals","NAV","id","then","res","docs","value","sidebarPrefs","NAV_SIDEBAR_ACTIVE_TAB"],"sources":["../../../src/elements/Nav/getNavPrefs.ts"],"sourcesContent":["import type { NavPreferences, PayloadRequest } from 'payload'\n\nimport { PREFERENCE_KEYS } from 'payload/shared'\nimport { cache } from 'react'\n\nexport const getNavPrefs = cache(async (req: PayloadRequest): Promise<NavPreferences> => {\n if (!req?.user?.collection) {\n return { activeTab: undefined, groups: {}, open: true }\n }\n\n const navPrefs = await req.payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n req,\n where: {\n and: [\n {\n key: {\n equals: PREFERENCE_KEYS.NAV,\n },\n },\n {\n 'user.relationTo': {\n equals: req.user.collection,\n },\n },\n {\n 'user.value': {\n equals: req?.user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)\n\n const sidebarPrefs = await req.payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n pagination: false,\n req,\n where: {\n and: [\n {\n key: {\n equals: PREFERENCE_KEYS.NAV_SIDEBAR_ACTIVE_TAB,\n },\n },\n {\n 'user.relationTo': {\n equals: req.user.collection,\n },\n },\n {\n 'user.value': {\n equals: req?.user?.id,\n },\n },\n ],\n },\n })\n ?.then((res) => res?.docs?.[0]?.value)\n\n return {\n activeTab: sidebarPrefs?.activeTab,\n groups: navPrefs?.groups ?? {},\n open: navPrefs?.open ?? true,\n }\n})\n"],"mappings":"AAEA,SAASA,eAAe,QAAQ;AAChC,SAASC,KAAK,QAAQ;AAEtB,OAAO,MAAMC,WAAA,GAAcD,KAAA,CAAM,MAAOE,GAAA;EACtC,IAAI,CAACA,GAAA,EAAKC,IAAA,EAAMC,UAAA,EAAY;IAC1B,OAAO;MAAEC,SAAA,EAAWC,SAAA;MAAWC,MAAA,EAAQ,CAAC;MAAGC,IAAA,EAAM;IAAK;EACxD;EAEA,MAAMC,QAAA,GAAW,MAAMP,GAAA,CAAIQ,OAAO,CAC/BC,IAAI,CAAC;IACJP,UAAA,EAAY;IACZQ,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZZ,GAAA;IACAa,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,GAAA,EAAK;UACHC,MAAA,EAAQnB,eAAA,CAAgBoB;QAC1B;MACF,GACA;QACE,mBAAmB;UACjBD,MAAA,EAAQhB,GAAA,CAAIC,IAAI,CAACC;QACnB;MACF,GACA;QACE,cAAc;UACZc,MAAA,EAAQhB,GAAA,EAAKC,IAAA,EAAMiB;QACrB;MACF;IAEJ;EACF,IACEC,IAAA,CAAMC,GAAA,IAAQA,GAAA,EAAKC,IAAA,GAAO,EAAE,EAAEC,KAAA;EAElC,MAAMC,YAAA,GAAe,MAAMvB,GAAA,CAAIQ,OAAO,CACnCC,IAAI,CAAC;IACJP,UAAA,EAAY;IACZQ,KAAA,EAAO;IACPC,KAAA,EAAO;IACPC,UAAA,EAAY;IACZZ,GAAA;IACAa,KAAA,EAAO;MACLC,GAAA,EAAK,CACH;QACEC,GAAA,EAAK;UACHC,MAAA,EAAQnB,eAAA,CAAgB2B;QAC1B;MACF,GACA;QACE,mBAAmB;UACjBR,MAAA,EAAQhB,GAAA,CAAIC,IAAI,CAACC;QACnB;MACF,GACA;QACE,cAAc;UACZc,MAAA,EAAQhB,GAAA,EAAKC,IAAA,EAAMiB;QACrB;MACF;IAEJ;EACF,IACEC,IAAA,CAAMC,GAAA,IAAQA,GAAA,EAAKC,IAAA,GAAO,EAAE,EAAEC,KAAA;EAElC,OAAO;IACLnB,SAAA,EAAWoB,YAAA,EAAcpB,SAAA;IACzBE,MAAA,EAAQE,QAAA,EAAUF,MAAA,IAAU,CAAC;IAC7BC,IAAA,EAAMC,QAAA,EAAUD,IAAA,IAAQ;EAC1B;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAO7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;CAC/B,CAwEA,CAAA"}
1
+ {"version":3,"file":"index.client.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAM7C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;CAC/B,CA+DA,CAAA"}
@@ -1,19 +1,18 @@
1
1
  'use client';
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import { getTranslation } from '@payloadcms/translations';
6
- import { BrowseByFolderButton, Link, NavGroup, useConfig, useTranslation } from '@payloadcms/ui';
7
- import { EntityType } from '@payloadcms/ui/shared';
6
+ import { Link, NavGroup, useConfig, useTranslation } from '@payloadcms/ui';
8
7
  import { usePathname } from 'next/navigation.js';
9
- import { formatAdminURL } from 'payload/shared';
8
+ import { EntityType, formatAdminURL } from 'payload/shared';
10
9
  import React, { Fragment } from 'react';
11
10
  const baseClass = 'nav';
12
11
  /**
13
12
  * @internal
14
13
  */
15
14
  export const DefaultNavClient = t0 => {
16
- const $ = _c(13);
15
+ const $ = _c(11);
17
16
  const {
18
17
  groups,
19
18
  navPreferences
@@ -23,45 +22,32 @@ export const DefaultNavClient = t0 => {
23
22
  config: t1
24
23
  } = useConfig();
25
24
  const {
26
- admin: t2,
27
- folders,
28
- routes: t3
25
+ routes: t2
29
26
  } = t1;
30
- const {
31
- routes: t4
32
- } = t2;
33
- const {
34
- browseByFolder: foldersRoute
35
- } = t4;
36
27
  const {
37
28
  admin: adminRoute
38
- } = t3;
29
+ } = t2;
39
30
  const {
40
31
  i18n
41
32
  } = useTranslation();
42
- let t5;
43
- if ($[0] !== adminRoute || $[1] !== folders || $[2] !== foldersRoute || $[3] !== groups || $[4] !== i18n || $[5] !== navPreferences?.groups || $[6] !== pathname) {
44
- const folderURL = formatAdminURL({
45
- adminRoute,
46
- path: foldersRoute
47
- });
48
- const viewingRootFolderView = pathname.startsWith(folderURL);
49
- let t6;
50
- if ($[8] !== adminRoute || $[9] !== i18n || $[10] !== navPreferences?.groups || $[11] !== pathname) {
51
- t6 = (t7, key) => {
33
+ let t3;
34
+ if ($[0] !== adminRoute || $[1] !== groups || $[2] !== i18n || $[3] !== navPreferences?.groups || $[4] !== pathname) {
35
+ let t4;
36
+ if ($[6] !== adminRoute || $[7] !== i18n || $[8] !== navPreferences?.groups || $[9] !== pathname) {
37
+ t4 = (t5, key) => {
52
38
  const {
53
39
  entities,
54
40
  label
55
- } = t7;
41
+ } = t5;
56
42
  return _jsx(NavGroup, {
57
43
  isOpen: navPreferences?.groups?.[label]?.open,
58
44
  label,
59
- children: entities.map((t8, i) => {
45
+ children: entities.map((t6, i) => {
60
46
  const {
61
47
  slug,
62
48
  type,
63
49
  label: label_0
64
- } = t8;
50
+ } = t6;
65
51
  let href;
66
52
  let id;
67
53
  if (type === EntityType.collection) {
@@ -79,55 +65,54 @@ export const DefaultNavClient = t0 => {
79
65
  id = `nav-global-${slug}`;
80
66
  }
81
67
  const isActive = pathname.startsWith(href) && ["/", undefined].includes(pathname[href.length]);
82
- const Label = _jsxs(_Fragment, {
83
- children: [isActive && _jsx("div", {
84
- className: `${baseClass}__link-indicator`
85
- }), _jsx("span", {
86
- className: `${baseClass}__link-label`,
87
- children: getTranslation(label_0, i18n)
88
- })]
68
+ const linkClass = `${baseClass}__link${isActive ? ` ${baseClass}__link--selected` : ""}`;
69
+ const Label = _jsx("span", {
70
+ className: `${baseClass}__link-label`,
71
+ children: getTranslation(label_0, i18n)
89
72
  });
90
73
  if (pathname === href) {
91
74
  return _jsx("div", {
92
- className: `${baseClass}__link`,
93
- id,
94
- children: Label
75
+ className: `${baseClass}__link-wrapper`,
76
+ children: _jsx("div", {
77
+ className: linkClass,
78
+ id,
79
+ children: Label
80
+ })
95
81
  }, i);
96
82
  }
97
- return _jsx(Link, {
98
- className: `${baseClass}__link`,
99
- href,
100
- id,
101
- prefetch: false,
102
- children: Label
83
+ return _jsx("div", {
84
+ className: `${baseClass}__link-wrapper`,
85
+ children: _jsx(Link, {
86
+ className: linkClass,
87
+ href,
88
+ id,
89
+ prefetch: false,
90
+ children: Label
91
+ })
103
92
  }, i);
104
93
  })
105
94
  }, key);
106
95
  };
107
- $[8] = adminRoute;
108
- $[9] = i18n;
109
- $[10] = navPreferences?.groups;
110
- $[11] = pathname;
111
- $[12] = t6;
96
+ $[6] = adminRoute;
97
+ $[7] = i18n;
98
+ $[8] = navPreferences?.groups;
99
+ $[9] = pathname;
100
+ $[10] = t4;
112
101
  } else {
113
- t6 = $[12];
102
+ t4 = $[10];
114
103
  }
115
- t5 = _jsxs(Fragment, {
116
- children: [folders && folders.browseByFolder && _jsx(BrowseByFolderButton, {
117
- active: viewingRootFolderView
118
- }), groups.map(t6)]
104
+ t3 = _jsx(Fragment, {
105
+ children: groups.map(t4)
119
106
  });
120
107
  $[0] = adminRoute;
121
- $[1] = folders;
122
- $[2] = foldersRoute;
123
- $[3] = groups;
124
- $[4] = i18n;
125
- $[5] = navPreferences?.groups;
126
- $[6] = pathname;
127
- $[7] = t5;
108
+ $[1] = groups;
109
+ $[2] = i18n;
110
+ $[3] = navPreferences?.groups;
111
+ $[4] = pathname;
112
+ $[5] = t3;
128
113
  } else {
129
- t5 = $[7];
114
+ t3 = $[5];
130
115
  }
131
- return t5;
116
+ return t3;
132
117
  };
133
118
  //# sourceMappingURL=index.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.client.js","names":["c","_c","getTranslation","BrowseByFolderButton","Link","NavGroup","useConfig","useTranslation","EntityType","usePathname","formatAdminURL","React","Fragment","baseClass","DefaultNavClient","t0","$","groups","navPreferences","pathname","config","t1","admin","t2","folders","routes","t3","t4","browseByFolder","foldersRoute","adminRoute","i18n","t5","folderURL","path","viewingRootFolderView","startsWith","t6","t7","key","entities","label","_jsx","isOpen","open","children","map","t8","i","slug","type","label_0","href","id","collection","global","isActive","undefined","includes","length","Label","_jsxs","_Fragment","className","prefetch","active"],"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { NavPreferences } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { BrowseByFolderButton, Link, NavGroup, useConfig, useTranslation } from '@payloadcms/ui'\nimport { EntityType } from '@payloadcms/ui/shared'\nimport { usePathname } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'nav'\n\n/**\n * @internal\n */\nexport const DefaultNavClient: React.FC<{\n groups: ReturnType<typeof groupNavItems>\n navPreferences: NavPreferences\n}> = ({ groups, navPreferences }) => {\n const pathname = usePathname()\n\n const {\n config: {\n admin: {\n routes: { browseByFolder: foldersRoute },\n },\n folders,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n const folderURL = formatAdminURL({\n adminRoute,\n path: foldersRoute,\n })\n\n const viewingRootFolderView = pathname.startsWith(folderURL)\n\n return (\n <Fragment>\n {folders && folders.browseByFolder && <BrowseByFolderButton active={viewingRootFolderView} />}\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup isOpen={navPreferences?.groups?.[label]?.open} key={key} label={label}>\n {entities.map(({ slug, type, label }, i) => {\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${slug}` })\n id = `nav-${slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${slug}` })\n id = `nav-global-${slug}`\n }\n\n const isActive =\n pathname.startsWith(href) && ['/', undefined].includes(pathname[href.length])\n\n const Label = (\n <>\n {isActive && <div className={`${baseClass}__link-indicator`} />}\n <span className={`${baseClass}__link-label`}>{getTranslation(label, i18n)}</span>\n </>\n )\n\n // If the URL matches the link exactly\n if (pathname === href) {\n return (\n <div className={`${baseClass}__link`} id={id} key={i}>\n {Label}\n </div>\n )\n }\n\n return (\n <Link className={`${baseClass}__link`} href={href} id={id} key={i} prefetch={false}>\n {Label}\n </Link>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.client.js","names":["c","_c","getTranslation","Link","NavGroup","useConfig","useTranslation","usePathname","EntityType","formatAdminURL","React","Fragment","baseClass","DefaultNavClient","t0","$","groups","navPreferences","pathname","config","t1","routes","t2","admin","adminRoute","i18n","t3","t4","t5","key","entities","label","_jsx","isOpen","open","children","map","t6","i","slug","type","label_0","href","id","collection","global","isActive","startsWith","undefined","includes","length","linkClass","Label","className","prefetch"],"sources":["../../../src/elements/Nav/index.client.tsx"],"sourcesContent":["'use client'\n\nimport type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { NavPreferences } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Link, NavGroup, useConfig, useTranslation } from '@payloadcms/ui'\nimport { usePathname } from 'next/navigation.js'\nimport { EntityType, formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nconst baseClass = 'nav'\n\n/**\n * @internal\n */\nexport const DefaultNavClient: React.FC<{\n groups: ReturnType<typeof groupNavItems>\n navPreferences: NavPreferences\n}> = ({ groups, navPreferences }) => {\n const pathname = usePathname()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { i18n } = useTranslation()\n\n return (\n <Fragment>\n {groups.map(({ entities, label }, key) => {\n return (\n <NavGroup isOpen={navPreferences?.groups?.[label]?.open} key={key} label={label}>\n {entities.map(({ slug, type, label }, i) => {\n let href: string\n let id: string\n\n if (type === EntityType.collection) {\n href = formatAdminURL({ adminRoute, path: `/collections/${slug}` })\n id = `nav-${slug}`\n }\n\n if (type === EntityType.global) {\n href = formatAdminURL({ adminRoute, path: `/globals/${slug}` })\n id = `nav-global-${slug}`\n }\n\n const isActive =\n pathname.startsWith(href) && ['/', undefined].includes(pathname[href.length])\n\n const linkClass = `${baseClass}__link${isActive ? ` ${baseClass}__link--selected` : ''}`\n\n const Label = (\n <span className={`${baseClass}__link-label`}>{getTranslation(label, i18n)}</span>\n )\n\n // If the URL matches the link exactly\n if (pathname === href) {\n return (\n <div className={`${baseClass}__link-wrapper`} key={i}>\n <div className={linkClass} id={id}>\n {Label}\n </div>\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__link-wrapper`} key={i}>\n <Link className={linkClass} href={href} id={id} prefetch={false}>\n {Label}\n </Link>\n </div>\n )\n })}\n </NavGroup>\n )\n })}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,155 @@
1
+ @layer payload-default {
2
+ .nav {
3
+ position: sticky;
4
+ top: 0;
5
+ left: 0;
6
+ flex-shrink: 0;
7
+ height: 100vh;
8
+ width: var(--nav-width);
9
+ border-right: 1px solid var(--color-border);
10
+ opacity: 0;
11
+ overflow: hidden;
12
+ --nav-padding-inline-start: var(--spacer-2-5);
13
+ --nav-padding-inline-end: var(--spacer-2-5);
14
+ --nav-padding-block-start: var(--app-header-height);
15
+ --nav-padding-block-end: var(--spacer-5);
16
+ }
17
+
18
+ [dir='rtl'] .nav {
19
+ border-right: none;
20
+ border-left: 1px solid var(--color-border);
21
+ }
22
+
23
+ .nav--nav-animate {
24
+ transition: opacity var(--nav-trans-time) ease-in-out;
25
+ }
26
+
27
+ .nav--nav-open {
28
+ opacity: 1;
29
+ }
30
+
31
+ .nav__header {
32
+ position: absolute;
33
+ top: 0;
34
+ width: 100vw;
35
+ height: var(--app-header-height);
36
+ }
37
+
38
+ .nav__header-content {
39
+ z-index: 1;
40
+ position: relative;
41
+ height: 100%;
42
+ width: 100%;
43
+ }
44
+
45
+ .nav__mobile-close {
46
+ display: none;
47
+ background: none;
48
+ border: 0;
49
+ outline: 0;
50
+ padding: var(--spacer-3) 0;
51
+ }
52
+
53
+ .nav__scroll {
54
+ height: 100%;
55
+ display: flex;
56
+ flex-direction: column;
57
+ padding: var(--nav-padding-block-start) var(--nav-padding-inline-end)
58
+ var(--nav-padding-block-end) var(--nav-padding-inline-start);
59
+ overflow-y: auto;
60
+
61
+ &::-webkit-scrollbar {
62
+ display: none;
63
+ }
64
+ }
65
+
66
+ .nav__wrap {
67
+ width: 100%;
68
+ display: flex;
69
+ flex-direction: column;
70
+ align-items: flex-start;
71
+ flex-grow: 1;
72
+ }
73
+
74
+ .nav__label {
75
+ color: var(--color-text-tertiary);
76
+ }
77
+
78
+ .nav__controls {
79
+ display: flex;
80
+ flex-direction: column;
81
+ gap: var(--spacer-2-5);
82
+ margin-top: auto;
83
+ margin-bottom: 0;
84
+
85
+ > :first-child {
86
+ margin-top: var(--spacer-3);
87
+ }
88
+ }
89
+
90
+ .nav__log-out {
91
+ border-radius: var(--radius-medium);
92
+ }
93
+
94
+ .nav__log-out:hover g {
95
+ transform: translateX(calc(-1 * var(--spacer-1) * 0.5));
96
+ }
97
+
98
+ .nav__link-wrapper {
99
+ padding-block: var(--spacer-1);
100
+ width: calc(100% + var(--spacer-1));
101
+ margin-left: calc(-1 * var(--spacer-1));
102
+
103
+ &:first-child {
104
+ padding-block-start: 0;
105
+ }
106
+ }
107
+
108
+ .nav__link {
109
+ display: flex;
110
+ align-items: center;
111
+ position: relative;
112
+ padding-block: var(--spacer-1);
113
+ padding-inline: var(--spacer-2);
114
+ text-decoration: none;
115
+ }
116
+
117
+ a.nav__link {
118
+ border-radius: var(--radius-medium);
119
+
120
+ &:hover {
121
+ background: var(--color-bg-secondary);
122
+ text-decoration: none;
123
+ }
124
+ }
125
+
126
+ .nav__link--selected {
127
+ font-weight: 600;
128
+ border-radius: var(--radius-medium);
129
+ background: var(--color-bg-selected);
130
+ }
131
+
132
+ @media (max-width: 1024px) {
133
+ .nav__scroll {
134
+ --nav-padding-inline-start: var(--spacer-2);
135
+ --nav-padding-inline-end: var(--spacer-2);
136
+ }
137
+ }
138
+
139
+ @media (max-width: 768px) {
140
+ .nav__scroll {
141
+ --nav-padding-inline-start: var(--gutter-h);
142
+ --nav-padding-inline-end: var(--gutter-h);
143
+ }
144
+
145
+ .nav__link {
146
+ font-size: var(--text-body-small-font-size);
147
+ line-height: var(--spacer-4);
148
+ }
149
+
150
+ .nav__mobile-close {
151
+ display: flex;
152
+ align-items: center;
153
+ }
154
+ }
155
+ }
@@ -1,6 +1,6 @@
1
1
  import type { PayloadRequest, ServerProps } from 'payload';
2
2
  import React from 'react';
3
- import './index.scss';
3
+ import './index.css';
4
4
  export type NavProps = {
5
5
  req?: PayloadRequest;
6
6
  } & ServerProps;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAOrB,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CA6LzC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Nav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAM1D,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,aAAa,CAAA;AAMpB,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,GAAG,WAAW,CAAA;AAEf,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CA8NzC,CAAA"}
@@ -1,14 +1,16 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Logout } from '@payloadcms/ui';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { AlignJustifiedIcon, Logout } from '@payloadcms/ui';
3
3
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
4
- import { EntityType, groupNavItems } from '@payloadcms/ui/shared';
4
+ import { groupNavItems } from '@payloadcms/ui/shared';
5
+ import { EntityType } from 'payload';
5
6
  import React from 'react';
7
+ import { DefaultNavClient } from './index.client.js';
6
8
  import { NavHamburger } from './NavHamburger/index.js';
7
9
  import { NavWrapper } from './NavWrapper/index.js';
8
10
  import { SettingsMenuButton } from './SettingsMenuButton/index.js';
11
+ import { SidebarTabs } from './SidebarTabs/index.js';
9
12
  const baseClass = 'nav';
10
13
  import { getNavPrefs } from './getNavPrefs.js';
11
- import { DefaultNavClient } from './index.client.js';
12
14
  export const DefaultNav = async props => {
13
15
  const {
14
16
  documentSubViewType,
@@ -40,6 +42,8 @@ export const DefaultNav = async props => {
40
42
  collections,
41
43
  globals
42
44
  } = payload.config;
45
+ // Group collections and globals for nav display
46
+ // These groups are passed to SidebarTabs -> CollectionsTab to avoid recomputing
43
47
  const groups = groupNavItems([...collections.filter(({
44
48
  slug
45
49
  }) => visibleEntities.collections.includes(slug)).map(collection => ({
@@ -156,14 +160,41 @@ export const DefaultNav = async props => {
156
160
  user
157
161
  }
158
162
  });
163
+ // Build the full tabs array, starting with the default nav tab
164
+ const allTabs = [{
165
+ slug: 'nav',
166
+ components: {
167
+ Content: /*#__PURE__*/_jsxs(_Fragment, {
168
+ children: [RenderedBeforeNavLinks, /*#__PURE__*/_jsx(DefaultNavClient, {
169
+ groups: groups,
170
+ navPreferences: navPreferences
171
+ }), RenderedAfterNavLinks]
172
+ }),
173
+ Icon: /*#__PURE__*/_jsx(AlignJustifiedIcon, {
174
+ size: 24
175
+ })
176
+ },
177
+ isDefaultActive: true,
178
+ label: i18n.t('general:collections')
179
+ }, ...(payload.config.admin?.components?.sidebar?.tabs?.filter(tab => !tab.disabled) || [])];
159
180
  return /*#__PURE__*/_jsxs(NavWrapper, {
160
181
  baseClass: baseClass,
161
182
  children: [RenderedBeforeNav, /*#__PURE__*/_jsxs("nav", {
162
183
  className: `${baseClass}__wrap`,
163
- children: [RenderedBeforeNavLinks, /*#__PURE__*/_jsx(DefaultNavClient, {
164
- groups: groups,
165
- navPreferences: navPreferences
166
- }), RenderedAfterNavLinks, /*#__PURE__*/_jsxs("div", {
184
+ children: [/*#__PURE__*/_jsx(SidebarTabs, {
185
+ documentSubViewType: documentSubViewType,
186
+ i18n: i18n,
187
+ locale: locale,
188
+ navPreferences: navPreferences,
189
+ params: params,
190
+ payload: payload,
191
+ permissions: permissions,
192
+ req: req,
193
+ searchParams: searchParams,
194
+ tabs: allTabs,
195
+ user: user,
196
+ viewType: viewType
197
+ }), /*#__PURE__*/_jsxs("div", {
167
198
  className: `${baseClass}__controls`,
168
199
  children: [/*#__PURE__*/_jsx(SettingsMenuButton, {
169
200
  settingsMenu: RenderedSettingsMenu
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Logout","RenderServerComponent","EntityType","groupNavItems","React","NavHamburger","NavWrapper","SettingsMenuButton","baseClass","getNavPrefs","DefaultNavClient","DefaultNav","props","documentSubViewType","i18n","locale","params","payload","permissions","req","searchParams","user","viewType","visibleEntities","config","admin","components","afterNav","afterNavLinks","beforeNav","beforeNavLinks","logout","settingsMenu","collections","globals","groups","filter","slug","includes","map","collection","type","entity","global","navPreferences","LogoutComponent","clientProps","Component","Button","Fallback","importMap","serverProps","RenderedSettingsMenu","Array","isArray","item","index","key","RenderedBeforeNav","RenderedBeforeNavLinks","RenderedAfterNavLinks","RenderedAfterNav","_jsxs","className","_jsx"],"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { EntityToGroup } from '@payloadcms/ui/shared'\nimport type { PayloadRequest, ServerProps } from 'payload'\n\nimport { Logout } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType, groupNavItems } from '@payloadcms/ui/shared'\nimport React from 'react'\n\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\nimport { SettingsMenuButton } from './SettingsMenuButton/index.js'\nimport './index.scss'\n\nconst baseClass = 'nav'\n\nimport { getNavPrefs } from './getNavPrefs.js'\nimport { DefaultNavClient } from './index.client.js'\n\nexport type NavProps = {\n req?: PayloadRequest\n} & ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = async (props) => {\n const {\n documentSubViewType,\n i18n,\n locale,\n params,\n payload,\n permissions,\n req,\n searchParams,\n user,\n viewType,\n visibleEntities,\n } = props\n\n if (!payload?.config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNav, afterNavLinks, beforeNav, beforeNavLinks, logout, settingsMenu },\n },\n collections,\n globals,\n } = payload.config\n\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => visibleEntities.collections.includes(slug))\n .map(\n (collection) =>\n ({\n type: EntityType.collection,\n entity: collection,\n }) satisfies EntityToGroup,\n ),\n ...globals\n .filter(({ slug }) => visibleEntities.globals.includes(slug))\n .map(\n (global) =>\n ({\n type: EntityType.global,\n entity: global,\n }) satisfies EntityToGroup,\n ),\n ],\n permissions,\n i18n,\n )\n\n const navPreferences = await getNavPrefs(req)\n\n const LogoutComponent = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: logout?.Button,\n Fallback: Logout,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedSettingsMenu =\n settingsMenu && Array.isArray(settingsMenu)\n ? settingsMenu.map((item, index) =>\n RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: item,\n importMap: payload.importMap,\n key: `settings-menu-item-${index}`,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n }),\n )\n : []\n\n const RenderedBeforeNav = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: beforeNav,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedBeforeNavLinks = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: beforeNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedAfterNavLinks = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: afterNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedAfterNav = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: afterNav,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n return (\n <NavWrapper baseClass={baseClass}>\n {RenderedBeforeNav}\n <nav className={`${baseClass}__wrap`}>\n {RenderedBeforeNavLinks}\n <DefaultNavClient groups={groups} navPreferences={navPreferences} />\n {RenderedAfterNavLinks}\n <div className={`${baseClass}__controls`}>\n <SettingsMenuButton settingsMenu={RenderedSettingsMenu} />\n {LogoutComponent}\n </div>\n </nav>\n {RenderedAfterNav}\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <NavHamburger baseClass={baseClass} />\n </div>\n </div>\n </NavWrapper>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["AlignJustifiedIcon","Logout","RenderServerComponent","groupNavItems","EntityType","React","DefaultNavClient","NavHamburger","NavWrapper","SettingsMenuButton","SidebarTabs","baseClass","getNavPrefs","DefaultNav","props","documentSubViewType","i18n","locale","params","payload","permissions","req","searchParams","user","viewType","visibleEntities","config","admin","components","afterNav","afterNavLinks","beforeNav","beforeNavLinks","logout","settingsMenu","collections","globals","groups","filter","slug","includes","map","collection","type","entity","global","navPreferences","LogoutComponent","clientProps","Component","Button","Fallback","importMap","serverProps","RenderedSettingsMenu","Array","isArray","item","index","key","RenderedBeforeNav","RenderedBeforeNavLinks","RenderedAfterNavLinks","RenderedAfterNav","allTabs","Content","_jsxs","_Fragment","_jsx","Icon","size","isDefaultActive","label","t","sidebar","tabs","tab","disabled","className"],"sources":["../../../src/elements/Nav/index.tsx"],"sourcesContent":["import type { EntityToGroup } from '@payloadcms/ui/shared'\nimport type { PayloadRequest, ServerProps } from 'payload'\n\nimport { AlignJustifiedIcon, Logout } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { groupNavItems } from '@payloadcms/ui/shared'\nimport { EntityType } from 'payload'\nimport React from 'react'\n\nimport { DefaultNavClient } from './index.client.js'\nimport { NavHamburger } from './NavHamburger/index.js'\nimport { NavWrapper } from './NavWrapper/index.js'\nimport { SettingsMenuButton } from './SettingsMenuButton/index.js'\nimport { SidebarTabs } from './SidebarTabs/index.js'\nimport './index.css'\n\nconst baseClass = 'nav'\n\nimport { getNavPrefs } from './getNavPrefs.js'\n\nexport type NavProps = {\n req?: PayloadRequest\n} & ServerProps\n\nexport const DefaultNav: React.FC<NavProps> = async (props) => {\n const {\n documentSubViewType,\n i18n,\n locale,\n params,\n payload,\n permissions,\n req,\n searchParams,\n user,\n viewType,\n visibleEntities,\n } = props\n\n if (!payload?.config) {\n return null\n }\n\n const {\n admin: {\n components: { afterNav, afterNavLinks, beforeNav, beforeNavLinks, logout, settingsMenu },\n },\n collections,\n globals,\n } = payload.config\n\n // Group collections and globals for nav display\n // These groups are passed to SidebarTabs -> CollectionsTab to avoid recomputing\n const groups = groupNavItems(\n [\n ...collections\n .filter(({ slug }) => visibleEntities.collections.includes(slug))\n .map(\n (collection) =>\n ({\n type: EntityType.collection,\n entity: collection,\n }) satisfies EntityToGroup,\n ),\n ...globals\n .filter(({ slug }) => visibleEntities.globals.includes(slug))\n .map(\n (global) =>\n ({\n type: EntityType.global,\n entity: global,\n }) satisfies EntityToGroup,\n ),\n ],\n permissions,\n i18n,\n )\n\n const navPreferences = await getNavPrefs(req)\n\n const LogoutComponent = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: logout?.Button,\n Fallback: Logout,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedSettingsMenu =\n settingsMenu && Array.isArray(settingsMenu)\n ? settingsMenu.map((item, index) =>\n RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: item,\n importMap: payload.importMap,\n key: `settings-menu-item-${index}`,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n }),\n )\n : []\n\n const RenderedBeforeNav = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: beforeNav,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedBeforeNavLinks = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: beforeNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedAfterNavLinks = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: afterNavLinks,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n const RenderedAfterNav = RenderServerComponent({\n clientProps: {\n documentSubViewType,\n viewType,\n },\n Component: afterNav,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n },\n })\n\n // Build the full tabs array, starting with the default nav tab\n const allTabs = [\n {\n slug: 'nav',\n components: {\n Content: (\n <>\n {RenderedBeforeNavLinks}\n <DefaultNavClient groups={groups} navPreferences={navPreferences} />\n {RenderedAfterNavLinks}\n </>\n ),\n Icon: <AlignJustifiedIcon size={24} />,\n },\n isDefaultActive: true,\n label: i18n.t('general:collections'),\n },\n ...(payload.config.admin?.components?.sidebar?.tabs?.filter((tab) => !tab.disabled) || []),\n ]\n\n return (\n <NavWrapper baseClass={baseClass}>\n {RenderedBeforeNav}\n <nav className={`${baseClass}__wrap`}>\n <SidebarTabs\n documentSubViewType={documentSubViewType}\n i18n={i18n}\n locale={locale}\n navPreferences={navPreferences}\n params={params}\n payload={payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n tabs={allTabs}\n user={user}\n viewType={viewType}\n />\n <div className={`${baseClass}__controls`}>\n <SettingsMenuButton settingsMenu={RenderedSettingsMenu} />\n {LogoutComponent}\n </div>\n </nav>\n {RenderedAfterNav}\n <div className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-content`}>\n <NavHamburger baseClass={baseClass} />\n </div>\n </div>\n </NavWrapper>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
+ export { HierarchyTypeField } from '../elements/HierarchyTypeField/index.js';
1
2
  export { DefaultNavClient } from '../elements/Nav/index.client.js';
2
3
  export { NavHamburger } from '../elements/Nav/NavHamburger/index.js';
3
4
  export { NavWrapper } from '../elements/Nav/NavWrapper/index.js';
4
- export { FolderTypeField, QueryPresetsAccessCell, QueryPresetsColumnField, QueryPresetsColumnsCell, QueryPresetsGroupByCell, QueryPresetsGroupByField, QueryPresetsWhereCell, QueryPresetsWhereField, SlugField, } from '@payloadcms/ui';
5
+ export { QueryPresetsAccessCell, QueryPresetsColumnField, QueryPresetsColumnsCell, QueryPresetsGroupByCell, QueryPresetsGroupByField, QueryPresetsWhereCell, QueryPresetsWhereField, SlugField, } from '@payloadcms/ui';
5
6
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAChE,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,GACV,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/exports/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAChE,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,SAAS,GACV,MAAM,gBAAgB,CAAA"}
@@ -1,7 +1,8 @@
1
1
  'use client';
2
2
 
3
+ export { HierarchyTypeField } from '../elements/HierarchyTypeField/index.js';
3
4
  export { DefaultNavClient } from '../elements/Nav/index.client.js';
4
5
  export { NavHamburger } from '../elements/Nav/NavHamburger/index.js';
5
6
  export { NavWrapper } from '../elements/Nav/NavWrapper/index.js';
6
- export { FolderTypeField, QueryPresetsAccessCell, QueryPresetsColumnField, QueryPresetsColumnsCell, QueryPresetsGroupByCell, QueryPresetsGroupByField, QueryPresetsWhereCell, QueryPresetsWhereField, SlugField } from '@payloadcms/ui';
7
+ export { QueryPresetsAccessCell, QueryPresetsColumnField, QueryPresetsColumnsCell, QueryPresetsGroupByCell, QueryPresetsGroupByField, QueryPresetsWhereCell, QueryPresetsWhereField, SlugField } from '@payloadcms/ui';
7
8
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["DefaultNavClient","NavHamburger","NavWrapper","FolderTypeField","QueryPresetsAccessCell","QueryPresetsColumnField","QueryPresetsColumnsCell","QueryPresetsGroupByCell","QueryPresetsGroupByField","QueryPresetsWhereCell","QueryPresetsWhereField","SlugField"],"sources":["../../src/exports/client.ts"],"sourcesContent":["'use client'\n\nexport { DefaultNavClient } from '../elements/Nav/index.client.js'\nexport { NavHamburger } from '../elements/Nav/NavHamburger/index.js'\nexport { NavWrapper } from '../elements/Nav/NavWrapper/index.js'\nexport {\n FolderTypeField,\n QueryPresetsAccessCell,\n QueryPresetsColumnField,\n QueryPresetsColumnsCell,\n QueryPresetsGroupByCell,\n QueryPresetsGroupByField,\n QueryPresetsWhereCell,\n QueryPresetsWhereField,\n SlugField,\n} from '@payloadcms/ui'\n"],"mappings":"AAAA;;AAEA,SAASA,gBAAgB,QAAQ;AACjC,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAC3B,SACEC,eAAe,EACfC,sBAAsB,EACtBC,uBAAuB,EACvBC,uBAAuB,EACvBC,uBAAuB,EACvBC,wBAAwB,EACxBC,qBAAqB,EACrBC,sBAAsB,EACtBC,SAAS,QACJ","ignoreList":[]}
1
+ {"version":3,"file":"client.js","names":["HierarchyTypeField","DefaultNavClient","NavHamburger","NavWrapper","QueryPresetsAccessCell","QueryPresetsColumnField","QueryPresetsColumnsCell","QueryPresetsGroupByCell","QueryPresetsGroupByField","QueryPresetsWhereCell","QueryPresetsWhereField","SlugField"],"sources":["../../src/exports/client.ts"],"sourcesContent":["'use client'\n\nexport { HierarchyTypeField } from '../elements/HierarchyTypeField/index.js'\nexport { DefaultNavClient } from '../elements/Nav/index.client.js'\nexport { NavHamburger } from '../elements/Nav/NavHamburger/index.js'\nexport { NavWrapper } from '../elements/Nav/NavWrapper/index.js'\nexport {\n QueryPresetsAccessCell,\n QueryPresetsColumnField,\n QueryPresetsColumnsCell,\n QueryPresetsGroupByCell,\n QueryPresetsGroupByField,\n QueryPresetsWhereCell,\n QueryPresetsWhereField,\n SlugField,\n} from '@payloadcms/ui'\n"],"mappings":"AAAA;;AAEA,SAASA,kBAAkB,QAAQ;AACnC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAC3B,SACEC,sBAAsB,EACtBC,uBAAuB,EACvBC,uBAAuB,EACvBC,uBAAuB,EACvBC,wBAAwB,EACxBC,qBAAqB,EACrBC,sBAAsB,EACtBC,SAAS,QACJ","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  export { DocumentHeader } from '../elements/DocumentHeader/index.js';
2
+ export { HierarchyTypeFieldServer } from '../elements/HierarchyTypeField/index.server.js';
2
3
  export { Logo } from '../elements/Logo/index.js';
3
4
  export { DefaultNav } from '../elements/Nav/index.js';
4
- export { CollectionCards, FolderField, FolderTableCell } from '@payloadcms/ui/rsc';
5
+ export { CollectionCards } from '@payloadcms/ui/rsc';
5
6
  //# sourceMappingURL=rsc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rsc.d.ts","sourceRoot":"","sources":["../../src/exports/rsc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"rsc.d.ts","sourceRoot":"","sources":["../../src/exports/rsc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAA;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export { DocumentHeader } from '../elements/DocumentHeader/index.js';
2
+ export { HierarchyTypeFieldServer } from '../elements/HierarchyTypeField/index.server.js';
2
3
  export { Logo } from '../elements/Logo/index.js';
3
4
  export { DefaultNav } from '../elements/Nav/index.js';
4
- export { CollectionCards, FolderField, FolderTableCell } from '@payloadcms/ui/rsc';
5
+ export { CollectionCards } from '@payloadcms/ui/rsc';
5
6
  //# sourceMappingURL=rsc.js.map