@payloadcms/ui 4.0.0-internal.cd69eef → 4.0.0-internal.d1cc1d3
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/css/app.css +121 -0
- package/dist/css/forms.css +0 -6
- package/dist/css/spacing.css +11 -3
- package/dist/css/z-index.css +1 -0
- package/dist/elements/AddNewRelation/index.css +0 -1
- package/dist/elements/AppHeader/index.css +0 -3
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +5 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +2 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +65 -24
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
- package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
- package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
- package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/index.js +17 -1
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
- package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
- package/dist/elements/ClipboardAction/types.d.ts +3 -0
- package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/types.js.map +1 -1
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
- package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
- package/dist/elements/CodeEditor/index.css +0 -5
- package/dist/elements/CommandPalette/index.css +0 -7
- package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
- package/dist/elements/CreateDocumentButton/index.js +4 -1
- package/dist/elements/CreateDocumentButton/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +1 -0
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.css +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +16 -1
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +2 -2
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
- package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
- package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
- package/dist/elements/FileManager/FilePreview/index.css +3 -3
- package/dist/elements/FileManager/index.css +36 -23
- package/dist/elements/FileManager/index.d.ts.map +1 -1
- package/dist/elements/FileManager/index.js +15 -4
- package/dist/elements/FileManager/index.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
- package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
- package/dist/elements/InputStepper/index.css +0 -1
- package/dist/elements/Locked/index.css +0 -8
- package/dist/elements/Locked/index.d.ts.map +1 -1
- package/dist/elements/Locked/index.js +70 -64
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/MiniCarousel/index.css +39 -37
- package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
- package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
- package/dist/elements/Nav/SidebarTabs/index.css +0 -5
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
- package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
- package/dist/elements/NavGroup/index.css +0 -1
- package/dist/elements/PreviewButton/index.d.ts +1 -2
- package/dist/elements/PreviewButton/index.d.ts.map +1 -1
- package/dist/elements/PreviewButton/index.js +11 -5
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.css +8 -9
- package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
- package/dist/elements/ReactSelect/index.css +0 -3
- package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
- package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +27 -77
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/index.css +0 -2
- 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 +36 -3
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.css +4 -0
- package/dist/elements/RenderTitle/index.d.ts.map +1 -1
- package/dist/elements/RenderTitle/index.js +18 -13
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/SelectRow/index.d.ts +4 -3
- package/dist/elements/SelectRow/index.d.ts.map +1 -1
- package/dist/elements/SelectRow/index.js +10 -7
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/SidebarToggle/index.css +0 -17
- package/dist/elements/SortColumn/index.d.ts.map +1 -1
- package/dist/elements/SortColumn/index.js +42 -38
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.d.ts +3 -1
- package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
- package/dist/elements/Table/OrderableRow.js +17 -1
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +19 -2
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/index.css +1 -0
- package/dist/elements/TableSection/index.css +0 -1
- package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
- package/dist/elements/TimezonePicker/index.js +5 -1
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Tooltip/index.css +15 -34
- package/dist/elements/Tooltip/index.d.ts +11 -3
- package/dist/elements/Tooltip/index.d.ts.map +1 -1
- package/dist/elements/Tooltip/index.js +151 -85
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Upload/index.css +0 -5
- package/dist/exports/client/index.d.ts +3 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -1
- package/dist/exports/client/index.js.map +3 -3
- package/dist/exports/shared/index.d.ts +1 -0
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +97 -160
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +134 -195
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +2 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +23 -20
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.js +3 -3
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.d.ts +2 -0
- package/dist/fields/Checkbox/Input.d.ts.map +1 -1
- package/dist/fields/Checkbox/Input.js +32 -26
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.css +37 -73
- package/dist/fields/FieldError/index.css +0 -9
- package/dist/fields/FieldError/index.d.ts.map +1 -1
- package/dist/fields/FieldError/index.js +19 -9
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/Join/index.css +9 -0
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +13 -9
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.css +0 -7
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +32 -14
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
- package/dist/fields/Slug/index.css +0 -1
- package/dist/fields/Slug/index.d.ts.map +1 -1
- package/dist/fields/Slug/index.js +75 -111
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Upload/index.css +19 -4
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +3 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +6 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +1 -1
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/RenderFields/index.css +16 -2
- package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +2 -2
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/layouts/Root/index.d.ts +1 -1
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +12 -4
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/providers/DocumentTitle/index.d.ts +1 -0
- package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
- package/dist/providers/DocumentTitle/index.js +2 -0
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/Embed/index.d.ts +24 -0
- package/dist/providers/Embed/index.d.ts.map +1 -0
- package/dist/providers/Embed/index.js +105 -0
- package/dist/providers/Embed/index.js.map +1 -0
- package/dist/providers/FormErrorHandler/index.d.ts +20 -0
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
- package/dist/providers/FormErrorHandler/index.js +6 -0
- package/dist/providers/FormErrorHandler/index.js.map +1 -0
- package/dist/providers/Root/index.d.ts +1 -0
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +33 -27
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/SidebarTabs/index.d.ts +3 -2
- package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
- package/dist/providers/SidebarTabs/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
- package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
- package/dist/providers/Theme/index.d.ts +5 -2
- package/dist/providers/Theme/index.d.ts.map +1 -1
- package/dist/providers/Theme/index.js +109 -96
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/Theme/shared.d.ts +3 -0
- package/dist/providers/Theme/shared.d.ts.map +1 -0
- package/dist/providers/Theme/shared.js +2 -0
- package/dist/providers/Theme/shared.js.map +1 -0
- package/dist/providers/UploadHandlers/index.js +2 -2
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/styles.css +13 -10
- package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
- package/dist/utilities/combineFieldLabel.js +5 -1
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/generateFieldID.d.ts +1 -1
- package/dist/utilities/generateFieldID.d.ts.map +1 -1
- package/dist/utilities/generateFieldID.js +2 -2
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getLanguageDir.d.ts +12 -0
- package/dist/utilities/getLanguageDir.d.ts.map +1 -0
- package/dist/utilities/getLanguageDir.js +12 -0
- package/dist/utilities/getLanguageDir.js.map +1 -0
- package/dist/utilities/getRequestEmbed.d.ts +14 -0
- package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
- package/dist/utilities/getRequestEmbed.js +10 -0
- package/dist/utilities/getRequestEmbed.js.map +1 -0
- package/dist/utilities/getRequestTheme.d.ts +1 -1
- package/dist/utilities/getRequestTheme.d.ts.map +1 -1
- package/dist/utilities/getRequestTheme.js +1 -1
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/handleServerFunctions.d.ts +32 -8
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +17 -37
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +18 -2
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +25 -7
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/slugify.js +49 -6
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +0 -8
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/Edit/index.css +61 -53
- package/dist/views/HierarchyList/index.css +1 -1
- package/dist/views/List/index.css +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +4 -0
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/Logout/index.d.ts.map +1 -1
- package/dist/views/Logout/index.js +11 -0
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Root/index.d.ts +12 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +10 -3
- package/dist/views/Root/index.js.map +1 -1
- package/package.json +5 -10
- package/dist/elements/RelationshipTable/Pagination.css +0 -39
- package/dist/scss/app.scss +0 -183
- package/dist/scss/colors.scss +0 -191
- package/dist/scss/custom.css +0 -1
- package/dist/scss/queries.scss +0 -27
- package/dist/scss/styles.scss +0 -9
- package/dist/scss/svg.scss +0 -10
- package/dist/scss/toastify.scss +0 -61
- package/dist/scss/vars.scss +0 -192
- package/dist/scss/z-index.scss +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["appendDateTimezoneSelectFields","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","RenderServerComponent","DefaultListView","HierarchyListView","HydrateAuthProvider","HydrateHierarchyProvider","ListQueryProvider","getColumns","getDocumentPermissions","renderFilters","renderTable","upsertPreferences","enrichDocsWithVersionStatus","handleGroupBy","handleHierarchy","renderListViewSlots","resolveAllFilterOptions","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","routes","admin","adminRoute","collections","read","includes","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","queryPreset","queryPresetPermissions","findByID","id","collection","depth","overrideAccess","data","docPermissions","err","logger","error","where","columnPreference","page","pagination","defaultLimit","defaultSort","baseFilterConstraint","baseFilter","baseListFilter","whereWithMergedSearch","search","and","deletedAt","exists","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","find","c","select","fields","flattenedFields","orderable","_order","versions","drafts","_status","isHierarchyCollection","Boolean","hierarchy","hierarchyParentFieldName","parentFieldName","hierarchyParentId","parentParam","db","defaultIDType","hierarchyData","fieldPermissions","draft","fallbackLocale","includeLockStatus","orderableFieldName","useAsTitle","name","msg","HierarchyIcon","isHierarchyView","typeFilterParam","typeFilter","length","split","parentId","childrenData","hierarchyConfig","Component","components","Icon","importMap","renderedFilters","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","hasTrashPermission","notFoundDocId","notFound","serverProps","listPreferences","listSearchableFields","server","listViewSlots","clientProps","isInDrawer","stringify","RenderedListViewComponent","views","list","Fallback","List","_jsxs","_jsx","allowedCollections","expandedNodes","breadcrumbs","slice","map","b","parent","tableData","treeLimit","typeFieldName","collectionSpecific","fieldName","modifySearchParams","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n HierarchyViewData,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n PayloadComponent,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport {\n appendDateTimezoneSelectFields,\n appendUploadSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds */\nimport {\n DefaultListView,\n HierarchyListView,\n HydrateAuthProvider,\n HydrateHierarchyProvider,\n ListQueryProvider,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { getColumns } from '../../utilities/getColumns.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\nimport { renderFilters, renderTable } from '../../utilities/renderTable.js'\nimport { upsertPreferences } from '../../utilities/upsertPreferences.js'\nimport { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { handleHierarchy } from './handleHierarchy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\nimport './index.css'\n\n/**\n * @internal\n */\nexport type RenderListViewArgs = {\n /**\n * Allows providing your own list view component. This will override the default list view component and\n * the collection's configured list view component (if any).\n */\n ComponentOverride?:\n | PayloadComponent\n | React.ComponentType<ListViewClientProps | (ListViewClientProps & ListViewServerPropsOnly)>\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n /**\n * If not ListQuery is provided, `req.query` will be used.\n */\n query?: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n *\n * @internal\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n ComponentOverride,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (\n !collectionConfig ||\n !permissions?.collections?.[collectionSlug]?.read ||\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility)\n ) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined =\n permissions?.collections?.['payload-query-presets']\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = (\n await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: req.payload.collections['payload-query-presets'].config,\n data: queryPreset,\n req,\n })\n )?.docPermissions\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n query.preset = queryPreset?.id\n if (queryPreset?.where && !query.where) {\n query.where = queryPreset.where\n }\n query.groupBy = query.groupBy ?? queryPreset?.groupBy ?? collectionPreferences?.groupBy\n\n const columnPreference = query.columns\n ? transformColumnsToPreferences(query.columns)\n : (queryPreset?.columns ?? collectionPreferences?.columns)\n query.columns = transformColumnsToSearchParams(columnPreference)\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: columnPreference,\n i18n,\n permissions,\n })\n\n /** Automatically force select active columns. */\n const select = transformColumnsToSelect(columns)\n\n /** Force select image fields for list view thumbnails */\n appendUploadSelectFields({\n collectionConfig,\n select,\n })\n\n /** Force select `_tz` siblings for any timezone-enabled date fields in select */\n appendDateTimezoneSelectFields({\n fields: collectionConfig.flattenedFields,\n select,\n })\n\n /** Force select `_order` for orderable collections — OrderableTable needs it to compute reorder targets */\n if (collectionConfig.orderable === true) {\n select._order = true\n }\n\n /** Force select `_status` for drafts-enabled collections — needed by `enrichDocsWithVersionStatus` and `formatDocURL` */\n if (collectionConfig.versions?.drafts) {\n select._status = true\n }\n\n // Check for hierarchy parent param\n const isHierarchyCollection = Boolean(collectionConfig.hierarchy)\n const hierarchyParentFieldName =\n typeof collectionConfig.hierarchy === 'object'\n ? (collectionConfig.hierarchy.parentFieldName ?? 'parent')\n : 'parent'\n let hierarchyParentId: null | number | string = null\n\n if (isHierarchyCollection) {\n const parentParam = searchParams?.[hierarchyParentFieldName]\n if (parentParam === 'null' || parentParam === undefined) {\n hierarchyParentId = null\n } else if (typeof parentParam === 'string') {\n hierarchyParentId =\n payload.db.defaultIDType === 'number' && isNumber(parentParam)\n ? Number(parentParam)\n : parentParam\n }\n }\n\n // Hierarchy data for client-side rendering\n let hierarchyData: HierarchyViewData | undefined\n\n try {\n if (query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n // Fetch hierarchy data only for hierarchy view\n let HierarchyIcon: React.ReactNode | undefined\n const isHierarchyView = viewType === 'hierarchy'\n\n if (isHierarchyCollection && isHierarchyView) {\n // Extract typeFilter from searchParams (comma-separated list of collection slugs)\n const typeFilterParam = searchParams?.typeFilter\n const typeFilter =\n typeof typeFilterParam === 'string' && typeFilterParam.length > 0\n ? typeFilterParam.split(',')\n : undefined\n\n hierarchyData = await handleHierarchy({\n baseFilter: baseFilterConstraint,\n collectionConfig,\n collectionSlug,\n parentId: hierarchyParentId,\n permissions,\n req,\n search: typeof query?.search === 'string' ? query.search : undefined,\n typeFilter,\n user,\n })\n\n data = hierarchyData.childrenData\n\n // Resolve hierarchy icon from collection config\n const hierarchyConfig =\n typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined\n\n HierarchyIcon = RenderServerComponent({\n Component: hierarchyConfig?.admin?.components?.Icon,\n importMap: payload.importMap,\n key: `hierarchy-icon-${collectionSlug}`,\n })\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n\n const { hasDeletePermission, hasTrashPermission } = await getDocumentPermissions({\n collectionConfig,\n // Empty object serves as base for computing differentiated trash/delete permissions\n data: {},\n req,\n })\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n server: req.server,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n newDocumentURL,\n viewType,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n const RenderedListViewComponent = RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n baseFilter: baseFilterConstraint,\n collectionSlug,\n columnState,\n disableBulkDelete: collectionConfig.disableBulkDelete ?? disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n HierarchyIcon,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component: ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: viewType === 'hierarchy' ? HierarchyListView : DefaultListView,\n importMap: payload.importMap,\n key: `list-view-${collectionSlug}-${viewType}`,\n serverProps,\n })\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n {isHierarchyView ? (\n <Fragment>\n <HydrateHierarchyProvider\n allowedCollections={hierarchyData?.allowedCollections}\n baseFilter={baseFilterConstraint}\n collectionSlug={collectionSlug}\n expandedNodes={hierarchyData?.breadcrumbs?.slice(0, -1).map((b) => b.id)}\n parent={hierarchyData?.parent}\n parentFieldName={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.parentFieldName\n : undefined\n }\n tableData={data}\n treeLimit={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.admin?.treeLimit\n : undefined\n }\n typeFieldName={\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy?.collectionSpecific &&\n typeof collectionConfig.hierarchy.collectionSpecific === 'object'\n ? collectionConfig.hierarchy.collectionSpecific.fieldName\n : undefined\n }\n />\n {RenderedListViewComponent}\n </Fragment>\n ) : (\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderedListViewComponent}\n </ListQueryProvider>\n )}\n </Fragment>\n ),\n }\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n args.initPageResult.req.server.notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["appendDateTimezoneSelectFields","appendUploadSelectFields","combineWhereConstraints","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","transformColumnsToSearchParams","React","Fragment","RenderServerComponent","DefaultListView","HierarchyListView","HydrateAuthProvider","HydrateHierarchyProvider","ListQueryProvider","getColumns","getDocumentPermissions","renderFilters","renderTable","upsertPreferences","enrichDocsWithVersionStatus","handleGroupBy","handleHierarchy","renderListViewSlots","resolveAllFilterOptions","transformColumnsToSelect","renderListView","args","clientConfig","ComponentOverride","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","trash","viewType","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","routes","admin","adminRoute","collections","read","includes","Error","columnsFromQuery","columns","queryByGroup","JSON","parse","collectionPreferences","key","value","groupBy","limit","Number","undefined","preset","sort","queryPreset","queryPresetPermissions","findByID","id","collection","depth","overrideAccess","data","docPermissions","err","logger","error","where","columnPreference","page","pagination","defaultLimit","defaultSort","baseFilterConstraint","baseFilter","baseListFilter","whereWithMergedSearch","search","and","deletedAt","exists","Table","columnState","docs","hasNextPage","hasPrevPage","nextPage","pagingCounter","prevPage","totalDocs","totalPages","clientCollectionConfig","find","c","select","useAsTitle","fields","flattenedFields","orderable","_order","versions","drafts","_status","isHierarchyCollection","Boolean","hierarchy","hierarchyParentFieldName","parentFieldName","hierarchyParentId","parentParam","db","defaultIDType","hierarchyData","fieldPermissions","draft","fallbackLocale","includeLockStatus","orderableFieldName","name","msg","HierarchyIcon","isHierarchyView","typeFilterParam","typeFilter","length","split","parentId","childrenData","hierarchyConfig","Component","components","Icon","importMap","renderedFilters","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","hasDeletePermission","hasTrashPermission","notFoundDocId","notFound","serverProps","listPreferences","listSearchableFields","server","listViewSlots","clientProps","isInDrawer","stringify","RenderedListViewComponent","views","list","Fallback","List","_jsxs","_jsx","allowedCollections","expandedNodes","breadcrumbs","slice","map","b","parent","tableData","treeLimit","typeFieldName","collectionSpecific","fieldName","modifySearchParams","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Column,\n ColumnPreference,\n HierarchyViewData,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n PaginatedDocs,\n PayloadComponent,\n QueryPreset,\n SanitizedCollectionPermission,\n} from 'payload'\n\nimport {\n appendDateTimezoneSelectFields,\n appendUploadSelectFields,\n combineWhereConstraints,\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n transformColumnsToSearchParams,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n/* eslint-disable payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds */\nimport {\n DefaultListView,\n HierarchyListView,\n HydrateAuthProvider,\n HydrateHierarchyProvider,\n ListQueryProvider,\n} from '../../exports/client/index.js'\n/* eslint-enable payload/no-imports-from-exports-dir */\nimport { getColumns } from '../../utilities/getColumns.js'\nimport { getDocumentPermissions } from '../../utilities/getDocumentPermissions.js'\nimport { renderFilters, renderTable } from '../../utilities/renderTable.js'\nimport { upsertPreferences } from '../../utilities/upsertPreferences.js'\nimport { enrichDocsWithVersionStatus } from './enrichDocsWithVersionStatus.js'\nimport { handleGroupBy } from './handleGroupBy.js'\nimport { handleHierarchy } from './handleHierarchy.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\nimport { transformColumnsToSelect } from './transformColumnsToSelect.js'\nimport './index.css'\n\n/**\n * @internal\n */\nexport type RenderListViewArgs = {\n /**\n * Allows providing your own list view component. This will override the default list view component and\n * the collection's configured list view component (if any).\n */\n ComponentOverride?:\n | PayloadComponent\n | React.ComponentType<ListViewClientProps | (ListViewClientProps & ListViewServerPropsOnly)>\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n /**\n * If not ListQuery is provided, `req.query` will be used.\n */\n query?: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n /**\n * @experimental This prop is subject to change in future releases.\n */\n trash?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n *\n * @internal\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n ComponentOverride,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n trash,\n viewType,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (\n !collectionConfig ||\n !permissions?.collections?.[collectionSlug]?.read ||\n (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility)\n ) {\n throw new Error('not-found')\n }\n\n const query: ListQuery = queryFromArgs || queryFromReq\n\n const columnsFromQuery: ColumnPreference[] = transformColumnsToPreferences(query?.columns)\n\n query.queryByGroup =\n query?.queryByGroup && typeof query.queryByGroup === 'string'\n ? JSON.parse(query.queryByGroup)\n : query?.queryByGroup\n\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns: columnsFromQuery,\n groupBy: query?.groupBy,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: query?.preset,\n sort: query?.sort as string,\n },\n })\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined =\n permissions?.collections?.['payload-query-presets']\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = (\n await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: req.payload.collections['payload-query-presets'].config,\n data: queryPreset,\n req,\n })\n )?.docPermissions\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n query.preset = queryPreset?.id\n if (queryPreset?.where && !query.where) {\n query.where = queryPreset.where\n }\n query.groupBy = query.groupBy ?? queryPreset?.groupBy ?? collectionPreferences?.groupBy\n\n const columnPreference = query.columns\n ? transformColumnsToPreferences(query.columns)\n : (queryPreset?.columns ?? collectionPreferences?.columns)\n query.columns = transformColumnsToSearchParams(columnPreference)\n\n query.page = isNumber(query?.page) ? Number(query.page) : 0\n\n query.limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n query.sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n const baseFilterConstraint = await (\n collectionConfig.admin?.baseFilter ?? collectionConfig.admin?.baseListFilter\n )?.({\n limit: query.limit,\n page: query.page,\n req,\n sort: query.sort,\n })\n\n let whereWithMergedSearch = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: combineWhereConstraints([query?.where, baseFilterConstraint]),\n })\n\n if (trash === true) {\n whereWithMergedSearch = {\n and: [\n whereWithMergedSearch,\n {\n deletedAt: {\n exists: true,\n },\n },\n ],\n }\n }\n\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[] = []\n let data: PaginatedDocs = {\n // no results default\n docs: [],\n hasNextPage: false,\n hasPrevPage: false,\n limit: query.limit,\n nextPage: null,\n page: 1,\n pagingCounter: 0,\n prevPage: null,\n totalDocs: 0,\n totalPages: 0,\n }\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const columns = getColumns({\n clientConfig,\n collectionConfig: clientCollectionConfig,\n collectionSlug,\n columns: columnPreference,\n i18n,\n permissions,\n })\n\n /** Automatically force select active columns. */\n const select = transformColumnsToSelect(columns)\n\n /** Force select `useAsTitle` for accessible row-selection labels, even if its column is hidden. */\n if (enableRowSelections && collectionConfig.admin.useAsTitle) {\n select[collectionConfig.admin.useAsTitle] = true\n }\n\n /** Force select image fields for list view thumbnails */\n appendUploadSelectFields({\n collectionConfig,\n select,\n })\n\n /** Force select `_tz` siblings for any timezone-enabled date fields in select */\n appendDateTimezoneSelectFields({\n fields: collectionConfig.flattenedFields,\n select,\n })\n\n /** Force select `_order` for orderable collections — OrderableTable needs it to compute reorder targets */\n if (collectionConfig.orderable === true) {\n select._order = true\n }\n\n /** Force select `_status` for drafts-enabled collections — needed by `enrichDocsWithVersionStatus` and `formatDocURL` */\n if (collectionConfig.versions?.drafts) {\n select._status = true\n }\n\n // Check for hierarchy parent param\n const isHierarchyCollection = Boolean(collectionConfig.hierarchy)\n const hierarchyParentFieldName =\n typeof collectionConfig.hierarchy === 'object'\n ? (collectionConfig.hierarchy.parentFieldName ?? 'parent')\n : 'parent'\n let hierarchyParentId: null | number | string = null\n\n if (isHierarchyCollection) {\n const parentParam = searchParams?.[hierarchyParentFieldName]\n if (parentParam === 'null' || parentParam === undefined) {\n hierarchyParentId = null\n } else if (typeof parentParam === 'string') {\n hierarchyParentId =\n payload.db.defaultIDType === 'number' && isNumber(parentParam)\n ? Number(parentParam)\n : parentParam\n }\n }\n\n // Hierarchy data for client-side rendering\n let hierarchyData: HierarchyViewData | undefined\n\n try {\n if (query.groupBy) {\n ;({ columnState, data, Table } = await handleGroupBy({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n query,\n req,\n select,\n trash,\n user,\n viewType,\n where: whereWithMergedSearch,\n }))\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n } else {\n data = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n req,\n select,\n sort: query?.sort,\n trash,\n user,\n where: whereWithMergedSearch,\n })\n\n // Enrich documents with correct display status for drafts\n data = await enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n })\n ;({ columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data,\n drawerSlug,\n enableRowSelections,\n fieldPermissions: permissions?.collections?.[collectionSlug]?.fields,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n req,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n }))\n }\n } catch (err) {\n if (err.name !== 'QueryError') {\n // QueryErrors are expected when a user filters by a field they do not have access to\n req.payload.logger.error({\n err,\n msg: `There was an error fetching the list view data for collection ${collectionSlug}`,\n })\n throw err\n }\n }\n\n // Fetch hierarchy data only for hierarchy view\n let HierarchyIcon: React.ReactNode | undefined\n const isHierarchyView = viewType === 'hierarchy'\n\n if (isHierarchyCollection && isHierarchyView) {\n // Extract typeFilter from searchParams (comma-separated list of collection slugs)\n const typeFilterParam = searchParams?.typeFilter\n const typeFilter =\n typeof typeFilterParam === 'string' && typeFilterParam.length > 0\n ? typeFilterParam.split(',')\n : undefined\n\n hierarchyData = await handleHierarchy({\n baseFilter: baseFilterConstraint,\n collectionConfig,\n collectionSlug,\n parentId: hierarchyParentId,\n permissions,\n req,\n search: typeof query?.search === 'string' ? query.search : undefined,\n typeFilter,\n user,\n })\n\n data = hierarchyData.childrenData\n\n // Resolve hierarchy icon from collection config\n const hierarchyConfig =\n typeof collectionConfig.hierarchy === 'object' ? collectionConfig.hierarchy : undefined\n\n HierarchyIcon = RenderServerComponent({\n Component: hierarchyConfig?.admin?.components?.Icon,\n importMap: payload.importMap,\n key: `hierarchy-icon-${collectionSlug}`,\n })\n }\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n\n const { hasDeletePermission, hasTrashPermission } = await getDocumentPermissions({\n collectionConfig,\n // Empty object serves as base for computing differentiated trash/delete permissions\n data: {},\n req,\n })\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit: query.limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n server: req.server,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n newDocumentURL,\n viewType,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n // Needed to prevent: Only plain objects can be passed to Client Components from Server Components. Objects with toJSON methods are not supported. Convert it manually to a simple value before passing it to props.\n // Is there a way to avoid this? The `where` object is already seemingly plain, but is not bc it originates from the params.\n query.where = query?.where ? JSON.parse(JSON.stringify(query?.where || {})) : undefined\n\n const RenderedListViewComponent = RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n baseFilter: baseFilterConstraint,\n collectionSlug,\n columnState,\n disableBulkDelete: collectionConfig.disableBulkDelete ?? disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n hasDeletePermission,\n hasTrashPermission,\n hierarchyData,\n HierarchyIcon,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n viewType,\n } satisfies ListViewClientProps,\n Component: ComponentOverride ?? collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: viewType === 'hierarchy' ? HierarchyListView : DefaultListView,\n importMap: payload.importMap,\n key: `list-view-${collectionSlug}-${viewType}`,\n serverProps,\n })\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n {isHierarchyView ? (\n <Fragment>\n <HydrateHierarchyProvider\n allowedCollections={hierarchyData?.allowedCollections}\n baseFilter={baseFilterConstraint}\n collectionSlug={collectionSlug}\n expandedNodes={hierarchyData?.breadcrumbs?.slice(0, -1).map((b) => b.id)}\n parent={hierarchyData?.parent}\n parentFieldName={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.parentFieldName\n : undefined\n }\n tableData={data}\n treeLimit={\n typeof collectionConfig.hierarchy === 'object'\n ? collectionConfig.hierarchy?.admin?.treeLimit\n : undefined\n }\n typeFieldName={\n typeof collectionConfig.hierarchy === 'object' &&\n collectionConfig.hierarchy?.collectionSpecific &&\n typeof collectionConfig.hierarchy.collectionSpecific === 'object'\n ? collectionConfig.hierarchy.collectionSpecific.fieldName\n : undefined\n }\n />\n {RenderedListViewComponent}\n </Fragment>\n ) : (\n <ListQueryProvider\n collectionSlug={collectionSlug}\n data={data}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n query={query}\n >\n {RenderedListViewComponent}\n </ListQueryProvider>\n )}\n </Fragment>\n ),\n }\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n args.initPageResult.req.server.notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGnD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,aAAa,CAAA;AAIpB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAC/B;IACE,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,GAAG,oBAAoB,CAiCzB,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { getSafeRedirect } from 'payload/shared';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds
|
|
4
5
|
import { LogoutClient } from '../../exports/client/index.js';
|
|
@@ -10,6 +11,7 @@ export const LogoutView = ({
|
|
|
10
11
|
searchParams
|
|
11
12
|
}) => {
|
|
12
13
|
const {
|
|
14
|
+
req,
|
|
13
15
|
req: {
|
|
14
16
|
payload: {
|
|
15
17
|
config: {
|
|
@@ -21,6 +23,15 @@ export const LogoutView = ({
|
|
|
21
23
|
user
|
|
22
24
|
}
|
|
23
25
|
} = initPageResult;
|
|
26
|
+
// Reaching the inactivity route while still authenticated (e.g. auto-login has
|
|
27
|
+
// re-authenticated the user) means the inactivity screen doesn't apply. Redirect back
|
|
28
|
+
// to where they were headed instead of rendering the logout overlay indefinitely.
|
|
29
|
+
if (inactivity && user) {
|
|
30
|
+
req.server.redirect(getSafeRedirect({
|
|
31
|
+
fallbackTo: adminRoute,
|
|
32
|
+
redirectTo: searchParams.redirect
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
24
35
|
return /*#__PURE__*/_jsx("div", {
|
|
25
36
|
className: `${baseClass}`,
|
|
26
37
|
children: /*#__PURE__*/_jsx(LogoutClient, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","LogoutClient","baseClass","LogoutView","inactivity","initPageResult","searchParams","req","payload","config","routes","admin","adminRoute","user","
|
|
1
|
+
{"version":3,"file":"index.js","names":["getSafeRedirect","React","LogoutClient","baseClass","LogoutView","inactivity","initPageResult","searchParams","req","payload","config","routes","admin","adminRoute","user","server","redirect","fallbackTo","redirectTo","_jsx","className","id","collection"],"sources":["../../../src/views/Logout/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { getSafeRedirect } from 'payload/shared'\nimport React from 'react'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { LogoutClient } from '../../exports/client/index.js'\nimport './index.css'\n\nconst baseClass = 'logout'\n\nexport const LogoutView: React.FC<\n {\n inactivity?: boolean\n } & AdminViewServerProps\n> = ({ inactivity, initPageResult, searchParams }) => {\n const {\n req,\n req: {\n payload: {\n config: {\n routes: { admin: adminRoute },\n },\n },\n user,\n },\n } = initPageResult\n\n // Reaching the inactivity route while still authenticated (e.g. auto-login has\n // re-authenticated the user) means the inactivity screen doesn't apply. Redirect back\n // to where they were headed instead of rendering the logout overlay indefinitely.\n if (inactivity && user) {\n req.server.redirect(\n getSafeRedirect({ fallbackTo: adminRoute, redirectTo: searchParams.redirect as string }),\n )\n }\n\n return (\n <div className={`${baseClass}`}>\n <LogoutClient\n adminRoute={adminRoute}\n inactivity={inactivity}\n redirect={searchParams.redirect as string}\n user={user ? { id: user.id, collection: user.collection } : null}\n />\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,eAAe,QAAQ;AAChC,OAAOC,KAAA,MAAW;AAElB;AACA,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,UAAA,GAITA,CAAC;EAAEC,UAAU;EAAEC,cAAc;EAAEC;AAAY,CAAE;EAC/C,MAAM;IACJC,GAAG;IACHA,GAAA,EAAK;MACHC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,MAAA,EAAQ;YAAEC,KAAA,EAAOC;UAAU;QAAE;MAC9B,CACF;MACDC;IAAI;EACL,CACF,GAAGR,cAAA;EAEJ;EACA;EACA;EACA,IAAID,UAAA,IAAcS,IAAA,EAAM;IACtBN,GAAA,CAAIO,MAAM,CAACC,QAAQ,CACjBhB,eAAA,CAAgB;MAAEiB,UAAA,EAAYJ,UAAA;MAAYK,UAAA,EAAYX,YAAA,CAAaS;IAAmB;EAE1F;EAEA,oBACEG,IAAA,CAAC;IAAIC,SAAA,EAAW,GAAGjB,SAAA,EAAW;cAC5B,aAAAgB,IAAA,CAACjB,YAAA;MACCW,UAAA,EAAYA,UAAA;MACZR,UAAA,EAAYA,UAAA;MACZW,QAAA,EAAUT,YAAA,CAAaS,QAAQ;MAC/BF,IAAA,EAAMA,IAAA,GAAO;QAAEO,EAAA,EAAIP,IAAA,CAAKO,EAAE;QAAEC,UAAA,EAAYR,IAAA,CAAKQ;MAAW,IAAI;;;AAIpE","ignoreList":[]}
|
|
@@ -12,6 +12,17 @@ export type RenderRootArgs = {
|
|
|
12
12
|
config: Promise<SanitizedConfig>;
|
|
13
13
|
importMap: ImportMap;
|
|
14
14
|
initReq: InitReqFn;
|
|
15
|
+
/**
|
|
16
|
+
* Optional React `key` applied to the rendered view (not the surrounding admin
|
|
17
|
+
* template/nav). Adapters whose router reconciles a single RSC payload in place
|
|
18
|
+
* across navigations (e.g. TanStack Start) pass a per-route key here so the
|
|
19
|
+
* *view* remounts on route change — resetting view-scoped client providers like
|
|
20
|
+
* `DocumentInfoProvider` that hold uncontrolled `useState` from the prior
|
|
21
|
+
* document — while the persistent nav/template reconciles in place (no flash).
|
|
22
|
+
* Left `undefined` by Next.js, whose App Router already remounts the page
|
|
23
|
+
* segment while its layout (nav) persists.
|
|
24
|
+
*/
|
|
25
|
+
key?: string;
|
|
15
26
|
/** Framework notFound implementation (e.g. next/navigation notFound). Called before req is available. */
|
|
16
27
|
notFound: () => never;
|
|
17
28
|
params: Promise<{
|
|
@@ -23,6 +34,6 @@ export type RenderRootArgs = {
|
|
|
23
34
|
[key: string]: string | string[];
|
|
24
35
|
}>;
|
|
25
36
|
};
|
|
26
|
-
export declare const renderRoot: ({ adminViews, config: configPromise, importMap, initReq, notFound, params: paramsPromise, redirect, searchParams: searchParamsPromise, }: RenderRootArgs) => Promise<React.JSX.Element>;
|
|
37
|
+
export declare const renderRoot: ({ adminViews, config: configPromise, importMap, initReq, key, notFound, params: paramsPromise, redirect, searchParams: searchParamsPromise, }: RenderRootArgs) => Promise<React.JSX.Element>;
|
|
27
38
|
export {};
|
|
28
39
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAIhB,cAAc,EACd,SAAS,EACT,aAAa,EAEb,eAAe,EAEhB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IACzD,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;CACjD,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,gBAAgB,CAAA;IAC5B,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,CAAA;IAClB,yGAAyG;IACzG,QAAQ,EAAE,MAAM,KAAK,CAAA;IACrB,MAAM,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACvC,yGAAyG;IACzG,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;IAChC,YAAY,EAAE,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAC5D,CAAA;AAED,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAIhB,cAAc,EACd,SAAS,EACT,aAAa,EAEb,eAAe,EAEhB,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAgBzB,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IACzD,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;CACjD,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AAE5B,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,gBAAgB,CAAA;IAC5B,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,SAAS,CAAA;IAClB;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,yGAAyG;IACzG,QAAQ,EAAE,MAAM,KAAK,CAAA;IACrB,MAAM,EAAE,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACvC,yGAAyG;IACzG,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAA;IAChC,YAAY,EAAE,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAC5D,CAAA;AAED,eAAO,MAAM,UAAU,kJAUpB,cAAc,+BA0ThB,CAAA"}
|
package/dist/views/Root/index.js
CHANGED
|
@@ -22,6 +22,7 @@ export const renderRoot = async ({
|
|
|
22
22
|
config: configPromise,
|
|
23
23
|
importMap,
|
|
24
24
|
initReq,
|
|
25
|
+
key,
|
|
25
26
|
notFound,
|
|
26
27
|
params: paramsPromise,
|
|
27
28
|
redirect,
|
|
@@ -269,13 +270,19 @@ export const renderRoot = async ({
|
|
|
269
270
|
viewActions
|
|
270
271
|
}
|
|
271
272
|
});
|
|
273
|
+
// Wrap the view in a keyed boundary so it remounts on route change while the
|
|
274
|
+
// surrounding template/nav reconciles in place. `key={undefined}` (Next.js) is
|
|
275
|
+
// a no-op, preserving prior behavior.
|
|
276
|
+
const KeyedView = /*#__PURE__*/_jsx(React.Fragment, {
|
|
277
|
+
children: RenderedView
|
|
278
|
+
}, key);
|
|
272
279
|
return /*#__PURE__*/_jsxs(PageConfigProvider, {
|
|
273
280
|
config: clientConfig,
|
|
274
281
|
children: [!templateType && /*#__PURE__*/_jsx(React.Fragment, {
|
|
275
|
-
children:
|
|
282
|
+
children: KeyedView
|
|
276
283
|
}), templateType === 'minimal' && /*#__PURE__*/_jsx(MinimalTemplate, {
|
|
277
284
|
className: templateClassName,
|
|
278
|
-
children:
|
|
285
|
+
children: KeyedView
|
|
279
286
|
}), templateType === 'default' && /*#__PURE__*/_jsx(DefaultTemplate, {
|
|
280
287
|
collectionSlug: collectionConfig?.slug,
|
|
281
288
|
docID: routeParams.id,
|
|
@@ -297,7 +304,7 @@ export const renderRoot = async ({
|
|
|
297
304
|
collections: visibleEntities?.collections,
|
|
298
305
|
globals: visibleEntities?.globals
|
|
299
306
|
},
|
|
300
|
-
children:
|
|
307
|
+
children: KeyedView
|
|
301
308
|
})]
|
|
302
309
|
});
|
|
303
310
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["applyLocaleFiltering","formatAdminURL","qs","React","RenderServerComponent","PageConfigProvider","DefaultTemplate","MinimalTemplate","getClientConfig","getPreferences","getVisibleEntities","handleAuthRedirect","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","renderRoot","adminViews","config","configPromise","importMap","initReq","notFound","params","paramsPromise","redirect","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","server","collectionPreferences","id","then","res","value","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","usersCollection","disableLocalStrategy","auth","createFirstUserRoute","clientConfig","i18n","localization","localeCodes","includes","defaultLocale","visibleEntities","RenderedView","clientProps","collectionSlug","docID","globalSlug","Fallback","serverProps","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","_jsxs","_jsx","Fragment","className"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["'use server'\n\nimport type {\n AdminViewAdapter,\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n createLocalReq,\n ImportMap,\n InitReqResult,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { applyLocaleFiltering, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { PageConfigProvider } from '../../exports/client/index.js'\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\ntype InitReqFn = (args: {\n canSetHeaders?: boolean\n configPromise: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n key: string\n overrides?: Parameters<typeof createLocalReq>[0]\n}) => Promise<InitReqResult>\n\nexport type RenderRootArgs = {\n adminViews: AdminViewAdapter\n config: Promise<SanitizedConfig>\n importMap: ImportMap\n initReq: InitReqFn\n /** Framework notFound implementation (e.g. next/navigation notFound). Called before req is available. */\n notFound: () => never\n params: Promise<{ segments: string[] }>\n /** Framework redirect implementation (e.g. next/navigation redirect). Called before req is available. */\n redirect: (url: string) => never\n searchParams: Promise<{ [key: string]: string | string[] }>\n}\n\nexport const renderRoot = async ({\n adminViews,\n config: configPromise,\n importMap,\n initReq,\n notFound,\n params: paramsPromise,\n redirect,\n searchParams: searchParamsPromise,\n}: RenderRootArgs) => {\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 notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\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 // intentionally omit `serverURL` to keep URL relative\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 req.server.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 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 const {\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n adminViews,\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 req.server.notFound()\n }\n\n if (dbHasUser) {\n req.server.redirect(adminRoute)\n }\n }\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n const createFirstUserRoute = formatAdminURL({\n adminRoute,\n path: _createFirstUserRoute,\n })\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n req.server.redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n req.server.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 await applyLocaleFiltering({ clientConfig, config, req })\n\n // Ensure locale on req is still valid after filtering locales\n if (\n clientConfig.localization &&\n req.locale &&\n !clientConfig.localization.localeCodes.includes(req.locale)\n ) {\n req.server.redirect(\n `${currentRoute}${qs.stringify(\n {\n ...searchParams,\n locale: clientConfig.localization.localeCodes.includes(\n clientConfig.localization.defaultLocale,\n )\n ? clientConfig.localization.defaultLocale\n : clientConfig.localization.localeCodes[0],\n },\n { addQueryPrefix: true },\n )}`,\n )\n }\n\n const visibleEntities = getVisibleEntities({ req })\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n clientConfig,\n collectionSlug: collectionConfig?.slug,\n docID: routeParams.id,\n documentSubViewType,\n globalSlug: globalConfig?.slug,\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 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 server: req.server,\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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["applyLocaleFiltering","formatAdminURL","qs","React","RenderServerComponent","PageConfigProvider","DefaultTemplate","MinimalTemplate","getClientConfig","getPreferences","getVisibleEntities","handleAuthRedirect","isCustomAdminView","isPublicAdminRoute","getCustomViewByRoute","getRouteData","renderRoot","adminViews","config","configPromise","importMap","initReq","key","notFound","params","paramsPromise","redirect","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","overrides","fallbackLocale","query","parse","depth","ignoreQueryPrefix","urlSuffix","canAccessAdmin","route","server","collectionPreferences","id","then","res","value","DefaultView","documentSubViewType","routeParams","templateClassName","templateType","viewActions","viewType","dbHasUser","db","findOne","collection","doc","Component","payloadComponent","usersCollection","disableLocalStrategy","auth","createFirstUserRoute","clientConfig","i18n","localization","localeCodes","includes","defaultLocale","visibleEntities","RenderedView","clientProps","collectionSlug","docID","globalSlug","Fallback","serverProps","initPageResult","languageOptions","Object","entries","supportedLanguages","reduce","acc","language","languageConfig","keys","push","label","translations","general","thisLanguage","KeyedView","_jsx","Fragment","_jsxs","className"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["'use server'\n\nimport type {\n AdminViewAdapter,\n AdminViewClientProps,\n AdminViewServerPropsOnly,\n CollectionPreferences,\n createLocalReq,\n ImportMap,\n InitReqResult,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload'\n\nimport { applyLocaleFiltering, formatAdminURL } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React from 'react'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- Server component must reference exports/client bundle for proper client boundary in prod builds\nimport { PageConfigProvider } from '../../exports/client/index.js'\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { getClientConfig } from '../../utilities/getClientConfig.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { getVisibleEntities } from '../../utilities/getVisibleEntities.js'\nimport { handleAuthRedirect } from '../../utilities/handleAuthRedirect.js'\nimport { isCustomAdminView } from '../../utilities/isCustomAdminView.js'\nimport { isPublicAdminRoute } from '../../utilities/isPublicAdminRoute.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\ntype InitReqFn = (args: {\n canSetHeaders?: boolean\n configPromise: Promise<SanitizedConfig> | SanitizedConfig\n importMap: ImportMap\n key: string\n overrides?: Parameters<typeof createLocalReq>[0]\n}) => Promise<InitReqResult>\n\nexport type RenderRootArgs = {\n adminViews: AdminViewAdapter\n config: Promise<SanitizedConfig>\n importMap: ImportMap\n initReq: InitReqFn\n /**\n * Optional React `key` applied to the rendered view (not the surrounding admin\n * template/nav). Adapters whose router reconciles a single RSC payload in place\n * across navigations (e.g. TanStack Start) pass a per-route key here so the\n * *view* remounts on route change — resetting view-scoped client providers like\n * `DocumentInfoProvider` that hold uncontrolled `useState` from the prior\n * document — while the persistent nav/template reconciles in place (no flash).\n * Left `undefined` by Next.js, whose App Router already remounts the page\n * segment while its layout (nav) persists.\n */\n key?: string\n /** Framework notFound implementation (e.g. next/navigation notFound). Called before req is available. */\n notFound: () => never\n params: Promise<{ segments: string[] }>\n /** Framework redirect implementation (e.g. next/navigation redirect). Called before req is available. */\n redirect: (url: string) => never\n searchParams: Promise<{ [key: string]: string | string[] }>\n}\n\nexport const renderRoot = async ({\n adminViews,\n config: configPromise,\n importMap,\n initReq,\n key,\n notFound,\n params: paramsPromise,\n redirect,\n searchParams: searchParamsPromise,\n}: RenderRootArgs) => {\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 notFound()\n }\n\n const queryString = `${qs.stringify(searchParams ?? {}, { addQueryPrefix: true })}`\n\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 // intentionally omit `serverURL` to keep URL relative\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 req.server.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 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 const {\n DefaultView,\n documentSubViewType,\n routeParams,\n templateClassName,\n templateType,\n viewActions,\n viewType,\n } = getRouteData({\n adminRoute,\n adminViews,\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 req.server.notFound()\n }\n\n if (dbHasUser) {\n req.server.redirect(adminRoute)\n }\n }\n\n const usersCollection = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = usersCollection?.auth?.disableLocalStrategy\n\n const createFirstUserRoute = formatAdminURL({\n adminRoute,\n path: _createFirstUserRoute,\n })\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n req.server.redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n req.server.redirect(adminRoute)\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n req.server.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 await applyLocaleFiltering({ clientConfig, config, req })\n\n // Ensure locale on req is still valid after filtering locales\n if (\n clientConfig.localization &&\n req.locale &&\n !clientConfig.localization.localeCodes.includes(req.locale)\n ) {\n req.server.redirect(\n `${currentRoute}${qs.stringify(\n {\n ...searchParams,\n locale: clientConfig.localization.localeCodes.includes(\n clientConfig.localization.defaultLocale,\n )\n ? clientConfig.localization.defaultLocale\n : clientConfig.localization.localeCodes[0],\n },\n { addQueryPrefix: true },\n )}`,\n )\n }\n\n const visibleEntities = getVisibleEntities({ req })\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n clientConfig,\n collectionSlug: collectionConfig?.slug,\n docID: routeParams.id,\n documentSubViewType,\n globalSlug: globalConfig?.slug,\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 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 server: req.server,\n viewActions,\n } satisfies AdminViewServerPropsOnly,\n })\n\n // Wrap the view in a keyed boundary so it remounts on route change while the\n // surrounding template/nav reconciles in place. `key={undefined}` (Next.js) is\n // a no-op, preserving prior behavior.\n const KeyedView = <React.Fragment key={key}>{RenderedView}</React.Fragment>\n\n return (\n <PageConfigProvider config={clientConfig}>\n {!templateType && <React.Fragment>{KeyedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{KeyedView}</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 {KeyedView}\n </DefaultTemplate>\n )}\n </PageConfigProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "4.0.0-internal.
|
|
3
|
+
"version": "4.0.0-internal.d1cc1d3",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
}
|
|
18
18
|
],
|
|
19
19
|
"sideEffects": [
|
|
20
|
-
"*.scss",
|
|
21
20
|
"*.css"
|
|
22
21
|
],
|
|
23
22
|
"type": "module",
|
|
@@ -41,16 +40,12 @@
|
|
|
41
40
|
"import": "./dist/styles.css",
|
|
42
41
|
"default": "./dist/styles.css"
|
|
43
42
|
},
|
|
44
|
-
"./
|
|
45
|
-
"import": "./dist/scss/styles.scss",
|
|
46
|
-
"default": "./dist/scss/styles.scss"
|
|
47
|
-
},
|
|
43
|
+
"./css/app.css": "./dist/css/app.css",
|
|
48
44
|
"./rsc": {
|
|
49
45
|
"import": "./dist/exports/rsc/index.js",
|
|
50
46
|
"types": "./dist/exports/rsc/index.d.ts",
|
|
51
47
|
"default": "./dist/exports/rsc/index.js"
|
|
52
48
|
},
|
|
53
|
-
"./scss/app.scss": "./dist/scss/app.scss",
|
|
54
49
|
"./styles.css": "./dist/styles.css",
|
|
55
50
|
"./assets": {
|
|
56
51
|
"import": "./dist/assets/index.js",
|
|
@@ -294,7 +289,7 @@
|
|
|
294
289
|
"ts-essentials": "10.0.3",
|
|
295
290
|
"use-context-selector": "2.0.0",
|
|
296
291
|
"uuid": "14.0.0",
|
|
297
|
-
"@payloadcms/translations": "4.0.0-internal.
|
|
292
|
+
"@payloadcms/translations": "4.0.0-internal.d1cc1d3"
|
|
298
293
|
},
|
|
299
294
|
"devDependencies": {
|
|
300
295
|
"@babel/cli": "7.27.2",
|
|
@@ -309,12 +304,12 @@
|
|
|
309
304
|
"esbuild": "0.27.1",
|
|
310
305
|
"esbuild-sass-plugin": "3.3.1",
|
|
311
306
|
"@payloadcms/eslint-config": "3.28.0",
|
|
312
|
-
"payload": "4.0.0-internal.
|
|
307
|
+
"payload": "4.0.0-internal.d1cc1d3"
|
|
313
308
|
},
|
|
314
309
|
"peerDependencies": {
|
|
315
310
|
"react": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
316
311
|
"react-dom": "^19.0.1 || ^19.1.2 || ^19.2.1",
|
|
317
|
-
"payload": "4.0.0-internal.
|
|
312
|
+
"payload": "4.0.0-internal.d1cc1d3"
|
|
318
313
|
},
|
|
319
314
|
"engines": {
|
|
320
315
|
"node": ">=24.15.0"
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
@layer payload-default {
|
|
2
|
-
.relationship-table-pagination {
|
|
3
|
-
display: flex;
|
|
4
|
-
justify-content: space-between;
|
|
5
|
-
align-items: center;
|
|
6
|
-
font-family: var(--text-body-medium-font-family);
|
|
7
|
-
font-size: var(--text-body-medium-font-size);
|
|
8
|
-
font-weight: var(--text-body-medium-font-weight);
|
|
9
|
-
line-height: var(--text-body-medium-line-height);
|
|
10
|
-
color: var(--color-text-secondary);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.relationship-table-pagination__nav {
|
|
14
|
-
display: flex;
|
|
15
|
-
gap: var(--spacer-3);
|
|
16
|
-
align-items: center;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.relationship-table-pagination__button {
|
|
20
|
-
background: none;
|
|
21
|
-
border: none;
|
|
22
|
-
padding: 0;
|
|
23
|
-
font: inherit;
|
|
24
|
-
color: var(--color-text-secondary);
|
|
25
|
-
cursor: pointer;
|
|
26
|
-
|
|
27
|
-
&:hover:not(:disabled) {
|
|
28
|
-
color: var(--color-text);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
&:disabled {
|
|
32
|
-
cursor: not-allowed;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.relationship-table-pagination__count {
|
|
37
|
-
white-space: nowrap;
|
|
38
|
-
}
|
|
39
|
-
}
|