@payloadcms/next 3.55.0-canary.4 → 3.55.0-internal.f8c92b5
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.
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +19 -41
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/Nav/index.client.js +28 -48
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +7 -2
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +29 -31
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +12 -28
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +17 -27
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +21 -31
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +23 -33
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +21 -30
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +16 -50
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +8 -12
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +14 -23
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +27 -53
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- 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(
|
|
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] !==
|
|
53
|
-
|
|
54
|
-
|
|
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:
|
|
57
|
+
className: [baseClass, isActive && `${baseClass}--active`].filter(Boolean).join(" "),
|
|
82
58
|
disabled: isActive,
|
|
83
|
-
el:
|
|
59
|
+
el: !isActive || href !== pathname ? "link" : "div",
|
|
84
60
|
margin: false,
|
|
85
61
|
newTab,
|
|
86
62
|
size: "medium",
|
|
87
|
-
to:
|
|
63
|
+
to: !isActive || href !== pathname ? hrefWithLocale : undefined,
|
|
88
64
|
children
|
|
89
65
|
});
|
|
90
|
-
$[
|
|
91
|
-
$[
|
|
92
|
-
$[
|
|
93
|
-
$[
|
|
94
|
-
$[
|
|
95
|
-
$[
|
|
96
|
-
$[
|
|
97
|
-
$[
|
|
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
|
-
|
|
77
|
+
t3 = $[12];
|
|
100
78
|
}
|
|
101
|
-
return
|
|
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","
|
|
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(
|
|
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
|
-
|
|
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
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
} =
|
|
52
|
+
} = t7;
|
|
74
53
|
return _jsx(NavGroup, {
|
|
75
54
|
isOpen: navPreferences?.groups?.[label]?.open,
|
|
76
55
|
label,
|
|
77
|
-
children: entities.map((
|
|
56
|
+
children: entities.map((t8, i) => {
|
|
78
57
|
const {
|
|
79
58
|
slug,
|
|
80
59
|
type,
|
|
81
60
|
label: label_0
|
|
82
|
-
} =
|
|
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
|
-
$[
|
|
126
|
-
$[
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
129
|
-
$[
|
|
104
|
+
$[8] = adminRoute;
|
|
105
|
+
$[9] = i18n;
|
|
106
|
+
$[10] = navPreferences?.groups;
|
|
107
|
+
$[11] = pathname;
|
|
108
|
+
$[12] = t6;
|
|
130
109
|
} else {
|
|
131
|
-
|
|
110
|
+
t6 = $[12];
|
|
132
111
|
}
|
|
133
|
-
|
|
134
|
-
children: [
|
|
112
|
+
t5 = _jsxs(Fragment, {
|
|
113
|
+
children: [folders && folders.browseByFolder && _jsx(BrowseByFolderButton, {
|
|
114
|
+
active: viewingRootFolderView
|
|
115
|
+
}), groups.map(t6)]
|
|
135
116
|
});
|
|
136
|
-
$[
|
|
137
|
-
$[
|
|
138
|
-
$[
|
|
139
|
-
$[
|
|
140
|
-
$[
|
|
141
|
-
$[
|
|
142
|
-
$[
|
|
143
|
-
$[
|
|
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
|
-
|
|
126
|
+
t5 = $[7];
|
|
147
127
|
}
|
|
148
|
-
return
|
|
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","
|
|
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":"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","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,
|
|
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,qBAiCnC,CAAA"}
|
|
@@ -7,7 +7,7 @@ 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
|
|
10
|
+
const baseServerFunctions = {
|
|
11
11
|
'copy-data-from-locale': copyDataFromLocaleHandler,
|
|
12
12
|
'form-state': buildFormStateHandler,
|
|
13
13
|
'get-folder-results-component-and-data': getFolderResultsComponentAndDataHandler,
|
|
@@ -22,7 +22,8 @@ export const handleServerFunctions = async args => {
|
|
|
22
22
|
name: fnKey,
|
|
23
23
|
args: fnArgs,
|
|
24
24
|
config: configPromise,
|
|
25
|
-
importMap
|
|
25
|
+
importMap,
|
|
26
|
+
serverFunctions: extraServerFunctions
|
|
26
27
|
} = args;
|
|
27
28
|
const {
|
|
28
29
|
req
|
|
@@ -36,6 +37,10 @@ export const handleServerFunctions = async args => {
|
|
|
36
37
|
importMap,
|
|
37
38
|
req
|
|
38
39
|
};
|
|
40
|
+
const serverFunctions = {
|
|
41
|
+
...baseServerFunctions,
|
|
42
|
+
...(extraServerFunctions || {})
|
|
43
|
+
};
|
|
39
44
|
const fn = serverFunctions[fnKey];
|
|
40
45
|
if (!fn) {
|
|
41
46
|
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","
|
|
1
|
+
{"version":3,"file":"handleServerFunctions.js","names":["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 { 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-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,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,mBAAA,GAAgE;EACpE,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;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":[]}
|
|
@@ -32,31 +32,29 @@ export const LogoutClient = props => {
|
|
|
32
32
|
startRouteTransition
|
|
33
33
|
} = useRouteTransition();
|
|
34
34
|
user?.id;
|
|
35
|
-
|
|
36
|
-
t0 = Boolean(user?.id);
|
|
37
|
-
const isLoggedIn = t0;
|
|
35
|
+
const isLoggedIn = Boolean(user?.id);
|
|
38
36
|
const navigatingToLoginRef = React.useRef(false);
|
|
39
|
-
let
|
|
37
|
+
let t0;
|
|
40
38
|
if ($[0] !== adminRoute || $[1] !== inactivity || $[2] !== redirect) {
|
|
41
|
-
|
|
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] =
|
|
46
|
+
$[3] = t0;
|
|
49
47
|
} else {
|
|
50
|
-
|
|
48
|
+
t0 = $[3];
|
|
51
49
|
}
|
|
52
|
-
const [loginRoute] = React.useState(
|
|
50
|
+
const [loginRoute] = React.useState(t0);
|
|
53
51
|
const {
|
|
54
52
|
t
|
|
55
53
|
} = useTranslation();
|
|
56
54
|
const router = useRouter();
|
|
57
|
-
let
|
|
55
|
+
let t1;
|
|
58
56
|
if ($[4] !== inactivity || $[5] !== logOut || $[6] !== loginRoute || $[7] !== router || $[8] !== startRouteTransition || $[9] !== t) {
|
|
59
|
-
|
|
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] =
|
|
72
|
+
$[10] = t1;
|
|
75
73
|
} else {
|
|
76
|
-
|
|
74
|
+
t1 = $[10];
|
|
77
75
|
}
|
|
78
|
-
const handleLogOut =
|
|
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
|
-
|
|
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
|
-
|
|
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] =
|
|
99
|
-
$[17] =
|
|
96
|
+
$[16] = t2;
|
|
97
|
+
$[17] = t3;
|
|
100
98
|
} else {
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
t2 = $[16];
|
|
100
|
+
t3 = $[17];
|
|
103
101
|
}
|
|
104
|
-
useEffect(
|
|
102
|
+
useEffect(t2, t3);
|
|
105
103
|
if (!isLoggedIn && inactivity) {
|
|
106
|
-
let
|
|
104
|
+
let t4;
|
|
107
105
|
if ($[18] !== loginRoute || $[19] !== t) {
|
|
108
|
-
|
|
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] =
|
|
120
|
+
$[20] = t4;
|
|
123
121
|
} else {
|
|
124
|
-
|
|
122
|
+
t4 = $[20];
|
|
125
123
|
}
|
|
126
|
-
return
|
|
124
|
+
return t4;
|
|
127
125
|
}
|
|
128
|
-
let
|
|
126
|
+
let t4;
|
|
129
127
|
if ($[21] !== t) {
|
|
130
|
-
|
|
128
|
+
t4 = _jsx(LoadingOverlay, {
|
|
131
129
|
animationDuration: "0ms",
|
|
132
130
|
loadingText: t("authentication:loggingOut")
|
|
133
131
|
});
|
|
134
132
|
$[21] = t;
|
|
135
|
-
$[22] =
|
|
133
|
+
$[22] = t4;
|
|
136
134
|
} else {
|
|
137
|
-
|
|
135
|
+
t4 = $[22];
|
|
138
136
|
}
|
|
139
|
-
return
|
|
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","
|
|
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":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import React, { useState } from 'react';
|
|
|
8
8
|
import { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js';
|
|
9
9
|
const baseClass = 'diff-collapser';
|
|
10
10
|
export const DiffCollapser = t0 => {
|
|
11
|
-
const $ = _c(
|
|
11
|
+
const $ = _c(19);
|
|
12
12
|
const {
|
|
13
13
|
children,
|
|
14
14
|
field,
|
|
@@ -39,24 +39,8 @@ export const DiffCollapser = t0 => {
|
|
|
39
39
|
if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {
|
|
40
40
|
throw new Error("DiffCollapser: field must be an array or blocks field when isIterable is true");
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
t5 = valueFrom ?? [];
|
|
45
|
-
$[14] = valueFrom;
|
|
46
|
-
$[15] = t5;
|
|
47
|
-
} else {
|
|
48
|
-
t5 = $[15];
|
|
49
|
-
}
|
|
50
|
-
const comparisonRows = t5;
|
|
51
|
-
let t6;
|
|
52
|
-
if ($[16] !== valueTo) {
|
|
53
|
-
t6 = valueTo ?? [];
|
|
54
|
-
$[16] = valueTo;
|
|
55
|
-
$[17] = t6;
|
|
56
|
-
} else {
|
|
57
|
-
t6 = $[17];
|
|
58
|
-
}
|
|
59
|
-
const versionRows = t6;
|
|
42
|
+
const comparisonRows = valueFrom ?? [];
|
|
43
|
+
const versionRows = valueTo ?? [];
|
|
60
44
|
if (!Array.isArray(comparisonRows) || !Array.isArray(versionRows)) {
|
|
61
45
|
throw new Error("DiffCollapser: comparison and version must be arrays when isIterable is true");
|
|
62
46
|
}
|
|
@@ -81,22 +65,22 @@ export const DiffCollapser = t0 => {
|
|
|
81
65
|
const t5 = isCollapsed && `${baseClass}__content--is-collapsed`;
|
|
82
66
|
const t6 = hideGutter && `${baseClass}__content--hide-gutter`;
|
|
83
67
|
let t7;
|
|
84
|
-
if ($[
|
|
68
|
+
if ($[14] !== t5 || $[15] !== t6) {
|
|
85
69
|
t7 = [`${baseClass}__content`, t5, t6].filter(Boolean);
|
|
86
|
-
$[
|
|
87
|
-
$[
|
|
88
|
-
$[
|
|
70
|
+
$[14] = t5;
|
|
71
|
+
$[15] = t6;
|
|
72
|
+
$[16] = t7;
|
|
89
73
|
} else {
|
|
90
|
-
t7 = $[
|
|
74
|
+
t7 = $[16];
|
|
91
75
|
}
|
|
92
76
|
const contentClassNames = t7.join(" ");
|
|
93
77
|
let t8;
|
|
94
|
-
if ($[
|
|
78
|
+
if ($[17] !== isCollapsed) {
|
|
95
79
|
t8 = () => setIsCollapsed(!isCollapsed);
|
|
96
|
-
$[
|
|
97
|
-
$[
|
|
80
|
+
$[17] = isCollapsed;
|
|
81
|
+
$[18] = t8;
|
|
98
82
|
} else {
|
|
99
|
-
t8 = $[
|
|
83
|
+
t8 = $[18];
|
|
100
84
|
}
|
|
101
85
|
t4 = _jsxs("div", {
|
|
102
86
|
className: baseClass,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","ChevronIcon","FieldDiffLabel","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useState","countChangedFields","countChangedFieldsInRows","baseClass","DiffCollapser","t0","$","children","field","fields","hideGutter","t1","initCollapsed","t2","isIterable","t3","Label","locales","parentIsLocalized","valueFrom","valueTo","undefined","t","isCollapsed","setIsCollapsed","config","t4","changeCount","Error","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","ChevronIcon","FieldDiffLabel","useConfig","useTranslation","fieldIsArrayType","fieldIsBlockType","React","useState","countChangedFields","countChangedFieldsInRows","baseClass","DiffCollapser","t0","$","children","field","fields","hideGutter","t1","initCollapsed","t2","isIterable","t3","Label","locales","parentIsLocalized","valueFrom","valueTo","undefined","t","isCollapsed","setIsCollapsed","config","t4","changeCount","Error","comparisonRows","versionRows","Array","isArray","version","t5","t6","t7","filter","Boolean","contentClassNames","join","t8","_jsxs","className","onClick","type","_jsx","direction","size","count"],"sources":["../../../../../src/views/Version/RenderFieldsToDiff/DiffCollapser/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField } from 'payload'\n\nimport { ChevronIcon, FieldDiffLabel, useConfig, useTranslation } from '@payloadcms/ui'\nimport { fieldIsArrayType, fieldIsBlockType } from 'payload/shared'\nimport React, { useState } from 'react'\n\nimport './index.scss'\nimport { countChangedFields, countChangedFieldsInRows } from '../utilities/countChangedFields.js'\n\nconst baseClass = 'diff-collapser'\n\ntype Props = {\n hideGutter?: boolean\n initCollapsed?: boolean\n Label: React.ReactNode\n locales: string[] | undefined\n parentIsLocalized: boolean\n valueTo: unknown\n} & (\n | {\n // fields collapser\n children: React.ReactNode\n field?: never\n fields: ClientField[]\n isIterable?: false\n valueFrom: unknown\n }\n | {\n // iterable collapser\n children: React.ReactNode\n field: ClientField\n fields?: never\n isIterable: true\n valueFrom?: unknown\n }\n)\n\nexport const DiffCollapser: React.FC<Props> = ({\n children,\n field,\n fields,\n hideGutter = false,\n initCollapsed = false,\n isIterable = false,\n Label,\n locales,\n parentIsLocalized,\n valueFrom,\n valueTo,\n}) => {\n const { t } = useTranslation()\n const [isCollapsed, setIsCollapsed] = useState(initCollapsed)\n const { config } = useConfig()\n\n let changeCount = 0\n\n if (isIterable) {\n if (!fieldIsArrayType(field) && !fieldIsBlockType(field)) {\n throw new Error(\n 'DiffCollapser: field must be an array or blocks field when isIterable is true',\n )\n }\n const comparisonRows = valueFrom ?? []\n const versionRows = valueTo ?? []\n\n if (!Array.isArray(comparisonRows) || !Array.isArray(versionRows)) {\n throw new Error(\n 'DiffCollapser: comparison and version must be arrays when isIterable is true',\n )\n }\n\n changeCount = countChangedFieldsInRows({\n comparisonRows,\n config,\n field,\n locales,\n parentIsLocalized,\n versionRows,\n })\n } else {\n changeCount = countChangedFields({\n comparison: valueFrom,\n config,\n fields,\n locales,\n parentIsLocalized,\n version: valueTo,\n })\n }\n\n const contentClassNames = [\n `${baseClass}__content`,\n isCollapsed && `${baseClass}__content--is-collapsed`,\n hideGutter && `${baseClass}__content--hide-gutter`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={baseClass}>\n <FieldDiffLabel>\n <button\n aria-label={isCollapsed ? 'Expand' : 'Collapse'}\n className={`${baseClass}__toggle-button`}\n onClick={() => setIsCollapsed(!isCollapsed)}\n type=\"button\"\n >\n <div className={`${baseClass}__label`}>{Label}</div>\n\n <ChevronIcon direction={isCollapsed ? 'right' : 'down'} size={'small'} />\n </button>\n {changeCount > 0 && isCollapsed && (\n <span className={`${baseClass}__field-change-count`}>\n {t('version:changedFieldsCount', { count: changeCount })}\n </span>\n )}\n </FieldDiffLabel>\n <div className={contentClassNames}>{children}</div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|