@payloadcms/ui 3.39.0-internal.32c7661 → 3.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/BulkUpload/ActionsBar/index.js +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +9 -0
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/Button/index.d.ts.map +1 -1
- package/dist/elements/Button/index.js +3 -3
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.scss +144 -83
- package/dist/elements/Button/types.d.ts +2 -1
- package/dist/elements/Button/types.d.ts.map +1 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.d.ts +17 -0
- package/dist/elements/CheckboxPopup/index.d.ts.map +1 -0
- package/dist/elements/CheckboxPopup/index.js +42 -0
- package/dist/elements/CheckboxPopup/index.js.map +1 -0
- package/dist/elements/CheckboxPopup/index.scss +19 -0
- package/dist/elements/CloseModalButton/index.d.ts +6 -0
- package/dist/elements/CloseModalButton/index.d.ts.map +1 -0
- package/dist/elements/CloseModalButton/index.js +27 -0
- package/dist/elements/CloseModalButton/index.js.map +1 -0
- package/dist/elements/CloseModalButton/index.scss +25 -0
- package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
- package/dist/elements/ColumnSelector/index.js +3 -2
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts +50 -2
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +230 -82
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts +2 -2
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +25 -26
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.scss +13 -3
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +1 -3
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.d.ts +12 -0
- package/dist/elements/DrawerActionHeader/index.d.ts.map +1 -0
- package/dist/elements/DrawerActionHeader/index.js +77 -0
- package/dist/elements/DrawerActionHeader/index.js.map +1 -0
- package/dist/elements/DrawerActionHeader/index.scss +24 -0
- package/dist/elements/DrawerContentContainer/index.d.ts +9 -0
- package/dist/elements/DrawerContentContainer/index.d.ts.map +1 -0
- package/dist/elements/DrawerContentContainer/index.js +14 -0
- package/dist/elements/DrawerContentContainer/index.js.map +1 -0
- package/dist/elements/DrawerContentContainer/index.scss +6 -0
- package/dist/elements/EditMany/DrawerContent.d.ts +25 -2
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +37 -13
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts +5 -0
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +68 -34
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditMany/index.scss +0 -16
- package/dist/elements/FolderView/Breadcrumbs/index.d.ts +19 -0
- package/dist/elements/FolderView/Breadcrumbs/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Breadcrumbs/index.js +96 -0
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -0
- package/dist/elements/FolderView/Breadcrumbs/index.scss +56 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts +6 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.d.ts.map +1 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +40 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -0
- package/dist/elements/FolderView/BrowseByFolderButton/index.scss +30 -0
- package/dist/elements/FolderView/Cell/index.client.d.ts +11 -0
- package/dist/elements/FolderView/Cell/index.client.d.ts.map +1 -0
- package/dist/elements/FolderView/Cell/index.client.js +84 -0
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -0
- package/dist/elements/FolderView/Cell/index.server.d.ts +4 -0
- package/dist/elements/FolderView/Cell/index.server.d.ts.map +1 -0
- package/dist/elements/FolderView/Cell/index.server.js +13 -0
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -0
- package/dist/elements/FolderView/CollectionTypePill/index.d.ts +4 -0
- package/dist/elements/FolderView/CollectionTypePill/index.d.ts.map +1 -0
- package/dist/elements/FolderView/CollectionTypePill/index.js +97 -0
- package/dist/elements/FolderView/CollectionTypePill/index.js.map +1 -0
- package/dist/elements/FolderView/CollectionTypePill/index.scss +16 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts +3 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.d.ts.map +1 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -0
- package/dist/elements/FolderView/ColoredFolderIcon/index.scss +5 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.d.ts +7 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.d.ts.map +1 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.js +146 -0
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.d.ts +12 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.d.ts.map +1 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.js +67 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -0
- package/dist/elements/FolderView/DragOverlaySelection/index.scss +35 -0
- package/dist/elements/FolderView/DraggableTableRow/index.d.ts +18 -0
- package/dist/elements/FolderView/DraggableTableRow/index.d.ts.map +1 -0
- package/dist/elements/FolderView/DraggableTableRow/index.js +64 -0
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -0
- package/dist/elements/FolderView/DraggableTableRow/index.scss +135 -0
- package/dist/elements/FolderView/DraggableWithClick/index.d.ts +15 -0
- package/dist/elements/FolderView/DraggableWithClick/index.d.ts.map +1 -0
- package/dist/elements/FolderView/DraggableWithClick/index.js +81 -0
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -0
- package/dist/elements/FolderView/DraggableWithClick/index.scss +5 -0
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts +10 -0
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.js +55 -0
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.js.map +1 -0
- package/dist/elements/FolderView/Drawers/DrawerHeader/index.scss +30 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts +32 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +493 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -0
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.scss +26 -0
- package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts +9 -0
- package/dist/elements/FolderView/Drawers/NewFolder/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Drawers/NewFolder/index.js +157 -0
- package/dist/elements/FolderView/Drawers/NewFolder/index.js.map +1 -0
- package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts +13 -0
- package/dist/elements/FolderView/Drawers/RenameFolder/index.d.ts.map +1 -0
- package/dist/elements/FolderView/Drawers/RenameFolder/index.js +140 -0
- package/dist/elements/FolderView/Drawers/RenameFolder/index.js.map +1 -0
- package/dist/elements/FolderView/Field/index.scss +12 -0
- package/dist/elements/FolderView/Field/index.server.d.ts +4 -0
- package/dist/elements/FolderView/Field/index.server.d.ts.map +1 -0
- package/dist/elements/FolderView/Field/index.server.js +11 -0
- package/dist/elements/FolderView/Field/index.server.js.map +1 -0
- package/dist/elements/FolderView/FolderFileCard/index.d.ts +21 -0
- package/dist/elements/FolderView/FolderFileCard/index.d.ts.map +1 -0
- package/dist/elements/FolderView/FolderFileCard/index.js +94 -0
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -0
- package/dist/elements/FolderView/FolderFileCard/index.scss +213 -0
- package/dist/elements/FolderView/FolderFileTable/index.d.ts +29 -0
- package/dist/elements/FolderView/FolderFileTable/index.d.ts.map +1 -0
- package/dist/elements/FolderView/FolderFileTable/index.js +189 -0
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -0
- package/dist/elements/FolderView/FolderFileTable/index.scss +11 -0
- package/dist/elements/FolderView/ItemCardGrid/index.d.ts +22 -0
- package/dist/elements/FolderView/ItemCardGrid/index.d.ts.map +1 -0
- package/dist/elements/FolderView/ItemCardGrid/index.js +100 -0
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -0
- package/dist/elements/FolderView/ItemCardGrid/index.scss +16 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts +34 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.d.ts.map +1 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.js +287 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -0
- package/dist/elements/FolderView/MoveDocToFolder/index.scss +12 -0
- package/dist/elements/FolderView/SimpleTable/index.d.ts +19 -0
- package/dist/elements/FolderView/SimpleTable/index.d.ts.map +1 -0
- package/dist/elements/FolderView/SimpleTable/index.js +95 -0
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -0
- package/dist/elements/FolderView/SimpleTable/index.scss +59 -0
- package/dist/elements/FolderView/SortByPill/index.d.ts +4 -0
- package/dist/elements/FolderView/SortByPill/index.d.ts.map +1 -0
- package/dist/elements/FolderView/SortByPill/index.js +108 -0
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -0
- package/dist/elements/FolderView/SortByPill/index.scss +16 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.d.ts +8 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.d.ts.map +1 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.js +31 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -0
- package/dist/elements/FolderView/ToggleViewButtons/index.scss +17 -0
- package/dist/elements/Gutter/index.d.ts.map +1 -1
- package/dist/elements/Gutter/index.js +1 -1
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +1 -1
- package/dist/elements/ListControls/ActiveQueryPreset/index.js +93 -67
- package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +1 -1
- package/dist/elements/ListControls/ActiveQueryPreset/index.scss +17 -5
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +2 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js +5 -2
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +13 -15
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +1 -1
- package/dist/elements/ListControls/types.d.ts +1 -0
- package/dist/elements/ListControls/types.d.ts.map +1 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListControls/useQueryPresets.d.ts.map +1 -1
- package/dist/elements/ListControls/useQueryPresets.js +19 -27
- package/dist/elements/ListControls/useQueryPresets.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +34 -22
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListFolderPills/index.d.ts +9 -0
- package/dist/elements/ListFolderPills/index.d.ts.map +1 -0
- package/dist/elements/ListFolderPills/index.js +93 -0
- package/dist/elements/ListFolderPills/index.js.map +1 -0
- package/dist/elements/ListFolderPills/index.scss +7 -0
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts +2 -0
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.d.ts.map +1 -0
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +98 -0
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts +6 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +39 -0
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts +2 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.d.ts.map +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.js +2 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +15 -0
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +85 -0
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.d.ts +8 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +48 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts +12 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.d.ts.map +1 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +168 -0
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -0
- package/dist/elements/ListHeader/TitleActions/index.d.ts +4 -0
- package/dist/elements/ListHeader/TitleActions/index.d.ts.map +1 -0
- package/dist/elements/ListHeader/TitleActions/index.js +4 -0
- package/dist/elements/ListHeader/TitleActions/index.js.map +1 -0
- package/dist/elements/ListHeader/index.d.ts +13 -0
- package/dist/elements/ListHeader/index.d.ts.map +1 -0
- package/dist/elements/ListHeader/index.js +29 -0
- package/dist/elements/ListHeader/index.js.map +1 -0
- package/dist/elements/ListHeader/index.scss +48 -0
- package/dist/elements/ListSelection/index.d.ts +22 -7
- package/dist/elements/ListSelection/index.d.ts.map +1 -1
- package/dist/elements/ListSelection/index.js +58 -60
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/ListSelection/index.scss +10 -1
- package/dist/elements/NoListResults/index.d.ts +9 -0
- package/dist/elements/NoListResults/index.d.ts.map +1 -0
- package/dist/elements/NoListResults/index.js +19 -0
- package/dist/elements/NoListResults/index.js.map +1 -0
- package/dist/elements/NoListResults/index.scss +20 -0
- package/dist/elements/Pagination/index.js +2 -2
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/Pill/index.scss +25 -9
- package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.scss +12 -1
- package/dist/elements/Popup/PopupDivider/index.scss +1 -0
- package/dist/elements/Popup/PopupGroupLabel/index.scss +4 -1
- package/dist/elements/Popup/PopupTrigger/index.js +92 -26
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.d.ts +1 -0
- package/dist/elements/Popup/index.d.ts.map +1 -1
- package/dist/elements/Popup/index.js +18 -7
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/Popup/index.scss +1 -0
- package/dist/elements/PublishMany/DrawerContent.d.ts +10 -0
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -0
- package/dist/elements/PublishMany/DrawerContent.js +143 -0
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -0
- package/dist/elements/PublishMany/index.d.ts +7 -1
- package/dist/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/elements/PublishMany/index.js +75 -110
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/SearchBar/index.d.ts +12 -0
- package/dist/elements/SearchBar/index.d.ts.map +1 -0
- package/dist/elements/SearchBar/index.js +26 -0
- package/dist/elements/SearchBar/index.js.map +1 -0
- package/dist/elements/SearchBar/index.scss +26 -0
- package/dist/elements/SearchFilter/index.d.ts +23 -0
- package/dist/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/elements/SearchFilter/index.js +9 -7
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SortColumn/index.scss +1 -1
- package/dist/elements/StepNav/types.d.ts +2 -1
- package/dist/elements/StepNav/types.d.ts.map +1 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/Table/index.scss +33 -7
- package/dist/elements/UnpublishMany/DrawerContent.d.ts +10 -0
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -0
- package/dist/elements/UnpublishMany/DrawerContent.js +134 -0
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -0
- package/dist/elements/UnpublishMany/index.d.ts +5 -1
- package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/index.js +79 -112
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +29 -16
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/index.scss +0 -15
- package/dist/exports/client/index.d.ts +16 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +22 -23
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +2 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +2 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.d.ts +1 -1
- 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 +2 -2
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +4 -4
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +3 -1
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Upload/index.scss +0 -4
- package/dist/forms/fieldSchemasToFormState/renderField.js +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/hooks/useClickOutside.d.ts +2 -0
- package/dist/hooks/useClickOutside.d.ts.map +1 -0
- package/dist/hooks/useClickOutside.js +20 -0
- package/dist/hooks/useClickOutside.js.map +1 -0
- package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
- package/dist/hooks/useUseAsTitle.js +25 -5
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/icons/Document/index.d.ts +4 -0
- package/dist/icons/Document/index.d.ts.map +1 -0
- package/dist/icons/Document/index.js +20 -0
- package/dist/icons/Document/index.js.map +1 -0
- package/dist/icons/Document/index.scss +6 -0
- package/dist/icons/Dots/index.scss +3 -3
- package/dist/icons/Folder/index.d.ts +6 -0
- package/dist/icons/Folder/index.d.ts.map +1 -0
- package/dist/icons/Folder/index.js +20 -0
- package/dist/icons/Folder/index.js.map +1 -0
- package/dist/icons/Folder/index.scss +6 -0
- package/dist/icons/GridView/index.d.ts +4 -0
- package/dist/icons/GridView/index.d.ts.map +1 -0
- package/dist/icons/GridView/index.js +35 -0
- package/dist/icons/GridView/index.js.map +1 -0
- package/dist/icons/GridView/index.scss +3 -0
- package/dist/icons/ListView/index.d.ts +4 -0
- package/dist/icons/ListView/index.d.ts.map +1 -0
- package/dist/icons/ListView/index.js +20 -0
- package/dist/icons/ListView/index.js.map +1 -0
- package/dist/icons/ListView/index.scss +3 -0
- package/dist/icons/MoveFolder/index.d.ts +4 -0
- package/dist/icons/MoveFolder/index.d.ts.map +1 -0
- package/dist/icons/MoveFolder/index.js +39 -0
- package/dist/icons/MoveFolder/index.js.map +1 -0
- package/dist/icons/MoveFolder/index.scss +6 -0
- package/dist/icons/People/index.d.ts.map +1 -1
- package/dist/icons/People/index.js +7 -5
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.d.ts +6 -0
- package/dist/icons/ThreeDots/index.d.ts.map +1 -0
- package/dist/icons/ThreeDots/index.js +12 -0
- package/dist/icons/ThreeDots/index.js.map +1 -0
- package/dist/icons/ThreeDots/index.scss +17 -0
- package/dist/providers/ClickOutside/index.d.ts +14 -0
- package/dist/providers/ClickOutside/index.d.ts.map +1 -0
- package/dist/providers/ClickOutside/index.js +39 -0
- package/dist/providers/ClickOutside/index.js.map +1 -0
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +10 -4
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/Folders/index.d.ts +119 -0
- package/dist/providers/Folders/index.d.ts.map +1 -0
- package/dist/providers/Folders/index.js +856 -0
- package/dist/providers/Folders/index.js.map +1 -0
- package/dist/providers/Folders/selection.d.ts +11 -0
- package/dist/providers/Folders/selection.d.ts.map +1 -0
- package/dist/providers/Folders/selection.js +38 -0
- package/dist/providers/Folders/selection.js.map +1 -0
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +31 -25
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts.map +1 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/Preferences/index.d.ts +3 -2
- package/dist/providers/Preferences/index.d.ts.map +1 -1
- package/dist/providers/Preferences/index.js +1 -0
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js +99 -67
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.d.ts +2 -0
- package/dist/providers/RouteCache/index.d.ts.map +1 -1
- package/dist/providers/RouteCache/index.js +38 -29
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/Selection/index.d.ts +1 -0
- package/dist/providers/Selection/index.d.ts.map +1 -1
- package/dist/providers/Selection/index.js +15 -5
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFields.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts +12 -0
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +13 -0
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/index.d.ts +31 -0
- package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/index.js +143 -0
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.d.ts +8 -0
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +16 -0
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts +18 -0
- package/dist/providers/TableColumns/buildColumnState/renderCell.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +110 -0
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.d.ts +3 -0
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.d.ts.map +1 -0
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +20 -0
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -0
- package/dist/scss/app.scss +6 -2
- package/dist/scss/resets.scss +2 -0
- package/dist/styles.css +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.d.ts +3 -3
- package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
- package/dist/utilities/renderTable.d.ts +2 -3
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +52 -33
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/BrowseByFolder/index.d.ts +8 -0
- package/dist/views/BrowseByFolder/index.d.ts.map +1 -0
- package/dist/views/BrowseByFolder/index.js +312 -0
- package/dist/views/BrowseByFolder/index.js.map +1 -0
- package/dist/views/BrowseByFolder/index.scss +174 -0
- package/dist/views/CollectionFolder/ListSelection/index.d.ts +7 -0
- package/dist/views/CollectionFolder/ListSelection/index.d.ts.map +1 -0
- package/dist/views/CollectionFolder/ListSelection/index.js +201 -0
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -0
- package/dist/views/CollectionFolder/index.d.ts +5 -0
- package/dist/views/CollectionFolder/index.d.ts.map +1 -0
- package/dist/views/CollectionFolder/index.js +306 -0
- package/dist/views/CollectionFolder/index.js.map +1 -0
- package/dist/views/CollectionFolder/index.scss +162 -0
- package/dist/views/Edit/index.js +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +13 -2
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +52 -113
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.scss +10 -77
- package/dist/views/List/ListSelection/index.d.ts +10 -0
- package/dist/views/List/ListSelection/index.d.ts.map +1 -0
- package/dist/views/List/ListSelection/index.js +87 -0
- package/dist/views/List/ListSelection/index.js.map +1 -0
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +7 -11
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/index.scss +0 -7
- package/package.json +5 -4
- package/dist/elements/DeleteMany/index.scss +0 -27
- package/dist/elements/PublishMany/index.scss +0 -21
- package/dist/elements/UnpublishMany/index.scss +0 -21
- package/dist/providers/TableColumns/buildColumnState.d.ts +0 -21
- package/dist/providers/TableColumns/buildColumnState.d.ts.map +0 -1
- package/dist/providers/TableColumns/buildColumnState.js +0 -201
- package/dist/providers/TableColumns/buildColumnState.js.map +0 -1
- package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts +0 -20
- package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
- package/dist/providers/TableColumns/buildPolymorphicColumnState.js +0 -200
- package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +0 -1
- package/dist/providers/TableColumns/filterFields.d.ts.map +0 -1
- package/dist/providers/TableColumns/filterFields.js.map +0 -1
- /package/dist/providers/TableColumns/{filterFields.d.ts → buildColumnState/filterFields.d.ts} +0 -0
- /package/dist/providers/TableColumns/{filterFields.js → buildColumnState/filterFields.js} +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { I18nClient } from '@payloadcms/translations';
|
|
2
|
+
import type { ClientField, CollectionSlug, Column, DefaultCellComponentProps, Document, Field, ListPreferences, PaginatedDocs, Payload, SanitizedCollectionConfig } from 'payload';
|
|
3
|
+
import type { SortColumnProps } from '../../../elements/SortColumn/index.js';
|
|
4
|
+
export type BuildColumnStateArgs = {
|
|
5
|
+
beforeRows?: Column[];
|
|
6
|
+
clientFields: ClientField[];
|
|
7
|
+
columnPreferences: ListPreferences['columns'];
|
|
8
|
+
columns?: ListPreferences['columns'];
|
|
9
|
+
customCellProps: DefaultCellComponentProps['customCellProps'];
|
|
10
|
+
enableLinkedCell?: boolean;
|
|
11
|
+
enableRowSelections: boolean;
|
|
12
|
+
enableRowTypes?: boolean;
|
|
13
|
+
i18n: I18nClient;
|
|
14
|
+
payload: Payload;
|
|
15
|
+
serverFields: Field[];
|
|
16
|
+
sortColumnProps?: Partial<SortColumnProps>;
|
|
17
|
+
useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle'];
|
|
18
|
+
} & ({
|
|
19
|
+
collectionSlug: CollectionSlug;
|
|
20
|
+
dataType: 'monomorphic';
|
|
21
|
+
docs: PaginatedDocs['docs'];
|
|
22
|
+
} | {
|
|
23
|
+
collectionSlug?: undefined;
|
|
24
|
+
dataType: 'polymorphic';
|
|
25
|
+
docs: {
|
|
26
|
+
relationTo: CollectionSlug;
|
|
27
|
+
value: Document;
|
|
28
|
+
}[];
|
|
29
|
+
});
|
|
30
|
+
export declare const buildColumnState: (args: BuildColumnStateArgs) => Column[];
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/TableColumns/buildColumnState/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAEV,WAAW,EACX,cAAc,EACd,MAAM,EACN,yBAAyB,EACzB,QAAQ,EACR,KAAK,EACL,eAAe,EACf,aAAa,EACb,OAAO,EACP,yBAAyB,EAG1B,MAAM,SAAS,CAAA;AAUhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAY5E,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,iBAAiB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IAC7C,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACpC,eAAe,EAAE,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,KAAK,EAAE,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1C,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,GAAG,CACA;IACE,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,EAAE,aAAa,CAAA;IACvB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC5B,GACD;IACE,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,EAAE,aAAa,CAAA;IACvB,IAAI,EAAE;QACJ,UAAU,EAAE,cAAc,CAAA;QAC1B,KAAK,EAAE,QAAQ,CAAA;KAChB,EAAE,CAAA;CACJ,CACJ,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAU,oBAAoB,KAAG,MAAM,EA6LnE,CAAA"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { fieldIsHiddenOrDisabled, fieldIsID, fieldIsPresentationalOnly, flattenTopLevelFields } from 'payload/shared';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js';
|
|
5
|
+
import { SortColumn } from '../../../exports/client/index.js';
|
|
6
|
+
import { filterFields } from './filterFields.js';
|
|
7
|
+
import { isColumnActive } from './isColumnActive.js';
|
|
8
|
+
import { renderCell } from './renderCell.js';
|
|
9
|
+
import { sortFieldMap } from './sortFieldMap.js';
|
|
10
|
+
export const buildColumnState = args => {
|
|
11
|
+
const {
|
|
12
|
+
beforeRows,
|
|
13
|
+
clientFields,
|
|
14
|
+
collectionSlug,
|
|
15
|
+
columnPreferences,
|
|
16
|
+
columns,
|
|
17
|
+
customCellProps,
|
|
18
|
+
dataType,
|
|
19
|
+
docs,
|
|
20
|
+
enableLinkedCell = true,
|
|
21
|
+
enableRowSelections,
|
|
22
|
+
i18n,
|
|
23
|
+
payload,
|
|
24
|
+
serverFields,
|
|
25
|
+
sortColumnProps,
|
|
26
|
+
useAsTitle
|
|
27
|
+
} = args;
|
|
28
|
+
// clientFields contains the fake `id` column
|
|
29
|
+
let sortedFieldMap = flattenTopLevelFields(filterFields(clientFields), {
|
|
30
|
+
i18n,
|
|
31
|
+
keepPresentationalFields: true,
|
|
32
|
+
moveSubFieldsToTop: true
|
|
33
|
+
});
|
|
34
|
+
let _sortedFieldMap = flattenTopLevelFields(filterFields(serverFields), {
|
|
35
|
+
i18n,
|
|
36
|
+
keepPresentationalFields: true,
|
|
37
|
+
moveSubFieldsToTop: true
|
|
38
|
+
}) // TODO: think of a way to avoid this additional flatten
|
|
39
|
+
;
|
|
40
|
+
// place the `ID` field first, if it exists
|
|
41
|
+
// do the same for the `useAsTitle` field with precedence over the `ID` field
|
|
42
|
+
// then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`
|
|
43
|
+
const idFieldIndex = sortedFieldMap?.findIndex(field => fieldIsID(field));
|
|
44
|
+
if (idFieldIndex > -1) {
|
|
45
|
+
const idField = sortedFieldMap.splice(idFieldIndex, 1)[0];
|
|
46
|
+
sortedFieldMap.unshift(idField);
|
|
47
|
+
}
|
|
48
|
+
const useAsTitleFieldIndex = useAsTitle ? sortedFieldMap.findIndex(field => 'name' in field && field.name === useAsTitle) : -1;
|
|
49
|
+
if (useAsTitleFieldIndex > -1) {
|
|
50
|
+
const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0];
|
|
51
|
+
sortedFieldMap.unshift(useAsTitleField);
|
|
52
|
+
}
|
|
53
|
+
const sortTo = columnPreferences || columns;
|
|
54
|
+
if (sortTo) {
|
|
55
|
+
// sort the fields to the order of `defaultColumns` or `columnPreferences`
|
|
56
|
+
sortedFieldMap = sortFieldMap(sortedFieldMap, sortTo);
|
|
57
|
+
_sortedFieldMap = sortFieldMap(_sortedFieldMap, sortTo) // TODO: think of a way to avoid this additional sort
|
|
58
|
+
;
|
|
59
|
+
}
|
|
60
|
+
const activeColumnsIndices = [];
|
|
61
|
+
const sorted = sortedFieldMap?.reduce((acc, clientField, colIndex) => {
|
|
62
|
+
if (fieldIsHiddenOrDisabled(clientField) && !fieldIsID(clientField)) {
|
|
63
|
+
return acc;
|
|
64
|
+
}
|
|
65
|
+
const accessor = clientField.accessor ?? ('name' in clientField ? clientField.name : undefined);
|
|
66
|
+
const serverField = _sortedFieldMap.find(f => {
|
|
67
|
+
const fAccessor = f.accessor ?? ('name' in f ? f.name : undefined);
|
|
68
|
+
return fAccessor === accessor;
|
|
69
|
+
});
|
|
70
|
+
const columnPreference = columnPreferences?.find(preference => clientField && 'name' in clientField && preference.accessor === accessor);
|
|
71
|
+
const isActive = isColumnActive({
|
|
72
|
+
accessor,
|
|
73
|
+
activeColumnsIndices,
|
|
74
|
+
columnPreference,
|
|
75
|
+
columns
|
|
76
|
+
});
|
|
77
|
+
if (isActive && !activeColumnsIndices.includes(colIndex)) {
|
|
78
|
+
activeColumnsIndices.push(colIndex);
|
|
79
|
+
}
|
|
80
|
+
let CustomLabel = undefined;
|
|
81
|
+
if (dataType === 'monomorphic') {
|
|
82
|
+
const CustomLabelToRender = serverField && 'admin' in serverField && 'components' in serverField.admin && 'Label' in serverField.admin.components && serverField.admin.components.Label !== undefined // let it return `null`
|
|
83
|
+
? serverField.admin.components.Label : undefined;
|
|
84
|
+
// TODO: customComponent will be optional in v4
|
|
85
|
+
const clientProps = {
|
|
86
|
+
field: clientField
|
|
87
|
+
};
|
|
88
|
+
const customLabelServerProps = {
|
|
89
|
+
clientField,
|
|
90
|
+
collectionSlug,
|
|
91
|
+
field: serverField,
|
|
92
|
+
i18n,
|
|
93
|
+
payload
|
|
94
|
+
};
|
|
95
|
+
CustomLabel = CustomLabelToRender ? RenderServerComponent({
|
|
96
|
+
clientProps,
|
|
97
|
+
Component: CustomLabelToRender,
|
|
98
|
+
importMap: payload.importMap,
|
|
99
|
+
serverProps: customLabelServerProps
|
|
100
|
+
}) : undefined;
|
|
101
|
+
}
|
|
102
|
+
const fieldAffectsDataSubFields = clientField && clientField.type && (clientField.type === 'array' || clientField.type === 'group' || clientField.type === 'blocks');
|
|
103
|
+
const label = clientField && 'labelWithPrefix' in clientField && clientField.labelWithPrefix !== undefined ? clientField.labelWithPrefix : 'label' in clientField ? clientField.label : undefined;
|
|
104
|
+
// Convert accessor to dot notation specifically for SortColumn sorting behavior
|
|
105
|
+
const dotAccessor = accessor?.replace(/-/g, '.');
|
|
106
|
+
const Heading = /*#__PURE__*/_jsx(SortColumn, {
|
|
107
|
+
disable: fieldAffectsDataSubFields || fieldIsPresentationalOnly(clientField) || undefined,
|
|
108
|
+
Label: CustomLabel,
|
|
109
|
+
label: label,
|
|
110
|
+
name: dotAccessor,
|
|
111
|
+
...(sortColumnProps || {})
|
|
112
|
+
});
|
|
113
|
+
const column = {
|
|
114
|
+
accessor,
|
|
115
|
+
active: isActive,
|
|
116
|
+
CustomLabel,
|
|
117
|
+
field: clientField,
|
|
118
|
+
Heading,
|
|
119
|
+
renderedCells: isActive ? docs.map((doc, rowIndex) => {
|
|
120
|
+
return renderCell({
|
|
121
|
+
clientField,
|
|
122
|
+
collectionSlug: dataType === 'monomorphic' ? collectionSlug : doc.relationTo,
|
|
123
|
+
columnIndex: colIndex,
|
|
124
|
+
customCellProps,
|
|
125
|
+
doc: dataType === 'monomorphic' ? doc : doc.value,
|
|
126
|
+
enableRowSelections,
|
|
127
|
+
i18n,
|
|
128
|
+
isLinkedColumn: enableLinkedCell && colIndex === activeColumnsIndices[0],
|
|
129
|
+
payload,
|
|
130
|
+
rowIndex,
|
|
131
|
+
serverField
|
|
132
|
+
});
|
|
133
|
+
}) : []
|
|
134
|
+
};
|
|
135
|
+
acc.push(column);
|
|
136
|
+
return acc;
|
|
137
|
+
}, []);
|
|
138
|
+
if (beforeRows) {
|
|
139
|
+
sorted.unshift(...beforeRows);
|
|
140
|
+
}
|
|
141
|
+
return sorted;
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["fieldIsHiddenOrDisabled","fieldIsID","fieldIsPresentationalOnly","flattenTopLevelFields","React","RenderServerComponent","SortColumn","filterFields","isColumnActive","renderCell","sortFieldMap","buildColumnState","args","beforeRows","clientFields","collectionSlug","columnPreferences","columns","customCellProps","dataType","docs","enableLinkedCell","enableRowSelections","i18n","payload","serverFields","sortColumnProps","useAsTitle","sortedFieldMap","keepPresentationalFields","moveSubFieldsToTop","_sortedFieldMap","idFieldIndex","findIndex","field","idField","splice","unshift","useAsTitleFieldIndex","name","useAsTitleField","sortTo","activeColumnsIndices","sorted","reduce","acc","clientField","colIndex","accessor","undefined","serverField","find","f","fAccessor","columnPreference","preference","isActive","includes","push","CustomLabel","CustomLabelToRender","admin","components","Label","clientProps","customLabelServerProps","Component","importMap","serverProps","fieldAffectsDataSubFields","type","label","labelWithPrefix","dotAccessor","replace","Heading","_jsx","disable","column","active","renderedCells","map","doc","rowIndex","relationTo","columnIndex","value","isLinkedColumn"],"sources":["../../../../src/providers/TableColumns/buildColumnState/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientComponentProps,\n ClientField,\n CollectionSlug,\n Column,\n DefaultCellComponentProps,\n Document,\n Field,\n ListPreferences,\n PaginatedDocs,\n Payload,\n SanitizedCollectionConfig,\n ServerComponentProps,\n StaticLabel,\n} from 'payload'\n\nimport {\n fieldIsHiddenOrDisabled,\n fieldIsID,\n fieldIsPresentationalOnly,\n flattenTopLevelFields,\n} from 'payload/shared'\nimport React from 'react'\n\nimport type { SortColumnProps } from '../../../elements/SortColumn/index.js'\n\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport {\n SortColumn,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../../../exports/client/index.js'\nimport { filterFields } from './filterFields.js'\nimport { isColumnActive } from './isColumnActive.js'\nimport { renderCell } from './renderCell.js'\nimport { sortFieldMap } from './sortFieldMap.js'\n\nexport type BuildColumnStateArgs = {\n beforeRows?: Column[]\n clientFields: ClientField[]\n columnPreferences: ListPreferences['columns']\n columns?: ListPreferences['columns']\n customCellProps: DefaultCellComponentProps['customCellProps']\n enableLinkedCell?: boolean\n enableRowSelections: boolean\n enableRowTypes?: boolean\n i18n: I18nClient\n payload: Payload\n serverFields: Field[]\n sortColumnProps?: Partial<SortColumnProps>\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n} & (\n | {\n collectionSlug: CollectionSlug\n dataType: 'monomorphic'\n docs: PaginatedDocs['docs']\n }\n | {\n collectionSlug?: undefined\n dataType: 'polymorphic'\n docs: {\n relationTo: CollectionSlug\n value: Document\n }[]\n }\n)\n\nexport const buildColumnState = (args: BuildColumnStateArgs): Column[] => {\n const {\n beforeRows,\n clientFields,\n collectionSlug,\n columnPreferences,\n columns,\n customCellProps,\n dataType,\n docs,\n enableLinkedCell = true,\n enableRowSelections,\n i18n,\n payload,\n serverFields,\n sortColumnProps,\n useAsTitle,\n } = args\n\n // clientFields contains the fake `id` column\n let sortedFieldMap = flattenTopLevelFields(filterFields(clientFields), {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n }) as ClientField[]\n\n let _sortedFieldMap = flattenTopLevelFields(filterFields(serverFields), {\n i18n,\n keepPresentationalFields: true,\n moveSubFieldsToTop: true,\n }) as Field[] // TODO: think of a way to avoid this additional flatten\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap?.findIndex((field) => fieldIsID(field))\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => 'name' in field && field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortFieldMap<ClientField>(sortedFieldMap, sortTo)\n _sortedFieldMap = sortFieldMap<Field>(_sortedFieldMap, sortTo) // TODO: think of a way to avoid this additional sort\n }\n\n const activeColumnsIndices = []\n\n const sorted: Column[] = sortedFieldMap?.reduce((acc, clientField, colIndex) => {\n if (fieldIsHiddenOrDisabled(clientField) && !fieldIsID(clientField)) {\n return acc\n }\n\n const accessor =\n (clientField as any).accessor ?? ('name' in clientField ? clientField.name : undefined)\n\n const serverField = _sortedFieldMap.find((f) => {\n const fAccessor = (f as any).accessor ?? ('name' in f ? f.name : undefined)\n return fAccessor === accessor\n })\n\n const columnPreference = columnPreferences?.find(\n (preference) => clientField && 'name' in clientField && preference.accessor === accessor,\n )\n\n const isActive = isColumnActive({\n accessor,\n activeColumnsIndices,\n columnPreference,\n columns,\n })\n\n if (isActive && !activeColumnsIndices.includes(colIndex)) {\n activeColumnsIndices.push(colIndex)\n }\n\n let CustomLabel = undefined\n\n if (dataType === 'monomorphic') {\n const CustomLabelToRender =\n serverField &&\n 'admin' in serverField &&\n 'components' in serverField.admin &&\n 'Label' in serverField.admin.components &&\n serverField.admin.components.Label !== undefined // let it return `null`\n ? serverField.admin.components.Label\n : undefined\n\n // TODO: customComponent will be optional in v4\n const clientProps: Omit<ClientComponentProps, 'customComponents'> = {\n field: clientField,\n }\n\n const customLabelServerProps: Pick<\n ServerComponentProps,\n 'clientField' | 'collectionSlug' | 'field' | 'i18n' | 'payload'\n > = {\n clientField,\n collectionSlug,\n field: serverField,\n i18n,\n payload,\n }\n\n CustomLabel = CustomLabelToRender\n ? RenderServerComponent({\n clientProps,\n Component: CustomLabelToRender,\n importMap: payload.importMap,\n serverProps: customLabelServerProps,\n })\n : undefined\n }\n\n const fieldAffectsDataSubFields =\n clientField &&\n clientField.type &&\n (clientField.type === 'array' ||\n clientField.type === 'group' ||\n clientField.type === 'blocks')\n\n const label =\n clientField && 'labelWithPrefix' in clientField && clientField.labelWithPrefix !== undefined\n ? clientField.labelWithPrefix\n : 'label' in clientField\n ? clientField.label\n : undefined\n\n // Convert accessor to dot notation specifically for SortColumn sorting behavior\n const dotAccessor = accessor?.replace(/-/g, '.')\n\n const Heading = (\n <SortColumn\n disable={fieldAffectsDataSubFields || fieldIsPresentationalOnly(clientField) || undefined}\n Label={CustomLabel}\n label={label as StaticLabel}\n name={dotAccessor}\n {...(sortColumnProps || {})}\n />\n )\n\n const column: Column = {\n accessor,\n active: isActive,\n CustomLabel,\n field: clientField,\n Heading,\n renderedCells: isActive\n ? docs.map((doc, rowIndex) => {\n return renderCell({\n clientField,\n collectionSlug: dataType === 'monomorphic' ? collectionSlug : doc.relationTo,\n columnIndex: colIndex,\n customCellProps,\n doc: dataType === 'monomorphic' ? doc : doc.value,\n enableRowSelections,\n i18n,\n isLinkedColumn: enableLinkedCell && colIndex === activeColumnsIndices[0],\n payload,\n rowIndex,\n serverField,\n })\n })\n : [],\n }\n\n acc.push(column)\n\n return acc\n }, [])\n\n if (beforeRows) {\n sorted.unshift(...beforeRows)\n }\n\n return sorted\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ColumnPreference } from 'payload';
|
|
2
|
+
export declare function isColumnActive({ accessor, activeColumnsIndices, columnPreference, columns, }: {
|
|
3
|
+
accessor: string;
|
|
4
|
+
activeColumnsIndices: number[];
|
|
5
|
+
columnPreference: ColumnPreference;
|
|
6
|
+
columns: ColumnPreference[];
|
|
7
|
+
}): boolean;
|
|
8
|
+
//# sourceMappingURL=isColumnActive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isColumnActive.d.ts","sourceRoot":"","sources":["../../../../src/providers/TableColumns/buildColumnState/isColumnActive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,oBAAoB,EACpB,gBAAgB,EAChB,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,OAAO,EAAE,gBAAgB,EAAE,CAAA;CAC5B,WAUA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function isColumnActive({
|
|
2
|
+
accessor,
|
|
3
|
+
activeColumnsIndices,
|
|
4
|
+
columnPreference,
|
|
5
|
+
columns
|
|
6
|
+
}) {
|
|
7
|
+
if (columnPreference) {
|
|
8
|
+
return columnPreference.active;
|
|
9
|
+
} else if (columns && Array.isArray(columns) && columns.length > 0) {
|
|
10
|
+
return Boolean(columns.find(column => column.accessor === accessor)?.active);
|
|
11
|
+
} else if (activeColumnsIndices.length < 4) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=isColumnActive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isColumnActive.js","names":["isColumnActive","accessor","activeColumnsIndices","columnPreference","columns","active","Array","isArray","length","Boolean","find","column"],"sources":["../../../../src/providers/TableColumns/buildColumnState/isColumnActive.ts"],"sourcesContent":["import type { ColumnPreference } from 'payload'\n\nexport function isColumnActive({\n accessor,\n activeColumnsIndices,\n columnPreference,\n columns,\n}: {\n accessor: string\n activeColumnsIndices: number[]\n columnPreference: ColumnPreference\n columns: ColumnPreference[]\n}) {\n if (columnPreference) {\n return columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n return Boolean(columns.find((column) => column.accessor === accessor)?.active)\n } else if (activeColumnsIndices.length < 4) {\n return true\n }\n\n return false\n}\n"],"mappings":"AAEA,OAAO,SAASA,eAAe;EAC7BC,QAAQ;EACRC,oBAAoB;EACpBC,gBAAgB;EAChBC;AAAO,CAMR;EACC,IAAID,gBAAA,EAAkB;IACpB,OAAOA,gBAAA,CAAiBE,MAAM;EAChC,OAAO,IAAID,OAAA,IAAWE,KAAA,CAAMC,OAAO,CAACH,OAAA,KAAYA,OAAA,CAAQI,MAAM,GAAG,GAAG;IAClE,OAAOC,OAAA,CAAQL,OAAA,CAAQM,IAAI,CAAEC,MAAA,IAAWA,MAAA,CAAOV,QAAQ,KAAKA,QAAA,GAAWI,MAAA;EACzE,OAAO,IAAIH,oBAAA,CAAqBM,MAAM,GAAG,GAAG;IAC1C,OAAO;EACT;EAEA,OAAO;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { I18nClient } from '@payloadcms/translations';
|
|
2
|
+
import type { ClientField, DefaultCellComponentProps, Document, Field, Payload } from 'payload';
|
|
3
|
+
type RenderCellArgs = {
|
|
4
|
+
readonly clientField: ClientField;
|
|
5
|
+
readonly collectionSlug: string;
|
|
6
|
+
readonly columnIndex: number;
|
|
7
|
+
readonly customCellProps: DefaultCellComponentProps['customCellProps'];
|
|
8
|
+
readonly doc: Document;
|
|
9
|
+
readonly enableRowSelections: boolean;
|
|
10
|
+
readonly i18n: I18nClient;
|
|
11
|
+
readonly isLinkedColumn: boolean;
|
|
12
|
+
readonly payload: Payload;
|
|
13
|
+
readonly rowIndex: number;
|
|
14
|
+
readonly serverField: Field;
|
|
15
|
+
};
|
|
16
|
+
export declare function renderCell({ clientField, collectionSlug, columnIndex, customCellProps, doc, enableRowSelections, i18n, isLinkedColumn, payload, rowIndex, serverField, }: RenderCellArgs): import("react").JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=renderCell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderCell.d.ts","sourceRoot":"","sources":["../../../../src/providers/TableColumns/buildColumnState/renderCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,WAAW,EACX,yBAAyB,EAEzB,QAAQ,EACR,KAAK,EACL,OAAO,EACR,MAAM,SAAS,CAAA;AAchB,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;IACtE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;IACtB,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAA;CAC5B,CAAA;AACD,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,cAAc,EACd,WAAW,EACX,eAAe,EACf,GAAG,EACH,mBAAmB,EACnB,IAAI,EACJ,cAAc,EACd,OAAO,EACP,QAAQ,EACR,WAAW,GACZ,EAAE,cAAc,+BA+GhB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { MissingEditorProp } from 'payload';
|
|
3
|
+
import { RenderCustomComponent } from '../../../elements/RenderCustomComponent/index.js';
|
|
4
|
+
import { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js';
|
|
5
|
+
import { DefaultCell, RenderDefaultCell } from '../../../exports/client/index.js';
|
|
6
|
+
import { hasOptionLabelJSXElement } from '../../../utilities/hasOptionLabelJSXElement.js';
|
|
7
|
+
import { findValueFromPath } from './findValueFromPath.js';
|
|
8
|
+
export function renderCell({
|
|
9
|
+
clientField,
|
|
10
|
+
collectionSlug,
|
|
11
|
+
columnIndex,
|
|
12
|
+
customCellProps,
|
|
13
|
+
doc,
|
|
14
|
+
enableRowSelections,
|
|
15
|
+
i18n,
|
|
16
|
+
isLinkedColumn,
|
|
17
|
+
payload,
|
|
18
|
+
rowIndex,
|
|
19
|
+
serverField
|
|
20
|
+
}) {
|
|
21
|
+
const baseCellClientProps = {
|
|
22
|
+
cellData: undefined,
|
|
23
|
+
collectionSlug,
|
|
24
|
+
customCellProps,
|
|
25
|
+
field: clientField,
|
|
26
|
+
rowData: undefined
|
|
27
|
+
};
|
|
28
|
+
const accessor = ('accessor' in clientField ? clientField.accessor : undefined) ?? ('name' in clientField ? clientField.name : undefined);
|
|
29
|
+
const dotAccessor = accessor?.replace(/-/g, '.');
|
|
30
|
+
const cellClientProps = {
|
|
31
|
+
...baseCellClientProps,
|
|
32
|
+
cellData: 'name' in clientField ? findValueFromPath(doc, dotAccessor) : undefined,
|
|
33
|
+
link: isLinkedColumn,
|
|
34
|
+
rowData: doc
|
|
35
|
+
};
|
|
36
|
+
const cellServerProps = {
|
|
37
|
+
cellData: cellClientProps.cellData,
|
|
38
|
+
className: baseCellClientProps.className,
|
|
39
|
+
collectionConfig: payload.collections[collectionSlug].config,
|
|
40
|
+
collectionSlug,
|
|
41
|
+
columnIndex,
|
|
42
|
+
customCellProps: baseCellClientProps.customCellProps,
|
|
43
|
+
field: serverField,
|
|
44
|
+
i18n,
|
|
45
|
+
link: cellClientProps.link,
|
|
46
|
+
onClick: baseCellClientProps.onClick,
|
|
47
|
+
payload,
|
|
48
|
+
rowData: doc
|
|
49
|
+
};
|
|
50
|
+
let CustomCell = null;
|
|
51
|
+
if (serverField?.type === 'richText') {
|
|
52
|
+
if (!serverField?.editor) {
|
|
53
|
+
throw new MissingEditorProp(serverField) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor
|
|
54
|
+
;
|
|
55
|
+
}
|
|
56
|
+
if (typeof serverField?.editor === 'function') {
|
|
57
|
+
throw new Error('Attempted to access unsanitized rich text editor.');
|
|
58
|
+
}
|
|
59
|
+
if (!serverField.admin) {
|
|
60
|
+
serverField.admin = {};
|
|
61
|
+
}
|
|
62
|
+
if (!serverField.admin.components) {
|
|
63
|
+
serverField.admin.components = {};
|
|
64
|
+
}
|
|
65
|
+
CustomCell = RenderServerComponent({
|
|
66
|
+
clientProps: cellClientProps,
|
|
67
|
+
Component: serverField.editor.CellComponent,
|
|
68
|
+
importMap: payload.importMap,
|
|
69
|
+
serverProps: cellServerProps
|
|
70
|
+
});
|
|
71
|
+
} else {
|
|
72
|
+
const CustomCellComponent = serverField?.admin?.components?.Cell;
|
|
73
|
+
if (CustomCellComponent) {
|
|
74
|
+
CustomCell = RenderServerComponent({
|
|
75
|
+
clientProps: cellClientProps,
|
|
76
|
+
Component: CustomCellComponent,
|
|
77
|
+
importMap: payload.importMap,
|
|
78
|
+
serverProps: cellServerProps
|
|
79
|
+
});
|
|
80
|
+
} else if (cellClientProps.cellData && cellClientProps.field && hasOptionLabelJSXElement(cellClientProps)) {
|
|
81
|
+
CustomCell = RenderServerComponent({
|
|
82
|
+
clientProps: cellClientProps,
|
|
83
|
+
Component: DefaultCell,
|
|
84
|
+
importMap: payload.importMap
|
|
85
|
+
});
|
|
86
|
+
} else {
|
|
87
|
+
const CustomCellComponent = serverField?.admin?.components?.Cell;
|
|
88
|
+
if (CustomCellComponent) {
|
|
89
|
+
CustomCell = RenderServerComponent({
|
|
90
|
+
clientProps: cellClientProps,
|
|
91
|
+
Component: CustomCellComponent,
|
|
92
|
+
importMap: payload.importMap,
|
|
93
|
+
serverProps: cellServerProps
|
|
94
|
+
});
|
|
95
|
+
} else {
|
|
96
|
+
CustomCell = undefined;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return /*#__PURE__*/_jsx(RenderCustomComponent, {
|
|
101
|
+
CustomComponent: CustomCell,
|
|
102
|
+
Fallback: /*#__PURE__*/_jsx(RenderDefaultCell, {
|
|
103
|
+
clientProps: cellClientProps,
|
|
104
|
+
columnIndex: columnIndex,
|
|
105
|
+
enableRowSelections: enableRowSelections,
|
|
106
|
+
isLinkedColumn: isLinkedColumn
|
|
107
|
+
})
|
|
108
|
+
}, `${rowIndex}-${columnIndex}`);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=renderCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderCell.js","names":["MissingEditorProp","RenderCustomComponent","RenderServerComponent","DefaultCell","RenderDefaultCell","hasOptionLabelJSXElement","findValueFromPath","renderCell","clientField","collectionSlug","columnIndex","customCellProps","doc","enableRowSelections","i18n","isLinkedColumn","payload","rowIndex","serverField","baseCellClientProps","cellData","undefined","field","rowData","accessor","name","dotAccessor","replace","cellClientProps","link","cellServerProps","className","collectionConfig","collections","config","onClick","CustomCell","type","editor","Error","admin","components","clientProps","Component","CellComponent","importMap","serverProps","CustomCellComponent","Cell","_jsx","CustomComponent","Fallback"],"sources":["../../../../src/providers/TableColumns/buildColumnState/renderCell.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientField,\n DefaultCellComponentProps,\n DefaultServerCellComponentProps,\n Document,\n Field,\n Payload,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\n\nimport { RenderCustomComponent } from '../../../elements/RenderCustomComponent/index.js'\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport {\n DefaultCell,\n RenderDefaultCell,\n // eslint-disable-next-line payload/no-imports-from-exports-dir -- MUST reference the exports dir: https://github.com/payloadcms/payload/issues/12002#issuecomment-2791493587\n} from '../../../exports/client/index.js'\nimport { hasOptionLabelJSXElement } from '../../../utilities/hasOptionLabelJSXElement.js'\nimport { findValueFromPath } from './findValueFromPath.js'\n\ntype RenderCellArgs = {\n readonly clientField: ClientField\n readonly collectionSlug: string\n readonly columnIndex: number\n readonly customCellProps: DefaultCellComponentProps['customCellProps']\n readonly doc: Document\n readonly enableRowSelections: boolean\n readonly i18n: I18nClient\n readonly isLinkedColumn: boolean\n readonly payload: Payload\n readonly rowIndex: number\n readonly serverField: Field\n}\nexport function renderCell({\n clientField,\n collectionSlug,\n columnIndex,\n customCellProps,\n doc,\n enableRowSelections,\n i18n,\n isLinkedColumn,\n payload,\n rowIndex,\n serverField,\n}: RenderCellArgs) {\n const baseCellClientProps: DefaultCellComponentProps = {\n cellData: undefined,\n collectionSlug,\n customCellProps,\n field: clientField,\n rowData: undefined,\n }\n\n const accessor: string | undefined =\n ('accessor' in clientField ? (clientField.accessor as string) : undefined) ??\n ('name' in clientField ? clientField.name : undefined)\n const dotAccessor = accessor?.replace(/-/g, '.')\n\n const cellClientProps: DefaultCellComponentProps = {\n ...baseCellClientProps,\n cellData: 'name' in clientField ? findValueFromPath(doc, dotAccessor) : undefined,\n link: isLinkedColumn,\n rowData: doc,\n }\n\n const cellServerProps: DefaultServerCellComponentProps = {\n cellData: cellClientProps.cellData,\n className: baseCellClientProps.className,\n collectionConfig: payload.collections[collectionSlug].config,\n collectionSlug,\n columnIndex,\n customCellProps: baseCellClientProps.customCellProps,\n field: serverField,\n i18n,\n link: cellClientProps.link,\n onClick: baseCellClientProps.onClick,\n payload,\n rowData: doc,\n }\n\n let CustomCell = null\n\n if (serverField?.type === 'richText') {\n if (!serverField?.editor) {\n throw new MissingEditorProp(serverField) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof serverField?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!serverField.admin) {\n serverField.admin = {}\n }\n\n if (!serverField.admin.components) {\n serverField.admin.components = {}\n }\n\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: serverField.editor.CellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else {\n const CustomCellComponent = serverField?.admin?.components?.Cell\n\n if (CustomCellComponent) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: CustomCellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else if (\n cellClientProps.cellData &&\n cellClientProps.field &&\n hasOptionLabelJSXElement(cellClientProps)\n ) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: DefaultCell,\n importMap: payload.importMap,\n })\n } else {\n const CustomCellComponent = serverField?.admin?.components?.Cell\n\n if (CustomCellComponent) {\n CustomCell = RenderServerComponent({\n clientProps: cellClientProps,\n Component: CustomCellComponent,\n importMap: payload.importMap,\n serverProps: cellServerProps,\n })\n } else {\n CustomCell = undefined\n }\n }\n }\n\n return (\n <RenderCustomComponent\n CustomComponent={CustomCell}\n Fallback={\n <RenderDefaultCell\n clientProps={cellClientProps}\n columnIndex={columnIndex}\n enableRowSelections={enableRowSelections}\n isLinkedColumn={isLinkedColumn}\n />\n }\n key={`${rowIndex}-${columnIndex}`}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortFieldMap.d.ts","sourceRoot":"","sources":["../../../../src/providers/TableColumns/buildColumnState/sortFieldMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAMnE,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,EACxD,QAAQ,EAAE,CAAC,EAAE,EACb,MAAM,EAAE,gBAAgB,EAAE,GACzB,CAAC,EAAE,CAmBL"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
function getAccessor(field) {
|
|
2
|
+
return field.accessor ?? ('name' in field ? field.name : undefined);
|
|
3
|
+
}
|
|
4
|
+
export function sortFieldMap(fieldMap, sortTo) {
|
|
5
|
+
return fieldMap?.sort((a, b) => {
|
|
6
|
+
const aIndex = sortTo.findIndex(column => 'name' in a && column.accessor === getAccessor(a));
|
|
7
|
+
const bIndex = sortTo.findIndex(column => 'name' in b && column.accessor === getAccessor(b));
|
|
8
|
+
if (aIndex === -1 && bIndex === -1) {
|
|
9
|
+
return 0;
|
|
10
|
+
}
|
|
11
|
+
if (aIndex === -1) {
|
|
12
|
+
return 1;
|
|
13
|
+
}
|
|
14
|
+
if (bIndex === -1) {
|
|
15
|
+
return -1;
|
|
16
|
+
}
|
|
17
|
+
return aIndex - bIndex;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=sortFieldMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortFieldMap.js","names":["getAccessor","field","accessor","name","undefined","sortFieldMap","fieldMap","sortTo","sort","a","b","aIndex","findIndex","column","bIndex"],"sources":["../../../../src/providers/TableColumns/buildColumnState/sortFieldMap.ts"],"sourcesContent":["import type { ClientField, ColumnPreference, Field } from 'payload'\n\nfunction getAccessor(field) {\n return field.accessor ?? ('name' in field ? field.name : undefined)\n}\n\nexport function sortFieldMap<T extends ClientField | Field>(\n fieldMap: T[],\n sortTo: ColumnPreference[],\n): T[] {\n return fieldMap?.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === getAccessor(a))\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === getAccessor(b))\n\n if (aIndex === -1 && bIndex === -1) {\n return 0\n }\n\n if (aIndex === -1) {\n return 1\n }\n\n if (bIndex === -1) {\n return -1\n }\n\n return aIndex - bIndex\n })\n}\n"],"mappings":"AAEA,SAASA,YAAYC,KAAK;EACxB,OAAOA,KAAA,CAAMC,QAAQ,KAAK,UAAUD,KAAA,GAAQA,KAAA,CAAME,IAAI,GAAGC,SAAQ;AACnE;AAEA,OAAO,SAASC,aACdC,QAAa,EACbC,MAA0B;EAE1B,OAAOD,QAAA,EAAUE,IAAA,CAAK,CAACC,CAAA,EAAGC,CAAA;IACxB,MAAMC,MAAA,GAASJ,MAAA,CAAOK,SAAS,CAAEC,MAAA,IAAW,UAAUJ,CAAA,IAAKI,MAAA,CAAOX,QAAQ,KAAKF,WAAA,CAAYS,CAAA;IAC3F,MAAMK,MAAA,GAASP,MAAA,CAAOK,SAAS,CAAEC,MAAA,IAAW,UAAUH,CAAA,IAAKG,MAAA,CAAOX,QAAQ,KAAKF,WAAA,CAAYU,CAAA;IAE3F,IAAIC,MAAA,KAAW,CAAC,KAAKG,MAAA,KAAW,CAAC,GAAG;MAClC,OAAO;IACT;IAEA,IAAIH,MAAA,KAAW,CAAC,GAAG;MACjB,OAAO;IACT;IAEA,IAAIG,MAAA,KAAW,CAAC,GAAG;MACjB,OAAO,CAAC;IACV;IAEA,OAAOH,MAAA,GAASG,MAAA;EAClB;AACF","ignoreList":[]}
|
package/dist/scss/app.scss
CHANGED
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
--theme-overlay: rgba(5, 5, 5, 0.5);
|
|
23
23
|
--theme-baseline: #{$baseline-px};
|
|
24
24
|
--theme-baseline-body-size: #{$baseline-body-size};
|
|
25
|
-
--font-body:
|
|
26
|
-
sans-serif;
|
|
25
|
+
--font-body:
|
|
26
|
+
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
27
27
|
--font-serif: 'Georgia', 'Bitstream Charter', 'Charis SIL', Utopia, 'URW Bookman L', serif;
|
|
28
28
|
--font-mono: 'SF Mono', Menlo, Consolas, Monaco, monospace;
|
|
29
29
|
|
|
@@ -203,5 +203,9 @@
|
|
|
203
203
|
z-index: var(--z-modal);
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
+
button {
|
|
207
|
+
font: var(--font-body);
|
|
208
|
+
}
|
|
209
|
+
|
|
206
210
|
// @import '~payload-user-css'; TODO: re-enable this
|
|
207
211
|
}
|
package/dist/scss/resets.scss
CHANGED