@payloadcms/ui 3.68.0-internal-debug.e9b66ee → 3.68.0-internal-debug.654e4ad
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AddNewRelation/index.js +126 -37
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +33 -17
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AppHeader/index.js +147 -35
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +6 -6
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +184 -58
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +28 -12
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +34 -5
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +160 -56
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +80 -23
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +78 -13
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +17 -3
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +89 -19
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +134 -35
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +44 -10
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +326 -91
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +42 -25
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +26 -4
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +94 -43
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +155 -38
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Card/index.js +40 -5
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +41 -15
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +20 -3
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +64 -14
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +21 -8
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +48 -27
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +21 -5
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/Collapsible/index.js +128 -40
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +10 -2
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +28 -12
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +71 -23
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +81 -22
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +148 -56
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +41 -17
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +56 -11
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.js +23 -5
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +62 -22
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +79 -19
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +131 -45
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +442 -95
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +18 -4
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +76 -15
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +12 -4
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +62 -14
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +86 -22
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +126 -41
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +81 -24
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +21 -16
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +29 -8
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +135 -38
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +57 -18
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +13 -4
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +22 -15
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +98 -22
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +46 -15
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +204 -49
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +66 -18
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +388 -105
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +64 -25
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +27 -6
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +47 -17
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +10 -1
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +37 -14
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +107 -26
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +69 -19
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +72 -12
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +16 -2
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +51 -15
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +26 -10
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +22 -4
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +14 -1
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +8 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +138 -58
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +56 -18
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +47 -20
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +28 -16
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +24 -10
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +327 -105
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +39 -11
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +10 -1
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +168 -50
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +166 -97
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +30 -1
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +34 -10
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +104 -54
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +98 -31
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +135 -46
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +45 -14
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +15 -5
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +48 -10
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +113 -54
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +18 -10
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +22 -6
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +48 -9
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +25 -8
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +23 -2
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/Link/index.js +36 -26
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.js +199 -32
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +34 -6
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +13 -7
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +59 -12
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +34 -10
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +16 -3
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +12 -3
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +17 -5
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +110 -52
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +64 -16
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/index.js +64 -15
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +79 -20
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Device/index.js +26 -13
- package/dist/elements/LivePreview/Device/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js +15 -8
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +18 -5
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +26 -8
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +197 -50
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +14 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js +75 -23
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js +11 -3
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +53 -13
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +79 -18
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +25 -8
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +51 -12
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +88 -39
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +34 -8
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +22 -6
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +28 -16
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +16 -10
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +76 -19
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +25 -6
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +13 -2
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +73 -14
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +17 -3
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +12 -3
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +10 -1
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +30 -9
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +90 -25
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +53 -14
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +68 -16
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +63 -21
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +50 -18
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +9 -1
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +10 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +33 -13
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.js +102 -40
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +19 -3
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +160 -43
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +96 -24
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +244 -44
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +78 -26
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +16 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +43 -9
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +202 -68
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +75 -28
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +40 -15
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +25 -12
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +21 -5
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +9 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +40 -11
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +49 -8
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +110 -21
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +27 -9
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +36 -25
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +24 -7
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +16 -4
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +32 -19
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +22 -7
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +44 -16
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +19 -8
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +28 -4
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +127 -36
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +60 -20
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +19 -3
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +37 -8
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +189 -39
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +24 -3
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +10 -3
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +16 -2
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +36 -11
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +80 -19
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +62 -16
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +15 -4
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +19 -6
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +35 -8
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +25 -7
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js +18 -4
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +20 -7
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +21 -5
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +51 -18
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +83 -28
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +77 -16
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +37 -13
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +18 -3
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +99 -20
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +15 -2
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/context.js +14 -8
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +139 -36
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +10 -1
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +9 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +9 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +16 -3
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +17 -3
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +14 -8
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +37 -8
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +16 -3
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +62 -36
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +9 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +9 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +76 -20
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +40 -18
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +23 -5
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +120 -37
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +14 -6
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.js +79 -28
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +69 -18
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +30 -4
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +38 -8
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +33 -8
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +56 -21
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +39 -16
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +25 -8
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +14 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +43 -9
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +401 -109
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +10 -2
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +20 -3
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +72 -6
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +28 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +52 -25
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +17 -4
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +27 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +128 -30
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +159 -54
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +9 -1
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.d.ts +1 -1
- package/dist/elements/withMergedProps/index.js +10 -2
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +2 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +2 -0
- package/dist/exports/client/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.d.ts +18 -7
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +101 -17
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +297 -69
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +130 -22
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +25 -4
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +101 -29
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +23 -8
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +44 -12
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +24 -3
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +326 -83
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +83 -21
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +68 -13
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +92 -18
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +103 -21
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +54 -11
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +102 -19
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +91 -19
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +15 -8
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +13 -3
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +32 -7
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +132 -31
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +11 -3
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +13 -2
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +93 -18
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +88 -20
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +134 -36
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +29 -4
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +105 -21
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Point/index.js +157 -33
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +51 -13
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +124 -42
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +242 -119
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +44 -11
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +85 -33
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +88 -32
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.js +35 -9
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +11 -3
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +98 -19
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +30 -1
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +58 -13
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +43 -12
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +117 -31
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +11 -3
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +129 -31
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +36 -6
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.js +101 -20
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +29 -4
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +117 -52
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +34 -6
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +248 -60
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +112 -23
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +14 -7
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +39 -3
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/Form/index.js +87 -26
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.js +23 -6
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +203 -23
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +72 -45
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +10 -2
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +31 -10
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/Submit/index.js +22 -5
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +44 -26
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/withCondition/index.js +16 -3
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +46 -8
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +16 -3
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +14 -2
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +115 -16
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +33 -6
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +31 -4
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +112 -17
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/icons/Calendar/index.js +20 -3
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +20 -3
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +30 -9
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +20 -3
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +22 -3
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +24 -3
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +24 -3
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +32 -10
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +70 -11
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +23 -6
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +23 -6
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +53 -12
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +25 -6
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +34 -8
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +56 -6
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +23 -3
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +25 -3
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +24 -3
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +41 -7
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +23 -3
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +23 -3
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +27 -3
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +43 -8
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +62 -10
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +28 -7
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +22 -3
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +21 -3
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +48 -6
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +20 -3
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +26 -5
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +27 -6
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +25 -6
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +16 -10
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +22 -16
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClickOutside/index.js +14 -6
- package/dist/providers/ClickOutside/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +21 -8
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +19 -4
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +14 -6
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +29 -7
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +13 -5
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +11 -3
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +14 -8
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/index.js +48 -42
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +30 -17
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/LivePreview/index.js +51 -39
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.js +21 -10
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +11 -3
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +11 -3
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +11 -3
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +187 -54
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +14 -6
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +25 -11
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +14 -8
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +13 -5
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +11 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +21 -15
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +16 -4
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +13 -1
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +18 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/index.js +17 -11
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/Theme/index.js +15 -7
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +33 -4
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +33 -4
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +33 -4
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +33 -4
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +53 -19
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +21 -15
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +18 -12
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +15 -9
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +13 -5
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +51 -13
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +39 -10
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/renderTable.js +113 -23
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +273 -74
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +130 -44
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +268 -84
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +103 -23
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +165 -48
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/index.js +272 -85
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +34 -10
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +103 -18
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +93 -20
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +243 -58
- package/dist/views/List/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
3
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
4
|
import { v4 as uuidv4 } from 'uuid';
|
|
4
5
|
import { defaultOptions } from '../../elements/CodeEditor/constants.js';
|
|
@@ -106,24 +107,98 @@ const JSONFieldComponent = (props)=>{
|
|
|
106
107
|
const styles = useMemo(()=>mergeFieldStyles(field), [
|
|
107
108
|
field
|
|
108
109
|
]);
|
|
109
|
-
return
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
110
|
+
return /*#__PURE__*/ _jsxDEV("div", {
|
|
111
|
+
className: [
|
|
112
|
+
fieldBaseClass,
|
|
113
|
+
baseClass,
|
|
114
|
+
className,
|
|
115
|
+
showError && 'error',
|
|
116
|
+
(readOnly || disabled) && 'read-only'
|
|
117
|
+
].filter(Boolean).join(' '),
|
|
118
|
+
style: styles,
|
|
119
|
+
children: [
|
|
120
|
+
/*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
|
|
121
|
+
CustomComponent: Label,
|
|
122
|
+
Fallback: /*#__PURE__*/ _jsxDEV(FieldLabel, {
|
|
123
|
+
label: label,
|
|
124
|
+
localized: localized,
|
|
125
|
+
path: path,
|
|
126
|
+
required: required
|
|
127
|
+
}, void 0, false, {
|
|
128
|
+
fileName: "src/fields/JSON/index.tsx",
|
|
129
|
+
lineNumber: 158,
|
|
130
|
+
columnNumber: 11
|
|
131
|
+
}, void 0)
|
|
132
|
+
}, void 0, false, {
|
|
133
|
+
fileName: "src/fields/JSON/index.tsx",
|
|
134
|
+
lineNumber: 155,
|
|
135
|
+
columnNumber: 7
|
|
136
|
+
}, this),
|
|
137
|
+
/*#__PURE__*/ _jsxDEV("div", {
|
|
138
|
+
className: `${fieldBaseClass}__wrap`,
|
|
139
|
+
children: [
|
|
140
|
+
/*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
|
|
141
|
+
CustomComponent: Error,
|
|
142
|
+
Fallback: /*#__PURE__*/ _jsxDEV(FieldError, {
|
|
143
|
+
message: jsonError,
|
|
144
|
+
path: path,
|
|
145
|
+
showError: showError
|
|
146
|
+
}, void 0, false, {
|
|
147
|
+
fileName: "src/fields/JSON/index.tsx",
|
|
148
|
+
lineNumber: 164,
|
|
149
|
+
columnNumber: 21
|
|
150
|
+
}, void 0)
|
|
151
|
+
}, void 0, false, {
|
|
152
|
+
fileName: "src/fields/JSON/index.tsx",
|
|
153
|
+
lineNumber: 162,
|
|
154
|
+
columnNumber: 9
|
|
155
|
+
}, this),
|
|
156
|
+
BeforeInput,
|
|
157
|
+
/*#__PURE__*/ _jsxDEV(CodeEditor, {
|
|
158
|
+
defaultLanguage: "json",
|
|
159
|
+
maxHeight: maxHeight,
|
|
160
|
+
onChange: handleChange,
|
|
161
|
+
onMount: handleMount,
|
|
162
|
+
options: editorOptions,
|
|
163
|
+
readOnly: readOnly || disabled,
|
|
164
|
+
recalculatedHeightAt: recalculatedHeightAt,
|
|
165
|
+
value: stringValueRef.current,
|
|
166
|
+
wrapperProps: {
|
|
167
|
+
id: `field-${path?.replace(/\./g, '__')}`
|
|
168
|
+
}
|
|
169
|
+
}, void 0, false, {
|
|
170
|
+
fileName: "src/fields/JSON/index.tsx",
|
|
171
|
+
lineNumber: 167,
|
|
172
|
+
columnNumber: 9
|
|
173
|
+
}, this),
|
|
174
|
+
AfterInput
|
|
175
|
+
]
|
|
176
|
+
}, void 0, true, {
|
|
177
|
+
fileName: "src/fields/JSON/index.tsx",
|
|
178
|
+
lineNumber: 161,
|
|
179
|
+
columnNumber: 7
|
|
180
|
+
}, this),
|
|
181
|
+
/*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
|
|
182
|
+
CustomComponent: Description,
|
|
183
|
+
Fallback: /*#__PURE__*/ _jsxDEV(FieldDescription, {
|
|
184
|
+
description: description,
|
|
185
|
+
path: path
|
|
186
|
+
}, void 0, false, {
|
|
187
|
+
fileName: "src/fields/JSON/index.tsx",
|
|
188
|
+
lineNumber: 184,
|
|
189
|
+
columnNumber: 19
|
|
190
|
+
}, void 0)
|
|
191
|
+
}, void 0, false, {
|
|
192
|
+
fileName: "src/fields/JSON/index.tsx",
|
|
193
|
+
lineNumber: 182,
|
|
194
|
+
columnNumber: 7
|
|
195
|
+
}, this)
|
|
196
|
+
]
|
|
197
|
+
}, void 0, true, {
|
|
198
|
+
fileName: "src/fields/JSON/index.tsx",
|
|
199
|
+
lineNumber: 143,
|
|
200
|
+
columnNumber: 5
|
|
201
|
+
}, this);
|
|
127
202
|
};
|
|
128
203
|
export const JSONField = withCondition(JSONFieldComponent);
|
|
129
204
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, JsonObject } from 'payload'\n\nimport { type OnMount } from '@monaco-editor/react'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { defaultOptions } from '../../elements/CodeEditor/constants.js'\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nconst JSONFieldComponent: JSONFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, description, editorOptions, maxHeight } = {},\n jsonSchema,\n label,\n localized,\n required,\n },\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const { insertSpaces = defaultOptions.insertSpaces, tabSize = defaultOptions.tabSize } =\n editorOptions || {}\n\n const formatJSON = useCallback(\n (value: JsonObject | undefined): string | undefined => {\n if (value === undefined) {\n return undefined\n }\n if (value === null) {\n return ''\n }\n return insertSpaces ? JSON.stringify(value, null, tabSize) : JSON.stringify(value, null, '\\t')\n },\n [tabSize, insertSpaces],\n )\n\n const [jsonError, setJsonError] = useState<string>()\n const inputChangeFromRef = React.useRef<'formState' | 'internalEditor'>('formState')\n const [recalculatedHeightAt, setRecalculatedHeightAt] = useState<number | undefined>(Date.now())\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, jsonError, required })\n }\n },\n [validate, required, jsonError],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField<JsonObject>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const stringValueRef = React.useRef<string>(formatJSON(value ?? initialValue))\n\n const handleMount = useCallback<OnMount>(\n (editor, monaco) => {\n if (!jsonSchema) {\n return\n }\n\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [\n ...(monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []),\n jsonSchema,\n ],\n validate: true,\n })\n\n const uri = jsonSchema.uri\n const newUri = uri.includes('?')\n ? `${uri}&${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n : `${uri}?${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n\n editor.setModel(\n monaco.editor.createModel(formatJSON(value) || '', 'json', monaco.Uri.parse(newUri)),\n )\n },\n [jsonSchema, formatJSON, value],\n )\n\n const handleChange = useCallback(\n (val: string) => {\n if (readOnly || disabled) {\n return\n }\n inputChangeFromRef.current = 'internalEditor'\n\n try {\n setValue(val ? JSON.parse(val) : null)\n stringValueRef.current = val\n setJsonError(undefined)\n } catch (e) {\n setValue(val ? val : null)\n stringValueRef.current = val\n setJsonError(e)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n useEffect(() => {\n if (inputChangeFromRef.current === 'formState') {\n const newStringValue = formatJSON(value ?? initialValue)\n if (newStringValue !== stringValueRef.current) {\n stringValueRef.current = newStringValue\n setRecalculatedHeightAt(Date.now())\n }\n }\n\n inputChangeFromRef.current = 'formState'\n }, [initialValue, path, formatJSON, value])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError message={jsonError} path={path} showError={showError} />}\n />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n maxHeight={maxHeight}\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={readOnly || disabled}\n recalculatedHeightAt={recalculatedHeightAt}\n value={stringValueRef.current}\n wrapperProps={{\n id: `field-${path?.replace(/\\./g, '__')}`,\n }}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"names":["React","useCallback","useEffect","useMemo","useState","v4","uuidv4","defaultOptions","CodeEditor","RenderCustomComponent","useField","withCondition","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","baseClass","JSONFieldComponent","props","field","admin","className","description","editorOptions","maxHeight","jsonSchema","label","localized","required","path","pathFromProps","readOnly","validate","insertSpaces","tabSize","formatJSON","value","undefined","JSON","stringify","jsonError","setJsonError","inputChangeFromRef","useRef","recalculatedHeightAt","setRecalculatedHeightAt","Date","now","memoizedValidate","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","initialValue","setValue","showError","potentiallyStalePath","stringValueRef","handleMount","editor","monaco","languages","json","jsonDefaults","setDiagnosticsOptions","enableSchemaRequest","schemas","diagnosticsOptions","uri","newUri","includes","crypto","randomUUID","setModel","createModel","Uri","parse","handleChange","val","current","e","newStringValue","styles","div","filter","Boolean","join","style","CustomComponent","Fallback","message","defaultLanguage","onChange","onMount","wrapperProps","id","replace","JSONField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/JSON/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, JsonObject } from 'payload'\n\nimport { type OnMount } from '@monaco-editor/react'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { defaultOptions } from '../../elements/CodeEditor/constants.js'\nimport { CodeEditor } from '../../elements/CodeEditor/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport './index.scss'\n\nconst baseClass = 'json-field'\n\nconst JSONFieldComponent: JSONFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { className, description, editorOptions, maxHeight } = {},\n jsonSchema,\n label,\n localized,\n required,\n },\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const { insertSpaces = defaultOptions.insertSpaces, tabSize = defaultOptions.tabSize } =\n editorOptions || {}\n\n const formatJSON = useCallback(\n (value: JsonObject | undefined): string | undefined => {\n if (value === undefined) {\n return undefined\n }\n if (value === null) {\n return ''\n }\n return insertSpaces ? JSON.stringify(value, null, tabSize) : JSON.stringify(value, null, '\\t')\n },\n [tabSize, insertSpaces],\n )\n\n const [jsonError, setJsonError] = useState<string>()\n const inputChangeFromRef = React.useRef<'formState' | 'internalEditor'>('formState')\n const [recalculatedHeightAt, setRecalculatedHeightAt] = useState<number | undefined>(Date.now())\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, jsonError, required })\n }\n },\n [validate, required, jsonError],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField<JsonObject>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const stringValueRef = React.useRef<string>(formatJSON(value ?? initialValue))\n\n const handleMount = useCallback<OnMount>(\n (editor, monaco) => {\n if (!jsonSchema) {\n return\n }\n\n monaco.languages.json.jsonDefaults.setDiagnosticsOptions({\n enableSchemaRequest: true,\n schemas: [\n ...(monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas || []),\n jsonSchema,\n ],\n validate: true,\n })\n\n const uri = jsonSchema.uri\n const newUri = uri.includes('?')\n ? `${uri}&${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n : `${uri}?${crypto.randomUUID ? crypto.randomUUID() : uuidv4()}`\n\n editor.setModel(\n monaco.editor.createModel(formatJSON(value) || '', 'json', monaco.Uri.parse(newUri)),\n )\n },\n [jsonSchema, formatJSON, value],\n )\n\n const handleChange = useCallback(\n (val: string) => {\n if (readOnly || disabled) {\n return\n }\n inputChangeFromRef.current = 'internalEditor'\n\n try {\n setValue(val ? JSON.parse(val) : null)\n stringValueRef.current = val\n setJsonError(undefined)\n } catch (e) {\n setValue(val ? val : null)\n stringValueRef.current = val\n setJsonError(e)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n useEffect(() => {\n if (inputChangeFromRef.current === 'formState') {\n const newStringValue = formatJSON(value ?? initialValue)\n if (newStringValue !== stringValueRef.current) {\n stringValueRef.current = newStringValue\n setRecalculatedHeightAt(Date.now())\n }\n }\n\n inputChangeFromRef.current = 'formState'\n }, [initialValue, path, formatJSON, value])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError message={jsonError} path={path} showError={showError} />}\n />\n {BeforeInput}\n <CodeEditor\n defaultLanguage=\"json\"\n maxHeight={maxHeight}\n onChange={handleChange}\n onMount={handleMount}\n options={editorOptions}\n readOnly={readOnly || disabled}\n recalculatedHeightAt={recalculatedHeightAt}\n value={stringValueRef.current}\n wrapperProps={{\n id: `field-${path?.replace(/\\./g, '__')}`,\n }}\n />\n {AfterInput}\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JSONField = withCondition(JSONFieldComponent)\n"],"names":["React","useCallback","useEffect","useMemo","useState","v4","uuidv4","defaultOptions","CodeEditor","RenderCustomComponent","useField","withCondition","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","baseClass","JSONFieldComponent","props","field","admin","className","description","editorOptions","maxHeight","jsonSchema","label","localized","required","path","pathFromProps","readOnly","validate","insertSpaces","tabSize","formatJSON","value","undefined","JSON","stringify","jsonError","setJsonError","inputChangeFromRef","useRef","recalculatedHeightAt","setRecalculatedHeightAt","Date","now","memoizedValidate","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","initialValue","setValue","showError","potentiallyStalePath","stringValueRef","handleMount","editor","monaco","languages","json","jsonDefaults","setDiagnosticsOptions","enableSchemaRequest","schemas","diagnosticsOptions","uri","newUri","includes","crypto","randomUUID","setModel","createModel","Uri","parse","handleChange","val","current","e","newStringValue","styles","div","filter","Boolean","join","style","CustomComponent","Fallback","message","defaultLanguage","onChange","onMount","wrapperProps","id","replace","JSONField"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
3
|
import ObjectIdImport from 'bson-objectid';
|
|
3
4
|
import { fieldAffectsData, flattenTopLevelFields } from 'payload/shared';
|
|
4
|
-
import { useMemo } from 'react';
|
|
5
|
+
import React, { useMemo } from 'react';
|
|
5
6
|
import { RelationshipTable } from '../../elements/RelationshipTable/index.js';
|
|
6
7
|
import { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js';
|
|
7
8
|
import { useField } from '../../forms/useField/index.js';
|
|
@@ -149,25 +150,92 @@ const JoinFieldComponent = (props)=>{
|
|
|
149
150
|
if (!docConfig) {
|
|
150
151
|
return null;
|
|
151
152
|
}
|
|
152
|
-
return
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
153
|
+
return /*#__PURE__*/ _jsxDEV("div", {
|
|
154
|
+
className: [
|
|
155
|
+
fieldBaseClass,
|
|
156
|
+
showError && 'error',
|
|
157
|
+
'join'
|
|
158
|
+
].filter(Boolean).join(' '),
|
|
159
|
+
id: `field-${path?.replace(/\./g, '__')}`,
|
|
160
|
+
children: [
|
|
161
|
+
/*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
|
|
162
|
+
CustomComponent: Error,
|
|
163
|
+
Fallback: /*#__PURE__*/ _jsxDEV(FieldError, {
|
|
164
|
+
path: path,
|
|
165
|
+
showError: showError
|
|
166
|
+
}, void 0, false, {
|
|
167
|
+
fileName: "src/fields/Join/index.tsx",
|
|
168
|
+
lineNumber: 207,
|
|
169
|
+
columnNumber: 19
|
|
170
|
+
}, void 0)
|
|
171
|
+
}, void 0, false, {
|
|
172
|
+
fileName: "src/fields/Join/index.tsx",
|
|
173
|
+
lineNumber: 205,
|
|
174
|
+
columnNumber: 7
|
|
175
|
+
}, this),
|
|
176
|
+
/*#__PURE__*/ _jsxDEV(RelationshipTable, {
|
|
177
|
+
AfterInput: AfterInput,
|
|
178
|
+
allowCreate: typeof docID !== 'undefined' && allowCreate,
|
|
179
|
+
BeforeInput: BeforeInput,
|
|
180
|
+
disableTable: filterOptions === null,
|
|
181
|
+
field: field,
|
|
182
|
+
fieldPath: path,
|
|
183
|
+
filterOptions: filterOptions,
|
|
184
|
+
initialData: docID && value ? value : {
|
|
185
|
+
docs: []
|
|
186
|
+
},
|
|
187
|
+
initialDrawerData: initialDrawerData,
|
|
188
|
+
Label: /*#__PURE__*/ _jsxDEV("h4", {
|
|
189
|
+
style: {
|
|
190
|
+
margin: 0
|
|
191
|
+
},
|
|
192
|
+
children: Label || /*#__PURE__*/ _jsxDEV(FieldLabel, {
|
|
193
|
+
label: label,
|
|
194
|
+
localized: localized,
|
|
195
|
+
path: path,
|
|
196
|
+
required: required
|
|
197
|
+
}, void 0, false, {
|
|
198
|
+
fileName: "src/fields/Join/index.tsx",
|
|
199
|
+
lineNumber: 222,
|
|
200
|
+
columnNumber: 15
|
|
201
|
+
}, void 0)
|
|
202
|
+
}, void 0, false, {
|
|
203
|
+
fileName: "src/fields/Join/index.tsx",
|
|
204
|
+
lineNumber: 220,
|
|
205
|
+
columnNumber: 11
|
|
206
|
+
}, void 0),
|
|
207
|
+
parent: Array.isArray(collection) ? {
|
|
208
|
+
id: docID,
|
|
209
|
+
collectionSlug: docConfig.slug,
|
|
210
|
+
joinPath: path
|
|
211
|
+
} : undefined,
|
|
212
|
+
relationTo: collection
|
|
213
|
+
}, void 0, false, {
|
|
214
|
+
fileName: "src/fields/Join/index.tsx",
|
|
215
|
+
lineNumber: 209,
|
|
216
|
+
columnNumber: 7
|
|
217
|
+
}, this),
|
|
218
|
+
/*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
|
|
219
|
+
CustomComponent: Description,
|
|
220
|
+
Fallback: /*#__PURE__*/ _jsxDEV(FieldDescription, {
|
|
221
|
+
description: description,
|
|
222
|
+
path: path
|
|
223
|
+
}, void 0, false, {
|
|
224
|
+
fileName: "src/fields/Join/index.tsx",
|
|
225
|
+
lineNumber: 239,
|
|
226
|
+
columnNumber: 19
|
|
227
|
+
}, void 0)
|
|
228
|
+
}, void 0, false, {
|
|
229
|
+
fileName: "src/fields/Join/index.tsx",
|
|
230
|
+
lineNumber: 237,
|
|
231
|
+
columnNumber: 7
|
|
232
|
+
}, this)
|
|
233
|
+
]
|
|
234
|
+
}, void 0, true, {
|
|
235
|
+
fileName: "src/fields/Join/index.tsx",
|
|
236
|
+
lineNumber: 201,
|
|
237
|
+
columnNumber: 5
|
|
238
|
+
}, this);
|
|
171
239
|
};
|
|
172
240
|
export const JoinField = withCondition(JoinFieldComponent);
|
|
173
241
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientConfig,\n ClientField,\n JoinFieldClient,\n JoinFieldClientComponent,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, flattenTopLevelFields } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RelationshipTable } from '../../elements/RelationshipTable/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../index.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\n/**\n * Recursively builds the default data for joined collection\n */\nconst getInitialDrawerData = ({\n collectionSlug,\n config,\n docID,\n fields,\n segments,\n}: {\n collectionSlug: string\n config: ClientConfig\n docID: number | string\n fields: ClientField[]\n segments: string[]\n}) => {\n const flattenedFields = flattenTopLevelFields(fields, {\n keepPresentationalFields: true,\n })\n\n const path = segments[0]\n\n const field = flattenedFields.find((field) => field.name === path)\n\n if (!field) {\n return null\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n let value: { relationTo: string; value: number | string } | number | string = docID\n if (Array.isArray(field.relationTo)) {\n value = {\n relationTo: collectionSlug,\n value: docID,\n }\n }\n return {\n [field.name]: field.hasMany ? [value] : value,\n }\n }\n\n const nextSegments = segments.slice(1, segments.length)\n\n if (field.type === 'tab' || (field.type === 'group' && fieldAffectsData(field))) {\n return {\n [field.name]: getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n }),\n }\n }\n\n if (field.type === 'array') {\n const initialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n })\n\n initialData.id = ObjectId().toHexString()\n\n return {\n [field.name]: [initialData],\n }\n }\n\n if (field.type === 'blocks') {\n for (const _block of field.blockReferences ?? field.blocks) {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n\n const blockInitialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: block.fields,\n segments: nextSegments,\n })\n\n if (blockInitialData) {\n blockInitialData.id = ObjectId().toHexString()\n blockInitialData.blockType = block.slug\n\n return {\n [field.name]: [blockInitialData],\n }\n }\n }\n }\n}\n\nconst JoinFieldComponent: JoinFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { allowCreate, description },\n collection,\n label,\n localized,\n on,\n required,\n },\n path: pathFromProps,\n } = props\n\n const { id: docID, docConfig } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n path,\n showError,\n value,\n } = useField<PaginatedDocs>({\n potentiallyStalePath: pathFromProps,\n })\n\n const filterOptions: null | Where = useMemo(() => {\n if (!docID) {\n return null\n }\n\n let value: { relationTo: string; value: number | string } | number | string = docID\n\n if (Array.isArray(field.targetField.relationTo)) {\n value = {\n relationTo: docConfig.slug,\n value,\n }\n }\n\n const where = Array.isArray(collection)\n ? {}\n : {\n [on]: {\n equals: value,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, collection, field.targetField.relationTo, field.where, on, docConfig?.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({\n collectionSlug: Array.isArray(field.collection) ? field.collection[0] : field.collection,\n })\n\n return getInitialDrawerData({\n collectionSlug: docConfig?.slug,\n config,\n docID,\n fields: relatedCollection?.fields,\n segments: field.on.split('.'),\n })\n }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID, config])\n\n if (!docConfig) {\n return null\n }\n\n return (\n <div\n className={[fieldBaseClass, showError && 'error', 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n <RelationshipTable\n AfterInput={AfterInput}\n allowCreate={typeof docID !== 'undefined' && allowCreate}\n BeforeInput={BeforeInput}\n disableTable={filterOptions === null}\n field={field as JoinFieldClient}\n fieldPath={path}\n filterOptions={filterOptions}\n initialData={docID && value ? value : ({ docs: [] } as PaginatedDocs)}\n initialDrawerData={initialDrawerData}\n Label={\n <h4 style={{ margin: 0 }}>\n {Label || (\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n )}\n </h4>\n }\n parent={\n Array.isArray(collection)\n ? {\n id: docID,\n collectionSlug: docConfig.slug,\n joinPath: path,\n }\n : undefined\n }\n relationTo={collection}\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JoinField = withCondition(JoinFieldComponent)\n"],"names":["ObjectIdImport","fieldAffectsData","flattenTopLevelFields","useMemo","RelationshipTable","RenderCustomComponent","useField","withCondition","useConfig","useDocumentInfo","FieldDescription","FieldError","FieldLabel","fieldBaseClass","ObjectId","default","getInitialDrawerData","collectionSlug","config","docID","fields","segments","flattenedFields","keepPresentationalFields","path","field","find","name","type","value","Array","isArray","relationTo","hasMany","nextSegments","slice","length","initialData","id","toHexString","_block","blockReferences","blocks","block","blocksMap","blockInitialData","blockType","slug","JoinFieldComponent","props","admin","allowCreate","description","collection","label","localized","on","required","pathFromProps","docConfig","getEntityConfig","customComponents","AfterInput","BeforeInput","Description","Error","Label","showError","potentiallyStalePath","filterOptions","targetField","where","equals","and","initialDrawerData","relatedCollection","split","div","className","filter","Boolean","join","replace","CustomComponent","Fallback","disableTable","fieldPath","docs","h4","style","margin","parent","joinPath","undefined","JoinField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Join/index.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientConfig,\n ClientField,\n JoinFieldClient,\n JoinFieldClientComponent,\n PaginatedDocs,\n Where,\n} from 'payload'\n\nimport ObjectIdImport from 'bson-objectid'\nimport { fieldAffectsData, flattenTopLevelFields } from 'payload/shared'\nimport React, { useMemo } from 'react'\n\nimport { RelationshipTable } from '../../elements/RelationshipTable/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../index.js'\n\nconst ObjectId = 'default' in ObjectIdImport ? ObjectIdImport.default : ObjectIdImport\n\n/**\n * Recursively builds the default data for joined collection\n */\nconst getInitialDrawerData = ({\n collectionSlug,\n config,\n docID,\n fields,\n segments,\n}: {\n collectionSlug: string\n config: ClientConfig\n docID: number | string\n fields: ClientField[]\n segments: string[]\n}) => {\n const flattenedFields = flattenTopLevelFields(fields, {\n keepPresentationalFields: true,\n })\n\n const path = segments[0]\n\n const field = flattenedFields.find((field) => field.name === path)\n\n if (!field) {\n return null\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n let value: { relationTo: string; value: number | string } | number | string = docID\n if (Array.isArray(field.relationTo)) {\n value = {\n relationTo: collectionSlug,\n value: docID,\n }\n }\n return {\n [field.name]: field.hasMany ? [value] : value,\n }\n }\n\n const nextSegments = segments.slice(1, segments.length)\n\n if (field.type === 'tab' || (field.type === 'group' && fieldAffectsData(field))) {\n return {\n [field.name]: getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n }),\n }\n }\n\n if (field.type === 'array') {\n const initialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: field.fields,\n segments: nextSegments,\n })\n\n initialData.id = ObjectId().toHexString()\n\n return {\n [field.name]: [initialData],\n }\n }\n\n if (field.type === 'blocks') {\n for (const _block of field.blockReferences ?? field.blocks) {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n\n const blockInitialData = getInitialDrawerData({\n collectionSlug,\n config,\n docID,\n fields: block.fields,\n segments: nextSegments,\n })\n\n if (blockInitialData) {\n blockInitialData.id = ObjectId().toHexString()\n blockInitialData.blockType = block.slug\n\n return {\n [field.name]: [blockInitialData],\n }\n }\n }\n }\n}\n\nconst JoinFieldComponent: JoinFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: { allowCreate, description },\n collection,\n label,\n localized,\n on,\n required,\n },\n path: pathFromProps,\n } = props\n\n const { id: docID, docConfig } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n path,\n showError,\n value,\n } = useField<PaginatedDocs>({\n potentiallyStalePath: pathFromProps,\n })\n\n const filterOptions: null | Where = useMemo(() => {\n if (!docID) {\n return null\n }\n\n let value: { relationTo: string; value: number | string } | number | string = docID\n\n if (Array.isArray(field.targetField.relationTo)) {\n value = {\n relationTo: docConfig.slug,\n value,\n }\n }\n\n const where = Array.isArray(collection)\n ? {}\n : {\n [on]: {\n equals: value,\n },\n }\n\n if (field.where) {\n return {\n and: [where, field.where],\n }\n }\n\n return where\n }, [docID, collection, field.targetField.relationTo, field.where, on, docConfig?.slug])\n\n const initialDrawerData = useMemo(() => {\n const relatedCollection = getEntityConfig({\n collectionSlug: Array.isArray(field.collection) ? field.collection[0] : field.collection,\n })\n\n return getInitialDrawerData({\n collectionSlug: docConfig?.slug,\n config,\n docID,\n fields: relatedCollection?.fields,\n segments: field.on.split('.'),\n })\n }, [getEntityConfig, field.collection, field.on, docConfig?.slug, docID, config])\n\n if (!docConfig) {\n return null\n }\n\n return (\n <div\n className={[fieldBaseClass, showError && 'error', 'join'].filter(Boolean).join(' ')}\n id={`field-${path?.replace(/\\./g, '__')}`}\n >\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n <RelationshipTable\n AfterInput={AfterInput}\n allowCreate={typeof docID !== 'undefined' && allowCreate}\n BeforeInput={BeforeInput}\n disableTable={filterOptions === null}\n field={field as JoinFieldClient}\n fieldPath={path}\n filterOptions={filterOptions}\n initialData={docID && value ? value : ({ docs: [] } as PaginatedDocs)}\n initialDrawerData={initialDrawerData}\n Label={\n <h4 style={{ margin: 0 }}>\n {Label || (\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n )}\n </h4>\n }\n parent={\n Array.isArray(collection)\n ? {\n id: docID,\n collectionSlug: docConfig.slug,\n joinPath: path,\n }\n : undefined\n }\n relationTo={collection}\n />\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n )\n}\n\nexport const JoinField = withCondition(JoinFieldComponent)\n"],"names":["ObjectIdImport","fieldAffectsData","flattenTopLevelFields","React","useMemo","RelationshipTable","RenderCustomComponent","useField","withCondition","useConfig","useDocumentInfo","FieldDescription","FieldError","FieldLabel","fieldBaseClass","ObjectId","default","getInitialDrawerData","collectionSlug","config","docID","fields","segments","flattenedFields","keepPresentationalFields","path","field","find","name","type","value","Array","isArray","relationTo","hasMany","nextSegments","slice","length","initialData","id","toHexString","_block","blockReferences","blocks","block","blocksMap","blockInitialData","blockType","slug","JoinFieldComponent","props","admin","allowCreate","description","collection","label","localized","on","required","pathFromProps","docConfig","getEntityConfig","customComponents","AfterInput","BeforeInput","Description","Error","Label","showError","potentiallyStalePath","filterOptions","targetField","where","equals","and","initialDrawerData","relatedCollection","split","div","className","filter","Boolean","join","replace","CustomComponent","Fallback","disableTable","fieldPath","docs","h4","style","margin","parent","joinPath","undefined","JoinField"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
2
3
|
import { getTranslation } from '@payloadcms/translations';
|
|
3
4
|
import { isNumber } from 'payload/shared';
|
|
4
|
-
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
5
|
+
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
5
6
|
import { ReactSelect } from '../../elements/ReactSelect/index.js';
|
|
6
7
|
import { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js';
|
|
7
8
|
import { useField } from '../../forms/useField/index.js';
|
|
@@ -94,41 +95,138 @@ const NumberFieldComponent = (props)=>{
|
|
|
94
95
|
field
|
|
95
96
|
]);
|
|
96
97
|
const placeholder = getTranslation(placeholderFromProps, i18n);
|
|
97
|
-
return
|
|
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
|
-
|
|
98
|
+
return /*#__PURE__*/ _jsxDEV("div", {
|
|
99
|
+
className: [
|
|
100
|
+
fieldBaseClass,
|
|
101
|
+
'number',
|
|
102
|
+
className,
|
|
103
|
+
showError && 'error',
|
|
104
|
+
(readOnly || disabled) && 'read-only',
|
|
105
|
+
hasMany && 'has-many'
|
|
106
|
+
].filter(Boolean).join(' '),
|
|
107
|
+
style: styles,
|
|
108
|
+
children: [
|
|
109
|
+
/*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
|
|
110
|
+
CustomComponent: Label,
|
|
111
|
+
Fallback: /*#__PURE__*/ _jsxDEV(FieldLabel, {
|
|
112
|
+
label: label,
|
|
113
|
+
localized: localized,
|
|
114
|
+
path: path,
|
|
115
|
+
required: required
|
|
116
|
+
}, void 0, false, {
|
|
117
|
+
fileName: "src/fields/Number/index.tsx",
|
|
118
|
+
lineNumber: 148,
|
|
119
|
+
columnNumber: 11
|
|
120
|
+
}, void 0)
|
|
121
|
+
}, void 0, false, {
|
|
122
|
+
fileName: "src/fields/Number/index.tsx",
|
|
123
|
+
lineNumber: 145,
|
|
124
|
+
columnNumber: 7
|
|
125
|
+
}, this),
|
|
126
|
+
/*#__PURE__*/ _jsxDEV("div", {
|
|
127
|
+
className: `${fieldBaseClass}__wrap`,
|
|
128
|
+
children: [
|
|
129
|
+
/*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
|
|
130
|
+
CustomComponent: Error,
|
|
131
|
+
Fallback: /*#__PURE__*/ _jsxDEV(FieldError, {
|
|
132
|
+
path: path,
|
|
133
|
+
showError: showError
|
|
134
|
+
}, void 0, false, {
|
|
135
|
+
fileName: "src/fields/Number/index.tsx",
|
|
136
|
+
lineNumber: 154,
|
|
137
|
+
columnNumber: 21
|
|
138
|
+
}, void 0)
|
|
139
|
+
}, void 0, false, {
|
|
140
|
+
fileName: "src/fields/Number/index.tsx",
|
|
141
|
+
lineNumber: 152,
|
|
142
|
+
columnNumber: 9
|
|
143
|
+
}, this),
|
|
144
|
+
BeforeInput,
|
|
145
|
+
hasMany ? /*#__PURE__*/ _jsxDEV(ReactSelect, {
|
|
146
|
+
className: `field-${path.replace(/\./g, '__')}`,
|
|
147
|
+
disabled: readOnly || disabled,
|
|
148
|
+
filterOption: (_, rawInput)=>{
|
|
149
|
+
const isOverHasMany = Array.isArray(value) && value.length >= maxRows;
|
|
150
|
+
return isNumber(rawInput) && !isOverHasMany;
|
|
151
|
+
},
|
|
152
|
+
isClearable: true,
|
|
153
|
+
isCreatable: true,
|
|
154
|
+
isMulti: true,
|
|
155
|
+
isSortable: true,
|
|
156
|
+
noOptionsMessage: ()=>{
|
|
157
|
+
const isOverHasMany = Array.isArray(value) && value.length >= maxRows;
|
|
158
|
+
if (isOverHasMany) {
|
|
159
|
+
return t('validation:limitReached', {
|
|
160
|
+
max: maxRows,
|
|
161
|
+
value: value.length + 1
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
return null;
|
|
165
|
+
},
|
|
166
|
+
// numberOnly
|
|
167
|
+
onChange: handleHasManyChange,
|
|
168
|
+
options: [],
|
|
169
|
+
placeholder: placeholder,
|
|
170
|
+
showError: showError,
|
|
171
|
+
value: valueToRender
|
|
172
|
+
}, void 0, false, {
|
|
173
|
+
fileName: "src/fields/Number/index.tsx",
|
|
174
|
+
lineNumber: 158,
|
|
175
|
+
columnNumber: 11
|
|
176
|
+
}, this) : /*#__PURE__*/ _jsxDEV("div", {
|
|
177
|
+
children: /*#__PURE__*/ _jsxDEV("input", {
|
|
178
|
+
disabled: readOnly || disabled,
|
|
179
|
+
id: `field-${path.replace(/\./g, '__')}`,
|
|
180
|
+
max: max,
|
|
181
|
+
min: min,
|
|
182
|
+
name: path,
|
|
183
|
+
onChange: handleChange,
|
|
184
|
+
onWheel: (e)=>{
|
|
185
|
+
// @ts-expect-error
|
|
186
|
+
e.target.blur();
|
|
187
|
+
},
|
|
188
|
+
placeholder: placeholder,
|
|
189
|
+
step: step,
|
|
190
|
+
type: "number",
|
|
191
|
+
value: typeof value === 'number' ? value : ''
|
|
192
|
+
}, void 0, false, {
|
|
193
|
+
fileName: "src/fields/Number/index.tsx",
|
|
194
|
+
lineNumber: 185,
|
|
195
|
+
columnNumber: 13
|
|
196
|
+
}, this)
|
|
197
|
+
}, void 0, false, {
|
|
198
|
+
fileName: "src/fields/Number/index.tsx",
|
|
199
|
+
lineNumber: 184,
|
|
200
|
+
columnNumber: 11
|
|
201
|
+
}, this),
|
|
202
|
+
AfterInput,
|
|
203
|
+
/*#__PURE__*/ _jsxDEV(RenderCustomComponent, {
|
|
204
|
+
CustomComponent: Description,
|
|
205
|
+
Fallback: /*#__PURE__*/ _jsxDEV(FieldDescription, {
|
|
206
|
+
description: description,
|
|
207
|
+
path: path
|
|
208
|
+
}, void 0, false, {
|
|
209
|
+
fileName: "src/fields/Number/index.tsx",
|
|
210
|
+
lineNumber: 206,
|
|
211
|
+
columnNumber: 21
|
|
212
|
+
}, void 0)
|
|
213
|
+
}, void 0, false, {
|
|
214
|
+
fileName: "src/fields/Number/index.tsx",
|
|
215
|
+
lineNumber: 204,
|
|
216
|
+
columnNumber: 9
|
|
217
|
+
}, this)
|
|
218
|
+
]
|
|
219
|
+
}, void 0, true, {
|
|
220
|
+
fileName: "src/fields/Number/index.tsx",
|
|
221
|
+
lineNumber: 151,
|
|
222
|
+
columnNumber: 7
|
|
223
|
+
}, this)
|
|
224
|
+
]
|
|
225
|
+
}, void 0, true, {
|
|
226
|
+
fileName: "src/fields/Number/index.tsx",
|
|
227
|
+
lineNumber: 132,
|
|
228
|
+
columnNumber: 5
|
|
229
|
+
}, this);
|
|
132
230
|
};
|
|
133
231
|
export const NumberField = withCondition(NumberFieldComponent);
|
|
134
232
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldClientComponent, NumberFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst NumberFieldComponent: NumberFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n className,\n description,\n placeholder: placeholderFromProps,\n step = 1,\n } = {} as NumberFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n required,\n },\n onChange: onChangeFromProps,\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField<number | number[]>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = null\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!(readOnly || disabled)) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const placeholder = getTranslation(placeholderFromProps, i18n)\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly || disabled}\n filterOption={(_, rawInput) => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={placeholder}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n <input\n disabled={readOnly || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={placeholder}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","isNumber","useCallback","useEffect","useMemo","useState","ReactSelect","RenderCustomComponent","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","NumberFieldComponent","props","field","admin","className","description","placeholder","placeholderFromProps","step","hasMany","label","localized","max","Infinity","maxRows","min","required","onChange","onChangeFromProps","path","pathFromProps","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","styles","div","filter","Boolean","join","style","CustomComponent","Fallback","replace","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","name","onWheel","blur","type","NumberField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Number/index.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldClientComponent, NumberFieldClientProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { isNumber } from 'payload/shared'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { Option } from '../../elements/ReactSelect/types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport './index.scss'\nimport { fieldBaseClass } from '../shared/index.js'\n\nconst NumberFieldComponent: NumberFieldClientComponent = (props) => {\n const {\n field,\n field: {\n admin: {\n className,\n description,\n placeholder: placeholderFromProps,\n step = 1,\n } = {} as NumberFieldClientProps['field']['admin'],\n hasMany = false,\n label,\n localized,\n max = Infinity,\n maxRows = Infinity,\n min = -Infinity,\n required,\n },\n onChange: onChangeFromProps,\n path: pathFromProps,\n readOnly,\n validate,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const memoizedValidate = useCallback(\n (value, options) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, max, min, required })\n }\n },\n [validate, min, max, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n path,\n setValue,\n showError,\n value,\n } = useField<number | number[]>({\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const handleChange = useCallback(\n (e) => {\n const val = parseFloat(e.target.value)\n let newVal = val\n\n if (Number.isNaN(val)) {\n newVal = null\n }\n\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newVal)\n }\n\n setValue(newVal)\n },\n [onChangeFromProps, setValue],\n )\n\n const [valueToRender, setValueToRender] = useState<\n { id: string; label: string; value: { value: number } }[]\n >([]) // Only for hasMany\n\n const handleHasManyChange = useCallback(\n (selectedOption) => {\n if (!(readOnly || disabled)) {\n let newValue\n if (!selectedOption) {\n newValue = []\n } else if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => Number(option.value?.value || option.value))\n } else {\n newValue = [Number(selectedOption.value?.value || selectedOption.value)]\n }\n\n setValue(newValue)\n }\n },\n [readOnly, disabled, setValue],\n )\n\n // useEffect update valueToRender:\n useEffect(() => {\n if (hasMany && Array.isArray(value)) {\n setValueToRender(\n value.map((val, index) => {\n return {\n id: `${val}${index}`, // append index to avoid duplicate keys but allow duplicate numbers\n label: `${val}`,\n value: {\n toString: () => `${val}${index}`,\n value: (val as unknown as Record<string, number>)?.value || val,\n }, // You're probably wondering, why the hell is this done that way? Well, React-select automatically uses \"label-value\" as a key, so we will get that react duplicate key warning if we just pass in the value as multiple values can be the same. So we need to append the index to the toString() of the value to avoid that warning, as it uses that as the key.\n }\n }),\n )\n }\n }, [value, hasMany])\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n const placeholder = getTranslation(placeholderFromProps, i18n)\n\n return (\n <div\n className={[\n fieldBaseClass,\n 'number',\n className,\n showError && 'error',\n (readOnly || disabled) && 'read-only',\n hasMany && 'has-many',\n ]\n .filter(Boolean)\n .join(' ')}\n style={styles}\n >\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel label={label} localized={localized} path={path} required={required} />\n }\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n {BeforeInput}\n {hasMany ? (\n <ReactSelect\n className={`field-${path.replace(/\\./g, '__')}`}\n disabled={readOnly || disabled}\n filterOption={(_, rawInput) => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n return isNumber(rawInput) && !isOverHasMany\n }}\n isClearable\n isCreatable\n isMulti\n isSortable\n noOptionsMessage={() => {\n const isOverHasMany = Array.isArray(value) && value.length >= maxRows\n if (isOverHasMany) {\n return t('validation:limitReached', { max: maxRows, value: value.length + 1 })\n }\n return null\n }}\n // numberOnly\n onChange={handleHasManyChange}\n options={[]}\n placeholder={placeholder}\n showError={showError}\n value={valueToRender as Option[]}\n />\n ) : (\n <div>\n <input\n disabled={readOnly || disabled}\n id={`field-${path.replace(/\\./g, '__')}`}\n max={max}\n min={min}\n name={path}\n onChange={handleChange}\n onWheel={(e) => {\n // @ts-expect-error\n e.target.blur()\n }}\n placeholder={placeholder}\n step={step}\n type=\"number\"\n value={typeof value === 'number' ? value : ''}\n />\n </div>\n )}\n {AfterInput}\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </div>\n </div>\n )\n}\n\nexport const NumberField = withCondition(NumberFieldComponent)\n"],"names":["getTranslation","isNumber","React","useCallback","useEffect","useMemo","useState","ReactSelect","RenderCustomComponent","useField","withCondition","useTranslation","FieldDescription","FieldError","FieldLabel","mergeFieldStyles","fieldBaseClass","NumberFieldComponent","props","field","admin","className","description","placeholder","placeholderFromProps","step","hasMany","label","localized","max","Infinity","maxRows","min","required","onChange","onChangeFromProps","path","pathFromProps","readOnly","validate","i18n","t","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","setValue","showError","potentiallyStalePath","handleChange","e","val","parseFloat","target","newVal","Number","isNaN","valueToRender","setValueToRender","handleHasManyChange","selectedOption","newValue","Array","isArray","map","option","index","id","toString","styles","div","filter","Boolean","join","style","CustomComponent","Fallback","replace","filterOption","_","rawInput","isOverHasMany","length","isClearable","isCreatable","isMulti","isSortable","noOptionsMessage","input","name","onWheel","blur","type","NumberField"],"mappings":"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"}
|