@payloadcms/ui 3.68.0-internal-debug.591ab42 → 3.68.0-internal-debug.e9b66ee
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 +37 -126
- package/dist/elements/AddNewRelation/index.js.map +1 -1
- package/dist/elements/AnimateHeight/index.js +17 -33
- package/dist/elements/AnimateHeight/index.js.map +1 -1
- package/dist/elements/AppHeader/index.js +35 -147
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.js +57 -183
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.js +12 -28
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/Banner/index.js +5 -34
- package/dist/elements/Banner/index.js.map +1 -1
- package/dist/elements/BulkUpload/ActionsBar/index.js +56 -160
- package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +23 -80
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +13 -78
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +1 -14
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +3 -17
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +19 -89
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +35 -134
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +10 -44
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +91 -326
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +25 -42
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +4 -26
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.js +43 -94
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/Button/index.js +38 -155
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Card/index.js +5 -40
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/CheckboxPopup/index.js +15 -41
- package/dist/elements/CheckboxPopup/index.js.map +1 -1
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js +3 -20
- package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
- package/dist/elements/ClipboardAction/index.js +14 -64
- package/dist/elements/ClipboardAction/index.js.map +1 -1
- package/dist/elements/CloseModalButton/index.js +8 -21
- package/dist/elements/CloseModalButton/index.js.map +1 -1
- package/dist/elements/CodeEditor/CodeEditor.js +27 -48
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/index.js +5 -21
- package/dist/elements/CodeEditor/index.js.map +1 -1
- package/dist/elements/Collapsible/index.js +40 -128
- package/dist/elements/Collapsible/index.js.map +1 -1
- package/dist/elements/Collapsible/provider.js +2 -10
- package/dist/elements/Collapsible/provider.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +12 -28
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/Combobox/index.js +23 -71
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/ConfirmationModal/index.js +22 -81
- package/dist/elements/ConfirmationModal/index.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +56 -148
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +17 -41
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/DatePicker/DatePicker.js +11 -56
- package/dist/elements/DatePicker/DatePicker.js.map +1 -1
- package/dist/elements/DatePicker/index.js +5 -23
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DefaultListViewTabs/index.js +22 -62
- package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.js +19 -79
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.js +45 -131
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.js +95 -442
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +4 -18
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js +15 -76
- package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/Provider.js +4 -12
- package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
- package/dist/elements/DocumentDrawer/index.js +14 -62
- package/dist/elements/DocumentDrawer/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.js +22 -86
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DocumentLocked/index.js +41 -126
- package/dist/elements/DocumentLocked/index.js.map +1 -1
- package/dist/elements/DocumentTakeOver/index.js +24 -81
- package/dist/elements/DocumentTakeOver/index.js.map +1 -1
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +16 -21
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
- package/dist/elements/DraggableSortable/index.js +8 -29
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/Drawer/index.js +38 -135
- package/dist/elements/Drawer/index.js.map +1 -1
- package/dist/elements/DrawerActionHeader/index.js +18 -57
- package/dist/elements/DrawerActionHeader/index.js.map +1 -1
- package/dist/elements/DrawerContentContainer/index.js +4 -13
- package/dist/elements/DrawerContentContainer/index.js.map +1 -1
- package/dist/elements/Dropzone/index.js +15 -22
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +22 -98
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +15 -46
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +49 -204
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.js +18 -66
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/EditUpload/index.js +105 -388
- package/dist/elements/EditUpload/index.js.map +1 -1
- package/dist/elements/EmailAndUsername/index.js +25 -64
- package/dist/elements/EmailAndUsername/index.js.map +1 -1
- package/dist/elements/ErrorPill/index.js +6 -27
- package/dist/elements/ErrorPill/index.js.map +1 -1
- package/dist/elements/FieldDiffContainer/index.js +17 -47
- package/dist/elements/FieldDiffContainer/index.js.map +1 -1
- package/dist/elements/FieldDiffLabel/index.js +1 -10
- package/dist/elements/FieldDiffLabel/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +14 -37
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js +26 -107
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/FileMeta/index.js +19 -69
- package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +12 -72
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/index.js +2 -16
- package/dist/elements/FileDetails/index.js.map +1 -1
- package/dist/elements/FolderView/Breadcrumbs/index.js +15 -51
- package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/FolderView/BrowseByFolderButton/index.js +10 -26
- package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.client.js +4 -22
- package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
- package/dist/elements/FolderView/Cell/index.server.js +1 -14
- package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
- package/dist/elements/FolderView/ColoredFolderIcon/index.js +1 -8
- package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
- package/dist/elements/FolderView/CurrentFolderActions/index.js +58 -138
- package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
- package/dist/elements/FolderView/DragOverlaySelection/index.js +18 -56
- package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableTableRow/index.js +20 -47
- package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
- package/dist/elements/FolderView/DraggableWithClick/index.js +16 -28
- package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +10 -24
- package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +105 -327
- package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/FilterFolderTypePill/index.js +11 -39
- package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
- package/dist/elements/FolderView/FolderField/index.server.js +1 -10
- package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
- package/dist/elements/FolderView/FolderFileCard/index.js +50 -168
- package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
- package/dist/elements/FolderView/FolderFileTable/index.js +97 -166
- package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
- package/dist/elements/FolderView/FolderTypeField/index.js +1 -30
- package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
- package/dist/elements/FolderView/ItemCardGrid/index.js +10 -34
- package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
- package/dist/elements/FolderView/MoveDocToFolder/index.js +54 -104
- package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
- package/dist/elements/FolderView/SimpleTable/index.js +31 -98
- package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
- package/dist/elements/FolderView/SortByPill/index.js +46 -135
- package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
- package/dist/elements/FolderView/ToggleViewButtons/index.js +14 -45
- package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
- package/dist/elements/FullscreenModal/index.js +5 -15
- package/dist/elements/FullscreenModal/index.js.map +1 -1
- package/dist/elements/GenerateConfirmation/index.js +10 -48
- package/dist/elements/GenerateConfirmation/index.js.map +1 -1
- package/dist/elements/GroupByBuilder/index.js +54 -113
- package/dist/elements/GroupByBuilder/index.js.map +1 -1
- package/dist/elements/Gutter/index.js +10 -18
- package/dist/elements/Gutter/index.js.map +1 -1
- package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
- package/dist/elements/HTMLDiff/index.js +6 -22
- package/dist/elements/HTMLDiff/index.js.map +1 -1
- package/dist/elements/Hamburger/index.js +9 -48
- package/dist/elements/Hamburger/index.js.map +1 -1
- package/dist/elements/IDLabel/index.js +8 -25
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +2 -23
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/Link/index.js +26 -36
- package/dist/elements/Link/index.js.map +1 -1
- package/dist/elements/ListControls/index.js +32 -199
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +6 -34
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/Provider.js +7 -13
- package/dist/elements/ListDrawer/Provider.js.map +1 -1
- package/dist/elements/ListDrawer/index.js +12 -59
- package/dist/elements/ListDrawer/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +10 -34
- package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +3 -16
- package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +3 -12
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +5 -17
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +52 -110
- package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +16 -64
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/ListHeader/index.js +15 -64
- package/dist/elements/ListHeader/index.js.map +1 -1
- package/dist/elements/ListSelection/index.js +20 -79
- package/dist/elements/ListSelection/index.js.map +1 -1
- package/dist/elements/LivePreview/Device/index.js +13 -26
- package/dist/elements/LivePreview/Device/index.js.map +1 -1
- package/dist/elements/LivePreview/DeviceContainer/index.js +8 -15
- package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +5 -18
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Toggler/index.js +8 -26
- package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/Controls/index.js +50 -197
- package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +1 -14
- package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
- package/dist/elements/LivePreview/Toolbar/index.js +23 -75
- package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
- package/dist/elements/LivePreview/ToolbarArea/index.js +3 -11
- package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +13 -53
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/Loading/index.js +18 -79
- package/dist/elements/Loading/index.js.map +1 -1
- package/dist/elements/LoadingOverlay/index.js +8 -25
- package/dist/elements/LoadingOverlay/index.js.map +1 -1
- package/dist/elements/Localizer/LocalizerLabel/index.js +12 -51
- package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
- package/dist/elements/Localizer/index.js +39 -88
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Locked/index.js +8 -34
- package/dist/elements/Locked/index.js.map +1 -1
- package/dist/elements/Logout/index.js +6 -22
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/NavToggler/index.js +16 -28
- package/dist/elements/Nav/NavToggler/index.js.map +1 -1
- package/dist/elements/Nav/context.js +10 -16
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/NavGroup/index.js +19 -76
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/NoListResults/index.js +6 -25
- package/dist/elements/NoListResults/index.js.map +1 -1
- package/dist/elements/PageControls/GroupByPageControls.js +2 -13
- package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
- package/dist/elements/PageControls/index.js +14 -73
- package/dist/elements/PageControls/index.js.map +1 -1
- package/dist/elements/Pagination/ClickableArrow/index.js +3 -17
- package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
- package/dist/elements/Pagination/Page/index.js +3 -12
- package/dist/elements/Pagination/Page/index.js.map +1 -1
- package/dist/elements/Pagination/Separator/index.js +1 -10
- package/dist/elements/Pagination/Separator/index.js.map +1 -1
- package/dist/elements/Pagination/index.js +9 -30
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/PerPage/index.js +25 -90
- package/dist/elements/PerPage/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +14 -53
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Pill/index.js +16 -68
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/PillSelector/index.js +21 -63
- package/dist/elements/PillSelector/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.js +18 -50
- package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
- package/dist/elements/Popup/PopupDivider/index.js +1 -9
- package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
- package/dist/elements/Popup/PopupGroupLabel/index.js +1 -10
- package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
- package/dist/elements/Popup/PopupTrigger/index.js +13 -33
- package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
- package/dist/elements/Popup/index.js +40 -102
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PreviewButton/index.js +3 -19
- package/dist/elements/PreviewButton/index.js.map +1 -1
- package/dist/elements/PreviewSizes/index.js +43 -160
- package/dist/elements/PreviewSizes/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +24 -96
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +44 -244
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +26 -78
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +3 -16
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/PublishMany/index.js +9 -43
- package/dist/elements/PublishMany/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +68 -202
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +28 -75
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/AccessCell/index.js +15 -40
- package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +12 -25
- package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js +5 -21
- package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +1 -9
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js +11 -40
- package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/GroupByField/index.js +8 -49
- package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +21 -110
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/ReactSelect/ClearIndicator/index.js +9 -27
- package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Control/index.js +25 -36
- package/dist/elements/ReactSelect/Control/index.js.map +1 -1
- package/dist/elements/ReactSelect/DropdownIndicator/index.js +7 -24
- package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
- package/dist/elements/ReactSelect/Input/index.js +4 -16
- package/dist/elements/ReactSelect/Input/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValue/index.js +19 -32
- package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +7 -22
- package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +16 -44
- package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
- package/dist/elements/ReactSelect/SingleValue/index.js +8 -19
- package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
- package/dist/elements/ReactSelect/ValueContainer/index.js +4 -28
- package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
- package/dist/elements/ReactSelect/index.js +36 -127
- package/dist/elements/ReactSelect/index.js.map +1 -1
- package/dist/elements/RelationshipTable/AddNewButton.js +20 -60
- package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
- package/dist/elements/RelationshipTable/Pagination.js +3 -19
- package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +8 -37
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.js +39 -189
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RenderComponent/index.js +3 -24
- package/dist/elements/RenderComponent/index.js.map +1 -1
- package/dist/elements/RenderIfInViewport/index.js +3 -10
- package/dist/elements/RenderIfInViewport/index.js.map +1 -1
- package/dist/elements/RenderServerComponent/index.js +2 -16
- package/dist/elements/RenderServerComponent/index.js.map +1 -1
- package/dist/elements/RenderTitle/index.js +11 -36
- package/dist/elements/RenderTitle/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.js +19 -80
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.js +16 -62
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveButton/index.js +4 -15
- package/dist/elements/SaveButton/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +6 -19
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SearchBar/index.js +8 -35
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchFilter/index.js +7 -25
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/SelectAll/index.js +4 -18
- package/dist/elements/SelectAll/index.js.map +1 -1
- package/dist/elements/SelectMany/index.js +7 -20
- package/dist/elements/SelectMany/index.js.map +1 -1
- package/dist/elements/SelectRow/index.js +5 -21
- package/dist/elements/SelectRow/index.js.map +1 -1
- package/dist/elements/ShimmerEffect/index.js +18 -51
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +28 -83
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/SortComplex/index.js +16 -77
- package/dist/elements/SortComplex/index.js.map +1 -1
- package/dist/elements/SortHeader/index.js +13 -37
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/SortRow/index.js +3 -18
- package/dist/elements/SortRow/index.js.map +1 -1
- package/dist/elements/Status/index.js +20 -99
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +2 -15
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/StepNav/context.js +8 -14
- package/dist/elements/StepNav/context.js.map +1 -1
- package/dist/elements/StepNav/index.js +36 -139
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/StickyToolbar/index.js +1 -10
- package/dist/elements/StickyToolbar/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Array/index.js +1 -9
- package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -9
- package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +3 -16
- package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Code/index.js +3 -17
- package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Date/index.js +8 -14
- package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/File/index.js +8 -37
- package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js +3 -16
- package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +36 -62
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Select/index.js +1 -9
- package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +1 -9
- package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +20 -76
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableRow.js +18 -40
- package/dist/elements/Table/OrderableRow.js.map +1 -1
- package/dist/elements/Table/OrderableRowDragPreview.js +5 -23
- package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
- package/dist/elements/Table/OrderableTable.js +37 -120
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +6 -14
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/Table/index.js +28 -79
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +18 -69
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/ThumbnailCard/index.js +4 -30
- package/dist/elements/ThumbnailCard/index.js.map +1 -1
- package/dist/elements/TimezonePicker/index.js +8 -38
- package/dist/elements/TimezonePicker/index.js.map +1 -1
- package/dist/elements/Toasts/fieldErrors.js +8 -33
- package/dist/elements/Toasts/fieldErrors.js.map +1 -1
- package/dist/elements/Tooltip/index.js +21 -56
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Translation/index.js +16 -39
- package/dist/elements/Translation/index.js.map +1 -1
- package/dist/elements/TrashBanner/index.js +8 -25
- package/dist/elements/TrashBanner/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +3 -14
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/UnpublishMany/index.js +9 -43
- package/dist/elements/UnpublishMany/index.js.map +1 -1
- package/dist/elements/Upload/index.js +109 -401
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/ViewDescription/index.js +2 -10
- package/dist/elements/ViewDescription/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Date/index.js +3 -20
- package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +6 -72
- package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Number/index.js +1 -28
- package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +25 -52
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Select/index.js +4 -17
- package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -27
- package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +30 -128
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.js +54 -159
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WithServerSideProps/index.js +1 -9
- package/dist/elements/WithServerSideProps/index.js.map +1 -1
- package/dist/elements/withMergedProps/index.js +1 -9
- package/dist/elements/withMergedProps/index.js.map +1 -1
- package/dist/fields/Array/ArrayRow.js +16 -100
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.js +69 -290
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +22 -130
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +4 -25
- package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
- package/dist/fields/Blocks/BlockSelector/index.js +29 -101
- package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
- package/dist/fields/Blocks/BlocksDrawer/index.js +8 -23
- package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
- package/dist/fields/Blocks/RowActions.js +12 -44
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/SectionTitle/index.js +3 -24
- package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
- package/dist/fields/Blocks/index.js +83 -326
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Checkbox/Input.js +21 -83
- package/dist/fields/Checkbox/Input.js.map +1 -1
- package/dist/fields/Checkbox/index.js +13 -68
- package/dist/fields/Checkbox/index.js.map +1 -1
- package/dist/fields/Code/index.js +18 -92
- package/dist/fields/Code/index.js.map +1 -1
- package/dist/fields/Collapsible/index.js +21 -103
- package/dist/fields/Collapsible/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +11 -54
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/DateTime/index.js +19 -102
- package/dist/fields/DateTime/index.js.map +1 -1
- package/dist/fields/Email/index.js +19 -91
- package/dist/fields/Email/index.js.map +1 -1
- package/dist/fields/FieldDescription/index.js +8 -15
- package/dist/fields/FieldDescription/index.js.map +1 -1
- package/dist/fields/FieldError/index.js +3 -13
- package/dist/fields/FieldError/index.js.map +1 -1
- package/dist/fields/FieldLabel/index.js +7 -32
- package/dist/fields/FieldLabel/index.js.map +1 -1
- package/dist/fields/Group/index.js +31 -132
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Group/provider.js +3 -11
- package/dist/fields/Group/provider.js.map +1 -1
- package/dist/fields/Hidden/index.js +2 -13
- package/dist/fields/Hidden/index.js.map +1 -1
- package/dist/fields/JSON/index.js +18 -93
- package/dist/fields/JSON/index.js.map +1 -1
- package/dist/fields/Join/index.js +20 -88
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Number/index.js +36 -134
- package/dist/fields/Number/index.js.map +1 -1
- package/dist/fields/Password/index.js +4 -29
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.js +21 -105
- package/dist/fields/Password/input.js.map +1 -1
- package/dist/fields/Point/index.js +33 -157
- package/dist/fields/Point/index.js.map +1 -1
- package/dist/fields/RadioGroup/Radio/index.js +13 -51
- package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
- package/dist/fields/RadioGroup/index.js +42 -124
- package/dist/fields/RadioGroup/index.js.map +1 -1
- package/dist/fields/Relationship/Input.js +119 -242
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Relationship/index.js +11 -44
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +33 -85
- package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
- package/dist/fields/Relationship/select-components/SingleValue/index.js +32 -88
- package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
- package/dist/fields/Row/index.js +9 -35
- package/dist/fields/Row/index.js.map +1 -1
- package/dist/fields/Row/provider.js +3 -11
- package/dist/fields/Row/provider.js.map +1 -1
- package/dist/fields/Select/Input.js +19 -98
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Select/index.js +1 -30
- package/dist/fields/Select/index.js.map +1 -1
- package/dist/fields/Slug/index.js +13 -58
- package/dist/fields/Slug/index.js.map +1 -1
- package/dist/fields/Tabs/Tab/index.js +12 -43
- package/dist/fields/Tabs/Tab/index.js.map +1 -1
- package/dist/fields/Tabs/index.js +31 -117
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/fields/Tabs/provider.js +3 -11
- package/dist/fields/Tabs/provider.js.map +1 -1
- package/dist/fields/Text/Input.js +31 -129
- package/dist/fields/Text/Input.js.map +1 -1
- package/dist/fields/Text/index.js +6 -36
- package/dist/fields/Text/index.js.map +1 -1
- package/dist/fields/Textarea/Input.js +20 -101
- package/dist/fields/Textarea/Input.js.map +1 -1
- package/dist/fields/Textarea/index.js +4 -29
- package/dist/fields/Textarea/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +52 -117
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +6 -34
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/Input.js +60 -248
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +23 -112
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/fields/Upload/UploadCard/index.js +7 -14
- package/dist/fields/Upload/UploadCard/index.js.map +1 -1
- package/dist/fields/Upload/index.js +3 -39
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/Form/index.js +26 -87
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/NullifyField/index.js +6 -23
- package/dist/forms/NullifyField/index.js.map +1 -1
- package/dist/forms/RenderFields/RenderField.js +23 -203
- package/dist/forms/RenderFields/RenderField.js.map +1 -1
- package/dist/forms/RenderFields/index.js +45 -72
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +2 -10
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/forms/RowLabel/index.js +10 -31
- package/dist/forms/RowLabel/index.js.map +1 -1
- package/dist/forms/Submit/index.js +5 -22
- package/dist/forms/Submit/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +26 -44
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/forms/useField/index.js +1 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/forms/withCondition/index.js +3 -16
- package/dist/forms/withCondition/index.js.map +1 -1
- package/dist/graphics/Account/Default/index.js +8 -46
- package/dist/graphics/Account/Default/index.js.map +1 -1
- package/dist/graphics/Account/Gravatar/index.js +3 -16
- package/dist/graphics/Account/Gravatar/index.js.map +1 -1
- package/dist/graphics/Account/index.js +2 -14
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/graphics/DefaultBlockImage/index.js +16 -115
- package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
- package/dist/graphics/File/index.js +6 -33
- package/dist/graphics/File/index.js.map +1 -1
- package/dist/graphics/Icon/index.js +4 -31
- package/dist/graphics/Icon/index.js.map +1 -1
- package/dist/graphics/Logo/index.js +17 -112
- package/dist/graphics/Logo/index.js.map +1 -1
- package/dist/icons/Calendar/index.js +3 -20
- package/dist/icons/Calendar/index.js.map +1 -1
- package/dist/icons/Check/index.js +3 -20
- package/dist/icons/Check/index.js.map +1 -1
- package/dist/icons/Chevron/index.js +9 -30
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/CloseMenu/index.js +3 -20
- package/dist/icons/CloseMenu/index.js.map +1 -1
- package/dist/icons/CodeBlock/index.js +3 -22
- package/dist/icons/CodeBlock/index.js.map +1 -1
- package/dist/icons/Copy/index.js +3 -24
- package/dist/icons/Copy/index.js.map +1 -1
- package/dist/icons/Document/index.js +3 -24
- package/dist/icons/Document/index.js.map +1 -1
- package/dist/icons/Dots/index.js +10 -32
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/DragHandle/index.js +11 -70
- package/dist/icons/DragHandle/index.js.map +1 -1
- package/dist/icons/Edit/index.js +6 -23
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/icons/ExternalLink/index.js +6 -23
- package/dist/icons/ExternalLink/index.js.map +1 -1
- package/dist/icons/Eye/index.js +12 -53
- package/dist/icons/Eye/index.js.map +1 -1
- package/dist/icons/Folder/index.js +6 -25
- package/dist/icons/Folder/index.js.map +1 -1
- package/dist/icons/Gear/index.js +8 -34
- package/dist/icons/Gear/index.js.map +1 -1
- package/dist/icons/GridView/index.js +6 -56
- package/dist/icons/GridView/index.js.map +1 -1
- package/dist/icons/Line/index.js +3 -23
- package/dist/icons/Line/index.js.map +1 -1
- package/dist/icons/Link/index.js +3 -25
- package/dist/icons/Link/index.js.map +1 -1
- package/dist/icons/ListView/index.js +3 -24
- package/dist/icons/ListView/index.js.map +1 -1
- package/dist/icons/Lock/index.js +7 -41
- package/dist/icons/Lock/index.js.map +1 -1
- package/dist/icons/LogOut/index.js +3 -23
- package/dist/icons/LogOut/index.js.map +1 -1
- package/dist/icons/Menu/index.js +3 -23
- package/dist/icons/Menu/index.js.map +1 -1
- package/dist/icons/MinimizeMaximize/index.js +3 -27
- package/dist/icons/MinimizeMaximize/index.js.map +1 -1
- package/dist/icons/More/index.js +8 -43
- package/dist/icons/More/index.js.map +1 -1
- package/dist/icons/MoveFolder/index.js +10 -62
- package/dist/icons/MoveFolder/index.js.map +1 -1
- package/dist/icons/People/index.js +7 -28
- package/dist/icons/People/index.js.map +1 -1
- package/dist/icons/Plus/index.js +3 -22
- package/dist/icons/Plus/index.js.map +1 -1
- package/dist/icons/Search/index.js +3 -21
- package/dist/icons/Search/index.js.map +1 -1
- package/dist/icons/Sort/index.js +6 -48
- package/dist/icons/Sort/index.js.map +1 -1
- package/dist/icons/Swap/index.js +3 -20
- package/dist/icons/Swap/index.js.map +1 -1
- package/dist/icons/ThreeDots/index.js +5 -26
- package/dist/icons/ThreeDots/index.js.map +1 -1
- package/dist/icons/Trash/index.js +6 -27
- package/dist/icons/Trash/index.js.map +1 -1
- package/dist/icons/X/index.js +6 -25
- package/dist/icons/X/index.js.map +1 -1
- package/dist/providers/Actions/index.js +10 -16
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/index.js +16 -22
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ClickOutside/index.js +6 -14
- package/dist/providers/ClickOutside/index.js.map +1 -1
- package/dist/providers/ClientFunction/index.js +8 -21
- package/dist/providers/ClientFunction/index.js.map +1 -1
- package/dist/providers/Config/index.js +4 -19
- package/dist/providers/Config/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.js +6 -14
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.js +7 -29
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentTitle/index.js +5 -13
- package/dist/providers/DocumentTitle/index.js.map +1 -1
- package/dist/providers/EditDepth/index.js +3 -11
- package/dist/providers/EditDepth/index.js.map +1 -1
- package/dist/providers/EntityVisibility/index.js +8 -14
- package/dist/providers/EntityVisibility/index.js.map +1 -1
- package/dist/providers/Folders/index.js +42 -48
- package/dist/providers/Folders/index.js.map +1 -1
- package/dist/providers/ListQuery/index.js +17 -30
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/LivePreview/index.js +39 -51
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/providers/Locale/index.js +10 -21
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Operation/index.js +3 -11
- package/dist/providers/Operation/index.js.map +1 -1
- package/dist/providers/Params/index.js +3 -11
- package/dist/providers/Params/index.js.map +1 -1
- package/dist/providers/Preferences/index.js +3 -11
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +54 -187
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteCache/index.js +6 -14
- package/dist/providers/RouteCache/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +11 -25
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/index.js +8 -14
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/providers/SearchParams/index.js +5 -13
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/providers/Selection/index.js +3 -11
- package/dist/providers/Selection/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.js +15 -21
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.js +4 -16
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/index.js +1 -13
- package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
- package/dist/providers/TableColumns/buildColumnState/renderCell.js +1 -18
- package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
- package/dist/providers/TableColumns/index.js +11 -17
- package/dist/providers/TableColumns/index.js.map +1 -1
- package/dist/providers/Theme/index.js +7 -15
- package/dist/providers/Theme/index.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Error.js +4 -33
- package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Info.js +4 -33
- package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Success.js +4 -33
- package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
- package/dist/providers/ToastContainer/icons/Warning.js +4 -33
- package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
- package/dist/providers/ToastContainer/index.js +19 -53
- package/dist/providers/ToastContainer/index.js.map +1 -1
- package/dist/providers/Translation/index.js +15 -21
- package/dist/providers/Translation/index.js.map +1 -1
- package/dist/providers/UploadControls/index.js +12 -18
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/dist/providers/UploadEdits/index.js +9 -15
- package/dist/providers/UploadEdits/index.js.map +1 -1
- package/dist/providers/UploadHandlers/index.js +5 -13
- package/dist/providers/UploadHandlers/index.js.map +1 -1
- package/dist/utilities/combineFieldLabel.js +13 -51
- package/dist/utilities/combineFieldLabel.js.map +1 -1
- package/dist/utilities/getFolderResultsComponentAndData.js +10 -39
- package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
- package/dist/utilities/renderTable.js +23 -113
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +74 -273
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/ListSelection/index.js +44 -130
- package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +84 -268
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/dist/views/Edit/Auth/APIKey.js +23 -103
- package/dist/views/Edit/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Auth/index.js +48 -165
- package/dist/views/Edit/Auth/index.js.map +1 -1
- package/dist/views/Edit/index.js +85 -272
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/GroupByHeader/index.js +10 -34
- package/dist/views/List/GroupByHeader/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.js +18 -103
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/ListSelection/index.js +20 -93
- package/dist/views/List/ListSelection/index.js.map +1 -1
- package/dist/views/List/index.js +58 -243
- package/dist/views/List/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/LivePreview/index.tsx"],"sourcesContent":["'use client'\nimport type { CollectionPreferences, LivePreviewConfig, LivePreviewURLType } from 'payload'\n\nimport { DndContext } from '@dnd-kit/core'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { LivePreviewContextType } from './context.js'\n\nimport { usePopupWindow } from '../../hooks/usePopupWindow.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { formatAbsoluteURL } from '../../utilities/formatAbsoluteURL.js'\nimport { customCollisionDetection } from './collisionDetection.js'\nimport { LivePreviewContext } from './context.js'\nimport { sizeReducer } from './sizeReducer.js'\n\nexport type LivePreviewProviderProps = {\n appIsReady?: boolean\n breakpoints?: LivePreviewConfig['breakpoints']\n children: React.ReactNode\n deviceSize?: {\n height: number\n width: number\n }\n isLivePreviewEnabled?: boolean\n isLivePreviewing: boolean\n /**\n * This specifically relates to `admin.preview` function in the config instead of live preview.\n */\n isPreviewEnabled?: boolean\n /**\n * This specifically relates to `admin.preview` function in the config instead of live preview.\n */\n previewURL?: string\n} & Pick<LivePreviewContextType, 'typeofLivePreviewURL' | 'url'>\n\nexport const LivePreviewProvider: React.FC<LivePreviewProviderProps> = ({\n breakpoints: incomingBreakpoints,\n children,\n isLivePreviewEnabled,\n isLivePreviewing: incomingIsLivePreviewing,\n isPreviewEnabled,\n previewURL: previewURLFromProps,\n typeofLivePreviewURL,\n url: urlFromProps,\n}) => {\n const [previewWindowType, setPreviewWindowType] = useState<'iframe' | 'popup'>('iframe')\n const [isLivePreviewing, setIsLivePreviewing] = useState(incomingIsLivePreviewing)\n\n const breakpoints: LivePreviewConfig['breakpoints'] = useMemo(\n () => [\n ...(incomingBreakpoints || []),\n {\n name: 'responsive',\n height: '100%',\n label: 'Responsive',\n width: '100%',\n },\n ],\n [incomingBreakpoints],\n )\n\n const [url, setURL] = useState<string>('')\n const [previewURL, setPreviewURL] = useState<string>(previewURLFromProps)\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const [appIsReady, setAppIsReady] = useState(false)\n const [listeningForMessages, setListeningForMessages] = useState(false)\n\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const isFirstRender = useRef(true)\n\n const { setPreference } = usePreferences()\n\n const iframeRef = React.useRef<HTMLIFrameElement>(null)\n\n const [loadedURL, setLoadedURL] = useState<string>()\n\n const [zoom, setZoom] = useState(1)\n\n const [position, setPosition] = useState({ x: 0, y: 0 })\n\n const [size, setSize] = React.useReducer(sizeReducer, { height: 0, width: 0 })\n\n const [measuredDeviceSize, setMeasuredDeviceSize] = useState({\n height: 0,\n width: 0,\n })\n\n const [breakpoint, setBreakpoint] =\n React.useState<LivePreviewConfig['breakpoints'][0]['name']>('responsive')\n\n /**\n * A \"middleware\" callback fn that does some additional work before `setURL`.\n * This is what we provide through context, bc it:\n * - ensures the URL is absolute\n * - resets `appIsReady` to `false` while the new URL is loading\n */\n const setLivePreviewURL = useCallback<LivePreviewContextType['setURL']>(\n (_incomingURL) => {\n let incomingURL: LivePreviewURLType\n\n if (typeof _incomingURL === 'string') {\n incomingURL = formatAbsoluteURL(_incomingURL)\n }\n\n if (!incomingURL) {\n setIsLivePreviewing(false)\n }\n\n if (incomingURL !== url) {\n setAppIsReady(false)\n setURL(incomingURL)\n }\n },\n [url],\n )\n\n /**\n * `url` needs to be relative to the window, which cannot be done on initial render.\n */\n useEffect(() => {\n if (typeof urlFromProps === 'string') {\n setURL(formatAbsoluteURL(urlFromProps))\n }\n }, [urlFromProps])\n\n // The toolbar needs to freely drag and drop around the page\n const handleDragEnd = (ev) => {\n // only update position if the toolbar is completely within the preview area\n // otherwise reset it back to the previous position\n // TODO: reset to the nearest edge of the preview area\n if (ev.over && ev.over.id === 'live-preview-area') {\n const newPos = {\n x: position.x + ev.delta.x,\n y: position.y + ev.delta.y,\n }\n\n setPosition(newPos)\n } else {\n // reset\n }\n }\n\n const setWidth = useCallback(\n (width) => {\n setSize({ type: 'width', value: width })\n },\n [setSize],\n )\n\n const setHeight = useCallback(\n (height) => {\n setSize({ type: 'height', value: height })\n },\n [setSize],\n )\n\n // explicitly set new width and height when as new breakpoints are selected\n // exclude `custom` breakpoint as it is handled by the `setWidth` and `setHeight` directly\n useEffect(() => {\n const foundBreakpoint = breakpoints?.find((bp) => bp.name === breakpoint)\n\n if (\n foundBreakpoint &&\n breakpoint !== 'responsive' &&\n breakpoint !== 'custom' &&\n typeof foundBreakpoint?.width === 'number' &&\n typeof foundBreakpoint?.height === 'number'\n ) {\n setSize({\n type: 'reset',\n value: {\n height: foundBreakpoint.height,\n width: foundBreakpoint.width,\n },\n })\n }\n }, [breakpoint, breakpoints])\n\n /**\n * Receive the `ready` message from the popup window\n * This indicates that the app is ready to receive `window.postMessage` events\n * This is also the only cross-origin way of detecting when a popup window has loaded\n * Unlike iframe elements which have an `onLoad` handler, there is no way to access `window.open` on popups\n */\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (\n url?.startsWith(event.origin) &&\n event.data &&\n typeof event.data === 'object' &&\n event.data.type === 'payload-live-preview'\n ) {\n if (event.data.ready) {\n setAppIsReady(true)\n }\n }\n }\n\n window.addEventListener('message', handleMessage)\n\n setListeningForMessages(true)\n\n return () => {\n window.removeEventListener('message', handleMessage)\n }\n }, [url, listeningForMessages])\n\n const handleWindowChange = useCallback(\n (type: 'iframe' | 'popup') => {\n setAppIsReady(false)\n setPreviewWindowType(type)\n if (type === 'popup') {\n openPopupWindow()\n }\n },\n [openPopupWindow],\n )\n\n // when the user closes the popup window, switch back to the iframe\n // the `usePopupWindow` reports the `isPopupOpen` state for us to use here\n useEffect(() => {\n const newPreviewWindowType = isPopupOpen ? 'popup' : 'iframe'\n\n if (newPreviewWindowType !== previewWindowType) {\n handleWindowChange('iframe')\n }\n }, [previewWindowType, isPopupOpen, handleWindowChange])\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n return\n }\n\n void setPreference<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n {\n editViewType: isLivePreviewing ? 'live-preview' : 'default',\n },\n true,\n )\n }, [isLivePreviewing, setPreference, collectionSlug, globalSlug])\n\n return (\n <LivePreviewContext\n value={{\n appIsReady,\n breakpoint,\n breakpoints,\n iframeRef,\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n isPreviewEnabled,\n listeningForMessages,\n loadedURL,\n measuredDeviceSize,\n openPopupWindow,\n popupRef,\n previewURL,\n previewWindowType,\n setAppIsReady,\n setBreakpoint,\n setHeight,\n setIsLivePreviewing,\n setLoadedURL,\n setMeasuredDeviceSize,\n setPreviewURL,\n setPreviewWindowType: handleWindowChange,\n setSize,\n setToolbarPosition: setPosition,\n setURL: setLivePreviewURL,\n setWidth,\n setZoom,\n size,\n toolbarPosition: position,\n typeofLivePreviewURL,\n url,\n zoom,\n }}\n >\n <DndContext collisionDetection={customCollisionDetection} onDragEnd={handleDragEnd}>\n {children}\n </DndContext>\n </LivePreviewContext>\n )\n}\n"],"names":["DndContext","React","useCallback","useEffect","useMemo","useRef","useState","usePopupWindow","useDocumentInfo","usePreferences","formatAbsoluteURL","customCollisionDetection","LivePreviewContext","sizeReducer","LivePreviewProvider","breakpoints","incomingBreakpoints","children","isLivePreviewEnabled","isLivePreviewing","incomingIsLivePreviewing","isPreviewEnabled","previewURL","previewURLFromProps","typeofLivePreviewURL","url","urlFromProps","previewWindowType","setPreviewWindowType","setIsLivePreviewing","name","height","label","width","setURL","setPreviewURL","isPopupOpen","openPopupWindow","popupRef","eventType","appIsReady","setAppIsReady","listeningForMessages","setListeningForMessages","collectionSlug","globalSlug","isFirstRender","setPreference","iframeRef","loadedURL","setLoadedURL","zoom","setZoom","position","setPosition","x","y","size","setSize","useReducer","measuredDeviceSize","setMeasuredDeviceSize","breakpoint","setBreakpoint","setLivePreviewURL","_incomingURL","incomingURL","handleDragEnd","ev","over","id","newPos","delta","setWidth","type","value","setHeight","foundBreakpoint","find","bp","handleMessage","event","startsWith","origin","data","ready","window","addEventListener","removeEventListener","handleWindowChange","newPreviewWindowType","current","editViewType","setToolbarPosition","toolbarPosition","collisionDetection","onDragEnd"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/LivePreview/index.tsx"],"sourcesContent":["'use client'\nimport type { CollectionPreferences, LivePreviewConfig, LivePreviewURLType } from 'payload'\n\nimport { DndContext } from '@dnd-kit/core'\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\n\nimport type { LivePreviewContextType } from './context.js'\n\nimport { usePopupWindow } from '../../hooks/usePopupWindow.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { formatAbsoluteURL } from '../../utilities/formatAbsoluteURL.js'\nimport { customCollisionDetection } from './collisionDetection.js'\nimport { LivePreviewContext } from './context.js'\nimport { sizeReducer } from './sizeReducer.js'\n\nexport type LivePreviewProviderProps = {\n appIsReady?: boolean\n breakpoints?: LivePreviewConfig['breakpoints']\n children: React.ReactNode\n deviceSize?: {\n height: number\n width: number\n }\n isLivePreviewEnabled?: boolean\n isLivePreviewing: boolean\n /**\n * This specifically relates to `admin.preview` function in the config instead of live preview.\n */\n isPreviewEnabled?: boolean\n /**\n * This specifically relates to `admin.preview` function in the config instead of live preview.\n */\n previewURL?: string\n} & Pick<LivePreviewContextType, 'typeofLivePreviewURL' | 'url'>\n\nexport const LivePreviewProvider: React.FC<LivePreviewProviderProps> = ({\n breakpoints: incomingBreakpoints,\n children,\n isLivePreviewEnabled,\n isLivePreviewing: incomingIsLivePreviewing,\n isPreviewEnabled,\n previewURL: previewURLFromProps,\n typeofLivePreviewURL,\n url: urlFromProps,\n}) => {\n const [previewWindowType, setPreviewWindowType] = useState<'iframe' | 'popup'>('iframe')\n const [isLivePreviewing, setIsLivePreviewing] = useState(incomingIsLivePreviewing)\n\n const breakpoints: LivePreviewConfig['breakpoints'] = useMemo(\n () => [\n ...(incomingBreakpoints || []),\n {\n name: 'responsive',\n height: '100%',\n label: 'Responsive',\n width: '100%',\n },\n ],\n [incomingBreakpoints],\n )\n\n const [url, setURL] = useState<string>('')\n const [previewURL, setPreviewURL] = useState<string>(previewURLFromProps)\n\n const { isPopupOpen, openPopupWindow, popupRef } = usePopupWindow({\n eventType: 'payload-live-preview',\n url,\n })\n\n const [appIsReady, setAppIsReady] = useState(false)\n const [listeningForMessages, setListeningForMessages] = useState(false)\n\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const isFirstRender = useRef(true)\n\n const { setPreference } = usePreferences()\n\n const iframeRef = React.useRef<HTMLIFrameElement>(null)\n\n const [loadedURL, setLoadedURL] = useState<string>()\n\n const [zoom, setZoom] = useState(1)\n\n const [position, setPosition] = useState({ x: 0, y: 0 })\n\n const [size, setSize] = React.useReducer(sizeReducer, { height: 0, width: 0 })\n\n const [measuredDeviceSize, setMeasuredDeviceSize] = useState({\n height: 0,\n width: 0,\n })\n\n const [breakpoint, setBreakpoint] =\n React.useState<LivePreviewConfig['breakpoints'][0]['name']>('responsive')\n\n /**\n * A \"middleware\" callback fn that does some additional work before `setURL`.\n * This is what we provide through context, bc it:\n * - ensures the URL is absolute\n * - resets `appIsReady` to `false` while the new URL is loading\n */\n const setLivePreviewURL = useCallback<LivePreviewContextType['setURL']>(\n (_incomingURL) => {\n let incomingURL: LivePreviewURLType\n\n if (typeof _incomingURL === 'string') {\n incomingURL = formatAbsoluteURL(_incomingURL)\n }\n\n if (!incomingURL) {\n setIsLivePreviewing(false)\n }\n\n if (incomingURL !== url) {\n setAppIsReady(false)\n setURL(incomingURL)\n }\n },\n [url],\n )\n\n /**\n * `url` needs to be relative to the window, which cannot be done on initial render.\n */\n useEffect(() => {\n if (typeof urlFromProps === 'string') {\n setURL(formatAbsoluteURL(urlFromProps))\n }\n }, [urlFromProps])\n\n // The toolbar needs to freely drag and drop around the page\n const handleDragEnd = (ev) => {\n // only update position if the toolbar is completely within the preview area\n // otherwise reset it back to the previous position\n // TODO: reset to the nearest edge of the preview area\n if (ev.over && ev.over.id === 'live-preview-area') {\n const newPos = {\n x: position.x + ev.delta.x,\n y: position.y + ev.delta.y,\n }\n\n setPosition(newPos)\n } else {\n // reset\n }\n }\n\n const setWidth = useCallback(\n (width) => {\n setSize({ type: 'width', value: width })\n },\n [setSize],\n )\n\n const setHeight = useCallback(\n (height) => {\n setSize({ type: 'height', value: height })\n },\n [setSize],\n )\n\n // explicitly set new width and height when as new breakpoints are selected\n // exclude `custom` breakpoint as it is handled by the `setWidth` and `setHeight` directly\n useEffect(() => {\n const foundBreakpoint = breakpoints?.find((bp) => bp.name === breakpoint)\n\n if (\n foundBreakpoint &&\n breakpoint !== 'responsive' &&\n breakpoint !== 'custom' &&\n typeof foundBreakpoint?.width === 'number' &&\n typeof foundBreakpoint?.height === 'number'\n ) {\n setSize({\n type: 'reset',\n value: {\n height: foundBreakpoint.height,\n width: foundBreakpoint.width,\n },\n })\n }\n }, [breakpoint, breakpoints])\n\n /**\n * Receive the `ready` message from the popup window\n * This indicates that the app is ready to receive `window.postMessage` events\n * This is also the only cross-origin way of detecting when a popup window has loaded\n * Unlike iframe elements which have an `onLoad` handler, there is no way to access `window.open` on popups\n */\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (\n url?.startsWith(event.origin) &&\n event.data &&\n typeof event.data === 'object' &&\n event.data.type === 'payload-live-preview'\n ) {\n if (event.data.ready) {\n setAppIsReady(true)\n }\n }\n }\n\n window.addEventListener('message', handleMessage)\n\n setListeningForMessages(true)\n\n return () => {\n window.removeEventListener('message', handleMessage)\n }\n }, [url, listeningForMessages])\n\n const handleWindowChange = useCallback(\n (type: 'iframe' | 'popup') => {\n setAppIsReady(false)\n setPreviewWindowType(type)\n if (type === 'popup') {\n openPopupWindow()\n }\n },\n [openPopupWindow],\n )\n\n // when the user closes the popup window, switch back to the iframe\n // the `usePopupWindow` reports the `isPopupOpen` state for us to use here\n useEffect(() => {\n const newPreviewWindowType = isPopupOpen ? 'popup' : 'iframe'\n\n if (newPreviewWindowType !== previewWindowType) {\n handleWindowChange('iframe')\n }\n }, [previewWindowType, isPopupOpen, handleWindowChange])\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false\n return\n }\n\n void setPreference<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n {\n editViewType: isLivePreviewing ? 'live-preview' : 'default',\n },\n true,\n )\n }, [isLivePreviewing, setPreference, collectionSlug, globalSlug])\n\n return (\n <LivePreviewContext\n value={{\n appIsReady,\n breakpoint,\n breakpoints,\n iframeRef,\n isLivePreviewEnabled,\n isLivePreviewing,\n isPopupOpen,\n isPreviewEnabled,\n listeningForMessages,\n loadedURL,\n measuredDeviceSize,\n openPopupWindow,\n popupRef,\n previewURL,\n previewWindowType,\n setAppIsReady,\n setBreakpoint,\n setHeight,\n setIsLivePreviewing,\n setLoadedURL,\n setMeasuredDeviceSize,\n setPreviewURL,\n setPreviewWindowType: handleWindowChange,\n setSize,\n setToolbarPosition: setPosition,\n setURL: setLivePreviewURL,\n setWidth,\n setZoom,\n size,\n toolbarPosition: position,\n typeofLivePreviewURL,\n url,\n zoom,\n }}\n >\n <DndContext collisionDetection={customCollisionDetection} onDragEnd={handleDragEnd}>\n {children}\n </DndContext>\n </LivePreviewContext>\n )\n}\n"],"names":["DndContext","React","useCallback","useEffect","useMemo","useRef","useState","usePopupWindow","useDocumentInfo","usePreferences","formatAbsoluteURL","customCollisionDetection","LivePreviewContext","sizeReducer","LivePreviewProvider","breakpoints","incomingBreakpoints","children","isLivePreviewEnabled","isLivePreviewing","incomingIsLivePreviewing","isPreviewEnabled","previewURL","previewURLFromProps","typeofLivePreviewURL","url","urlFromProps","previewWindowType","setPreviewWindowType","setIsLivePreviewing","name","height","label","width","setURL","setPreviewURL","isPopupOpen","openPopupWindow","popupRef","eventType","appIsReady","setAppIsReady","listeningForMessages","setListeningForMessages","collectionSlug","globalSlug","isFirstRender","setPreference","iframeRef","loadedURL","setLoadedURL","zoom","setZoom","position","setPosition","x","y","size","setSize","useReducer","measuredDeviceSize","setMeasuredDeviceSize","breakpoint","setBreakpoint","setLivePreviewURL","_incomingURL","incomingURL","handleDragEnd","ev","over","id","newPos","delta","setWidth","type","value","setHeight","foundBreakpoint","find","bp","handleMessage","event","startsWith","origin","data","ready","window","addEventListener","removeEventListener","handleWindowChange","newPreviewWindowType","current","editViewType","setToolbarPosition","toolbarPosition","collisionDetection","onDragEnd"],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
2
|
import { useSearchParams } from 'next/navigation.js';
|
|
4
3
|
import React, { createContext, use, useEffect, useRef, useState } from 'react';
|
|
5
4
|
import { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js';
|
|
6
5
|
import { useAuth } from '../Auth/index.js';
|
|
7
6
|
import { useConfig } from '../Config/index.js';
|
|
8
|
-
const LocaleContext =
|
|
9
|
-
export const LocaleLoadingContext =
|
|
7
|
+
const LocaleContext = createContext({});
|
|
8
|
+
export const LocaleLoadingContext = createContext({
|
|
10
9
|
localeIsLoading: false,
|
|
11
10
|
setLocaleIsLoading: (_)=>undefined
|
|
12
11
|
});
|
|
@@ -71,24 +70,14 @@ export const LocaleProvider = ({ children, /**
|
|
|
71
70
|
localeFromParams,
|
|
72
71
|
user?.id
|
|
73
72
|
]);
|
|
74
|
-
return
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}, void 0, false, {
|
|
83
|
-
fileName: "src/providers/Locale/index.tsx",
|
|
84
|
-
lineNumber: 116,
|
|
85
|
-
columnNumber: 7
|
|
86
|
-
}, this)
|
|
87
|
-
}, void 0, false, {
|
|
88
|
-
fileName: "src/providers/Locale/index.tsx",
|
|
89
|
-
lineNumber: 115,
|
|
90
|
-
columnNumber: 5
|
|
91
|
-
}, this);
|
|
73
|
+
return <LocaleContext value={locale}>
|
|
74
|
+
<LocaleLoadingContext value={{
|
|
75
|
+
localeIsLoading: isLoading,
|
|
76
|
+
setLocaleIsLoading
|
|
77
|
+
}}>
|
|
78
|
+
{children}
|
|
79
|
+
</LocaleLoadingContext>
|
|
80
|
+
</LocaleContext>;
|
|
92
81
|
};
|
|
93
82
|
export const useLocaleLoading = ()=>use(LocaleLoadingContext);
|
|
94
83
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Locale/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Locale } from 'payload'\n\nimport { useSearchParams } from 'next/navigation.js'\nimport React, { createContext, use, useEffect, useRef, useState } from 'react'\n\nimport { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\n\nconst LocaleContext = createContext({} as Locale)\n\nexport const LocaleLoadingContext = createContext({\n localeIsLoading: false,\n setLocaleIsLoading: (_: boolean) => undefined,\n})\n\nconst fetchPreferences = async <T extends Record<string, unknown> | string>(\n key: string,\n baseURL: string,\n): Promise<{ id: string; value: T }> =>\n await fetch(`${baseURL}/payload-preferences/${key}`, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n })?.then((res) => res.json() as Promise<{ id: string; value: T }>)\n\nexport const LocaleProvider: React.FC<{ children?: React.ReactNode; locale?: Locale['code'] }> = ({\n children,\n /**\n The `locale` prop originates from the root layout, which does not have access to search params\n This component uses the `useSearchParams` hook to get the locale from the URL as precedence over this prop\n This prop does not update as the user navigates the site, because the root layout does not re-render\n */\n locale: initialLocaleFromPrefs,\n}) => {\n const {\n config: {\n localization = false,\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { user } = useAuth()\n\n const defaultLocale = localization ? localization.defaultLocale : 'en'\n\n const localeFromParams = useSearchParams().get('locale')\n\n const [locale, setLocale] = React.useState<Locale>(() => {\n if (!localization || (localization && !localization.locales.length)) {\n // TODO: return null V4\n return {} as Locale\n }\n\n return (\n findLocaleFromCode(localization, localeFromParams) ||\n findLocaleFromCode(localization, initialLocaleFromPrefs) ||\n findLocaleFromCode(localization, defaultLocale) ||\n findLocaleFromCode(localization, localization.locales[0].code)\n )\n })\n\n const [isLoading, setLocaleIsLoading] = useState(false)\n\n const prevLocale = useRef<Locale>(locale)\n\n useEffect(() => {\n /**\n * We need to set `isLoading` back to false once the locale is detected to be different\n * This happens when the user clicks an anchor link which appends the `?locale=` query param\n * This triggers a client-side navigation, which re-renders the page with the new locale\n * In Next.js, local state is persisted during this type of navigation because components are not unmounted\n */\n if (locale.code !== prevLocale.current.code) {\n setLocaleIsLoading(false)\n }\n\n prevLocale.current = locale\n }, [locale])\n\n const fetchURL = `${serverURL}${apiRoute}`\n\n useEffect(() => {\n /**\n * This effect should only run when `localeFromParams` changes, i.e. when the user clicks an anchor link\n * The root layout, which sends the initial locale from prefs, will not re-render as the user navigates the site\n * For this reason, we need to fetch the locale from prefs if the search params clears the `locale` query param\n */\n async function resetLocale() {\n if (localization && user?.id) {\n const localeToUse =\n localeFromParams ||\n (await fetchPreferences<Locale['code']>('locale', fetchURL)?.then((res) => res.value))\n\n const newLocale =\n findLocaleFromCode(localization, localeToUse) ||\n findLocaleFromCode(localization, defaultLocale) ||\n findLocaleFromCode(localization, localization?.locales?.[0]?.code)\n\n if (newLocale) {\n setLocale(newLocale)\n }\n }\n }\n\n void resetLocale()\n }, [defaultLocale, localization, fetchURL, localeFromParams, user?.id])\n\n return (\n <LocaleContext value={locale}>\n <LocaleLoadingContext value={{ localeIsLoading: isLoading, setLocaleIsLoading }}>\n {children}\n </LocaleLoadingContext>\n </LocaleContext>\n )\n}\n\nexport const useLocaleLoading = () => use(LocaleLoadingContext)\n\n/**\n * TODO: V4\n * The return type of the `useLocale` hook will change in v4. It will return `null | Locale` instead of `false | {} | Locale`.\n */\nexport const useLocale = (): Locale => use(LocaleContext)\n"],"names":["useSearchParams","React","createContext","use","useEffect","useRef","useState","findLocaleFromCode","useAuth","useConfig","LocaleContext","LocaleLoadingContext","localeIsLoading","setLocaleIsLoading","_","undefined","fetchPreferences","key","baseURL","fetch","credentials","headers","method","then","res","json","LocaleProvider","children","locale","initialLocaleFromPrefs","config","localization","routes","api","apiRoute","serverURL","user","defaultLocale","localeFromParams","get","setLocale","locales","length","code","isLoading","prevLocale","current","fetchURL","resetLocale","id","localeToUse","value","newLocale","useLocaleLoading","useLocale"],"mappings":"AAAA
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Locale/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Locale } from 'payload'\n\nimport { useSearchParams } from 'next/navigation.js'\nimport React, { createContext, use, useEffect, useRef, useState } from 'react'\n\nimport { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\n\nconst LocaleContext = createContext({} as Locale)\n\nexport const LocaleLoadingContext = createContext({\n localeIsLoading: false,\n setLocaleIsLoading: (_: boolean) => undefined,\n})\n\nconst fetchPreferences = async <T extends Record<string, unknown> | string>(\n key: string,\n baseURL: string,\n): Promise<{ id: string; value: T }> =>\n await fetch(`${baseURL}/payload-preferences/${key}`, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n })?.then((res) => res.json() as Promise<{ id: string; value: T }>)\n\nexport const LocaleProvider: React.FC<{ children?: React.ReactNode; locale?: Locale['code'] }> = ({\n children,\n /**\n The `locale` prop originates from the root layout, which does not have access to search params\n This component uses the `useSearchParams` hook to get the locale from the URL as precedence over this prop\n This prop does not update as the user navigates the site, because the root layout does not re-render\n */\n locale: initialLocaleFromPrefs,\n}) => {\n const {\n config: {\n localization = false,\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { user } = useAuth()\n\n const defaultLocale = localization ? localization.defaultLocale : 'en'\n\n const localeFromParams = useSearchParams().get('locale')\n\n const [locale, setLocale] = React.useState<Locale>(() => {\n if (!localization || (localization && !localization.locales.length)) {\n // TODO: return null V4\n return {} as Locale\n }\n\n return (\n findLocaleFromCode(localization, localeFromParams) ||\n findLocaleFromCode(localization, initialLocaleFromPrefs) ||\n findLocaleFromCode(localization, defaultLocale) ||\n findLocaleFromCode(localization, localization.locales[0].code)\n )\n })\n\n const [isLoading, setLocaleIsLoading] = useState(false)\n\n const prevLocale = useRef<Locale>(locale)\n\n useEffect(() => {\n /**\n * We need to set `isLoading` back to false once the locale is detected to be different\n * This happens when the user clicks an anchor link which appends the `?locale=` query param\n * This triggers a client-side navigation, which re-renders the page with the new locale\n * In Next.js, local state is persisted during this type of navigation because components are not unmounted\n */\n if (locale.code !== prevLocale.current.code) {\n setLocaleIsLoading(false)\n }\n\n prevLocale.current = locale\n }, [locale])\n\n const fetchURL = `${serverURL}${apiRoute}`\n\n useEffect(() => {\n /**\n * This effect should only run when `localeFromParams` changes, i.e. when the user clicks an anchor link\n * The root layout, which sends the initial locale from prefs, will not re-render as the user navigates the site\n * For this reason, we need to fetch the locale from prefs if the search params clears the `locale` query param\n */\n async function resetLocale() {\n if (localization && user?.id) {\n const localeToUse =\n localeFromParams ||\n (await fetchPreferences<Locale['code']>('locale', fetchURL)?.then((res) => res.value))\n\n const newLocale =\n findLocaleFromCode(localization, localeToUse) ||\n findLocaleFromCode(localization, defaultLocale) ||\n findLocaleFromCode(localization, localization?.locales?.[0]?.code)\n\n if (newLocale) {\n setLocale(newLocale)\n }\n }\n }\n\n void resetLocale()\n }, [defaultLocale, localization, fetchURL, localeFromParams, user?.id])\n\n return (\n <LocaleContext value={locale}>\n <LocaleLoadingContext value={{ localeIsLoading: isLoading, setLocaleIsLoading }}>\n {children}\n </LocaleLoadingContext>\n </LocaleContext>\n )\n}\n\nexport const useLocaleLoading = () => use(LocaleLoadingContext)\n\n/**\n * TODO: V4\n * The return type of the `useLocale` hook will change in v4. It will return `null | Locale` instead of `false | {} | Locale`.\n */\nexport const useLocale = (): Locale => use(LocaleContext)\n"],"names":["useSearchParams","React","createContext","use","useEffect","useRef","useState","findLocaleFromCode","useAuth","useConfig","LocaleContext","LocaleLoadingContext","localeIsLoading","setLocaleIsLoading","_","undefined","fetchPreferences","key","baseURL","fetch","credentials","headers","method","then","res","json","LocaleProvider","children","locale","initialLocaleFromPrefs","config","localization","routes","api","apiRoute","serverURL","user","defaultLocale","localeFromParams","get","setLocale","locales","length","code","isLoading","prevLocale","current","fetchURL","resetLocale","id","localeToUse","value","newLocale","useLocaleLoading","useLocale"],"mappings":"AAAA;AAIA,SAASA,eAAe,QAAQ,qBAAoB;AACpD,OAAOC,SAASC,aAAa,EAAEC,GAAG,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AAE9E,SAASC,kBAAkB,QAAQ,wCAAuC;AAC1E,SAASC,OAAO,QAAQ,mBAAkB;AAC1C,SAASC,SAAS,QAAQ,qBAAoB;AAE9C,MAAMC,gBAAgBR,cAAc,CAAC;AAErC,OAAO,MAAMS,uBAAuBT,cAAc;IAChDU,iBAAiB;IACjBC,oBAAoB,CAACC,IAAeC;AACtC,GAAE;AAEF,MAAMC,mBAAmB,OACvBC,KACAC,UAEA,MAAMC,MAAM,GAAGD,QAAQ,qBAAqB,EAAED,KAAK,EAAE;QACnDG,aAAa;QACbC,SAAS;YACP,gBAAgB;QAClB;QACAC,QAAQ;IACV,IAAIC,KAAK,CAACC,MAAQA,IAAIC,IAAI;AAE5B,OAAO,MAAMC,iBAAoF,CAAC,EAChGC,QAAQ,EACR;;;;EAIA,GACAC,QAAQC,sBAAsB,EAC/B;IACC,MAAM,EACJC,QAAQ,EACNC,eAAe,KAAK,EACpBC,QAAQ,EAAEC,KAAKC,QAAQ,EAAE,EACzBC,SAAS,EACV,EACF,GAAG1B;IAEJ,MAAM,EAAE2B,IAAI,EAAE,GAAG5B;IAEjB,MAAM6B,gBAAgBN,eAAeA,aAAaM,aAAa,GAAG;IAElE,MAAMC,mBAAmBtC,kBAAkBuC,GAAG,CAAC;IAE/C,MAAM,CAACX,QAAQY,UAAU,GAAGvC,MAAMK,QAAQ,CAAS;QACjD,IAAI,CAACyB,gBAAiBA,gBAAgB,CAACA,aAAaU,OAAO,CAACC,MAAM,EAAG;YACnE,uBAAuB;YACvB,OAAO,CAAC;QACV;QAEA,OACEnC,mBAAmBwB,cAAcO,qBACjC/B,mBAAmBwB,cAAcF,2BACjCtB,mBAAmBwB,cAAcM,kBACjC9B,mBAAmBwB,cAAcA,aAAaU,OAAO,CAAC,EAAE,CAACE,IAAI;IAEjE;IAEA,MAAM,CAACC,WAAW/B,mBAAmB,GAAGP,SAAS;IAEjD,MAAMuC,aAAaxC,OAAeuB;IAElCxB,UAAU;QACR;;;;;KAKC,GACD,IAAIwB,OAAOe,IAAI,KAAKE,WAAWC,OAAO,CAACH,IAAI,EAAE;YAC3C9B,mBAAmB;QACrB;QAEAgC,WAAWC,OAAO,GAAGlB;IACvB,GAAG;QAACA;KAAO;IAEX,MAAMmB,WAAW,GAAGZ,YAAYD,UAAU;IAE1C9B,UAAU;QACR;;;;KAIC,GACD,eAAe4C;YACb,IAAIjB,gBAAgBK,MAAMa,IAAI;gBAC5B,MAAMC,cACJZ,oBACC,MAAMtB,iBAAiC,UAAU+B,WAAWxB,KAAK,CAACC,MAAQA,IAAI2B,KAAK;gBAEtF,MAAMC,YACJ7C,mBAAmBwB,cAAcmB,gBACjC3C,mBAAmBwB,cAAcM,kBACjC9B,mBAAmBwB,cAAcA,cAAcU,SAAS,CAAC,EAAE,EAAEE;gBAE/D,IAAIS,WAAW;oBACbZ,UAAUY;gBACZ;YACF;QACF;QAEA,KAAKJ;IACP,GAAG;QAACX;QAAeN;QAAcgB;QAAUT;QAAkBF,MAAMa;KAAG;IAEtE,QACGvC,cAAcyC,OAAOvB,QAAQ;MAC5B,CAACjB,qBAAqBwC,OAAO;QAAEvC,iBAAiBgC;QAAW/B;IAAmB,GAAG;QAC/E,CAACc,SAAS;MACZ,EAAEhB,qBAAqB;IACzB,EAAED;AAEN,EAAC;AAED,OAAO,MAAM2C,mBAAmB,IAAMlD,IAAIQ,sBAAqB;AAE/D;;;CAGC,GACD,OAAO,MAAM2C,YAAY,IAAcnD,IAAIO,eAAc"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export const
|
|
5
|
-
export const OperationProvider = ({ children, operation })=>/*#__PURE__*/ _jsxDEV(OperationContext, {
|
|
6
|
-
value: operation,
|
|
7
|
-
children: children
|
|
8
|
-
}, void 0, false, {
|
|
9
|
-
fileName: "src/providers/Operation/index.tsx",
|
|
10
|
-
lineNumber: 9,
|
|
11
|
-
columnNumber: 7
|
|
12
|
-
}, this);
|
|
2
|
+
import { createContext, use } from 'react';
|
|
3
|
+
export const OperationContext = createContext('');
|
|
4
|
+
export const OperationProvider = ({ children, operation })=><OperationContext value={operation}>{children}</OperationContext>;
|
|
13
5
|
export const useOperation = ()=>use(OperationContext);
|
|
14
6
|
|
|
15
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Operation/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use } from 'react'\n\nexport const OperationContext = createContext('' as Operation)\n\nexport const OperationProvider: React.FC<{ children: React.ReactNode; operation: Operation }> = ({\n children,\n operation,\n}) => <OperationContext value={operation}>{children}</OperationContext>\n\nexport type Operation = 'create' | 'update'\n\nexport const useOperation = (): Operation | undefined => use(OperationContext)\n"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Operation/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use } from 'react'\n\nexport const OperationContext = createContext('' as Operation)\n\nexport const OperationProvider: React.FC<{ children: React.ReactNode; operation: Operation }> = ({\n children,\n operation,\n}) => <OperationContext value={operation}>{children}</OperationContext>\n\nexport type Operation = 'create' | 'update'\n\nexport const useOperation = (): Operation | undefined => use(OperationContext)\n"],"names":["createContext","use","OperationContext","OperationProvider","children","operation","value","useOperation"],"mappings":"AAAA;AACA,SAAgBA,aAAa,EAAEC,GAAG,QAAQ,QAAO;AAEjD,OAAO,MAAMC,mBAAmBF,cAAc,IAAgB;AAE9D,OAAO,MAAMG,oBAAmF,CAAC,EAC/FC,QAAQ,EACRC,SAAS,EACV,IAAMH,iBAAiBI,OAAOD,YAAYD,WAAWF,kBAAiB;AAIvE,OAAO,MAAMK,eAAe,IAA6BN,IAAIC,kBAAiB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
2
|
import { useParams as useNextParams } from 'next/navigation.js';
|
|
4
|
-
import
|
|
5
|
-
const Context =
|
|
3
|
+
import { createContext, use } from 'react';
|
|
4
|
+
const Context = createContext({});
|
|
6
5
|
/**
|
|
7
6
|
* @deprecated
|
|
8
7
|
* The ParamsProvider is deprecated and will be removed in the next major release. Instead, use the `useParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.
|
|
@@ -12,14 +11,7 @@ const Context = /*#__PURE__*/ createContext({});
|
|
|
12
11
|
* ```
|
|
13
12
|
*/ export const ParamsProvider = ({ children })=>{
|
|
14
13
|
const params = useNextParams();
|
|
15
|
-
return
|
|
16
|
-
value: params,
|
|
17
|
-
children: children
|
|
18
|
-
}, void 0, false, {
|
|
19
|
-
fileName: "src/providers/Params/index.tsx",
|
|
20
|
-
lineNumber: 21,
|
|
21
|
-
columnNumber: 10
|
|
22
|
-
}, this);
|
|
14
|
+
return <Context value={params}>{children}</Context>;
|
|
23
15
|
};
|
|
24
16
|
/**
|
|
25
17
|
* @deprecated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Params/index.tsx"],"sourcesContent":["'use client'\n\nimport { useParams as useNextParams } from 'next/navigation.js'\nimport React, { createContext, use } from 'react'\n\nexport type Params = ReturnType<typeof useNextParams>\ninterface IParamsContext extends Params {}\n\nconst Context = createContext<IParamsContext>({} as IParamsContext)\n\n/**\n * @deprecated\n * The ParamsProvider is deprecated and will be removed in the next major release. Instead, use the `useParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.\n * @example\n * ```tsx\n * import { useParams } from 'next/navigation'\n * ```\n */\nexport const ParamsProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const params = useNextParams()\n return <Context value={params}>{children}</Context>\n}\n\n/**\n * @deprecated\n * The `useParams` hook is deprecated and will be removed in the next major release. Instead, use the `useParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.\n * @example\n * ```tsx\n * import { useParams } from 'next/navigation'\n * ```\n */\nexport const useParams = (): IParamsContext => use(Context)\n"],"names":["useParams","useNextParams","
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Params/index.tsx"],"sourcesContent":["'use client'\n\nimport { useParams as useNextParams } from 'next/navigation.js'\nimport React, { createContext, use } from 'react'\n\nexport type Params = ReturnType<typeof useNextParams>\ninterface IParamsContext extends Params {}\n\nconst Context = createContext<IParamsContext>({} as IParamsContext)\n\n/**\n * @deprecated\n * The ParamsProvider is deprecated and will be removed in the next major release. Instead, use the `useParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.\n * @example\n * ```tsx\n * import { useParams } from 'next/navigation'\n * ```\n */\nexport const ParamsProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const params = useNextParams()\n return <Context value={params}>{children}</Context>\n}\n\n/**\n * @deprecated\n * The `useParams` hook is deprecated and will be removed in the next major release. Instead, use the `useParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.\n * @example\n * ```tsx\n * import { useParams } from 'next/navigation'\n * ```\n */\nexport const useParams = (): IParamsContext => use(Context)\n"],"names":["useParams","useNextParams","createContext","use","Context","ParamsProvider","children","params","value"],"mappings":"AAAA;AAEA,SAASA,aAAaC,aAAa,QAAQ,qBAAoB;AAC/D,SAAgBC,aAAa,EAAEC,GAAG,QAAQ,QAAO;AAKjD,MAAMC,UAAUF,cAA8B,CAAC;AAE/C;;;;;;;CAOC,GACD,OAAO,MAAMG,iBAA2D,CAAC,EAAEC,QAAQ,EAAE;IACnF,MAAMC,SAASN;IACf,QAAQG,QAAQI,OAAOD,SAASD,WAAWF;AAC7C,EAAC;AAED;;;;;;;CAOC,GACD,OAAO,MAAMJ,YAAY,IAAsBG,IAAIC,SAAQ"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
2
|
import { dequal } from 'dequal/lite';
|
|
4
3
|
// lite: no need for Map and Set support
|
|
5
|
-
import
|
|
4
|
+
import { createContext, use, useCallback, useEffect, useRef } from 'react';
|
|
6
5
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
7
6
|
import { requests } from '../../utilities/api.js';
|
|
8
7
|
import { deepMergeSimple } from '../../utilities/deepMerge.js';
|
|
@@ -12,7 +11,7 @@ import { useConfig } from '../Config/index.js';
|
|
|
12
11
|
* @param key - a string identifier for the property being set
|
|
13
12
|
* @param value - preference data to store
|
|
14
13
|
* @param merge - when true will combine the existing preference object batch the change into one request for objects, default = false
|
|
15
|
-
*/ const Context =
|
|
14
|
+
*/ const Context = createContext({});
|
|
16
15
|
const requestOptions = (value, language)=>({
|
|
17
16
|
body: JSON.stringify({
|
|
18
17
|
value
|
|
@@ -120,14 +119,7 @@ export const PreferencesProvider = ({ children })=>{
|
|
|
120
119
|
]);
|
|
121
120
|
contextRef.current.getPreference = getPreference;
|
|
122
121
|
contextRef.current.setPreference = setPreference;
|
|
123
|
-
return
|
|
124
|
-
value: contextRef.current,
|
|
125
|
-
children: children
|
|
126
|
-
}, void 0, false, {
|
|
127
|
-
fileName: "src/providers/Preferences/index.tsx",
|
|
128
|
-
lineNumber: 162,
|
|
129
|
-
columnNumber: 10
|
|
130
|
-
}, this);
|
|
122
|
+
return <Context value={contextRef.current}>{children}</Context>;
|
|
131
123
|
};
|
|
132
124
|
export const usePreferences = ()=>use(Context);
|
|
133
125
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/providers/Preferences/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport React, { createContext, use, useCallback, useEffect, useRef } from 'react'\n\nimport type { Preferences } from '../../forms/Form/types.js'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { deepMergeSimple } from '../../utilities/deepMerge.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\n\ntype PreferencesContext = {\n getPreference: <T = Preferences>(key: string) => Promise<T>\n /**\n * @param key - a string identifier for the property being set\n * @param value - preference data to store\n * @param merge - when true will combine the existing preference object batch the change into one request for objects, default = false\n */\n setPreference: <T = Preferences>(key: string, value: T, merge?: boolean) => Promise<void>\n}\n\nconst Context = createContext({} as PreferencesContext)\n\nconst requestOptions = (value, language) => ({\n body: JSON.stringify({ value }),\n headers: {\n 'Accept-Language': language,\n 'Content-Type': 'application/json',\n },\n})\n\nexport const PreferencesProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const contextRef = useRef({} as PreferencesContext)\n const preferencesRef = useRef({})\n const pendingUpdate = useRef({})\n const { config } = useConfig()\n const { user } = useAuth()\n const { i18n } = useTranslation()\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n useEffect(() => {\n if (!user) {\n // clear preferences between users\n preferencesRef.current = {}\n }\n }, [user])\n\n const getPreference = useCallback(\n async <T = unknown,>(key: string): Promise<T> => {\n const prefs = preferencesRef.current\n\n if (typeof prefs[key] !== 'undefined') {\n return prefs[key]\n }\n\n const promise = new Promise((resolve: (value: T) => void) => {\n void (async () => {\n const request = await requests.get(`${serverURL}${api}/payload-preferences/${key}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n let value = null\n\n if (request.status === 200) {\n const preference = await request.json()\n value = preference.value\n }\n\n preferencesRef.current[key] = value\n\n resolve(value)\n })()\n })\n\n prefs[key] = promise\n\n return promise\n },\n [i18n.language, api, preferencesRef, serverURL],\n )\n\n const setPreference = useCallback(\n async (key: string, value: unknown, merge = false): Promise<void> => {\n if (merge === false) {\n preferencesRef.current[key] = value\n\n await requests.post(\n `${serverURL}${api}/payload-preferences/${key}`,\n requestOptions(value, i18n.language),\n )\n\n return\n }\n\n let newValue = value\n const currentPreference = await getPreference(key)\n\n // handle value objects where multiple values can be set under one key\n if (\n typeof value === 'object' &&\n typeof currentPreference === 'object' &&\n typeof newValue === 'object'\n ) {\n // merge the value with any existing preference for the key\n if (currentPreference) {\n newValue = deepMergeSimple(currentPreference, newValue)\n }\n\n if (dequal(newValue, currentPreference)) {\n return\n }\n\n // add the requested changes to a pendingUpdate batch for the key\n pendingUpdate.current[key] = {\n ...pendingUpdate.current[key],\n ...(newValue as Record<string, unknown>),\n }\n } else {\n if (newValue === currentPreference) {\n return\n }\n\n pendingUpdate.current[key] = newValue\n }\n\n const updatePreference = async () => {\n // compare the value stored in context before sending to eliminate duplicate requests\n if (dequal(pendingUpdate.current[key], preferencesRef.current[key])) {\n return\n }\n\n // preference set in context here to prevent other updatePreference at the same time\n preferencesRef.current[key] = pendingUpdate.current[key]\n\n await requests.post(\n `${serverURL}${api}/payload-preferences/${key}`,\n requestOptions(preferencesRef.current[key], i18n.language),\n )\n\n // reset any changes for this key after sending the request\n delete pendingUpdate.current[key]\n }\n\n // use timeout to allow multiple changes of different values using the same key in one request\n setTimeout(() => {\n void updatePreference()\n })\n },\n [api, getPreference, i18n.language, pendingUpdate, serverURL],\n )\n\n contextRef.current.getPreference = getPreference\n contextRef.current.setPreference = setPreference\n return <Context value={contextRef.current}>{children}</Context>\n}\n\nexport const usePreferences = (): PreferencesContext => use(Context)\n"],"names":["dequal","
|
|
1
|
+
{"version":3,"sources":["../../../src/providers/Preferences/index.tsx"],"sourcesContent":["'use client'\nimport { dequal } from 'dequal/lite' // lite: no need for Map and Set support\nimport React, { createContext, use, useCallback, useEffect, useRef } from 'react'\n\nimport type { Preferences } from '../../forms/Form/types.js'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { deepMergeSimple } from '../../utilities/deepMerge.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\n\ntype PreferencesContext = {\n getPreference: <T = Preferences>(key: string) => Promise<T>\n /**\n * @param key - a string identifier for the property being set\n * @param value - preference data to store\n * @param merge - when true will combine the existing preference object batch the change into one request for objects, default = false\n */\n setPreference: <T = Preferences>(key: string, value: T, merge?: boolean) => Promise<void>\n}\n\nconst Context = createContext({} as PreferencesContext)\n\nconst requestOptions = (value, language) => ({\n body: JSON.stringify({ value }),\n headers: {\n 'Accept-Language': language,\n 'Content-Type': 'application/json',\n },\n})\n\nexport const PreferencesProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const contextRef = useRef({} as PreferencesContext)\n const preferencesRef = useRef({})\n const pendingUpdate = useRef({})\n const { config } = useConfig()\n const { user } = useAuth()\n const { i18n } = useTranslation()\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n useEffect(() => {\n if (!user) {\n // clear preferences between users\n preferencesRef.current = {}\n }\n }, [user])\n\n const getPreference = useCallback(\n async <T = unknown,>(key: string): Promise<T> => {\n const prefs = preferencesRef.current\n\n if (typeof prefs[key] !== 'undefined') {\n return prefs[key]\n }\n\n const promise = new Promise((resolve: (value: T) => void) => {\n void (async () => {\n const request = await requests.get(`${serverURL}${api}/payload-preferences/${key}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n let value = null\n\n if (request.status === 200) {\n const preference = await request.json()\n value = preference.value\n }\n\n preferencesRef.current[key] = value\n\n resolve(value)\n })()\n })\n\n prefs[key] = promise\n\n return promise\n },\n [i18n.language, api, preferencesRef, serverURL],\n )\n\n const setPreference = useCallback(\n async (key: string, value: unknown, merge = false): Promise<void> => {\n if (merge === false) {\n preferencesRef.current[key] = value\n\n await requests.post(\n `${serverURL}${api}/payload-preferences/${key}`,\n requestOptions(value, i18n.language),\n )\n\n return\n }\n\n let newValue = value\n const currentPreference = await getPreference(key)\n\n // handle value objects where multiple values can be set under one key\n if (\n typeof value === 'object' &&\n typeof currentPreference === 'object' &&\n typeof newValue === 'object'\n ) {\n // merge the value with any existing preference for the key\n if (currentPreference) {\n newValue = deepMergeSimple(currentPreference, newValue)\n }\n\n if (dequal(newValue, currentPreference)) {\n return\n }\n\n // add the requested changes to a pendingUpdate batch for the key\n pendingUpdate.current[key] = {\n ...pendingUpdate.current[key],\n ...(newValue as Record<string, unknown>),\n }\n } else {\n if (newValue === currentPreference) {\n return\n }\n\n pendingUpdate.current[key] = newValue\n }\n\n const updatePreference = async () => {\n // compare the value stored in context before sending to eliminate duplicate requests\n if (dequal(pendingUpdate.current[key], preferencesRef.current[key])) {\n return\n }\n\n // preference set in context here to prevent other updatePreference at the same time\n preferencesRef.current[key] = pendingUpdate.current[key]\n\n await requests.post(\n `${serverURL}${api}/payload-preferences/${key}`,\n requestOptions(preferencesRef.current[key], i18n.language),\n )\n\n // reset any changes for this key after sending the request\n delete pendingUpdate.current[key]\n }\n\n // use timeout to allow multiple changes of different values using the same key in one request\n setTimeout(() => {\n void updatePreference()\n })\n },\n [api, getPreference, i18n.language, pendingUpdate, serverURL],\n )\n\n contextRef.current.getPreference = getPreference\n contextRef.current.setPreference = setPreference\n return <Context value={contextRef.current}>{children}</Context>\n}\n\nexport const usePreferences = (): PreferencesContext => use(Context)\n"],"names":["dequal","createContext","use","useCallback","useEffect","useRef","useTranslation","requests","deepMergeSimple","useAuth","useConfig","Context","requestOptions","value","language","body","JSON","stringify","headers","PreferencesProvider","children","contextRef","preferencesRef","pendingUpdate","config","user","i18n","routes","api","serverURL","current","getPreference","key","prefs","promise","Promise","resolve","request","get","credentials","status","preference","json","setPreference","merge","post","newValue","currentPreference","updatePreference","setTimeout","usePreferences"],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
2
|
import { DndContext, pointerWithin } from '@dnd-kit/core';
|
|
4
3
|
import { ModalContainer, ModalProvider } from '@faceless-ui/modal';
|
|
5
4
|
import { ScrollInfoProvider } from '@faceless-ui/scroll-info';
|
|
@@ -28,192 +27,60 @@ import { TranslationProvider } from '../Translation/index.js';
|
|
|
28
27
|
import { UploadHandlersProvider } from '../UploadHandlers/index.js';
|
|
29
28
|
export const RootProvider = ({ children, config, dateFNSKey, fallbackLang, isNavOpen, languageCode, languageOptions, locale, permissions, serverFunction, switchLanguageServerAction, theme, translations, user })=>{
|
|
30
29
|
const dndContextID = React.useId();
|
|
31
|
-
return
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
id: dndContextID,
|
|
86
|
-
children: children
|
|
87
|
-
}, void 0, false, {
|
|
88
|
-
fileName: "src/providers/Root/index.tsx",
|
|
89
|
-
lineNumber: 116,
|
|
90
|
-
columnNumber: 47
|
|
91
|
-
}, this)
|
|
92
|
-
}, void 0, false, {
|
|
93
|
-
fileName: "src/providers/Root/index.tsx",
|
|
94
|
-
lineNumber: 115,
|
|
95
|
-
columnNumber: 45
|
|
96
|
-
}, this)
|
|
97
|
-
}, void 0, false, {
|
|
98
|
-
fileName: "src/providers/Root/index.tsx",
|
|
99
|
-
lineNumber: 114,
|
|
100
|
-
columnNumber: 43
|
|
101
|
-
}, this)
|
|
102
|
-
}, void 0, false, {
|
|
103
|
-
fileName: "src/providers/Root/index.tsx",
|
|
104
|
-
lineNumber: 113,
|
|
105
|
-
columnNumber: 41
|
|
106
|
-
}, this)
|
|
107
|
-
}, void 0, false, {
|
|
108
|
-
fileName: "src/providers/Root/index.tsx",
|
|
109
|
-
lineNumber: 112,
|
|
110
|
-
columnNumber: 39
|
|
111
|
-
}, this)
|
|
112
|
-
}, void 0, false, {
|
|
113
|
-
fileName: "src/providers/Root/index.tsx",
|
|
114
|
-
lineNumber: 111,
|
|
115
|
-
columnNumber: 37
|
|
116
|
-
}, this)
|
|
117
|
-
}, void 0, false, {
|
|
118
|
-
fileName: "src/providers/Root/index.tsx",
|
|
119
|
-
lineNumber: 110,
|
|
120
|
-
columnNumber: 35
|
|
121
|
-
}, this)
|
|
122
|
-
}, void 0, false, {
|
|
123
|
-
fileName: "src/providers/Root/index.tsx",
|
|
124
|
-
lineNumber: 109,
|
|
125
|
-
columnNumber: 33
|
|
126
|
-
}, this)
|
|
127
|
-
}, void 0, false, {
|
|
128
|
-
fileName: "src/providers/Root/index.tsx",
|
|
129
|
-
lineNumber: 108,
|
|
130
|
-
columnNumber: 31
|
|
131
|
-
}, this)
|
|
132
|
-
}, void 0, false, {
|
|
133
|
-
fileName: "src/providers/Root/index.tsx",
|
|
134
|
-
lineNumber: 107,
|
|
135
|
-
columnNumber: 29
|
|
136
|
-
}, this),
|
|
137
|
-
/*#__PURE__*/ _jsxDEV(ModalContainer, {}, void 0, false, {
|
|
138
|
-
fileName: "src/providers/Root/index.tsx",
|
|
139
|
-
lineNumber: 131,
|
|
140
|
-
columnNumber: 29
|
|
141
|
-
}, this),
|
|
142
|
-
/*#__PURE__*/ _jsxDEV(StayLoggedInModal, {}, void 0, false, {
|
|
143
|
-
fileName: "src/providers/Root/index.tsx",
|
|
144
|
-
lineNumber: 132,
|
|
145
|
-
columnNumber: 29
|
|
146
|
-
}, this)
|
|
147
|
-
]
|
|
148
|
-
}, void 0, true, {
|
|
149
|
-
fileName: "src/providers/Root/index.tsx",
|
|
150
|
-
lineNumber: 106,
|
|
151
|
-
columnNumber: 27
|
|
152
|
-
}, this)
|
|
153
|
-
]
|
|
154
|
-
}, void 0, true, {
|
|
155
|
-
fileName: "src/providers/Root/index.tsx",
|
|
156
|
-
lineNumber: 104,
|
|
157
|
-
columnNumber: 25
|
|
158
|
-
}, this)
|
|
159
|
-
}, void 0, false, {
|
|
160
|
-
fileName: "src/providers/Root/index.tsx",
|
|
161
|
-
lineNumber: 103,
|
|
162
|
-
columnNumber: 23
|
|
163
|
-
}, this)
|
|
164
|
-
}, void 0, false, {
|
|
165
|
-
fileName: "src/providers/Root/index.tsx",
|
|
166
|
-
lineNumber: 102,
|
|
167
|
-
columnNumber: 21
|
|
168
|
-
}, this)
|
|
169
|
-
}, void 0, false, {
|
|
170
|
-
fileName: "src/providers/Root/index.tsx",
|
|
171
|
-
lineNumber: 94,
|
|
172
|
-
columnNumber: 19
|
|
173
|
-
}, this)
|
|
174
|
-
}, void 0, false, {
|
|
175
|
-
fileName: "src/providers/Root/index.tsx",
|
|
176
|
-
lineNumber: 86,
|
|
177
|
-
columnNumber: 17
|
|
178
|
-
}, this)
|
|
179
|
-
}, void 0, false, {
|
|
180
|
-
fileName: "src/providers/Root/index.tsx",
|
|
181
|
-
lineNumber: 85,
|
|
182
|
-
columnNumber: 15
|
|
183
|
-
}, this)
|
|
184
|
-
}, void 0, false, {
|
|
185
|
-
fileName: "src/providers/Root/index.tsx",
|
|
186
|
-
lineNumber: 84,
|
|
187
|
-
columnNumber: 13
|
|
188
|
-
}, this)
|
|
189
|
-
}, void 0, false, {
|
|
190
|
-
fileName: "src/providers/Root/index.tsx",
|
|
191
|
-
lineNumber: 81,
|
|
192
|
-
columnNumber: 11
|
|
193
|
-
}, this)
|
|
194
|
-
}, void 0, false, {
|
|
195
|
-
fileName: "src/providers/Root/index.tsx",
|
|
196
|
-
lineNumber: 80,
|
|
197
|
-
columnNumber: 9
|
|
198
|
-
}, this)
|
|
199
|
-
}, void 0, false, {
|
|
200
|
-
fileName: "src/providers/Root/index.tsx",
|
|
201
|
-
lineNumber: 79,
|
|
202
|
-
columnNumber: 7
|
|
203
|
-
}, this),
|
|
204
|
-
/*#__PURE__*/ _jsxDEV(ToastContainer, {
|
|
205
|
-
config: config
|
|
206
|
-
}, void 0, false, {
|
|
207
|
-
fileName: "src/providers/Root/index.tsx",
|
|
208
|
-
lineNumber: 144,
|
|
209
|
-
columnNumber: 7
|
|
210
|
-
}, this)
|
|
211
|
-
]
|
|
212
|
-
}, void 0, true, {
|
|
213
|
-
fileName: "src/providers/Root/index.tsx",
|
|
214
|
-
lineNumber: 78,
|
|
215
|
-
columnNumber: 5
|
|
216
|
-
}, this);
|
|
30
|
+
return <ClickOutsideProvider>
|
|
31
|
+
<ServerFunctionsProvider serverFunction={serverFunction}>
|
|
32
|
+
<RouteTransitionProvider>
|
|
33
|
+
<RouteCache cachingEnabled={process.env.NEXT_PUBLIC_ENABLE_ROUTER_CACHE_REFRESH === 'true'}>
|
|
34
|
+
<ConfigProvider config={config}>
|
|
35
|
+
<ClientFunctionProvider>
|
|
36
|
+
<TranslationProvider dateFNSKey={dateFNSKey} fallbackLang={fallbackLang} language={languageCode} languageOptions={languageOptions} switchLanguageServerAction={switchLanguageServerAction} translations={translations}>
|
|
37
|
+
<WindowInfoProvider breakpoints={{
|
|
38
|
+
l: '(max-width: 1440px)',
|
|
39
|
+
m: '(max-width: 1024px)',
|
|
40
|
+
s: '(max-width: 768px)',
|
|
41
|
+
xs: '(max-width: 400px)'
|
|
42
|
+
}}>
|
|
43
|
+
<ScrollInfoProvider>
|
|
44
|
+
<SearchParamsProvider>
|
|
45
|
+
<ModalProvider classPrefix="payload" transTime={0} zIndex="var(--z-modal)">
|
|
46
|
+
<CloseModalOnRouteChange/>
|
|
47
|
+
<AuthProvider permissions={permissions} user={user}>
|
|
48
|
+
<PreferencesProvider>
|
|
49
|
+
<ThemeProvider theme={theme}>
|
|
50
|
+
<ParamsProvider>
|
|
51
|
+
<LocaleProvider locale={locale}>
|
|
52
|
+
<StepNavProvider>
|
|
53
|
+
<LoadingOverlayProvider>
|
|
54
|
+
<DocumentEventsProvider>
|
|
55
|
+
<NavProvider initialIsOpen={isNavOpen}>
|
|
56
|
+
<UploadHandlersProvider>
|
|
57
|
+
<DndContext collisionDetection={pointerWithin} id={dndContextID}>
|
|
58
|
+
{children}
|
|
59
|
+
</DndContext>
|
|
60
|
+
</UploadHandlersProvider>
|
|
61
|
+
</NavProvider>
|
|
62
|
+
</DocumentEventsProvider>
|
|
63
|
+
</LoadingOverlayProvider>
|
|
64
|
+
</StepNavProvider>
|
|
65
|
+
</LocaleProvider>
|
|
66
|
+
</ParamsProvider>
|
|
67
|
+
</ThemeProvider>
|
|
68
|
+
</PreferencesProvider>
|
|
69
|
+
<ModalContainer/>
|
|
70
|
+
<StayLoggedInModal/>
|
|
71
|
+
</AuthProvider>
|
|
72
|
+
</ModalProvider>
|
|
73
|
+
</SearchParamsProvider>
|
|
74
|
+
</ScrollInfoProvider>
|
|
75
|
+
</WindowInfoProvider>
|
|
76
|
+
</TranslationProvider>
|
|
77
|
+
</ClientFunctionProvider>
|
|
78
|
+
</ConfigProvider>
|
|
79
|
+
</RouteCache>
|
|
80
|
+
</RouteTransitionProvider>
|
|
81
|
+
</ServerFunctionsProvider>
|
|
82
|
+
<ToastContainer config={config}/>
|
|
83
|
+
</ClickOutsideProvider>;
|
|
217
84
|
};
|
|
218
85
|
|
|
219
86
|
//# sourceMappingURL=index.js.map
|