@payloadcms/next 3.56.0-internal.299316b → 3.56.0-internal.72f4fd2

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 (37) hide show
  1. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +19 -41
  2. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  3. package/dist/elements/Nav/index.client.js +28 -48
  4. package/dist/elements/Nav/index.client.js.map +1 -1
  5. package/dist/routes/rest/index.js +1 -1
  6. package/dist/routes/rest/index.js.map +1 -1
  7. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  8. package/dist/utilities/handleServerFunctions.js +9 -3
  9. package/dist/utilities/handleServerFunctions.js.map +1 -1
  10. package/dist/views/List/resolveAllFilterOptions.d.ts +2 -1
  11. package/dist/views/List/resolveAllFilterOptions.d.ts.map +1 -1
  12. package/dist/views/List/resolveAllFilterOptions.js +14 -7
  13. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  14. package/dist/views/Logout/LogoutClient.js +29 -31
  15. package/dist/views/Logout/LogoutClient.js.map +1 -1
  16. package/dist/views/Root/index.d.ts.map +1 -1
  17. package/dist/views/Root/index.js +3 -1
  18. package/dist/views/Root/index.js.map +1 -1
  19. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +12 -28
  20. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  21. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +17 -27
  22. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  23. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +21 -31
  24. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  25. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +23 -33
  26. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  27. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +21 -30
  28. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  29. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +16 -50
  30. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  31. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +8 -12
  32. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  33. package/dist/views/Versions/cells/AutosaveCell/index.js +14 -23
  34. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  35. package/dist/views/Versions/cells/CreatedAt/index.js +27 -53
  36. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  37. package/package.json +9 -9
@@ -7,7 +7,7 @@ import { useParams, usePathname, useSearchParams } from 'next/navigation.js';
7
7
  import { formatAdminURL } from 'payload/shared';
8
8
  import React from 'react';
9
9
  export const DocumentTabLink = t0 => {
10
- const $ = _c(19);
10
+ const $ = _c(13);
11
11
  const {
12
12
  adminRoute,
13
13
  ariaLabel,
@@ -49,55 +49,33 @@ export const DocumentTabLink = t0 => {
49
49
  const href = `${docPath}${hrefFromProps}`;
50
50
  const hrefWithLocale = `${href}${locale ? `?locale=${locale}` : ""}`;
51
51
  let t3;
52
- if ($[3] !== docPath || $[4] !== href || $[5] !== isActiveFromProps || $[6] !== pathname) {
53
- t3 = href === docPath && pathname === docPath || href !== docPath && pathname.startsWith(href) || isActiveFromProps;
54
- $[3] = docPath;
55
- $[4] = href;
56
- $[5] = isActiveFromProps;
57
- $[6] = pathname;
58
- $[7] = t3;
59
- } else {
60
- t3 = $[7];
61
- }
62
- const isActive = t3;
63
- const t4 = isActive && `${baseClass}--active`;
64
- let t5;
65
- if ($[8] !== baseClass || $[9] !== t4) {
66
- t5 = [baseClass, t4].filter(Boolean);
67
- $[8] = baseClass;
68
- $[9] = t4;
69
- $[10] = t5;
70
- } else {
71
- t5 = $[10];
72
- }
73
- const t6 = t5.join(" ");
74
- const t7 = !isActive || href !== pathname ? "link" : "div";
75
- const t8 = !isActive || href !== pathname ? hrefWithLocale : undefined;
76
- let t9;
77
- if ($[11] !== ariaLabel || $[12] !== children || $[13] !== isActive || $[14] !== newTab || $[15] !== t6 || $[16] !== t7 || $[17] !== t8) {
78
- t9 = _jsx(Button, {
52
+ if ($[3] !== ariaLabel || $[4] !== baseClass || $[5] !== children || $[6] !== docPath || $[7] !== href || $[8] !== hrefWithLocale || $[9] !== isActiveFromProps || $[10] !== newTab || $[11] !== pathname) {
53
+ const isActive = href === docPath && pathname === docPath || href !== docPath && pathname.startsWith(href) || isActiveFromProps;
54
+ t3 = _jsx(Button, {
79
55
  "aria-label": ariaLabel,
80
56
  buttonStyle: "tab",
81
- className: t6,
57
+ className: [baseClass, isActive && `${baseClass}--active`].filter(Boolean).join(" "),
82
58
  disabled: isActive,
83
- el: t7,
59
+ el: !isActive || href !== pathname ? "link" : "div",
84
60
  margin: false,
85
61
  newTab,
86
62
  size: "medium",
87
- to: t8,
63
+ to: !isActive || href !== pathname ? hrefWithLocale : undefined,
88
64
  children
89
65
  });
90
- $[11] = ariaLabel;
91
- $[12] = children;
92
- $[13] = isActive;
93
- $[14] = newTab;
94
- $[15] = t6;
95
- $[16] = t7;
96
- $[17] = t8;
97
- $[18] = t9;
66
+ $[3] = ariaLabel;
67
+ $[4] = baseClass;
68
+ $[5] = children;
69
+ $[6] = docPath;
70
+ $[7] = href;
71
+ $[8] = hrefWithLocale;
72
+ $[9] = isActiveFromProps;
73
+ $[10] = newTab;
74
+ $[11] = pathname;
75
+ $[12] = t3;
98
76
  } else {
99
- t9 = $[18];
77
+ t3 = $[12];
100
78
  }
101
- return t9;
79
+ return t3;
102
80
  };
103
81
  //# sourceMappingURL=TabLink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabLink.js","names":["c","_c","Button","useParams","usePathname","useSearchParams","formatAdminURL","React","DocumentTabLink","t0","$","adminRoute","ariaLabel","baseClass","children","href","hrefFromProps","isActive","isActiveFromProps","newTab","pathname","params","searchParams","locale","get","entityType","entitySlug","segmentThree","segmentFour","segments","isCollection","t1","t2","path","docPath","hrefWithLocale","t3","startsWith","t4","t5","filter","Boolean","t6","join","t7","t8","undefined","t9","_jsx","buttonStyle","className","disabled","el","margin","size","to"],"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/TabLink.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedConfig } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { useParams, usePathname, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nexport const DocumentTabLink: React.FC<{\n adminRoute: SanitizedConfig['routes']['admin']\n ariaLabel?: string\n baseClass: string\n children?: React.ReactNode\n href: string\n isActive?: boolean\n newTab?: boolean\n}> = ({\n adminRoute,\n ariaLabel,\n baseClass,\n children,\n href: hrefFromProps,\n isActive: isActiveFromProps,\n newTab,\n}) => {\n const pathname = usePathname()\n const params = useParams()\n\n const searchParams = useSearchParams()\n\n const locale = searchParams.get('locale')\n\n const [entityType, entitySlug, segmentThree, segmentFour, ...rest] = params.segments || []\n const isCollection = entityType === 'collections'\n\n let docPath = formatAdminURL({\n adminRoute,\n path: `/${isCollection ? 'collections' : 'globals'}/${entitySlug}`,\n })\n\n if (isCollection) {\n if (segmentThree === 'trash' && segmentFour) {\n docPath += `/trash/${segmentFour}`\n } else if (segmentThree) {\n docPath += `/${segmentThree}`\n }\n }\n\n const href = `${docPath}${hrefFromProps}`\n // separated the two so it doesn't break checks against pathname\n const hrefWithLocale = `${href}${locale ? `?locale=${locale}` : ''}`\n\n const isActive =\n (href === docPath && pathname === docPath) ||\n (href !== docPath && pathname.startsWith(href)) ||\n isActiveFromProps\n\n return (\n <Button\n aria-label={ariaLabel}\n buttonStyle=\"tab\"\n className={[baseClass, isActive && `${baseClass}--active`].filter(Boolean).join(' ')}\n disabled={isActive}\n el={!isActive || href !== pathname ? 'link' : 'div'}\n margin={false}\n newTab={newTab}\n size=\"medium\"\n to={!isActive || href !== pathname ? hrefWithLocale : undefined}\n >\n {children}\n </Button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,MAAM,QAAQ;AACvB,SAASC,SAAS,EAAEC,WAAW,EAAEC,eAAe,QAAQ;AACxD,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,OAAO,MAAMC,eAAA,GAQRC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,UAAA;IAAAC,SAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,IAAA,EAAAC,aAAA;IAAAC,QAAA,EAAAC,iBAAA;IAAAC;EAAA,IAAAV,EAQL;EACC,MAAAW,QAAA,GAAiBhB,WAAA;EACjB,MAAAiB,MAAA,GAAelB,SAAA;EAEf,MAAAmB,YAAA,GAAqBjB,eAAA;EAErB,MAAAkB,MAAA,GAAeD,YAAA,CAAAE,GAAA,CAAiB;EAEhC,OAAAC,UAAA,EAAAC,UAAA,EAAAC,YAAA,EAAAC,WAAA,IAAqEP,MAAA,CAAAQ,QAAA,MAAqB;EAC1F,MAAAC,YAAA,GAAqBL,UAAA,KAAe;EAI5B,MAAAM,EAAA,OAAID,YAAA,GAAe,gBAAgB,aAAaJ,UAAA,EAAY;EAAA,IAAAM,EAAA;EAAA,IAAAtB,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAqB,EAAA;IAFtDC,EAAA,GAAA1B,cAAA;MAAAK,UAAA;MAAAsB,IAAA,EAENF;IAA4D,CACpE;IAAArB,CAAA,MAAAC,UAAA;IAAAD,CAAA,MAAAqB,EAAA;IAAArB,CAAA,MAAAsB,EAAA;EAAA;IAAAA,EAAA,GAAAtB,CAAA;EAAA;EAHA,IAAAwB,OAAA,GAAcF,EAGd;EAAA,IAEIF,YAAA;IAAA,IACEH,YAAA,KAAiB,WAAWC,WAAA;MAC9BM,OAAA,GAAAA,OAAA,GAAW,UAAUN,WAAA,EAAa;IAAA;MAAA,IACzBD,YAAA;QACTO,OAAA,GAAAA,OAAA,GAAW,IAAIP,YAAA,EAAc;MAAA;IAAA;EAAA;EAIjC,MAAAZ,IAAA,GAAa,GAAGmB,OAAA,GAAUlB,aAAA,EAAe;EAEzC,MAAAmB,cAAA,GAAuB,GAAGpB,IAAA,GAAOQ,MAAA,GAAS,WAAWA,MAAA,EAAQ,GAAG,IAAI;EAAA,IAAAa,EAAA;EAAA,IAAA1B,CAAA,QAAAwB,OAAA,IAAAxB,CAAA,QAAAK,IAAA,IAAAL,CAAA,QAAAQ,iBAAA,IAAAR,CAAA,QAAAU,QAAA;IAGlEgB,EAAA,GAAArB,IAAC,KAASmB,OAAA,IAAWd,QAAA,KAAac,OAAA,IACjCnB,IAAA,KAASmB,OAAA,IAAWd,QAAA,CAAAiB,UAAA,CAAoBtB,IAAA,KACzCG,iBAAA;IAAAR,CAAA,MAAAwB,OAAA;IAAAxB,CAAA,MAAAK,IAAA;IAAAL,CAAA,MAAAQ,iBAAA;IAAAR,CAAA,MAAAU,QAAA;IAAAV,CAAA,MAAA0B,EAAA;EAAA;IAAAA,EAAA,GAAA1B,CAAA;EAAA;EAHF,MAAAO,QAAA,GACEmB,EAEA;EAMyB,MAAAE,EAAA,GAAArB,QAAA,IAAY,GAAGJ,SAAA,UAAmB;EAAA,IAAA0B,EAAA;EAAA,IAAA7B,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAA4B,EAAA;IAA9CC,EAAA,IAAC1B,SAAA,EAAWyB,EAAkC,EAAAE,MAAA,CAAAC,OAAS;IAAA/B,CAAA,MAAAG,SAAA;IAAAH,CAAA,MAAA4B,EAAA;IAAA5B,CAAA,OAAA6B,EAAA;EAAA;IAAAA,EAAA,GAAA7B,CAAA;EAAA;EAAvD,MAAAgC,EAAA,GAAAH,EAAuD,CAAAI,IAAA,CAAc;EAE5E,MAAAC,EAAA,IAAC3B,QAAA,IAAYF,IAAA,KAASK,QAAA,GAAW,SAAS;EAI1C,MAAAyB,EAAA,IAAC5B,QAAA,IAAYF,IAAA,KAASK,QAAA,GAAWe,cAAA,GAAAW,SAAiB;EAAA,IAAAC,EAAA;EAAA,IAAArC,CAAA,SAAAE,SAAA,IAAAF,CAAA,SAAAI,QAAA,IAAAJ,CAAA,SAAAO,QAAA,IAAAP,CAAA,SAAAS,MAAA,IAAAT,CAAA,SAAAgC,EAAA,IAAAhC,CAAA,SAAAkC,EAAA,IAAAlC,CAAA,SAAAmC,EAAA;IATxDE,EAAA,GAAAC,IAAA,CAAA9C,MAAA;MAAA,cACcU,SAAA;MAAAqC,WAAA,EACA;MAAAC,SAAA,EACDR,EAAqE;MAAAS,QAAA,EACtElC,QAAA;MAAAmC,EAAA,EACNR,EAA0C;MAAAS,MAAA;MAAAlC,MAAA;MAAAmC,IAAA,EAGzC;MAAAC,EAAA,EACDV,EAAkD;MAAA/B;IAAA,C;;;;;;;;;;;;SATxDiC,E;CAcJ","ignoreList":[]}
1
+ {"version":3,"file":"TabLink.js","names":["c","_c","Button","useParams","usePathname","useSearchParams","formatAdminURL","React","DocumentTabLink","t0","$","adminRoute","ariaLabel","baseClass","children","href","hrefFromProps","isActive","isActiveFromProps","newTab","pathname","params","searchParams","locale","get","entityType","entitySlug","segmentThree","segmentFour","segments","isCollection","t1","t2","path","docPath","hrefWithLocale","t3","startsWith","_jsx","buttonStyle","className","filter","Boolean","join","disabled","el","margin","size","to","undefined"],"sources":["../../../../../src/elements/DocumentHeader/Tabs/Tab/TabLink.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedConfig } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { useParams, usePathname, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nexport const DocumentTabLink: React.FC<{\n adminRoute: SanitizedConfig['routes']['admin']\n ariaLabel?: string\n baseClass: string\n children?: React.ReactNode\n href: string\n isActive?: boolean\n newTab?: boolean\n}> = ({\n adminRoute,\n ariaLabel,\n baseClass,\n children,\n href: hrefFromProps,\n isActive: isActiveFromProps,\n newTab,\n}) => {\n const pathname = usePathname()\n const params = useParams()\n\n const searchParams = useSearchParams()\n\n const locale = searchParams.get('locale')\n\n const [entityType, entitySlug, segmentThree, segmentFour, ...rest] = params.segments || []\n const isCollection = entityType === 'collections'\n\n let docPath = formatAdminURL({\n adminRoute,\n path: `/${isCollection ? 'collections' : 'globals'}/${entitySlug}`,\n })\n\n if (isCollection) {\n if (segmentThree === 'trash' && segmentFour) {\n docPath += `/trash/${segmentFour}`\n } else if (segmentThree) {\n docPath += `/${segmentThree}`\n }\n }\n\n const href = `${docPath}${hrefFromProps}`\n // separated the two so it doesn't break checks against pathname\n const hrefWithLocale = `${href}${locale ? `?locale=${locale}` : ''}`\n\n const isActive =\n (href === docPath && pathname === docPath) ||\n (href !== docPath && pathname.startsWith(href)) ||\n isActiveFromProps\n\n return (\n <Button\n aria-label={ariaLabel}\n buttonStyle=\"tab\"\n className={[baseClass, isActive && `${baseClass}--active`].filter(Boolean).join(' ')}\n disabled={isActive}\n el={!isActive || href !== pathname ? 'link' : 'div'}\n margin={false}\n newTab={newTab}\n size=\"medium\"\n to={!isActive || href !== pathname ? hrefWithLocale : undefined}\n >\n {children}\n </Button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,MAAM,QAAQ;AACvB,SAASC,SAAS,EAAEC,WAAW,EAAEC,eAAe,QAAQ;AACxD,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,OAAO,MAAMC,eAAA,GAQRC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,UAAA;IAAAC,SAAA;IAAAC,SAAA;IAAAC,QAAA;IAAAC,IAAA,EAAAC,aAAA;IAAAC,QAAA,EAAAC,iBAAA;IAAAC;EAAA,IAAAV,EAQL;EACC,MAAAW,QAAA,GAAiBhB,WAAA;EACjB,MAAAiB,MAAA,GAAelB,SAAA;EAEf,MAAAmB,YAAA,GAAqBjB,eAAA;EAErB,MAAAkB,MAAA,GAAeD,YAAA,CAAAE,GAAA,CAAiB;EAEhC,OAAAC,UAAA,EAAAC,UAAA,EAAAC,YAAA,EAAAC,WAAA,IAAqEP,MAAA,CAAAQ,QAAA,MAAqB;EAC1F,MAAAC,YAAA,GAAqBL,UAAA,KAAe;EAI5B,MAAAM,EAAA,OAAID,YAAA,GAAe,gBAAgB,aAAaJ,UAAA,EAAY;EAAA,IAAAM,EAAA;EAAA,IAAAtB,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAqB,EAAA;IAFtDC,EAAA,GAAA1B,cAAA;MAAAK,UAAA;MAAAsB,IAAA,EAENF;IAA4D,CACpE;IAAArB,CAAA,MAAAC,UAAA;IAAAD,CAAA,MAAAqB,EAAA;IAAArB,CAAA,MAAAsB,EAAA;EAAA;IAAAA,EAAA,GAAAtB,CAAA;EAAA;EAHA,IAAAwB,OAAA,GAAcF,EAGd;EAAA,IAEIF,YAAA;IAAA,IACEH,YAAA,KAAiB,WAAWC,WAAA;MAC9BM,OAAA,GAAAA,OAAA,GAAW,UAAUN,WAAA,EAAa;IAAA;MAAA,IACzBD,YAAA;QACTO,OAAA,GAAAA,OAAA,GAAW,IAAIP,YAAA,EAAc;MAAA;IAAA;EAAA;EAIjC,MAAAZ,IAAA,GAAa,GAAGmB,OAAA,GAAUlB,aAAA,EAAe;EAEzC,MAAAmB,cAAA,GAAuB,GAAGpB,IAAA,GAAOQ,MAAA,GAAS,WAAWA,MAAA,EAAQ,GAAG,IAAI;EAAA,IAAAa,EAAA;EAAA,IAAA1B,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAG,SAAA,IAAAH,CAAA,QAAAI,QAAA,IAAAJ,CAAA,QAAAwB,OAAA,IAAAxB,CAAA,QAAAK,IAAA,IAAAL,CAAA,QAAAyB,cAAA,IAAAzB,CAAA,QAAAQ,iBAAA,IAAAR,CAAA,SAAAS,MAAA,IAAAT,CAAA,SAAAU,QAAA;IAEpE,MAAAH,QAAA,GACEF,IAAC,KAASmB,OAAA,IAAWd,QAAA,KAAac,OAAA,IACjCnB,IAAA,KAASmB,OAAA,IAAWd,QAAA,CAAAiB,UAAA,CAAoBtB,IAAA,KACzCG,iBAAA;IAGAkB,EAAA,GAAAE,IAAA,CAAApC,MAAA;MAAA,cACcU,SAAA;MAAA2B,WAAA,EACA;MAAAC,SAAA,EACD,CAAC3B,SAAA,EAAWI,QAAA,IAAY,GAAGJ,SAAA,UAAmB,EAAA4B,MAAA,CAAAC,OAAS,EAAAC,IAAA,CAAc;MAAAC,QAAA,EACtE3B,QAAA;MAAA4B,EAAA,EACN,CAAC5B,QAAA,IAAYF,IAAA,KAASK,QAAA,GAAW,SAAS;MAAA0B,MAAA;MAAA3B,MAAA;MAAA4B,IAAA,EAGzC;MAAAC,EAAA,EACD,CAAC/B,QAAA,IAAYF,IAAA,KAASK,QAAA,GAAWe,cAAA,GAAAc,SAAiB;MAAAnC;IAAA,C;;;;;;;;;;;;;;SATxDsB,E;CAcJ","ignoreList":[]}
@@ -10,7 +10,7 @@ import { formatAdminURL } from 'payload/shared';
10
10
  import React, { Fragment } from 'react';
11
11
  const baseClass = 'nav';
12
12
  export const DefaultNavClient = t0 => {
13
- const $ = _c(21);
13
+ const $ = _c(13);
14
14
  const {
15
15
  groups,
16
16
  navPreferences
@@ -37,49 +37,28 @@ export const DefaultNavClient = t0 => {
37
37
  i18n
38
38
  } = useTranslation();
39
39
  let t5;
40
- let t6;
41
- let t7;
42
- if ($[0] !== adminRoute || $[1] !== folders || $[2] !== foldersRoute || $[3] !== pathname) {
40
+ if ($[0] !== adminRoute || $[1] !== folders || $[2] !== foldersRoute || $[3] !== groups || $[4] !== i18n || $[5] !== navPreferences?.groups || $[6] !== pathname) {
43
41
  const folderURL = formatAdminURL({
44
42
  adminRoute,
45
43
  path: foldersRoute
46
44
  });
47
45
  const viewingRootFolderView = pathname.startsWith(folderURL);
48
- t6 = _jsxs;
49
- t7 = Fragment;
50
- t5 = folders && folders.browseByFolder && _jsx(BrowseByFolderButton, {
51
- active: viewingRootFolderView
52
- });
53
- $[0] = adminRoute;
54
- $[1] = folders;
55
- $[2] = foldersRoute;
56
- $[3] = pathname;
57
- $[4] = t5;
58
- $[5] = t6;
59
- $[6] = t7;
60
- } else {
61
- t5 = $[4];
62
- t6 = $[5];
63
- t7 = $[6];
64
- }
65
- let t8;
66
- if ($[7] !== adminRoute || $[8] !== groups || $[9] !== i18n || $[10] !== navPreferences?.groups || $[11] !== pathname || $[12] !== t5 || $[13] !== t6 || $[14] !== t7) {
67
- let t9;
68
- if ($[16] !== adminRoute || $[17] !== i18n || $[18] !== navPreferences?.groups || $[19] !== pathname) {
69
- t9 = (t10, key) => {
46
+ let t6;
47
+ if ($[8] !== adminRoute || $[9] !== i18n || $[10] !== navPreferences?.groups || $[11] !== pathname) {
48
+ t6 = (t7, key) => {
70
49
  const {
71
50
  entities,
72
51
  label
73
- } = t10;
52
+ } = t7;
74
53
  return _jsx(NavGroup, {
75
54
  isOpen: navPreferences?.groups?.[label]?.open,
76
55
  label,
77
- children: entities.map((t11, i) => {
56
+ children: entities.map((t8, i) => {
78
57
  const {
79
58
  slug,
80
59
  type,
81
60
  label: label_0
82
- } = t11;
61
+ } = t8;
83
62
  let href;
84
63
  let id;
85
64
  if (type === EntityType.collection) {
@@ -122,29 +101,30 @@ export const DefaultNavClient = t0 => {
122
101
  })
123
102
  }, key);
124
103
  };
125
- $[16] = adminRoute;
126
- $[17] = i18n;
127
- $[18] = navPreferences?.groups;
128
- $[19] = pathname;
129
- $[20] = t9;
104
+ $[8] = adminRoute;
105
+ $[9] = i18n;
106
+ $[10] = navPreferences?.groups;
107
+ $[11] = pathname;
108
+ $[12] = t6;
130
109
  } else {
131
- t9 = $[20];
110
+ t6 = $[12];
132
111
  }
133
- t8 = t6(t7, {
134
- children: [t5, groups.map(t9)]
112
+ t5 = _jsxs(Fragment, {
113
+ children: [folders && folders.browseByFolder && _jsx(BrowseByFolderButton, {
114
+ active: viewingRootFolderView
115
+ }), groups.map(t6)]
135
116
  });
136
- $[7] = adminRoute;
137
- $[8] = groups;
138
- $[9] = i18n;
139
- $[10] = navPreferences?.groups;
140
- $[11] = pathname;
141
- $[12] = t5;
142
- $[13] = t6;
143
- $[14] = t7;
144
- $[15] = t8;
117
+ $[0] = adminRoute;
118
+ $[1] = folders;
119
+ $[2] = foldersRoute;
120
+ $[3] = groups;
121
+ $[4] = i18n;
122
+ $[5] = navPreferences?.groups;
123
+ $[6] = pathname;
124
+ $[7] = t5;
145
125
  } else {
146
- t8 = $[15];
126
+ t5 = $[7];
147
127
  }
148
- return t8;
128
+ return t5;
149
129
  };
150
130
  //# 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","t6","t7","folderURL","path","viewingRootFolderView","startsWith","_jsxs","_jsx","active","t9","t10","key","entities","label","isOpen","open","children","map","t11","i","slug","type","label_0","href","id","collection","global","isActive","undefined","includes","length","Label","_Fragment","className","prefetch","t8"],"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\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","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\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":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAKA,SAASC,cAAc,QAAQ;AAC/B,SAASC,oBAAoB,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,cAAc,QAAQ;AAChF,SAASC,UAAU,QAAQ;AAC3B,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,gBAAA,GAGRC,EAAA;EAAA,MAAAC,CAAA,GAAAf,EAAA;EAAC;IAAAgB,MAAA;IAAAC;EAAA,IAAAH,EAA0B;EAC9B,MAAAI,QAAA,GAAiBV,WAAA;EAEjB;IAAAW,MAAA,EAAAC;EAAA,IAQIf,SAAA;EAPM;IAAAgB,KAAA,EAAAC,EAAA;IAAAC,OAAA;IAAAC,MAAA,EAAAC;EAAA,IAAAL,EAMP;EALQ;IAAAI,MAAA,EAAAE;EAAA,IAAAJ,EAEN;EADS;IAAAK,cAAA,EAAAC;EAAA,IAAAF,EAAgC;EAGlC;IAAAL,KAAA,EAAAQ;EAAA,IAAAJ,EAAqB;EAIjC;IAAAK;EAAA,IAAiBxB,cAAA;EAAA,IAAAyB,EAAA;EAAA,IAAAhB,CAAA,QAAAc,UAAA,IAAAd,CAAA,QAAAQ,OAAA,IAAAR,CAAA,QAAAa,YAAA,IAAAb,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAe,IAAA,IAAAf,CAAA,QAAAE,cAAA,EAAAD,MAAA,IAAAD,CAAA,QAAAG,QAAA;IAEjB,MAAAc,SAAA,GAAkBvB,cAAA;MAAAoB,UAAA;MAAAI,IAAA,EAEVL;IAAA,CACR;IAEA,MAAAM,qBAAA,GAA8BhB,QAAA,CAAAiB,UAAA,CAAoBH,SAAA;IAAA,IAAAI,EAAA;IAAA,IAAArB,CAAA,QAAAc,UAAA,IAAAd,CAAA,QAAAe,IAAA,IAAAf,CAAA,SAAAE,cAAA,EAAAD,MAAA,IAAAD,CAAA,SAAAG,QAAA;MAKlCkB,EAAA,GAAAA,CAAAC,EAAA,EAAAC,GAAA;QAAC;UAAAC,QAAA;UAAAC;QAAA,IAAAH,EAAmB;QAAA,OAE5BI,IAAA,CAAArC,QAAA;UAAAsC,MAAA,EAAkBzB,cAAA,EAAAD,MAAA,GAAyBwB,KAAA,GAAAG,IAAA;UAAAH,KAAA;UAAAI,QAAA,EACxCL,QAAA,CAAAM,GAAA,EAAAC,EAAA,EAAAC,CAAA;YAAc;cAAAC,IAAA;cAAAC,IAAA;cAAAT,KAAA,EAAAU;YAAA,IAAAJ,EAAqB;YAC9BK,GAAA,CAAAA,IAAA;YACAC,GAAA,CAAAA,EAAA;YAAA,IAEAH,IAAA,KAAA1C,UAAA,CAAA8C,UAA8B;cAChCF,IAAA,CAAAA,CAAA,CAAOA;gBAAAA;gBAAAA,KAAA,CAAmCA,gBAAgBH,IAAA;cAAM,CAAC;cACjEI,EAAA,CAAAA,CAAA,CAAKA,OAAOJ,IAAA,EAAM;YAAlB;YAAA,IAGEC,IAAA,KAAA1C,UAAA,CAAA+C,MAA0B;cAC5BH,IAAA,CAAAA,CAAA,CAAOA;gBAAAA;gBAAAA,KAAA,CAAmCA,YAAYH,IAAA;cAAM,CAAC;cAC7DI,EAAA,CAAAA,CAAA,CAAKA,cAAcJ,IAAA,EAAM;YAAzB;YAGF,MAAAO,QAAA,GACErC,QAAA,CAAAiB,UAAA,CAAoBgB,IAAA,KAAS,CAAC,KAAAK,SAAA,EAAAC,QAAA,CAAyBvC,QAAQ,CAACiC,IAAA,CAAAO,MAAA,CAAY;YAE9E,MAAAC,KAAA,GACEC,KAAA,CAAAC,SAAA;cAAAjB,QAAA,GACGW,QAAA,IAAYd,IAAA,CAAC;gBAAAqB,SAAA,EAAe,GAAAlD,SAAA;cAA8B,C,GAC3D6B,IAAA,CAAC;gBAAAqB,SAAA,EAAgB,GAAAlD,SAAA,cAA0B;gBAAAgC,QAAA,EAAG3C,cAAA,CAAeuC,OAAA,EAAOV,IAAA;cAAA,C;;gBAKpEZ,QAAA,KAAaiC,IAAA;cAAA,OAEbV,IAAA,CAAC;gBAAAqB,SAAA,EAAe,GAAAlD,SAAA,QAAoB;gBAAAwC,EAAA;gBAAAR,QAAA,EACjCe;cAAA,GADgDZ,CAAA;YAAA;YAAA,OAOrDN,IAAA,CAAAtC,IAAA;cAAA2D,SAAA,EAAiB,GAAAlD,SAAA,QAAoB;cAAAuC,IAAA;cAAAC,EAAA;cAAAW,QAAA;cAAAnB,QAAA,EAClCe;YAAA,GAD6DZ,CAAA;UAAA,CAIpE;QAAA,GAvC4DT,GAAA;MAAA;MA0ClEvB,CAAA,MAAAc,UAAA;MAAAd,CAAA,MAAAe,IAAA;MAAAf,CAAA,OAAAE,cAAA,EAAAD,MAAA;MAAAD,CAAA,OAAAG,QAAA;MAAAH,CAAA,OAAAqB,EAAA;IAAA;MAAAA,EAAA,GAAArB,CAAA;IAAA;IA9CFgB,EAAA,GAAA6B,KAAA,CAAAjD,QAAA;MAAAiC,QAAA,GACGrB,OAAA,IAAWA,OAAA,CAAAI,cAAsB,IAAIc,IAAA,CAAAvC,oBAAA;QAAA8D,MAAA,EAA8B9B;MAAA,C,GACnElB,MAAA,CAAA6B,GAAA,CAAWT,EA4CZ;IAAA,C;;;;;;;;;;;;SA9CFL,E;CAiDJ","ignoreList":[]}
@@ -3,7 +3,7 @@ import { generateOGImage } from './og/index.js';
3
3
  let initedOGEndpoint = false;
4
4
  const handlerBuilder = config => async (request, args) => {
5
5
  const awaitedConfig = await config;
6
- // Add this endpoint only when using Next.js, still can be overriden.
6
+ // Add this endpoint only when using Next.js, still can be overridden.
7
7
  if (initedOGEndpoint === false && !awaitedConfig.endpoints.some(endpoint => endpoint.path === '/og' && endpoint.method === 'get')) {
8
8
  awaitedConfig.endpoints.push({
9
9
  handler: generateOGImage,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["handleEndpoints","generateOGImage","initedOGEndpoint","handlerBuilder","config","request","args","awaitedConfig","endpoints","some","endpoint","path","method","push","handler","awaitedParams","params","response","routes","api","slug","join","undefined","OPTIONS","GET","POST","DELETE","PATCH","PUT"],"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import { handleEndpoints, type SanitizedConfig } from 'payload'\n\nimport { generateOGImage } from './og/index.js'\n\nlet initedOGEndpoint = false\n\nconst handlerBuilder =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (\n request: Request,\n args: {\n params: Promise<{ slug?: string[] }>\n },\n ): Promise<Response> => {\n const awaitedConfig = await config\n\n // Add this endpoint only when using Next.js, still can be overriden.\n if (\n initedOGEndpoint === false &&\n !awaitedConfig.endpoints.some(\n (endpoint) => endpoint.path === '/og' && endpoint.method === 'get',\n )\n ) {\n awaitedConfig.endpoints.push({\n handler: generateOGImage,\n method: 'get',\n path: '/og',\n })\n }\n\n initedOGEndpoint = true\n\n const awaitedParams = await args.params\n\n const response = await handleEndpoints({\n config,\n path: awaitedParams\n ? `${awaitedConfig.routes.api}/${awaitedParams.slug.join('/')}`\n : undefined,\n request,\n })\n\n return response\n }\n\nexport const OPTIONS = handlerBuilder\n\nexport const GET = handlerBuilder\n\nexport const POST = handlerBuilder\n\nexport const DELETE = handlerBuilder\n\nexport const PATCH = handlerBuilder\n\nexport const PUT = handlerBuilder\n"],"mappings":"AAAA,SAASA,eAAe,QAA8B;AAEtD,SAASC,eAAe,QAAQ;AAEhC,IAAIC,gBAAA,GAAmB;AAEvB,MAAMC,cAAA,GACHC,MAAA,IACD,OACEC,OAAA,EACAC,IAAA;EAIA,MAAMC,aAAA,GAAgB,MAAMH,MAAA;EAE5B;EACA,IACEF,gBAAA,KAAqB,SACrB,CAACK,aAAA,CAAcC,SAAS,CAACC,IAAI,CAC1BC,QAAA,IAAaA,QAAA,CAASC,IAAI,KAAK,SAASD,QAAA,CAASE,MAAM,KAAK,QAE/D;IACAL,aAAA,CAAcC,SAAS,CAACK,IAAI,CAAC;MAC3BC,OAAA,EAASb,eAAA;MACTW,MAAA,EAAQ;MACRD,IAAA,EAAM;IACR;EACF;EAEAT,gBAAA,GAAmB;EAEnB,MAAMa,aAAA,GAAgB,MAAMT,IAAA,CAAKU,MAAM;EAEvC,MAAMC,QAAA,GAAW,MAAMjB,eAAA,CAAgB;IACrCI,MAAA;IACAO,IAAA,EAAMI,aAAA,GACF,GAAGR,aAAA,CAAcW,MAAM,CAACC,GAAG,IAAIJ,aAAA,CAAcK,IAAI,CAACC,IAAI,CAAC,MAAM,GAC7DC,SAAA;IACJjB;EACF;EAEA,OAAOY,QAAA;AACT;AAEF,OAAO,MAAMM,OAAA,GAAUpB,cAAA;AAEvB,OAAO,MAAMqB,GAAA,GAAMrB,cAAA;AAEnB,OAAO,MAAMsB,IAAA,GAAOtB,cAAA;AAEpB,OAAO,MAAMuB,MAAA,GAASvB,cAAA;AAEtB,OAAO,MAAMwB,KAAA,GAAQxB,cAAA;AAErB,OAAO,MAAMyB,GAAA,GAAMzB,cAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["handleEndpoints","generateOGImage","initedOGEndpoint","handlerBuilder","config","request","args","awaitedConfig","endpoints","some","endpoint","path","method","push","handler","awaitedParams","params","response","routes","api","slug","join","undefined","OPTIONS","GET","POST","DELETE","PATCH","PUT"],"sources":["../../../src/routes/rest/index.ts"],"sourcesContent":["import { handleEndpoints, type SanitizedConfig } from 'payload'\n\nimport { generateOGImage } from './og/index.js'\n\nlet initedOGEndpoint = false\n\nconst handlerBuilder =\n (config: Promise<SanitizedConfig> | SanitizedConfig) =>\n async (\n request: Request,\n args: {\n params: Promise<{ slug?: string[] }>\n },\n ): Promise<Response> => {\n const awaitedConfig = await config\n\n // Add this endpoint only when using Next.js, still can be overridden.\n if (\n initedOGEndpoint === false &&\n !awaitedConfig.endpoints.some(\n (endpoint) => endpoint.path === '/og' && endpoint.method === 'get',\n )\n ) {\n awaitedConfig.endpoints.push({\n handler: generateOGImage,\n method: 'get',\n path: '/og',\n })\n }\n\n initedOGEndpoint = true\n\n const awaitedParams = await args.params\n\n const response = await handleEndpoints({\n config,\n path: awaitedParams\n ? `${awaitedConfig.routes.api}/${awaitedParams.slug.join('/')}`\n : undefined,\n request,\n })\n\n return response\n }\n\nexport const OPTIONS = handlerBuilder\n\nexport const GET = handlerBuilder\n\nexport const POST = handlerBuilder\n\nexport const DELETE = handlerBuilder\n\nexport const PATCH = handlerBuilder\n\nexport const PUT = handlerBuilder\n"],"mappings":"AAAA,SAASA,eAAe,QAA8B;AAEtD,SAASC,eAAe,QAAQ;AAEhC,IAAIC,gBAAA,GAAmB;AAEvB,MAAMC,cAAA,GACHC,MAAA,IACD,OACEC,OAAA,EACAC,IAAA;EAIA,MAAMC,aAAA,GAAgB,MAAMH,MAAA;EAE5B;EACA,IACEF,gBAAA,KAAqB,SACrB,CAACK,aAAA,CAAcC,SAAS,CAACC,IAAI,CAC1BC,QAAA,IAAaA,QAAA,CAASC,IAAI,KAAK,SAASD,QAAA,CAASE,MAAM,KAAK,QAE/D;IACAL,aAAA,CAAcC,SAAS,CAACK,IAAI,CAAC;MAC3BC,OAAA,EAASb,eAAA;MACTW,MAAA,EAAQ;MACRD,IAAA,EAAM;IACR;EACF;EAEAT,gBAAA,GAAmB;EAEnB,MAAMa,aAAA,GAAgB,MAAMT,IAAA,CAAKU,MAAM;EAEvC,MAAMC,QAAA,GAAW,MAAMjB,eAAA,CAAgB;IACrCI,MAAA;IACAO,IAAA,EAAMI,aAAA,GACF,GAAGR,aAAA,CAAcW,MAAM,CAACC,GAAG,IAAIJ,aAAA,CAAcK,IAAI,CAACC,IAAI,CAAC,MAAM,GAC7DC,SAAA;IACJjB;EACF;EAEA,OAAOY,QAAA;AACT;AAEF,OAAO,MAAMM,OAAA,GAAUpB,cAAA;AAEvB,OAAO,MAAMqB,GAAA,GAAMrB,cAAA;AAEnB,OAAO,MAAMsB,IAAA,GAAOtB,cAAA;AAEpB,OAAO,MAAMuB,MAAA,GAASvB,cAAA;AAEtB,OAAO,MAAMwB,KAAA,GAAQxB,cAAA;AAErB,OAAO,MAAMyB,GAAA,GAAMzB,cAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"handleServerFunctions.d.ts","sourceRoot":"","sources":["../../src/utilities/handleServerFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAwBpE,eAAO,MAAM,qBAAqB,EAAE,qBAsBnC,CAAA"}
1
+ {"version":3,"file":"handleServerFunctions.d.ts","sourceRoot":"","sources":["../../src/utilities/handleServerFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAyBpE,eAAO,MAAM,qBAAqB,EAAE,qBAiCnC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { copyDataFromLocaleHandler } from '@payloadcms/ui/rsc';
1
+ import { _internal_renderFieldHandler, copyDataFromLocaleHandler } from '@payloadcms/ui/rsc';
2
2
  import { buildFormStateHandler } from '@payloadcms/ui/utilities/buildFormState';
3
3
  import { buildTableStateHandler } from '@payloadcms/ui/utilities/buildTableState';
4
4
  import { getFolderResultsComponentAndDataHandler } from '@payloadcms/ui/utilities/getFolderResultsComponentAndData';
@@ -7,12 +7,13 @@ import { renderDocumentHandler } from '../views/Document/handleServerFunction.js
7
7
  import { renderDocumentSlotsHandler } from '../views/Document/renderDocumentSlots.js';
8
8
  import { renderListHandler } from '../views/List/handleServerFunction.js';
9
9
  import { initReq } from './initReq.js';
10
- const serverFunctions = {
10
+ const baseServerFunctions = {
11
11
  'copy-data-from-locale': copyDataFromLocaleHandler,
12
12
  'form-state': buildFormStateHandler,
13
13
  'get-folder-results-component-and-data': getFolderResultsComponentAndDataHandler,
14
14
  'render-document': renderDocumentHandler,
15
15
  'render-document-slots': renderDocumentSlotsHandler,
16
+ 'render-field': _internal_renderFieldHandler,
16
17
  'render-list': renderListHandler,
17
18
  'schedule-publish': schedulePublishHandler,
18
19
  'table-state': buildTableStateHandler
@@ -22,7 +23,8 @@ export const handleServerFunctions = async args => {
22
23
  name: fnKey,
23
24
  args: fnArgs,
24
25
  config: configPromise,
25
- importMap
26
+ importMap,
27
+ serverFunctions: extraServerFunctions
26
28
  } = args;
27
29
  const {
28
30
  req
@@ -36,6 +38,10 @@ export const handleServerFunctions = async args => {
36
38
  importMap,
37
39
  req
38
40
  };
41
+ const serverFunctions = {
42
+ ...baseServerFunctions,
43
+ ...(extraServerFunctions || {})
44
+ };
39
45
  const fn = serverFunctions[fnKey];
40
46
  if (!fn) {
41
47
  throw new Error(`Unknown Server Function: ${fnKey}`);
@@ -1 +1 @@
1
- {"version":3,"file":"handleServerFunctions.js","names":["copyDataFromLocaleHandler","buildFormStateHandler","buildTableStateHandler","getFolderResultsComponentAndDataHandler","schedulePublishHandler","renderDocumentHandler","renderDocumentSlotsHandler","renderListHandler","initReq","serverFunctions","handleServerFunctions","args","name","fnKey","fnArgs","config","configPromise","importMap","req","key","augmentedArgs","fn","Error"],"sources":["../../src/utilities/handleServerFunctions.ts"],"sourcesContent":["import type { ServerFunction, ServerFunctionHandler } from 'payload'\n\nimport { copyDataFromLocaleHandler } from '@payloadcms/ui/rsc'\nimport { buildFormStateHandler } from '@payloadcms/ui/utilities/buildFormState'\nimport { buildTableStateHandler } from '@payloadcms/ui/utilities/buildTableState'\nimport { getFolderResultsComponentAndDataHandler } from '@payloadcms/ui/utilities/getFolderResultsComponentAndData'\nimport { schedulePublishHandler } from '@payloadcms/ui/utilities/schedulePublishHandler'\n\nimport { renderDocumentHandler } from '../views/Document/handleServerFunction.js'\nimport { renderDocumentSlotsHandler } from '../views/Document/renderDocumentSlots.js'\nimport { renderListHandler } from '../views/List/handleServerFunction.js'\nimport { initReq } from './initReq.js'\n\nconst serverFunctions: Record<string, ServerFunction> = {\n 'copy-data-from-locale': copyDataFromLocaleHandler,\n 'form-state': buildFormStateHandler,\n 'get-folder-results-component-and-data': getFolderResultsComponentAndDataHandler,\n 'render-document': renderDocumentHandler,\n 'render-document-slots': renderDocumentSlotsHandler,\n 'render-list': renderListHandler,\n 'schedule-publish': schedulePublishHandler,\n 'table-state': buildTableStateHandler,\n}\n\nexport const handleServerFunctions: ServerFunctionHandler = async (args) => {\n const { name: fnKey, args: fnArgs, config: configPromise, importMap } = args\n\n const { req } = await initReq({\n configPromise,\n importMap,\n key: 'RootLayout',\n })\n\n const augmentedArgs: Parameters<ServerFunction>[0] = {\n ...fnArgs,\n importMap,\n req,\n }\n\n const fn = serverFunctions[fnKey]\n\n if (!fn) {\n throw new Error(`Unknown Server Function: ${fnKey}`)\n }\n\n return fn(augmentedArgs)\n}\n"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ;AAC1C,SAASC,qBAAqB,QAAQ;AACtC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,uCAAuC,QAAQ;AACxD,SAASC,sBAAsB,QAAQ;AAEvC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,iBAAiB,QAAQ;AAClC,SAASC,OAAO,QAAQ;AAExB,MAAMC,eAAA,GAAkD;EACtD,yBAAyBT,yBAAA;EACzB,cAAcC,qBAAA;EACd,yCAAyCE,uCAAA;EACzC,mBAAmBE,qBAAA;EACnB,yBAAyBC,0BAAA;EACzB,eAAeC,iBAAA;EACf,oBAAoBH,sBAAA;EACpB,eAAeF;AACjB;AAEA,OAAO,MAAMQ,qBAAA,GAA+C,MAAOC,IAAA;EACjE,MAAM;IAAEC,IAAA,EAAMC,KAAK;IAAEF,IAAA,EAAMG,MAAM;IAAEC,MAAA,EAAQC,aAAa;IAAEC;EAAS,CAAE,GAAGN,IAAA;EAExE,MAAM;IAAEO;EAAG,CAAE,GAAG,MAAMV,OAAA,CAAQ;IAC5BQ,aAAA;IACAC,SAAA;IACAE,GAAA,EAAK;EACP;EAEA,MAAMC,aAAA,GAA+C;IACnD,GAAGN,MAAM;IACTG,SAAA;IACAC;EACF;EAEA,MAAMG,EAAA,GAAKZ,eAAe,CAACI,KAAA,CAAM;EAEjC,IAAI,CAACQ,EAAA,EAAI;IACP,MAAM,IAAIC,KAAA,CAAM,4BAA4BT,KAAA,EAAO;EACrD;EAEA,OAAOQ,EAAA,CAAGD,aAAA;AACZ","ignoreList":[]}
1
+ {"version":3,"file":"handleServerFunctions.js","names":["_internal_renderFieldHandler","copyDataFromLocaleHandler","buildFormStateHandler","buildTableStateHandler","getFolderResultsComponentAndDataHandler","schedulePublishHandler","renderDocumentHandler","renderDocumentSlotsHandler","renderListHandler","initReq","baseServerFunctions","handleServerFunctions","args","name","fnKey","fnArgs","config","configPromise","importMap","serverFunctions","extraServerFunctions","req","key","augmentedArgs","fn","Error"],"sources":["../../src/utilities/handleServerFunctions.ts"],"sourcesContent":["import type { ServerFunction, ServerFunctionHandler } from 'payload'\n\nimport { _internal_renderFieldHandler, copyDataFromLocaleHandler } from '@payloadcms/ui/rsc'\nimport { buildFormStateHandler } from '@payloadcms/ui/utilities/buildFormState'\nimport { buildTableStateHandler } from '@payloadcms/ui/utilities/buildTableState'\nimport { getFolderResultsComponentAndDataHandler } from '@payloadcms/ui/utilities/getFolderResultsComponentAndData'\nimport { schedulePublishHandler } from '@payloadcms/ui/utilities/schedulePublishHandler'\n\nimport { renderDocumentHandler } from '../views/Document/handleServerFunction.js'\nimport { renderDocumentSlotsHandler } from '../views/Document/renderDocumentSlots.js'\nimport { renderListHandler } from '../views/List/handleServerFunction.js'\nimport { initReq } from './initReq.js'\n\nconst baseServerFunctions: Record<string, ServerFunction<any, any>> = {\n 'copy-data-from-locale': copyDataFromLocaleHandler,\n 'form-state': buildFormStateHandler,\n 'get-folder-results-component-and-data': getFolderResultsComponentAndDataHandler,\n 'render-document': renderDocumentHandler,\n 'render-document-slots': renderDocumentSlotsHandler,\n 'render-field': _internal_renderFieldHandler,\n 'render-list': renderListHandler,\n 'schedule-publish': schedulePublishHandler,\n 'table-state': buildTableStateHandler,\n}\n\nexport const handleServerFunctions: ServerFunctionHandler = async (args) => {\n const {\n name: fnKey,\n args: fnArgs,\n config: configPromise,\n importMap,\n serverFunctions: extraServerFunctions,\n } = args\n\n const { req } = await initReq({\n configPromise,\n importMap,\n key: 'RootLayout',\n })\n\n const augmentedArgs: Parameters<ServerFunction>[0] = {\n ...fnArgs,\n importMap,\n req,\n }\n\n const serverFunctions = {\n ...baseServerFunctions,\n ...(extraServerFunctions || {}),\n }\n\n const fn = serverFunctions[fnKey]\n\n if (!fn) {\n throw new Error(`Unknown Server Function: ${fnKey}`)\n }\n\n return fn(augmentedArgs)\n}\n"],"mappings":"AAEA,SAASA,4BAA4B,EAAEC,yBAAyB,QAAQ;AACxE,SAASC,qBAAqB,QAAQ;AACtC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,uCAAuC,QAAQ;AACxD,SAASC,sBAAsB,QAAQ;AAEvC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,iBAAiB,QAAQ;AAClC,SAASC,OAAO,QAAQ;AAExB,MAAMC,mBAAA,GAAgE;EACpE,yBAAyBT,yBAAA;EACzB,cAAcC,qBAAA;EACd,yCAAyCE,uCAAA;EACzC,mBAAmBE,qBAAA;EACnB,yBAAyBC,0BAAA;EACzB,gBAAgBP,4BAAA;EAChB,eAAeQ,iBAAA;EACf,oBAAoBH,sBAAA;EACpB,eAAeF;AACjB;AAEA,OAAO,MAAMQ,qBAAA,GAA+C,MAAOC,IAAA;EACjE,MAAM;IACJC,IAAA,EAAMC,KAAK;IACXF,IAAA,EAAMG,MAAM;IACZC,MAAA,EAAQC,aAAa;IACrBC,SAAS;IACTC,eAAA,EAAiBC;EAAoB,CACtC,GAAGR,IAAA;EAEJ,MAAM;IAAES;EAAG,CAAE,GAAG,MAAMZ,OAAA,CAAQ;IAC5BQ,aAAA;IACAC,SAAA;IACAI,GAAA,EAAK;EACP;EAEA,MAAMC,aAAA,GAA+C;IACnD,GAAGR,MAAM;IACTG,SAAA;IACAG;EACF;EAEA,MAAMF,eAAA,GAAkB;IACtB,GAAGT,mBAAmB;IACtB,IAAIU,oBAAA,IAAwB,CAAC,CAAC;EAChC;EAEA,MAAMI,EAAA,GAAKL,eAAe,CAACL,KAAA,CAAM;EAEjC,IAAI,CAACU,EAAA,EAAI;IACP,MAAM,IAAIC,KAAA,CAAM,4BAA4BX,KAAA,EAAO;EACrD;EAEA,OAAOU,EAAA,CAAGD,aAAA;AACZ","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { Field, PayloadRequest, ResolvedFilterOptions } from 'payload';
2
- export declare const resolveAllFilterOptions: ({ fields, req, result, }: {
2
+ export declare const resolveAllFilterOptions: ({ fields, pathPrefix, req, result, }: {
3
3
  fields: Field[];
4
+ pathPrefix?: string;
4
5
  req: PayloadRequest;
5
6
  result?: Map<string, ResolvedFilterOptions>;
6
7
  }) => Promise<Map<string, ResolvedFilterOptions>>;
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAllFilterOptions.d.ts","sourceRoot":"","sources":["../../../src/views/List/resolveAllFilterOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAK3E,eAAO,MAAM,uBAAuB,6BAIjC;IACD,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CAC5C,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAkD7C,CAAA"}
1
+ {"version":3,"file":"resolveAllFilterOptions.d.ts","sourceRoot":"","sources":["../../../src/views/List/resolveAllFilterOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAU3E,eAAO,MAAM,uBAAuB,yCAKjC;IACD,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CAC5C,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAgE7C,CAAA"}
@@ -1,7 +1,8 @@
1
1
  import { resolveFilterOptions } from '@payloadcms/ui/rsc';
2
- import { fieldHasSubFields, fieldIsHiddenOrDisabled } from 'payload/shared';
2
+ import { fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled, tabHasName } from 'payload/shared';
3
3
  export const resolveAllFilterOptions = async ({
4
4
  fields,
5
+ pathPrefix,
5
6
  req,
6
7
  result
7
8
  }) => {
@@ -10,6 +11,7 @@ export const resolveAllFilterOptions = async ({
10
11
  if (fieldIsHiddenOrDisabled(field)) {
11
12
  return;
12
13
  }
14
+ const fieldPath = fieldAffectsData(field) ? pathPrefix ? `${pathPrefix}.${field.name}` : field.name : pathPrefix;
13
15
  if ((field.type === 'relationship' || field.type === 'upload') && 'filterOptions' in field && field.filterOptions) {
14
16
  const options = await resolveFilterOptions(field.filterOptions, {
15
17
  id: undefined,
@@ -20,21 +22,26 @@ export const resolveAllFilterOptions = async ({
20
22
  siblingData: {},
21
23
  user: req.user
22
24
  });
23
- resolvedFilterOptions.set(field.name, options);
25
+ resolvedFilterOptions.set(fieldPath, options);
24
26
  }
25
27
  if (fieldHasSubFields(field)) {
26
28
  await resolveAllFilterOptions({
27
29
  fields: field.fields,
30
+ pathPrefix: fieldPath,
28
31
  req,
29
32
  result: resolvedFilterOptions
30
33
  });
31
34
  }
32
35
  if (field.type === 'tabs') {
33
- await Promise.all(field.tabs.map(tab => resolveAllFilterOptions({
34
- fields: tab.fields,
35
- req,
36
- result: resolvedFilterOptions
37
- })));
36
+ await Promise.all(field.tabs.map(async tab => {
37
+ const tabPath = tabHasName(tab) ? fieldPath ? `${fieldPath}.${tab.name}` : tab.name : fieldPath;
38
+ await resolveAllFilterOptions({
39
+ fields: tab.fields,
40
+ pathPrefix: tabPath,
41
+ req,
42
+ result: resolvedFilterOptions
43
+ });
44
+ }));
38
45
  }
39
46
  }));
40
47
  return resolvedFilterOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAllFilterOptions.js","names":["resolveFilterOptions","fieldHasSubFields","fieldIsHiddenOrDisabled","resolveAllFilterOptions","fields","req","result","resolvedFilterOptions","Map","Promise","all","map","field","type","filterOptions","options","id","undefined","blockData","data","relationTo","siblingData","user","set","name","tabs","tab"],"sources":["../../../src/views/List/resolveAllFilterOptions.ts"],"sourcesContent":["import type { Field, PayloadRequest, ResolvedFilterOptions } from 'payload'\n\nimport { resolveFilterOptions } from '@payloadcms/ui/rsc'\nimport { fieldHasSubFields, fieldIsHiddenOrDisabled } from 'payload/shared'\n\nexport const resolveAllFilterOptions = async ({\n fields,\n req,\n result,\n}: {\n fields: Field[]\n req: PayloadRequest\n result?: Map<string, ResolvedFilterOptions>\n}): Promise<Map<string, ResolvedFilterOptions>> => {\n const resolvedFilterOptions = !result ? new Map<string, ResolvedFilterOptions>() : result\n\n await Promise.all(\n fields.map(async (field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return\n }\n\n if (\n (field.type === 'relationship' || field.type === 'upload') &&\n 'filterOptions' in field &&\n field.filterOptions\n ) {\n const options = await resolveFilterOptions(field.filterOptions, {\n id: undefined,\n blockData: undefined,\n data: {}, // use empty object to prevent breaking queries when accessing properties of data\n relationTo: field.relationTo,\n req,\n siblingData: {}, // use empty object to prevent breaking queries when accessing properties of data\n user: req.user,\n })\n\n resolvedFilterOptions.set(field.name, options)\n }\n\n if (fieldHasSubFields(field)) {\n await resolveAllFilterOptions({\n fields: field.fields,\n req,\n result: resolvedFilterOptions,\n })\n }\n\n if (field.type === 'tabs') {\n await Promise.all(\n field.tabs.map((tab) =>\n resolveAllFilterOptions({\n fields: tab.fields,\n req,\n result: resolvedFilterOptions,\n }),\n ),\n )\n }\n }),\n )\n\n return resolvedFilterOptions\n}\n"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ;AACrC,SAASC,iBAAiB,EAAEC,uBAAuB,QAAQ;AAE3D,OAAO,MAAMC,uBAAA,GAA0B,MAAAA,CAAO;EAC5CC,MAAM;EACNC,GAAG;EACHC;AAAM,CAKP;EACC,MAAMC,qBAAA,GAAwB,CAACD,MAAA,GAAS,IAAIE,GAAA,KAAuCF,MAAA;EAEnF,MAAMG,OAAA,CAAQC,GAAG,CACfN,MAAA,CAAOO,GAAG,CAAC,MAAOC,KAAA;IAChB,IAAIV,uBAAA,CAAwBU,KAAA,GAAQ;MAClC;IACF;IAEA,IACE,CAACA,KAAA,CAAMC,IAAI,KAAK,kBAAkBD,KAAA,CAAMC,IAAI,KAAK,QAAO,KACxD,mBAAmBD,KAAA,IACnBA,KAAA,CAAME,aAAa,EACnB;MACA,MAAMC,OAAA,GAAU,MAAMf,oBAAA,CAAqBY,KAAA,CAAME,aAAa,EAAE;QAC9DE,EAAA,EAAIC,SAAA;QACJC,SAAA,EAAWD,SAAA;QACXE,IAAA,EAAM,CAAC;QACPC,UAAA,EAAYR,KAAA,CAAMQ,UAAU;QAC5Bf,GAAA;QACAgB,WAAA,EAAa,CAAC;QACdC,IAAA,EAAMjB,GAAA,CAAIiB;MACZ;MAEAf,qBAAA,CAAsBgB,GAAG,CAACX,KAAA,CAAMY,IAAI,EAAET,OAAA;IACxC;IAEA,IAAId,iBAAA,CAAkBW,KAAA,GAAQ;MAC5B,MAAMT,uBAAA,CAAwB;QAC5BC,MAAA,EAAQQ,KAAA,CAAMR,MAAM;QACpBC,GAAA;QACAC,MAAA,EAAQC;MACV;IACF;IAEA,IAAIK,KAAA,CAAMC,IAAI,KAAK,QAAQ;MACzB,MAAMJ,OAAA,CAAQC,GAAG,CACfE,KAAA,CAAMa,IAAI,CAACd,GAAG,CAAEe,GAAA,IACdvB,uBAAA,CAAwB;QACtBC,MAAA,EAAQsB,GAAA,CAAItB,MAAM;QAClBC,GAAA;QACAC,MAAA,EAAQC;MACV;IAGN;EACF;EAGF,OAAOA,qBAAA;AACT","ignoreList":[]}
1
+ {"version":3,"file":"resolveAllFilterOptions.js","names":["resolveFilterOptions","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","tabHasName","resolveAllFilterOptions","fields","pathPrefix","req","result","resolvedFilterOptions","Map","Promise","all","map","field","fieldPath","name","type","filterOptions","options","id","undefined","blockData","data","relationTo","siblingData","user","set","tabs","tab","tabPath"],"sources":["../../../src/views/List/resolveAllFilterOptions.ts"],"sourcesContent":["import type { Field, PayloadRequest, ResolvedFilterOptions } from 'payload'\n\nimport { resolveFilterOptions } from '@payloadcms/ui/rsc'\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsHiddenOrDisabled,\n tabHasName,\n} from 'payload/shared'\n\nexport const resolveAllFilterOptions = async ({\n fields,\n pathPrefix,\n req,\n result,\n}: {\n fields: Field[]\n pathPrefix?: string\n req: PayloadRequest\n result?: Map<string, ResolvedFilterOptions>\n}): Promise<Map<string, ResolvedFilterOptions>> => {\n const resolvedFilterOptions = !result ? new Map<string, ResolvedFilterOptions>() : result\n\n await Promise.all(\n fields.map(async (field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return\n }\n\n const fieldPath = fieldAffectsData(field)\n ? pathPrefix\n ? `${pathPrefix}.${field.name}`\n : field.name\n : pathPrefix\n\n if (\n (field.type === 'relationship' || field.type === 'upload') &&\n 'filterOptions' in field &&\n field.filterOptions\n ) {\n const options = await resolveFilterOptions(field.filterOptions, {\n id: undefined,\n blockData: undefined,\n data: {}, // use empty object to prevent breaking queries when accessing properties of `data`\n relationTo: field.relationTo,\n req,\n siblingData: {}, // use empty object to prevent breaking queries when accessing properties of `siblingData`\n user: req.user,\n })\n\n resolvedFilterOptions.set(fieldPath, options)\n }\n\n if (fieldHasSubFields(field)) {\n await resolveAllFilterOptions({\n fields: field.fields,\n pathPrefix: fieldPath,\n req,\n result: resolvedFilterOptions,\n })\n }\n\n if (field.type === 'tabs') {\n await Promise.all(\n field.tabs.map(async (tab) => {\n const tabPath = tabHasName(tab)\n ? fieldPath\n ? `${fieldPath}.${tab.name}`\n : tab.name\n : fieldPath\n\n await resolveAllFilterOptions({\n fields: tab.fields,\n pathPrefix: tabPath,\n req,\n result: resolvedFilterOptions,\n })\n }),\n )\n }\n }),\n )\n\n return resolvedFilterOptions\n}\n"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ;AACrC,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,uBAAuB,EACvBC,UAAU,QACL;AAEP,OAAO,MAAMC,uBAAA,GAA0B,MAAAA,CAAO;EAC5CC,MAAM;EACNC,UAAU;EACVC,GAAG;EACHC;AAAM,CAMP;EACC,MAAMC,qBAAA,GAAwB,CAACD,MAAA,GAAS,IAAIE,GAAA,KAAuCF,MAAA;EAEnF,MAAMG,OAAA,CAAQC,GAAG,CACfP,MAAA,CAAOQ,GAAG,CAAC,MAAOC,KAAA;IAChB,IAAIZ,uBAAA,CAAwBY,KAAA,GAAQ;MAClC;IACF;IAEA,MAAMC,SAAA,GAAYf,gBAAA,CAAiBc,KAAA,IAC/BR,UAAA,GACE,GAAGA,UAAA,IAAcQ,KAAA,CAAME,IAAI,EAAE,GAC7BF,KAAA,CAAME,IAAI,GACZV,UAAA;IAEJ,IACE,CAACQ,KAAA,CAAMG,IAAI,KAAK,kBAAkBH,KAAA,CAAMG,IAAI,KAAK,QAAO,KACxD,mBAAmBH,KAAA,IACnBA,KAAA,CAAMI,aAAa,EACnB;MACA,MAAMC,OAAA,GAAU,MAAMpB,oBAAA,CAAqBe,KAAA,CAAMI,aAAa,EAAE;QAC9DE,EAAA,EAAIC,SAAA;QACJC,SAAA,EAAWD,SAAA;QACXE,IAAA,EAAM,CAAC;QACPC,UAAA,EAAYV,KAAA,CAAMU,UAAU;QAC5BjB,GAAA;QACAkB,WAAA,EAAa,CAAC;QACdC,IAAA,EAAMnB,GAAA,CAAImB;MACZ;MAEAjB,qBAAA,CAAsBkB,GAAG,CAACZ,SAAA,EAAWI,OAAA;IACvC;IAEA,IAAIlB,iBAAA,CAAkBa,KAAA,GAAQ;MAC5B,MAAMV,uBAAA,CAAwB;QAC5BC,MAAA,EAAQS,KAAA,CAAMT,MAAM;QACpBC,UAAA,EAAYS,SAAA;QACZR,GAAA;QACAC,MAAA,EAAQC;MACV;IACF;IAEA,IAAIK,KAAA,CAAMG,IAAI,KAAK,QAAQ;MACzB,MAAMN,OAAA,CAAQC,GAAG,CACfE,KAAA,CAAMc,IAAI,CAACf,GAAG,CAAC,MAAOgB,GAAA;QACpB,MAAMC,OAAA,GAAU3B,UAAA,CAAW0B,GAAA,IACvBd,SAAA,GACE,GAAGA,SAAA,IAAac,GAAA,CAAIb,IAAI,EAAE,GAC1Ba,GAAA,CAAIb,IAAI,GACVD,SAAA;QAEJ,MAAMX,uBAAA,CAAwB;UAC5BC,MAAA,EAAQwB,GAAA,CAAIxB,MAAM;UAClBC,UAAA,EAAYwB,OAAA;UACZvB,GAAA;UACAC,MAAA,EAAQC;QACV;MACF;IAEJ;EACF;EAGF,OAAOA,qBAAA;AACT","ignoreList":[]}
@@ -32,31 +32,29 @@ export const LogoutClient = props => {
32
32
  startRouteTransition
33
33
  } = useRouteTransition();
34
34
  user?.id;
35
- let t0;
36
- t0 = Boolean(user?.id);
37
- const isLoggedIn = t0;
35
+ const isLoggedIn = Boolean(user?.id);
38
36
  const navigatingToLoginRef = React.useRef(false);
39
- let t1;
37
+ let t0;
40
38
  if ($[0] !== adminRoute || $[1] !== inactivity || $[2] !== redirect) {
41
- t1 = () => formatAdminURL({
39
+ t0 = () => formatAdminURL({
42
40
  adminRoute,
43
41
  path: `/login${inactivity && redirect && redirect.length > 0 ? `?redirect=${encodeURIComponent(redirect)}` : ""}`
44
42
  });
45
43
  $[0] = adminRoute;
46
44
  $[1] = inactivity;
47
45
  $[2] = redirect;
48
- $[3] = t1;
46
+ $[3] = t0;
49
47
  } else {
50
- t1 = $[3];
48
+ t0 = $[3];
51
49
  }
52
- const [loginRoute] = React.useState(t1);
50
+ const [loginRoute] = React.useState(t0);
53
51
  const {
54
52
  t
55
53
  } = useTranslation();
56
54
  const router = useRouter();
57
- let t2;
55
+ let t1;
58
56
  if ($[4] !== inactivity || $[5] !== logOut || $[6] !== loginRoute || $[7] !== router || $[8] !== startRouteTransition || $[9] !== t) {
59
- t2 = async () => {
57
+ t1 = async () => {
60
58
  if (!inactivity && !navigatingToLoginRef.current) {
61
59
  navigatingToLoginRef.current = true;
62
60
  await logOut();
@@ -71,15 +69,15 @@ export const LogoutClient = props => {
71
69
  $[7] = router;
72
70
  $[8] = startRouteTransition;
73
71
  $[9] = t;
74
- $[10] = t2;
72
+ $[10] = t1;
75
73
  } else {
76
- t2 = $[10];
74
+ t1 = $[10];
77
75
  }
78
- const handleLogOut = t2;
76
+ const handleLogOut = t1;
77
+ let t2;
79
78
  let t3;
80
- let t4;
81
79
  if ($[11] !== handleLogOut || $[12] !== isLoggedIn || $[13] !== loginRoute || $[14] !== router || $[15] !== startRouteTransition) {
82
- t3 = () => {
80
+ t2 = () => {
83
81
  if (isLoggedIn) {
84
82
  handleLogOut();
85
83
  } else {
@@ -89,23 +87,23 @@ export const LogoutClient = props => {
89
87
  }
90
88
  }
91
89
  };
92
- t4 = [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition];
90
+ t3 = [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition];
93
91
  $[11] = handleLogOut;
94
92
  $[12] = isLoggedIn;
95
93
  $[13] = loginRoute;
96
94
  $[14] = router;
97
95
  $[15] = startRouteTransition;
98
- $[16] = t3;
99
- $[17] = t4;
96
+ $[16] = t2;
97
+ $[17] = t3;
100
98
  } else {
101
- t3 = $[16];
102
- t4 = $[17];
99
+ t2 = $[16];
100
+ t3 = $[17];
103
101
  }
104
- useEffect(t3, t4);
102
+ useEffect(t2, t3);
105
103
  if (!isLoggedIn && inactivity) {
106
- let t5;
104
+ let t4;
107
105
  if ($[18] !== loginRoute || $[19] !== t) {
108
- t5 = _jsxs("div", {
106
+ t4 = _jsxs("div", {
109
107
  className: `${baseClass}__wrap`,
110
108
  children: [_jsx("h2", {
111
109
  children: t("authentication:loggedOutInactivity")
@@ -119,23 +117,23 @@ export const LogoutClient = props => {
119
117
  });
120
118
  $[18] = loginRoute;
121
119
  $[19] = t;
122
- $[20] = t5;
120
+ $[20] = t4;
123
121
  } else {
124
- t5 = $[20];
122
+ t4 = $[20];
125
123
  }
126
- return t5;
124
+ return t4;
127
125
  }
128
- let t5;
126
+ let t4;
129
127
  if ($[21] !== t) {
130
- t5 = _jsx(LoadingOverlay, {
128
+ t4 = _jsx(LoadingOverlay, {
131
129
  animationDuration: "0ms",
132
130
  loadingText: t("authentication:loggingOut")
133
131
  });
134
132
  $[21] = t;
135
- $[22] = t5;
133
+ $[22] = t4;
136
134
  } else {
137
- t5 = $[22];
135
+ t4 = $[22];
138
136
  }
139
- return t5;
137
+ return t4;
140
138
  };
141
139
  //# sourceMappingURL=LogoutClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutClient.js","names":["c","_c","Button","LoadingOverlay","toast","useAuth","useRouteTransition","useTranslation","useRouter","formatAdminURL","React","useEffect","baseClass","LogoutClient","props","$","adminRoute","inactivity","redirect","logOut","user","startRouteTransition","id","t0","Boolean","isLoggedIn","navigatingToLoginRef","useRef","t1","path","length","encodeURIComponent","loginRoute","useState","t","router","t2","current","success","push","handleLogOut","t3","t4","t5","_jsxs","className","children","_jsx","buttonStyle","el","size","url","animationDuration","loadingText"],"sources":["../../../src/views/Logout/LogoutClient.tsx"],"sourcesContent":["'use client'\nimport {\n Button,\n LoadingOverlay,\n toast,\n useAuth,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'logout'\n\n/**\n * This component should **just** be the inactivity route and do nothing with logging the user out.\n *\n * It currently handles too much, the auth provider should just log the user out and then\n * we could remove the useEffect in this file. So instead of the logout button\n * being an anchor link, it should be a button that calls `logOut` in the provider.\n *\n * This view is still useful if cookies attempt to refresh and fail, i.e. the user\n * is logged out due to inactivity.\n */\nexport const LogoutClient: React.FC<{\n adminRoute: string\n inactivity?: boolean\n redirect: string\n}> = (props) => {\n const { adminRoute, inactivity, redirect } = props\n\n const { logOut, user } = useAuth()\n\n const { startRouteTransition } = useRouteTransition()\n\n const isLoggedIn = React.useMemo(() => {\n return Boolean(user?.id)\n }, [user?.id])\n\n const navigatingToLoginRef = React.useRef(false)\n\n const [loginRoute] = React.useState(() =>\n formatAdminURL({\n adminRoute,\n path: `/login${\n inactivity && redirect && redirect.length > 0\n ? `?redirect=${encodeURIComponent(redirect)}`\n : ''\n }`,\n }),\n )\n\n const { t } = useTranslation()\n const router = useRouter()\n\n const handleLogOut = React.useCallback(async () => {\n if (!inactivity && !navigatingToLoginRef.current) {\n navigatingToLoginRef.current = true\n await logOut()\n toast.success(t('authentication:loggedOutSuccessfully'))\n startRouteTransition(() => router.push(loginRoute))\n return\n }\n }, [inactivity, logOut, loginRoute, router, startRouteTransition, t])\n\n useEffect(() => {\n if (isLoggedIn) {\n void handleLogOut()\n } else if (!navigatingToLoginRef.current) {\n navigatingToLoginRef.current = true\n startRouteTransition(() => router.push(loginRoute))\n }\n }, [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition])\n\n if (!isLoggedIn && inactivity) {\n return (\n <div className={`${baseClass}__wrap`}>\n <h2>{t('authentication:loggedOutInactivity')}</h2>\n <Button buttonStyle=\"secondary\" el=\"link\" size=\"large\" url={loginRoute}>\n {t('authentication:logBackIn')}\n </Button>\n </div>\n )\n }\n\n return <LoadingOverlay animationDuration={'0ms'} loadingText={t('authentication:loggingOut')} />\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LogoutClient.js","names":["c","_c","Button","LoadingOverlay","toast","useAuth","useRouteTransition","useTranslation","useRouter","formatAdminURL","React","useEffect","baseClass","LogoutClient","props","$","adminRoute","inactivity","redirect","logOut","user","startRouteTransition","id","isLoggedIn","Boolean","navigatingToLoginRef","useRef","t0","path","length","encodeURIComponent","loginRoute","useState","t","router","t1","current","success","push","handleLogOut","t2","t3","t4","_jsxs","className","children","_jsx","buttonStyle","el","size","url","animationDuration","loadingText"],"sources":["../../../src/views/Logout/LogoutClient.tsx"],"sourcesContent":["'use client'\nimport {\n Button,\n LoadingOverlay,\n toast,\n useAuth,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'logout'\n\n/**\n * This component should **just** be the inactivity route and do nothing with logging the user out.\n *\n * It currently handles too much, the auth provider should just log the user out and then\n * we could remove the useEffect in this file. So instead of the logout button\n * being an anchor link, it should be a button that calls `logOut` in the provider.\n *\n * This view is still useful if cookies attempt to refresh and fail, i.e. the user\n * is logged out due to inactivity.\n */\nexport const LogoutClient: React.FC<{\n adminRoute: string\n inactivity?: boolean\n redirect: string\n}> = (props) => {\n const { adminRoute, inactivity, redirect } = props\n\n const { logOut, user } = useAuth()\n\n const { startRouteTransition } = useRouteTransition()\n\n const isLoggedIn = React.useMemo(() => {\n return Boolean(user?.id)\n }, [user?.id])\n\n const navigatingToLoginRef = React.useRef(false)\n\n const [loginRoute] = React.useState(() =>\n formatAdminURL({\n adminRoute,\n path: `/login${\n inactivity && redirect && redirect.length > 0\n ? `?redirect=${encodeURIComponent(redirect)}`\n : ''\n }`,\n }),\n )\n\n const { t } = useTranslation()\n const router = useRouter()\n\n const handleLogOut = React.useCallback(async () => {\n if (!inactivity && !navigatingToLoginRef.current) {\n navigatingToLoginRef.current = true\n await logOut()\n toast.success(t('authentication:loggedOutSuccessfully'))\n startRouteTransition(() => router.push(loginRoute))\n return\n }\n }, [inactivity, logOut, loginRoute, router, startRouteTransition, t])\n\n useEffect(() => {\n if (isLoggedIn) {\n void handleLogOut()\n } else if (!navigatingToLoginRef.current) {\n navigatingToLoginRef.current = true\n startRouteTransition(() => router.push(loginRoute))\n }\n }, [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition])\n\n if (!isLoggedIn && inactivity) {\n return (\n <div className={`${baseClass}__wrap`}>\n <h2>{t('authentication:loggedOutInactivity')}</h2>\n <Button buttonStyle=\"secondary\" el=\"link\" size=\"large\" url={loginRoute}>\n {t('authentication:logBackIn')}\n </Button>\n </div>\n )\n }\n\n return <LoadingOverlay animationDuration={'0ms'} loadingText={t('authentication:loggingOut')} />\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SACEC,MAAM,EACNC,cAAc,EACdC,KAAK,EACLC,OAAO,EACPC,kBAAkB,EAClBC,cAAc,QACT;AACP,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAIjC,MAAMC,SAAA,GAAY;AAElB;;;;;;;;;;AAUA,OAAO,MAAMC,YAAA,GAIRC,KAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EACH;IAAAe,UAAA;IAAAC,UAAA;IAAAC;EAAA,IAA6CJ,KAAA;EAE7C;IAAAK,MAAA;IAAAC;EAAA,IAAyBf,OAAA;EAEzB;IAAAgB;EAAA,IAAiCf,kBAAA;EAI7Bc,IAAA,EAAAE,EAAA;EAFJ,MAAAC,UAAA,GACSC,OAAA,CAAQJ,IAAA,EAAAE,EAAM;EAGvB,MAAAG,oBAAA,GAA6Bf,KAAA,CAAAgB,MAAA,MAAa;EAAA,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAG,QAAA;IAENS,EAAA,GAAAA,CAAA,KAClClB,cAAA;MAAAO,UAAA;MAAAY,IAAA,EAEQ,SACJX,UAAA,IAAcC,QAAA,IAAYA,QAAA,CAAAW,MAAA,IAAkB,GACxC,aAAaC,kBAAA,CAAmBZ,QAAA,GAAW,GAC3C;IACJ,CACJ;IAAAH,CAAA,MAAAC,UAAA;IAAAD,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EARF,OAAAgB,UAAA,IAAqBrB,KAAA,CAAAsB,QAAA,CAAeL,EAQlC;EAGF;IAAAM;EAAA,IAAc1B,cAAA;EACd,MAAA2B,MAAA,GAAe1B,SAAA;EAAA,IAAA2B,EAAA;EAAA,IAAApB,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAI,MAAA,IAAAJ,CAAA,QAAAgB,UAAA,IAAAhB,CAAA,QAAAmB,MAAA,IAAAnB,CAAA,QAAAM,oBAAA,IAAAN,CAAA,QAAAkB,CAAA;IAEwBE,EAAA,SAAAA,CAAA;MAAA,IACjC,CAAClB,UAAA,KAAeQ,oBAAA,CAAAW,OAA4B;QAC9CX,oBAAA,CAAAW,OAAA;QAAA,MACMjB,MAAA;QACNf,KAAA,CAAAiC,OAAA,CAAcJ,CAAA,CAAE;QAChBZ,oBAAA,OAA2Ba,MAAA,CAAAI,IAAA,CAAYP,UAAA;QAAA;MAAA;IAAA;IAG3ChB,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAI,MAAA;IAAAJ,CAAA,MAAAgB,UAAA;IAAAhB,CAAA,MAAAmB,MAAA;IAAAnB,CAAA,MAAAM,oBAAA;IAAAN,CAAA,MAAAkB,CAAA;IAAAlB,CAAA,OAAAoB,EAAA;EAAA;IAAAA,EAAA,GAAApB,CAAA;EAAA;EARA,MAAAwB,YAAA,GAAqBJ,EAQ+C;EAAA,IAAAK,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA1B,CAAA,SAAAwB,YAAA,IAAAxB,CAAA,SAAAQ,UAAA,IAAAR,CAAA,SAAAgB,UAAA,IAAAhB,CAAA,SAAAmB,MAAA,IAAAnB,CAAA,SAAAM,oBAAA;IAE1DmB,EAAA,GAAAA,CAAA;MAAA,IACJjB,UAAA;QACGgB,YAAA;MAAA;QAAA,KACKd,oBAAA,CAAAW,OAAA;UACVX,oBAAA,CAAAW,OAAA;UACAf,oBAAA,OAA2Ba,MAAA,CAAAI,IAAA,CAAYP,UAAA;QAAA;MAAA;IAAA;IAExCU,EAAA,IAACF,YAAA,EAAchB,UAAA,EAAYQ,UAAA,EAAYG,MAAA,EAAQb,oBAAA;IAAqBN,CAAA,OAAAwB,YAAA;IAAAxB,CAAA,OAAAQ,UAAA;IAAAR,CAAA,OAAAgB,UAAA;IAAAhB,CAAA,OAAAmB,MAAA;IAAAnB,CAAA,OAAAM,oBAAA;IAAAN,CAAA,OAAAyB,EAAA;IAAAzB,CAAA,OAAA0B,EAAA;EAAA;IAAAD,EAAA,GAAAzB,CAAA;IAAA0B,EAAA,GAAA1B,CAAA;EAAA;EAPvEJ,SAAA,CAAU6B,EAOV,EAAGC,EAAoE;EAAA,IAEnE,CAAClB,UAAA,IAAcN,UAAA;IAAA,IAAAyB,EAAA;IAAA,IAAA3B,CAAA,SAAAgB,UAAA,IAAAhB,CAAA,SAAAkB,CAAA;MAEfS,EAAA,GAAAC,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAhC,SAAA,QAAoB;QAAAiC,QAAA,GAClCC,IAAA,CAAC;UAAAD,QAAA,EAAIZ,CAAA,CAAE;QAAA,C,GACPa,IAAA,CAAA5C,MAAA;UAAA6C,WAAA,EAAoB;UAAAC,EAAA,EAAe;UAAAC,IAAA,EAAY;UAAAC,GAAA,EAAanB,UAAA;UAAAc,QAAA,EACzDZ,CAAA,CAAE;QAAA,C;;;;;;;;WAHPS,E;;;;IASGA,EAAA,GAAAI,IAAA,CAAA3C,cAAA;MAAAgD,iBAAA,EAAmC;MAAAC,WAAA,EAAoBnB,CAAA,CAAE;IAAA,C;;;;;;SAAzDS,E;CACT","ignoreList":[]}