@payloadcms/next 3.56.0-internal.72f4fd2 → 3.56.0
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 +41 -19
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/Nav/index.client.js +48 -28
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/layouts/Root/index.js +1 -1
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +3 -9
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +1 -0
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Document/getIsLocked.d.ts.map +1 -1
- package/dist/views/Document/getIsLocked.js +18 -3
- package/dist/views/Document/getIsLocked.js.map +1 -1
- package/dist/views/List/transformColumnsToSelect.d.ts.map +1 -1
- package/dist/views/List/transformColumnsToSelect.js +10 -6
- package/dist/views/List/transformColumnsToSelect.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +31 -29
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +4 -5
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +34 -18
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +8 -2
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +27 -17
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +4 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +5 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +48 -33
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +30 -21
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts +6 -6
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +35 -35
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +88 -88
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +3 -3
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +6 -6
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +28 -16
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +50 -16
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +12 -8
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +23 -14
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +53 -27
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/package.json +9 -9
- package/dist/views/Root/SyncClientConfig.d.ts +0 -11
- package/dist/views/Root/SyncClientConfig.d.ts.map +0 -1
- package/dist/views/Root/SyncClientConfig.js +0 -38
- package/dist/views/Root/SyncClientConfig.js.map +0 -1
|
@@ -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;
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { 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,13 +7,12 @@ 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 serverFunctions = {
|
|
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,
|
|
17
16
|
'render-list': renderListHandler,
|
|
18
17
|
'schedule-publish': schedulePublishHandler,
|
|
19
18
|
'table-state': buildTableStateHandler
|
|
@@ -23,8 +22,7 @@ export const handleServerFunctions = async args => {
|
|
|
23
22
|
name: fnKey,
|
|
24
23
|
args: fnArgs,
|
|
25
24
|
config: configPromise,
|
|
26
|
-
importMap
|
|
27
|
-
serverFunctions: extraServerFunctions
|
|
25
|
+
importMap
|
|
28
26
|
} = args;
|
|
29
27
|
const {
|
|
30
28
|
req
|
|
@@ -38,10 +36,6 @@ export const handleServerFunctions = async args => {
|
|
|
38
36
|
importMap,
|
|
39
37
|
req
|
|
40
38
|
};
|
|
41
|
-
const serverFunctions = {
|
|
42
|
-
...baseServerFunctions,
|
|
43
|
-
...(extraServerFunctions || {})
|
|
44
|
-
};
|
|
45
39
|
const fn = serverFunctions[fnKey];
|
|
46
40
|
if (!fn) {
|
|
47
41
|
throw new Error(`Unknown Server Function: ${fnKey}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleServerFunctions.js","names":["
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAErB,wBAAsB,mBAAmB,CAAC,EAAE,cAAc,EAAE,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/CreateFirstUser/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAErB,wBAAsB,mBAAmB,CAAC,EAAE,cAAc,EAAE,EAAE,oBAAoB,8BA8EjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["buildFormState","React","getDocPreferences","getDocumentData","CreateFirstUserClient","CreateFirstUserView","initPageResult","locale","req","payload","collections","config","admin","user","userSlug","collectionConfig","auth","authOptions","loginWithUsername","data","collectionSlug","slug","docPreferences","baseFields","Object","fromEntries","fields","filter","f","name","map","create","read","update","docPermissionsForForm","delete","readVersions","state","formState","docPermissions","code","operation","renderAllFields","schemaPath","skipValidation","_jsxs","className","_jsx","t","initialState"],"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n SanitizedDocumentPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport React from 'react'\n\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport async function CreateFirstUserView({ initPageResult }: AdminViewServerProps) {\n const {\n locale,\n req,\n req: {\n payload: {\n collections,\n config: {\n admin: { user: userSlug },\n },\n },\n },\n } = initPageResult\n\n const collectionConfig = collections?.[userSlug]?.config\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n // Fetch the data required for the view\n const data = await getDocumentData({\n collectionSlug: collectionConfig.slug,\n locale,\n payload: req.payload,\n req,\n user: req.user,\n })\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n collectionSlug: collectionConfig.slug,\n payload: req.payload,\n user: req.user,\n })\n\n const baseFields: SanitizedFieldsPermissions = Object.fromEntries(\n collectionConfig.fields\n .filter((f): f is { name: string } & typeof f => 'name' in f && typeof f.name === 'string')\n .map((f) => [f.name, { create: true, read: true, update: true }]),\n )\n\n // In create-first-user we should always allow all fields\n const docPermissionsForForm: SanitizedDocumentPermissions = {\n create: true,\n delete: true,\n fields: baseFields,\n read: true,\n readVersions: true,\n update: true,\n }\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions: docPermissionsForForm,\n docPreferences,\n locale: locale?.code,\n operation: 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n skipValidation: true,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n docPermissions={docPermissionsForForm}\n docPreferences={docPreferences}\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"mappings":";AAMA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,qBAAqB,QAAQ;AAGtC,OAAO,eAAeC,oBAAoB;EAAEC;AAAc,CAAwB;EAChF,MAAM;IACJC,MAAM;IACNC,GAAG;IACHA,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,WAAW;QACXC,MAAA,EAAQ;UACNC,KAAA,EAAO;YAAEC,IAAA,EAAMC;UAAQ;QAAE;MAC1B;IACF;EACF,CACF,GAAGR,cAAA;EAEJ,MAAMS,gBAAA,GAAmBL,WAAA,GAAcI,QAAA,CAAS,EAAEH,MAAA;EAClD,MAAM;IAAEK,IAAA,EAAMC;EAAW,CAAE,GAAGF,gBAAA;EAC9B,MAAMG,iBAAA,GAAoBD,WAAA,CAAYC,iBAAiB;EAEvD;EACA,MAAMC,IAAA,GAAO,MAAMhB,eAAA,CAAgB;IACjCiB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCd,MAAA;IACAE,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBD,GAAA;IACAK,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA;EACA,MAAMS,cAAA,GAAiB,MAAMpB,iBAAA,CAAkB;IAC7CkB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCZ,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBI,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA,MAAMU,UAAA,GAAyCC,MAAA,CAAOC,WAAW,CAC/DV,gBAAA,CAAiBW,MAAM,CACpBC,MAAM,CAAEC,CAAA,IAAwC,UAAUA,CAAA,IAAK,OAAOA,CAAA,CAAEC,IAAI,KAAK,UACjFC,GAAG,CAAEF,CAAA,IAAM,CAACA,CAAA,CAAEC,IAAI,EAAE;IAAEE,MAAA,EAAQ;IAAMC,IAAA,EAAM;IAAMC,MAAA,EAAQ;EAAK,EAAE;EAGpE;EACA,MAAMC,qBAAA,GAAsD;IAC1DH,MAAA,EAAQ;IACRI,MAAA,EAAQ;IACRT,MAAA,EAAQH,UAAA;IACRS,IAAA,EAAM;IACNI,YAAA,EAAc;IACdH,MAAA,EAAQ;EACV;EAEA;EACA,MAAM;IAAEI,KAAA,EAAOC;EAAS,CAAE,GAAG,MAAMtC,cAAA,CAAe;IAChDoB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCF,IAAA;IACAoB,cAAA,EAAgBL,qBAAA;IAChBZ,cAAA;IACAf,MAAA,EAAQA,MAAA,EAAQiC,IAAA;IAChBC,SAAA,EAAW;IACXC,eAAA,EAAiB;IACjBlC,GAAA;IACAmC,UAAA,EAAY5B,gBAAA,CAAiBM,IAAI;IACjCuB,cAAA,EAAgB;EAClB;EAEA,oBACEC,KAAA,CAAC;IAAIC,SAAA,EAAU;4BACbC,IAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","names":["buildFormState","React","getDocPreferences","getDocumentData","CreateFirstUserClient","CreateFirstUserView","initPageResult","locale","req","payload","collections","config","admin","user","userSlug","collectionConfig","auth","authOptions","loginWithUsername","data","collectionSlug","slug","docPreferences","baseFields","Object","fromEntries","fields","filter","f","name","map","create","read","update","docPermissionsForForm","delete","readVersions","state","formState","docPermissions","code","operation","renderAllFields","schemaPath","skipClientConfigAuth","skipValidation","_jsxs","className","_jsx","t","initialState"],"sources":["../../../src/views/CreateFirstUser/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n SanitizedDocumentPermissions,\n SanitizedFieldsPermissions,\n} from 'payload'\n\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport React from 'react'\n\nimport { getDocPreferences } from '../Document/getDocPreferences.js'\nimport { getDocumentData } from '../Document/getDocumentData.js'\nimport { CreateFirstUserClient } from './index.client.js'\nimport './index.scss'\n\nexport async function CreateFirstUserView({ initPageResult }: AdminViewServerProps) {\n const {\n locale,\n req,\n req: {\n payload: {\n collections,\n config: {\n admin: { user: userSlug },\n },\n },\n },\n } = initPageResult\n\n const collectionConfig = collections?.[userSlug]?.config\n const { auth: authOptions } = collectionConfig\n const loginWithUsername = authOptions.loginWithUsername\n\n // Fetch the data required for the view\n const data = await getDocumentData({\n collectionSlug: collectionConfig.slug,\n locale,\n payload: req.payload,\n req,\n user: req.user,\n })\n\n // Get document preferences\n const docPreferences = await getDocPreferences({\n collectionSlug: collectionConfig.slug,\n payload: req.payload,\n user: req.user,\n })\n\n const baseFields: SanitizedFieldsPermissions = Object.fromEntries(\n collectionConfig.fields\n .filter((f): f is { name: string } & typeof f => 'name' in f && typeof f.name === 'string')\n .map((f) => [f.name, { create: true, read: true, update: true }]),\n )\n\n // In create-first-user we should always allow all fields\n const docPermissionsForForm: SanitizedDocumentPermissions = {\n create: true,\n delete: true,\n fields: baseFields,\n read: true,\n readVersions: true,\n update: true,\n }\n\n // Build initial form state from data\n const { state: formState } = await buildFormState({\n collectionSlug: collectionConfig.slug,\n data,\n docPermissions: docPermissionsForForm,\n docPreferences,\n locale: locale?.code,\n operation: 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionConfig.slug,\n skipClientConfigAuth: true,\n skipValidation: true,\n })\n\n return (\n <div className=\"create-first-user\">\n <h1>{req.t('general:welcome')}</h1>\n <p>{req.t('authentication:beginCreateFirstUser')}</p>\n <CreateFirstUserClient\n docPermissions={docPermissionsForForm}\n docPreferences={docPreferences}\n initialState={formState}\n loginWithUsername={loginWithUsername}\n userSlug={userSlug}\n />\n </div>\n )\n}\n"],"mappings":";AAMA,SAASA,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,qBAAqB,QAAQ;AAGtC,OAAO,eAAeC,oBAAoB;EAAEC;AAAc,CAAwB;EAChF,MAAM;IACJC,MAAM;IACNC,GAAG;IACHA,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,WAAW;QACXC,MAAA,EAAQ;UACNC,KAAA,EAAO;YAAEC,IAAA,EAAMC;UAAQ;QAAE;MAC1B;IACF;EACF,CACF,GAAGR,cAAA;EAEJ,MAAMS,gBAAA,GAAmBL,WAAA,GAAcI,QAAA,CAAS,EAAEH,MAAA;EAClD,MAAM;IAAEK,IAAA,EAAMC;EAAW,CAAE,GAAGF,gBAAA;EAC9B,MAAMG,iBAAA,GAAoBD,WAAA,CAAYC,iBAAiB;EAEvD;EACA,MAAMC,IAAA,GAAO,MAAMhB,eAAA,CAAgB;IACjCiB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCd,MAAA;IACAE,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBD,GAAA;IACAK,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA;EACA,MAAMS,cAAA,GAAiB,MAAMpB,iBAAA,CAAkB;IAC7CkB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCZ,OAAA,EAASD,GAAA,CAAIC,OAAO;IACpBI,IAAA,EAAML,GAAA,CAAIK;EACZ;EAEA,MAAMU,UAAA,GAAyCC,MAAA,CAAOC,WAAW,CAC/DV,gBAAA,CAAiBW,MAAM,CACpBC,MAAM,CAAEC,CAAA,IAAwC,UAAUA,CAAA,IAAK,OAAOA,CAAA,CAAEC,IAAI,KAAK,UACjFC,GAAG,CAAEF,CAAA,IAAM,CAACA,CAAA,CAAEC,IAAI,EAAE;IAAEE,MAAA,EAAQ;IAAMC,IAAA,EAAM;IAAMC,MAAA,EAAQ;EAAK,EAAE;EAGpE;EACA,MAAMC,qBAAA,GAAsD;IAC1DH,MAAA,EAAQ;IACRI,MAAA,EAAQ;IACRT,MAAA,EAAQH,UAAA;IACRS,IAAA,EAAM;IACNI,YAAA,EAAc;IACdH,MAAA,EAAQ;EACV;EAEA;EACA,MAAM;IAAEI,KAAA,EAAOC;EAAS,CAAE,GAAG,MAAMtC,cAAA,CAAe;IAChDoB,cAAA,EAAgBL,gBAAA,CAAiBM,IAAI;IACrCF,IAAA;IACAoB,cAAA,EAAgBL,qBAAA;IAChBZ,cAAA;IACAf,MAAA,EAAQA,MAAA,EAAQiC,IAAA;IAChBC,SAAA,EAAW;IACXC,eAAA,EAAiB;IACjBlC,GAAA;IACAmC,UAAA,EAAY5B,gBAAA,CAAiBM,IAAI;IACjCuB,oBAAA,EAAsB;IACtBC,cAAA,EAAgB;EAClB;EAEA,oBACEC,KAAA,CAAC;IAAIC,SAAA,EAAU;4BACbC,IAAA,CAAC;gBAAIxC,GAAA,CAAIyC,CAAC,CAAC;qBACXD,IAAA,CAAC;gBAAGxC,GAAA,CAAIyC,CAAC,CAAC;qBACVD,IAAA,CAAC5C,qBAAA;MACCmC,cAAA,EAAgBL,qBAAA;MAChBZ,cAAA,EAAgBA,cAAA;MAChB4B,YAAA,EAAcZ,SAAA;MACdpB,iBAAA,EAAmBA,iBAAA;MACnBJ,QAAA,EAAUA;;;AAIlB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIsLocked.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getIsLocked.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EAEV,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAC,CAAA;AAEF,eAAO,MAAM,WAAW,4DAMrB,IAAI,KAAG,
|
|
1
|
+
{"version":3,"file":"getIsLocked.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getIsLocked.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EAEV,MAAM,SAAS,CAAA;AAIhB,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,GAAG,EAAE,cAAc,CAAA;CACpB,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAC,CAAA;AAEF,eAAO,MAAM,WAAW,4DAMrB,IAAI,KAAG,MAgFT,CAAA"}
|
|
@@ -14,10 +14,21 @@ export const getIsLocked = async ({
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
const where = {};
|
|
17
|
+
const lockDurationDefault = 300 // Default 5 minutes in seconds
|
|
18
|
+
;
|
|
19
|
+
const lockDuration = typeof entityConfig.lockDocuments === 'object' ? entityConfig.lockDocuments.duration : lockDurationDefault;
|
|
20
|
+
const lockDurationInMilliseconds = lockDuration * 1000;
|
|
21
|
+
const now = new Date().getTime();
|
|
17
22
|
if (globalConfig) {
|
|
18
|
-
where.
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
where.and = [{
|
|
24
|
+
globalSlug: {
|
|
25
|
+
equals: globalConfig.slug
|
|
26
|
+
}
|
|
27
|
+
}, {
|
|
28
|
+
updatedAt: {
|
|
29
|
+
greater_than: new Date(now - lockDurationInMilliseconds)
|
|
30
|
+
}
|
|
31
|
+
}];
|
|
21
32
|
} else {
|
|
22
33
|
where.and = [{
|
|
23
34
|
'document.value': {
|
|
@@ -27,6 +38,10 @@ export const getIsLocked = async ({
|
|
|
27
38
|
'document.relationTo': {
|
|
28
39
|
equals: collectionConfig.slug
|
|
29
40
|
}
|
|
41
|
+
}, {
|
|
42
|
+
updatedAt: {
|
|
43
|
+
greater_than: new Date(now - lockDurationInMilliseconds)
|
|
44
|
+
}
|
|
30
45
|
}];
|
|
31
46
|
}
|
|
32
47
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIsLocked.js","names":["sanitizeID","getIsLocked","id","collectionConfig","globalConfig","isEditing","req","entityConfig","entityHasLockingEnabled","lockDocuments","undefined","isLocked","where","globalSlug","equals","slug","
|
|
1
|
+
{"version":3,"file":"getIsLocked.js","names":["sanitizeID","getIsLocked","id","collectionConfig","globalConfig","isEditing","req","entityConfig","entityHasLockingEnabled","lockDocuments","undefined","isLocked","where","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","and","globalSlug","equals","slug","updatedAt","greater_than","docs","payload","find","collection","depth","overrideAccess","length","newEditor","user","value","lastUpdateTime","currentEditor"],"sources":["../../../src/views/Document/getIsLocked.ts"],"sourcesContent":["import type {\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypedUser,\n Where,\n} from 'payload'\n\nimport { sanitizeID } from '@payloadcms/ui/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n isEditing: boolean\n req: PayloadRequest\n}\n\ntype Result = Promise<{\n currentEditor?: TypedUser\n isLocked: boolean\n lastUpdateTime?: number\n}>\n\nexport const getIsLocked = async ({\n id,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n}: Args): Result => {\n const entityConfig = collectionConfig || globalConfig\n\n const entityHasLockingEnabled =\n entityConfig?.lockDocuments !== undefined ? entityConfig?.lockDocuments : true\n\n if (!entityHasLockingEnabled || !isEditing) {\n return {\n isLocked: false,\n }\n }\n\n const where: Where = {}\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof entityConfig.lockDocuments === 'object'\n ? entityConfig.lockDocuments.duration\n : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const now = new Date().getTime()\n\n if (globalConfig) {\n where.and = [\n {\n globalSlug: {\n equals: globalConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n } else {\n where.and = [\n {\n 'document.value': {\n equals: sanitizeID(id),\n },\n },\n {\n 'document.relationTo': {\n equals: collectionConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n }\n\n const { docs } = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n req,\n where,\n })\n\n if (docs.length > 0) {\n const newEditor = docs[0].user?.value\n const lastUpdateTime = new Date(docs[0].updatedAt).getTime()\n\n if (newEditor?.id !== req.user.id) {\n return {\n currentEditor: newEditor,\n isLocked: true,\n lastUpdateTime,\n }\n }\n }\n\n return {\n isLocked: false,\n }\n}\n"],"mappings":"AAQA,SAASA,UAAU,QAAQ;AAgB3B,OAAO,MAAMC,WAAA,GAAc,MAAAA,CAAO;EAChCC,EAAE;EACFC,gBAAgB;EAChBC,YAAY;EACZC,SAAS;EACTC;AAAG,CACE;EACL,MAAMC,YAAA,GAAeJ,gBAAA,IAAoBC,YAAA;EAEzC,MAAMI,uBAAA,GACJD,YAAA,EAAcE,aAAA,KAAkBC,SAAA,GAAYH,YAAA,EAAcE,aAAA,GAAgB;EAE5E,IAAI,CAACD,uBAAA,IAA2B,CAACH,SAAA,EAAW;IAC1C,OAAO;MACLM,QAAA,EAAU;IACZ;EACF;EAEA,MAAMC,KAAA,GAAe,CAAC;EAEtB,MAAMC,mBAAA,GAAsB,IAAI;EAAA;EAChC,MAAMC,YAAA,GACJ,OAAOP,YAAA,CAAaE,aAAa,KAAK,WAClCF,YAAA,CAAaE,aAAa,CAACM,QAAQ,GACnCF,mBAAA;EACN,MAAMG,0BAAA,GAA6BF,YAAA,GAAe;EAElD,MAAMG,GAAA,GAAM,IAAIC,IAAA,GAAOC,OAAO;EAE9B,IAAIf,YAAA,EAAc;IAChBQ,KAAA,CAAMQ,GAAG,GAAG,CACV;MACEC,UAAA,EAAY;QACVC,MAAA,EAAQlB,YAAA,CAAamB;MACvB;IACF,GACA;MACEC,SAAA,EAAW;QACTC,YAAA,EAAc,IAAIP,IAAA,CAAKD,GAAA,GAAMD,0BAAA;MAC/B;IACF,EACD;EACH,OAAO;IACLJ,KAAA,CAAMQ,GAAG,GAAG,CACV;MACE,kBAAkB;QAChBE,MAAA,EAAQtB,UAAA,CAAWE,EAAA;MACrB;IACF,GACA;MACE,uBAAuB;QACrBoB,MAAA,EAAQnB,gBAAA,CAAiBoB;MAC3B;IACF,GACA;MACEC,SAAA,EAAW;QACTC,YAAA,EAAc,IAAIP,IAAA,CAAKD,GAAA,GAAMD,0BAAA;MAC/B;IACF,EACD;EACH;EAEA,MAAM;IAAEU;EAAI,CAAE,GAAG,MAAMpB,GAAA,CAAIqB,OAAO,CAACC,IAAI,CAAC;IACtCC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,cAAA,EAAgB;IAChBzB,GAAA;IACAM;EACF;EAEA,IAAIc,IAAA,CAAKM,MAAM,GAAG,GAAG;IACnB,MAAMC,SAAA,GAAYP,IAAI,CAAC,EAAE,CAACQ,IAAI,EAAEC,KAAA;IAChC,MAAMC,cAAA,GAAiB,IAAIlB,IAAA,CAAKQ,IAAI,CAAC,EAAE,CAACF,SAAS,EAAEL,OAAO;IAE1D,IAAIc,SAAA,EAAW/B,EAAA,KAAOI,GAAA,CAAI4B,IAAI,CAAChC,EAAE,EAAE;MACjC,OAAO;QACLmC,aAAA,EAAeJ,SAAA;QACftB,QAAA,EAAU;QACVyB;MACF;IACF;EACF;EAEA,OAAO;IACLzB,QAAA,EAAU;EACZ;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformColumnsToSelect.d.ts","sourceRoot":"","sources":["../../../src/views/List/transformColumnsToSelect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"transformColumnsToSelect.d.ts","sourceRoot":"","sources":["../../../src/views/List/transformColumnsToSelect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAI3D,eAAO,MAAM,wBAAwB,YAAa,gBAAgB,EAAE,KAAG,UAStE,CAAA"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
1
|
+
import { unflatten } from 'payload/shared';
|
|
2
|
+
export const transformColumnsToSelect = columns => {
|
|
3
|
+
const columnsSelect = columns.reduce((acc, column) => {
|
|
4
|
+
if (column.active) {
|
|
5
|
+
acc[column.accessor] = true;
|
|
6
|
+
}
|
|
7
|
+
return acc;
|
|
8
|
+
}, {});
|
|
9
|
+
return unflatten(columnsSelect);
|
|
10
|
+
};
|
|
7
11
|
//# sourceMappingURL=transformColumnsToSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformColumnsToSelect.js","names":["transformColumnsToSelect","columns","reduce","acc","column","active","accessor"],"sources":["../../../src/views/List/transformColumnsToSelect.ts"],"sourcesContent":["import type { ColumnPreference, SelectType } from 'payload'\n\nexport const transformColumnsToSelect = (columns: ColumnPreference[]): SelectType
|
|
1
|
+
{"version":3,"file":"transformColumnsToSelect.js","names":["unflatten","transformColumnsToSelect","columns","columnsSelect","reduce","acc","column","active","accessor"],"sources":["../../../src/views/List/transformColumnsToSelect.ts"],"sourcesContent":["import type { ColumnPreference, SelectType } from 'payload'\n\nimport { unflatten } from 'payload/shared'\n\nexport const transformColumnsToSelect = (columns: ColumnPreference[]): SelectType => {\n const columnsSelect = columns.reduce((acc, column) => {\n if (column.active) {\n acc[column.accessor] = true\n }\n return acc\n }, {} as SelectType)\n\n return unflatten(columnsSelect)\n}\n"],"mappings":"AAEA,SAASA,SAAS,QAAQ;AAE1B,OAAO,MAAMC,wBAAA,GAA4BC,OAAA;EACvC,MAAMC,aAAA,GAAgBD,OAAA,CAAQE,MAAM,CAAC,CAACC,GAAA,EAAKC,MAAA;IACzC,IAAIA,MAAA,CAAOC,MAAM,EAAE;MACjBF,GAAG,CAACC,MAAA,CAAOE,QAAQ,CAAC,GAAG;IACzB;IACA,OAAOH,GAAA;EACT,GAAG,CAAC;EAEJ,OAAOL,SAAA,CAAUG,aAAA;AACnB","ignoreList":[]}
|
|
@@ -32,29 +32,31 @@ export const LogoutClient = props => {
|
|
|
32
32
|
startRouteTransition
|
|
33
33
|
} = useRouteTransition();
|
|
34
34
|
user?.id;
|
|
35
|
-
const isLoggedIn = Boolean(user?.id);
|
|
36
|
-
const navigatingToLoginRef = React.useRef(false);
|
|
37
35
|
let t0;
|
|
36
|
+
t0 = Boolean(user?.id);
|
|
37
|
+
const isLoggedIn = t0;
|
|
38
|
+
const navigatingToLoginRef = React.useRef(false);
|
|
39
|
+
let t1;
|
|
38
40
|
if ($[0] !== adminRoute || $[1] !== inactivity || $[2] !== redirect) {
|
|
39
|
-
|
|
41
|
+
t1 = () => formatAdminURL({
|
|
40
42
|
adminRoute,
|
|
41
43
|
path: `/login${inactivity && redirect && redirect.length > 0 ? `?redirect=${encodeURIComponent(redirect)}` : ""}`
|
|
42
44
|
});
|
|
43
45
|
$[0] = adminRoute;
|
|
44
46
|
$[1] = inactivity;
|
|
45
47
|
$[2] = redirect;
|
|
46
|
-
$[3] =
|
|
48
|
+
$[3] = t1;
|
|
47
49
|
} else {
|
|
48
|
-
|
|
50
|
+
t1 = $[3];
|
|
49
51
|
}
|
|
50
|
-
const [loginRoute] = React.useState(
|
|
52
|
+
const [loginRoute] = React.useState(t1);
|
|
51
53
|
const {
|
|
52
54
|
t
|
|
53
55
|
} = useTranslation();
|
|
54
56
|
const router = useRouter();
|
|
55
|
-
let
|
|
57
|
+
let t2;
|
|
56
58
|
if ($[4] !== inactivity || $[5] !== logOut || $[6] !== loginRoute || $[7] !== router || $[8] !== startRouteTransition || $[9] !== t) {
|
|
57
|
-
|
|
59
|
+
t2 = async () => {
|
|
58
60
|
if (!inactivity && !navigatingToLoginRef.current) {
|
|
59
61
|
navigatingToLoginRef.current = true;
|
|
60
62
|
await logOut();
|
|
@@ -69,15 +71,15 @@ export const LogoutClient = props => {
|
|
|
69
71
|
$[7] = router;
|
|
70
72
|
$[8] = startRouteTransition;
|
|
71
73
|
$[9] = t;
|
|
72
|
-
$[10] =
|
|
74
|
+
$[10] = t2;
|
|
73
75
|
} else {
|
|
74
|
-
|
|
76
|
+
t2 = $[10];
|
|
75
77
|
}
|
|
76
|
-
const handleLogOut =
|
|
77
|
-
let t2;
|
|
78
|
+
const handleLogOut = t2;
|
|
78
79
|
let t3;
|
|
80
|
+
let t4;
|
|
79
81
|
if ($[11] !== handleLogOut || $[12] !== isLoggedIn || $[13] !== loginRoute || $[14] !== router || $[15] !== startRouteTransition) {
|
|
80
|
-
|
|
82
|
+
t3 = () => {
|
|
81
83
|
if (isLoggedIn) {
|
|
82
84
|
handleLogOut();
|
|
83
85
|
} else {
|
|
@@ -87,23 +89,23 @@ export const LogoutClient = props => {
|
|
|
87
89
|
}
|
|
88
90
|
}
|
|
89
91
|
};
|
|
90
|
-
|
|
92
|
+
t4 = [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition];
|
|
91
93
|
$[11] = handleLogOut;
|
|
92
94
|
$[12] = isLoggedIn;
|
|
93
95
|
$[13] = loginRoute;
|
|
94
96
|
$[14] = router;
|
|
95
97
|
$[15] = startRouteTransition;
|
|
96
|
-
$[16] =
|
|
97
|
-
$[17] =
|
|
98
|
+
$[16] = t3;
|
|
99
|
+
$[17] = t4;
|
|
98
100
|
} else {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
+
t3 = $[16];
|
|
102
|
+
t4 = $[17];
|
|
101
103
|
}
|
|
102
|
-
useEffect(
|
|
104
|
+
useEffect(t3, t4);
|
|
103
105
|
if (!isLoggedIn && inactivity) {
|
|
104
|
-
let
|
|
106
|
+
let t5;
|
|
105
107
|
if ($[18] !== loginRoute || $[19] !== t) {
|
|
106
|
-
|
|
108
|
+
t5 = _jsxs("div", {
|
|
107
109
|
className: `${baseClass}__wrap`,
|
|
108
110
|
children: [_jsx("h2", {
|
|
109
111
|
children: t("authentication:loggedOutInactivity")
|
|
@@ -117,23 +119,23 @@ export const LogoutClient = props => {
|
|
|
117
119
|
});
|
|
118
120
|
$[18] = loginRoute;
|
|
119
121
|
$[19] = t;
|
|
120
|
-
$[20] =
|
|
122
|
+
$[20] = t5;
|
|
121
123
|
} else {
|
|
122
|
-
|
|
124
|
+
t5 = $[20];
|
|
123
125
|
}
|
|
124
|
-
return
|
|
126
|
+
return t5;
|
|
125
127
|
}
|
|
126
|
-
let
|
|
128
|
+
let t5;
|
|
127
129
|
if ($[21] !== t) {
|
|
128
|
-
|
|
130
|
+
t5 = _jsx(LoadingOverlay, {
|
|
129
131
|
animationDuration: "0ms",
|
|
130
132
|
loadingText: t("authentication:loggingOut")
|
|
131
133
|
});
|
|
132
134
|
$[21] = t;
|
|
133
|
-
$[22] =
|
|
135
|
+
$[22] = t5;
|
|
134
136
|
} else {
|
|
135
|
-
|
|
137
|
+
t5 = $[22];
|
|
136
138
|
}
|
|
137
|
-
return
|
|
139
|
+
return t5;
|
|
138
140
|
};
|
|
139
141
|
//# 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","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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAIV,SAAS,EAET,eAAe,EAEhB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAIV,SAAS,EAET,eAAe,EAEhB,MAAM,SAAS,CAAA;AAQhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BA2RA,CAAA"}
|
package/dist/views/Root/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { PageConfigProvider } from '@payloadcms/ui';
|
|
2
3
|
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
3
4
|
import { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig';
|
|
4
5
|
import { notFound, redirect } from 'next/navigation.js';
|
|
@@ -15,7 +16,6 @@ import { isCustomAdminView } from '../../utilities/isCustomAdminView.js';
|
|
|
15
16
|
import { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js';
|
|
16
17
|
import { getCustomViewByRoute } from './getCustomViewByRoute.js';
|
|
17
18
|
import { getRouteData } from './getRouteData.js';
|
|
18
|
-
import { SyncClientConfig } from './SyncClientConfig.js';
|
|
19
19
|
export const RootPage = async ({
|
|
20
20
|
config: configPromise,
|
|
21
21
|
importMap,
|
|
@@ -250,10 +250,9 @@ export const RootPage = async ({
|
|
|
250
250
|
viewActions
|
|
251
251
|
}
|
|
252
252
|
});
|
|
253
|
-
return /*#__PURE__*/_jsxs(
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
}), !templateType && /*#__PURE__*/_jsx(React.Fragment, {
|
|
253
|
+
return /*#__PURE__*/_jsxs(PageConfigProvider, {
|
|
254
|
+
config: clientConfig,
|
|
255
|
+
children: [!templateType && /*#__PURE__*/_jsx(React.Fragment, {
|
|
257
256
|
children: RenderedView
|
|
258
257
|
}), templateType === 'minimal' && /*#__PURE__*/_jsx(MinimalTemplate, {
|
|
259
258
|
className: templateClassName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["RenderServerComponent","getClientConfig","notFound","redirect","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","getVisibleEntities","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","SyncClientConfig","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","createFirstUserRoute","usersCollection","disableLocalStrategy","auth","clientConfig","i18n","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","_jsxs","Fragment","_jsx","className","collectionSlug","globalSlug"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\nimport { SyncClientConfig } from './SyncClientConfig.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <React.Fragment>\n <SyncClientConfig clientConfig={clientConfig} />\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["PageConfigProvider","RenderServerComponent","getClientConfig","notFound","redirect","formatAdminURL","qs","React","DefaultTemplate","MinimalTemplate","getPreferences","getVisibleEntities","handleAuthRedirect","initReq","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","isCollectionRoute","isGlobalRoute","collectionConfig","undefined","globalConfig","length","viewKey","collections","find","slug","globals","queryString","stringify","addQueryPrefix","cookies","locale","permissions","req","payload","key","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","collectionPreferences","folders","id","then","res","value","browseByFolderSlugs","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","createFirstUserRoute","usersCollection","disableLocalStrategy","auth","clientConfig","i18n","visibleEntities","folderID","RenderedView","clientProps","Fallback","serverProps","docID","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","includes","push","label","translations","general","thisLanguage","_jsxs","_jsx","Fragment","className","collectionSlug","globalSlug"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\nimport type {\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n ImportMap,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { PageConfigProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { initReq } from '../../utilities/initReq.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n const isCollectionRoute = segments[0] === 'collections'\n const isGlobalRoute = segments[0] === 'globals'\n let collectionConfig: SanitizedCollectionConfig = undefined\n let globalConfig: SanitizedGlobalConfig = undefined\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (isCollectionRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n collectionConfig = config.collections.find(({ slug }) => slug === segments[1])\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (isGlobalRoute) {\n if (segments.length === 1) {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n if (segments[1]) {\n globalConfig = config.globals.find(({ slug }) => slug === segments[1])\n }\n }\n\n if ((isCollectionRoute && !collectionConfig) || (isGlobalRoute && !globalConfig)) {\n return notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n const {\n cookies,\n locale,\n permissions,\n req,\n req: { payload },\n } = await initReq({\n configPromise: config,\n importMap,\n key: 'initPage',\n overrides: {\n fallbackLocale: false,\n req: {\n query: qs.parse(queryString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n },\n urlSuffix: `${currentRoute}${searchParams ? queryString : ''}`,\n },\n })\n\n if (\n !permissions.canAccessAdmin &&\n !isPublicAdminRoute({ adminRoute, config: payload.config, route: currentRoute }) &&\n !isCustomAdminView({ adminRoute, config: payload.config, route: currentRoute })\n ) {\n redirect(\n handleAuthRedirect({\n config: payload.config,\n route: currentRoute,\n searchParams,\n user: req.user,\n }),\n )\n }\n\n let collectionPreferences: CollectionPreferences = undefined\n\n if (collectionConfig && segments.length === 2) {\n if (config.folders && collectionConfig.folders && segments[1] !== config.folders.slug) {\n await getPreferences<CollectionPreferences>(\n `collection-${collectionConfig.slug}`,\n req.payload,\n req.user.id,\n config.admin.user,\n ).then((res) => {\n if (res && res.value) {\n collectionPreferences = res.value\n }\n })\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n collectionConfig,\n collectionPreferences,\n currentRoute,\n globalConfig,\n payload,\n searchParams,\n segments,\n })\n\n req.routeParams = routeParams\n\n const dbHasUser =\n req.user ||\n (await req.payload.db\n .findOne({\n collection: userSlug,\n req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: req.i18n,\n importMap,\n user: viewType === 'createFirstUser' ? true : req.user,\n })\n\n const visibleEntities = getVisibleEntities({ req })\n\n const folderID = routeParams.folderID\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n clientConfig,\n collectionConfig,\n docID: routeParams.id,\n folderID,\n globalConfig,\n i18n: req.i18n,\n importMap,\n initPageResult: {\n collectionConfig,\n cookies,\n docID: routeParams.id,\n globalConfig,\n languageOptions: Object.entries(req.payload.config.i18n.supportedLanguages || {}).reduce(\n (acc, [language, languageConfig]) => {\n if (Object.keys(req.payload.config.i18n.supportedLanguages).includes(language)) {\n acc.push({\n label: languageConfig.translations.general.thisLanguage,\n value: language,\n })\n }\n\n return acc\n },\n [],\n ),\n locale,\n permissions,\n req,\n translations: req.i18n.translations,\n visibleEntities,\n },\n params,\n payload: req.payload,\n searchParams,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={collectionConfig?.slug}\n docID={routeParams.id}\n documentSubViewType={documentSubViewType}\n globalSlug={globalConfig?.slug}\n i18n={req.i18n}\n locale={locale}\n params={params}\n payload={req.payload}\n permissions={permissions}\n req={req}\n searchParams={searchParams}\n user={req.user}\n viewActions={viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: visibleEntities?.collections,\n globals: visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"mappings":";AAYA,SAASA,kBAAkB,QAAQ;AACnC,SAASC,qBAAqB,QAAQ;AACtC,SAASC,eAAe,QAAQ;AAChC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,MAAW;AAElB,SAASC,eAAe,QAAQ;AAChC,SAASC,eAAe,QAAQ;AAChC,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,YAAY,QAAQ;AAS7B,OAAO,MAAMC,QAAA,GAAW,MAAAA,CAAO;EAC7BC,MAAA,EAAQC,aAAa;EACrBC,SAAS;EACTC,MAAA,EAAQC,aAAa;EACrBC,YAAA,EAAcC;AAAmB,CAUlC;EACC,MAAMN,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAM;IACJM,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,eAAA,EAAiBC;MAAqB,CAAE;MAClDC,IAAA,EAAMC;IAAQ,CACf;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGb,MAAA;EAEJ,MAAMG,MAAA,GAAS,MAAMC,aAAA;EAErB,MAAMU,YAAA,GAAe5B,cAAA,CAAe;IAClC2B,UAAA;IACAE,IAAA,EAAMC,KAAA,CAAMC,OAAO,CAACd,MAAA,CAAOe,QAAQ,IAAI,IAAIf,MAAA,CAAOe,QAAQ,CAACC,IAAI,CAAC,MAAM,GAAG;EAC3E;EAEA,MAAMD,QAAA,GAAWF,KAAA,CAAMC,OAAO,CAACd,MAAA,CAAOe,QAAQ,IAAIf,MAAA,CAAOe,QAAQ,GAAG,EAAE;EACtE,MAAME,iBAAA,GAAoBF,QAAQ,CAAC,EAAE,KAAK;EAC1C,MAAMG,aAAA,GAAgBH,QAAQ,CAAC,EAAE,KAAK;EACtC,IAAII,gBAAA,GAA8CC,SAAA;EAClD,IAAIC,YAAA,GAAsCD,SAAA;EAE1C,MAAMlB,YAAA,GAAe,MAAMC,mBAAA;EAE3B;EACA,IAAIc,iBAAA,EAAmB;IACrB,IAAIF,QAAA,CAASO,MAAM,KAAK,GAAG;MACzB,MAAM;QAAEC;MAAO,CAAE,GAAG7B,oBAAA,CAAqB;QACvCG,MAAA;QACAc,YAAA,EAAc;MAChB;MAEA;MACA,IAAI,CAACY,OAAA,EAAS;QACZzC,QAAA,CAAS4B,UAAA;MACX;IACF;IAEA,IAAIK,QAAQ,CAAC,EAAE,EAAE;MACfI,gBAAA,GAAmBtB,MAAA,CAAO2B,WAAW,CAACC,IAAI,CAAC,CAAC;QAAEC;MAAI,CAAE,KAAKA,IAAA,KAASX,QAAQ,CAAC,EAAE;IAC/E;EACF;EAEA;EACA,IAAIG,aAAA,EAAe;IACjB,IAAIH,QAAA,CAASO,MAAM,KAAK,GAAG;MACzB,MAAM;QAAEC;MAAO,CAAE,GAAG7B,oBAAA,CAAqB;QACvCG,MAAA;QACAc,YAAA,EAAc;MAChB;MAEA;MACA,IAAI,CAACY,OAAA,EAAS;QACZzC,QAAA,CAAS4B,UAAA;MACX;IACF;IAEA,IAAIK,QAAQ,CAAC,EAAE,EAAE;MACfM,YAAA,GAAexB,MAAA,CAAO8B,OAAO,CAACF,IAAI,CAAC,CAAC;QAAEC;MAAI,CAAE,KAAKA,IAAA,KAASX,QAAQ,CAAC,EAAE;IACvE;EACF;EAEA,IAAIE,iBAAC,IAAqB,CAACE,gBAAA,IAAsBD,aAAA,IAAiB,CAACG,YAAA,EAAe;IAChF,OAAOxC,QAAA;EACT;EAEA,MAAM+C,WAAA,GAAc,GAAG5C,EAAA,CAAG6C,SAAS,CAAC3B,YAAA,IAAgB,CAAC,GAAG;IAAE4B,cAAA,EAAgB;EAAK,IAAI;EACnF,MAAM;IACJC,OAAO;IACPC,MAAM;IACNC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MAAEC;IAAO;EAAE,CACjB,GAAG,MAAM5C,OAAA,CAAQ;IAChBO,aAAA,EAAeD,MAAA;IACfE,SAAA;IACAqC,GAAA,EAAK;IACLC,SAAA,EAAW;MACTC,cAAA,EAAgB;MAChBJ,GAAA,EAAK;QACHK,KAAA,EAAOvD,EAAA,CAAGwD,KAAK,CAACZ,WAAA,EAAa;UAC3Ba,KAAA,EAAO;UACPC,iBAAA,EAAmB;QACrB;MACF;MACAC,SAAA,EAAW,GAAGhC,YAAA,GAAeT,YAAA,GAAe0B,WAAA,GAAc;IAC5D;EACF;EAEA,IACE,CAACK,WAAA,CAAYW,cAAc,IAC3B,CAACnD,kBAAA,CAAmB;IAAEiB,UAAA;IAAYb,MAAA,EAAQsC,OAAA,CAAQtC,MAAM;IAAEgD,KAAA,EAAOlC;EAAa,MAC9E,CAACnB,iBAAA,CAAkB;IAAEkB,UAAA;IAAYb,MAAA,EAAQsC,OAAA,CAAQtC,MAAM;IAAEgD,KAAA,EAAOlC;EAAa,IAC7E;IACA7B,QAAA,CACEQ,kBAAA,CAAmB;MACjBO,MAAA,EAAQsC,OAAA,CAAQtC,MAAM;MACtBgD,KAAA,EAAOlC,YAAA;MACPT,YAAA;MACAM,IAAA,EAAM0B,GAAA,CAAI1B;IACZ;EAEJ;EAEA,IAAIsC,qBAAA,GAA+C1B,SAAA;EAEnD,IAAID,gBAAA,IAAoBJ,QAAA,CAASO,MAAM,KAAK,GAAG;IAC7C,IAAIzB,MAAA,CAAOkD,OAAO,IAAI5B,gBAAA,CAAiB4B,OAAO,IAAIhC,QAAQ,CAAC,EAAE,KAAKlB,MAAA,CAAOkD,OAAO,CAACrB,IAAI,EAAE;MACrF,MAAMtC,cAAA,CACJ,cAAc+B,gBAAA,CAAiBO,IAAI,EAAE,EACrCQ,GAAA,CAAIC,OAAO,EACXD,GAAA,CAAI1B,IAAI,CAACwC,EAAE,EACXnD,MAAA,CAAOO,KAAK,CAACI,IAAI,EACjByC,IAAI,CAAEC,GAAA;QACN,IAAIA,GAAA,IAAOA,GAAA,CAAIC,KAAK,EAAE;UACpBL,qBAAA,GAAwBI,GAAA,CAAIC,KAAK;QACnC;MACF;IACF;EACF;EAEA,MAAM;IACJC,mBAAmB;IACnBC,WAAW;IACXC,mBAAmB;IACnBC,WAAW;IACXC,iBAAiB;IACjBC,YAAY;IACZC,WAAW;IACXC;EAAQ,CACT,GAAGhE,YAAA,CAAa;IACfe,UAAA;IACAS,gBAAA;IACA2B,qBAAA;IACAnC,YAAA;IACAU,YAAA;IACAc,OAAA;IACAjC,YAAA;IACAa;EACF;EAEAmB,GAAA,CAAIqB,WAAW,GAAGA,WAAA;EAElB,MAAMK,SAAA,GACJ1B,GAAA,CAAI1B,IAAI,KACP,MAAM0B,GAAA,CAAIC,OAAO,CAAC0B,EAAE,CAClBC,OAAO,CAAC;IACPC,UAAA,EAAYtD,QAAA;IACZyB;EACF,IACEe,IAAA,CAAMe,GAAA,IAAQ,CAAC,CAACA,GAAA;EAEtB;;;;EAIA,IAAI,CAACX,WAAA,EAAaY,SAAA,IAAa,CAACZ,WAAA,EAAaa,gBAAA,EAAkB;IAC7D,IAAIhC,GAAA,EAAK1B,IAAA,EAAM;MACb3B,QAAA;IACF;IAEA,IAAI+E,SAAA,EAAW;MACb9E,QAAA,CAAS4B,UAAA;IACX;EACF;EAEA,MAAMyD,oBAAA,GAAuBpF,cAAA,CAAe;IAAE2B,UAAA;IAAYE,IAAA,EAAML;EAAsB;EAEtF,MAAM6D,eAAA,GAAkBvE,MAAA,CAAO2B,WAAW,CAACC,IAAI,CAAC,CAAC;IAAEC;EAAI,CAAE,KAAKA,IAAA,KAASjB,QAAA;EACvE,MAAM4D,oBAAA,GAAuBD,eAAA,EAAiBE,IAAA,EAAMD,oBAAA;EAEpD,IAAIA,oBAAA,IAAwB1D,YAAA,KAAiBwD,oBAAA,EAAsB;IACjErF,QAAA,CAAS4B,UAAA;EACX;EAEA,IAAI,CAACkD,SAAA,IAAajD,YAAA,KAAiBwD,oBAAA,IAAwB,CAACE,oBAAA,EAAsB;IAChFvF,QAAA,CAASqF,oBAAA;EACX;EAEA,IAAIP,SAAA,IAAajD,YAAA,KAAiBwD,oBAAA,EAAsB;IACtDrF,QAAA,CAAS4B,UAAA;EACX;EAEA,IAAI,CAAC2C,WAAA,EAAaY,SAAA,IAAa,CAACZ,WAAA,EAAaa,gBAAA,IAAoB,CAACN,SAAA,EAAW;IAC3E9E,QAAA,CAAS4B,UAAA;EACX;EAEA,MAAM6D,YAAA,GAAe3F,eAAA,CAAgB;IACnCiB,MAAA;IACA2E,IAAA,EAAMtC,GAAA,CAAIsC,IAAI;IACdzE,SAAA;IACAS,IAAA,EAAMmD,QAAA,KAAa,oBAAoB,OAAOzB,GAAA,CAAI1B;EACpD;EAEA,MAAMiE,eAAA,GAAkBpF,kBAAA,CAAmB;IAAE6C;EAAI;EAEjD,MAAMwC,QAAA,GAAWnB,WAAA,CAAYmB,QAAQ;EAErC,MAAMC,YAAA,GAAehG,qBAAA,CAAsB;IACzCiG,WAAA,EAAa;MACXxB,mBAAA;MACAmB,YAAA;MACAjB,mBAAA;MACAK;IACF;IACAM,SAAA,EAAWZ,WAAA,CAAYa,gBAAgB;IACvCW,QAAA,EAAUxB,WAAA,CAAYY,SAAS;IAC/BlE,SAAA;IACA+E,WAAA,EAAa;MACXP,YAAA;MACApD,gBAAA;MACA4D,KAAA,EAAOxB,WAAA,CAAYP,EAAE;MACrB0B,QAAA;MACArD,YAAA;MACAmD,IAAA,EAAMtC,GAAA,CAAIsC,IAAI;MACdzE,SAAA;MACAiF,cAAA,EAAgB;QACd7D,gBAAA;QACAY,OAAA;QACAgD,KAAA,EAAOxB,WAAA,CAAYP,EAAE;QACrB3B,YAAA;QACA4D,eAAA,EAAiBC,MAAA,CAAOC,OAAO,CAACjD,GAAA,CAAIC,OAAO,CAACtC,MAAM,CAAC2E,IAAI,CAACY,kBAAkB,IAAI,CAAC,GAAGC,MAAM,CACtF,CAACC,GAAA,EAAK,CAACC,QAAA,EAAUC,cAAA,CAAe;UAC9B,IAAIN,MAAA,CAAOO,IAAI,CAACvD,GAAA,CAAIC,OAAO,CAACtC,MAAM,CAAC2E,IAAI,CAACY,kBAAkB,EAAEM,QAAQ,CAACH,QAAA,GAAW;YAC9ED,GAAA,CAAIK,IAAI,CAAC;cACPC,KAAA,EAAOJ,cAAA,CAAeK,YAAY,CAACC,OAAO,CAACC,YAAY;cACvD5C,KAAA,EAAOoC;YACT;UACF;UAEA,OAAOD,GAAA;QACT,GACA,EAAE;QAEJtD,MAAA;QACAC,WAAA;QACAC,GAAA;QACA2D,YAAA,EAAc3D,GAAA,CAAIsC,IAAI,CAACqB,YAAY;QACnCpB;MACF;MACAzE,MAAA;MACAmC,OAAA,EAASD,GAAA,CAAIC,OAAO;MACpBjC,YAAA;MACAwD;IACF;EACF;EAEA,oBACEsC,KAAA,CAACtH,kBAAA;IAAmBmB,MAAA,EAAQ0E,YAAA;eACzB,CAACd,YAAA,iBAAgBwC,IAAA,CAAChH,KAAA,CAAMiH,QAAQ;gBAAEvB;QAClClB,YAAA,KAAiB,0BAChBwC,IAAA,CAAC9G,eAAA;MAAgBgH,SAAA,EAAW3C,iBAAA;gBAAoBmB;QAEjDlB,YAAA,KAAiB,0BAChBwC,IAAA,CAAC/G,eAAA;MACCkH,cAAA,EAAgBjF,gBAAA,EAAkBO,IAAA;MAClCqD,KAAA,EAAOxB,WAAA,CAAYP,EAAE;MACrBM,mBAAA,EAAqBA,mBAAA;MACrB+C,UAAA,EAAYhF,YAAA,EAAcK,IAAA;MAC1B8C,IAAA,EAAMtC,GAAA,CAAIsC,IAAI;MACdxC,MAAA,EAAQA,MAAA;MACRhC,MAAA,EAAQA,MAAA;MACRmC,OAAA,EAASD,GAAA,CAAIC,OAAO;MACpBF,WAAA,EAAaA,WAAA;MACbC,GAAA,EAAKA,GAAA;MACLhC,YAAA,EAAcA,YAAA;MACdM,IAAA,EAAM0B,GAAA,CAAI1B,IAAI;MACdkD,WAAA,EAAaA,WAAA;MACbC,QAAA,EAAUA,QAAA;MACVc,eAAA,EAAiB;QACf;QACA;QACAjD,WAAA,EAAaiD,eAAA,EAAiBjD,WAAA;QAC9BG,OAAA,EAAS8C,eAAA,EAAiB9C;MAC5B;gBAECgD;;;AAKX","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(23);
|
|
12
12
|
const {
|
|
13
13
|
children,
|
|
14
14
|
field,
|
|
@@ -39,48 +39,64 @@ 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
|
-
|
|
45
|
-
|
|
42
|
+
let t5;
|
|
43
|
+
if ($[14] !== valueFrom) {
|
|
44
|
+
t5 = valueFrom ?? [];
|
|
45
|
+
$[14] = valueFrom;
|
|
46
|
+
$[15] = t5;
|
|
47
|
+
} else {
|
|
48
|
+
t5 = $[15];
|
|
49
|
+
}
|
|
50
|
+
const valueFromRows = 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 valueToRows = t6;
|
|
60
|
+
if (!Array.isArray(valueFromRows) || !Array.isArray(valueToRows)) {
|
|
61
|
+
throw new Error("DiffCollapser: valueFrom and valueTro must be arrays when isIterable is true");
|
|
46
62
|
}
|
|
47
63
|
changeCount = countChangedFieldsInRows({
|
|
48
|
-
comparisonRows,
|
|
49
64
|
config,
|
|
50
65
|
field,
|
|
51
66
|
locales,
|
|
52
67
|
parentIsLocalized,
|
|
53
|
-
|
|
68
|
+
valueFromRows,
|
|
69
|
+
valueToRows
|
|
54
70
|
});
|
|
55
71
|
} else {
|
|
56
72
|
changeCount = countChangedFields({
|
|
57
|
-
comparison: valueFrom,
|
|
58
73
|
config,
|
|
59
74
|
fields,
|
|
60
75
|
locales,
|
|
61
76
|
parentIsLocalized,
|
|
62
|
-
|
|
77
|
+
valueFrom,
|
|
78
|
+
valueTo
|
|
63
79
|
});
|
|
64
80
|
}
|
|
65
81
|
const t5 = isCollapsed && `${baseClass}__content--is-collapsed`;
|
|
66
82
|
const t6 = hideGutter && `${baseClass}__content--hide-gutter`;
|
|
67
83
|
let t7;
|
|
68
|
-
if ($[
|
|
84
|
+
if ($[18] !== t5 || $[19] !== t6) {
|
|
69
85
|
t7 = [`${baseClass}__content`, t5, t6].filter(Boolean);
|
|
70
|
-
$[
|
|
71
|
-
$[
|
|
72
|
-
$[
|
|
86
|
+
$[18] = t5;
|
|
87
|
+
$[19] = t6;
|
|
88
|
+
$[20] = t7;
|
|
73
89
|
} else {
|
|
74
|
-
t7 = $[
|
|
90
|
+
t7 = $[20];
|
|
75
91
|
}
|
|
76
92
|
const contentClassNames = t7.join(" ");
|
|
77
93
|
let t8;
|
|
78
|
-
if ($[
|
|
94
|
+
if ($[21] !== isCollapsed) {
|
|
79
95
|
t8 = () => setIsCollapsed(!isCollapsed);
|
|
80
|
-
$[
|
|
81
|
-
$[
|
|
96
|
+
$[21] = isCollapsed;
|
|
97
|
+
$[22] = t8;
|
|
82
98
|
} else {
|
|
83
|
-
t8 = $[
|
|
99
|
+
t8 = $[22];
|
|
84
100
|
}
|
|
85
101
|
t4 = _jsxs("div", {
|
|
86
102
|
className: baseClass,
|