@payloadcms/ui 3.68.0-internal-debug.185cc5f → 3.68.0-internal-debug.591ab42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AddNewRelation/index.js +83 -27
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +13 -5
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AppHeader/index.js +107 -35
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +116 -36
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +18 -6
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +25 -9
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +97 -33
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +43 -15
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +47 -15
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +7 -3
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +12 -4
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +53 -17
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +90 -30
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +31 -11
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +214 -70
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +13 -5
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +19 -7
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +58 -18
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +101 -33
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Card/index.js +25 -9
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +19 -7
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +16 -4
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +42 -14
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +12 -4
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +13 -5
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +18 -6
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/Collapsible/index.js +84 -28
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +7 -3
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +13 -5
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +37 -13
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +49 -17
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +73 -25
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +18 -6
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +41 -13
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.js +19 -7
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +25 -9
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +49 -17
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +73 -25
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +303 -95
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +12 -4
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +59 -19
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +7 -3
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +32 -10
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +54 -18
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +73 -25
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +49 -17
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -3
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +19 -7
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +78 -26
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +37 -13
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +7 -3
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +7 -3
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +61 -21
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +25 -9
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +131 -43
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +37 -13
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +232 -76
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +31 -11
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +19 -7
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +25 -9
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +7 -3
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +19 -7
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +70 -22
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +43 -15
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +43 -15
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +13 -5
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +31 -11
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +12 -4
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +7 -3
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +7 -3
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +7 -3
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +68 -24
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +31 -11
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +25 -9
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +7 -3
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +15 -7
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +181 -61
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +19 -7
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +7 -3
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +103 -31
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +49 -17
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +7 -3
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +21 -9
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +26 -10
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +67 -23
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +86 -30
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +25 -9
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +7 -3
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +31 -11
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +43 -15
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +7 -3
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +13 -5
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +35 -11
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +13 -5
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +13 -5
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/Link/index.js +7 -3
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.js +126 -42
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +18 -6
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +7 -3
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +32 -10
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +19 -7
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +13 -5
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +7 -3
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +7 -3
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +48 -16
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +37 -13
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/index.js +43 -15
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +55 -19
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Device/index.js +13 -5
- package/dist/elements/LivePreview/Device/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js +7 -3
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +7 -3
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +13 -5
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +137 -45
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +7 -3
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js +48 -16
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js +7 -3
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +41 -13
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +55 -19
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +13 -5
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +31 -11
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +47 -15
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +18 -6
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +12 -4
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +7 -3
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +7 -3
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +49 -17
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +19 -7
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +7 -3
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +37 -13
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +12 -4
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +7 -3
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +7 -3
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +19 -7
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +61 -21
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +31 -11
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +37 -13
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +34 -10
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +25 -9
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +7 -3
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +7 -3
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +13 -5
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.js +60 -20
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +12 -4
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +97 -33
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +67 -23
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +165 -53
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +49 -17
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +7 -3
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +25 -9
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +108 -36
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +42 -14
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +25 -9
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +13 -5
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +13 -5
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +7 -3
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +25 -9
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +31 -11
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +79 -27
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +13 -5
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +13 -5
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +13 -5
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +13 -5
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +13 -5
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +13 -5
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +19 -7
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +13 -5
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +19 -7
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +43 -15
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +37 -13
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +7 -3
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +24 -8
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +119 -39
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +19 -7
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +7 -3
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +13 -5
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +25 -9
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +49 -17
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +37 -13
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +7 -3
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +7 -3
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +24 -8
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +13 -5
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js +7 -3
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +7 -3
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +13 -5
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +31 -11
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +48 -16
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +55 -19
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +24 -8
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +13 -5
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +61 -21
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +7 -3
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/context.js +7 -3
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +104 -32
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +7 -3
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +21 -9
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +13 -5
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +19 -7
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +7 -3
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +43 -15
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +25 -9
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +19 -7
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +79 -27
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +7 -3
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.js +55 -19
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +47 -15
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +19 -7
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +19 -7
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +24 -8
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +31 -11
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +25 -9
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +18 -6
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +7 -3
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +25 -9
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +229 -77
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +7 -3
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +13 -5
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +37 -13
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +12 -4
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +18 -6
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +7 -3
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +12 -4
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +73 -25
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +85 -29
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +7 -3
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +7 -3
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.js +52 -16
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +169 -57
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +72 -24
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +18 -6
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +71 -23
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +13 -5
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +19 -7
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +13 -5
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +187 -63
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +47 -15
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +37 -13
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +55 -19
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +61 -21
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +31 -11
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +61 -21
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +55 -19
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +7 -3
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +7 -3
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +19 -7
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +78 -26
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +7 -3
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +7 -3
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +55 -19
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +49 -17
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +66 -22
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +7 -3
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +61 -21
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Point/index.js +97 -33
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +31 -11
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +67 -23
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +84 -28
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +7 -3
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +43 -15
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +48 -16
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.js +19 -7
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +7 -3
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +55 -19
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +7 -3
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +37 -13
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +25 -9
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +67 -23
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +7 -3
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +60 -20
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +7 -3
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.js +61 -21
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +7 -3
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +48 -16
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +13 -5
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +151 -55
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +73 -25
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +7 -3
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +13 -5
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/Form/index.js +67 -23
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.js +13 -5
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +138 -46
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +19 -7
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +7 -3
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +19 -7
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/Submit/index.js +13 -5
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +19 -7
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/withCondition/index.js +13 -5
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +25 -9
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +7 -3
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +12 -4
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +67 -23
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +19 -7
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +19 -7
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +85 -29
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/icons/Calendar/index.js +13 -5
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +13 -5
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +13 -5
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +13 -5
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +13 -5
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +13 -5
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +13 -5
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +22 -6
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +43 -15
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +13 -5
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +13 -5
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +36 -12
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +13 -5
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +19 -7
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +31 -11
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +13 -5
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +13 -5
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +13 -5
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +19 -7
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +13 -5
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +13 -5
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +18 -6
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +25 -9
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +37 -13
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +13 -5
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +13 -5
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +13 -5
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +25 -9
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +13 -5
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +22 -6
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +13 -5
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +13 -5
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +7 -3
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +7 -3
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClickOutside/index.js +7 -3
- package/dist/providers/ClickOutside/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +13 -5
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +13 -5
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +7 -3
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +25 -9
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +7 -3
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +7 -3
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +7 -3
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/index.js +7 -3
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +13 -5
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/LivePreview/index.js +13 -5
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.js +13 -5
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +7 -3
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +7 -3
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +7 -3
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +154 -50
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +7 -3
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +13 -5
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +7 -3
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +7 -3
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +7 -3
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +7 -3
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +13 -5
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +7 -3
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +13 -5
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/index.js +7 -3
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/Theme/index.js +7 -3
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +19 -7
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +19 -7
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +19 -7
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +19 -7
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +27 -7
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +7 -3
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +7 -3
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +7 -3
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +7 -3
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +37 -13
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +29 -13
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/renderTable.js +82 -26
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +168 -56
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +67 -23
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +147 -47
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +67 -23
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +91 -31
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/index.js +117 -41
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +19 -7
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +62 -22
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +49 -17
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +162 -54
- package/dist/views/List/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { ClipboardPasteData } from '../../elements/ClipboardAction/types.js'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { clipboardCopy, clipboardPaste } from '../../elements/ClipboardAction/clipboardUtilities.js'\nimport { ClipboardAction } from '../../elements/ClipboardAction/index.js'\nimport {\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/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 { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field,\n field: {\n name,\n type,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path: pathFromProps,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = minRowsProp ?? (required ? 1 : 0)\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const {\n addFieldRow,\n dispatchFields,\n getFields,\n moveFieldRow,\n removeFieldRow,\n replaceState,\n setModified,\n } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n errorPaths,\n path,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({ path, rowIndex })\n },\n [removeFieldRow, path],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({\n moveFromIndex,\n moveToIndex,\n path,\n })\n },\n [path, moveFieldRow],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const copyRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const clipboardResult = clipboardCopy({\n type,\n fields,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState,\n path,\n rowIndex,\n }),\n path,\n rowIndex,\n t,\n })\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n } else {\n toast.success(t('general:copied'))\n }\n },\n [fields, getFields, path, t, type],\n )\n\n const pasteRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex,\n })\n replaceState(newState)\n setModified(true)\n },\n path,\n schemaFields: fields,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [fields, getFields, path, replaceState, setModified, t],\n )\n\n const pasteField = useCallback(\n (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n })\n replaceState(newState)\n setModified(true)\n },\n [getFields, path, replaceState, setModified],\n )\n\n const getDataToCopy = useCallback(\n () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n }),\n [getFields, path],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = (readOnly || disabled) && rows.length === 0\n const showMinRows = (rows.length && rows.length < minRows) || (required && rows.length === 0)\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={styles}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n <ul className={`${baseClass}__header-actions`}>\n {rows?.length > 0 && (\n <Fragment>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </Fragment>\n )}\n <li>\n <ClipboardAction\n allowCopy={rows?.length > 0}\n allowPaste={!readOnly}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n fields={fields}\n getDataToCopy={getDataToCopy}\n onPaste={pasteField}\n path={path}\n type={type}\n />\n </li>\n </ul>\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\n {BeforeInput}\n {(rows?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((rowData, i) => {\n const { id: rowID, isLoading } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem\n disabled={readOnly || disabled || !isSortable}\n id={rowID}\n key={rowID}\n >\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n copyRow={copyRow}\n CustomRowLabel={rows?.[i]?.customComponents?.RowLabel}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n pasteRow={pasteRow}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly || disabled}\n removeRow={removeRow}\n row={rowData}\n rowCount={rows?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && !readOnly && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\n disabled={disabled}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"names":["getTranslation","React","Fragment","useCallback","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","mergeFormStateFromClipboard","reduceFormStateByPath","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","mergeFieldStyles","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","field","name","type","admin","className","description","isSortable","fields","label","localized","maxRows","minRows","minRowsProp","required","forceRender","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","submitted","code","locale","i18n","t","config","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","singular","undefined","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","addRow","rowIndex","setTimeout","duplicateRow","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","formState","clipboardResult","getDataToCopy","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaFields","pasteField","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","styles","div","filter","Boolean","join","id","replace","style","CustomComponent","Fallback","header","h3","as","count","withMessage","ul","li","button","onClick","allowCopy","allowPaste","fieldValue","ids","map","row","onDragEnd","rowData","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","CustomRowLabel","RowLabel","errorCount","parentPath","rowCount","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Array/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ArrayFieldClientComponent,\n ArrayFieldClientProps,\n ArrayField as ArrayFieldType,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { ClipboardPasteData } from '../../elements/ClipboardAction/types.js'\n\nimport { Banner } from '../../elements/Banner/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { clipboardCopy, clipboardPaste } from '../../elements/ClipboardAction/clipboardUtilities.js'\nimport { ClipboardAction } from '../../elements/ClipboardAction/index.js'\nimport {\n mergeFormStateFromClipboard,\n reduceFormStateByPath,\n} from '../../elements/ClipboardAction/mergeFormStateFromClipboard.js'\nimport { DraggableSortableItem } from '../../elements/DraggableSortable/DraggableSortableItem/index.js'\nimport { DraggableSortable } from '../../elements/DraggableSortable/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm, useFormSubmitted } from '../../forms/Form/context.js'\nimport { extractRowsAndCollapsedIDs, toggleAllRows } from '../../forms/Form/rowHelpers.js'\nimport { NullifyLocaleField } from '../../forms/NullifyField/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 { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { scrollToID } from '../../utilities/scrollToID.js'\nimport { mergeFieldStyles } from '../mergeFieldStyles.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { ArrayRow } from './ArrayRow.js'\nimport './index.scss'\n\nconst baseClass = 'array-field'\n\nexport const ArrayFieldComponent: ArrayFieldClientComponent = (props) => {\n const {\n field,\n field: {\n name,\n type,\n admin: { className, description, isSortable = true } = {},\n fields,\n label,\n localized,\n maxRows,\n minRows: minRowsProp,\n required,\n },\n forceRender = false,\n path: pathFromProps,\n permissions,\n readOnly,\n schemaPath: schemaPathFromProps,\n validate,\n } = props\n\n const schemaPath = schemaPathFromProps ?? name\n\n const minRows = minRowsProp ?? (required ? 1 : 0)\n\n const { setDocFieldPreferences } = useDocumentInfo()\n const {\n addFieldRow,\n dispatchFields,\n getFields,\n moveFieldRow,\n removeFieldRow,\n replaceState,\n setModified,\n } = useForm()\n const submitted = useFormSubmitted()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const {\n config: { localization },\n } = useConfig()\n\n const editingDefaultLocale = (() => {\n if (localization && localization.fallback) {\n const defaultLocale = localization.defaultLocale\n return locale === defaultLocale\n }\n\n return true\n })()\n\n // Handle labeling for Arrays, Global Arrays, and Blocks\n const getLabels = (p: ArrayFieldClientProps): Partial<ArrayFieldType['labels']> => {\n if ('labels' in p && p?.labels) {\n return p.labels\n }\n\n if ('labels' in p.field && p.field.labels) {\n return { plural: p.field.labels?.plural, singular: p.field.labels?.singular }\n }\n\n if ('label' in p.field && p.field.label) {\n return { plural: undefined, singular: p.field.label }\n }\n\n return { plural: t('general:rows'), singular: t('general:row') }\n }\n\n const labels = getLabels(props)\n\n const memoizedValidate = useCallback(\n (value, options) => {\n // alternative locales can be null\n if (!editingDefaultLocale && value === null) {\n return true\n }\n\n if (typeof validate === 'function') {\n return validate(value, { ...options, maxRows, minRows, required })\n }\n },\n [maxRows, minRows, required, validate, editingDefaultLocale],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Error, Label } = {},\n disabled,\n errorPaths,\n path,\n rows = [],\n showError,\n valid,\n value,\n } = useField<number>({\n hasRows: true,\n potentiallyStalePath: pathFromProps,\n validate: memoizedValidate,\n })\n\n const addRow = useCallback(\n (rowIndex: number) => {\n addFieldRow({\n path,\n rowIndex,\n schemaPath,\n })\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [addFieldRow, path, schemaPath],\n )\n\n const duplicateRow = useCallback(\n (rowIndex: number) => {\n dispatchFields({ type: 'DUPLICATE_ROW', path, rowIndex })\n\n setModified(true)\n\n setTimeout(() => {\n scrollToID(`${path}-row-${rowIndex}`)\n }, 0)\n },\n [dispatchFields, path, setModified],\n )\n\n const removeRow = useCallback(\n (rowIndex: number) => {\n removeFieldRow({ path, rowIndex })\n },\n [removeFieldRow, path],\n )\n\n const moveRow = useCallback(\n (moveFromIndex: number, moveToIndex: number) => {\n moveFieldRow({\n moveFromIndex,\n moveToIndex,\n path,\n })\n },\n [path, moveFieldRow],\n )\n\n const toggleCollapseAll = useCallback(\n (collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = toggleAllRows({\n collapsed,\n rows,\n })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n dispatchFields({ type: 'SET_ALL_ROWS_COLLAPSED', path, updatedRows })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const setCollapse = useCallback(\n (rowID: string, collapsed: boolean) => {\n const { collapsedIDs, updatedRows } = extractRowsAndCollapsedIDs({\n collapsed,\n rowID,\n rows,\n })\n\n dispatchFields({ type: 'SET_ROW_COLLAPSED', path, updatedRows })\n setDocFieldPreferences(path, { collapsed: collapsedIDs })\n },\n [dispatchFields, path, rows, setDocFieldPreferences],\n )\n\n const copyRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const clipboardResult = clipboardCopy({\n type,\n fields,\n getDataToCopy: () =>\n reduceFormStateByPath({\n formState,\n path,\n rowIndex,\n }),\n path,\n rowIndex,\n t,\n })\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n } else {\n toast.success(t('general:copied'))\n }\n },\n [fields, getFields, path, t, type],\n )\n\n const pasteRow = useCallback(\n (rowIndex: number) => {\n const formState = { ...getFields() }\n const pasteArgs = {\n onPaste: (dataFromClipboard: ClipboardPasteData) => {\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n rowIndex,\n })\n replaceState(newState)\n setModified(true)\n },\n path,\n schemaFields: fields,\n t,\n }\n\n const clipboardResult = clipboardPaste(pasteArgs)\n\n if (typeof clipboardResult === 'string') {\n toast.error(clipboardResult)\n }\n },\n [fields, getFields, path, replaceState, setModified, t],\n )\n\n const pasteField = useCallback(\n (dataFromClipboard: ClipboardPasteData) => {\n const formState = { ...getFields() }\n const newState = mergeFormStateFromClipboard({\n dataFromClipboard,\n formState,\n path,\n })\n replaceState(newState)\n setModified(true)\n },\n [getFields, path, replaceState, setModified],\n )\n\n const getDataToCopy = useCallback(\n () =>\n reduceFormStateByPath({\n formState: { ...getFields() },\n path,\n }),\n [getFields, path],\n )\n\n const hasMaxRows = maxRows && rows.length >= maxRows\n\n const fieldErrorCount = errorPaths.length\n const fieldHasErrors = submitted && errorPaths.length > 0\n\n const showRequired = (readOnly || disabled) && rows.length === 0\n const showMinRows = (rows.length && rows.length < minRows) || (required && rows.length === 0)\n\n const styles = useMemo(() => mergeFieldStyles(field), [field])\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={styles}\n >\n {showError && (\n <RenderCustomComponent\n CustomComponent={Error}\n Fallback={<FieldError path={path} showError={showError} />}\n />\n )}\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h3 className={`${baseClass}__title`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={\n <FieldLabel\n as=\"span\"\n label={label}\n localized={localized}\n path={path}\n required={required}\n />\n }\n />\n </h3>\n {fieldHasErrors && fieldErrorCount > 0 && (\n <ErrorPill count={fieldErrorCount} i18n={i18n} withMessage />\n )}\n </div>\n <ul className={`${baseClass}__header-actions`}>\n {rows?.length > 0 && (\n <Fragment>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(true)}\n type=\"button\"\n >\n {t('fields:collapseAll')}\n </button>\n </li>\n <li>\n <button\n className={`${baseClass}__header-action`}\n onClick={() => toggleCollapseAll(false)}\n type=\"button\"\n >\n {t('fields:showAll')}\n </button>\n </li>\n </Fragment>\n )}\n <li>\n <ClipboardAction\n allowCopy={rows?.length > 0}\n allowPaste={!readOnly}\n className={`${baseClass}__header-action`}\n disabled={disabled}\n fields={fields}\n getDataToCopy={getDataToCopy}\n onPaste={pasteField}\n path={path}\n type={type}\n />\n </li>\n </ul>\n </div>\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={<FieldDescription description={description} path={path} />}\n />\n </header>\n <NullifyLocaleField\n fieldValue={value}\n localized={localized}\n path={path}\n readOnly={readOnly}\n />\n {BeforeInput}\n {(rows?.length > 0 || (!valid && (showRequired || showMinRows))) && (\n <DraggableSortable\n className={`${baseClass}__draggable-rows`}\n ids={rows.map((row) => row.id)}\n onDragEnd={({ moveFromIndex, moveToIndex }) => moveRow(moveFromIndex, moveToIndex)}\n >\n {rows.map((rowData, i) => {\n const { id: rowID, isLoading } = rowData\n\n const rowPath = `${path}.${i}`\n\n const rowErrorCount = errorPaths?.filter((errorPath) =>\n errorPath.startsWith(rowPath + '.'),\n ).length\n\n return (\n <DraggableSortableItem\n disabled={readOnly || disabled || !isSortable}\n id={rowID}\n key={rowID}\n >\n {(draggableSortableItemProps) => (\n <ArrayRow\n {...draggableSortableItemProps}\n addRow={addRow}\n copyRow={copyRow}\n CustomRowLabel={rows?.[i]?.customComponents?.RowLabel}\n duplicateRow={duplicateRow}\n errorCount={rowErrorCount}\n fields={fields}\n forceRender={forceRender}\n hasMaxRows={hasMaxRows}\n isLoading={isLoading}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n parentPath={path}\n pasteRow={pasteRow}\n path={rowPath}\n permissions={permissions}\n readOnly={readOnly || disabled}\n removeRow={removeRow}\n row={rowData}\n rowCount={rows?.length}\n rowIndex={i}\n schemaPath={schemaPath}\n setCollapse={setCollapse}\n />\n )}\n </DraggableSortableItem>\n )\n })}\n {!valid && (\n <React.Fragment>\n {showRequired && (\n <Banner>\n {t('validation:fieldHasNo', { label: getTranslation(labels.plural, i18n) })}\n </Banner>\n )}\n {showMinRows && (\n <Banner type=\"error\">\n {t('validation:requiresAtLeast', {\n count: minRows,\n label:\n getTranslation(minRows > 1 ? labels.plural : labels.singular, i18n) ||\n t(minRows > 1 ? 'general:rows' : 'general:row'),\n })}\n </Banner>\n )}\n </React.Fragment>\n )}\n </DraggableSortable>\n )}\n {!hasMaxRows && !readOnly && (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-row`}\n disabled={disabled}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n void addRow(value || 0)\n }}\n >\n {t('fields:addLabel', { label: getTranslation(labels.singular, i18n) })}\n </Button>\n )}\n {AfterInput}\n </div>\n )\n}\n\nexport const ArrayField = withCondition(ArrayFieldComponent)\n"],"names":["getTranslation","React","Fragment","useCallback","useMemo","toast","Banner","Button","clipboardCopy","clipboardPaste","ClipboardAction","mergeFormStateFromClipboard","reduceFormStateByPath","DraggableSortableItem","DraggableSortable","ErrorPill","RenderCustomComponent","FieldDescription","FieldError","FieldLabel","useForm","useFormSubmitted","extractRowsAndCollapsedIDs","toggleAllRows","NullifyLocaleField","useField","withCondition","useConfig","useDocumentInfo","useLocale","useTranslation","scrollToID","mergeFieldStyles","fieldBaseClass","ArrayRow","baseClass","ArrayFieldComponent","props","field","name","type","admin","className","description","isSortable","fields","label","localized","maxRows","minRows","minRowsProp","required","forceRender","path","pathFromProps","permissions","readOnly","schemaPath","schemaPathFromProps","validate","setDocFieldPreferences","addFieldRow","dispatchFields","getFields","moveFieldRow","removeFieldRow","replaceState","setModified","submitted","code","locale","i18n","t","config","localization","editingDefaultLocale","fallback","defaultLocale","getLabels","p","labels","plural","singular","undefined","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Error","Label","disabled","errorPaths","rows","showError","valid","hasRows","potentiallyStalePath","addRow","rowIndex","setTimeout","duplicateRow","removeRow","moveRow","moveFromIndex","moveToIndex","toggleCollapseAll","collapsed","collapsedIDs","updatedRows","setCollapse","rowID","copyRow","formState","clipboardResult","getDataToCopy","error","success","pasteRow","pasteArgs","onPaste","dataFromClipboard","newState","schemaFields","pasteField","hasMaxRows","length","fieldErrorCount","fieldHasErrors","showRequired","showMinRows","styles","div","filter","Boolean","join","id","replace","style","CustomComponent","Fallback","header","h3","as","count","withMessage","ul","li","button","onClick","allowCopy","allowPaste","fieldValue","ids","map","row","onDragEnd","rowData","i","isLoading","rowPath","rowErrorCount","errorPath","startsWith","draggableSortableItemProps","CustomRowLabel","RowLabel","errorCount","parentPath","rowCount","buttonStyle","icon","iconPosition","iconStyle","ArrayField"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
|
|
3
3
|
import { getTranslation } from '@payloadcms/translations';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { Collapsible } from '../../elements/Collapsible/index.js';
|
|
@@ -54,14 +54,14 @@ export const BlockRow = ({ addRow, attributes, block, blocks, copyRow, duplicate
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
return /*#__PURE__*/
|
|
57
|
+
return /*#__PURE__*/ _jsxDEV("div", {
|
|
58
58
|
id: `${parentPath?.split('.').join('-')}-row-${rowIndex}`,
|
|
59
59
|
ref: setNodeRef,
|
|
60
60
|
style: {
|
|
61
61
|
transform
|
|
62
62
|
},
|
|
63
|
-
children: /*#__PURE__*/
|
|
64
|
-
actions: !readOnly ? /*#__PURE__*/
|
|
63
|
+
children: /*#__PURE__*/ _jsxDEV(Collapsible, {
|
|
64
|
+
actions: !readOnly ? /*#__PURE__*/ _jsxDEV(RowActions, {
|
|
65
65
|
addRow: addRow,
|
|
66
66
|
blocks: blocks,
|
|
67
67
|
blockType: row.blockType,
|
|
@@ -76,7 +76,11 @@ export const BlockRow = ({ addRow, attributes, block, blocks, copyRow, duplicate
|
|
|
76
76
|
removeRow: removeRow,
|
|
77
77
|
rowCount: rowCount,
|
|
78
78
|
rowIndex: rowIndex
|
|
79
|
-
}
|
|
79
|
+
}, void 0, false, {
|
|
80
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
81
|
+
lineNumber: 145,
|
|
82
|
+
columnNumber: 13
|
|
83
|
+
}, void 0) : undefined,
|
|
80
84
|
className: classNames,
|
|
81
85
|
collapsibleStyle: fieldHasErrors ? 'error' : 'default',
|
|
82
86
|
dragHandleProps: isSortable ? {
|
|
@@ -84,45 +88,77 @@ export const BlockRow = ({ addRow, attributes, block, blocks, copyRow, duplicate
|
|
|
84
88
|
attributes,
|
|
85
89
|
listeners
|
|
86
90
|
} : undefined,
|
|
87
|
-
header: isLoading ? /*#__PURE__*/
|
|
91
|
+
header: isLoading ? /*#__PURE__*/ _jsxDEV(ShimmerEffect, {
|
|
88
92
|
height: "1rem",
|
|
89
93
|
width: "8rem"
|
|
90
|
-
}
|
|
94
|
+
}, void 0, false, {
|
|
95
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
96
|
+
lineNumber: 176,
|
|
97
|
+
columnNumber: 13
|
|
98
|
+
}, void 0) : /*#__PURE__*/ _jsxDEV("div", {
|
|
91
99
|
className: `${baseClass}__block-header`,
|
|
92
100
|
children: [
|
|
93
|
-
/*#__PURE__*/
|
|
101
|
+
/*#__PURE__*/ _jsxDEV(RowLabel, {
|
|
94
102
|
CustomComponent: Label,
|
|
95
|
-
label: /*#__PURE__*/
|
|
103
|
+
label: /*#__PURE__*/ _jsxDEV(_Fragment, {
|
|
96
104
|
children: [
|
|
97
|
-
/*#__PURE__*/
|
|
105
|
+
/*#__PURE__*/ _jsxDEV("span", {
|
|
98
106
|
className: `${baseClass}__block-number`,
|
|
99
107
|
children: String(rowIndex + 1).padStart(2, '0')
|
|
100
|
-
}
|
|
101
|
-
|
|
108
|
+
}, void 0, false, {
|
|
109
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
110
|
+
lineNumber: 183,
|
|
111
|
+
columnNumber: 21
|
|
112
|
+
}, void 0),
|
|
113
|
+
/*#__PURE__*/ _jsxDEV(Pill, {
|
|
102
114
|
className: `${baseClass}__block-pill ${baseClass}__block-pill-${row.blockType}`,
|
|
103
115
|
pillStyle: "white",
|
|
104
116
|
size: "small",
|
|
105
117
|
children: getTranslation(block.labels.singular, i18n)
|
|
106
|
-
}
|
|
107
|
-
|
|
118
|
+
}, void 0, false, {
|
|
119
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
120
|
+
lineNumber: 186,
|
|
121
|
+
columnNumber: 21
|
|
122
|
+
}, void 0),
|
|
123
|
+
showBlockName && /*#__PURE__*/ _jsxDEV(SectionTitle, {
|
|
108
124
|
path: `${path}.blockName`,
|
|
109
125
|
readOnly: readOnly
|
|
110
|
-
}
|
|
126
|
+
}, void 0, false, {
|
|
127
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
128
|
+
lineNumber: 194,
|
|
129
|
+
columnNumber: 23
|
|
130
|
+
}, void 0)
|
|
111
131
|
]
|
|
112
|
-
}),
|
|
132
|
+
}, void 0, true),
|
|
113
133
|
path: path,
|
|
114
134
|
rowNumber: rowIndex
|
|
115
|
-
}
|
|
116
|
-
|
|
135
|
+
}, void 0, false, {
|
|
136
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
137
|
+
lineNumber: 179,
|
|
138
|
+
columnNumber: 15
|
|
139
|
+
}, void 0),
|
|
140
|
+
fieldHasErrors && /*#__PURE__*/ _jsxDEV(ErrorPill, {
|
|
117
141
|
count: errorCount,
|
|
118
142
|
i18n: i18n,
|
|
119
143
|
withMessage: true
|
|
120
|
-
}
|
|
144
|
+
}, void 0, false, {
|
|
145
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
146
|
+
lineNumber: 201,
|
|
147
|
+
columnNumber: 34
|
|
148
|
+
}, void 0)
|
|
121
149
|
]
|
|
122
|
-
}
|
|
150
|
+
}, void 0, true, {
|
|
151
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
152
|
+
lineNumber: 178,
|
|
153
|
+
columnNumber: 13
|
|
154
|
+
}, void 0),
|
|
123
155
|
isCollapsed: row.collapsed,
|
|
124
156
|
onToggle: (collapsed)=>setCollapse(row.id, collapsed),
|
|
125
|
-
children: isLoading ? /*#__PURE__*/
|
|
157
|
+
children: isLoading ? /*#__PURE__*/ _jsxDEV(ShimmerEffect, {}, void 0, false, {
|
|
158
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
159
|
+
lineNumber: 210,
|
|
160
|
+
columnNumber: 11
|
|
161
|
+
}, this) : /*#__PURE__*/ _jsxDEV(RenderFields, {
|
|
126
162
|
className: `${baseClass}__fields`,
|
|
127
163
|
fields: fields,
|
|
128
164
|
margins: "small",
|
|
@@ -131,9 +167,21 @@ export const BlockRow = ({ addRow, attributes, block, blocks, copyRow, duplicate
|
|
|
131
167
|
parentSchemaPath: schemaPath,
|
|
132
168
|
permissions: blockPermissions,
|
|
133
169
|
readOnly: readOnly
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
170
|
+
}, void 0, false, {
|
|
171
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
172
|
+
lineNumber: 212,
|
|
173
|
+
columnNumber: 11
|
|
174
|
+
}, this)
|
|
175
|
+
}, row.id, false, {
|
|
176
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
177
|
+
lineNumber: 142,
|
|
178
|
+
columnNumber: 7
|
|
179
|
+
}, this)
|
|
180
|
+
}, `${parentPath}-row-${rowIndex}`, false, {
|
|
181
|
+
fileName: "src/fields/Blocks/BlockRow.tsx",
|
|
182
|
+
lineNumber: 134,
|
|
183
|
+
columnNumber: 5
|
|
184
|
+
}, this);
|
|
137
185
|
};
|
|
138
186
|
|
|
139
187
|
//# sourceMappingURL=BlockRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type { ClientBlock, ClientField, Labels, Row, SanitizedFieldPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\nimport type { RenderFieldsProps } from '../../forms/RenderFields/types.js'\n\nimport { Collapsible } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useThrottledValue } from '../../hooks/useThrottledValue.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { RowActions } from './RowActions.js'\nimport { SectionTitle } from './SectionTitle/index.js'\n\nconst baseClass = 'blocks-field'\n\ntype BlocksFieldProps = {\n addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n block: ClientBlock\n blocks: (ClientBlock | string)[] | ClientBlock[]\n copyRow: (rowIndex: number) => void\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n fields: ClientField[]\n hasMaxRows?: boolean\n isLoading?: boolean\n isSortable?: boolean\n Label?: React.ReactNode\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n parentPath: string\n pasteRow: (rowIndex: number) => void\n path: string\n permissions: SanitizedFieldPermissions\n readOnly: boolean\n removeRow: (rowIndex: number) => void\n row: Row\n rowCount: number\n rowIndex: number\n schemaPath: string\n setCollapse: (id: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const BlockRow: React.FC<BlocksFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n copyRow,\n duplicateRow,\n errorCount,\n fields,\n hasMaxRows,\n isLoading: isLoadingFromProps,\n isSortable,\n Label,\n labels,\n listeners,\n moveRow,\n parentPath,\n pasteRow,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n}) => {\n const isLoading = useThrottledValue(isLoadingFromProps, 500)\n\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const showBlockName = !block.admin?.disableBlockName\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let blockPermissions: RenderFieldsProps['permissions'] = true\n\n if (permissions === true) {\n blockPermissions = true\n } else {\n const permissionsBlockSpecific = permissions?.blocks?.[block.slug] || permissions?.blocks\n if (permissionsBlockSpecific === true) {\n blockPermissions = true\n } else if (permissionsBlockSpecific?.fields) {\n blockPermissions = permissionsBlockSpecific.fields\n } else {\n // Check if we should fall back to read-only mode based on permission structure\n // This handles cases where field-level access control exists but block permissions were sanitized\n if (typeof permissions === 'object' && permissions && !permissionsBlockSpecific) {\n // If permissions object exists but has no block-specific permissions,\n // check if it has any restrictive characteristics\n const hasReadPermission = permissions.read === true\n const missingCreateOrUpdate = !permissions.create || !permissions.update\n const hasRestrictiveStructure =\n hasReadPermission &&\n (missingCreateOrUpdate ||\n (typeof permissions === 'object' &&\n Object.keys(permissions).length === 1 &&\n permissions.read))\n\n if (hasRestrictiveStructure) {\n blockPermissions = { read: true }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n }\n }\n\n return (\n <div\n id={`${parentPath?.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${rowIndex}`}\n ref={setNodeRef}\n style={{\n transform,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <RowActions\n addRow={addRow}\n blocks={blocks}\n blockType={row.blockType}\n copyRow={copyRow}\n duplicateRow={duplicateRow}\n fields={block.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n pasteRow={pasteRow}\n removeRow={removeRow}\n rowCount={rowCount}\n rowIndex={rowIndex}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={\n isSortable\n ? {\n id: row.id,\n attributes,\n listeners,\n }\n : undefined\n }\n header={\n isLoading ? (\n <ShimmerEffect height=\"1rem\" width=\"8rem\" />\n ) : (\n <div className={`${baseClass}__block-header`}>\n <RowLabel\n CustomComponent={Label}\n label={\n <>\n <span className={`${baseClass}__block-number`}>\n {String(rowIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${row.blockType}`}\n pillStyle=\"white\"\n size=\"small\"\n >\n {getTranslation(block.labels.singular, i18n)}\n </Pill>\n {showBlockName && (\n <SectionTitle path={`${path}.blockName`} readOnly={readOnly} />\n )}\n </>\n }\n path={path}\n rowNumber={rowIndex}\n />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n )\n }\n isCollapsed={row.collapsed}\n key={row.id}\n onToggle={(collapsed) => setCollapse(row.id, collapsed)}\n >\n {isLoading ? (\n <ShimmerEffect />\n ) : (\n <RenderFields\n className={`${baseClass}__fields`}\n fields={fields}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={blockPermissions}\n readOnly={readOnly}\n />\n )}\n </Collapsible>\n </div>\n )\n}\n"],"names":["getTranslation","React","Collapsible","ErrorPill","Pill","ShimmerEffect","useFormSubmitted","RenderFields","RowLabel","useThrottledValue","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","addRow","attributes","block","blocks","copyRow","duplicateRow","errorCount","fields","hasMaxRows","isLoading","isLoadingFromProps","isSortable","Label","labels","listeners","moveRow","parentPath","pasteRow","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fieldHasErrors","showBlockName","admin","disableBlockName","classNames","filter","Boolean","join","blockPermissions","permissionsBlockSpecific","slug","hasReadPermission","read","missingCreateOrUpdate","create","update","hasRestrictiveStructure","Object","keys","length","div","id","split","ref","style","actions","blockType","undefined","className","collapsibleStyle","dragHandleProps","header","height","width","CustomComponent","label","span","String","padStart","pillStyle","size","singular","rowNumber","count","withMessage","isCollapsed","collapsed","onToggle","margins","parentIndexPath","parentSchemaPath"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/fields/Blocks/BlockRow.tsx"],"sourcesContent":["'use client'\nimport type { ClientBlock, ClientField, Labels, Row, SanitizedFieldPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UseDraggableSortableReturn } from '../../elements/DraggableSortable/useDraggableSortable/types.js'\nimport type { RenderFieldsProps } from '../../forms/RenderFields/types.js'\n\nimport { Collapsible } from '../../elements/Collapsible/index.js'\nimport { ErrorPill } from '../../elements/ErrorPill/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useFormSubmitted } from '../../forms/Form/context.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { RowLabel } from '../../forms/RowLabel/index.js'\nimport { useThrottledValue } from '../../hooks/useThrottledValue.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { RowActions } from './RowActions.js'\nimport { SectionTitle } from './SectionTitle/index.js'\n\nconst baseClass = 'blocks-field'\n\ntype BlocksFieldProps = {\n addRow: (rowIndex: number, blockType: string) => Promise<void> | void\n block: ClientBlock\n blocks: (ClientBlock | string)[] | ClientBlock[]\n copyRow: (rowIndex: number) => void\n duplicateRow: (rowIndex: number) => void\n errorCount: number\n fields: ClientField[]\n hasMaxRows?: boolean\n isLoading?: boolean\n isSortable?: boolean\n Label?: React.ReactNode\n labels: Labels\n moveRow: (fromIndex: number, toIndex: number) => void\n parentPath: string\n pasteRow: (rowIndex: number) => void\n path: string\n permissions: SanitizedFieldPermissions\n readOnly: boolean\n removeRow: (rowIndex: number) => void\n row: Row\n rowCount: number\n rowIndex: number\n schemaPath: string\n setCollapse: (id: string, collapsed: boolean) => void\n} & UseDraggableSortableReturn\n\nexport const BlockRow: React.FC<BlocksFieldProps> = ({\n addRow,\n attributes,\n block,\n blocks,\n copyRow,\n duplicateRow,\n errorCount,\n fields,\n hasMaxRows,\n isLoading: isLoadingFromProps,\n isSortable,\n Label,\n labels,\n listeners,\n moveRow,\n parentPath,\n pasteRow,\n path,\n permissions,\n readOnly,\n removeRow,\n row,\n rowCount,\n rowIndex,\n schemaPath,\n setCollapse,\n setNodeRef,\n transform,\n}) => {\n const isLoading = useThrottledValue(isLoadingFromProps, 500)\n\n const { i18n } = useTranslation()\n const hasSubmitted = useFormSubmitted()\n\n const fieldHasErrors = hasSubmitted && errorCount > 0\n\n const showBlockName = !block.admin?.disableBlockName\n\n const classNames = [\n `${baseClass}__row`,\n fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let blockPermissions: RenderFieldsProps['permissions'] = true\n\n if (permissions === true) {\n blockPermissions = true\n } else {\n const permissionsBlockSpecific = permissions?.blocks?.[block.slug] || permissions?.blocks\n if (permissionsBlockSpecific === true) {\n blockPermissions = true\n } else if (permissionsBlockSpecific?.fields) {\n blockPermissions = permissionsBlockSpecific.fields\n } else {\n // Check if we should fall back to read-only mode based on permission structure\n // This handles cases where field-level access control exists but block permissions were sanitized\n if (typeof permissions === 'object' && permissions && !permissionsBlockSpecific) {\n // If permissions object exists but has no block-specific permissions,\n // check if it has any restrictive characteristics\n const hasReadPermission = permissions.read === true\n const missingCreateOrUpdate = !permissions.create || !permissions.update\n const hasRestrictiveStructure =\n hasReadPermission &&\n (missingCreateOrUpdate ||\n (typeof permissions === 'object' &&\n Object.keys(permissions).length === 1 &&\n permissions.read))\n\n if (hasRestrictiveStructure) {\n blockPermissions = { read: true }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n } else {\n blockPermissions = permissionsBlockSpecific?.fields\n }\n }\n }\n\n return (\n <div\n id={`${parentPath?.split('.').join('-')}-row-${rowIndex}`}\n key={`${parentPath}-row-${rowIndex}`}\n ref={setNodeRef}\n style={{\n transform,\n }}\n >\n <Collapsible\n actions={\n !readOnly ? (\n <RowActions\n addRow={addRow}\n blocks={blocks}\n blockType={row.blockType}\n copyRow={copyRow}\n duplicateRow={duplicateRow}\n fields={block.fields}\n hasMaxRows={hasMaxRows}\n isSortable={isSortable}\n labels={labels}\n moveRow={moveRow}\n pasteRow={pasteRow}\n removeRow={removeRow}\n rowCount={rowCount}\n rowIndex={rowIndex}\n />\n ) : undefined\n }\n className={classNames}\n collapsibleStyle={fieldHasErrors ? 'error' : 'default'}\n dragHandleProps={\n isSortable\n ? {\n id: row.id,\n attributes,\n listeners,\n }\n : undefined\n }\n header={\n isLoading ? (\n <ShimmerEffect height=\"1rem\" width=\"8rem\" />\n ) : (\n <div className={`${baseClass}__block-header`}>\n <RowLabel\n CustomComponent={Label}\n label={\n <>\n <span className={`${baseClass}__block-number`}>\n {String(rowIndex + 1).padStart(2, '0')}\n </span>\n <Pill\n className={`${baseClass}__block-pill ${baseClass}__block-pill-${row.blockType}`}\n pillStyle=\"white\"\n size=\"small\"\n >\n {getTranslation(block.labels.singular, i18n)}\n </Pill>\n {showBlockName && (\n <SectionTitle path={`${path}.blockName`} readOnly={readOnly} />\n )}\n </>\n }\n path={path}\n rowNumber={rowIndex}\n />\n {fieldHasErrors && <ErrorPill count={errorCount} i18n={i18n} withMessage />}\n </div>\n )\n }\n isCollapsed={row.collapsed}\n key={row.id}\n onToggle={(collapsed) => setCollapse(row.id, collapsed)}\n >\n {isLoading ? (\n <ShimmerEffect />\n ) : (\n <RenderFields\n className={`${baseClass}__fields`}\n fields={fields}\n margins=\"small\"\n parentIndexPath=\"\"\n parentPath={path}\n parentSchemaPath={schemaPath}\n permissions={blockPermissions}\n readOnly={readOnly}\n />\n )}\n </Collapsible>\n </div>\n )\n}\n"],"names":["getTranslation","React","Collapsible","ErrorPill","Pill","ShimmerEffect","useFormSubmitted","RenderFields","RowLabel","useThrottledValue","useTranslation","RowActions","SectionTitle","baseClass","BlockRow","addRow","attributes","block","blocks","copyRow","duplicateRow","errorCount","fields","hasMaxRows","isLoading","isLoadingFromProps","isSortable","Label","labels","listeners","moveRow","parentPath","pasteRow","path","permissions","readOnly","removeRow","row","rowCount","rowIndex","schemaPath","setCollapse","setNodeRef","transform","i18n","hasSubmitted","fieldHasErrors","showBlockName","admin","disableBlockName","classNames","filter","Boolean","join","blockPermissions","permissionsBlockSpecific","slug","hasReadPermission","read","missingCreateOrUpdate","create","update","hasRestrictiveStructure","Object","keys","length","div","id","split","ref","style","actions","blockType","undefined","className","collapsibleStyle","dragHandleProps","header","height","width","CustomComponent","label","span","String","padStart","pillStyle","size","singular","rowNumber","count","withMessage","isCollapsed","collapsed","onToggle","margins","parentIndexPath","parentSchemaPath"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { SearchIcon } from '../../../../icons/Search/index.js';
|
|
5
5
|
import { useTranslation } from '../../../../providers/Translation/index.js';
|
|
@@ -11,17 +11,29 @@ export const BlockSearch = (props)=>{
|
|
|
11
11
|
const handleChange = (e)=>{
|
|
12
12
|
setSearchTerm(e.target.value);
|
|
13
13
|
};
|
|
14
|
-
return /*#__PURE__*/
|
|
14
|
+
return /*#__PURE__*/ _jsxDEV("div", {
|
|
15
15
|
className: baseClass,
|
|
16
16
|
children: [
|
|
17
|
-
/*#__PURE__*/
|
|
17
|
+
/*#__PURE__*/ _jsxDEV("input", {
|
|
18
18
|
className: `${baseClass}__input`,
|
|
19
19
|
onChange: handleChange,
|
|
20
20
|
placeholder: t('fields:searchForBlock')
|
|
21
|
-
}
|
|
22
|
-
|
|
21
|
+
}, void 0, false, {
|
|
22
|
+
fileName: "src/fields/Blocks/BlockSelector/BlockSearch/index.tsx",
|
|
23
|
+
lineNumber: 20,
|
|
24
|
+
columnNumber: 7
|
|
25
|
+
}, this),
|
|
26
|
+
/*#__PURE__*/ _jsxDEV(SearchIcon, {}, void 0, false, {
|
|
27
|
+
fileName: "src/fields/Blocks/BlockSelector/BlockSearch/index.tsx",
|
|
28
|
+
lineNumber: 25,
|
|
29
|
+
columnNumber: 7
|
|
30
|
+
}, this)
|
|
23
31
|
]
|
|
24
|
-
}
|
|
32
|
+
}, void 0, true, {
|
|
33
|
+
fileName: "src/fields/Blocks/BlockSelector/BlockSearch/index.tsx",
|
|
34
|
+
lineNumber: 19,
|
|
35
|
+
columnNumber: 5
|
|
36
|
+
}, this);
|
|
25
37
|
};
|
|
26
38
|
|
|
27
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/fields/Blocks/BlockSelector/BlockSearch/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { SearchIcon } from '../../../../icons/Search/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'block-search'\n\nexport const BlockSearch: React.FC<{ setSearchTerm: (term: string) => void }> = (props) => {\n const { setSearchTerm } = props\n const { t } = useTranslation()\n\n const handleChange = (e) => {\n setSearchTerm(e.target.value)\n }\n\n return (\n <div className={baseClass}>\n <input\n className={`${baseClass}__input`}\n onChange={handleChange}\n placeholder={t('fields:searchForBlock')}\n />\n <SearchIcon />\n </div>\n )\n}\n"],"names":["React","SearchIcon","useTranslation","baseClass","BlockSearch","props","setSearchTerm","t","handleChange","e","target","value","div","className","input","onChange","placeholder"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,oCAAmC;AAC9D,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAmE,CAACC;IAC/E,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,CAAC,EAAE,GAAGL;IAEd,MAAMM,eAAe,CAACC;QACpBH,cAAcG,EAAEC,MAAM,CAACC,KAAK;IAC9B;IAEA,qBACE,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/fields/Blocks/BlockSelector/BlockSearch/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { SearchIcon } from '../../../../icons/Search/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'block-search'\n\nexport const BlockSearch: React.FC<{ setSearchTerm: (term: string) => void }> = (props) => {\n const { setSearchTerm } = props\n const { t } = useTranslation()\n\n const handleChange = (e) => {\n setSearchTerm(e.target.value)\n }\n\n return (\n <div className={baseClass}>\n <input\n className={`${baseClass}__input`}\n onChange={handleChange}\n placeholder={t('fields:searchForBlock')}\n />\n <SearchIcon />\n </div>\n )\n}\n"],"names":["React","SearchIcon","useTranslation","baseClass","BlockSearch","props","setSearchTerm","t","handleChange","e","target","value","div","className","input","onChange","placeholder"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,oCAAmC;AAC9D,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAmE,CAACC;IAC/E,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,CAAC,EAAE,GAAGL;IAEd,MAAMM,eAAe,CAACC;QACpBH,cAAcG,EAAEC,MAAM,CAACC,KAAK;IAC9B;IAEA,qBACE,QAACC;QAAIC,WAAWV;;0BACd,QAACW;gBACCD,WAAW,GAAGV,UAAU,OAAO,CAAC;gBAChCY,UAAUP;gBACVQ,aAAaT,EAAE;;;;;;0BAEjB,QAACN;;;;;;;;;;;AAGP,EAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
3
|
import { getTranslation } from '@payloadcms/translations';
|
|
4
4
|
import React, { Fragment, useEffect, useMemo, useState } from 'react';
|
|
5
5
|
import { ThumbnailCard } from '../../../elements/ThumbnailCard/index.js';
|
|
@@ -68,33 +68,41 @@ export const BlockSelector = (props)=>{
|
|
|
68
68
|
i18n,
|
|
69
69
|
config.blocksMap
|
|
70
70
|
]);
|
|
71
|
-
return /*#__PURE__*/
|
|
71
|
+
return /*#__PURE__*/ _jsxDEV(Fragment, {
|
|
72
72
|
children: [
|
|
73
|
-
/*#__PURE__*/
|
|
73
|
+
/*#__PURE__*/ _jsxDEV(BlockSearch, {
|
|
74
74
|
setSearchTerm: setSearchTerm
|
|
75
|
-
}
|
|
76
|
-
|
|
75
|
+
}, void 0, false, {
|
|
76
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
77
|
+
lineNumber: 86,
|
|
78
|
+
columnNumber: 7
|
|
79
|
+
}, this),
|
|
80
|
+
/*#__PURE__*/ _jsxDEV("div", {
|
|
77
81
|
className: `${baseClass}__blocks-wrapper`,
|
|
78
|
-
children: /*#__PURE__*/
|
|
82
|
+
children: /*#__PURE__*/ _jsxDEV("ul", {
|
|
79
83
|
className: `${baseClass}__block-groups`,
|
|
80
|
-
children: Object.entries(blockGroups).map(([groupLabel, groupBlocks])=>!groupBlocks.length ? null : /*#__PURE__*/
|
|
84
|
+
children: Object.entries(blockGroups).map(([groupLabel, groupBlocks])=>!groupBlocks.length ? null : /*#__PURE__*/ _jsxDEV("li", {
|
|
81
85
|
className: [
|
|
82
86
|
`${baseClass}__block-group`,
|
|
83
87
|
groupLabel === '_none' && `${baseClass}__block-group-none`
|
|
84
88
|
].filter(Boolean).join(' '),
|
|
85
89
|
children: [
|
|
86
|
-
groupLabel !== '_none' && /*#__PURE__*/
|
|
90
|
+
groupLabel !== '_none' && /*#__PURE__*/ _jsxDEV("h3", {
|
|
87
91
|
className: `${baseClass}__block-group-label`,
|
|
88
92
|
children: groupLabel
|
|
89
|
-
}
|
|
90
|
-
|
|
93
|
+
}, void 0, false, {
|
|
94
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
95
|
+
lineNumber: 101,
|
|
96
|
+
columnNumber: 19
|
|
97
|
+
}, this),
|
|
98
|
+
/*#__PURE__*/ _jsxDEV("ul", {
|
|
91
99
|
className: `${baseClass}__blocks`,
|
|
92
100
|
children: groupBlocks.map((_block, index)=>{
|
|
93
101
|
const block = typeof _block === 'string' ? config.blocksMap[_block] : _block;
|
|
94
102
|
const { slug, imageAltText, imageURL, labels: blockLabels } = block;
|
|
95
|
-
return /*#__PURE__*/
|
|
103
|
+
return /*#__PURE__*/ _jsxDEV("li", {
|
|
96
104
|
className: `${baseClass}__block`,
|
|
97
|
-
children: /*#__PURE__*/
|
|
105
|
+
children: /*#__PURE__*/ _jsxDEV(ThumbnailCard, {
|
|
98
106
|
alignLabel: "center",
|
|
99
107
|
label: getTranslation(blockLabels?.singular, i18n),
|
|
100
108
|
onClick: ()=>{
|
|
@@ -102,23 +110,63 @@ export const BlockSelector = (props)=>{
|
|
|
102
110
|
onSelect(slug);
|
|
103
111
|
}
|
|
104
112
|
},
|
|
105
|
-
thumbnail: /*#__PURE__*/
|
|
113
|
+
thumbnail: /*#__PURE__*/ _jsxDEV("div", {
|
|
106
114
|
className: `${baseClass}__default-image`,
|
|
107
|
-
children: imageURL ? /*#__PURE__*/
|
|
115
|
+
children: imageURL ? /*#__PURE__*/ _jsxDEV("img", {
|
|
108
116
|
alt: imageAltText,
|
|
109
117
|
src: imageURL
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
118
|
+
}, void 0, false, {
|
|
119
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
120
|
+
lineNumber: 122,
|
|
121
|
+
columnNumber: 33
|
|
122
|
+
}, void 0) : /*#__PURE__*/ _jsxDEV(DefaultBlockImage, {}, void 0, false, {
|
|
123
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
124
|
+
lineNumber: 124,
|
|
125
|
+
columnNumber: 33
|
|
126
|
+
}, void 0)
|
|
127
|
+
}, void 0, false, {
|
|
128
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
129
|
+
lineNumber: 120,
|
|
130
|
+
columnNumber: 29
|
|
131
|
+
}, void 0)
|
|
132
|
+
}, void 0, false, {
|
|
133
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
134
|
+
lineNumber: 111,
|
|
135
|
+
columnNumber: 25
|
|
136
|
+
}, this)
|
|
137
|
+
}, index, false, {
|
|
138
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
139
|
+
lineNumber: 110,
|
|
140
|
+
columnNumber: 23
|
|
141
|
+
}, this);
|
|
114
142
|
})
|
|
115
|
-
}
|
|
143
|
+
}, void 0, false, {
|
|
144
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
145
|
+
lineNumber: 103,
|
|
146
|
+
columnNumber: 17
|
|
147
|
+
}, this)
|
|
116
148
|
]
|
|
117
|
-
}, groupLabel
|
|
118
|
-
|
|
119
|
-
|
|
149
|
+
}, groupLabel, true, {
|
|
150
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
151
|
+
lineNumber: 91,
|
|
152
|
+
columnNumber: 15
|
|
153
|
+
}, this))
|
|
154
|
+
}, void 0, false, {
|
|
155
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
156
|
+
lineNumber: 88,
|
|
157
|
+
columnNumber: 9
|
|
158
|
+
}, this)
|
|
159
|
+
}, void 0, false, {
|
|
160
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
161
|
+
lineNumber: 87,
|
|
162
|
+
columnNumber: 7
|
|
163
|
+
}, this)
|
|
120
164
|
]
|
|
121
|
-
}
|
|
165
|
+
}, void 0, true, {
|
|
166
|
+
fileName: "src/fields/Blocks/BlockSelector/index.tsx",
|
|
167
|
+
lineNumber: 85,
|
|
168
|
+
columnNumber: 5
|
|
169
|
+
}, this);
|
|
122
170
|
};
|
|
123
171
|
|
|
124
172
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/fields/Blocks/BlockSelector/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientBlock } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect, useMemo, useState } from 'react'\n\nimport { ThumbnailCard } from '../../../elements/ThumbnailCard/index.js'\nimport { DefaultBlockImage } from '../../../graphics/DefaultBlockImage/index.js'\nimport { useControllableState } from '../../../hooks/useControllableState.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { BlockSearch } from './BlockSearch/index.js'\nimport './index.scss'\n\nexport type Props = {\n readonly blocks: (ClientBlock | string)[]\n readonly onSelect?: (blockType: string) => void\n /**\n * Control the search term state externally\n */\n searchTerm?: string\n}\n\nconst baseClass = 'blocks-drawer'\n\nconst getBlockLabel = (block: ClientBlock, i18n: I18nClient) => {\n if (typeof block.labels.singular === 'string') {\n return block.labels.singular.toLowerCase()\n }\n if (typeof block.labels.singular === 'object') {\n return getTranslation(block.labels.singular, i18n).toLowerCase()\n }\n return ''\n}\n\nexport const BlockSelector: React.FC<Props> = (props) => {\n const { blocks, onSelect, searchTerm: searchTermFromProps } = props\n\n const [searchTerm, setSearchTerm] = useControllableState(searchTermFromProps ?? '')\n\n const [filteredBlocks, setFilteredBlocks] = useState(blocks)\n const { i18n } = useTranslation()\n const { config } = useConfig()\n\n const blockGroups = useMemo(() => {\n const groups: Record<string, (ClientBlock | string)[]> = {\n _none: [],\n }\n\n filteredBlocks.forEach((block) => {\n if (typeof block === 'object' && block.admin?.group) {\n const group = block.admin.group\n const label = typeof group === 'string' ? group : getTranslation(group, i18n)\n\n if (Object.hasOwn(groups, label)) {\n groups[label].push(block)\n } else {\n groups[label] = [block]\n }\n } else {\n groups._none.push(block)\n }\n })\n\n return groups\n }, [filteredBlocks, i18n])\n\n useEffect(() => {\n const searchTermToUse = searchTerm.toLowerCase()\n\n const matchingBlocks = blocks?.reduce((matchedBlocks, _block) => {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n const blockLabel = getBlockLabel(block, i18n)\n if (blockLabel.includes(searchTermToUse)) {\n matchedBlocks.push(block)\n }\n return matchedBlocks\n }, [])\n\n setFilteredBlocks(matchingBlocks)\n }, [searchTerm, blocks, i18n, config.blocksMap])\n\n return (\n <Fragment>\n <BlockSearch setSearchTerm={setSearchTerm} />\n <div className={`${baseClass}__blocks-wrapper`}>\n <ul className={`${baseClass}__block-groups`}>\n {Object.entries(blockGroups).map(([groupLabel, groupBlocks]) =>\n !groupBlocks.length ? null : (\n <li\n className={[\n `${baseClass}__block-group`,\n groupLabel === '_none' && `${baseClass}__block-group-none`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={groupLabel}\n >\n {groupLabel !== '_none' && (\n <h3 className={`${baseClass}__block-group-label`}>{groupLabel}</h3>\n )}\n <ul className={`${baseClass}__blocks`}>\n {groupBlocks.map((_block, index) => {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n\n const { slug, imageAltText, imageURL, labels: blockLabels } = block\n\n return (\n <li className={`${baseClass}__block`} key={index}>\n <ThumbnailCard\n alignLabel=\"center\"\n label={getTranslation(blockLabels?.singular, i18n)}\n onClick={() => {\n if (typeof onSelect === 'function') {\n onSelect(slug)\n }\n }}\n thumbnail={\n <div className={`${baseClass}__default-image`}>\n {imageURL ? (\n <img alt={imageAltText} src={imageURL} />\n ) : (\n <DefaultBlockImage />\n )}\n </div>\n }\n />\n </li>\n )\n })}\n </ul>\n </li>\n ),\n )}\n </ul>\n </div>\n </Fragment>\n )\n}\n"],"names":["getTranslation","React","Fragment","useEffect","useMemo","useState","ThumbnailCard","DefaultBlockImage","useControllableState","useConfig","useTranslation","BlockSearch","baseClass","getBlockLabel","block","i18n","labels","singular","toLowerCase","BlockSelector","props","blocks","onSelect","searchTerm","searchTermFromProps","setSearchTerm","filteredBlocks","setFilteredBlocks","config","blockGroups","groups","_none","forEach","admin","group","label","Object","hasOwn","push","searchTermToUse","matchingBlocks","reduce","matchedBlocks","_block","blocksMap","blockLabel","includes","div","className","ul","entries","map","groupLabel","groupBlocks","length","li","filter","Boolean","join","h3","index","slug","imageAltText","imageURL","blockLabels","alignLabel","onClick","thumbnail","img","alt","src"],"mappings":"AAAA;;AAIA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,QAAO;AAErE,SAASC,aAAa,QAAQ,2CAA0C;AACxE,SAASC,iBAAiB,QAAQ,+CAA8C;AAChF,SAASC,oBAAoB,QAAQ,yCAAwC;AAC7E,SAASC,SAAS,QAAQ,qCAAoC;AAC9D,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,WAAW,QAAQ,yBAAwB;AACpD,OAAO,eAAc;AAKnB;;GAEC,GAIH,MAAMC,YAAY;AAElB,MAAMC,gBAAgB,CAACC,OAAoBC;IACzC,IAAI,OAAOD,MAAME,MAAM,CAACC,QAAQ,KAAK,UAAU;QAC7C,OAAOH,MAAME,MAAM,CAACC,QAAQ,CAACC,WAAW;IAC1C;IACA,IAAI,OAAOJ,MAAME,MAAM,CAACC,QAAQ,KAAK,UAAU;QAC7C,OAAOjB,eAAec,MAAME,MAAM,CAACC,QAAQ,EAAEF,MAAMG,WAAW;IAChE;IACA,OAAO;AACT;AAEA,OAAO,MAAMC,gBAAiC,CAACC;IAC7C,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,YAAYC,mBAAmB,EAAE,GAAGJ;IAE9D,MAAM,CAACG,YAAYE,cAAc,GAAGjB,qBAAqBgB,uBAAuB;IAEhF,MAAM,CAACE,gBAAgBC,kBAAkB,GAAGtB,SAASgB;IACrD,MAAM,EAAEN,IAAI,EAAE,GAAGL;IACjB,MAAM,EAAEkB,MAAM,EAAE,GAAGnB;IAEnB,MAAMoB,cAAczB,QAAQ;QAC1B,MAAM0B,SAAmD;YACvDC,OAAO,EAAE;QACX;QAEAL,eAAeM,OAAO,CAAC,CAAClB;YACtB,IAAI,OAAOA,UAAU,YAAYA,MAAMmB,KAAK,EAAEC,OAAO;gBACnD,MAAMA,QAAQpB,MAAMmB,KAAK,CAACC,KAAK;gBAC/B,MAAMC,QAAQ,OAAOD,UAAU,WAAWA,QAAQlC,eAAekC,OAAOnB;gBAExE,IAAIqB,OAAOC,MAAM,CAACP,QAAQK,QAAQ;oBAChCL,MAAM,CAACK,MAAM,CAACG,IAAI,CAACxB;gBACrB,OAAO;oBACLgB,MAAM,CAACK,MAAM,GAAG;wBAACrB;qBAAM;gBACzB;YACF,OAAO;gBACLgB,OAAOC,KAAK,CAACO,IAAI,CAACxB;YACpB;QACF;QAEA,OAAOgB;IACT,GAAG;QAACJ;QAAgBX;KAAK;IAEzBZ,UAAU;QACR,MAAMoC,kBAAkBhB,WAAWL,WAAW;QAE9C,MAAMsB,iBAAiBnB,QAAQoB,OAAO,CAACC,eAAeC;YACpD,MAAM7B,QAAQ,OAAO6B,WAAW,WAAWf,OAAOgB,SAAS,CAACD,OAAO,GAAGA;YACtE,MAAME,aAAahC,cAAcC,OAAOC;YACxC,IAAI8B,WAAWC,QAAQ,CAACP,kBAAkB;gBACxCG,cAAcJ,IAAI,CAACxB;YACrB;YACA,OAAO4B;QACT,GAAG,EAAE;QAELf,kBAAkBa;IACpB,GAAG;QAACjB;QAAYF;QAAQN;QAAMa,OAAOgB,SAAS;KAAC;IAE/C,qBACE,
|
|
1
|
+
{"version":3,"sources":["../../../../src/fields/Blocks/BlockSelector/index.tsx"],"sourcesContent":["'use client'\nimport type { I18nClient } from '@payloadcms/translations'\nimport type { ClientBlock } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { Fragment, useEffect, useMemo, useState } from 'react'\n\nimport { ThumbnailCard } from '../../../elements/ThumbnailCard/index.js'\nimport { DefaultBlockImage } from '../../../graphics/DefaultBlockImage/index.js'\nimport { useControllableState } from '../../../hooks/useControllableState.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { BlockSearch } from './BlockSearch/index.js'\nimport './index.scss'\n\nexport type Props = {\n readonly blocks: (ClientBlock | string)[]\n readonly onSelect?: (blockType: string) => void\n /**\n * Control the search term state externally\n */\n searchTerm?: string\n}\n\nconst baseClass = 'blocks-drawer'\n\nconst getBlockLabel = (block: ClientBlock, i18n: I18nClient) => {\n if (typeof block.labels.singular === 'string') {\n return block.labels.singular.toLowerCase()\n }\n if (typeof block.labels.singular === 'object') {\n return getTranslation(block.labels.singular, i18n).toLowerCase()\n }\n return ''\n}\n\nexport const BlockSelector: React.FC<Props> = (props) => {\n const { blocks, onSelect, searchTerm: searchTermFromProps } = props\n\n const [searchTerm, setSearchTerm] = useControllableState(searchTermFromProps ?? '')\n\n const [filteredBlocks, setFilteredBlocks] = useState(blocks)\n const { i18n } = useTranslation()\n const { config } = useConfig()\n\n const blockGroups = useMemo(() => {\n const groups: Record<string, (ClientBlock | string)[]> = {\n _none: [],\n }\n\n filteredBlocks.forEach((block) => {\n if (typeof block === 'object' && block.admin?.group) {\n const group = block.admin.group\n const label = typeof group === 'string' ? group : getTranslation(group, i18n)\n\n if (Object.hasOwn(groups, label)) {\n groups[label].push(block)\n } else {\n groups[label] = [block]\n }\n } else {\n groups._none.push(block)\n }\n })\n\n return groups\n }, [filteredBlocks, i18n])\n\n useEffect(() => {\n const searchTermToUse = searchTerm.toLowerCase()\n\n const matchingBlocks = blocks?.reduce((matchedBlocks, _block) => {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n const blockLabel = getBlockLabel(block, i18n)\n if (blockLabel.includes(searchTermToUse)) {\n matchedBlocks.push(block)\n }\n return matchedBlocks\n }, [])\n\n setFilteredBlocks(matchingBlocks)\n }, [searchTerm, blocks, i18n, config.blocksMap])\n\n return (\n <Fragment>\n <BlockSearch setSearchTerm={setSearchTerm} />\n <div className={`${baseClass}__blocks-wrapper`}>\n <ul className={`${baseClass}__block-groups`}>\n {Object.entries(blockGroups).map(([groupLabel, groupBlocks]) =>\n !groupBlocks.length ? null : (\n <li\n className={[\n `${baseClass}__block-group`,\n groupLabel === '_none' && `${baseClass}__block-group-none`,\n ]\n .filter(Boolean)\n .join(' ')}\n key={groupLabel}\n >\n {groupLabel !== '_none' && (\n <h3 className={`${baseClass}__block-group-label`}>{groupLabel}</h3>\n )}\n <ul className={`${baseClass}__blocks`}>\n {groupBlocks.map((_block, index) => {\n const block = typeof _block === 'string' ? config.blocksMap[_block] : _block\n\n const { slug, imageAltText, imageURL, labels: blockLabels } = block\n\n return (\n <li className={`${baseClass}__block`} key={index}>\n <ThumbnailCard\n alignLabel=\"center\"\n label={getTranslation(blockLabels?.singular, i18n)}\n onClick={() => {\n if (typeof onSelect === 'function') {\n onSelect(slug)\n }\n }}\n thumbnail={\n <div className={`${baseClass}__default-image`}>\n {imageURL ? (\n <img alt={imageAltText} src={imageURL} />\n ) : (\n <DefaultBlockImage />\n )}\n </div>\n }\n />\n </li>\n )\n })}\n </ul>\n </li>\n ),\n )}\n </ul>\n </div>\n </Fragment>\n )\n}\n"],"names":["getTranslation","React","Fragment","useEffect","useMemo","useState","ThumbnailCard","DefaultBlockImage","useControllableState","useConfig","useTranslation","BlockSearch","baseClass","getBlockLabel","block","i18n","labels","singular","toLowerCase","BlockSelector","props","blocks","onSelect","searchTerm","searchTermFromProps","setSearchTerm","filteredBlocks","setFilteredBlocks","config","blockGroups","groups","_none","forEach","admin","group","label","Object","hasOwn","push","searchTermToUse","matchingBlocks","reduce","matchedBlocks","_block","blocksMap","blockLabel","includes","div","className","ul","entries","map","groupLabel","groupBlocks","length","li","filter","Boolean","join","h3","index","slug","imageAltText","imageURL","blockLabels","alignLabel","onClick","thumbnail","img","alt","src"],"mappings":"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"}
|