@payloadcms/ui 3.71.0-canary.2 → 3.71.0-internal-debug.dea9d74
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/@types/assets.d.js.map +1 -1
- package/dist/assets/index.js +1 -0
- package/dist/assets/index.js.map +1 -1
- package/dist/elements/AddNewRelation/index.js +218 -273
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AddNewRelation/types.js +2 -1
- package/dist/elements/AddNewRelation/types.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +84 -73
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +71 -68
- package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
- package/dist/elements/AppHeader/index.js +171 -101
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +186 -118
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +162 -181
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +52 -32
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +169 -173
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +84 -51
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +85 -94
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +30 -56
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +19 -27
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +179 -169
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/types.js +2 -1
- package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +221 -172
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +56 -57
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +395 -316
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/createFormData.js +33 -32
- package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +503 -473
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/reducer.js +100 -90
- package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +27 -15
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +204 -271
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +227 -160
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/types.js +14 -1
- package/dist/elements/Button/types.js.map +1 -1
- package/dist/elements/Card/index.js +53 -33
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +43 -36
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +29 -35
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/clipboardUtilities.js +33 -43
- package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +110 -83
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/ClipboardAction/isClipboardDataValid.js +64 -71
- package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +75 -93
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ClipboardAction/types.js +2 -1
- package/dist/elements/ClipboardAction/types.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +25 -20
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CloseModalOnRouteChange/index.js +17 -43
- package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +82 -97
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/constants.js +15 -14
- package/dist/elements/CodeEditor/constants.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +22 -10
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/CodeEditor/types.js +4 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/Collapsible/index.js +151 -141
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +32 -30
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +54 -54
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +114 -84
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +116 -129
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +213 -272
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +47 -70
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +130 -136
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/getFormattedLocale.js +11 -10
- package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
- package/dist/elements/DatePicker/index.js +23 -11
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DatePicker/types.js +2 -1
- package/dist/elements/DatePicker/types.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +97 -131
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +170 -141
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +371 -332
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +494 -274
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +141 -122
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +96 -103
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +24 -18
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +134 -210
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.js +12 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +106 -69
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +154 -179
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +97 -113
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +26 -60
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +72 -124
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/types.js +2 -1
- package/dist/elements/DraggableSortable/types.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +25 -85
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -1
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
- package/dist/elements/Drawer/index.js +166 -192
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/Drawer/types.js +2 -1
- package/dist/elements/Drawer/types.js.map +1 -1
- package/dist/elements/Drawer/useDrawerSlug.js +7 -19
- package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +59 -61
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +14 -9
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +90 -75
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +145 -87
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +155 -145
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +398 -392
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +79 -131
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +572 -395
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +96 -77
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +38 -24
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +50 -34
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +10 -7
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +45 -75
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FieldSelect/reduceFieldOptions.js +69 -67
- package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +113 -105
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +72 -33
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +76 -58
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +20 -14
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +59 -86
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +30 -30
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +88 -87
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +19 -14
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -4
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +174 -138
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +70 -51
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +71 -54
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +75 -79
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +35 -33
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +497 -565
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +61 -89
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +15 -10
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +218 -188
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +203 -264
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +93 -114
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +35 -27
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +142 -264
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +105 -83
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +162 -100
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +47 -24
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +16 -22
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +63 -83
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +142 -100
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +22 -19
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.js +522 -500
- package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +31 -26
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +51 -40
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/HydrateAuthProvider/index.js +15 -27
- package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +31 -57
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/ItemSearch/index.js +43 -48
- package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
- package/dist/elements/ItemsDrawer/index.js +219 -168
- package/dist/elements/ItemsDrawer/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +73 -142
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +113 -129
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Link/formatUrl.js +53 -56
- package/dist/elements/Link/formatUrl.js.map +1 -1
- package/dist/elements/Link/index.js +50 -54
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
- package/dist/elements/ListControls/index.js +253 -168
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/types.js +8 -1
- package/dist/elements/ListControls/types.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +183 -168
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +28 -19
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +149 -229
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListDrawer/types.js +6 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +43 -84
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +23 -33
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
- package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +49 -73
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +22 -40
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +130 -162
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +169 -148
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/index.js +1 -0
- package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
- package/dist/elements/ListHeader/index.js +65 -24
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +93 -58
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Device/index.js +83 -83
- package/dist/elements/LivePreview/Device/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js +29 -49
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +20 -44
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +32 -26
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +210 -141
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +62 -92
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js +84 -84
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js +15 -33
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +132 -166
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +112 -144
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +68 -67
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/reducer.js +27 -29
- package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
- package/dist/elements/LoadingOverlay/types.js +2 -1
- package/dist/elements/LoadingOverlay/types.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +55 -51
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +99 -117
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +38 -59
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +30 -51
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Modal/index.js +1 -1
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +34 -80
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +107 -103
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +98 -122
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +27 -14
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +40 -71
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +77 -107
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +24 -16
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +19 -16
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +10 -6
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +102 -99
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +93 -80
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +150 -133
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +103 -121
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +79 -56
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +65 -52
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +10 -5
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +11 -8
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +50 -44
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
- package/dist/elements/Popup/index.js +339 -282
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +24 -31
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +206 -132
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +154 -110
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +461 -309
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -1
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
- package/dist/elements/PublishButton/index.js +234 -195
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +137 -134
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +58 -109
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +344 -267
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +80 -87
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +47 -21
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +26 -19
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +61 -48
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +29 -27
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +42 -47
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +96 -74
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +149 -98
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +29 -27
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +40 -41
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +26 -23
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +20 -13
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +48 -126
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +29 -32
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +49 -86
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +22 -14
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +38 -29
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +211 -198
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/ReactSelect/types.js +9 -1
- package/dist/elements/ReactSelect/types.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +68 -58
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +21 -48
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +39 -34
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +374 -258
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +29 -20
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderCustomComponent/index.js +3 -5
- package/dist/elements/RenderCustomComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +27 -58
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +57 -56
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +44 -59
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +187 -154
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +177 -170
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +46 -49
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +84 -88
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +37 -19
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +60 -54
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SearchFilter/types.js +20 -1
- package/dist/elements/SearchFilter/types.js.map +1 -1
- package/dist/elements/SelectAll/index.js +21 -46
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +27 -25
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +27 -79
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +58 -73
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +98 -106
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +142 -163
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +54 -87
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +21 -27
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +203 -161
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +38 -76
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/SetStepNav.js +10 -27
- package/dist/elements/StepNav/SetStepNav.js.map +1 -1
- package/dist/elements/StepNav/context.js +24 -41
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +148 -92
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StepNav/types.js +2 -1
- package/dist/elements/StepNav/types.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +10 -8
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +13 -28
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +34 -60
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +18 -27
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +22 -17
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +22 -41
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +52 -42
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +18 -12
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +115 -183
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +22 -44
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +11 -9
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
- package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +124 -151
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +40 -32
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +24 -15
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +224 -167
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +106 -162
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
- package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
- package/dist/elements/Table/index.js +83 -45
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/createThumbnail.js +53 -48
- package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +127 -148
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +47 -68
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +53 -44
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/TimezonePicker/types.js +2 -1
- package/dist/elements/TimezonePicker/types.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +69 -77
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +98 -65
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +48 -39
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +33 -26
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +130 -127
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +58 -109
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +633 -481
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +15 -26
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/ViewDescription/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +23 -29
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +95 -76
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +74 -129
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +353 -313
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +83 -67
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +10 -9
- package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +69 -154
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +72 -123
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +206 -143
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/types.js +2 -1
- package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/validOperators.js +32 -33
- package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
- package/dist/elements/WhereBuilder/field-types.js +192 -119
- package/dist/elements/WhereBuilder/field-types.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +258 -193
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/types.js +2 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/elements/WindowInfo/index.js +1 -1
- package/dist/elements/WindowInfo/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +20 -19
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +26 -26
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/index.js +297 -96
- package/dist/exports/client/index.js.map +1 -7
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/exports/shared/index.js +35 -6
- package/dist/exports/shared/index.js.map +1 -7
- package/dist/fields/Array/ArrayRow.js +111 -168
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +532 -398
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +163 -198
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +30 -38
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +159 -103
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +37 -80
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +50 -106
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +36 -78
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +566 -425
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +86 -99
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +107 -99
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +146 -114
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +172 -134
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +67 -83
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +217 -171
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +111 -86
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +20 -43
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +22 -58
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +43 -45
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +150 -102
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +13 -12
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +27 -67
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +185 -143
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +214 -189
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +213 -169
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +80 -101
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +108 -122
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Password/types.js +12 -1
- package/dist/fields/Password/types.js.map +1 -1
- package/dist/fields/Point/index.js +199 -127
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +56 -81
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +146 -114
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +811 -733
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/createRelationMap.js +31 -33
- package/dist/fields/Relationship/createRelationMap.js.map +1 -1
- package/dist/fields/Relationship/findOptionsByValue.js +28 -32
- package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
- package/dist/fields/Relationship/index.js +152 -160
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/optionsReducer.js +144 -139
- package/dist/fields/Relationship/optionsReducer.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +92 -82
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +95 -118
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Relationship/types.js +2 -1
- package/dist/fields/Relationship/types.js.map +1 -1
- package/dist/fields/RichText/index.js +3 -3
- package/dist/fields/RichText/index.js.map +1 -1
- package/dist/fields/Row/index.js +37 -35
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +13 -12
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +114 -165
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +89 -108
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +103 -134
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +54 -60
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +213 -382
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +13 -12
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +169 -191
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +107 -126
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Text/types.js +2 -1
- package/dist/fields/Text/types.js.map +1 -1
- package/dist/fields/Textarea/Input.js +104 -115
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +61 -88
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Textarea/types.js +2 -1
- package/dist/fields/Textarea/types.js.map +1 -1
- package/dist/fields/UI/index.js +3 -3
- package/dist/fields/UI/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +141 -186
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +59 -60
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +755 -566
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +140 -143
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +15 -10
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +79 -96
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/types.js +3 -1
- package/dist/fields/Upload/types.js.map +1 -1
- package/dist/fields/index.js +31 -31
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/mergeFieldStyles.js +13 -12
- package/dist/fields/mergeFieldStyles.js.map +1 -1
- package/dist/fields/shared/index.js +8 -17
- package/dist/fields/shared/index.js.map +1 -1
- package/dist/forms/Form/context.js +17 -24
- package/dist/forms/Form/context.js.map +1 -1
- package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
- package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
- package/dist/forms/Form/errorMessages.js +2 -2
- package/dist/forms/Form/errorMessages.js.map +1 -1
- package/dist/forms/Form/fieldReducer.js +378 -412
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.js +745 -684
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/initContextState.js +38 -38
- package/dist/forms/Form/initContextState.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +93 -97
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/reduceToSerializableFields.js +20 -17
- package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
- package/dist/forms/Form/rowHelpers.js +27 -34
- package/dist/forms/Form/rowHelpers.js.map +1 -1
- package/dist/forms/Form/rows.js +34 -34
- package/dist/forms/Form/rows.js.map +1 -1
- package/dist/forms/Form/types.js +53 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/NullifyField/index.js +61 -96
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +237 -259
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/context.js +9 -9
- package/dist/forms/RenderFields/context.js.map +1 -1
- package/dist/forms/RenderFields/index.js +76 -115
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RenderFields/types.js +2 -1
- package/dist/forms/RenderFields/types.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +30 -29
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +33 -24
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/RowLabel/types.js +2 -1
- package/dist/forms/RowLabel/types.js.map +1 -1
- package/dist/forms/Submit/index.js +32 -35
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
- package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
- package/dist/forms/WatchChildErrors/index.js +41 -66
- package/dist/forms/WatchChildErrors/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +681 -706
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +14 -22
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +17 -26
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +186 -198
- package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +67 -60
- package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/index.js +90 -79
- package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +12 -16
- package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/iterateFields.js +95 -116
- package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +273 -274
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +90 -75
- package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/types.js +6 -1
- package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
- package/dist/forms/useField/index.js +180 -292
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/useField/types.js +20 -1
- package/dist/forms/useField/types.js.map +1 -1
- package/dist/forms/withCondition/WatchCondition.js +9 -27
- package/dist/forms/withCondition/WatchCondition.js.map +1 -1
- package/dist/forms/withCondition/index.js +21 -15
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +46 -22
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +25 -34
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +24 -51
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +117 -62
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +33 -17
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +33 -19
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +112 -39
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/hooks/useClickOutside.js +19 -15
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useControllableState.js +25 -35
- package/dist/hooks/useControllableState.js.map +1 -1
- package/dist/hooks/useDebounce.js +15 -26
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useDebouncedCallback.js +15 -23
- package/dist/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/hooks/useDebouncedEffect.js +18 -53
- package/dist/hooks/useDebouncedEffect.js.map +1 -1
- package/dist/hooks/useDelay.js +27 -52
- package/dist/hooks/useDelay.js.map +1 -1
- package/dist/hooks/useDelayedRender.js +42 -76
- package/dist/hooks/useDelayedRender.js.map +1 -1
- package/dist/hooks/useEffectEvent.js +12 -33
- package/dist/hooks/useEffectEvent.js.map +1 -1
- package/dist/hooks/useHotkey.js +96 -110
- package/dist/hooks/useHotkey.js.map +1 -1
- package/dist/hooks/useIntersect.js +28 -59
- package/dist/hooks/useIntersect.js.map +1 -1
- package/dist/hooks/usePayloadAPI.js +78 -172
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/hooks/usePopupWindow.js +91 -133
- package/dist/hooks/usePopupWindow.js.map +1 -1
- package/dist/hooks/useQueue.js +48 -38
- package/dist/hooks/useQueue.js.map +1 -1
- package/dist/hooks/useRelatedCollections.js +15 -27
- package/dist/hooks/useRelatedCollections.js.map +1 -1
- package/dist/hooks/useResize.js +42 -70
- package/dist/hooks/useResize.js.map +1 -1
- package/dist/hooks/useThrottledEffect.js +17 -51
- package/dist/hooks/useThrottledEffect.js.map +1 -1
- package/dist/hooks/useThrottledValue.js +16 -13
- package/dist/hooks/useThrottledValue.js.map +1 -1
- package/dist/hooks/useUseAsTitle.js +7 -27
- package/dist/hooks/useUseAsTitle.js.map +1 -1
- package/dist/icons/Calendar/index.js +20 -11
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +20 -11
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +30 -22
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +20 -11
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +22 -13
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +24 -17
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +25 -16
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +32 -11
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +70 -33
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +23 -13
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +25 -15
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +53 -25
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +26 -16
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +34 -21
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +57 -31
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +23 -14
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +25 -16
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +25 -16
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +41 -24
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +23 -14
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +23 -14
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +33 -19
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +43 -21
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +62 -34
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +28 -17
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +22 -13
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +21 -12
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +48 -35
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +20 -11
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +27 -8
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +28 -18
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +25 -15
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +21 -33
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +293 -243
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClickOutside/index.js +35 -35
- package/dist/providers/ClickOutside/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +63 -104
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +91 -91
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +19 -30
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +331 -325
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.js +26 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js +81 -79
- package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
- package/dist/providers/DocumentTitle/context.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +51 -55
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +15 -25
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +26 -48
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/groupItemIDsByRelation.js +8 -7
- package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
- package/dist/providers/Folders/index.js +698 -600
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/context.js +3 -2
- package/dist/providers/ListQuery/context.js.map +1 -1
- package/dist/providers/ListQuery/index.js +156 -140
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/mergeQuery.js +49 -31
- package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
- package/dist/providers/ListQuery/sanitizeQuery.js +24 -23
- package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
- package/dist/providers/ListQuery/types.js +6 -1
- package/dist/providers/ListQuery/types.js.map +1 -1
- package/dist/providers/LivePreview/collisionDetection.js +21 -24
- package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
- package/dist/providers/LivePreview/context.js +60 -55
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.js +225 -205
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/LivePreview/sizeReducer.js +19 -18
- package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
- package/dist/providers/Locale/index.js +87 -154
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +12 -11
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +14 -26
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +130 -122
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +190 -116
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +53 -103
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +61 -80
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +69 -94
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/ScrollInfo/index.js +1 -1
- package/dist/providers/ScrollInfo/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +36 -35
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +203 -183
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +199 -189
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +33 -62
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
- package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +50 -52
- package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +3 -2
- package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +132 -143
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +10 -14
- package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +150 -151
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +16 -15
- package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
- package/dist/providers/TableColumns/context.js +2 -1
- package/dist/providers/TableColumns/context.js.map +1 -1
- package/dist/providers/TableColumns/getInitialColumns.js +42 -28
- package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
- package/dist/providers/TableColumns/index.js +88 -85
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/TableColumns/types.js +18 -1
- package/dist/providers/TableColumns/types.js.map +1 -1
- package/dist/providers/Theme/index.js +69 -104
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +34 -19
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +34 -19
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +34 -19
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +34 -19
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +56 -47
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +66 -112
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +28 -40
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +31 -73
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +30 -65
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/providers/WindowInfo/index.js +5 -9
- package/dist/providers/WindowInfo/index.js.map +1 -1
- package/dist/styles.css +0 -1
- package/dist/utilities/abortAndIgnore.js +15 -17
- package/dist/utilities/abortAndIgnore.js.map +1 -1
- package/dist/utilities/api.js +78 -77
- package/dist/utilities/api.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/index.js +61 -65
- package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +150 -159
- package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +59 -61
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +117 -126
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
- package/dist/utilities/buildFormState.js +151 -186
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/buildTableState.js +145 -168
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/canUseDOM.js +1 -0
- package/dist/utilities/canUseDOM.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +53 -26
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +202 -210
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/dateLocales.js +28 -27
- package/dist/utilities/dateLocales.js.map +1 -1
- package/dist/utilities/deepMerge.js +14 -13
- package/dist/utilities/deepMerge.js.map +1 -1
- package/dist/utilities/fetchPreferences.js.map +1 -1
- package/dist/utilities/filterOutUploadFields.js +17 -4
- package/dist/utilities/filterOutUploadFields.js.map +1 -1
- package/dist/utilities/findLocaleFromCode.js +6 -5
- package/dist/utilities/findLocaleFromCode.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.js +8 -8
- package/dist/utilities/formatAbsoluteURL.js.map +1 -1
- package/dist/utilities/formatAdminURL.js +2 -1
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatDateTitle.js +20 -27
- package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +14 -13
- package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +14 -13
- package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
- package/dist/utilities/formatDocTitle/index.js +38 -44
- package/dist/utilities/formatDocTitle/index.js.map +1 -1
- package/dist/utilities/formatFields.js +2 -1
- package/dist/utilities/formatFields.js.map +1 -1
- package/dist/utilities/generateFieldID.js +6 -5
- package/dist/utilities/generateFieldID.js.map +1 -1
- package/dist/utilities/getClientConfig.js +25 -29
- package/dist/utilities/getClientConfig.js.map +1 -1
- package/dist/utilities/getClientSchemaMap.js +24 -32
- package/dist/utilities/getClientSchemaMap.js.map +1 -1
- package/dist/utilities/getColumns.js +29 -35
- package/dist/utilities/getColumns.js.map +1 -1
- package/dist/utilities/getDisplayedFieldValue.js +16 -16
- package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +134 -121
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/getGlobalData.js +41 -45
- package/dist/utilities/getGlobalData.js.map +1 -1
- package/dist/utilities/getNavGroups.js +21 -18
- package/dist/utilities/getNavGroups.js.map +1 -1
- package/dist/utilities/getOffsetTop.js +14 -13
- package/dist/utilities/getOffsetTop.js.map +1 -1
- package/dist/utilities/getRequestLanguage.js +5 -8
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getSchemaMap.js +22 -28
- package/dist/utilities/getSchemaMap.js.map +1 -1
- package/dist/utilities/getSupportedMonacoLocale.js +14 -13
- package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
- package/dist/utilities/getVisibleEntities.js +15 -26
- package/dist/utilities/getVisibleEntities.js.map +1 -1
- package/dist/utilities/groupNavItems.js +53 -50
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/handleBackToDashboard.js +8 -11
- package/dist/utilities/handleBackToDashboard.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +127 -121
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/handleGoBack.js +7 -11
- package/dist/utilities/handleGoBack.js.map +1 -1
- package/dist/utilities/handleLivePreview.js +59 -76
- package/dist/utilities/handleLivePreview.js.map +1 -1
- package/dist/utilities/handlePreview.js +41 -52
- package/dist/utilities/handlePreview.js.map +1 -1
- package/dist/utilities/handleTakeOver.js +28 -39
- package/dist/utilities/handleTakeOver.js.map +1 -1
- package/dist/utilities/hasOptionLabelJSXElement.js +9 -11
- package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
- package/dist/utilities/hasSavePermission.js +14 -14
- package/dist/utilities/hasSavePermission.js.map +1 -1
- package/dist/utilities/isClientUserObject.js +3 -2
- package/dist/utilities/isClientUserObject.js.map +1 -1
- package/dist/utilities/isEditing.js +2 -5
- package/dist/utilities/isEditing.js.map +1 -1
- package/dist/utilities/isURLAllowed.js +31 -30
- package/dist/utilities/isURLAllowed.js.map +1 -1
- package/dist/utilities/isValidReactElement.js +3 -3
- package/dist/utilities/isValidReactElement.js.map +1 -1
- package/dist/utilities/normalizeRelationshipValue.js +29 -28
- package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
- package/dist/utilities/normalizeRelationshipValue.spec.js +407 -368
- package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
- package/dist/utilities/parseSearchParams.js +7 -7
- package/dist/utilities/parseSearchParams.js.map +1 -1
- package/dist/utilities/reduceFieldsToOptions.js +145 -154
- package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
- package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
- package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
- package/dist/utilities/removeUndefined.js +2 -1
- package/dist/utilities/removeUndefined.js.map +1 -1
- package/dist/utilities/renderTable.js +239 -195
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/resolveFilterOptions.js +27 -26
- package/dist/utilities/resolveFilterOptions.js.map +1 -1
- package/dist/utilities/sanitizeFilterOptionsQuery.js +16 -15
- package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
- package/dist/utilities/sanitizeID.js +8 -7
- package/dist/utilities/sanitizeID.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +47 -57
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/scrollToID.js +10 -9
- package/dist/utilities/scrollToID.js.map +1 -1
- package/dist/utilities/setsAreEqual.js +3 -2
- package/dist/utilities/setsAreEqual.js.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.js +36 -35
- package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
- package/dist/utilities/upsertPreferences.js +75 -75
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +365 -324
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +161 -158
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +360 -282
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +185 -124
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +309 -321
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/Auth/types.js +2 -1
- package/dist/views/Edit/Auth/types.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js +84 -150
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/SetDocumentTitle/index.js +30 -77
- package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
- package/dist/views/Edit/index.js +579 -501
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/types.js +2 -1
- package/dist/views/Edit/types.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +35 -24
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +115 -80
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +103 -111
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +321 -213
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/types.js +2 -1
- package/dist/views/List/types.js.map +1 -1
- package/dist/widgets/CollectionCards/index.js +149 -119
- package/dist/widgets/CollectionCards/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/exports/client/CodeEditor-QOURTFMT.js +0 -14
- package/dist/exports/client/CodeEditor-QOURTFMT.js.map +0 -7
- package/dist/exports/client/DatePicker-VMLA35FO.js +0 -14
- package/dist/exports/client/DatePicker-VMLA35FO.js.map +0 -7
- package/dist/exports/client/chunk-53XJ3K67.js +0 -27
- package/dist/exports/client/chunk-53XJ3K67.js.map +0 -7
- package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
- package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
- package/dist/exports/client/chunk-7V3NHDV6.js +0 -29
- package/dist/exports/client/chunk-7V3NHDV6.js.map +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeRelationshipValue.spec.js","names":["describe","it","expect","normalizeRelationshipValue","relationTo","result","toBe","value","id","name","email","toBeNull","undefined","toBeUndefined","toEqual","title","author","createdAt","values","results","map","v","filename","mimeType","filesize","url","publishedDate","simpleValue","complexValue","result2"],"sources":["../../src/utilities/normalizeRelationshipValue.spec.ts"],"sourcesContent":["import { describe, it, expect } from 'vitest'\nimport { normalizeRelationshipValue } from './normalizeRelationshipValue.js'\n\ndescribe('normalizeRelationshipValue', () => {\n describe('Monomorphic relationships (string relationTo)', () => {\n const relationTo = 'users'\n\n it('should return simple string ID as-is', () => {\n const result = normalizeRelationshipValue('user123', relationTo)\n expect(result).toBe('user123')\n })\n\n it('should return simple number ID as-is', () => {\n const result = normalizeRelationshipValue(123, relationTo)\n expect(result).toBe(123)\n })\n\n it('should extract ID from object with relationTo and value', () => {\n const value = { relationTo: 'users', value: 'user456' }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user456')\n })\n\n it('should extract ID from nested value structure', () => {\n const value = {\n relationTo: 'users',\n value: {\n value: 'user789',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user789')\n })\n\n it('should extract ID from deeply nested value structure', () => {\n const value = {\n relationTo: 'users',\n value: {\n value: {\n value: 'user999',\n },\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user999')\n })\n\n it('should extract ID from populated document', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 'user111',\n name: 'John Doe',\n email: 'john@example.com',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user111')\n })\n\n it('should extract ID from populated document without relationTo wrapper', () => {\n const value = {\n id: 'user222',\n name: 'Jane Doe',\n email: 'jane@example.com',\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user222')\n })\n\n it('should handle null values', () => {\n const result = normalizeRelationshipValue(null, relationTo)\n expect(result).toBeNull()\n })\n\n it('should handle undefined values', () => {\n const result = normalizeRelationshipValue(undefined, relationTo)\n expect(result).toBeUndefined()\n })\n\n it('should handle empty object', () => {\n const result = normalizeRelationshipValue({}, relationTo)\n expect(result).toEqual({})\n })\n })\n\n describe('Polymorphic relationships (array relationTo)', () => {\n const relationTo = ['users', 'posts', 'pages']\n\n it('should return simple string ID as-is', () => {\n const result = normalizeRelationshipValue('user123', relationTo)\n expect(result).toBe('user123')\n })\n\n it('should return simple number ID as-is', () => {\n const result = normalizeRelationshipValue(456, relationTo)\n expect(result).toBe(456)\n })\n\n it('should preserve relationTo structure with string value', () => {\n const value = { relationTo: 'users', value: 'user789' }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'users', value: 'user789' })\n })\n\n it('should preserve relationTo structure with number value', () => {\n const value = { relationTo: 'posts', value: 123 }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 123 })\n })\n\n it('should extract ID from nested value structure', () => {\n const value = {\n relationTo: 'posts',\n value: {\n value: 'post456',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 'post456' })\n })\n\n it('should extract ID from deeply nested value structure', () => {\n const value = {\n relationTo: 'pages',\n value: {\n value: {\n value: 'page789',\n },\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'pages', value: 'page789' })\n })\n\n it('should extract ID from populated document', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 'user999',\n name: 'John Smith',\n email: 'john.smith@example.com',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'users', value: 'user999' })\n })\n\n it('should extract ID from complex populated document', () => {\n const value = {\n relationTo: 'posts',\n value: {\n id: 'post123',\n title: 'My Post',\n author: {\n id: 'author456',\n name: 'Author Name',\n },\n createdAt: '2023-01-01T00:00:00.000Z',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 'post123' })\n })\n\n it('should handle different relationTo values', () => {\n const values = [\n { relationTo: 'users', value: 'user1' },\n { relationTo: 'posts', value: 'post2' },\n { relationTo: 'pages', value: 'page3' },\n ]\n\n const results = values.map((v) => normalizeRelationshipValue(v, relationTo))\n\n expect(results).toEqual([\n { relationTo: 'users', value: 'user1' },\n { relationTo: 'posts', value: 'post2' },\n { relationTo: 'pages', value: 'page3' },\n ])\n })\n\n it('should handle null values', () => {\n const result = normalizeRelationshipValue(null, relationTo)\n expect(result).toBeNull()\n })\n\n it('should handle undefined values', () => {\n const result = normalizeRelationshipValue(undefined, relationTo)\n expect(result).toBeUndefined()\n })\n\n it('should extract ID from populated document without relationTo wrapper', () => {\n const value = {\n id: 'doc123',\n title: 'Document Title',\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('doc123')\n })\n })\n\n describe('Edge cases', () => {\n it('should handle object with only value property (no relationTo)', () => {\n const value = { value: 'someValue' }\n const result = normalizeRelationshipValue(value, 'users')\n // Since there's no 'id' field and no relationTo, it should return the value as-is\n expect(result).toEqual({ value: 'someValue' })\n })\n\n it('should handle object with relationTo but no value', () => {\n const value = { relationTo: 'users' }\n const result = normalizeRelationshipValue(value, ['users', 'posts'])\n expect(result).toEqual({ relationTo: 'users' })\n })\n\n it('should handle empty array relationTo', () => {\n const result = normalizeRelationshipValue('user123', [])\n expect(result).toBe('user123')\n })\n\n it('should handle single-item array relationTo as polymorphic', () => {\n const value = { relationTo: 'users', value: 'user123' }\n const result = normalizeRelationshipValue(value, ['users'])\n expect(result).toEqual({ relationTo: 'users', value: 'user123' })\n })\n\n it('should handle numeric IDs in populated documents', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 12345,\n name: 'User with numeric ID',\n },\n }\n const result = normalizeRelationshipValue(value, ['users', 'posts'])\n expect(result).toEqual({ relationTo: 'users', value: 12345 })\n })\n\n it('should handle nested null values', () => {\n const value = {\n relationTo: 'users',\n value: null,\n }\n const result = normalizeRelationshipValue(value, 'users')\n expect(result).toBeNull()\n })\n\n it('should handle zero as a valid ID', () => {\n const result = normalizeRelationshipValue(0, 'users')\n expect(result).toBe(0)\n })\n\n it('should handle empty string as a valid ID', () => {\n const result = normalizeRelationshipValue('', 'users')\n expect(result).toBe('')\n })\n\n it('should handle false as a value', () => {\n const result = normalizeRelationshipValue(false, 'users')\n expect(result).toBe(false)\n })\n\n it('should handle array values (return as-is)', () => {\n const result = normalizeRelationshipValue(['user1', 'user2'], 'users')\n expect(result).toEqual(['user1', 'user2'])\n })\n })\n\n describe('Real-world scenarios', () => {\n it('should normalize upload field value for monomorphic upload', () => {\n // Upload field with populated media document\n const value = {\n id: 'media123',\n filename: 'image.jpg',\n mimeType: 'image/jpeg',\n filesize: 12345,\n url: '/media/image.jpg',\n }\n const result = normalizeRelationshipValue(value, 'media')\n expect(result).toBe('media123')\n })\n\n it('should normalize upload field value for polymorphic upload', () => {\n // Upload field with relationTo structure\n const value = {\n relationTo: 'images',\n value: {\n id: 'image456',\n filename: 'photo.png',\n url: '/media/photo.png',\n },\n }\n const result = normalizeRelationshipValue(value, ['images', 'videos'])\n expect(result).toEqual({ relationTo: 'images', value: 'image456' })\n })\n\n it('should normalize form submission data', () => {\n // Data coming from form with populated relationship\n const value = {\n relationTo: 'posts',\n value: {\n id: 'post789',\n title: 'Blog Post Title',\n author: { id: 'author123', name: 'Author' },\n publishedDate: '2023-12-01',\n },\n }\n const result = normalizeRelationshipValue(value, ['posts', 'pages'])\n expect(result).toEqual({ relationTo: 'posts', value: 'post789' })\n })\n\n it('should normalize API response with nested relationships', () => {\n // Complex nested structure from API\n const value = {\n relationTo: 'categories',\n value: {\n value: {\n id: 'cat123',\n name: 'Category Name',\n },\n },\n }\n const result = normalizeRelationshipValue(value, ['categories', 'tags'])\n expect(result).toEqual({ relationTo: 'categories', value: 'cat123' })\n })\n\n it('should handle table cell data normalization', () => {\n // Cell data from table that might be just an ID\n const simpleValue = 'user123'\n const result = normalizeRelationshipValue(simpleValue, 'users')\n expect(result).toBe('user123')\n\n // Cell data with full structure\n const complexValue = {\n relationTo: 'users',\n value: {\n id: 'user456',\n name: 'John Doe',\n },\n }\n const result2 = normalizeRelationshipValue(complexValue, ['users', 'admins'])\n expect(result2).toEqual({ relationTo: 'users', value: 'user456' })\n })\n })\n})\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/normalizeRelationshipValue.spec.ts"],"sourcesContent":["import { describe, it, expect } from 'vitest'\nimport { normalizeRelationshipValue } from './normalizeRelationshipValue.js'\n\ndescribe('normalizeRelationshipValue', () => {\n describe('Monomorphic relationships (string relationTo)', () => {\n const relationTo = 'users'\n\n it('should return simple string ID as-is', () => {\n const result = normalizeRelationshipValue('user123', relationTo)\n expect(result).toBe('user123')\n })\n\n it('should return simple number ID as-is', () => {\n const result = normalizeRelationshipValue(123, relationTo)\n expect(result).toBe(123)\n })\n\n it('should extract ID from object with relationTo and value', () => {\n const value = { relationTo: 'users', value: 'user456' }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user456')\n })\n\n it('should extract ID from nested value structure', () => {\n const value = {\n relationTo: 'users',\n value: {\n value: 'user789',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user789')\n })\n\n it('should extract ID from deeply nested value structure', () => {\n const value = {\n relationTo: 'users',\n value: {\n value: {\n value: 'user999',\n },\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user999')\n })\n\n it('should extract ID from populated document', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 'user111',\n name: 'John Doe',\n email: 'john@example.com',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user111')\n })\n\n it('should extract ID from populated document without relationTo wrapper', () => {\n const value = {\n id: 'user222',\n name: 'Jane Doe',\n email: 'jane@example.com',\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user222')\n })\n\n it('should handle null values', () => {\n const result = normalizeRelationshipValue(null, relationTo)\n expect(result).toBeNull()\n })\n\n it('should handle undefined values', () => {\n const result = normalizeRelationshipValue(undefined, relationTo)\n expect(result).toBeUndefined()\n })\n\n it('should handle empty object', () => {\n const result = normalizeRelationshipValue({}, relationTo)\n expect(result).toEqual({})\n })\n })\n\n describe('Polymorphic relationships (array relationTo)', () => {\n const relationTo = ['users', 'posts', 'pages']\n\n it('should return simple string ID as-is', () => {\n const result = normalizeRelationshipValue('user123', relationTo)\n expect(result).toBe('user123')\n })\n\n it('should return simple number ID as-is', () => {\n const result = normalizeRelationshipValue(456, relationTo)\n expect(result).toBe(456)\n })\n\n it('should preserve relationTo structure with string value', () => {\n const value = { relationTo: 'users', value: 'user789' }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'users', value: 'user789' })\n })\n\n it('should preserve relationTo structure with number value', () => {\n const value = { relationTo: 'posts', value: 123 }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 123 })\n })\n\n it('should extract ID from nested value structure', () => {\n const value = {\n relationTo: 'posts',\n value: {\n value: 'post456',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 'post456' })\n })\n\n it('should extract ID from deeply nested value structure', () => {\n const value = {\n relationTo: 'pages',\n value: {\n value: {\n value: 'page789',\n },\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'pages', value: 'page789' })\n })\n\n it('should extract ID from populated document', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 'user999',\n name: 'John Smith',\n email: 'john.smith@example.com',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'users', value: 'user999' })\n })\n\n it('should extract ID from complex populated document', () => {\n const value = {\n relationTo: 'posts',\n value: {\n id: 'post123',\n title: 'My Post',\n author: {\n id: 'author456',\n name: 'Author Name',\n },\n createdAt: '2023-01-01T00:00:00.000Z',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 'post123' })\n })\n\n it('should handle different relationTo values', () => {\n const values = [\n { relationTo: 'users', value: 'user1' },\n { relationTo: 'posts', value: 'post2' },\n { relationTo: 'pages', value: 'page3' },\n ]\n\n const results = values.map((v) => normalizeRelationshipValue(v, relationTo))\n\n expect(results).toEqual([\n { relationTo: 'users', value: 'user1' },\n { relationTo: 'posts', value: 'post2' },\n { relationTo: 'pages', value: 'page3' },\n ])\n })\n\n it('should handle null values', () => {\n const result = normalizeRelationshipValue(null, relationTo)\n expect(result).toBeNull()\n })\n\n it('should handle undefined values', () => {\n const result = normalizeRelationshipValue(undefined, relationTo)\n expect(result).toBeUndefined()\n })\n\n it('should extract ID from populated document without relationTo wrapper', () => {\n const value = {\n id: 'doc123',\n title: 'Document Title',\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('doc123')\n })\n })\n\n describe('Edge cases', () => {\n it('should handle object with only value property (no relationTo)', () => {\n const value = { value: 'someValue' }\n const result = normalizeRelationshipValue(value, 'users')\n // Since there's no 'id' field and no relationTo, it should return the value as-is\n expect(result).toEqual({ value: 'someValue' })\n })\n\n it('should handle object with relationTo but no value', () => {\n const value = { relationTo: 'users' }\n const result = normalizeRelationshipValue(value, ['users', 'posts'])\n expect(result).toEqual({ relationTo: 'users' })\n })\n\n it('should handle empty array relationTo', () => {\n const result = normalizeRelationshipValue('user123', [])\n expect(result).toBe('user123')\n })\n\n it('should handle single-item array relationTo as polymorphic', () => {\n const value = { relationTo: 'users', value: 'user123' }\n const result = normalizeRelationshipValue(value, ['users'])\n expect(result).toEqual({ relationTo: 'users', value: 'user123' })\n })\n\n it('should handle numeric IDs in populated documents', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 12345,\n name: 'User with numeric ID',\n },\n }\n const result = normalizeRelationshipValue(value, ['users', 'posts'])\n expect(result).toEqual({ relationTo: 'users', value: 12345 })\n })\n\n it('should handle nested null values', () => {\n const value = {\n relationTo: 'users',\n value: null,\n }\n const result = normalizeRelationshipValue(value, 'users')\n expect(result).toBeNull()\n })\n\n it('should handle zero as a valid ID', () => {\n const result = normalizeRelationshipValue(0, 'users')\n expect(result).toBe(0)\n })\n\n it('should handle empty string as a valid ID', () => {\n const result = normalizeRelationshipValue('', 'users')\n expect(result).toBe('')\n })\n\n it('should handle false as a value', () => {\n const result = normalizeRelationshipValue(false, 'users')\n expect(result).toBe(false)\n })\n\n it('should handle array values (return as-is)', () => {\n const result = normalizeRelationshipValue(['user1', 'user2'], 'users')\n expect(result).toEqual(['user1', 'user2'])\n })\n })\n\n describe('Real-world scenarios', () => {\n it('should normalize upload field value for monomorphic upload', () => {\n // Upload field with populated media document\n const value = {\n id: 'media123',\n filename: 'image.jpg',\n mimeType: 'image/jpeg',\n filesize: 12345,\n url: '/media/image.jpg',\n }\n const result = normalizeRelationshipValue(value, 'media')\n expect(result).toBe('media123')\n })\n\n it('should normalize upload field value for polymorphic upload', () => {\n // Upload field with relationTo structure\n const value = {\n relationTo: 'images',\n value: {\n id: 'image456',\n filename: 'photo.png',\n url: '/media/photo.png',\n },\n }\n const result = normalizeRelationshipValue(value, ['images', 'videos'])\n expect(result).toEqual({ relationTo: 'images', value: 'image456' })\n })\n\n it('should normalize form submission data', () => {\n // Data coming from form with populated relationship\n const value = {\n relationTo: 'posts',\n value: {\n id: 'post789',\n title: 'Blog Post Title',\n author: { id: 'author123', name: 'Author' },\n publishedDate: '2023-12-01',\n },\n }\n const result = normalizeRelationshipValue(value, ['posts', 'pages'])\n expect(result).toEqual({ relationTo: 'posts', value: 'post789' })\n })\n\n it('should normalize API response with nested relationships', () => {\n // Complex nested structure from API\n const value = {\n relationTo: 'categories',\n value: {\n value: {\n id: 'cat123',\n name: 'Category Name',\n },\n },\n }\n const result = normalizeRelationshipValue(value, ['categories', 'tags'])\n expect(result).toEqual({ relationTo: 'categories', value: 'cat123' })\n })\n\n it('should handle table cell data normalization', () => {\n // Cell data from table that might be just an ID\n const simpleValue = 'user123'\n const result = normalizeRelationshipValue(simpleValue, 'users')\n expect(result).toBe('user123')\n\n // Cell data with full structure\n const complexValue = {\n relationTo: 'users',\n value: {\n id: 'user456',\n name: 'John Doe',\n },\n }\n const result2 = normalizeRelationshipValue(complexValue, ['users', 'admins'])\n expect(result2).toEqual({ relationTo: 'users', value: 'user456' })\n })\n })\n})\n"],"names":["describe","it","expect","normalizeRelationshipValue","relationTo","result","toBe","value","id","name","email","toBeNull","undefined","toBeUndefined","toEqual","title","author","createdAt","values","results","map","v","filename","mimeType","filesize","url","publishedDate","simpleValue","complexValue","result2"],"mappings":"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"}
|
|
@@ -6,12 +6,12 @@ import * as qs from 'qs-esm';
|
|
|
6
6
|
* This function can be used to parse that object into a more usable format.
|
|
7
7
|
* @param {ReadonlyURLSearchParams} searchParams - The URLSearchParams object to parse.
|
|
8
8
|
* @returns {qs.ParsedQs} - The parsed query string object.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
});
|
|
9
|
+
*/ export function parseSearchParams(searchParams) {
|
|
10
|
+
const search = searchParams.toString();
|
|
11
|
+
return qs.parse(search, {
|
|
12
|
+
depth: 10,
|
|
13
|
+
ignoreQueryPrefix: true
|
|
14
|
+
});
|
|
16
15
|
}
|
|
16
|
+
|
|
17
17
|
//# sourceMappingURL=parseSearchParams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/parseSearchParams.ts"],"sourcesContent":["import type { ReadonlyURLSearchParams } from 'next/navigation.js'\n\nimport * as qs from 'qs-esm'\n\n/**\n * A utility function to parse URLSearchParams into a ParsedQs object.\n * This function is a wrapper around the `qs` library.\n * In Next.js, the `useSearchParams()` hook from `next/navigation` returns a `URLSearchParams` object.\n * This function can be used to parse that object into a more usable format.\n * @param {ReadonlyURLSearchParams} searchParams - The URLSearchParams object to parse.\n * @returns {qs.ParsedQs} - The parsed query string object.\n */\nexport function parseSearchParams(searchParams: ReadonlyURLSearchParams): qs.ParsedQs {\n const search = searchParams.toString()\n\n return qs.parse(search, {\n depth: 10,\n ignoreQueryPrefix: true,\n })\n}\n"],"names":["qs","parseSearchParams","searchParams","search","toString","parse","depth","ignoreQueryPrefix"],"mappings":"AAEA,YAAYA,QAAQ,SAAQ;AAE5B;;;;;;;CAOC,GACD,OAAO,SAASC,kBAAkBC,YAAqC;IACrE,MAAMC,SAASD,aAAaE,QAAQ;IAEpC,OAAOJ,GAAGK,KAAK,CAACF,QAAQ;QACtBG,OAAO;QACPC,mBAAmB;IACrB;AACF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
2
|
import { getTranslation } from '@payloadcms/translations';
|
|
4
3
|
import { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared';
|
|
5
4
|
import { fieldTypeConditions, getValidFieldOperators } from '../elements/WhereBuilder/field-types.js';
|
|
@@ -8,163 +7,155 @@ import { combineFieldLabel } from './combineFieldLabel.js';
|
|
|
8
7
|
/**
|
|
9
8
|
* Transforms a fields schema into a flattened array of fields with labels and values.
|
|
10
9
|
* Used in the `WhereBuilder` component to render the fields in the dropdown.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
10
|
+
*/ export const reduceFieldsToOptions = ({ fieldPermissions, fields, i18n, labelPrefix, pathPrefix: pathPrefixFromArgs })=>{
|
|
11
|
+
return fields.reduce((reduced, field)=>{
|
|
12
|
+
let pathPrefix = pathPrefixFromArgs;
|
|
13
|
+
// Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query
|
|
14
|
+
// Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field
|
|
15
|
+
if (fieldIsHiddenOrDisabled(field) && !fieldIsID(field) || 'virtual' in field && field.virtual === true) {
|
|
16
|
+
return reduced;
|
|
17
|
+
}
|
|
18
|
+
// IMPORTANT: We DON'T mutate field.name here because the field object is shared across
|
|
19
|
+
// multiple components (WhereBuilder, GroupByBuilder, etc.). Mutating it would break
|
|
20
|
+
// permission checks and cause issues in other components that need the field name.
|
|
21
|
+
// Instead, we use a flag to determine whether to include the field name in the path.
|
|
22
|
+
let shouldIgnoreFieldName = false;
|
|
23
|
+
// Handle virtual:string fields (virtual relationships, e.g. "post.title")
|
|
24
|
+
if ('virtual' in field && typeof field.virtual === 'string') {
|
|
25
|
+
pathPrefix = pathPrefix ? pathPrefix + '.' + field.virtual : field.virtual;
|
|
26
|
+
if (fieldAffectsData(field)) {
|
|
27
|
+
// Mark that we should ignore the field name when constructing the field path
|
|
28
|
+
shouldIgnoreFieldName = true;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (field.type === 'tabs' && 'tabs' in field) {
|
|
32
|
+
const tabs = field.tabs;
|
|
33
|
+
tabs.forEach((tab)=>{
|
|
34
|
+
if (typeof tab.label !== 'boolean') {
|
|
35
|
+
const localizedTabLabel = getTranslation(tab.label, i18n);
|
|
36
|
+
const labelWithPrefix = labelPrefix ? labelPrefix + ' > ' + localizedTabLabel : localizedTabLabel;
|
|
37
|
+
// Make sure we handle nested tabs
|
|
38
|
+
const tabPathPrefix = tabHasName(tab) && tab.name ? pathPrefix ? pathPrefix + '.' + tab.name : tab.name : pathPrefix;
|
|
39
|
+
if (typeof localizedTabLabel === 'string') {
|
|
40
|
+
reduced.push(...reduceFieldsToOptions({
|
|
41
|
+
fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : tabHasName(tab) && tab.name ? fieldPermissions?.[tab.name]?.fields || fieldPermissions?.[tab.name] : fieldPermissions,
|
|
42
|
+
fields: tab.fields,
|
|
43
|
+
i18n,
|
|
44
|
+
labelPrefix: labelWithPrefix,
|
|
45
|
+
pathPrefix: tabPathPrefix
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return reduced;
|
|
51
|
+
}
|
|
52
|
+
// Rows cant have labels, so we need to handle them differently
|
|
53
|
+
if (field.type === 'row' && 'fields' in field) {
|
|
48
54
|
reduced.push(...reduceFieldsToOptions({
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
fieldPermissions,
|
|
56
|
+
fields: field.fields,
|
|
57
|
+
i18n,
|
|
58
|
+
labelPrefix,
|
|
59
|
+
pathPrefix
|
|
54
60
|
}));
|
|
55
|
-
|
|
61
|
+
return reduced;
|
|
56
62
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
} else if (pathPrefix) {
|
|
151
|
-
fieldPath = createNestedClientFieldPath(pathPrefix, field);
|
|
152
|
-
} else {
|
|
153
|
-
fieldPath = field.name;
|
|
63
|
+
if (field.type === 'collapsible' && 'fields' in field) {
|
|
64
|
+
const localizedTabLabel = getTranslation(field.label || '', i18n);
|
|
65
|
+
const labelWithPrefix = labelPrefix ? labelPrefix + ' > ' + localizedTabLabel : localizedTabLabel;
|
|
66
|
+
reduced.push(...reduceFieldsToOptions({
|
|
67
|
+
fieldPermissions,
|
|
68
|
+
fields: field.fields,
|
|
69
|
+
i18n,
|
|
70
|
+
labelPrefix: labelWithPrefix,
|
|
71
|
+
pathPrefix
|
|
72
|
+
}));
|
|
73
|
+
return reduced;
|
|
74
|
+
}
|
|
75
|
+
if (field.type === 'group' && 'fields' in field) {
|
|
76
|
+
const translatedLabel = getTranslation(field.label || '', i18n);
|
|
77
|
+
const labelWithPrefix = labelPrefix ? translatedLabel ? labelPrefix + ' > ' + translatedLabel : labelPrefix : translatedLabel;
|
|
78
|
+
if (fieldAffectsData(field)) {
|
|
79
|
+
// Make sure we handle deeply nested groups
|
|
80
|
+
const pathWithPrefix = field.name ? pathPrefix ? pathPrefix + '.' + field.name : field.name : pathPrefix;
|
|
81
|
+
reduced.push(...reduceFieldsToOptions({
|
|
82
|
+
fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],
|
|
83
|
+
fields: field.fields,
|
|
84
|
+
i18n,
|
|
85
|
+
labelPrefix: labelWithPrefix,
|
|
86
|
+
pathPrefix: pathWithPrefix
|
|
87
|
+
}));
|
|
88
|
+
} else {
|
|
89
|
+
reduced.push(...reduceFieldsToOptions({
|
|
90
|
+
fieldPermissions,
|
|
91
|
+
fields: field.fields,
|
|
92
|
+
i18n,
|
|
93
|
+
labelPrefix: labelWithPrefix,
|
|
94
|
+
pathPrefix
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
return reduced;
|
|
98
|
+
}
|
|
99
|
+
if (field.type === 'array' && 'fields' in field) {
|
|
100
|
+
const translatedLabel = getTranslation(field.label || '', i18n);
|
|
101
|
+
const labelWithPrefix = labelPrefix ? translatedLabel ? labelPrefix + ' > ' + translatedLabel : labelPrefix : translatedLabel;
|
|
102
|
+
// Make sure we handle deeply nested groups
|
|
103
|
+
const pathWithPrefix = field.name ? pathPrefix ? pathPrefix + '.' + field.name : field.name : pathPrefix;
|
|
104
|
+
reduced.push(...reduceFieldsToOptions({
|
|
105
|
+
fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],
|
|
106
|
+
fields: field.fields,
|
|
107
|
+
i18n,
|
|
108
|
+
labelPrefix: labelWithPrefix,
|
|
109
|
+
pathPrefix: pathWithPrefix
|
|
110
|
+
}));
|
|
111
|
+
return reduced;
|
|
112
|
+
}
|
|
113
|
+
if (typeof fieldTypeConditions[field.type] === 'object') {
|
|
114
|
+
if (fieldIsID(field) || fieldPermissions === true || fieldPermissions?.[field.name] === true || fieldPermissions?.[field.name]?.read === true) {
|
|
115
|
+
const operatorKeys = new Set();
|
|
116
|
+
const { validOperators } = getValidFieldOperators({
|
|
117
|
+
field
|
|
118
|
+
});
|
|
119
|
+
const operators = validOperators.reduce((acc, operator)=>{
|
|
120
|
+
if (!operatorKeys.has(operator.value)) {
|
|
121
|
+
operatorKeys.add(operator.value);
|
|
122
|
+
const operatorKey = `operators:${operator.label}`;
|
|
123
|
+
acc.push({
|
|
124
|
+
...operator,
|
|
125
|
+
label: i18n.t(operatorKey)
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
return acc;
|
|
129
|
+
}, []);
|
|
130
|
+
const localizedLabel = getTranslation(field.label || '', i18n);
|
|
131
|
+
const formattedLabel = labelPrefix ? combineFieldLabel({
|
|
132
|
+
field,
|
|
133
|
+
prefix: labelPrefix
|
|
134
|
+
}) : localizedLabel;
|
|
135
|
+
// For virtual fields, we use just the pathPrefix (the virtual path) without appending the field name
|
|
136
|
+
// For regular fields, we use createNestedClientFieldPath which appends the field name to the path
|
|
137
|
+
let fieldPath;
|
|
138
|
+
if (shouldIgnoreFieldName) {
|
|
139
|
+
fieldPath = pathPrefix;
|
|
140
|
+
} else if (pathPrefix) {
|
|
141
|
+
fieldPath = createNestedClientFieldPath(pathPrefix, field);
|
|
142
|
+
} else {
|
|
143
|
+
fieldPath = field.name;
|
|
144
|
+
}
|
|
145
|
+
const formattedField = {
|
|
146
|
+
label: formattedLabel,
|
|
147
|
+
plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,
|
|
148
|
+
value: fieldPath,
|
|
149
|
+
...fieldTypeConditions[field.type],
|
|
150
|
+
field,
|
|
151
|
+
operators
|
|
152
|
+
};
|
|
153
|
+
reduced.push(formattedField);
|
|
154
|
+
return reduced;
|
|
155
|
+
}
|
|
154
156
|
}
|
|
155
|
-
const formattedField = {
|
|
156
|
-
label: formattedLabel,
|
|
157
|
-
plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,
|
|
158
|
-
value: fieldPath,
|
|
159
|
-
...fieldTypeConditions[field.type],
|
|
160
|
-
field,
|
|
161
|
-
operators
|
|
162
|
-
};
|
|
163
|
-
reduced.push(formattedField);
|
|
164
157
|
return reduced;
|
|
165
|
-
|
|
166
|
-
}
|
|
167
|
-
return reduced;
|
|
168
|
-
}, []);
|
|
158
|
+
}, []);
|
|
169
159
|
};
|
|
160
|
+
|
|
170
161
|
//# sourceMappingURL=reduceFieldsToOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reduceFieldsToOptions.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","fieldIsID","tabHasName","fieldTypeConditions","getValidFieldOperators","createNestedClientFieldPath","combineFieldLabel","reduceFieldsToOptions","fieldPermissions","fields","i18n","labelPrefix","pathPrefix","pathPrefixFromArgs","reduce","reduced","field","virtual","shouldIgnoreFieldName","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","name","push","translatedLabel","pathWithPrefix","read","operatorKeys","Set","validOperators","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","fieldPath","formattedField","plainTextLabel"],"sources":["../../src/utilities/reduceFieldsToOptions.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField, SanitizedFieldPermissions, SanitizedFieldsPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared'\n\nimport type { ReducedField } from '../elements/WhereBuilder/types.js'\n\nimport {\n fieldTypeConditions,\n getValidFieldOperators,\n} from '../elements/WhereBuilder/field-types.js'\nimport { createNestedClientFieldPath } from '../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from './combineFieldLabel.js'\n\ntype ReduceFieldOptionsArgs = {\n fieldPermissions?: SanitizedFieldPermissions | SanitizedFieldsPermissions\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Transforms a fields schema into a flattened array of fields with labels and values.\n * Used in the `WhereBuilder` component to render the fields in the dropdown.\n */\nexport const reduceFieldsToOptions = ({\n fieldPermissions,\n fields,\n i18n,\n labelPrefix,\n pathPrefix: pathPrefixFromArgs,\n}: ReduceFieldOptionsArgs): ReducedField[] => {\n return fields.reduce((reduced, field) => {\n let pathPrefix = pathPrefixFromArgs\n // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query\n // Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field\n if (\n (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n ('virtual' in field && field.virtual === true)\n ) {\n return reduced\n }\n\n // IMPORTANT: We DON'T mutate field.name here because the field object is shared across\n // multiple components (WhereBuilder, GroupByBuilder, etc.). Mutating it would break\n // permission checks and cause issues in other components that need the field name.\n // Instead, we use a flag to determine whether to include the field name in the path.\n let shouldIgnoreFieldName = false\n\n // Handle virtual:string fields (virtual relationships, e.g. \"post.title\")\n if ('virtual' in field && typeof field.virtual === 'string') {\n pathPrefix = pathPrefix ? pathPrefix + '.' + field.virtual : field.virtual\n if (fieldAffectsData(field)) {\n // Mark that we should ignore the field name when constructing the field path\n shouldIgnoreFieldName = true\n }\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : tabHasName(tab) && tab.name\n ? fieldPermissions?.[tab.name]?.fields || fieldPermissions?.[tab.name]\n : fieldPermissions,\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n if (fieldAffectsData(field)) {\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n } else {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n }\n\n return reduced\n }\n\n if (field.type === 'array' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n\n return reduced\n }\n\n if (typeof fieldTypeConditions[field.type] === 'object') {\n if (\n fieldIsID(field) ||\n fieldPermissions === true ||\n fieldPermissions?.[field.name] === true ||\n fieldPermissions?.[field.name]?.read === true\n ) {\n const operatorKeys = new Set()\n\n const { validOperators } = getValidFieldOperators({\n field,\n })\n\n const operators = validOperators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineFieldLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n // For virtual fields, we use just the pathPrefix (the virtual path) without appending the field name\n // For regular fields, we use createNestedClientFieldPath which appends the field name to the path\n let fieldPath: string\n if (shouldIgnoreFieldName) {\n fieldPath = pathPrefix\n } else if (pathPrefix) {\n fieldPath = createNestedClientFieldPath(pathPrefix, field)\n } else {\n fieldPath = field.name\n }\n\n const formattedField: ReducedField = {\n label: formattedLabel,\n plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,\n value: fieldPath,\n ...fieldTypeConditions[field.type],\n field,\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n }\n return reduced\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/reduceFieldsToOptions.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField, SanitizedFieldPermissions, SanitizedFieldsPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared'\n\nimport type { ReducedField } from '../elements/WhereBuilder/types.js'\n\nimport {\n fieldTypeConditions,\n getValidFieldOperators,\n} from '../elements/WhereBuilder/field-types.js'\nimport { createNestedClientFieldPath } from '../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from './combineFieldLabel.js'\n\ntype ReduceFieldOptionsArgs = {\n fieldPermissions?: SanitizedFieldPermissions | SanitizedFieldsPermissions\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Transforms a fields schema into a flattened array of fields with labels and values.\n * Used in the `WhereBuilder` component to render the fields in the dropdown.\n */\nexport const reduceFieldsToOptions = ({\n fieldPermissions,\n fields,\n i18n,\n labelPrefix,\n pathPrefix: pathPrefixFromArgs,\n}: ReduceFieldOptionsArgs): ReducedField[] => {\n return fields.reduce((reduced, field) => {\n let pathPrefix = pathPrefixFromArgs\n // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query\n // Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field\n if (\n (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n ('virtual' in field && field.virtual === true)\n ) {\n return reduced\n }\n\n // IMPORTANT: We DON'T mutate field.name here because the field object is shared across\n // multiple components (WhereBuilder, GroupByBuilder, etc.). Mutating it would break\n // permission checks and cause issues in other components that need the field name.\n // Instead, we use a flag to determine whether to include the field name in the path.\n let shouldIgnoreFieldName = false\n\n // Handle virtual:string fields (virtual relationships, e.g. \"post.title\")\n if ('virtual' in field && typeof field.virtual === 'string') {\n pathPrefix = pathPrefix ? pathPrefix + '.' + field.virtual : field.virtual\n if (fieldAffectsData(field)) {\n // Mark that we should ignore the field name when constructing the field path\n shouldIgnoreFieldName = true\n }\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : tabHasName(tab) && tab.name\n ? fieldPermissions?.[tab.name]?.fields || fieldPermissions?.[tab.name]\n : fieldPermissions,\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n if (fieldAffectsData(field)) {\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n } else {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n }\n\n return reduced\n }\n\n if (field.type === 'array' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n\n return reduced\n }\n\n if (typeof fieldTypeConditions[field.type] === 'object') {\n if (\n fieldIsID(field) ||\n fieldPermissions === true ||\n fieldPermissions?.[field.name] === true ||\n fieldPermissions?.[field.name]?.read === true\n ) {\n const operatorKeys = new Set()\n\n const { validOperators } = getValidFieldOperators({\n field,\n })\n\n const operators = validOperators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineFieldLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n // For virtual fields, we use just the pathPrefix (the virtual path) without appending the field name\n // For regular fields, we use createNestedClientFieldPath which appends the field name to the path\n let fieldPath: string\n if (shouldIgnoreFieldName) {\n fieldPath = pathPrefix\n } else if (pathPrefix) {\n fieldPath = createNestedClientFieldPath(pathPrefix, field)\n } else {\n fieldPath = field.name\n }\n\n const formattedField: ReducedField = {\n label: formattedLabel,\n plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,\n value: fieldPath,\n ...fieldTypeConditions[field.type],\n field,\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n }\n return reduced\n }, [])\n}\n"],"names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","fieldIsID","tabHasName","fieldTypeConditions","getValidFieldOperators","createNestedClientFieldPath","combineFieldLabel","reduceFieldsToOptions","fieldPermissions","fields","i18n","labelPrefix","pathPrefix","pathPrefixFromArgs","reduce","reduced","field","virtual","shouldIgnoreFieldName","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","name","push","translatedLabel","pathWithPrefix","read","operatorKeys","Set","validOperators","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","fieldPath","formattedField","plainTextLabel"],"mappings":"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"}
|
|
@@ -5,26 +5,26 @@ import { unflatten as flatleyUnflatten } from 'payload/shared';
|
|
|
5
5
|
* @param unflatten This also unflattens the data if `unflatten` is true. The unflattened data should match the original data structure
|
|
6
6
|
* @param ignoreDisableFormData - if true, will include fields that have `disableFormData` set to true, for example, blocks or arrays fields.
|
|
7
7
|
*
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
8
|
+
*/ export const reduceFieldsToValuesWithValidation = (fields, unflatten, ignoreDisableFormData)=>{
|
|
9
|
+
const state = {
|
|
10
|
+
data: {},
|
|
11
|
+
valid: true
|
|
12
|
+
};
|
|
13
|
+
if (!fields) {
|
|
14
|
+
return state;
|
|
15
|
+
}
|
|
16
|
+
Object.keys(fields).forEach((key)=>{
|
|
17
|
+
if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {
|
|
18
|
+
state.data[key] = fields[key]?.value;
|
|
19
|
+
if (!fields[key].valid) {
|
|
20
|
+
state.valid = false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
if (unflatten) {
|
|
25
|
+
state.data = flatleyUnflatten(state.data);
|
|
23
26
|
}
|
|
24
|
-
|
|
25
|
-
if (unflatten) {
|
|
26
|
-
state.data = flatleyUnflatten(state.data);
|
|
27
|
-
}
|
|
28
|
-
return state;
|
|
27
|
+
return state;
|
|
29
28
|
};
|
|
29
|
+
|
|
30
30
|
//# sourceMappingURL=reduceFieldsToValuesWithValidation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/reduceFieldsToValuesWithValidation.ts"],"sourcesContent":["import type { Data, FormState } from 'payload'\n\nimport { unflatten as flatleyUnflatten } from 'payload/shared'\n\ntype ReturnType = {\n data: Data\n valid: boolean\n}\n\n/**\n * Reduce flattened form fields (Fields) to just map to the respective values instead of the full FormField object\n *\n * @param unflatten This also unflattens the data if `unflatten` is true. The unflattened data should match the original data structure\n * @param ignoreDisableFormData - if true, will include fields that have `disableFormData` set to true, for example, blocks or arrays fields.\n *\n */\nexport const reduceFieldsToValuesWithValidation = (\n fields: FormState,\n unflatten?: boolean,\n ignoreDisableFormData?: boolean,\n): ReturnType => {\n const state: ReturnType = {\n data: {},\n valid: true,\n }\n\n if (!fields) {\n return state\n }\n\n Object.keys(fields).forEach((key) => {\n if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {\n state.data[key] = fields[key]?.value\n if (!fields[key].valid) {\n state.valid = false\n }\n }\n })\n\n if (unflatten) {\n state.data = flatleyUnflatten(state.data)\n }\n\n return state\n}\n"],"names":["unflatten","flatleyUnflatten","reduceFieldsToValuesWithValidation","fields","ignoreDisableFormData","state","data","valid","Object","keys","forEach","key","disableFormData","value"],"mappings":"AAEA,SAASA,aAAaC,gBAAgB,QAAQ,iBAAgB;AAO9D;;;;;;CAMC,GACD,OAAO,MAAMC,qCAAqC,CAChDC,QACAH,WACAI;IAEA,MAAMC,QAAoB;QACxBC,MAAM,CAAC;QACPC,OAAO;IACT;IAEA,IAAI,CAACJ,QAAQ;QACX,OAAOE;IACT;IAEAG,OAAOC,IAAI,CAACN,QAAQO,OAAO,CAAC,CAACC;QAC3B,IAAIP,0BAA0B,QAAQ,CAACD,MAAM,CAACQ,IAAI,EAAEC,iBAAiB;YACnEP,MAAMC,IAAI,CAACK,IAAI,GAAGR,MAAM,CAACQ,IAAI,EAAEE;YAC/B,IAAI,CAACV,MAAM,CAACQ,IAAI,CAACJ,KAAK,EAAE;gBACtBF,MAAME,KAAK,GAAG;YAChB;QACF;IACF;IAEA,IAAIP,WAAW;QACbK,MAAMC,IAAI,GAAGL,iBAAiBI,MAAMC,IAAI;IAC1C;IAEA,OAAOD;AACT,EAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export function removeUndefined(obj) {
|
|
2
|
-
|
|
2
|
+
return Object.fromEntries(Object.entries(obj).filter(([, value])=>value !== undefined));
|
|
3
3
|
}
|
|
4
|
+
|
|
4
5
|
//# sourceMappingURL=removeUndefined.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/removeUndefined.ts"],"sourcesContent":["export function removeUndefined<T extends object>(obj: T): T {\n return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined)) as T\n}\n"],"names":["removeUndefined","obj","Object","fromEntries","entries","filter","value","undefined"],"mappings":"AAAA,OAAO,SAASA,gBAAkCC,GAAM;IACtD,OAAOC,OAAOC,WAAW,CAACD,OAAOE,OAAO,CAACH,KAAKI,MAAM,CAAC,CAAC,GAAGC,MAAM,GAAKA,UAAUC;AAChF"}
|