@payloadcms/ui 3.49.0 → 3.49.1
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/AddNewRelation/index.d.ts.map +1 -1
- package/dist/elements/AddNewRelation/index.js +1 -1
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.d.ts +1 -1
- package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.d.ts +19 -0
- package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +28 -9
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +25 -12
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +3 -3
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +19 -70
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +10 -0
- package/dist/elements/RelationshipTable/index.d.ts +1 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +61 -40
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +2 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +4 -1
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/exports/client/index.js +12 -12
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +8 -8
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/{elements/AddNewRelation → hooks}/useRelatedCollections.d.ts +3 -0
- package/dist/hooks/useRelatedCollections.d.ts.map +1 -0
- package/dist/{elements/AddNewRelation → hooks}/useRelatedCollections.js +4 -1
- package/dist/hooks/useRelatedCollections.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.js +2 -2
- package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
- package/dist/utilities/hasOptionLabelJSXElement.js +2 -2
- package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
- package/dist/utilities/isValidReactElement.d.ts +7 -0
- package/dist/utilities/isValidReactElement.d.ts.map +1 -0
- package/dist/utilities/isValidReactElement.js +10 -0
- package/dist/utilities/isValidReactElement.js.map +1 -0
- package/dist/utilities/renderTable.d.ts +1 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +11 -11
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +0 -4
- package/dist/views/List/index.js.map +1 -1
- package/package.json +6 -6
- package/dist/elements/AddNewRelation/useRelatedCollections.d.ts.map +0 -1
- package/dist/elements/AddNewRelation/useRelatedCollections.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDisplayedFieldValue.d.ts","sourceRoot":"","sources":["../../src/utilities/getDisplayedFieldValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"getDisplayedFieldValue.d.ts","sourceRoot":"","sources":["../../src/utilities/getDisplayedFieldValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAM1C;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,aAAc,GAAG,SAAS,WAAW,QAAQ,UAAU,QAgBzF,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getTranslation } from '@payloadcms/translations';
|
|
2
|
-
import
|
|
2
|
+
import { isValidReactElement } from './isValidReactElement.js';
|
|
3
3
|
/**
|
|
4
4
|
* Returns the appropriate display value for a field.
|
|
5
5
|
* - For select and radio fields:
|
|
@@ -14,7 +14,7 @@ export const getDisplayedFieldValue = (cellData, field, i18n) => {
|
|
|
14
14
|
const selectedOption = field.options.find(opt => typeof opt === 'object' ? opt.value === cellData : opt === cellData);
|
|
15
15
|
if (selectedOption) {
|
|
16
16
|
if (typeof selectedOption === 'object' && 'label' in selectedOption) {
|
|
17
|
-
return
|
|
17
|
+
return isValidReactElement(selectedOption.label) ? selectedOption.label // Return JSX directly
|
|
18
18
|
: getTranslation(selectedOption.label, i18n) || selectedOption.value // Use translation or fallback to value
|
|
19
19
|
;
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDisplayedFieldValue.js","names":["getTranslation","
|
|
1
|
+
{"version":3,"file":"getDisplayedFieldValue.js","names":["getTranslation","isValidReactElement","getDisplayedFieldValue","cellData","field","i18n","type","Array","isArray","options","selectedOption","find","opt","value","label"],"sources":["../../src/utilities/getDisplayedFieldValue.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { isValidReactElement } from './isValidReactElement.js'\n\n/**\n * Returns the appropriate display value for a field.\n * - For select and radio fields:\n * - Returns JSX elements as-is.\n * - Translates localized label objects based on the current language.\n * - Returns string labels directly.\n * - Falls back to the option value if no valid label is found.\n * - For all other field types, returns `cellData` unchanged.\n */\nexport const getDisplayedFieldValue = (cellData: any, field: ClientField, i18n: I18nClient) => {\n if ((field?.type === 'select' || field?.type === 'radio') && Array.isArray(field.options)) {\n const selectedOption = field.options.find((opt) =>\n typeof opt === 'object' ? opt.value === cellData : opt === cellData,\n )\n\n if (selectedOption) {\n if (typeof selectedOption === 'object' && 'label' in selectedOption) {\n return isValidReactElement(selectedOption.label)\n ? selectedOption.label // Return JSX directly\n : getTranslation(selectedOption.label, i18n) || selectedOption.value // Use translation or fallback to value\n }\n return selectedOption // If option is a string, return it directly\n }\n }\n return cellData // Default fallback if no match found\n}\n"],"mappings":"AAGA,SAASA,cAAc,QAAQ;AAE/B,SAASC,mBAAmB,QAAQ;AAEpC;;;;;;;;;AASA,OAAO,MAAMC,sBAAA,GAAyBA,CAACC,QAAA,EAAeC,KAAA,EAAoBC,IAAA;EACxE,IAAI,CAACD,KAAA,EAAOE,IAAA,KAAS,YAAYF,KAAA,EAAOE,IAAA,KAAS,OAAM,KAAMC,KAAA,CAAMC,OAAO,CAACJ,KAAA,CAAMK,OAAO,GAAG;IACzF,MAAMC,cAAA,GAAiBN,KAAA,CAAMK,OAAO,CAACE,IAAI,CAAEC,GAAA,IACzC,OAAOA,GAAA,KAAQ,WAAWA,GAAA,CAAIC,KAAK,KAAKV,QAAA,GAAWS,GAAA,KAAQT,QAAA;IAG7D,IAAIO,cAAA,EAAgB;MAClB,IAAI,OAAOA,cAAA,KAAmB,YAAY,WAAWA,cAAA,EAAgB;QACnE,OAAOT,mBAAA,CAAoBS,cAAA,CAAeI,KAAK,IAC3CJ,cAAA,CAAeI,KAAK,CAAC;QAAA,EACrBd,cAAA,CAAeU,cAAA,CAAeI,KAAK,EAAET,IAAA,KAASK,cAAA,CAAeG,KAAK,CAAC;QAAA;MACzE;MACA,OAAOH,cAAA,CAAe;MAAA;IACxB;EACF;EACA,OAAOP,QAAA,CAAS;EAAA;AAClB","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { isValidReactElement } from './isValidReactElement.js';
|
|
2
2
|
export const hasOptionLabelJSXElement = cellClientProps => {
|
|
3
3
|
const {
|
|
4
4
|
cellData,
|
|
@@ -6,7 +6,7 @@ export const hasOptionLabelJSXElement = cellClientProps => {
|
|
|
6
6
|
} = cellClientProps;
|
|
7
7
|
if ((field?.type === 'select' || field?.type == 'radio') && Array.isArray(field?.options)) {
|
|
8
8
|
const matchingOption = field.options.find(option => typeof option === 'object' && option.value === cellData);
|
|
9
|
-
if (matchingOption && typeof matchingOption === 'object' &&
|
|
9
|
+
if (matchingOption && typeof matchingOption === 'object' && isValidReactElement(matchingOption.label)) {
|
|
10
10
|
return true;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasOptionLabelJSXElement.js","names":["
|
|
1
|
+
{"version":3,"file":"hasOptionLabelJSXElement.js","names":["isValidReactElement","hasOptionLabelJSXElement","cellClientProps","cellData","field","type","Array","isArray","options","matchingOption","find","option","value","label"],"sources":["../../src/utilities/hasOptionLabelJSXElement.ts"],"sourcesContent":["import type { DefaultCellComponentProps } from 'payload'\n\nimport { isValidReactElement } from './isValidReactElement.js'\n\nexport const hasOptionLabelJSXElement = (cellClientProps: DefaultCellComponentProps) => {\n const { cellData, field } = cellClientProps\n\n if ((field?.type === 'select' || field?.type == 'radio') && Array.isArray(field?.options)) {\n const matchingOption = field.options.find(\n (option) => typeof option === 'object' && option.value === cellData,\n )\n\n if (\n matchingOption &&\n typeof matchingOption === 'object' &&\n isValidReactElement(matchingOption.label)\n ) {\n return true\n }\n }\n\n return false\n}\n"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,wBAAA,GAA4BC,eAAA;EACvC,MAAM;IAAEC,QAAQ;IAAEC;EAAK,CAAE,GAAGF,eAAA;EAE5B,IAAI,CAACE,KAAA,EAAOC,IAAA,KAAS,YAAYD,KAAA,EAAOC,IAAA,IAAQ,OAAM,KAAMC,KAAA,CAAMC,OAAO,CAACH,KAAA,EAAOI,OAAA,GAAU;IACzF,MAAMC,cAAA,GAAiBL,KAAA,CAAMI,OAAO,CAACE,IAAI,CACtCC,MAAA,IAAW,OAAOA,MAAA,KAAW,YAAYA,MAAA,CAAOC,KAAK,KAAKT,QAAA;IAG7D,IACEM,cAAA,IACA,OAAOA,cAAA,KAAmB,YAC1BT,mBAAA,CAAoBS,cAAA,CAAeI,KAAK,GACxC;MACA,OAAO;IACT;EACF;EAEA,OAAO;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ReactElement } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Since Next.js 15.4, `React.isValidElement()` returns `false` for components that cross the server-client boundary.
|
|
4
|
+
* This utility expands on that check so that it returns true for valid React elements.
|
|
5
|
+
*/
|
|
6
|
+
export declare function isValidReactElement<P>(object: {} | null | undefined): object is ReactElement<P>;
|
|
7
|
+
//# sourceMappingURL=isValidReactElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidReactElement.d.ts","sourceRoot":"","sources":["../../src/utilities/isValidReactElement.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AAIhD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,CAE/F"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
const LazyReactComponentSymbol = Symbol.for('react.lazy');
|
|
3
|
+
/**
|
|
4
|
+
* Since Next.js 15.4, `React.isValidElement()` returns `false` for components that cross the server-client boundary.
|
|
5
|
+
* This utility expands on that check so that it returns true for valid React elements.
|
|
6
|
+
*/
|
|
7
|
+
export function isValidReactElement(object) {
|
|
8
|
+
return React.isValidElement(object) || object?.['$$typeof'] === LazyReactComponentSymbol;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=isValidReactElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidReactElement.js","names":["React","LazyReactComponentSymbol","Symbol","for","isValidReactElement","object","isValidElement"],"sources":["../../src/utilities/isValidReactElement.ts"],"sourcesContent":["import React, { type ReactElement } from 'react'\n\nconst LazyReactComponentSymbol = Symbol.for('react.lazy')\n\n/**\n * Since Next.js 15.4, `React.isValidElement()` returns `false` for components that cross the server-client boundary.\n * This utility expands on that check so that it returns true for valid React elements.\n */\nexport function isValidReactElement<P>(object: {} | null | undefined): object is ReactElement<P> {\n return React.isValidElement(object) || object?.['$$typeof'] === LazyReactComponentSymbol\n}\n"],"mappings":"AAAA,OAAOA,KAAA,MAAkC;AAEzC,MAAMC,wBAAA,GAA2BC,MAAA,CAAOC,GAAG,CAAC;AAE5C;;;;AAIA,OAAO,SAASC,oBAAuBC,MAA6B;EAClE,OAAOL,KAAA,CAAMM,cAAc,CAACD,MAAA,KAAWA,MAAA,GAAS,WAAW,KAAKJ,wBAAA;AAClE","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ export declare const renderTable: ({ clientCollectionConfig, clientConfig, colle
|
|
|
9
9
|
collections?: string[];
|
|
10
10
|
columns?: CollectionPreferences["columns"];
|
|
11
11
|
customCellProps?: Record<string, unknown>;
|
|
12
|
-
data
|
|
12
|
+
data?: PaginatedDocs | undefined;
|
|
13
13
|
drawerSlug?: string;
|
|
14
14
|
enableRowSelections: boolean;
|
|
15
15
|
groupByFieldPath?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTable.d.ts","sourceRoot":"","sources":["../../src/utilities/renderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EAEZ,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,EAEN,KAAK,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,OAAO,EACP,yBAAyB,EACzB,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAsBzB,eAAO,MAAM,aAAa,WAChB,KAAK,EAAE,aACJ,SAAS,KACnB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAoB3B,CAAA;AAEH,eAAO,MAAM,WAAW,kSAqBrB;IACD,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,IAAI,EAAE,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"renderTable.d.ts","sourceRoot":"","sources":["../../src/utilities/renderTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EAEZ,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,EAEN,KAAK,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,OAAO,EACP,yBAAyB,EACzB,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAsBzB,eAAO,MAAM,aAAa,WAChB,KAAK,EAAE,aACJ,SAAS,KACnB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAoB3B,CAAA;AAEH,eAAO,MAAM,WAAW,kSAqBrB;IACD,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACzC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,KAAG;IACF,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CAmNvB,CAAA"}
|
|
@@ -96,14 +96,14 @@ export const renderTable = ({
|
|
|
96
96
|
...sharedArgs,
|
|
97
97
|
collectionSlug: undefined,
|
|
98
98
|
dataType: 'polymorphic',
|
|
99
|
-
docs: data
|
|
99
|
+
docs: data?.docs || []
|
|
100
100
|
});
|
|
101
101
|
} else {
|
|
102
102
|
columnState = buildColumnState({
|
|
103
103
|
...sharedArgs,
|
|
104
104
|
collectionSlug: clientCollectionConfig.slug,
|
|
105
105
|
dataType: 'monomorphic',
|
|
106
|
-
docs: data
|
|
106
|
+
docs: data?.docs || []
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
const columnsToUse = [...columnState];
|
|
@@ -118,7 +118,7 @@ export const renderTable = ({
|
|
|
118
118
|
hidden: true
|
|
119
119
|
},
|
|
120
120
|
Heading: i18n.t('version:type'),
|
|
121
|
-
renderedCells: data
|
|
121
|
+
renderedCells: (data?.docs || []).map((doc, i) => /*#__PURE__*/_jsx(Pill, {
|
|
122
122
|
size: "small",
|
|
123
123
|
children: getTranslation(collections ? payload.collections[doc.relationTo].config.labels.singular : clientCollectionConfig.labels.singular, i18n)
|
|
124
124
|
}, i))
|
|
@@ -135,8 +135,8 @@ export const renderTable = ({
|
|
|
135
135
|
hidden: true
|
|
136
136
|
},
|
|
137
137
|
Heading: /*#__PURE__*/_jsx(SelectAll, {}),
|
|
138
|
-
renderedCells: data
|
|
139
|
-
rowData: data
|
|
138
|
+
renderedCells: (data?.docs || []).map((_, i) => /*#__PURE__*/_jsx(SelectRow, {
|
|
139
|
+
rowData: data?.docs[i]
|
|
140
140
|
}, i))
|
|
141
141
|
});
|
|
142
142
|
}
|
|
@@ -147,8 +147,8 @@ export const renderTable = ({
|
|
|
147
147
|
Table: /*#__PURE__*/_jsx("div", {
|
|
148
148
|
className: ['table-wrap', groupByValue !== undefined && `table-wrap--group-by`].filter(Boolean).join(' '),
|
|
149
149
|
children: /*#__PURE__*/_jsxs(SelectionProvider, {
|
|
150
|
-
docs: data
|
|
151
|
-
totalDocs: data
|
|
150
|
+
docs: data?.docs || [],
|
|
151
|
+
totalDocs: data?.totalDocs || 0,
|
|
152
152
|
children: [/*#__PURE__*/_jsx(GroupByHeader, {
|
|
153
153
|
collectionConfig: clientCollectionConfig,
|
|
154
154
|
groupByFieldPath: groupByFieldPath,
|
|
@@ -157,7 +157,7 @@ export const renderTable = ({
|
|
|
157
157
|
}), /*#__PURE__*/_jsx(Table, {
|
|
158
158
|
appearance: tableAppearance,
|
|
159
159
|
columns: columnsToUse,
|
|
160
|
-
data: data
|
|
160
|
+
data: data?.docs || []
|
|
161
161
|
}), /*#__PURE__*/_jsx(GroupByPageControls, {
|
|
162
162
|
collectionConfig: clientCollectionConfig,
|
|
163
163
|
data: data,
|
|
@@ -176,7 +176,7 @@ export const renderTable = ({
|
|
|
176
176
|
children: /*#__PURE__*/_jsx(Table, {
|
|
177
177
|
appearance: tableAppearance,
|
|
178
178
|
columns: columnsToUse,
|
|
179
|
-
data: data
|
|
179
|
+
data: data?.docs || []
|
|
180
180
|
})
|
|
181
181
|
}, key)
|
|
182
182
|
};
|
|
@@ -191,7 +191,7 @@ export const renderTable = ({
|
|
|
191
191
|
hidden: true
|
|
192
192
|
},
|
|
193
193
|
Heading: /*#__PURE__*/_jsx(SortHeader, {}),
|
|
194
|
-
renderedCells: data
|
|
194
|
+
renderedCells: (data?.docs || []).map((_, i) => /*#__PURE__*/_jsx(SortRow, {}, i))
|
|
195
195
|
});
|
|
196
196
|
return {
|
|
197
197
|
columnState,
|
|
@@ -202,7 +202,7 @@ export const renderTable = ({
|
|
|
202
202
|
appearance: tableAppearance,
|
|
203
203
|
collection: clientCollectionConfig,
|
|
204
204
|
columns: columnsToUse,
|
|
205
|
-
data: data
|
|
205
|
+
data: data?.docs || []
|
|
206
206
|
})
|
|
207
207
|
}, key)
|
|
208
208
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","flattenTopLevelFields","React","RenderServerComponent","GroupByHeader","GroupByPageControls","OrderableTable","Pill","SelectAll","SelectionProvider","SelectRow","SortHeader","SortRow","Table","filterFields","buildColumnState","getInitialColumns","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","columnsFromArgs","customCellProps","data","enableRowSelections","groupByFieldPath","groupByValue","heading","i18n","key","orderableFieldName","payload","query","renderRowTypes","tableAppearance","useAsTitle","viewType","columnState","clientFields","serverFields","isPolymorphic","isGroupingBy","Boolean","groupBy","collection","find","each","slug","some","push","serverCollectionConfig","config","filter","column","keepPresentationalFields","moveSubFieldsToTop","accessor","undefined","defaultColumns","sharedArgs","collectionSlug","dataType","docs","columnsToUse","unshift","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","size","relationTo","labels","singular","_","rowData","className","join","_jsxs","totalDocs","appearance"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n CollectionPreferences,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListQuery,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n ViewTypes,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n GroupByHeader,\n GroupByPageControls,\n OrderableTable,\n Pill,\n SelectAll,\n SelectionProvider,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFields } from '../providers/TableColumns/buildColumnState/filterFields.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\nimport { getInitialColumns } from '../providers/TableColumns/getInitialColumns.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns: columnsFromArgs,\n customCellProps,\n data,\n enableRowSelections,\n groupByFieldPath,\n groupByValue,\n heading,\n i18n,\n key = 'table',\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n tableAppearance,\n useAsTitle,\n viewType,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns?: CollectionPreferences['columns']\n customCellProps?: Record<string, unknown>\n data: PaginatedDocs\n drawerSlug?: string\n enableRowSelections: boolean\n groupByFieldPath?: string\n groupByValue?: string\n heading?: string\n i18n: I18nClient\n key?: string\n orderableFieldName: string\n payload: Payload\n query?: ListQuery\n renderRowTypes?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n const isGroupingBy = Boolean(collectionConfig?.admin?.groupBy && query?.groupBy)\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n for (const field of filterFields(clientCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n for (const field of filterFields(serverCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const columns: ColumnPreference[] = columnsFromArgs\n ? columnsFromArgs?.filter((column) =>\n flattenTopLevelFields(clientFields, {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n })?.some((field) => {\n const accessor =\n 'accessor' in field ? field.accessor : 'name' in field ? field.name : undefined\n return accessor === column.accessor\n }),\n )\n : getInitialColumns(\n isPolymorphic ? clientFields : filterFields(clientFields),\n useAsTitle,\n isPolymorphic ? [] : clientCollectionConfig?.admin?.defaultColumns,\n )\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'i18n'\n | 'payload'\n | 'serverFields'\n | 'useAsTitle'\n | 'viewType'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n serverFields,\n useAsTitle,\n viewType,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs: data.docs,\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs: data.docs,\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: data.docs.map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: data.docs.map((_, i) => <SelectRow key={i} rowData={data.docs[i]} />),\n } as Column)\n }\n\n if (isGroupingBy) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div\n className={['table-wrap', groupByValue !== undefined && `table-wrap--group-by`]\n .filter(Boolean)\n .join(' ')}\n key={key}\n >\n <SelectionProvider docs={data.docs} totalDocs={data.totalDocs}>\n <GroupByHeader\n collectionConfig={clientCollectionConfig}\n groupByFieldPath={groupByFieldPath}\n groupByValue={groupByValue}\n heading={heading}\n />\n <Table appearance={tableAppearance} columns={columnsToUse} data={data.docs} />\n <GroupByPageControls\n collectionConfig={clientCollectionConfig}\n data={data}\n groupByValue={groupByValue}\n />\n </SelectionProvider>\n </div>\n ),\n }\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <Table appearance={tableAppearance} columns={columnsToUse} data={data.docs} />\n </div>\n ),\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: data.docs.map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={data.docs}\n />\n </div>\n ),\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"renderTable.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","flattenTopLevelFields","React","RenderServerComponent","GroupByHeader","GroupByPageControls","OrderableTable","Pill","SelectAll","SelectionProvider","SelectRow","SortHeader","SortRow","Table","filterFields","buildColumnState","getInitialColumns","renderFilters","fields","importMap","reduce","acc","field","admin","components","Filter","set","name","Component","Map","renderTable","clientCollectionConfig","clientConfig","collectionConfig","collections","columns","columnsFromArgs","customCellProps","data","enableRowSelections","groupByFieldPath","groupByValue","heading","i18n","key","orderableFieldName","payload","query","renderRowTypes","tableAppearance","useAsTitle","viewType","columnState","clientFields","serverFields","isPolymorphic","isGroupingBy","Boolean","groupBy","collection","find","each","slug","some","push","serverCollectionConfig","config","filter","column","keepPresentationalFields","moveSubFieldsToTop","accessor","undefined","defaultColumns","sharedArgs","collectionSlug","dataType","docs","columnsToUse","unshift","active","disabled","hidden","Heading","t","renderedCells","map","doc","i","_jsx","size","relationTo","labels","singular","_","rowData","className","join","_jsxs","totalDocs","appearance"],"sources":["../../src/utilities/renderTable.tsx"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n ClientField,\n CollectionConfig,\n CollectionPreferences,\n Column,\n ColumnPreference,\n Field,\n ImportMap,\n ListQuery,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n ViewTypes,\n} from 'payload'\n\nimport { getTranslation, type I18nClient } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, flattenTopLevelFields } from 'payload/shared'\nimport React from 'react'\n\nimport type { BuildColumnStateArgs } from '../providers/TableColumns/buildColumnState/index.js'\n\nimport { RenderServerComponent } from '../elements/RenderServerComponent/index.js'\nimport {\n GroupByHeader,\n GroupByPageControls,\n OrderableTable,\n Pill,\n SelectAll,\n SelectionProvider,\n SelectRow,\n SortHeader,\n SortRow,\n Table,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- these MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../exports/client/index.js'\nimport { filterFields } from '../providers/TableColumns/buildColumnState/filterFields.js'\nimport { buildColumnState } from '../providers/TableColumns/buildColumnState/index.js'\nimport { getInitialColumns } from '../providers/TableColumns/getInitialColumns.js'\n\nexport const renderFilters = (\n fields: Field[],\n importMap: ImportMap,\n): Map<string, React.ReactNode> =>\n fields.reduce(\n (acc, field) => {\n if (fieldIsHiddenOrDisabled(field)) {\n return acc\n }\n\n if ('name' in field && field.admin?.components?.Filter) {\n acc.set(\n field.name,\n RenderServerComponent({\n Component: field.admin.components?.Filter,\n importMap,\n }),\n )\n }\n\n return acc\n },\n new Map() as Map<string, React.ReactNode>,\n )\n\nexport const renderTable = ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collections,\n columns: columnsFromArgs,\n customCellProps,\n data,\n enableRowSelections,\n groupByFieldPath,\n groupByValue,\n heading,\n i18n,\n key = 'table',\n orderableFieldName,\n payload,\n query,\n renderRowTypes,\n tableAppearance,\n useAsTitle,\n viewType,\n}: {\n clientCollectionConfig?: ClientCollectionConfig\n clientConfig?: ClientConfig\n collectionConfig?: SanitizedCollectionConfig\n collections?: string[]\n columns?: CollectionPreferences['columns']\n customCellProps?: Record<string, unknown>\n data?: PaginatedDocs | undefined\n drawerSlug?: string\n enableRowSelections: boolean\n groupByFieldPath?: string\n groupByValue?: string\n heading?: string\n i18n: I18nClient\n key?: string\n orderableFieldName: string\n payload: Payload\n query?: ListQuery\n renderRowTypes?: boolean\n tableAppearance?: 'condensed' | 'default'\n useAsTitle: CollectionConfig['admin']['useAsTitle']\n viewType?: ViewTypes\n}): {\n columnState: Column[]\n Table: React.ReactNode\n} => {\n // Ensure that columns passed as args comply with the field config, i.e. `hidden`, `disableListColumn`, etc.\n\n let columnState: Column[]\n let clientFields: ClientField[] = clientCollectionConfig?.fields || []\n let serverFields: Field[] = collectionConfig?.fields || []\n const isPolymorphic = collections\n\n const isGroupingBy = Boolean(collectionConfig?.admin?.groupBy && query?.groupBy)\n\n if (isPolymorphic) {\n clientFields = []\n serverFields = []\n for (const collection of collections) {\n const clientCollectionConfig = clientConfig.collections.find(\n (each) => each.slug === collection,\n )\n for (const field of filterFields(clientCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (clientFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n clientFields.push(field)\n }\n\n const serverCollectionConfig = payload.collections[collection].config\n for (const field of filterFields(serverCollectionConfig.fields)) {\n if (fieldAffectsData(field)) {\n if (serverFields.some((each) => fieldAffectsData(each) && each.name === field.name)) {\n continue\n }\n }\n\n serverFields.push(field)\n }\n }\n }\n\n const columns: ColumnPreference[] = columnsFromArgs\n ? columnsFromArgs?.filter((column) =>\n flattenTopLevelFields(clientFields, {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n })?.some((field) => {\n const accessor =\n 'accessor' in field ? field.accessor : 'name' in field ? field.name : undefined\n return accessor === column.accessor\n }),\n )\n : getInitialColumns(\n isPolymorphic ? clientFields : filterFields(clientFields),\n useAsTitle,\n isPolymorphic ? [] : clientCollectionConfig?.admin?.defaultColumns,\n )\n\n const sharedArgs: Pick<\n BuildColumnStateArgs,\n | 'clientFields'\n | 'columns'\n | 'customCellProps'\n | 'enableRowSelections'\n | 'i18n'\n | 'payload'\n | 'serverFields'\n | 'useAsTitle'\n | 'viewType'\n > = {\n clientFields,\n columns,\n enableRowSelections,\n i18n,\n // sortColumnProps,\n customCellProps,\n payload,\n serverFields,\n useAsTitle,\n viewType,\n }\n\n if (isPolymorphic) {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: undefined,\n dataType: 'polymorphic',\n docs: data?.docs || [],\n })\n } else {\n columnState = buildColumnState({\n ...sharedArgs,\n collectionSlug: clientCollectionConfig.slug,\n dataType: 'monomorphic',\n docs: data?.docs || [],\n })\n }\n\n const columnsToUse = [...columnState]\n\n if (renderRowTypes) {\n columnsToUse.unshift({\n accessor: 'collection',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: i18n.t('version:type'),\n renderedCells: (data?.docs || []).map((doc, i) => (\n <Pill key={i} size=\"small\">\n {getTranslation(\n collections\n ? payload.collections[doc.relationTo].config.labels.singular\n : clientCollectionConfig.labels.singular,\n i18n,\n )}\n </Pill>\n )),\n } as Column)\n }\n\n if (enableRowSelections) {\n columnsToUse.unshift({\n accessor: '_select',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SelectAll />,\n renderedCells: (data?.docs || []).map((_, i) => (\n <SelectRow key={i} rowData={data?.docs[i]} />\n )),\n } as Column)\n }\n\n if (isGroupingBy) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div\n className={['table-wrap', groupByValue !== undefined && `table-wrap--group-by`]\n .filter(Boolean)\n .join(' ')}\n key={key}\n >\n <SelectionProvider docs={data?.docs || []} totalDocs={data?.totalDocs || 0}>\n <GroupByHeader\n collectionConfig={clientCollectionConfig}\n groupByFieldPath={groupByFieldPath}\n groupByValue={groupByValue}\n heading={heading}\n />\n <Table appearance={tableAppearance} columns={columnsToUse} data={data?.docs || []} />\n <GroupByPageControls\n collectionConfig={clientCollectionConfig}\n data={data}\n groupByValue={groupByValue}\n />\n </SelectionProvider>\n </div>\n ),\n }\n }\n\n if (!orderableFieldName) {\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <Table appearance={tableAppearance} columns={columnsToUse} data={data?.docs || []} />\n </div>\n ),\n }\n }\n\n columnsToUse.unshift({\n accessor: '_dragHandle',\n active: true,\n field: {\n admin: {\n disabled: true,\n },\n hidden: true,\n },\n Heading: <SortHeader />,\n renderedCells: (data?.docs || []).map((_, i) => <SortRow key={i} />),\n } as Column)\n\n return {\n columnState,\n // key is required since Next.js 15.2.0 to prevent React key error\n Table: (\n <div className=\"table-wrap\" key={key}>\n <OrderableTable\n appearance={tableAppearance}\n collection={clientCollectionConfig}\n columns={columnsToUse}\n data={data?.docs || []}\n />\n </div>\n ),\n }\n}\n"],"mappings":";AAiBA,SAASA,cAAc,QAAyB;AAChD,SAASC,gBAAgB,EAAEC,uBAAuB,EAAEC,qBAAqB,QAAQ;AACjF,OAAOC,KAAA,MAAW;AAIlB,SAASC,qBAAqB,QAAQ;AACtC,SACEC,aAAa,EACbC,mBAAmB,EACnBC,cAAc,EACdC,IAAI,EACJC,SAAS,EACTC,iBAAiB,EACjBC,SAAS,EACTC,UAAU,EACVC,OAAO,EACPC,KAAK,QAEA;AACP,SAASC,YAAY,QAAQ;AAC7B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,iBAAiB,QAAQ;AAElC,OAAO,MAAMC,aAAA,GAAgBA,CAC3BC,MAAA,EACAC,SAAA,KAEAD,MAAA,CAAOE,MAAM,CACX,CAACC,GAAA,EAAKC,KAAA;EACJ,IAAItB,uBAAA,CAAwBsB,KAAA,GAAQ;IAClC,OAAOD,GAAA;EACT;EAEA,IAAI,UAAUC,KAAA,IAASA,KAAA,CAAMC,KAAK,EAAEC,UAAA,EAAYC,MAAA,EAAQ;IACtDJ,GAAA,CAAIK,GAAG,CACLJ,KAAA,CAAMK,IAAI,EACVxB,qBAAA,CAAsB;MACpByB,SAAA,EAAWN,KAAA,CAAMC,KAAK,CAACC,UAAU,EAAEC,MAAA;MACnCN;IACF;EAEJ;EAEA,OAAOE,GAAA;AACT,GACA,IAAIQ,GAAA;AAGR,OAAO,MAAMC,WAAA,GAAcA,CAAC;EAC1BC,sBAAsB;EACtBC,YAAY;EACZC,gBAAgB;EAChBC,WAAW;EACXC,OAAA,EAASC,eAAe;EACxBC,eAAe;EACfC,IAAI;EACJC,mBAAmB;EACnBC,gBAAgB;EAChBC,YAAY;EACZC,OAAO;EACPC,IAAI;EACJC,GAAA,GAAM,OAAO;EACbC,kBAAkB;EAClBC,OAAO;EACPC,KAAK;EACLC,cAAc;EACdC,eAAe;EACfC,UAAU;EACVC;AAAQ,CAuBT;EAIC;EAEA,IAAIC,WAAA;EACJ,IAAIC,YAAA,GAA8BtB,sBAAA,EAAwBb,MAAA,IAAU,EAAE;EACtE,IAAIoC,YAAA,GAAwBrB,gBAAA,EAAkBf,MAAA,IAAU,EAAE;EAC1D,MAAMqC,aAAA,GAAgBrB,WAAA;EAEtB,MAAMsB,YAAA,GAAeC,OAAA,CAAQxB,gBAAA,EAAkBV,KAAA,EAAOmC,OAAA,IAAWX,KAAA,EAAOW,OAAA;EAExE,IAAIH,aAAA,EAAe;IACjBF,YAAA,GAAe,EAAE;IACjBC,YAAA,GAAe,EAAE;IACjB,KAAK,MAAMK,UAAA,IAAczB,WAAA,EAAa;MACpC,MAAMH,sBAAA,GAAyBC,YAAA,CAAaE,WAAW,CAAC0B,IAAI,CACzDC,IAAA,IAASA,IAAA,CAAKC,IAAI,KAAKH,UAAA;MAE1B,KAAK,MAAMrC,KAAA,IAASR,YAAA,CAAaiB,sBAAA,CAAuBb,MAAM,GAAG;QAC/D,IAAInB,gBAAA,CAAiBuB,KAAA,GAAQ;UAC3B,IAAI+B,YAAA,CAAaU,IAAI,CAAEF,IAAA,IAAS9D,gBAAA,CAAiB8D,IAAA,KAASA,IAAA,CAAKlC,IAAI,KAAKL,KAAA,CAAMK,IAAI,GAAG;YACnF;UACF;QACF;QAEA0B,YAAA,CAAaW,IAAI,CAAC1C,KAAA;MACpB;MAEA,MAAM2C,sBAAA,GAAyBnB,OAAA,CAAQZ,WAAW,CAACyB,UAAA,CAAW,CAACO,MAAM;MACrE,KAAK,MAAM5C,KAAA,IAASR,YAAA,CAAamD,sBAAA,CAAuB/C,MAAM,GAAG;QAC/D,IAAInB,gBAAA,CAAiBuB,KAAA,GAAQ;UAC3B,IAAIgC,YAAA,CAAaS,IAAI,CAAEF,IAAA,IAAS9D,gBAAA,CAAiB8D,IAAA,KAASA,IAAA,CAAKlC,IAAI,KAAKL,KAAA,CAAMK,IAAI,GAAG;YACnF;UACF;QACF;QAEA2B,YAAA,CAAaU,IAAI,CAAC1C,KAAA;MACpB;IACF;EACF;EAEA,MAAMa,OAAA,GAA8BC,eAAA,GAChCA,eAAA,EAAiB+B,MAAA,CAAQC,MAAA,IACvBnE,qBAAA,CAAsBoD,YAAA,EAAc;IAClCV,IAAA;IACA0B,wBAAA,EAA0B;IAC1BC,kBAAA,EAAoB;EACtB,IAAIP,IAAA,CAAMzC,KAAA;IACR,MAAMiD,QAAA,GACJ,cAAcjD,KAAA,GAAQA,KAAA,CAAMiD,QAAQ,GAAG,UAAUjD,KAAA,GAAQA,KAAA,CAAMK,IAAI,GAAG6C,SAAA;IACxE,OAAOD,QAAA,KAAaH,MAAA,CAAOG,QAAQ;EACrC,MAEFvD,iBAAA,CACEuC,aAAA,GAAgBF,YAAA,GAAevC,YAAA,CAAauC,YAAA,GAC5CH,UAAA,EACAK,aAAA,GAAgB,EAAE,GAAGxB,sBAAA,EAAwBR,KAAA,EAAOkD,cAAA;EAG1D,MAAMC,UAAA,GAWF;IACFrB,YAAA;IACAlB,OAAA;IACAI,mBAAA;IACAI,IAAA;IACA;IACAN,eAAA;IACAS,OAAA;IACAQ,YAAA;IACAJ,UAAA;IACAC;EACF;EAEA,IAAII,aAAA,EAAe;IACjBH,WAAA,GAAcrC,gBAAA,CAAiB;MAC7B,GAAG2D,UAAU;MACbC,cAAA,EAAgBH,SAAA;MAChBI,QAAA,EAAU;MACVC,IAAA,EAAMvC,IAAA,EAAMuC,IAAA,IAAQ;IACtB;EACF,OAAO;IACLzB,WAAA,GAAcrC,gBAAA,CAAiB;MAC7B,GAAG2D,UAAU;MACbC,cAAA,EAAgB5C,sBAAA,CAAuB+B,IAAI;MAC3Cc,QAAA,EAAU;MACVC,IAAA,EAAMvC,IAAA,EAAMuC,IAAA,IAAQ;IACtB;EACF;EAEA,MAAMC,YAAA,GAAe,C,GAAI1B,WAAA,CAAY;EAErC,IAAIJ,cAAA,EAAgB;IAClB8B,YAAA,CAAaC,OAAO,CAAC;MACnBR,QAAA,EAAU;MACVS,MAAA,EAAQ;MACR1D,KAAA,EAAO;QACLC,KAAA,EAAO;UACL0D,QAAA,EAAU;QACZ;QACAC,MAAA,EAAQ;MACV;MACAC,OAAA,EAASxC,IAAA,CAAKyC,CAAC,CAAC;MAChBC,aAAA,EAAe,CAAC/C,IAAA,EAAMuC,IAAA,IAAQ,EAAE,EAAES,GAAG,CAAC,CAACC,GAAA,EAAKC,CAAA,kBAC1CC,IAAA,CAAClF,IAAA;QAAamF,IAAA,EAAK;kBAChB5F,cAAA,CACCoC,WAAA,GACIY,OAAA,CAAQZ,WAAW,CAACqD,GAAA,CAAII,UAAU,CAAC,CAACzB,MAAM,CAAC0B,MAAM,CAACC,QAAQ,GAC1D9D,sBAAA,CAAuB6D,MAAM,CAACC,QAAQ,EAC1ClD,IAAA;SALO6C,CAAA;IASf;EACF;EAEA,IAAIjD,mBAAA,EAAqB;IACvBuC,YAAA,CAAaC,OAAO,CAAC;MACnBR,QAAA,EAAU;MACVS,MAAA,EAAQ;MACR1D,KAAA,EAAO;QACLC,KAAA,EAAO;UACL0D,QAAA,EAAU;QACZ;QACAC,MAAA,EAAQ;MACV;MACAC,OAAA,eAASM,IAAA,CAACjF,SAAA;MACV6E,aAAA,EAAe,CAAC/C,IAAA,EAAMuC,IAAA,IAAQ,EAAE,EAAES,GAAG,CAAC,CAACQ,CAAA,EAAGN,CAAA,kBACxCC,IAAA,CAAC/E,SAAA;QAAkBqF,OAAA,EAASzD,IAAA,EAAMuC,IAAI,CAACW,CAAA;SAAvBA,CAAA;IAEpB;EACF;EAEA,IAAIhC,YAAA,EAAc;IAChB,OAAO;MACLJ,WAAA;MACA;MACAvC,KAAA,eACE4E,IAAA,CAAC;QACCO,SAAA,EAAW,CAAC,cAAcvD,YAAA,KAAiB+B,SAAA,IAAa,sBAAsB,CAAC,CAC5EL,MAAM,CAACV,OAAA,EACPwC,IAAI,CAAC;kBAGR,aAAAC,KAAA,CAACzF,iBAAA;UAAkBoE,IAAA,EAAMvC,IAAA,EAAMuC,IAAA,IAAQ,EAAE;UAAEsB,SAAA,EAAW7D,IAAA,EAAM6D,SAAA,IAAa;kCACvEV,IAAA,CAACrF,aAAA;YACC6B,gBAAA,EAAkBF,sBAAA;YAClBS,gBAAA,EAAkBA,gBAAA;YAClBC,YAAA,EAAcA,YAAA;YACdC,OAAA,EAASA;2BAEX+C,IAAA,CAAC5E,KAAA;YAAMuF,UAAA,EAAYnD,eAAA;YAAiBd,OAAA,EAAS2C,YAAA;YAAcxC,IAAA,EAAMA,IAAA,EAAMuC,IAAA,IAAQ;2BAC/EY,IAAA,CAACpF,mBAAA;YACC4B,gBAAA,EAAkBF,sBAAA;YAClBO,IAAA,EAAMA,IAAA;YACNG,YAAA,EAAcA;;;SAbbG,GAAA;IAkBX;EACF;EAEA,IAAI,CAACC,kBAAA,EAAoB;IACvB,OAAO;MACLO,WAAA;MACA;MACAvC,KAAA,eACE4E,IAAA,CAAC;QAAIO,SAAA,EAAU;kBACb,aAAAP,IAAA,CAAC5E,KAAA;UAAMuF,UAAA,EAAYnD,eAAA;UAAiBd,OAAA,EAAS2C,YAAA;UAAcxC,IAAA,EAAMA,IAAA,EAAMuC,IAAA,IAAQ;;SADhDjC,GAAA;IAIrC;EACF;EAEAkC,YAAA,CAAaC,OAAO,CAAC;IACnBR,QAAA,EAAU;IACVS,MAAA,EAAQ;IACR1D,KAAA,EAAO;MACLC,KAAA,EAAO;QACL0D,QAAA,EAAU;MACZ;MACAC,MAAA,EAAQ;IACV;IACAC,OAAA,eAASM,IAAA,CAAC9E,UAAA;IACV0E,aAAA,EAAe,CAAC/C,IAAA,EAAMuC,IAAA,IAAQ,EAAE,EAAES,GAAG,CAAC,CAACQ,CAAA,EAAGN,CAAA,kBAAMC,IAAA,CAAC7E,OAAA,MAAa4E,CAAA;EAChE;EAEA,OAAO;IACLpC,WAAA;IACA;IACAvC,KAAA,eACE4E,IAAA,CAAC;MAAIO,SAAA,EAAU;gBACb,aAAAP,IAAA,CAACnF,cAAA;QACC8F,UAAA,EAAYnD,eAAA;QACZU,UAAA,EAAY5B,sBAAA;QACZI,OAAA,EAAS2C,YAAA;QACTxC,IAAA,EAAMA,IAAA,EAAMuC,IAAA,IAAQ;;OALSjC,GAAA;EASrC;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKlD,OAAO,KAA8B,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKlD,OAAO,KAA8B,MAAM,OAAO,CAAA;AAwBlD,OAAO,cAAc,CAAA;AAIrB,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,qBA2OzD"}
|
package/dist/views/List/index.js
CHANGED
|
@@ -19,7 +19,6 @@ import { StickyToolbar } from '../../elements/StickyToolbar/index.js';
|
|
|
19
19
|
import { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js';
|
|
20
20
|
import { ViewDescription } from '../../elements/ViewDescription/index.js';
|
|
21
21
|
import { useControllableState } from '../../hooks/useControllableState.js';
|
|
22
|
-
import { useAuth } from '../../providers/Auth/index.js';
|
|
23
22
|
import { useConfig } from '../../providers/Config/index.js';
|
|
24
23
|
import { useListQuery } from '../../providers/ListQuery/index.js';
|
|
25
24
|
import { SelectionProvider } from '../../providers/Selection/index.js';
|
|
@@ -63,9 +62,6 @@ export function DefaultListView(props) {
|
|
|
63
62
|
onBulkSelect
|
|
64
63
|
} = useListDrawerContext();
|
|
65
64
|
const hasCreatePermission = allowCreate !== undefined ? allowCreate && hasCreatePermissionFromProps : hasCreatePermissionFromProps;
|
|
66
|
-
const {
|
|
67
|
-
user
|
|
68
|
-
} = useAuth();
|
|
69
65
|
const {
|
|
70
66
|
config: {
|
|
71
67
|
routes: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","useRouter","formatAdminURL","formatFilesize","React","Fragment","useEffect","useBulkUpload","Button","Gutter","ListControls","useListDrawerContext","useModal","PageControls","RenderCustomComponent","SelectMany","useStepNav","StickyToolbar","RelationshipProvider","ViewDescription","useControllableState","useAuth","useConfig","useListQuery","SelectionProvider","TableColumnsProvider","useTranslation","useWindowInfo","ListSelection","CollectionListHeader","baseClass","DefaultListView","props","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","disableQueryPresets","enableRowSelections","hasCreatePermission","hasCreatePermissionFromProps","hasDeletePermission","listMenuItems","newDocumentURL","queryPreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","Table","InitialTable","viewType","allowCreate","createNewDrawerSlug","isInDrawer","onBulkSelect","undefined","user","config","routes","admin","adminRoute","getEntityConfig","router","data","isGroupingBy","openModal","drawerSlug","bulkUploadDrawerSlug","setCollectionSlug","setOnSuccess","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","isTrashEnabled","trash","i18n","setStepNav","breakpoints","s","smallBreak","docs","useMemo","map","doc","filesize","openBulkUpload","useCallback","refresh","baseLabel","label","plural","url","path","trashLabel","t","navItems","_jsxs","_jsx","className","totalDocs","CustomComponent","Fallback","description","hideFileInputOnCreate","onClick","enableQueryPresets","length","el","singular","to","AfterPageControls","showSelectAllAcrossPages","totalPages"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL, formatFilesize } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { PageControls } from '../../elements/PageControls/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { StickyToolbar } from '../../elements/StickyToolbar/index.js'\nimport { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { SelectionProvider } from '../../providers/Selection/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../../views/List/ListSelection/index.js'\nimport { CollectionListHeader } from './ListHeader/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-list'\n\nexport function DefaultListView(props: ListViewClientProps) {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission: hasCreatePermissionFromProps,\n hasDeletePermission,\n listMenuItems,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table: InitialTable,\n viewType,\n } = props\n\n const [Table] = useControllableState(InitialTable)\n\n const { allowCreate, createNewDrawerSlug, isInDrawer, onBulkSelect } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const { user } = useAuth()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n const router = useRouter()\n\n const { data, isGroupingBy } = useListQuery()\n\n const { openModal } = useModal()\n const { drawerSlug: bulkUploadDrawerSlug, setCollectionSlug, setOnSuccess } = useBulkUpload()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n\n const isUploadCollection = Boolean(upload)\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const isTrashEnabled = Boolean(collectionConfig.trash)\n\n const { i18n } = useTranslation()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const docs = React.useMemo(() => {\n if (isUploadCollection) {\n return data.docs.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n } else {\n return data?.docs\n }\n }, [data?.docs, isUploadCollection])\n\n const openBulkUpload = React.useCallback(() => {\n setCollectionSlug(collectionSlug)\n openModal(bulkUploadDrawerSlug)\n setOnSuccess(() => router.refresh())\n }, [router, collectionSlug, bulkUploadDrawerSlug, openModal, setCollectionSlug, setOnSuccess])\n\n useEffect(() => {\n if (!isInDrawer) {\n const baseLabel = {\n label: getTranslation(labels?.plural, i18n),\n url:\n isTrashEnabled && viewType === 'trash'\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n }\n\n const trashLabel = {\n label: i18n.t('general:trash'),\n }\n\n const navItems =\n isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel]\n\n setStepNav(navItems)\n }\n }, [adminRoute, setStepNav, labels, isInDrawer, isTrashEnabled, viewType, i18n, collectionSlug])\n\n return (\n <Fragment>\n <TableColumnsProvider collectionSlug={collectionSlug} columnState={columnState}>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data?.totalDocs}>\n {BeforeList}\n <Gutter className={`${baseClass}__wrap`}>\n <CollectionListHeader\n collectionConfig={collectionConfig}\n Description={\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n }\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasCreatePermission={hasCreatePermission}\n hasDeletePermission={hasDeletePermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled && !upload.hideFileInputOnCreate}\n isTrashEnabled={isTrashEnabled}\n newDocumentURL={newDocumentURL}\n openBulkUpload={openBulkUpload}\n smallBreak={smallBreak}\n viewType={viewType}\n />\n <ListControls\n beforeActions={\n enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [...beforeActions, <SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions\n }\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableQueryPresets={\n collectionConfig?.enableQueryPresets !== true || disableQueryPresets\n }\n listMenuItems={listMenuItems}\n queryPreset={queryPreset}\n queryPresetPermissions={queryPresetPermissions}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n {BeforeListTable}\n {docs?.length > 0 && (\n <div className={`${baseClass}__tables`}>\n <RelationshipProvider>{Table}</RelationshipProvider>\n </div>\n )}\n {docs?.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t(viewType === 'trash' ? 'general:noTrashResults' : 'general:noResults', {\n label: getTranslation(labels?.plural, i18n),\n })}\n </p>\n {hasCreatePermission && newDocumentURL && viewType !== 'trash' && (\n <Fragment>\n {isInDrawer ? (\n <Button el=\"button\" onClick={() => openModal(createNewDrawerSlug)}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </Fragment>\n )}\n </div>\n )}\n {AfterListTable}\n {docs?.length > 0 && !isGroupingBy && (\n <PageControls\n AfterPageControls={\n smallBreak ? (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n label={getTranslation(collectionConfig.labels.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n {enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [\n ...beforeActions,\n <SelectMany key=\"select-many\" onClick={onBulkSelect} />,\n ]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions}\n </div>\n </div>\n ) : null\n }\n collectionConfig={collectionConfig}\n />\n )}\n </Gutter>\n {AfterList}\n </SelectionProvider>\n </div>\n </TableColumnsProvider>\n {docs?.length > 0 && isGroupingBy && data.totalPages > 1 && (\n <StickyToolbar>\n <PageControls collectionConfig={collectionConfig} />\n </StickyToolbar>\n )}\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","useRouter","formatAdminURL","formatFilesize","React","Fragment","useEffect","useBulkUpload","Button","Gutter","ListControls","useListDrawerContext","useModal","PageControls","RenderCustomComponent","SelectMany","useStepNav","StickyToolbar","RelationshipProvider","ViewDescription","useControllableState","useConfig","useListQuery","SelectionProvider","TableColumnsProvider","useTranslation","useWindowInfo","ListSelection","CollectionListHeader","baseClass","DefaultListView","props","AfterList","AfterListTable","beforeActions","BeforeList","BeforeListTable","collectionSlug","columnState","Description","disableBulkDelete","disableBulkEdit","disableQueryPresets","enableRowSelections","hasCreatePermission","hasCreatePermissionFromProps","hasDeletePermission","listMenuItems","newDocumentURL","queryPreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","Table","InitialTable","viewType","allowCreate","createNewDrawerSlug","isInDrawer","onBulkSelect","undefined","config","routes","admin","adminRoute","getEntityConfig","router","data","isGroupingBy","openModal","drawerSlug","bulkUploadDrawerSlug","setCollectionSlug","setOnSuccess","collectionConfig","labels","upload","isUploadCollection","Boolean","isBulkUploadEnabled","bulkUpload","isTrashEnabled","trash","i18n","setStepNav","breakpoints","s","smallBreak","docs","useMemo","map","doc","filesize","openBulkUpload","useCallback","refresh","baseLabel","label","plural","url","path","trashLabel","t","navItems","_jsxs","_jsx","className","totalDocs","CustomComponent","Fallback","description","hideFileInputOnCreate","onClick","enableQueryPresets","length","el","singular","to","AfterPageControls","showSelectAllAcrossPages","totalPages"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ListViewClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL, formatFilesize } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { Gutter } from '../../elements/Gutter/index.js'\nimport { ListControls } from '../../elements/ListControls/index.js'\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { useModal } from '../../elements/Modal/index.js'\nimport { PageControls } from '../../elements/PageControls/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SelectMany } from '../../elements/SelectMany/index.js'\nimport { useStepNav } from '../../elements/StepNav/index.js'\nimport { StickyToolbar } from '../../elements/StickyToolbar/index.js'\nimport { RelationshipProvider } from '../../elements/Table/RelationshipProvider/index.js'\nimport { ViewDescription } from '../../elements/ViewDescription/index.js'\nimport { useControllableState } from '../../hooks/useControllableState.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { SelectionProvider } from '../../providers/Selection/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useWindowInfo } from '../../providers/WindowInfo/index.js'\nimport { ListSelection } from '../../views/List/ListSelection/index.js'\nimport { CollectionListHeader } from './ListHeader/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-list'\n\nexport function DefaultListView(props: ListViewClientProps) {\n const {\n AfterList,\n AfterListTable,\n beforeActions,\n BeforeList,\n BeforeListTable,\n collectionSlug,\n columnState,\n Description,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission: hasCreatePermissionFromProps,\n hasDeletePermission,\n listMenuItems,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table: InitialTable,\n viewType,\n } = props\n\n const [Table] = useControllableState(InitialTable)\n\n const { allowCreate, createNewDrawerSlug, isInDrawer, onBulkSelect } = useListDrawerContext()\n\n const hasCreatePermission =\n allowCreate !== undefined\n ? allowCreate && hasCreatePermissionFromProps\n : hasCreatePermissionFromProps\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n const router = useRouter()\n\n const { data, isGroupingBy } = useListQuery()\n\n const { openModal } = useModal()\n const { drawerSlug: bulkUploadDrawerSlug, setCollectionSlug, setOnSuccess } = useBulkUpload()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { labels, upload } = collectionConfig\n\n const isUploadCollection = Boolean(upload)\n\n const isBulkUploadEnabled = isUploadCollection && collectionConfig.upload.bulkUpload\n\n const isTrashEnabled = Boolean(collectionConfig.trash)\n\n const { i18n } = useTranslation()\n\n const { setStepNav } = useStepNav()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const docs = React.useMemo(() => {\n if (isUploadCollection) {\n return data.docs.map((doc) => {\n return {\n ...doc,\n filesize: formatFilesize(doc.filesize),\n }\n })\n } else {\n return data?.docs\n }\n }, [data?.docs, isUploadCollection])\n\n const openBulkUpload = React.useCallback(() => {\n setCollectionSlug(collectionSlug)\n openModal(bulkUploadDrawerSlug)\n setOnSuccess(() => router.refresh())\n }, [router, collectionSlug, bulkUploadDrawerSlug, openModal, setCollectionSlug, setOnSuccess])\n\n useEffect(() => {\n if (!isInDrawer) {\n const baseLabel = {\n label: getTranslation(labels?.plural, i18n),\n url:\n isTrashEnabled && viewType === 'trash'\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n }\n\n const trashLabel = {\n label: i18n.t('general:trash'),\n }\n\n const navItems =\n isTrashEnabled && viewType === 'trash' ? [baseLabel, trashLabel] : [baseLabel]\n\n setStepNav(navItems)\n }\n }, [adminRoute, setStepNav, labels, isInDrawer, isTrashEnabled, viewType, i18n, collectionSlug])\n\n return (\n <Fragment>\n <TableColumnsProvider collectionSlug={collectionSlug} columnState={columnState}>\n <div className={`${baseClass} ${baseClass}--${collectionSlug}`}>\n <SelectionProvider docs={docs} totalDocs={data?.totalDocs}>\n {BeforeList}\n <Gutter className={`${baseClass}__wrap`}>\n <CollectionListHeader\n collectionConfig={collectionConfig}\n Description={\n <div className={`${baseClass}__sub-header`}>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <ViewDescription\n collectionSlug={collectionSlug}\n description={collectionConfig?.admin?.description}\n />\n }\n />\n </div>\n }\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n hasCreatePermission={hasCreatePermission}\n hasDeletePermission={hasDeletePermission}\n i18n={i18n}\n isBulkUploadEnabled={isBulkUploadEnabled && !upload.hideFileInputOnCreate}\n isTrashEnabled={isTrashEnabled}\n newDocumentURL={newDocumentURL}\n openBulkUpload={openBulkUpload}\n smallBreak={smallBreak}\n viewType={viewType}\n />\n <ListControls\n beforeActions={\n enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [...beforeActions, <SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions\n }\n collectionConfig={collectionConfig}\n collectionSlug={collectionSlug}\n disableQueryPresets={\n collectionConfig?.enableQueryPresets !== true || disableQueryPresets\n }\n listMenuItems={listMenuItems}\n queryPreset={queryPreset}\n queryPresetPermissions={queryPresetPermissions}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n {BeforeListTable}\n {docs?.length > 0 && (\n <div className={`${baseClass}__tables`}>\n <RelationshipProvider>{Table}</RelationshipProvider>\n </div>\n )}\n {docs?.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t(viewType === 'trash' ? 'general:noTrashResults' : 'general:noResults', {\n label: getTranslation(labels?.plural, i18n),\n })}\n </p>\n {hasCreatePermission && newDocumentURL && viewType !== 'trash' && (\n <Fragment>\n {isInDrawer ? (\n <Button el=\"button\" onClick={() => openModal(createNewDrawerSlug)}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n ) : (\n <Button el=\"link\" to={newDocumentURL}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(labels?.singular, i18n),\n })}\n </Button>\n )}\n </Fragment>\n )}\n </div>\n )}\n {AfterListTable}\n {docs?.length > 0 && !isGroupingBy && (\n <PageControls\n AfterPageControls={\n smallBreak ? (\n <div className={`${baseClass}__list-selection`}>\n <ListSelection\n collectionConfig={collectionConfig}\n disableBulkDelete={disableBulkDelete}\n disableBulkEdit={disableBulkEdit}\n label={getTranslation(collectionConfig.labels.plural, i18n)}\n showSelectAllAcrossPages={!isGroupingBy}\n />\n <div className={`${baseClass}__list-selection-actions`}>\n {enableRowSelections && typeof onBulkSelect === 'function'\n ? beforeActions\n ? [\n ...beforeActions,\n <SelectMany key=\"select-many\" onClick={onBulkSelect} />,\n ]\n : [<SelectMany key=\"select-many\" onClick={onBulkSelect} />]\n : beforeActions}\n </div>\n </div>\n ) : null\n }\n collectionConfig={collectionConfig}\n />\n )}\n </Gutter>\n {AfterList}\n </SelectionProvider>\n </div>\n </TableColumnsProvider>\n {docs?.length > 0 && isGroupingBy && data.totalPages > 1 && (\n <StickyToolbar>\n <PageControls collectionConfig={collectionConfig} />\n </StickyToolbar>\n )}\n </Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,OAAOC,KAAA,IAASC,QAAQ,EAAEC,SAAS,QAAQ;AAE3C,SAASC,aAAa,QAAQ;AAC9B,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,YAAY,QAAQ;AAC7B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,QAAQ,QAAQ;AACzB,SAASC,YAAY,QAAQ;AAC7B,SAASC,qBAAqB,QAAQ;AACtC,SAASC,UAAU,QAAQ;AAC3B,SAASC,UAAU,QAAQ;AAC3B,SAASC,aAAa,QAAQ;AAC9B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,eAAe,QAAQ;AAChC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,SAAS,QAAQ;AAC1B,SAASC,YAAY,QAAQ;AAC7B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,aAAa,QAAQ;AAC9B,SAASC,oBAAoB,QAAQ;AACrC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,gBAAgBC,KAA0B;EACxD,MAAM;IACJC,SAAS;IACTC,cAAc;IACdC,aAAa;IACbC,UAAU;IACVC,eAAe;IACfC,cAAc;IACdC,WAAW;IACXC,WAAW;IACXC,iBAAiB;IACjBC,eAAe;IACfC,mBAAmB;IACnBC,mBAAmB;IACnBC,mBAAA,EAAqBC,4BAA4B;IACjDC,mBAAmB;IACnBC,aAAa;IACbC,cAAc;IACdC,WAAW;IACXC,sBAAsB;IACtBC,eAAe;IACfC,qBAAqB;IACrBC,KAAA,EAAOC,YAAY;IACnBC;EAAQ,CACT,GAAGxB,KAAA;EAEJ,MAAM,CAACsB,KAAA,CAAM,GAAGjC,oBAAA,CAAqBkC,YAAA;EAErC,MAAM;IAAEE,WAAW;IAAEC,mBAAmB;IAAEC,UAAU;IAAEC;EAAY,CAAE,GAAGhD,oBAAA;EAEvE,MAAMiC,mBAAA,GACJY,WAAA,KAAgBI,SAAA,GACZJ,WAAA,IAAeX,4BAAA,GACfA,4BAAA;EAEN,MAAM;IACJgB,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,KAAA,EAAOC;MAAU;IAAE,CAC9B;IACDC;EAAe,CAChB,GAAG5C,SAAA;EACJ,MAAM6C,MAAA,GAASjE,SAAA;EAEf,MAAM;IAAEkE,IAAI;IAAEC;EAAY,CAAE,GAAG9C,YAAA;EAE/B,MAAM;IAAE+C;EAAS,CAAE,GAAGzD,QAAA;EACtB,MAAM;IAAE0D,UAAA,EAAYC,oBAAoB;IAAEC,iBAAiB;IAAEC;EAAY,CAAE,GAAGlE,aAAA;EAE9E,MAAMmE,gBAAA,GAAmBT,eAAA,CAAgB;IAAE5B;EAAe;EAE1D,MAAM;IAAEsC,MAAM;IAAEC;EAAM,CAAE,GAAGF,gBAAA;EAE3B,MAAMG,kBAAA,GAAqBC,OAAA,CAAQF,MAAA;EAEnC,MAAMG,mBAAA,GAAsBF,kBAAA,IAAsBH,gBAAA,CAAiBE,MAAM,CAACI,UAAU;EAEpF,MAAMC,cAAA,GAAiBH,OAAA,CAAQJ,gBAAA,CAAiBQ,KAAK;EAErD,MAAM;IAAEC;EAAI,CAAE,GAAG1D,cAAA;EAEjB,MAAM;IAAE2D;EAAU,CAAE,GAAGpE,UAAA;EAEvB,MAAM;IACJqE,WAAA,EAAa;MAAEC,CAAA,EAAGC;IAAU;EAAE,CAC/B,GAAG7D,aAAA;EAEJ,MAAM8D,IAAA,GAAOpF,KAAA,CAAMqF,OAAO,CAAC;IACzB,IAAIZ,kBAAA,EAAoB;MACtB,OAAOV,IAAA,CAAKqB,IAAI,CAACE,GAAG,CAAEC,GAAA;QACpB,OAAO;UACL,GAAGA,GAAG;UACNC,QAAA,EAAUzF,cAAA,CAAewF,GAAA,CAAIC,QAAQ;QACvC;MACF;IACF,OAAO;MACL,OAAOzB,IAAA,EAAMqB,IAAA;IACf;EACF,GAAG,CAACrB,IAAA,EAAMqB,IAAA,EAAMX,kBAAA,CAAmB;EAEnC,MAAMgB,cAAA,GAAiBzF,KAAA,CAAM0F,WAAW,CAAC;IACvCtB,iBAAA,CAAkBnC,cAAA;IAClBgC,SAAA,CAAUE,oBAAA;IACVE,YAAA,CAAa,MAAMP,MAAA,CAAO6B,OAAO;EACnC,GAAG,CAAC7B,MAAA,EAAQ7B,cAAA,EAAgBkC,oBAAA,EAAsBF,SAAA,EAAWG,iBAAA,EAAmBC,YAAA,CAAa;EAE7FnE,SAAA,CAAU;IACR,IAAI,CAACoD,UAAA,EAAY;MACf,MAAMsC,SAAA,GAAY;QAChBC,KAAA,EAAOjG,cAAA,CAAe2E,MAAA,EAAQuB,MAAA,EAAQf,IAAA;QACtCgB,GAAA,EACElB,cAAA,IAAkB1B,QAAA,KAAa,UAC3BrD,cAAA,CAAe;UACb8D,UAAA;UACAoC,IAAA,EAAM,gBAAgB/D,cAAA;QACxB,KACAuB;MACR;MAEA,MAAMyC,UAAA,GAAa;QACjBJ,KAAA,EAAOd,IAAA,CAAKmB,CAAC,CAAC;MAChB;MAEA,MAAMC,QAAA,GACJtB,cAAA,IAAkB1B,QAAA,KAAa,UAAU,CAACyC,SAAA,EAAWK,UAAA,CAAW,GAAG,CAACL,SAAA,CAAU;MAEhFZ,UAAA,CAAWmB,QAAA;IACb;EACF,GAAG,CAACvC,UAAA,EAAYoB,UAAA,EAAYT,MAAA,EAAQjB,UAAA,EAAYuB,cAAA,EAAgB1B,QAAA,EAAU4B,IAAA,EAAM9C,cAAA,CAAe;EAE/F,oBACEmE,KAAA,CAACnG,QAAA;4BACCoG,IAAA,CAACjF,oBAAA;MAAqBa,cAAA,EAAgBA,cAAA;MAAgBC,WAAA,EAAaA,WAAA;gBACjE,aAAAmE,IAAA,CAAC;QAAIC,SAAA,EAAW,GAAG7E,SAAA,IAAaA,SAAA,KAAcQ,cAAA,EAAgB;kBAC5D,aAAAmE,KAAA,CAACjF,iBAAA;UAAkBiE,IAAA,EAAMA,IAAA;UAAMmB,SAAA,EAAWxC,IAAA,EAAMwC,SAAA;qBAC7CxE,UAAA,E,aACDqE,KAAA,CAAC/F,MAAA;YAAOiG,SAAA,EAAW,GAAG7E,SAAA,QAAiB;oCACrC4E,IAAA,CAAC7E,oBAAA;cACC8C,gBAAA,EAAkBA,gBAAA;cAClBnC,WAAA,eACEkE,IAAA,CAAC;gBAAIC,SAAA,EAAW,GAAG7E,SAAA,cAAuB;0BACxC,aAAA4E,IAAA,CAAC3F,qBAAA;kBACC8F,eAAA,EAAiBrE,WAAA;kBACjBsE,QAAA,eACEJ,IAAA,CAACtF,eAAA;oBACCkB,cAAA,EAAgBA,cAAA;oBAChByE,WAAA,EAAapC,gBAAA,EAAkBX,KAAA,EAAO+C;;;;cAMhDtE,iBAAA,EAAmBA,iBAAA;cACnBC,eAAA,EAAiBA,eAAA;cACjBG,mBAAA,EAAqBA,mBAAA;cACrBE,mBAAA,EAAqBA,mBAAA;cACrBqC,IAAA,EAAMA,IAAA;cACNJ,mBAAA,EAAqBA,mBAAA,IAAuB,CAACH,MAAA,CAAOmC,qBAAqB;cACzE9B,cAAA,EAAgBA,cAAA;cAChBjC,cAAA,EAAgBA,cAAA;cAChB6C,cAAA,EAAgBA,cAAA;cAChBN,UAAA,EAAYA,UAAA;cACZhC,QAAA,EAAUA;6BAEZkD,IAAA,CAAC/F,YAAA;cACCwB,aAAA,EACES,mBAAA,IAAuB,OAAOgB,YAAA,KAAiB,aAC3CzB,aAAA,GACE,C,GAAIA,aAAA,E,aAAeuE,IAAA,CAAC1F,UAAA;gBAA6BiG,OAAA,EAASrD;iBAAvB,eAAwC,GAC3E,C,aAAC8C,IAAA,CAAC1F,UAAA;gBAA6BiG,OAAA,EAASrD;iBAAvB,eAAwC,GAC3DzB,aAAA;cAENwC,gBAAA,EAAkBA,gBAAA;cAClBrC,cAAA,EAAgBA,cAAA;cAChBK,mBAAA,EACEgC,gBAAA,EAAkBuC,kBAAA,KAAuB,QAAQvE,mBAAA;cAEnDK,aAAA,EAAeA,aAAA;cACfE,WAAA,EAAaA,WAAA;cACbC,sBAAA,EAAwBA,sBAAA;cACxBC,eAAA,EAAiBA,eAAA;cACjBC,qBAAA,EAAuBA;gBAExBhB,eAAA,EACAoD,IAAA,EAAM0B,MAAA,GAAS,kBACdT,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAG7E,SAAA,UAAmB;wBACpC,aAAA4E,IAAA,CAACvF,oBAAA;0BAAsBmC;;gBAG1BmC,IAAA,EAAM0B,MAAA,KAAW,kBAChBV,KAAA,CAAC;cAAIE,SAAA,EAAW,GAAG7E,SAAA,cAAuB;sCACxC4E,IAAA,CAAC;0BACEtB,IAAA,CAAKmB,CAAC,CAAC/C,QAAA,KAAa,UAAU,2BAA2B,qBAAqB;kBAC7E0C,KAAA,EAAOjG,cAAA,CAAe2E,MAAA,EAAQuB,MAAA,EAAQf,IAAA;gBACxC;kBAEDvC,mBAAA,IAAuBI,cAAA,IAAkBO,QAAA,KAAa,wBACrDkD,IAAA,CAACpG,QAAA;0BACEqD,UAAA,gBACC+C,IAAA,CAACjG,MAAA;kBAAO2G,EAAA,EAAG;kBAASH,OAAA,EAASA,CAAA,KAAM3C,SAAA,CAAUZ,mBAAA;4BAC1C0B,IAAA,CAAKmB,CAAC,CAAC,0BAA0B;oBAChCL,KAAA,EAAOjG,cAAA,CAAe2E,MAAA,EAAQyC,QAAA,EAAUjC,IAAA;kBAC1C;kCAGFsB,IAAA,CAACjG,MAAA;kBAAO2G,EAAA,EAAG;kBAAOE,EAAA,EAAIrE,cAAA;4BACnBmC,IAAA,CAAKmB,CAAC,CAAC,0BAA0B;oBAChCL,KAAA,EAAOjG,cAAA,CAAe2E,MAAA,EAAQyC,QAAA,EAAUjC,IAAA;kBAC1C;;;gBAOXlD,cAAA,EACAuD,IAAA,EAAM0B,MAAA,GAAS,KAAK,CAAC9C,YAAA,iBACpBqC,IAAA,CAAC5F,YAAA;cACCyG,iBAAA,EACE/B,UAAA,gBACEiB,KAAA,CAAC;gBAAIE,SAAA,EAAW,GAAG7E,SAAA,kBAA2B;wCAC5C4E,IAAA,CAAC9E,aAAA;kBACC+C,gBAAA,EAAkBA,gBAAA;kBAClBlC,iBAAA,EAAmBA,iBAAA;kBACnBC,eAAA,EAAiBA,eAAA;kBACjBwD,KAAA,EAAOjG,cAAA,CAAe0E,gBAAA,CAAiBC,MAAM,CAACuB,MAAM,EAAEf,IAAA;kBACtDoC,wBAAA,EAA0B,CAACnD;iCAE7BqC,IAAA,CAAC;kBAAIC,SAAA,EAAW,GAAG7E,SAAA,0BAAmC;4BACnDc,mBAAA,IAAuB,OAAOgB,YAAA,KAAiB,aAC5CzB,aAAA,GACE,C,GACKA,aAAA,E,aACHuE,IAAA,CAAC1F,UAAA;oBAA6BiG,OAAA,EAASrD;qBAAvB,eACjB,GACD,C,aAAC8C,IAAA,CAAC1F,UAAA;oBAA6BiG,OAAA,EAASrD;qBAAvB,eAAwC,GAC3DzB;;mBAGN;cAENwC,gBAAA,EAAkBA;;cAIvB1C,SAAA;;;QAINwD,IAAA,EAAM0B,MAAA,GAAS,KAAK9C,YAAA,IAAgBD,IAAA,CAAKqD,UAAU,GAAG,kBACrDf,IAAA,CAACxF,aAAA;gBACC,aAAAwF,IAAA,CAAC5F,YAAA;QAAa6D,gBAAA,EAAkBA;;;;AAK1C","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.49.
|
|
3
|
+
"version": "3.49.1",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"ts-essentials": "10.0.3",
|
|
137
137
|
"use-context-selector": "2.0.0",
|
|
138
138
|
"uuid": "10.0.0",
|
|
139
|
-
"@payloadcms/translations": "3.49.
|
|
139
|
+
"@payloadcms/translations": "3.49.1"
|
|
140
140
|
},
|
|
141
141
|
"devDependencies": {
|
|
142
142
|
"@babel/cli": "7.27.2",
|
|
@@ -145,20 +145,20 @@
|
|
|
145
145
|
"@babel/preset-react": "7.27.1",
|
|
146
146
|
"@babel/preset-typescript": "7.27.1",
|
|
147
147
|
"@hyrious/esbuild-plugin-commonjs": "0.2.6",
|
|
148
|
-
"@types/react": "19.1.
|
|
149
|
-
"@types/react-dom": "19.1.
|
|
148
|
+
"@types/react": "19.1.8",
|
|
149
|
+
"@types/react-dom": "19.1.6",
|
|
150
150
|
"@types/uuid": "10.0.0",
|
|
151
151
|
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
|
152
152
|
"esbuild": "0.25.5",
|
|
153
153
|
"esbuild-sass-plugin": "3.3.1",
|
|
154
|
-
"payload": "3.49.
|
|
154
|
+
"payload": "3.49.1",
|
|
155
155
|
"@payloadcms/eslint-config": "3.28.0"
|
|
156
156
|
},
|
|
157
157
|
"peerDependencies": {
|
|
158
158
|
"next": "^15.2.3",
|
|
159
159
|
"react": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
160
160
|
"react-dom": "^19.0.0 || ^19.0.0-rc-65a56d0e-20241020",
|
|
161
|
-
"payload": "3.49.
|
|
161
|
+
"payload": "3.49.1"
|
|
162
162
|
},
|
|
163
163
|
"engines": {
|
|
164
164
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useRelatedCollections.d.ts","sourceRoot":"","sources":["../../../src/elements/AddNewRelation/useRelatedCollections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,eAAO,MAAM,qBAAqB,eAAgB,MAAM,GAAG,MAAM,EAAE,KAAG,sBAAsB,EAY3F,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useRelatedCollections.js","names":["c","_c","useState","useConfig","useRelatedCollections","relationTo","$","getEntityConfig","t0","relations","map","relation","collectionSlug","relatedCollections"],"sources":["../../../src/elements/AddNewRelation/useRelatedCollections.ts"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { useState } from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\n\nexport const useRelatedCollections = (relationTo: string | string[]): ClientCollectionConfig[] => {\n const { getEntityConfig } = useConfig()\n\n const [relatedCollections] = useState(() => {\n if (relationTo) {\n const relations = typeof relationTo === 'string' ? [relationTo] : relationTo\n return relations.map((relation) => getEntityConfig({ collectionSlug: relation }))\n }\n return []\n })\n\n return relatedCollections\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,QAAQ,QAAQ;AAEzB,SAASC,SAAS,QAAQ;AAE1B,OAAO,MAAMC,qBAAA,GAAwBC,UAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EACnC;IAAAM;EAAA,IAA4BJ,SAAA;EAAA,IAAAK,EAAA;EAAA,IAAAF,CAAA,QAAAC,eAAA,IAAAD,CAAA,QAAAD,UAAA;IAEUG,EAAA,GAAAA,CAAA;MAAA,IAChCH,UAAA;QACF,MAAAI,SAAA,GAAkB,OAAOJ,UAAA,KAAe,YAAYA,UAAA,IAAcA,UAAA;QAAA,OAC3DI,SAAA,CAAAC,GAAA,CAAAC,QAAA,IAA4BJ,eAAA;UAAAK,cAAA,EAAkCD;QAAA,CAAS;MAAA;MAAA;IAAA;IAGlFL,CAAA,MAAAC,eAAA;IAAAD,CAAA,MAAAD,UAAA;IAAAC,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EANA,OAAAO,kBAAA,IAA6BX,QAAA,CAASM,EAMtC;EAAA,OAEOK,kBAAA;AAAA,CACT","ignoreList":[]}
|