@payloadcms/ui 3.68.0-internal-debug.2eb12b9 → 3.68.0-internal-debug.dafc24d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AddNewRelation/index.js +83 -27
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +13 -5
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +2 -2
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
- package/dist/elements/AppHeader/index.js +107 -35
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +116 -36
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +19 -6
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +25 -9
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +97 -33
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +43 -15
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +47 -15
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +7 -3
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +12 -4
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +53 -17
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +90 -30
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +33 -13
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +214 -70
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +21 -13
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +19 -7
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +70 -19
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +103 -35
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.js +13 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.js +30 -10
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +19 -7
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +16 -4
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +42 -14
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +12 -4
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +15 -7
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +18 -6
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/CodeEditor/types.js +3 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/Collapsible/index.js +92 -29
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +7 -3
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +13 -5
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +43 -13
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +49 -17
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +73 -25
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +18 -6
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +42 -13
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.js +1 -0
- package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
- package/dist/elements/DatePicker/index.js +19 -7
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +25 -9
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +49 -17
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +98 -26
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +304 -96
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +12 -4
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +59 -19
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +12 -4
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +32 -10
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.js +11 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +54 -18
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +73 -25
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +49 -17
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -3
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +19 -7
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +1 -0
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +80 -26
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +37 -13
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +7 -3
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +7 -3
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +61 -21
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +25 -9
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +146 -44
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +40 -14
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +232 -76
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +31 -11
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +19 -7
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +25 -9
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +7 -3
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +19 -7
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +70 -22
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +43 -15
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +43 -15
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +13 -5
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +31 -11
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +12 -4
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +7 -3
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +7 -3
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +7 -3
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +68 -24
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +31 -11
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +25 -9
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +7 -3
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +15 -7
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +189 -62
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +19 -7
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +7 -3
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +104 -31
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +49 -17
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +7 -3
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +21 -9
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +28 -13
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +67 -23
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +86 -30
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +25 -9
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +7 -3
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +31 -11
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +43 -15
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +7 -3
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.js +24 -3
- package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +13 -5
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +35 -11
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js +6 -1
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +13 -5
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +13 -5
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/index.js +12 -4
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.js +126 -42
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.js +7 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +20 -8
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +15 -4
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +34 -11
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.js +5 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +19 -7
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +13 -5
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +12 -4
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +7 -3
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +48 -16
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +37 -13
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/index.js +43 -15
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +66 -20
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Device/index.js +13 -5
- package/dist/elements/LivePreview/Device/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js +7 -3
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +7 -3
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +13 -5
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +137 -45
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +7 -3
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js +48 -16
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js +7 -3
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +41 -13
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +55 -19
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +13 -5
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +31 -11
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +47 -15
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +18 -6
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +17 -5
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +7 -3
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +7 -3
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +49 -17
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +19 -7
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +7 -3
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +37 -13
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +12 -4
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +7 -3
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +7 -3
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +19 -7
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +61 -21
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +31 -11
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +42 -15
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +34 -10
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +25 -9
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +7 -3
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +7 -3
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +13 -5
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.js +60 -20
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +12 -4
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +97 -33
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +67 -23
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +165 -53
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +49 -17
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +7 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +28 -10
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +109 -38
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +42 -14
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +25 -9
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +13 -5
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +13 -5
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +7 -3
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +25 -9
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +31 -11
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +79 -27
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +13 -5
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +13 -5
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +13 -5
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +13 -5
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +13 -5
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +13 -5
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +19 -7
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +13 -5
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +19 -7
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +45 -17
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.js +8 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +37 -13
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +7 -3
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +24 -8
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +121 -41
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +19 -7
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +7 -3
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +13 -5
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +25 -9
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +49 -17
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +38 -13
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +8 -5
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +8 -5
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +24 -8
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +13 -5
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SearchFilter/types.js +19 -1
- package/dist/elements/SearchFilter/types.js.map +1 -1
- package/dist/elements/SelectAll/index.js +7 -3
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +7 -3
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +13 -5
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +31 -11
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +48 -16
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +55 -19
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +24 -8
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +13 -5
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +63 -23
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +7 -3
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/context.js +7 -3
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +109 -33
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +7 -3
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +21 -9
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +19 -7
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +11 -7
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +45 -16
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +25 -9
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +19 -7
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +79 -27
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +10 -3
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.js +55 -19
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/createThumbnail.js +12 -12
- package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +47 -15
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +19 -7
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +19 -7
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +24 -8
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +34 -12
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +25 -9
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +18 -6
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +7 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +28 -10
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +235 -83
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +7 -3
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +13 -5
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +37 -13
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +13 -4
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +23 -12
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +7 -3
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +13 -4
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +73 -25
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +87 -31
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +7 -3
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +7 -3
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/index.js +26 -2
- package/dist/exports/client/index.js.map +1 -1
- package/dist/exports/shared/index.js +2 -1
- package/dist/exports/shared/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.js +52 -16
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +169 -57
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +72 -24
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +18 -6
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +74 -24
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +13 -5
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +19 -7
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +13 -5
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +187 -63
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +47 -15
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +37 -13
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +55 -19
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +61 -21
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +31 -11
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +61 -21
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +55 -19
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +7 -3
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +7 -3
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +19 -7
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +78 -26
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +7 -3
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +7 -3
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +55 -19
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +49 -17
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +71 -25
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +7 -3
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +61 -21
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Password/types.js +11 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.js +97 -33
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +31 -11
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +67 -23
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +84 -28
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +7 -3
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +47 -16
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +52 -17
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.js +19 -7
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +7 -3
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +55 -19
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +7 -3
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +37 -13
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +25 -9
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +67 -23
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +7 -3
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +60 -20
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +10 -5
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.js +61 -21
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +7 -3
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +48 -16
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +13 -5
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +154 -56
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +73 -25
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +7 -3
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +13 -5
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/types.js +1 -0
- package/dist/fields/Upload/types.js.map +1 -1
- package/dist/fields/shared/index.js +2 -3
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/fieldReducer.js +2 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.js +78 -31
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +11 -3
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.js +2 -2
- package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
- package/dist/forms/Form/types.js +52 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js +15 -6
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +138 -46
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +19 -7
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +7 -3
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +19 -7
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/Submit/index.js +13 -5
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +6 -1
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +20 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +33 -1
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +2 -2
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +16 -0
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +21 -9
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +22 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js +5 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/forms/useField/index.js +1 -0
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.js +19 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/index.js +13 -5
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +25 -9
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +7 -3
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +12 -4
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +67 -23
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +19 -7
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +19 -7
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +85 -29
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/hooks/useControllableState.js +9 -1
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useDelayedRender.js +3 -1
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useHotkey.js +2 -2
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +3 -4
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/usePopupWindow.js +2 -2
- package/dist/hooks/usePopupWindow.js.map +1 -1
- package/dist/hooks/useQueue.js +15 -7
- package/dist/hooks/useQueue.js.map +1 -1
- package/dist/hooks/useResize.js +4 -3
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/icons/Calendar/index.js +13 -5
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +13 -5
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +13 -5
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +13 -5
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +13 -5
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +13 -5
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +13 -5
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +22 -6
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +43 -15
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +13 -5
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +13 -5
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +36 -12
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +13 -5
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +19 -7
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +31 -11
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +13 -5
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +13 -5
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +13 -5
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +19 -7
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +13 -5
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +13 -5
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +18 -6
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +25 -9
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +37 -13
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +13 -5
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +13 -5
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +13 -5
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +25 -9
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +13 -5
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +22 -6
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +13 -5
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +13 -5
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +7 -3
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +42 -6
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClickOutside/index.js +7 -3
- package/dist/providers/ClickOutside/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +13 -5
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +23 -6
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +7 -3
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +31 -16
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.js +25 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +7 -3
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +7 -3
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +7 -3
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/index.js +51 -5
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +13 -5
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/types.js +5 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/LivePreview/context.js +11 -1
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.js +20 -9
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.js +13 -5
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +7 -3
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +7 -3
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +14 -5
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +154 -50
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +7 -3
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +13 -5
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +16 -12
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +7 -3
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +14 -5
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +32 -25
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +13 -5
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +17 -12
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +17 -8
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/index.js +7 -3
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/TableColumns/types.js +17 -1
- package/dist/providers/TableColumns/types.js.map +1 -1
- package/dist/providers/Theme/index.js +7 -3
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +19 -7
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +19 -7
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +19 -7
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +19 -7
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +27 -7
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +7 -3
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +7 -3
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +7 -3
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +7 -3
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/utilities/abortAndIgnore.js +4 -6
- package/dist/utilities/abortAndIgnore.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +2 -2
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +37 -13
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +6 -2
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.js +8 -8
- package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +31 -14
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +2 -2
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/hasSavePermission.js +5 -1
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/isURLAllowed.js +6 -6
- package/dist/utilities/isURLAllowed.js.map +1 -1
- package/dist/utilities/renderTable.js +84 -27
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +3 -1
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/upsertPreferences.js +1 -0
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +168 -56
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +67 -23
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +147 -47
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +67 -23
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +91 -31
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/index.js +124 -48
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +19 -7
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +68 -23
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +49 -17
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +162 -54
- package/dist/views/List/index.js.map +1 -1
- package/package.json +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/fieldSchemasToFormState/isRowCollapsed.ts"],"sourcesContent":["import type { ArrayField, BlocksField, CollapsedPreferences, Row } from 'payload'\n\nexport function isRowCollapsed({\n collapsedPrefs,\n field,\n previousRow,\n row,\n}: {\n collapsedPrefs: CollapsedPreferences\n field: ArrayField | BlocksField\n previousRow: Row | undefined\n row: Row\n}): boolean {\n if (previousRow && 'collapsed' in previousRow) {\n return previousRow.collapsed ?? false\n }\n\n // If previousFormState is `undefined`, check preferences\n if (collapsedPrefs !== undefined) {\n return collapsedPrefs.includes(row.id) // Check if collapsed in preferences\n }\n\n // If neither exists, fallback to `field.admin.initCollapsed`\n return field.admin.initCollapsed\n}\n"],"names":["isRowCollapsed","collapsedPrefs","field","previousRow","row","collapsed","undefined","includes","id","admin","initCollapsed"],"mappings":"AAEA,OAAO,SAASA,eAAe,EAC7BC,cAAc,EACdC,KAAK,EACLC,WAAW,EACXC,GAAG,EAMJ;IACC,IAAID,eAAe,eAAeA,aAAa;QAC7C,OAAOA,YAAYE,SAAS,IAAI;IAClC;IAEA,yDAAyD;IACzD,IAAIJ,mBAAmBK,WAAW;QAChC,OAAOL,eAAeM,QAAQ,CAACH,IAAII,EAAE,
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/fieldSchemasToFormState/isRowCollapsed.ts"],"sourcesContent":["import type { ArrayField, BlocksField, CollapsedPreferences, Row } from 'payload'\n\nexport function isRowCollapsed({\n collapsedPrefs,\n field,\n previousRow,\n row,\n}: {\n collapsedPrefs: CollapsedPreferences\n field: ArrayField | BlocksField\n previousRow: Row | undefined\n row: Row\n}): boolean {\n if (previousRow && 'collapsed' in previousRow) {\n return previousRow.collapsed ?? false\n }\n\n // If previousFormState is `undefined`, check preferences\n if (collapsedPrefs !== undefined) {\n return collapsedPrefs.includes(row.id) // Check if collapsed in preferences\n }\n\n // If neither exists, fallback to `field.admin.initCollapsed`\n return field.admin.initCollapsed\n}\n"],"names":["isRowCollapsed","collapsedPrefs","field","previousRow","row","collapsed","undefined","includes","id","admin","initCollapsed"],"mappings":"AAEA,OAAO,SAASA,eAAe,EAC7BC,cAAc,EACdC,KAAK,EACLC,WAAW,EACXC,GAAG,EAMJ;IACC,IAAID,eAAe,eAAeA,aAAa;QAC7C,OAAOA,YAAYE,SAAS,IAAI;IAClC;IAEA,yDAAyD;IACzD,IAAIJ,mBAAmBK,WAAW;QAChC,OAAOL,eAAeM,QAAQ,CAACH,IAAII,EAAE;IACvC;IADyC,oCAAoC;IAG7E,6DAA6D;IAC7D,OAAON,MAAMO,KAAK,CAACC,aAAa;AAClC"}
|
|
@@ -2,6 +2,22 @@ import { stripUnselectedFields } from 'payload';
|
|
|
2
2
|
import { getFieldPaths } from 'payload/shared';
|
|
3
3
|
import { addFieldStatePromise } from './addFieldStatePromise.js';
|
|
4
4
|
/**
|
|
5
|
+
* if any parents is localized, then the field is localized. @default false
|
|
6
|
+
*/ /**
|
|
7
|
+
* Data of the nearest parent block, or undefined
|
|
8
|
+
*/ /**
|
|
9
|
+
* Force the value of fields like arrays or blocks to be the full value instead of the length @default false
|
|
10
|
+
*/ /**
|
|
11
|
+
* Whether the field schema should be included in the state. @default false
|
|
12
|
+
*/ /**
|
|
13
|
+
* Whether to omit parent fields in the state. @default false
|
|
14
|
+
*/ /**
|
|
15
|
+
* operation is only needed for validation
|
|
16
|
+
*/ /**
|
|
17
|
+
* Whether to skip checking the field's condition. @default false
|
|
18
|
+
*/ /**
|
|
19
|
+
* Whether to skip validating the field. @default false
|
|
20
|
+
*/ /**
|
|
5
21
|
* Flattens the fields schema and fields data
|
|
6
22
|
*/ export const iterateFields = async ({ id, addErrorPathToParent: addErrorPathToParentArg, anyParentLocalized = false, blockData, clientFieldSchemaMap, collectionSlug, data, fields, fieldSchemaMap, filter, forceFullValue = false, fullData, includeSchema = false, mockRSCs, omitParents = false, operation, parentIndexPath, parentPassesCondition = true, parentPath, parentSchemaPath, permissions, preferences, previousFormState, readOnly, renderAllFields, renderFieldFn: renderFieldFn, req, select, selectMode, skipConditionChecks = false, skipValidation = false, state = {} })=>{
|
|
7
23
|
const promises = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field as FieldSchema,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n} from 'payload'\n\nimport { stripUnselectedFields } from 'payload'\nimport { getFieldPaths } from 'payload/shared'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\nimport type { RenderFieldMethod } from './types.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n fields: FieldSchema[]\n fieldSchemaMap: FieldSchemaMap\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id?: number | string\n /**\n * Whether the field schema should be included in the state. @default false\n */\n includeSchema?: boolean\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPassesCondition?: boolean\n parentPath: string\n parentSchemaPath: string\n permissions: SanitizedFieldsPermissions\n preferences?: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state?: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data\n */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n mockRSCs,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPassesCondition = true,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn: renderFieldFn,\n req,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n let passesCondition = true\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n if (path !== 'id') {\n const shouldContinue = stripUnselectedFields({\n field,\n select,\n selectMode,\n siblingDoc: data,\n })\n\n if (!shouldContinue) {\n return\n }\n }\n\n const pathSegments = path ? path.split('.') : []\n\n if (!skipConditionChecks) {\n try {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(\n field.admin.condition(fullData || {}, data || {}, {\n blockData,\n operation,\n path: pathSegments,\n user: req.user,\n }),\n )\n : true) && parentPassesCondition,\n )\n } catch (err) {\n passesCondition = false\n\n req.payload.logger.error({\n err,\n msg: `Error evaluating field condition at path: ${path}`,\n })\n }\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n indexPath,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions: permissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"names":["stripUnselectedFields","getFieldPaths","addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","fields","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","mockRSCs","omitParents","operation","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath","permissions","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","select","selectMode","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","passesCondition","indexPath","path","schemaPath","index","shouldContinue","siblingDoc","pathSegments","split","Boolean","admin","condition","user","err","payload","logger","error","msg","push","parentPermissions","Promise","all"],"mappings":"AAeA,SAASA,qBAAqB,QAAQ,UAAS;AAC/C,SAASC,aAAa,QAAQ,iBAAgB;AAK9C,SAASC,oBAAoB,QAAQ,4BAA2B;
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/fieldSchemasToFormState/iterateFields.ts"],"sourcesContent":["import type {\n BuildFormStateArgs,\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field as FieldSchema,\n FieldSchemaMap,\n FormState,\n FormStateWithoutComponents,\n PayloadRequest,\n SanitizedFieldsPermissions,\n SelectMode,\n SelectType,\n} from 'payload'\n\nimport { stripUnselectedFields } from 'payload'\nimport { getFieldPaths } from 'payload/shared'\n\nimport type { AddFieldStatePromiseArgs } from './addFieldStatePromise.js'\nimport type { RenderFieldMethod } from './types.js'\n\nimport { addFieldStatePromise } from './addFieldStatePromise.js'\n\ntype Args = {\n addErrorPathToParent: (fieldPath: string) => void\n /**\n * if any parents is localized, then the field is localized. @default false\n */\n anyParentLocalized?: boolean\n /**\n * Data of the nearest parent block, or undefined\n */\n blockData: Data | undefined\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug?: string\n data: Data\n fields: FieldSchema[]\n fieldSchemaMap: FieldSchemaMap\n filter?: (args: AddFieldStatePromiseArgs) => boolean\n /**\n * Force the value of fields like arrays or blocks to be the full value instead of the length @default false\n */\n forceFullValue?: boolean\n fullData: Data\n id?: number | string\n /**\n * Whether the field schema should be included in the state. @default false\n */\n includeSchema?: boolean\n mockRSCs?: BuildFormStateArgs['mockRSCs']\n /**\n * Whether to omit parent fields in the state. @default false\n */\n omitParents?: boolean\n /**\n * operation is only needed for validation\n */\n operation: 'create' | 'update'\n parentIndexPath: string\n parentPassesCondition?: boolean\n parentPath: string\n parentSchemaPath: string\n permissions: SanitizedFieldsPermissions\n preferences?: DocumentPreferences\n previousFormState: FormState\n readOnly?: boolean\n renderAllFields: boolean\n renderFieldFn: RenderFieldMethod\n req: PayloadRequest\n select?: SelectType\n selectMode?: SelectMode\n /**\n * Whether to skip checking the field's condition. @default false\n */\n skipConditionChecks?: boolean\n /**\n * Whether to skip validating the field. @default false\n */\n skipValidation?: boolean\n state?: FormStateWithoutComponents\n}\n\n/**\n * Flattens the fields schema and fields data\n */\nexport const iterateFields = async ({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized = false,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fields,\n fieldSchemaMap,\n filter,\n forceFullValue = false,\n fullData,\n includeSchema = false,\n mockRSCs,\n omitParents = false,\n operation,\n parentIndexPath,\n parentPassesCondition = true,\n parentPath,\n parentSchemaPath,\n permissions,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn: renderFieldFn,\n req,\n select,\n selectMode,\n skipConditionChecks = false,\n skipValidation = false,\n state = {},\n}: Args): Promise<void> => {\n const promises = []\n\n fields.forEach((field, fieldIndex) => {\n let passesCondition = true\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath: 'name' in field ? '' : parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n if (path !== 'id') {\n const shouldContinue = stripUnselectedFields({\n field,\n select,\n selectMode,\n siblingDoc: data,\n })\n\n if (!shouldContinue) {\n return\n }\n }\n\n const pathSegments = path ? path.split('.') : []\n\n if (!skipConditionChecks) {\n try {\n passesCondition = Boolean(\n (field?.admin?.condition\n ? Boolean(\n field.admin.condition(fullData || {}, data || {}, {\n blockData,\n operation,\n path: pathSegments,\n user: req.user,\n }),\n )\n : true) && parentPassesCondition,\n )\n } catch (err) {\n passesCondition = false\n\n req.payload.logger.error({\n err,\n msg: `Error evaluating field condition at path: ${path}`,\n })\n }\n }\n\n promises.push(\n addFieldStatePromise({\n id,\n addErrorPathToParent: addErrorPathToParentArg,\n anyParentLocalized,\n blockData,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n field,\n fieldIndex,\n fieldSchemaMap,\n filter,\n forceFullValue,\n fullData,\n includeSchema,\n indexPath,\n mockRSCs,\n omitParents,\n operation,\n parentIndexPath,\n parentPath,\n parentPermissions: permissions,\n parentSchemaPath,\n passesCondition,\n path,\n preferences,\n previousFormState,\n readOnly,\n renderAllFields,\n renderFieldFn,\n req,\n schemaPath,\n select,\n selectMode,\n skipConditionChecks,\n skipValidation,\n state,\n }),\n )\n })\n\n await Promise.all(promises)\n}\n"],"names":["stripUnselectedFields","getFieldPaths","addFieldStatePromise","iterateFields","id","addErrorPathToParent","addErrorPathToParentArg","anyParentLocalized","blockData","clientFieldSchemaMap","collectionSlug","data","fields","fieldSchemaMap","filter","forceFullValue","fullData","includeSchema","mockRSCs","omitParents","operation","parentIndexPath","parentPassesCondition","parentPath","parentSchemaPath","permissions","preferences","previousFormState","readOnly","renderAllFields","renderFieldFn","req","select","selectMode","skipConditionChecks","skipValidation","state","promises","forEach","field","fieldIndex","passesCondition","indexPath","path","schemaPath","index","shouldContinue","siblingDoc","pathSegments","split","Boolean","admin","condition","user","err","payload","logger","error","msg","push","parentPermissions","Promise","all"],"mappings":"AAeA,SAASA,qBAAqB,QAAQ,UAAS;AAC/C,SAASC,aAAa,QAAQ,iBAAgB;AAK9C,SAASC,oBAAoB,QAAQ,4BAA2B;AAI9D;;GAEC,GAED;;GAEC,GAQD;;GAEC,GAID;;GAEC,GAGD;;GAEC,GAED;;GAEC,GAeD;;GAEC,GAED;;GAEC,GAKH;;CAEC,GACD,OAAO,MAAMC,gBAAgB,OAAO,EAClCC,EAAE,EACFC,sBAAsBC,uBAAuB,EAC7CC,qBAAqB,KAAK,EAC1BC,SAAS,EACTC,oBAAoB,EACpBC,cAAc,EACdC,IAAI,EACJC,MAAM,EACNC,cAAc,EACdC,MAAM,EACNC,iBAAiB,KAAK,EACtBC,QAAQ,EACRC,gBAAgB,KAAK,EACrBC,QAAQ,EACRC,cAAc,KAAK,EACnBC,SAAS,EACTC,eAAe,EACfC,wBAAwB,IAAI,EAC5BC,UAAU,EACVC,gBAAgB,EAChBC,WAAW,EACXC,WAAW,EACXC,iBAAiB,EACjBC,QAAQ,EACRC,eAAe,EACfC,eAAeA,aAAa,EAC5BC,GAAG,EACHC,MAAM,EACNC,UAAU,EACVC,sBAAsB,KAAK,EAC3BC,iBAAiB,KAAK,EACtBC,QAAQ,CAAC,CAAC,EACL;IACL,MAAMC,WAAW,EAAE;IAEnBzB,OAAO0B,OAAO,CAAC,CAACC,OAAOC;QACrB,IAAIC,kBAAkB;QAEtB,MAAM,EAAEC,SAAS,EAAEC,IAAI,EAAEC,UAAU,EAAE,GAAG3C,cAAc;YACpDsC;YACAM,OAAOL;YACPnB,iBAAiB,UAAUkB,QAAQ,KAAKlB;YACxCE;YACAC;QACF;QAEA,IAAImB,SAAS,MAAM;YACjB,MAAMG,iBAAiB9C,sBAAsB;gBAC3CuC;gBACAP;gBACAC;gBACAc,YAAYpC;YACd;YAEA,IAAI,CAACmC,gBAAgB;gBACnB;YACF;QACF;QAEA,MAAME,eAAeL,OAAOA,KAAKM,KAAK,CAAC,OAAO,EAAE;QAEhD,IAAI,CAACf,qBAAqB;YACxB,IAAI;gBACFO,kBAAkBS,QAChB,AAACX,CAAAA,OAAOY,OAAOC,YACXF,QACEX,MAAMY,KAAK,CAACC,SAAS,CAACpC,YAAY,CAAC,GAAGL,QAAQ,CAAC,GAAG;oBAChDH;oBACAY;oBACAuB,MAAMK;oBACNK,MAAMtB,IAAIsB,IAAI;gBAChB,MAEF,IAAG,KAAM/B;YAEjB,EAAE,OAAOgC,KAAK;gBACZb,kBAAkB;gBAElBV,IAAIwB,OAAO,CAACC,MAAM,CAACC,KAAK,CAAC;oBACvBH;oBACAI,KAAK,CAAC,0CAA0C,EAAEf,MAAM;gBAC1D;YACF;QACF;QAEAN,SAASsB,IAAI,CACXzD,qBAAqB;YACnBE;YACAC,sBAAsBC;YACtBC;YACAC;YACAC;YACAC;YACAC;YACA4B;YACAC;YACA3B;YACAC;YACAC;YACAC;YACAC;YACAyB;YACAxB;YACAC;YACAC;YACAC;YACAE;YACAqC,mBAAmBnC;YACnBD;YACAiB;YACAE;YACAjB;YACAC;YACAC;YACAC;YACAC;YACAC;YACAa;YACAZ;YACAC;YACAC;YACAC;YACAC;QACF;IAEJ;IAEA,MAAMyB,QAAQC,GAAG,CAACzB;AACpB,EAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
2
|
import { getTranslation } from '@payloadcms/translations';
|
|
3
3
|
import { createClientField, MissingEditorProp } from 'payload';
|
|
4
4
|
import { fieldIsHiddenOrDisabled } from 'payload/shared';
|
|
@@ -150,9 +150,9 @@ export const renderField = ({ id, clientFieldSchemaMap, collectionSlug, data, fi
|
|
|
150
150
|
case 'richText':
|
|
151
151
|
{
|
|
152
152
|
if (!fieldConfig?.editor) {
|
|
153
|
-
throw new MissingEditorProp(fieldConfig)
|
|
154
|
-
;
|
|
153
|
+
throw new MissingEditorProp(fieldConfig);
|
|
155
154
|
}
|
|
155
|
+
// while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor
|
|
156
156
|
if (typeof fieldConfig?.editor === 'function') {
|
|
157
157
|
throw new Error('Attempted to access unsanitized rich text editor.');
|
|
158
158
|
}
|
|
@@ -162,7 +162,7 @@ export const renderField = ({ id, clientFieldSchemaMap, collectionSlug, data, fi
|
|
|
162
162
|
if (!fieldConfig.admin.components) {
|
|
163
163
|
fieldConfig.admin.components = {};
|
|
164
164
|
}
|
|
165
|
-
fieldState.customComponents.Field = !mockRSCs ? /*#__PURE__*/
|
|
165
|
+
fieldState.customComponents.Field = !mockRSCs ? /*#__PURE__*/ _jsxDEV(WatchCondition, {
|
|
166
166
|
path: path,
|
|
167
167
|
children: RenderServerComponent({
|
|
168
168
|
clientProps,
|
|
@@ -175,7 +175,11 @@ export const renderField = ({ id, clientFieldSchemaMap, collectionSlug, data, fi
|
|
|
175
175
|
sanitizedEditorConfig: 'editorConfig' in fieldConfig.editor ? fieldConfig.editor.editorConfig : undefined
|
|
176
176
|
}
|
|
177
177
|
})
|
|
178
|
-
}
|
|
178
|
+
}, void 0, false, {
|
|
179
|
+
fileName: "src/forms/fieldSchemasToFormState/renderField.tsx",
|
|
180
|
+
lineNumber: 255,
|
|
181
|
+
columnNumber: 9
|
|
182
|
+
}, this) : 'Mock';
|
|
179
183
|
break;
|
|
180
184
|
}
|
|
181
185
|
case 'ui':
|
|
@@ -205,13 +209,17 @@ export const renderField = ({ id, clientFieldSchemaMap, collectionSlug, data, fi
|
|
|
205
209
|
}
|
|
206
210
|
if (fieldConfig.admin) {
|
|
207
211
|
if ('description' in fieldConfig.admin && typeof fieldConfig.admin?.description === 'function') {
|
|
208
|
-
fieldState.customComponents.Description = !mockRSCs ? /*#__PURE__*/
|
|
212
|
+
fieldState.customComponents.Description = !mockRSCs ? /*#__PURE__*/ _jsxDEV(FieldDescription, {
|
|
209
213
|
description: fieldConfig.admin?.description({
|
|
210
214
|
i18n: req.i18n,
|
|
211
215
|
t: req.i18n.t
|
|
212
216
|
}),
|
|
213
217
|
path: path
|
|
214
|
-
}
|
|
218
|
+
}, void 0, false, {
|
|
219
|
+
fileName: "src/forms/fieldSchemasToFormState/renderField.tsx",
|
|
220
|
+
lineNumber: 311,
|
|
221
|
+
columnNumber: 9
|
|
222
|
+
}, this) : 'Mock';
|
|
215
223
|
}
|
|
216
224
|
if (fieldConfig.admin?.components) {
|
|
217
225
|
if ('afterInput' in fieldConfig.admin.components) {
|
|
@@ -260,7 +268,7 @@ export const renderField = ({ id, clientFieldSchemaMap, collectionSlug, data, fi
|
|
|
260
268
|
}) : 'Mock';
|
|
261
269
|
}
|
|
262
270
|
if ('Field' in fieldConfig.admin.components) {
|
|
263
|
-
fieldState.customComponents.Field = !mockRSCs ? /*#__PURE__*/
|
|
271
|
+
fieldState.customComponents.Field = !mockRSCs ? /*#__PURE__*/ _jsxDEV(WatchCondition, {
|
|
264
272
|
path: path,
|
|
265
273
|
children: RenderServerComponent({
|
|
266
274
|
clientProps,
|
|
@@ -269,7 +277,11 @@ export const renderField = ({ id, clientFieldSchemaMap, collectionSlug, data, fi
|
|
|
269
277
|
key: 'field.admin.components.Field',
|
|
270
278
|
serverProps
|
|
271
279
|
})
|
|
272
|
-
}
|
|
280
|
+
}, void 0, false, {
|
|
281
|
+
fileName: "src/forms/fieldSchemasToFormState/renderField.tsx",
|
|
282
|
+
lineNumber: 386,
|
|
283
|
+
columnNumber: 11
|
|
284
|
+
}, this) : 'Mock';
|
|
273
285
|
}
|
|
274
286
|
}
|
|
275
287
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"sourcesContent":["import type {\n ClientComponentProps,\n ClientField,\n FieldPaths,\n FlattenedBlock,\n ServerComponentProps,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, MissingEditorProp } from 'payload'\nimport { fieldIsHiddenOrDisabled } from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\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\nimport { FieldDescription, WatchCondition } from '../../exports/client/index.js'\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\n\nexport const renderField: RenderFieldMethod = ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n forceCreateClientField,\n formState,\n indexPath,\n lastRenderedPath,\n mockRSCs,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n preferences,\n readOnly: readOnlyFromProps,\n renderAllFields,\n req,\n schemaPath,\n siblingData,\n}) => {\n const requiresRender = renderAllFields || !lastRenderedPath || lastRenderedPath !== path\n\n if (!requiresRender && fieldConfig.type !== 'array' && fieldConfig.type !== 'blocks') {\n return\n }\n\n const clientField =\n clientFieldSchemaMap && !forceCreateClientField\n ? (clientFieldSchemaMap.get(schemaPath) as ClientField)\n : createClientField({\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n field: clientField,\n path,\n permissions,\n readOnly:\n readOnlyFromProps === true\n ? true\n : typeof permissions === 'boolean'\n ? !permissions\n : !permissions?.[operation],\n schemaPath,\n }\n\n if (fieldState?.customComponents) {\n clientProps.customComponents = fieldState.customComponents\n }\n\n // fields with subfields\n if (['array', 'blocks', 'collapsible', 'group', 'row', 'tabs'].includes(fieldConfig.type)) {\n clientProps.indexPath = indexPath\n clientProps.parentPath = parentPath\n clientProps.parentSchemaPath = parentSchemaPath\n }\n\n const serverProps: ServerComponentProps = {\n id,\n clientField,\n clientFieldSchemaMap,\n data,\n field: fieldConfig,\n fieldSchemaMap,\n permissions,\n // TODO: Should we pass explicit values? initialValue, value, valid\n // value and initialValue should be typed\n collectionSlug,\n formState,\n i18n: req.i18n,\n operation,\n payload: req.payload,\n preferences,\n req,\n siblingData,\n user: req.user,\n value: 'name' in fieldConfig && data?.[fieldConfig.name],\n }\n\n switch (fieldConfig.type) {\n case 'array': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n const rowLastRenderedPath = row.lastRenderedPath\n\n const rowPath = `${path}.${rowIndex}`\n\n const rowRequiresRender =\n renderAllFields || !rowLastRenderedPath || rowLastRenderedPath !== rowPath\n\n if (!rowRequiresRender) {\n return\n }\n\n row.lastRenderedPath = rowPath\n\n if (fieldConfig.admin?.components && 'RowLabel' in fieldConfig.admin.components) {\n if (!row.customComponents) {\n row.customComponents = {}\n }\n\n row.customComponents.RowLabel = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.RowLabel,\n importMap: req.payload.importMap,\n key: `${rowIndex}`,\n serverProps: {\n ...serverProps,\n rowLabel: `${getTranslation(fieldConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n : 'Mock'\n }\n })\n\n break\n }\n\n case 'blocks': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n const rowLastRenderedPath = row.lastRenderedPath\n\n const rowPath = `${path}.${rowIndex}`\n\n const rowRequiresRender =\n renderAllFields || !rowLastRenderedPath || rowLastRenderedPath !== rowPath\n\n if (!rowRequiresRender) {\n return\n }\n\n row.lastRenderedPath = rowPath\n\n const blockTypeToMatch: string = row.blockType\n\n const blockConfig =\n req.payload.blocks[blockTypeToMatch] ??\n ((fieldConfig.blockReferences ?? fieldConfig.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n if (blockConfig.admin?.components && 'Label' in blockConfig.admin.components) {\n if (!fieldState.rows[rowIndex]?.customComponents) {\n fieldState.rows[rowIndex].customComponents = {}\n }\n\n fieldState.rows[rowIndex].customComponents.RowLabel = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: blockConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: `${rowIndex}`,\n serverProps: {\n ...serverProps,\n blockType: row.blockType,\n rowLabel: `${getTranslation(blockConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n : 'Mock'\n }\n })\n\n break\n }\n }\n\n if (!requiresRender) {\n return\n }\n\n /**\n * Set the `lastRenderedPath` equal to the new path of the field, this will prevent it from being rendered again\n */\n fieldState.lastRenderedPath = path\n\n if (fieldIsHiddenOrDisabled(clientField)) {\n return\n }\n\n /**\n * Only create the `customComponents` object if needed.\n * This will prevent unnecessary data from being transferred to the client.\n */\n if (fieldConfig.admin) {\n if (\n (Object.keys(fieldConfig.admin.components || {}).length > 0 ||\n fieldConfig.type === 'richText' ||\n ('description' in fieldConfig.admin &&\n typeof fieldConfig.admin.description === 'function')) &&\n !fieldState?.customComponents\n ) {\n fieldState.customComponents = {}\n }\n }\n\n switch (fieldConfig.type) {\n case 'richText': {\n if (!fieldConfig?.editor) {\n throw new MissingEditorProp(fieldConfig) // 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 fieldConfig?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!fieldConfig.admin) {\n fieldConfig.admin = {}\n }\n\n if (!fieldConfig.admin.components) {\n fieldConfig.admin.components = {}\n }\n\n fieldState.customComponents.Field = !mockRSCs ? (\n <WatchCondition path={path}>\n {RenderServerComponent({\n clientProps,\n Component: fieldConfig.editor.FieldComponent,\n importMap: req.payload.importMap,\n serverProps: {\n ...serverProps,\n // Manually inject lexical-specific `sanitizedEditorConfig` server prop, in order to reduce the size of the field schema.\n // Otherwise, the editorConfig would be included twice - once on the top-level, and once as part of the `FieldComponent` server props.\n sanitizedEditorConfig:\n 'editorConfig' in fieldConfig.editor ? fieldConfig.editor.editorConfig : undefined,\n },\n })}\n </WatchCondition>\n ) : (\n 'Mock'\n )\n\n break\n }\n\n case 'ui': {\n if (fieldConfig?.admin?.components) {\n // Render any extra, untyped components\n for (const key in fieldConfig.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n\n const Component = fieldConfig.admin.components[key]\n\n fieldState.customComponents[key] = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component,\n importMap: req.payload.importMap,\n key: `field.admin.components.${key}`,\n serverProps,\n })\n : 'Mock'\n }\n }\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldConfig.admin) {\n if (\n 'description' in fieldConfig.admin &&\n typeof fieldConfig.admin?.description === 'function'\n ) {\n fieldState.customComponents.Description = !mockRSCs ? (\n <FieldDescription\n description={fieldConfig.admin?.description({\n i18n: req.i18n,\n t: req.i18n.t,\n })}\n path={path}\n />\n ) : (\n 'Mock'\n )\n }\n\n if (fieldConfig.admin?.components) {\n if ('afterInput' in fieldConfig.admin.components) {\n fieldState.customComponents.AfterInput = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.afterInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.afterInput',\n serverProps,\n })\n : 'Mock'\n }\n\n if ('beforeInput' in fieldConfig.admin.components) {\n fieldState.customComponents.BeforeInput = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.beforeInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.beforeInput',\n serverProps,\n })\n : 'Mock'\n }\n\n if ('Description' in fieldConfig.admin.components) {\n fieldState.customComponents.Description = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Description,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Description',\n serverProps,\n })\n : 'Mock'\n }\n\n if ('Error' in fieldConfig.admin.components) {\n fieldState.customComponents.Error = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Error,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Error',\n serverProps,\n })\n : 'Mock'\n }\n\n if ('Label' in fieldConfig.admin.components) {\n fieldState.customComponents.Label = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Label',\n serverProps,\n })\n : 'Mock'\n }\n\n if ('Field' in fieldConfig.admin.components) {\n fieldState.customComponents.Field = !mockRSCs ? (\n <WatchCondition path={path}>\n {RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Field,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Field',\n serverProps,\n })}\n </WatchCondition>\n ) : (\n 'Mock'\n )\n }\n }\n }\n}\n"],"names":["getTranslation","createClientField","MissingEditorProp","fieldIsHiddenOrDisabled","RenderServerComponent","FieldDescription","WatchCondition","defaultUIFieldComponentKeys","renderField","id","clientFieldSchemaMap","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","forceCreateClientField","formState","indexPath","lastRenderedPath","mockRSCs","operation","parentPath","parentSchemaPath","path","permissions","preferences","readOnly","readOnlyFromProps","renderAllFields","req","schemaPath","siblingData","requiresRender","type","clientField","get","defaultIDType","payload","config","db","field","i18n","importMap","clientProps","customComponents","includes","serverProps","user","value","name","rows","forEach","row","rowIndex","rowLastRenderedPath","rowPath","rowRequiresRender","admin","components","RowLabel","Component","key","rowLabel","labels","singular","String","padStart","rowNumber","blockTypeToMatch","blockType","blockConfig","blocks","blockReferences","find","block","slug","Label","Object","keys","length","description","editor","Error","Field","FieldComponent","sanitizedEditorConfig","editorConfig","undefined","Description","t","AfterInput","afterInput","BeforeInput","beforeInput"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"sourcesContent":["import type {\n ClientComponentProps,\n ClientField,\n FieldPaths,\n FlattenedBlock,\n ServerComponentProps,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, MissingEditorProp } from 'payload'\nimport { fieldIsHiddenOrDisabled } from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\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\nimport { FieldDescription, WatchCondition } from '../../exports/client/index.js'\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\n\nexport const renderField: RenderFieldMethod = ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n forceCreateClientField,\n formState,\n indexPath,\n lastRenderedPath,\n mockRSCs,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n preferences,\n readOnly: readOnlyFromProps,\n renderAllFields,\n req,\n schemaPath,\n siblingData,\n}) => {\n const requiresRender = renderAllFields || !lastRenderedPath || lastRenderedPath !== path\n\n if (!requiresRender && fieldConfig.type !== 'array' && fieldConfig.type !== 'blocks') {\n return\n }\n\n const clientField =\n clientFieldSchemaMap && !forceCreateClientField\n ? (clientFieldSchemaMap.get(schemaPath) as ClientField)\n : createClientField({\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n field: clientField,\n path,\n permissions,\n readOnly:\n readOnlyFromProps === true\n ? true\n : typeof permissions === 'boolean'\n ? !permissions\n : !permissions?.[operation],\n schemaPath,\n }\n\n if (fieldState?.customComponents) {\n clientProps.customComponents = fieldState.customComponents\n }\n\n // fields with subfields\n if (['array', 'blocks', 'collapsible', 'group', 'row', 'tabs'].includes(fieldConfig.type)) {\n clientProps.indexPath = indexPath\n clientProps.parentPath = parentPath\n clientProps.parentSchemaPath = parentSchemaPath\n }\n\n const serverProps: ServerComponentProps = {\n id,\n clientField,\n clientFieldSchemaMap,\n data,\n field: fieldConfig,\n fieldSchemaMap,\n permissions,\n // TODO: Should we pass explicit values? initialValue, value, valid\n // value and initialValue should be typed\n collectionSlug,\n formState,\n i18n: req.i18n,\n operation,\n payload: req.payload,\n preferences,\n req,\n siblingData,\n user: req.user,\n value: 'name' in fieldConfig && data?.[fieldConfig.name],\n }\n\n switch (fieldConfig.type) {\n case 'array': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n const rowLastRenderedPath = row.lastRenderedPath\n\n const rowPath = `${path}.${rowIndex}`\n\n const rowRequiresRender =\n renderAllFields || !rowLastRenderedPath || rowLastRenderedPath !== rowPath\n\n if (!rowRequiresRender) {\n return\n }\n\n row.lastRenderedPath = rowPath\n\n if (fieldConfig.admin?.components && 'RowLabel' in fieldConfig.admin.components) {\n if (!row.customComponents) {\n row.customComponents = {}\n }\n\n row.customComponents.RowLabel = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.RowLabel,\n importMap: req.payload.importMap,\n key: `${rowIndex}`,\n serverProps: {\n ...serverProps,\n rowLabel: `${getTranslation(fieldConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n : 'Mock'\n }\n })\n\n break\n }\n\n case 'blocks': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n const rowLastRenderedPath = row.lastRenderedPath\n\n const rowPath = `${path}.${rowIndex}`\n\n const rowRequiresRender =\n renderAllFields || !rowLastRenderedPath || rowLastRenderedPath !== rowPath\n\n if (!rowRequiresRender) {\n return\n }\n\n row.lastRenderedPath = rowPath\n\n const blockTypeToMatch: string = row.blockType\n\n const blockConfig =\n req.payload.blocks[blockTypeToMatch] ??\n ((fieldConfig.blockReferences ?? fieldConfig.blocks).find(\n (block) => typeof block !== 'string' && block.slug === blockTypeToMatch,\n ) as FlattenedBlock | undefined)\n\n if (blockConfig.admin?.components && 'Label' in blockConfig.admin.components) {\n if (!fieldState.rows[rowIndex]?.customComponents) {\n fieldState.rows[rowIndex].customComponents = {}\n }\n\n fieldState.rows[rowIndex].customComponents.RowLabel = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: blockConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: `${rowIndex}`,\n serverProps: {\n ...serverProps,\n blockType: row.blockType,\n rowLabel: `${getTranslation(blockConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n : 'Mock'\n }\n })\n\n break\n }\n }\n\n if (!requiresRender) {\n return\n }\n\n /**\n * Set the `lastRenderedPath` equal to the new path of the field, this will prevent it from being rendered again\n */\n fieldState.lastRenderedPath = path\n\n if (fieldIsHiddenOrDisabled(clientField)) {\n return\n }\n\n /**\n * Only create the `customComponents` object if needed.\n * This will prevent unnecessary data from being transferred to the client.\n */\n if (fieldConfig.admin) {\n if (\n (Object.keys(fieldConfig.admin.components || {}).length > 0 ||\n fieldConfig.type === 'richText' ||\n ('description' in fieldConfig.admin &&\n typeof fieldConfig.admin.description === 'function')) &&\n !fieldState?.customComponents\n ) {\n fieldState.customComponents = {}\n }\n }\n\n switch (fieldConfig.type) {\n case 'richText': {\n if (!fieldConfig?.editor) {\n throw new MissingEditorProp(fieldConfig) // 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 fieldConfig?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!fieldConfig.admin) {\n fieldConfig.admin = {}\n }\n\n if (!fieldConfig.admin.components) {\n fieldConfig.admin.components = {}\n }\n\n fieldState.customComponents.Field = !mockRSCs ? (\n <WatchCondition path={path}>\n {RenderServerComponent({\n clientProps,\n Component: fieldConfig.editor.FieldComponent,\n importMap: req.payload.importMap,\n serverProps: {\n ...serverProps,\n // Manually inject lexical-specific `sanitizedEditorConfig` server prop, in order to reduce the size of the field schema.\n // Otherwise, the editorConfig would be included twice - once on the top-level, and once as part of the `FieldComponent` server props.\n sanitizedEditorConfig:\n 'editorConfig' in fieldConfig.editor ? fieldConfig.editor.editorConfig : undefined,\n },\n })}\n </WatchCondition>\n ) : (\n 'Mock'\n )\n\n break\n }\n\n case 'ui': {\n if (fieldConfig?.admin?.components) {\n // Render any extra, untyped components\n for (const key in fieldConfig.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n\n const Component = fieldConfig.admin.components[key]\n\n fieldState.customComponents[key] = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component,\n importMap: req.payload.importMap,\n key: `field.admin.components.${key}`,\n serverProps,\n })\n : 'Mock'\n }\n }\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldConfig.admin) {\n if (\n 'description' in fieldConfig.admin &&\n typeof fieldConfig.admin?.description === 'function'\n ) {\n fieldState.customComponents.Description = !mockRSCs ? (\n <FieldDescription\n description={fieldConfig.admin?.description({\n i18n: req.i18n,\n t: req.i18n.t,\n })}\n path={path}\n />\n ) : (\n 'Mock'\n )\n }\n\n if (fieldConfig.admin?.components) {\n if ('afterInput' in fieldConfig.admin.components) {\n fieldState.customComponents.AfterInput = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.afterInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.afterInput',\n serverProps,\n })\n : 'Mock'\n }\n\n if ('beforeInput' in fieldConfig.admin.components) {\n fieldState.customComponents.BeforeInput = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.beforeInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.beforeInput',\n serverProps,\n })\n : 'Mock'\n }\n\n if ('Description' in fieldConfig.admin.components) {\n fieldState.customComponents.Description = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Description,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Description',\n serverProps,\n })\n : 'Mock'\n }\n\n if ('Error' in fieldConfig.admin.components) {\n fieldState.customComponents.Error = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Error,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Error',\n serverProps,\n })\n : 'Mock'\n }\n\n if ('Label' in fieldConfig.admin.components) {\n fieldState.customComponents.Label = !mockRSCs\n ? RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Label',\n serverProps,\n })\n : 'Mock'\n }\n\n if ('Field' in fieldConfig.admin.components) {\n fieldState.customComponents.Field = !mockRSCs ? (\n <WatchCondition path={path}>\n {RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Field,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Field',\n serverProps,\n })}\n </WatchCondition>\n ) : (\n 'Mock'\n )\n }\n }\n }\n}\n"],"names":["getTranslation","createClientField","MissingEditorProp","fieldIsHiddenOrDisabled","RenderServerComponent","FieldDescription","WatchCondition","defaultUIFieldComponentKeys","renderField","id","clientFieldSchemaMap","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","forceCreateClientField","formState","indexPath","lastRenderedPath","mockRSCs","operation","parentPath","parentSchemaPath","path","permissions","preferences","readOnly","readOnlyFromProps","renderAllFields","req","schemaPath","siblingData","requiresRender","type","clientField","get","defaultIDType","payload","config","db","field","i18n","importMap","clientProps","customComponents","includes","serverProps","user","value","name","rows","forEach","row","rowIndex","rowLastRenderedPath","rowPath","rowRequiresRender","admin","components","RowLabel","Component","key","rowLabel","labels","singular","String","padStart","rowNumber","blockTypeToMatch","blockType","blockConfig","blocks","blockReferences","find","block","slug","Label","Object","keys","length","description","editor","Error","Field","FieldComponent","sanitizedEditorConfig","editorConfig","undefined","Description","t","AfterInput","afterInput","BeforeInput","beforeInput"],"mappings":"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"}
|
|
@@ -4,8 +4,27 @@ import { getClientSchemaMap } from '../../../utilities/getClientSchemaMap.js';
|
|
|
4
4
|
import { getSchemaMap } from '../../../utilities/getSchemaMap.js';
|
|
5
5
|
import { renderField } from '../renderField.js';
|
|
6
6
|
/**
|
|
7
|
+
* Override field config pulled from schemaPath lookup
|
|
8
|
+
*/ /**
|
|
9
|
+
* Pass the value this field will receive when rendering it on the server.
|
|
10
|
+
* For richText, this helps provide initial state for sub-fields that are immediately rendered (like blocks)
|
|
11
|
+
* so that we can avoid multiple waterfall requests for each block that renders on the client.
|
|
12
|
+
*/ /**
|
|
13
|
+
* Path to the field to render
|
|
14
|
+
* @default field name
|
|
15
|
+
*/ /**
|
|
16
|
+
* Dot schema path to a richText field declared in your config.
|
|
17
|
+
* Format:
|
|
18
|
+
* "collection.<collectionSlug>.<fieldPath>"
|
|
19
|
+
* "global.<globalSlug>.<fieldPath>"
|
|
20
|
+
*
|
|
21
|
+
* Examples:
|
|
22
|
+
* "collection.posts.richText"
|
|
23
|
+
* "global.siteSettings.content"
|
|
24
|
+
*/ /**
|
|
7
25
|
* @experimental - may break in minor releases
|
|
8
|
-
*/ export const _internal_renderFieldHandler =
|
|
26
|
+
*/ export const _internal_renderFieldHandler = // eslint-disable-next-line @typescript-eslint/require-await
|
|
27
|
+
async ({ field: fieldArg, initialValue, path, req, schemaPath })=>{
|
|
9
28
|
if (!req.user) {
|
|
10
29
|
throw new Error('Unauthorized');
|
|
11
30
|
}
|
|
@@ -54,7 +73,9 @@ import { renderField } from '../renderField.js';
|
|
|
54
73
|
fieldConfig: field,
|
|
55
74
|
fieldSchemaMap: schemaMap,
|
|
56
75
|
fieldState,
|
|
76
|
+
// TODO,
|
|
57
77
|
formState: {},
|
|
78
|
+
// TODO,
|
|
58
79
|
indexPath: '',
|
|
59
80
|
lastRenderedPath: '',
|
|
60
81
|
operation: 'create',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.ts"],"sourcesContent":["import { deepMerge, type Field, type FieldState, type ServerFunction } from 'payload'\n\nimport { getClientConfig } from '../../../utilities/getClientConfig.js'\nimport { getClientSchemaMap } from '../../../utilities/getClientSchemaMap.js'\nimport { getSchemaMap } from '../../../utilities/getSchemaMap.js'\nimport { renderField } from '../renderField.js'\n\nexport type RenderFieldServerFnArgs<TField = Field> = {\n /**\n * Override field config pulled from schemaPath lookup\n */\n field?: Partial<TField>\n /**\n * Pass the value this field will receive when rendering it on the server.\n * For richText, this helps provide initial state for sub-fields that are immediately rendered (like blocks)\n * so that we can avoid multiple waterfall requests for each block that renders on the client.\n */\n initialValue?: unknown\n /**\n * Path to the field to render\n * @default field name\n */\n path?: string\n /**\n * Dot schema path to a richText field declared in your config.\n * Format:\n * \"collection.<collectionSlug>.<fieldPath>\"\n * \"global.<globalSlug>.<fieldPath>\"\n *\n * Examples:\n * \"collection.posts.richText\"\n * \"global.siteSettings.content\"\n */\n schemaPath: string\n}\nexport type RenderFieldServerFnReturnType = {} & FieldState['customComponents']\n\n/**\n * @experimental - may break in minor releases\n */\nexport const _internal_renderFieldHandler: ServerFunction<\n RenderFieldServerFnArgs,\n Promise<RenderFieldServerFnReturnType>\n // eslint-disable-next-line @typescript-eslint/require-await\n> = async ({ field: fieldArg, initialValue, path, req, schemaPath }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const [entityType, entitySlug, ...fieldPath] = schemaPath.split('.')\n\n const schemaMap = getSchemaMap({\n collectionSlug: entityType === 'collection' ? entitySlug : undefined,\n config: req.payload.config,\n globalSlug: entityType === 'global' ? entitySlug : undefined,\n i18n: req.i18n,\n })\n\n // Provide client schema map as it would have been provided if the target editor field would have been rendered.\n // For lexical, only then will it contain all the lexical-internal entries\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug: entityType === 'collection' ? entitySlug : undefined,\n config: getClientConfig({\n config: req.payload.config,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n user: req.user,\n }),\n globalSlug: entityType === 'global' ? entitySlug : undefined,\n i18n: req.i18n,\n payload: req.payload,\n schemaMap,\n })\n\n const targetField = schemaMap.get(`${entitySlug}.${fieldPath.join('.')}`) as Field | undefined\n\n if (!targetField) {\n throw new Error(`Could not find target field at schemaPath: ${schemaPath}`)\n }\n\n const field: Field = fieldArg ? deepMerge(targetField, fieldArg, { clone: false }) : targetField\n\n let data = {}\n if (typeof initialValue !== 'undefined') {\n if ('name' in field) {\n data[field.name] = initialValue\n } else {\n data = initialValue\n }\n }\n\n const fieldState: FieldState = {}\n renderField({\n clientFieldSchemaMap: clientSchemaMap,\n collectionSlug: entityType === 'collection' && entitySlug ? entitySlug : '-',\n data,\n fieldConfig: field,\n fieldSchemaMap: schemaMap,\n fieldState, // TODO,\n formState: {}, // TODO,\n indexPath: '',\n lastRenderedPath: '',\n operation: 'create',\n parentPath: '',\n parentSchemaPath: '',\n path: path ?? ('name' in field ? field.name : ''),\n permissions: true,\n preferences: {\n fields: {},\n },\n // If we are passed a field override, we want to ensure we create a new client field based on that override\n forceCreateClientField: fieldArg ? true : false,\n previousFieldState: undefined,\n renderAllFields: true,\n req,\n schemaPath: `${entitySlug}.${fieldPath.join('.')}`,\n siblingData: data,\n })\n\n return fieldState.customComponents ?? {}\n}\n"],"names":["deepMerge","getClientConfig","getClientSchemaMap","getSchemaMap","renderField","_internal_renderFieldHandler","field","fieldArg","initialValue","path","req","schemaPath","user","Error","entityType","entitySlug","fieldPath","split","schemaMap","collectionSlug","undefined","config","payload","globalSlug","i18n","clientSchemaMap","importMap","targetField","get","join","clone","data","name","fieldState","clientFieldSchemaMap","fieldConfig","fieldSchemaMap","formState","indexPath","lastRenderedPath","operation","parentPath","parentSchemaPath","permissions","preferences","fields","forceCreateClientField","previousFieldState","renderAllFields","siblingData","customComponents"],"mappings":"AAAA,SAASA,SAAS,QAA0D,UAAS;AAErF,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,kBAAkB,QAAQ,2CAA0C;AAC7E,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,WAAW,QAAQ,oBAAmB;
|
|
1
|
+
{"version":3,"sources":["../../../../src/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.ts"],"sourcesContent":["import { deepMerge, type Field, type FieldState, type ServerFunction } from 'payload'\n\nimport { getClientConfig } from '../../../utilities/getClientConfig.js'\nimport { getClientSchemaMap } from '../../../utilities/getClientSchemaMap.js'\nimport { getSchemaMap } from '../../../utilities/getSchemaMap.js'\nimport { renderField } from '../renderField.js'\n\nexport type RenderFieldServerFnArgs<TField = Field> = {\n /**\n * Override field config pulled from schemaPath lookup\n */\n field?: Partial<TField>\n /**\n * Pass the value this field will receive when rendering it on the server.\n * For richText, this helps provide initial state for sub-fields that are immediately rendered (like blocks)\n * so that we can avoid multiple waterfall requests for each block that renders on the client.\n */\n initialValue?: unknown\n /**\n * Path to the field to render\n * @default field name\n */\n path?: string\n /**\n * Dot schema path to a richText field declared in your config.\n * Format:\n * \"collection.<collectionSlug>.<fieldPath>\"\n * \"global.<globalSlug>.<fieldPath>\"\n *\n * Examples:\n * \"collection.posts.richText\"\n * \"global.siteSettings.content\"\n */\n schemaPath: string\n}\nexport type RenderFieldServerFnReturnType = {} & FieldState['customComponents']\n\n/**\n * @experimental - may break in minor releases\n */\nexport const _internal_renderFieldHandler: ServerFunction<\n RenderFieldServerFnArgs,\n Promise<RenderFieldServerFnReturnType>\n // eslint-disable-next-line @typescript-eslint/require-await\n> = async ({ field: fieldArg, initialValue, path, req, schemaPath }) => {\n if (!req.user) {\n throw new Error('Unauthorized')\n }\n\n const [entityType, entitySlug, ...fieldPath] = schemaPath.split('.')\n\n const schemaMap = getSchemaMap({\n collectionSlug: entityType === 'collection' ? entitySlug : undefined,\n config: req.payload.config,\n globalSlug: entityType === 'global' ? entitySlug : undefined,\n i18n: req.i18n,\n })\n\n // Provide client schema map as it would have been provided if the target editor field would have been rendered.\n // For lexical, only then will it contain all the lexical-internal entries\n const clientSchemaMap = getClientSchemaMap({\n collectionSlug: entityType === 'collection' ? entitySlug : undefined,\n config: getClientConfig({\n config: req.payload.config,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n user: req.user,\n }),\n globalSlug: entityType === 'global' ? entitySlug : undefined,\n i18n: req.i18n,\n payload: req.payload,\n schemaMap,\n })\n\n const targetField = schemaMap.get(`${entitySlug}.${fieldPath.join('.')}`) as Field | undefined\n\n if (!targetField) {\n throw new Error(`Could not find target field at schemaPath: ${schemaPath}`)\n }\n\n const field: Field = fieldArg ? deepMerge(targetField, fieldArg, { clone: false }) : targetField\n\n let data = {}\n if (typeof initialValue !== 'undefined') {\n if ('name' in field) {\n data[field.name] = initialValue\n } else {\n data = initialValue\n }\n }\n\n const fieldState: FieldState = {}\n renderField({\n clientFieldSchemaMap: clientSchemaMap,\n collectionSlug: entityType === 'collection' && entitySlug ? entitySlug : '-',\n data,\n fieldConfig: field,\n fieldSchemaMap: schemaMap,\n fieldState, // TODO,\n formState: {}, // TODO,\n indexPath: '',\n lastRenderedPath: '',\n operation: 'create',\n parentPath: '',\n parentSchemaPath: '',\n path: path ?? ('name' in field ? field.name : ''),\n permissions: true,\n preferences: {\n fields: {},\n },\n // If we are passed a field override, we want to ensure we create a new client field based on that override\n forceCreateClientField: fieldArg ? true : false,\n previousFieldState: undefined,\n renderAllFields: true,\n req,\n schemaPath: `${entitySlug}.${fieldPath.join('.')}`,\n siblingData: data,\n })\n\n return fieldState.customComponents ?? {}\n}\n"],"names":["deepMerge","getClientConfig","getClientSchemaMap","getSchemaMap","renderField","_internal_renderFieldHandler","field","fieldArg","initialValue","path","req","schemaPath","user","Error","entityType","entitySlug","fieldPath","split","schemaMap","collectionSlug","undefined","config","payload","globalSlug","i18n","clientSchemaMap","importMap","targetField","get","join","clone","data","name","fieldState","clientFieldSchemaMap","fieldConfig","fieldSchemaMap","formState","indexPath","lastRenderedPath","operation","parentPath","parentSchemaPath","permissions","preferences","fields","forceCreateClientField","previousFieldState","renderAllFields","siblingData","customComponents"],"mappings":"AAAA,SAASA,SAAS,QAA0D,UAAS;AAErF,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,kBAAkB,QAAQ,2CAA0C;AAC7E,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,WAAW,QAAQ,oBAAmB;AAG7C;;GAEC,GAED;;;;GAIC,GAED;;;GAGC,GAED;;;;;;;;;GASC,GAKH;;CAEC,GACD,OAAO,MAAMC,+BAGX,4DAA4D;AAC1D,OAAO,EAAEC,OAAOC,QAAQ,EAAEC,YAAY,EAAEC,IAAI,EAAEC,GAAG,EAAEC,UAAU,EAAE;IACjE,IAAI,CAACD,IAAIE,IAAI,EAAE;QACb,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAM,CAACC,YAAYC,YAAY,GAAGC,UAAU,GAAGL,WAAWM,KAAK,CAAC;IAEhE,MAAMC,YAAYf,aAAa;QAC7BgB,gBAAgBL,eAAe,eAAeC,aAAaK;QAC3DC,QAAQX,IAAIY,OAAO,CAACD,MAAM;QAC1BE,YAAYT,eAAe,WAAWC,aAAaK;QACnDI,MAAMd,IAAIc,IAAI;IAChB;IAEA,gHAAgH;IAChH,0EAA0E;IAC1E,MAAMC,kBAAkBvB,mBAAmB;QACzCiB,gBAAgBL,eAAe,eAAeC,aAAaK;QAC3DC,QAAQpB,gBAAgB;YACtBoB,QAAQX,IAAIY,OAAO,CAACD,MAAM;YAC1BG,MAAMd,IAAIc,IAAI;YACdE,WAAWhB,IAAIY,OAAO,CAACI,SAAS;YAChCd,MAAMF,IAAIE,IAAI;QAChB;QACAW,YAAYT,eAAe,WAAWC,aAAaK;QACnDI,MAAMd,IAAIc,IAAI;QACdF,SAASZ,IAAIY,OAAO;QACpBJ;IACF;IAEA,MAAMS,cAAcT,UAAUU,GAAG,CAAC,GAAGb,WAAW,CAAC,EAAEC,UAAUa,IAAI,CAAC,MAAM;IAExE,IAAI,CAACF,aAAa;QAChB,MAAM,IAAId,MAAM,CAAC,2CAA2C,EAAEF,YAAY;IAC5E;IAEA,MAAML,QAAeC,WAAWP,UAAU2B,aAAapB,UAAU;QAAEuB,OAAO;IAAM,KAAKH;IAErF,IAAII,OAAO,CAAC;IACZ,IAAI,OAAOvB,iBAAiB,aAAa;QACvC,IAAI,UAAUF,OAAO;YACnByB,IAAI,CAACzB,MAAM0B,IAAI,CAAC,GAAGxB;QACrB,OAAO;YACLuB,OAAOvB;QACT;IACF;IAEA,MAAMyB,aAAyB,CAAC;IAChC7B,YAAY;QACV8B,sBAAsBT;QACtBN,gBAAgBL,eAAe,gBAAgBC,aAAaA,aAAa;QACzEgB;QACAI,aAAa7B;QACb8B,gBAAgBlB;QAChBe;QAAY,QAAQ;QACpBI,WAAW,CAAC;QAAG,QAAQ;QACvBC,WAAW;QACXC,kBAAkB;QAClBC,WAAW;QACXC,YAAY;QACZC,kBAAkB;QAClBjC,MAAMA,QAAS,CAAA,UAAUH,QAAQA,MAAM0B,IAAI,GAAG,EAAC;QAC/CW,aAAa;QACbC,aAAa;YACXC,QAAQ,CAAC;QACX;QACA,2GAA2G;QAC3GC,wBAAwBvC,WAAW,OAAO;QAC1CwC,oBAAoB3B;QACpB4B,iBAAiB;QACjBtC;QACAC,YAAY,GAAGI,WAAW,CAAC,EAAEC,UAAUa,IAAI,CAAC,MAAM;QAClDoB,aAAalB;IACf;IAEA,OAAOE,WAAWiB,gBAAgB,IAAI,CAAC;AACzC,EAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* If set to true, it will force creating a clientField based on the passed fieldConfig instead of pulling
|
|
3
|
+
* the client field from the clientFieldSchemaMap. This is useful if the passed fieldConfig differs from the one in the schema map,
|
|
4
|
+
* e.g. when calling the render-field server function and passing a field config override.
|
|
5
|
+
*/ export { };
|
|
2
6
|
|
|
3
7
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/fieldSchemasToFormState/types.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FieldState,\n FormState,\n Operation,\n PayloadRequest,\n SanitizedFieldPermissions,\n} from 'payload'\n\nexport type RenderFieldArgs = {\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug: string\n data: Data\n fieldConfig: Field\n fieldSchemaMap: FieldSchemaMap\n fieldState: FieldState\n /**\n * If set to true, it will force creating a clientField based on the passed fieldConfig instead of pulling\n * the client field from the clientFieldSchemaMap. This is useful if the passed fieldConfig differs from the one in the schema map,\n * e.g. when calling the render-field server function and passing a field config override.\n */\n forceCreateClientField?: boolean\n formState: FormState\n id?: number | string\n indexPath: string\n lastRenderedPath: string\n mockRSCs?: boolean\n operation: Operation\n parentPath: string\n parentSchemaPath: string\n path: string\n permissions: SanitizedFieldPermissions\n preferences: DocumentPreferences\n previousFieldState: FieldState\n readOnly?: boolean\n renderAllFields: boolean\n req: PayloadRequest\n schemaPath: string\n siblingData: Data\n}\n\nexport type RenderFieldMethod = (args: RenderFieldArgs) => void\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/fieldSchemasToFormState/types.ts"],"sourcesContent":["import type {\n ClientFieldSchemaMap,\n Data,\n DocumentPreferences,\n Field,\n FieldSchemaMap,\n FieldState,\n FormState,\n Operation,\n PayloadRequest,\n SanitizedFieldPermissions,\n} from 'payload'\n\nexport type RenderFieldArgs = {\n clientFieldSchemaMap?: ClientFieldSchemaMap\n collectionSlug: string\n data: Data\n fieldConfig: Field\n fieldSchemaMap: FieldSchemaMap\n fieldState: FieldState\n /**\n * If set to true, it will force creating a clientField based on the passed fieldConfig instead of pulling\n * the client field from the clientFieldSchemaMap. This is useful if the passed fieldConfig differs from the one in the schema map,\n * e.g. when calling the render-field server function and passing a field config override.\n */\n forceCreateClientField?: boolean\n formState: FormState\n id?: number | string\n indexPath: string\n lastRenderedPath: string\n mockRSCs?: boolean\n operation: Operation\n parentPath: string\n parentSchemaPath: string\n path: string\n permissions: SanitizedFieldPermissions\n preferences: DocumentPreferences\n previousFieldState: FieldState\n readOnly?: boolean\n renderAllFields: boolean\n req: PayloadRequest\n schemaPath: string\n siblingData: Data\n}\n\nexport type RenderFieldMethod = (args: RenderFieldArgs) => void\n"],"names":[],"mappings":"AAoBE;;;;GAIC,GAqBH,WAA+D"}
|
|
@@ -103,6 +103,7 @@ const useFieldInForm = (options)=>{
|
|
|
103
103
|
const isValid = typeof validate === 'function' ? await validate(valueToValidate, {
|
|
104
104
|
id,
|
|
105
105
|
blockData: undefined,
|
|
106
|
+
// Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`
|
|
106
107
|
collectionSlug,
|
|
107
108
|
data: documentForm?.getData ? documentForm.getData() : data,
|
|
108
109
|
event: 'onChange',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest } from 'payload'\n\nimport React, { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport {\n useDocumentForm,\n useForm,\n useFormFields,\n useFormInitializing,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\nimport { useFieldPath } from '../RenderFields/context.js'\n\nconst useFieldInForm = <TValue,>(options?: Options): FieldType<TValue> => {\n const {\n disableFormData = false,\n hasRows,\n path: pathFromOptions,\n potentiallyStalePath,\n validate,\n } = options || {}\n\n const pathFromContext = useFieldPath()\n\n // This is a workaround for stale props given to server rendered components.\n // See the notes in the `potentiallyStalePath` type definition for more details.\n const path = pathFromOptions || pathFromContext || potentiallyStalePath\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { user } = useAuth()\n const { id, collectionSlug } = useDocumentInfo()\n const operation = useOperation()\n\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { t } = useTranslation()\n const { config } = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const documentForm = useDocumentForm()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as TValue\n const initialValue = field?.initialValue as TValue\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n const pathSegments = path ? path.split('.') : []\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n // TODO:\n // There are no built-in fields that pass events into `e`.\n // Remove this check in the next major version.\n const isEvent =\n e &&\n typeof e === 'object' &&\n typeof e.preventDefault === 'function' &&\n typeof e.stopPropagation === 'function'\n\n const val = isEvent ? e.target.value : e\n\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n setModified(true)\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<TValue> = useMemo(\n () => ({\n blocksFilterOptions: field?.blocksFilterOptions,\n customComponents: field?.customComponents,\n disabled: processing || initializing,\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formInitializing: initializing,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n rows: field?.rows,\n selectFilterOptions: field?.selectFilterOptions,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n filterOptions,\n initializing,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined = prevErrorMessage.current\n let valid: boolean | string = prevValid.current\n\n const data = getData()\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n collectionSlug,\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'onChange',\n operation,\n path: pathSegments,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: getSiblingData(path),\n })\n : typeof prevErrorMessage.current === 'string'\n ? prevErrorMessage.current\n : prevValid.current\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n collectionSlug,\n ],\n )\n\n return result\n}\n\n/**\n * Context to allow providing useField value for fields directly, if managed outside the Form\n *\n * @experimental\n */\nexport const FieldContext = React.createContext<FieldType<unknown> | undefined>(undefined)\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/react-hooks#usefield\n */\nexport const useField = <TValue,>(options?: Options): FieldType<TValue> => {\n const pathFromContext = useFieldPath()\n\n const fieldContext = React.use(FieldContext) as FieldType<TValue> | undefined\n\n // Lock the mode on first render so hook order is stable forever. This ensures\n // that hooks are called in the same order each time a component renders => should\n // not break the rule of hooks.\n const hasFieldContext = React.useRef<false | null | true>(null)\n if (hasFieldContext.current === null) {\n // Use field context, if a field context exists **and** the path matches. If the path\n // does not match, this could be the field context of a parent field => there likely is\n // a nested <Form /> we should use instead => 'form'\n const currentPath = options?.path || pathFromContext || options.potentiallyStalePath\n\n hasFieldContext.current =\n fieldContext && currentPath && fieldContext.path === currentPath ? true : false\n }\n\n if (hasFieldContext.current === true) {\n if (!fieldContext) {\n // Provider was removed after mount. That violates hook guarantees.\n throw new Error('FieldContext was removed after mount. This breaks hook ordering.')\n }\n return fieldContext\n }\n\n // We intentionally guard this hook call with a mode that is fixed on first render.\n // The order is consistent across renders. Silence the linter’s false positive.\n\n // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useFieldInForm<TValue>(options)\n}\n"],"names":["React","useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useDocumentForm","useForm","useFormFields","useFormInitializing","useFormProcessing","useFormSubmitted","useFieldPath","useFieldInForm","options","disableFormData","hasRows","path","pathFromOptions","potentiallyStalePath","validate","pathFromContext","submitted","processing","initializing","user","id","collectionSlug","operation","dispatchField","_","dispatch","field","fields","t","config","getData","getDataByPath","getSiblingData","setModified","documentForm","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","pathSegments","split","setValue","e","disableModifyingForm","isEvent","preventDefault","stopPropagation","val","target","type","result","blocksFilterOptions","customComponents","disabled","errorPaths","formInitializing","formProcessing","formSubmitted","rows","selectFilterOptions","validateField","valueToValidate","Array","isArray","current","data","isValid","blockData","undefined","event","preferences","req","payload","siblingData","update","FieldContext","createContext","useField","fieldContext","use","hasFieldContext","currentPath","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport type { PayloadRequest } from 'payload'\n\nimport React, { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport {\n useDocumentForm,\n useForm,\n useFormFields,\n useFormInitializing,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\nimport { useFieldPath } from '../RenderFields/context.js'\n\nconst useFieldInForm = <TValue,>(options?: Options): FieldType<TValue> => {\n const {\n disableFormData = false,\n hasRows,\n path: pathFromOptions,\n potentiallyStalePath,\n validate,\n } = options || {}\n\n const pathFromContext = useFieldPath()\n\n // This is a workaround for stale props given to server rendered components.\n // See the notes in the `potentiallyStalePath` type definition for more details.\n const path = pathFromOptions || pathFromContext || potentiallyStalePath\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { user } = useAuth()\n const { id, collectionSlug } = useDocumentInfo()\n const operation = useOperation()\n\n const dispatchField = useFormFields(([_, dispatch]) => dispatch)\n const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)\n\n const { t } = useTranslation()\n const { config } = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const documentForm = useDocumentForm()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as TValue\n const initialValue = field?.initialValue as TValue\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n const pathSegments = path ? path.split('.') : []\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n // TODO:\n // There are no built-in fields that pass events into `e`.\n // Remove this check in the next major version.\n const isEvent =\n e &&\n typeof e === 'object' &&\n typeof e.preventDefault === 'function' &&\n typeof e.stopPropagation === 'function'\n\n const val = isEvent ? e.target.value : e\n\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n setModified(true)\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<TValue> = useMemo(\n () => ({\n blocksFilterOptions: field?.blocksFilterOptions,\n customComponents: field?.customComponents,\n disabled: processing || initializing,\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formInitializing: initializing,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n rows: field?.rows,\n selectFilterOptions: field?.selectFilterOptions,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n filterOptions,\n initializing,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined = prevErrorMessage.current\n let valid: boolean | string = prevValid.current\n\n const data = getData()\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n blockData: undefined, // Will be expensive to get - not worth to pass to client-side validation, as this can be obtained by the user using `useFormFields()`\n collectionSlug,\n data: documentForm?.getData ? documentForm.getData() : data,\n event: 'onChange',\n operation,\n path: pathSegments,\n preferences: {} as any,\n req: {\n payload: {\n config,\n },\n t,\n user,\n } as unknown as PayloadRequest,\n siblingData: getSiblingData(path),\n })\n : typeof prevErrorMessage.current === 'string'\n ? prevErrorMessage.current\n : prevValid.current\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n collectionSlug,\n ],\n )\n\n return result\n}\n\n/**\n * Context to allow providing useField value for fields directly, if managed outside the Form\n *\n * @experimental\n */\nexport const FieldContext = React.createContext<FieldType<unknown> | undefined>(undefined)\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/react-hooks#usefield\n */\nexport const useField = <TValue,>(options?: Options): FieldType<TValue> => {\n const pathFromContext = useFieldPath()\n\n const fieldContext = React.use(FieldContext) as FieldType<TValue> | undefined\n\n // Lock the mode on first render so hook order is stable forever. This ensures\n // that hooks are called in the same order each time a component renders => should\n // not break the rule of hooks.\n const hasFieldContext = React.useRef<false | null | true>(null)\n if (hasFieldContext.current === null) {\n // Use field context, if a field context exists **and** the path matches. If the path\n // does not match, this could be the field context of a parent field => there likely is\n // a nested <Form /> we should use instead => 'form'\n const currentPath = options?.path || pathFromContext || options.potentiallyStalePath\n\n hasFieldContext.current =\n fieldContext && currentPath && fieldContext.path === currentPath ? true : false\n }\n\n if (hasFieldContext.current === true) {\n if (!fieldContext) {\n // Provider was removed after mount. That violates hook guarantees.\n throw new Error('FieldContext was removed after mount. This breaks hook ordering.')\n }\n return fieldContext\n }\n\n // We intentionally guard this hook call with a mode that is fixed on first render.\n // The order is consistent across renders. Silence the linter’s false positive.\n\n // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useFieldInForm<TValue>(options)\n}\n"],"names":["React","useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useDocumentForm","useForm","useFormFields","useFormInitializing","useFormProcessing","useFormSubmitted","useFieldPath","useFieldInForm","options","disableFormData","hasRows","path","pathFromOptions","potentiallyStalePath","validate","pathFromContext","submitted","processing","initializing","user","id","collectionSlug","operation","dispatchField","_","dispatch","field","fields","t","config","getData","getDataByPath","getSiblingData","setModified","documentForm","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","pathSegments","split","setValue","e","disableModifyingForm","isEvent","preventDefault","stopPropagation","val","target","type","result","blocksFilterOptions","customComponents","disabled","errorPaths","formInitializing","formProcessing","formSubmitted","rows","selectFilterOptions","validateField","valueToValidate","Array","isArray","current","data","isValid","blockData","undefined","event","preferences","req","payload","siblingData","update","FieldContext","createContext","useField","fieldContext","use","hasFieldContext","currentPath","Error"],"mappings":"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"}
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* If `path` is provided to this hook, it will be used outright. This is useful when calling this hook directly within a custom component.
|
|
3
|
+
* Otherwise, the field will attempt to get the path from the `FieldPathContext` via the `useFieldPath` hook.
|
|
4
|
+
* If still not found, the `potentiallyStalePath` arg will be used. See the note below about why this is important.
|
|
5
|
+
*/ /**
|
|
6
|
+
* Custom server components receive a static `path` prop at render-time, leading to temporarily stale paths when re-ordering rows in form state.
|
|
7
|
+
* This is because when manipulating rows, field paths change in form state, but the prop remains the same until the component is re-rendered on the server.
|
|
8
|
+
* This causes the component to temporarily point to the wrong field in form state until the server responds with a freshly rendered component.
|
|
9
|
+
* To prevent this, fields are wrapped with a `FieldPathContext` which is guaranteed to be up-to-date.
|
|
10
|
+
* The `path` prop that Payload's default fields receive, then, are sent into this hook as the `potentiallyStalePath` arg.
|
|
11
|
+
* This ensures that:
|
|
12
|
+
* 1. Custom components that use this hook directly will still respect the `path` prop as top priority.
|
|
13
|
+
* 2. Custom server components that blindly spread their props into default Payload fields still prefer the dynamic path from context.
|
|
14
|
+
* 3. Components that render default Payload fields directly do not require a `FieldPathProvider`, e.g. the email field in the account view.
|
|
15
|
+
*/ /**
|
|
16
|
+
* Client-side validation function fired when the form is submitted.
|
|
17
|
+
*/ export { }; /**
|
|
18
|
+
* @deprecated - readOnly is no longer returned from useField. Remove this in 4.0.
|
|
19
|
+
*/
|
|
2
20
|
|
|
3
21
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { FieldState, Validate } from 'payload'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n /**\n * If `path` is provided to this hook, it will be used outright. This is useful when calling this hook directly within a custom component.\n * Otherwise, the field will attempt to get the path from the `FieldPathContext` via the `useFieldPath` hook.\n * If still not found, the `potentiallyStalePath` arg will be used. See the note below about why this is important.\n */\n path?: string\n /**\n * Custom server components receive a static `path` prop at render-time, leading to temporarily stale paths when re-ordering rows in form state.\n * This is because when manipulating rows, field paths change in form state, but the prop remains the same until the component is re-rendered on the server.\n * This causes the component to temporarily point to the wrong field in form state until the server responds with a freshly rendered component.\n * To prevent this, fields are wrapped with a `FieldPathContext` which is guaranteed to be up-to-date.\n * The `path` prop that Payload's default fields receive, then, are sent into this hook as the `potentiallyStalePath` arg.\n * This ensures that:\n * 1. Custom components that use this hook directly will still respect the `path` prop as top priority.\n * 2. Custom server components that blindly spread their props into default Payload fields still prefer the dynamic path from context.\n * 3. Components that render default Payload fields directly do not require a `FieldPathProvider`, e.g. the email field in the account view.\n */\n potentiallyStalePath?: string\n /**\n * Client-side validation function fired when the form is submitted.\n */\n validate?: Validate\n}\n\nexport type FieldType<T> = {\n disabled: boolean\n formInitializing: boolean\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n path: string\n /**\n * @deprecated - readOnly is no longer returned from useField. Remove this in 4.0.\n */\n readOnly?: boolean\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n value: T\n} & Pick<\n FieldState,\n | 'blocksFilterOptions'\n | 'customComponents'\n | 'errorMessage'\n | 'errorPaths'\n | 'filterOptions'\n | 'rows'\n | 'selectFilterOptions'\n | 'valid'\n>\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/useField/types.ts"],"sourcesContent":["import type { FieldState, Validate } from 'payload'\n\nexport type Options = {\n disableFormData?: boolean\n hasRows?: boolean\n /**\n * If `path` is provided to this hook, it will be used outright. This is useful when calling this hook directly within a custom component.\n * Otherwise, the field will attempt to get the path from the `FieldPathContext` via the `useFieldPath` hook.\n * If still not found, the `potentiallyStalePath` arg will be used. See the note below about why this is important.\n */\n path?: string\n /**\n * Custom server components receive a static `path` prop at render-time, leading to temporarily stale paths when re-ordering rows in form state.\n * This is because when manipulating rows, field paths change in form state, but the prop remains the same until the component is re-rendered on the server.\n * This causes the component to temporarily point to the wrong field in form state until the server responds with a freshly rendered component.\n * To prevent this, fields are wrapped with a `FieldPathContext` which is guaranteed to be up-to-date.\n * The `path` prop that Payload's default fields receive, then, are sent into this hook as the `potentiallyStalePath` arg.\n * This ensures that:\n * 1. Custom components that use this hook directly will still respect the `path` prop as top priority.\n * 2. Custom server components that blindly spread their props into default Payload fields still prefer the dynamic path from context.\n * 3. Components that render default Payload fields directly do not require a `FieldPathProvider`, e.g. the email field in the account view.\n */\n potentiallyStalePath?: string\n /**\n * Client-side validation function fired when the form is submitted.\n */\n validate?: Validate\n}\n\nexport type FieldType<T> = {\n disabled: boolean\n formInitializing: boolean\n formProcessing: boolean\n formSubmitted: boolean\n initialValue?: T\n path: string\n /**\n * @deprecated - readOnly is no longer returned from useField. Remove this in 4.0.\n */\n readOnly?: boolean\n setValue: (val: unknown, disableModifyingForm?: boolean) => void\n showError: boolean\n value: T\n} & Pick<\n FieldState,\n | 'blocksFilterOptions'\n | 'customComponents'\n | 'errorMessage'\n | 'errorPaths'\n | 'filterOptions'\n | 'rows'\n | 'selectFilterOptions'\n | 'valid'\n>\n"],"names":[],"mappings":"AAKE;;;;GAIC,GAED;;;;;;;;;;GAUC,GAED;;GAEC,GAIH,WAwBC,CAjBC;;GAEC"}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { WatchCondition } from './WatchCondition.js';
|
|
5
5
|
export const withCondition = (Field)=>{
|
|
6
6
|
const CheckForCondition = (props)=>{
|
|
7
7
|
const { path } = props;
|
|
8
|
-
return /*#__PURE__*/
|
|
8
|
+
return /*#__PURE__*/ _jsxDEV(WatchCondition, {
|
|
9
9
|
path: path,
|
|
10
|
-
children: /*#__PURE__*/
|
|
10
|
+
children: /*#__PURE__*/ _jsxDEV(Field, {
|
|
11
11
|
...props
|
|
12
|
-
}
|
|
13
|
-
|
|
12
|
+
}, void 0, false, {
|
|
13
|
+
fileName: "src/forms/withCondition/index.tsx",
|
|
14
|
+
lineNumber: 17,
|
|
15
|
+
columnNumber: 9
|
|
16
|
+
}, this)
|
|
17
|
+
}, void 0, false, {
|
|
18
|
+
fileName: "src/forms/withCondition/index.tsx",
|
|
19
|
+
lineNumber: 16,
|
|
20
|
+
columnNumber: 7
|
|
21
|
+
}, this);
|
|
14
22
|
};
|
|
15
23
|
return CheckForCondition;
|
|
16
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/withCondition/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldPaths } from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport React from 'react'\n\nimport { WatchCondition } from './WatchCondition.js'\n\nexport const withCondition = <P extends MarkOptional<FieldPaths, 'indexPath' | 'path'>>(\n Field: React.ComponentType<P>,\n): React.FC<P> => {\n const CheckForCondition: React.FC<P> = (props) => {\n const { path } = props\n\n return (\n <WatchCondition path={path}>\n <Field {...props} />\n </WatchCondition>\n )\n }\n\n return CheckForCondition\n}\n"],"names":["React","WatchCondition","withCondition","Field","CheckForCondition","props","path"],"mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,sBAAqB;AAEpD,OAAO,MAAMC,gBAAgB,CAC3BC;IAEA,MAAMC,oBAAiC,CAACC;QACtC,MAAM,EAAEC,IAAI,EAAE,GAAGD;QAEjB,qBACE,
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/withCondition/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldPaths } from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport React from 'react'\n\nimport { WatchCondition } from './WatchCondition.js'\n\nexport const withCondition = <P extends MarkOptional<FieldPaths, 'indexPath' | 'path'>>(\n Field: React.ComponentType<P>,\n): React.FC<P> => {\n const CheckForCondition: React.FC<P> = (props) => {\n const { path } = props\n\n return (\n <WatchCondition path={path}>\n <Field {...props} />\n </WatchCondition>\n )\n }\n\n return CheckForCondition\n}\n"],"names":["React","WatchCondition","withCondition","Field","CheckForCondition","props","path"],"mappings":"AAAA;;AAIA,OAAOA,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,sBAAqB;AAEpD,OAAO,MAAMC,gBAAgB,CAC3BC;IAEA,MAAMC,oBAAiC,CAACC;QACtC,MAAM,EAAEC,IAAI,EAAE,GAAGD;QAEjB,qBACE,QAACJ;YAAeK,MAAMA;sBACpB,cAAA,QAACH;gBAAO,GAAGE,KAAK;;;;;;;;;;;IAGtB;IAEA,OAAOD;AACT,EAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import './index.scss';
|
|
4
4
|
const baseClass = 'graphic-account';
|
|
5
|
-
export const DefaultAccountIcon = (props)=>/*#__PURE__*/
|
|
5
|
+
export const DefaultAccountIcon = (props)=>/*#__PURE__*/ _jsxDEV("svg", {
|
|
6
6
|
className: [
|
|
7
7
|
baseClass,
|
|
8
8
|
props?.active && `${baseClass}--active`
|
|
@@ -12,23 +12,39 @@ export const DefaultAccountIcon = (props)=>/*#__PURE__*/ _jsxs("svg", {
|
|
|
12
12
|
width: "25",
|
|
13
13
|
xmlns: "http://www.w3.org/2000/svg",
|
|
14
14
|
children: [
|
|
15
|
-
/*#__PURE__*/
|
|
15
|
+
/*#__PURE__*/ _jsxDEV("circle", {
|
|
16
16
|
className: `${baseClass}__bg`,
|
|
17
17
|
cx: "12.5",
|
|
18
18
|
cy: "12.5",
|
|
19
19
|
r: "11.5"
|
|
20
|
-
}
|
|
21
|
-
|
|
20
|
+
}, void 0, false, {
|
|
21
|
+
fileName: "src/graphics/Account/Default/index.tsx",
|
|
22
|
+
lineNumber: 17,
|
|
23
|
+
columnNumber: 5
|
|
24
|
+
}, this),
|
|
25
|
+
/*#__PURE__*/ _jsxDEV("circle", {
|
|
22
26
|
className: `${baseClass}__head`,
|
|
23
27
|
cx: "12.5",
|
|
24
28
|
cy: "10.73",
|
|
25
29
|
r: "3.98"
|
|
26
|
-
}
|
|
27
|
-
|
|
30
|
+
}, void 0, false, {
|
|
31
|
+
fileName: "src/graphics/Account/Default/index.tsx",
|
|
32
|
+
lineNumber: 18,
|
|
33
|
+
columnNumber: 5
|
|
34
|
+
}, this),
|
|
35
|
+
/*#__PURE__*/ _jsxDEV("path", {
|
|
28
36
|
className: `${baseClass}__body`,
|
|
29
37
|
d: "M12.5,24a11.44,11.44,0,0,0,7.66-2.94c-.5-2.71-3.73-4.8-7.66-4.8s-7.16,2.09-7.66,4.8A11.44,11.44,0,0,0,12.5,24Z"
|
|
30
|
-
}
|
|
38
|
+
}, void 0, false, {
|
|
39
|
+
fileName: "src/graphics/Account/Default/index.tsx",
|
|
40
|
+
lineNumber: 19,
|
|
41
|
+
columnNumber: 5
|
|
42
|
+
}, this)
|
|
31
43
|
]
|
|
32
|
-
}
|
|
44
|
+
}, void 0, true, {
|
|
45
|
+
fileName: "src/graphics/Account/Default/index.tsx",
|
|
46
|
+
lineNumber: 10,
|
|
47
|
+
columnNumber: 3
|
|
48
|
+
}, this);
|
|
33
49
|
|
|
34
50
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/graphics/Account/Default/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'graphic-account'\n\nexport const DefaultAccountIcon: React.FC<{\n active: boolean\n}> = (props) => (\n <svg\n className={[baseClass, props?.active && `${baseClass}--active`].filter(Boolean).join(' ')}\n height=\"25\"\n viewBox=\"0 0 25 25\"\n width=\"25\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle className={`${baseClass}__bg`} cx=\"12.5\" cy=\"12.5\" r=\"11.5\" />\n <circle className={`${baseClass}__head`} cx=\"12.5\" cy=\"10.73\" r=\"3.98\" />\n <path\n className={`${baseClass}__body`}\n d=\"M12.5,24a11.44,11.44,0,0,0,7.66-2.94c-.5-2.71-3.73-4.8-7.66-4.8s-7.16,2.09-7.66,4.8A11.44,11.44,0,0,0,12.5,24Z\"\n />\n </svg>\n)\n"],"names":["React","baseClass","DefaultAccountIcon","props","svg","className","active","filter","Boolean","join","height","viewBox","width","xmlns","circle","cx","cy","r","path","d"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,qBAER,CAACC,sBACJ,
|
|
1
|
+
{"version":3,"sources":["../../../../src/graphics/Account/Default/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'graphic-account'\n\nexport const DefaultAccountIcon: React.FC<{\n active: boolean\n}> = (props) => (\n <svg\n className={[baseClass, props?.active && `${baseClass}--active`].filter(Boolean).join(' ')}\n height=\"25\"\n viewBox=\"0 0 25 25\"\n width=\"25\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle className={`${baseClass}__bg`} cx=\"12.5\" cy=\"12.5\" r=\"11.5\" />\n <circle className={`${baseClass}__head`} cx=\"12.5\" cy=\"10.73\" r=\"3.98\" />\n <path\n className={`${baseClass}__body`}\n d=\"M12.5,24a11.44,11.44,0,0,0,7.66-2.94c-.5-2.71-3.73-4.8-7.66-4.8s-7.16,2.09-7.66,4.8A11.44,11.44,0,0,0,12.5,24Z\"\n />\n </svg>\n)\n"],"names":["React","baseClass","DefaultAccountIcon","props","svg","className","active","filter","Boolean","join","height","viewBox","width","xmlns","circle","cx","cy","r","path","d"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,qBAER,CAACC,sBACJ,QAACC;QACCC,WAAW;YAACJ;YAAWE,OAAOG,UAAU,GAAGL,UAAU,QAAQ,CAAC;SAAC,CAACM,MAAM,CAACC,SAASC,IAAI,CAAC;QACrFC,QAAO;QACPC,SAAQ;QACRC,OAAM;QACNC,OAAM;;0BAEN,QAACC;gBAAOT,WAAW,GAAGJ,UAAU,IAAI,CAAC;gBAAEc,IAAG;gBAAOC,IAAG;gBAAOC,GAAE;;;;;;0BAC7D,QAACH;gBAAOT,WAAW,GAAGJ,UAAU,MAAM,CAAC;gBAAEc,IAAG;gBAAOC,IAAG;gBAAQC,GAAE;;;;;;0BAChE,QAACC;gBACCb,WAAW,GAAGJ,UAAU,MAAM,CAAC;gBAC/BkB,GAAE;;;;;;;;;;;aAGP"}
|