@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,5 +1,4 @@
|
|
|
1
1
|
/* eslint-disable no-console */ 'use client';
|
|
2
|
-
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
3
2
|
import { TZDateMini as TZDate } from '@date-fns/tz/date/mini';
|
|
4
3
|
import { useModal } from '@faceless-ui/modal';
|
|
5
4
|
import { getTranslation } from '@payloadcms/translations';
|
|
@@ -251,249 +250,50 @@ export const ScheduleDrawer = ({ slug, defaultType, schedulePublishConfig })=>{
|
|
|
251
250
|
}, [
|
|
252
251
|
date
|
|
253
252
|
]);
|
|
254
|
-
return
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
children: /*#__PURE__*/ _jsxDEV(Radio, {
|
|
299
|
-
id: `${slug}-type`,
|
|
300
|
-
isSelected: type === 'publish',
|
|
301
|
-
onChange: ()=>setType('publish'),
|
|
302
|
-
option: {
|
|
303
|
-
label: t('version:publish'),
|
|
304
|
-
value: 'publish'
|
|
305
|
-
},
|
|
306
|
-
path: `${slug}-type`,
|
|
307
|
-
readOnly: processing
|
|
308
|
-
}, void 0, false, {
|
|
309
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
310
|
-
lineNumber: 318,
|
|
311
|
-
columnNumber: 13
|
|
312
|
-
}, this)
|
|
313
|
-
}, void 0, false, {
|
|
314
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
315
|
-
lineNumber: 317,
|
|
316
|
-
columnNumber: 11
|
|
317
|
-
}, this),
|
|
318
|
-
/*#__PURE__*/ _jsxDEV("li", {
|
|
319
|
-
children: /*#__PURE__*/ _jsxDEV(Radio, {
|
|
320
|
-
id: `${slug}-type`,
|
|
321
|
-
isSelected: type === 'unpublish',
|
|
322
|
-
onChange: ()=>setType('unpublish'),
|
|
323
|
-
option: {
|
|
324
|
-
label: t('version:unpublish'),
|
|
325
|
-
value: 'unpublish'
|
|
326
|
-
},
|
|
327
|
-
path: `${slug}-type`,
|
|
328
|
-
readOnly: processing
|
|
329
|
-
}, void 0, false, {
|
|
330
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
331
|
-
lineNumber: 328,
|
|
332
|
-
columnNumber: 13
|
|
333
|
-
}, this)
|
|
334
|
-
}, void 0, false, {
|
|
335
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
336
|
-
lineNumber: 327,
|
|
337
|
-
columnNumber: 11
|
|
338
|
-
}, this)
|
|
339
|
-
]
|
|
340
|
-
}, void 0, true, {
|
|
341
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
342
|
-
lineNumber: 316,
|
|
343
|
-
columnNumber: 9
|
|
344
|
-
}, this),
|
|
345
|
-
/*#__PURE__*/ _jsxDEV("br", {}, void 0, false, {
|
|
346
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
347
|
-
lineNumber: 338,
|
|
348
|
-
columnNumber: 9
|
|
349
|
-
}, this),
|
|
350
|
-
/*#__PURE__*/ _jsxDEV(FieldLabel, {
|
|
351
|
-
label: t('general:time'),
|
|
352
|
-
path: 'time',
|
|
353
|
-
required: true
|
|
354
|
-
}, void 0, false, {
|
|
355
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
356
|
-
lineNumber: 339,
|
|
357
|
-
columnNumber: 9
|
|
358
|
-
}, this),
|
|
359
|
-
/*#__PURE__*/ _jsxDEV(DatePickerField, {
|
|
360
|
-
id: "time",
|
|
361
|
-
maxTime: endOfToday(),
|
|
362
|
-
minDate: new Date(),
|
|
363
|
-
minTime: minTime,
|
|
364
|
-
onChange: (e)=>onChangeDate(e),
|
|
365
|
-
pickerAppearance: "dayAndTime",
|
|
366
|
-
readOnly: processing,
|
|
367
|
-
timeFormat: schedulePublishConfig?.timeFormat,
|
|
368
|
-
timeIntervals: schedulePublishConfig?.timeIntervals ?? 5,
|
|
369
|
-
value: displayedValue
|
|
370
|
-
}, void 0, false, {
|
|
371
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
372
|
-
lineNumber: 340,
|
|
373
|
-
columnNumber: 9
|
|
374
|
-
}, this),
|
|
375
|
-
supportedTimezones.length > 0 && /*#__PURE__*/ _jsxDEV(TimezonePicker, {
|
|
376
|
-
id: `timezone-picker`,
|
|
377
|
-
onChange: setTimezone,
|
|
378
|
-
options: supportedTimezones,
|
|
379
|
-
selectedTimezone: timezone
|
|
380
|
-
}, void 0, false, {
|
|
381
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
382
|
-
lineNumber: 353,
|
|
383
|
-
columnNumber: 11
|
|
384
|
-
}, this),
|
|
385
|
-
/*#__PURE__*/ _jsxDEV("br", {}, void 0, false, {
|
|
386
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
387
|
-
lineNumber: 360,
|
|
388
|
-
columnNumber: 9
|
|
389
|
-
}, this),
|
|
390
|
-
localeOptions.length > 0 && type === 'publish' && /*#__PURE__*/ _jsxDEV(React.Fragment, {
|
|
391
|
-
children: [
|
|
392
|
-
/*#__PURE__*/ _jsxDEV(FieldLabel, {
|
|
393
|
-
label: t('localization:localeToPublish')
|
|
394
|
-
}, void 0, false, {
|
|
395
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
396
|
-
lineNumber: 363,
|
|
397
|
-
columnNumber: 13
|
|
398
|
-
}, this),
|
|
399
|
-
/*#__PURE__*/ _jsxDEV(ReactSelect, {
|
|
400
|
-
onChange: (e)=>setLocale(e),
|
|
401
|
-
options: localeOptions,
|
|
402
|
-
value: locale
|
|
403
|
-
}, void 0, false, {
|
|
404
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
405
|
-
lineNumber: 364,
|
|
406
|
-
columnNumber: 13
|
|
407
|
-
}, this),
|
|
408
|
-
/*#__PURE__*/ _jsxDEV("br", {}, void 0, false, {
|
|
409
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
410
|
-
lineNumber: 369,
|
|
411
|
-
columnNumber: 13
|
|
412
|
-
}, this)
|
|
413
|
-
]
|
|
414
|
-
}, void 0, true, {
|
|
415
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
416
|
-
lineNumber: 362,
|
|
417
|
-
columnNumber: 11
|
|
418
|
-
}, this),
|
|
419
|
-
/*#__PURE__*/ _jsxDEV("div", {
|
|
420
|
-
className: `${baseClass}__actions`,
|
|
421
|
-
children: [
|
|
422
|
-
/*#__PURE__*/ _jsxDEV(Button, {
|
|
423
|
-
buttonStyle: "primary",
|
|
424
|
-
disabled: processing,
|
|
425
|
-
id: "scheduled-publish-save",
|
|
426
|
-
onClick: handleSave,
|
|
427
|
-
type: "button",
|
|
428
|
-
children: t('general:save')
|
|
429
|
-
}, void 0, false, {
|
|
430
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
431
|
-
lineNumber: 373,
|
|
432
|
-
columnNumber: 11
|
|
433
|
-
}, this),
|
|
434
|
-
processing ? /*#__PURE__*/ _jsxDEV("span", {
|
|
435
|
-
children: t('general:saving')
|
|
436
|
-
}, void 0, false, {
|
|
437
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
438
|
-
lineNumber: 382,
|
|
439
|
-
columnNumber: 25
|
|
440
|
-
}, this) : null
|
|
441
|
-
]
|
|
442
|
-
}, void 0, true, {
|
|
443
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
444
|
-
lineNumber: 372,
|
|
445
|
-
columnNumber: 9
|
|
446
|
-
}, this)
|
|
447
|
-
]
|
|
448
|
-
}, void 0, true, {
|
|
449
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
450
|
-
lineNumber: 314,
|
|
451
|
-
columnNumber: 7
|
|
452
|
-
}, this),
|
|
453
|
-
/*#__PURE__*/ _jsxDEV(Gutter, {
|
|
454
|
-
className: `${baseClass}__upcoming`,
|
|
455
|
-
children: [
|
|
456
|
-
/*#__PURE__*/ _jsxDEV("h4", {
|
|
457
|
-
children: t('general:upcomingEvents')
|
|
458
|
-
}, void 0, false, {
|
|
459
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
460
|
-
lineNumber: 386,
|
|
461
|
-
columnNumber: 9
|
|
462
|
-
}, this),
|
|
463
|
-
!upcoming && /*#__PURE__*/ _jsxDEV(ShimmerEffect, {}, void 0, false, {
|
|
464
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
465
|
-
lineNumber: 387,
|
|
466
|
-
columnNumber: 23
|
|
467
|
-
}, this),
|
|
468
|
-
upcoming?.length === 0 && /*#__PURE__*/ _jsxDEV(Banner, {
|
|
469
|
-
type: "info",
|
|
470
|
-
children: t('general:noUpcomingEventsScheduled')
|
|
471
|
-
}, void 0, false, {
|
|
472
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
473
|
-
lineNumber: 389,
|
|
474
|
-
columnNumber: 11
|
|
475
|
-
}, this),
|
|
476
|
-
upcoming?.length > 0 && /*#__PURE__*/ _jsxDEV(Table, {
|
|
477
|
-
appearance: "condensed",
|
|
478
|
-
columns: upcomingColumns,
|
|
479
|
-
data: upcoming
|
|
480
|
-
}, void 0, false, {
|
|
481
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
482
|
-
lineNumber: 392,
|
|
483
|
-
columnNumber: 11
|
|
484
|
-
}, this)
|
|
485
|
-
]
|
|
486
|
-
}, void 0, true, {
|
|
487
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
488
|
-
lineNumber: 385,
|
|
489
|
-
columnNumber: 7
|
|
490
|
-
}, this)
|
|
491
|
-
]
|
|
492
|
-
}, void 0, true, {
|
|
493
|
-
fileName: "src/elements/PublishButton/ScheduleDrawer/index.tsx",
|
|
494
|
-
lineNumber: 303,
|
|
495
|
-
columnNumber: 5
|
|
496
|
-
}, this);
|
|
253
|
+
return <Drawer className={baseClass} gutter={false} Header={<div className={`${baseClass}__drawer-header`}>
|
|
254
|
+
<h2 title={modalTitle}>{modalTitle}</h2>
|
|
255
|
+
<DrawerCloseButton onClick={()=>toggleModal(slug)}/>
|
|
256
|
+
</div>} slug={slug}>
|
|
257
|
+
<Gutter className={`${baseClass}__scheduler`}>
|
|
258
|
+
<FieldLabel label={t('version:type')} required/>
|
|
259
|
+
<ul className={`${baseClass}__type`}>
|
|
260
|
+
<li>
|
|
261
|
+
<Radio id={`${slug}-type`} isSelected={type === 'publish'} onChange={()=>setType('publish')} option={{
|
|
262
|
+
label: t('version:publish'),
|
|
263
|
+
value: 'publish'
|
|
264
|
+
}} path={`${slug}-type`} readOnly={processing}/>
|
|
265
|
+
</li>
|
|
266
|
+
<li>
|
|
267
|
+
<Radio id={`${slug}-type`} isSelected={type === 'unpublish'} onChange={()=>setType('unpublish')} option={{
|
|
268
|
+
label: t('version:unpublish'),
|
|
269
|
+
value: 'unpublish'
|
|
270
|
+
}} path={`${slug}-type`} readOnly={processing}/>
|
|
271
|
+
</li>
|
|
272
|
+
</ul>
|
|
273
|
+
<br/>
|
|
274
|
+
<FieldLabel label={t('general:time')} path={'time'} required/>
|
|
275
|
+
<DatePickerField id="time" maxTime={endOfToday()} minDate={new Date()} minTime={minTime} onChange={(e)=>onChangeDate(e)} pickerAppearance="dayAndTime" readOnly={processing} timeFormat={schedulePublishConfig?.timeFormat} timeIntervals={schedulePublishConfig?.timeIntervals ?? 5} value={displayedValue}/>
|
|
276
|
+
{supportedTimezones.length > 0 && <TimezonePicker id={`timezone-picker`} onChange={setTimezone} options={supportedTimezones} selectedTimezone={timezone}/>}
|
|
277
|
+
<br/>
|
|
278
|
+
{localeOptions.length > 0 && type === 'publish' && <React.Fragment>
|
|
279
|
+
<FieldLabel label={t('localization:localeToPublish')}/>
|
|
280
|
+
<ReactSelect onChange={(e)=>setLocale(e)} options={localeOptions} value={locale}/>
|
|
281
|
+
<br/>
|
|
282
|
+
</React.Fragment>}
|
|
283
|
+
<div className={`${baseClass}__actions`}>
|
|
284
|
+
<Button buttonStyle="primary" disabled={processing} id="scheduled-publish-save" onClick={handleSave} type="button">
|
|
285
|
+
{t('general:save')}
|
|
286
|
+
</Button>
|
|
287
|
+
{processing ? <span>{t('general:saving')}</span> : null}
|
|
288
|
+
</div>
|
|
289
|
+
</Gutter>
|
|
290
|
+
<Gutter className={`${baseClass}__upcoming`}>
|
|
291
|
+
<h4>{t('general:upcomingEvents')}</h4>
|
|
292
|
+
{!upcoming && <ShimmerEffect/>}
|
|
293
|
+
{upcoming?.length === 0 && <Banner type="info">{t('general:noUpcomingEventsScheduled')}</Banner>}
|
|
294
|
+
{upcoming?.length > 0 && <Table appearance="condensed" columns={upcomingColumns} data={upcoming}/>}
|
|
295
|
+
</Gutter>
|
|
296
|
+
</Drawer>;
|
|
497
297
|
};
|
|
498
298
|
|
|
499
299
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"sourcesContent":["/* eslint-disable no-console */\n'use client'\n\nimport type { Column, SchedulePublish, Where } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { endOfToday, isToday, startOfDay } from 'date-fns'\nimport { transpose } from 'date-fns/transpose'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishType, UpcomingEvent } from './types.js'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { Radio } from '../../../fields/RadioGroup/Radio/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { Banner } from '../../Banner/index.js'\nimport { DrawerCloseButton } from '../../BulkUpload/DrawerCloseButton/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DatePickerField } from '../../DatePicker/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { Gutter } from '../../Gutter/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport './index.scss'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Table } from '../../Table/index.js'\nimport { TimezonePicker } from '../../TimezonePicker/index.js'\nimport { buildUpcomingColumns } from './buildUpcomingColumns.js'\n\nconst baseClass = 'schedule-publish'\n\ntype Props = {\n defaultType?: PublishType\n schedulePublishConfig?: SchedulePublish\n slug: string\n}\n\nconst defaultLocaleOption = {\n label: 'All',\n value: 'all',\n}\n\nexport const ScheduleDrawer: React.FC<Props> = ({ slug, defaultType, schedulePublishConfig }) => {\n const { toggleModal } = useModal()\n const {\n config: {\n admin: {\n dateFormat,\n timezones: { defaultTimezone, supportedTimezones },\n },\n localization,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { title } = useDocumentTitle()\n const { i18n, t } = useTranslation()\n const { schedulePublish } = useServerFunctions()\n const [type, setType] = React.useState<PublishType>(defaultType || 'publish')\n const [date, setDate] = React.useState<Date>()\n const [timezone, setTimezone] = React.useState<string>(defaultTimezone)\n const [locale, setLocale] = React.useState<{ label: string; value: string }>(defaultLocaleOption)\n const [processing, setProcessing] = React.useState(false)\n const modalTitle = t('general:schedulePublishFor', { title })\n const [upcoming, setUpcoming] = React.useState<UpcomingEvent[]>()\n const [upcomingColumns, setUpcomingColumns] = React.useState<Column[]>()\n const deleteHandlerRef = React.useRef<((id: number | string) => Promise<void>) | null>(() => null)\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const localeOptions = React.useMemo(() => {\n if (localization) {\n const options = localization.locales.map(({ code, label }) => ({\n label: getTranslation(label, i18n),\n value: code,\n }))\n\n options.unshift(defaultLocaleOption)\n\n return options\n }\n\n return []\n }, [localization, i18n])\n\n const fetchUpcoming = React.useCallback(async () => {\n const query: { sort: string; where: Where } = {\n sort: 'waitUntil',\n where: {\n and: [\n {\n taskSlug: {\n equals: 'schedulePublish',\n },\n },\n {\n waitUntil: {\n greater_than: new Date(),\n },\n },\n ],\n },\n }\n\n if (collectionSlug) {\n query.where.and.push({\n 'input.doc.value': {\n equals: String(id),\n },\n })\n query.where.and.push({\n 'input.doc.relationTo': {\n equals: collectionSlug,\n },\n })\n }\n\n if (globalSlug) {\n query.where.and.push({\n 'input.global': {\n equals: globalSlug,\n },\n })\n }\n\n const { docs } = await requests\n .post(`${serverURL}${api}/payload-jobs`, {\n body: qs.stringify(query),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n })\n .then((res) => res.json())\n\n setUpcomingColumns(\n buildUpcomingColumns({\n dateFormat,\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n deleteHandler: deleteHandlerRef.current,\n docs,\n i18n,\n localization,\n supportedTimezones,\n t,\n }),\n )\n setUpcoming(docs)\n }, [\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n i18n,\n dateFormat,\n localization,\n supportedTimezones,\n t,\n id,\n ])\n\n const deleteHandler = React.useCallback(\n async (id: number | string) => {\n try {\n await schedulePublish({\n deleteID: id,\n })\n await fetchUpcoming()\n toast.success(t('general:deletedSuccessfully'))\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n },\n [fetchUpcoming, schedulePublish, t],\n )\n\n React.useEffect(() => {\n deleteHandlerRef.current = deleteHandler\n }, [deleteHandler])\n\n const handleSave = React.useCallback(async () => {\n if (!date) {\n return toast.error(t('general:noDateSelected'))\n }\n\n setProcessing(true)\n\n let publishSpecificLocale: string\n\n if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {\n publishSpecificLocale = locale.value\n }\n\n try {\n await schedulePublish({\n type,\n date,\n doc: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: String(id),\n }\n : undefined,\n global: globalSlug || undefined,\n locale: publishSpecificLocale,\n timezone,\n })\n\n setDate(undefined)\n toast.success(t('version:scheduledSuccessfully'))\n void fetchUpcoming()\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n\n setProcessing(false)\n }, [\n date,\n locale,\n type,\n t,\n schedulePublish,\n collectionSlug,\n id,\n globalSlug,\n timezone,\n fetchUpcoming,\n ])\n\n const displayedValue = useMemo(() => {\n if (timezone && userTimezone && date) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(timezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(date).withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return date\n }, [timezone, date, userTimezone])\n\n const onChangeDate = useCallback(\n (incomingDate: Date) => {\n if (timezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const tzDateWithUTC = TZDate.tz(timezone)\n\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, tzDateWithUTC)\n\n setDate(dateWithTimezone || null)\n } else {\n setDate(incomingDate || null)\n }\n },\n [setDate, timezone],\n )\n\n React.useEffect(() => {\n if (!upcoming) {\n const fetchInitialUpcoming = async () => {\n await fetchUpcoming()\n }\n\n void fetchInitialUpcoming()\n }\n }, [upcoming, fetchUpcoming])\n\n const minTime = useMemo(() => {\n if (date && isToday(date)) {\n return new Date()\n }\n\n return startOfDay(new Date())\n }, [date])\n\n return (\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <div className={`${baseClass}__drawer-header`}>\n <h2 title={modalTitle}>{modalTitle}</h2>\n <DrawerCloseButton onClick={() => toggleModal(slug)} />\n </div>\n }\n slug={slug}\n >\n <Gutter className={`${baseClass}__scheduler`}>\n <FieldLabel label={t('version:type')} required />\n <ul className={`${baseClass}__type`}>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'publish'}\n onChange={() => setType('publish')}\n option={{ label: t('version:publish'), value: 'publish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'unpublish'}\n onChange={() => setType('unpublish')}\n option={{ label: t('version:unpublish'), value: 'unpublish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n </ul>\n <br />\n <FieldLabel label={t('general:time')} path={'time'} required />\n <DatePickerField\n id=\"time\"\n maxTime={endOfToday()}\n minDate={new Date()}\n minTime={minTime}\n onChange={(e) => onChangeDate(e)}\n pickerAppearance=\"dayAndTime\"\n readOnly={processing}\n timeFormat={schedulePublishConfig?.timeFormat}\n timeIntervals={schedulePublishConfig?.timeIntervals ?? 5}\n value={displayedValue}\n />\n {supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`timezone-picker`}\n onChange={setTimezone}\n options={supportedTimezones}\n selectedTimezone={timezone}\n />\n )}\n <br />\n {localeOptions.length > 0 && type === 'publish' && (\n <React.Fragment>\n <FieldLabel label={t('localization:localeToPublish')} />\n <ReactSelect\n onChange={(e) => setLocale(e as { label: string; value: string })}\n options={localeOptions}\n value={locale}\n />\n <br />\n </React.Fragment>\n )}\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"primary\"\n disabled={processing}\n id=\"scheduled-publish-save\"\n onClick={handleSave}\n type=\"button\"\n >\n {t('general:save')}\n </Button>\n {processing ? <span>{t('general:saving')}</span> : null}\n </div>\n </Gutter>\n <Gutter className={`${baseClass}__upcoming`}>\n <h4>{t('general:upcomingEvents')}</h4>\n {!upcoming && <ShimmerEffect />}\n {upcoming?.length === 0 && (\n <Banner type=\"info\">{t('general:noUpcomingEventsScheduled')}</Banner>\n )}\n {upcoming?.length > 0 && (\n <Table appearance=\"condensed\" columns={upcomingColumns} data={upcoming} />\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"names":["TZDateMini","TZDate","useModal","getTranslation","endOfToday","isToday","startOfDay","transpose","qs","React","useCallback","useMemo","toast","FieldLabel","Radio","useConfig","useDocumentInfo","useDocumentTitle","useServerFunctions","useTranslation","requests","Banner","DrawerCloseButton","Button","DatePickerField","Drawer","Gutter","ReactSelect","ShimmerEffect","Table","TimezonePicker","buildUpcomingColumns","baseClass","defaultLocaleOption","label","value","ScheduleDrawer","slug","defaultType","schedulePublishConfig","toggleModal","config","admin","dateFormat","timezones","defaultTimezone","supportedTimezones","localization","routes","api","serverURL","id","collectionSlug","globalSlug","title","i18n","t","schedulePublish","type","setType","useState","date","setDate","timezone","setTimezone","locale","setLocale","processing","setProcessing","modalTitle","upcoming","setUpcoming","upcomingColumns","setUpcomingColumns","deleteHandlerRef","useRef","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localeOptions","options","locales","map","code","unshift","fetchUpcoming","query","sort","where","and","taskSlug","equals","waitUntil","greater_than","Date","push","String","docs","post","body","stringify","headers","language","then","res","json","deleteHandler","current","deleteID","success","err","console","error","message","useEffect","handleSave","publishSpecificLocale","doc","relationTo","undefined","global","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","onChangeDate","incomingDate","tzDateWithUTC","dateToUserTz","fetchInitialUpcoming","minTime","className","gutter","Header","div","h2","onClick","required","ul","li","isSelected","onChange","option","path","readOnly","br","maxTime","minDate","e","pickerAppearance","timeFormat","timeIntervals","length","selectedTimezone","Fragment","buttonStyle","disabled","span","h4","appearance","columns","data"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"sourcesContent":["/* eslint-disable no-console */\n'use client'\n\nimport type { Column, SchedulePublish, Where } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { endOfToday, isToday, startOfDay } from 'date-fns'\nimport { transpose } from 'date-fns/transpose'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishType, UpcomingEvent } from './types.js'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { Radio } from '../../../fields/RadioGroup/Radio/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useDocumentTitle } from '../../../providers/DocumentTitle/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { Banner } from '../../Banner/index.js'\nimport { DrawerCloseButton } from '../../BulkUpload/DrawerCloseButton/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DatePickerField } from '../../DatePicker/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { Gutter } from '../../Gutter/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport './index.scss'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Table } from '../../Table/index.js'\nimport { TimezonePicker } from '../../TimezonePicker/index.js'\nimport { buildUpcomingColumns } from './buildUpcomingColumns.js'\n\nconst baseClass = 'schedule-publish'\n\ntype Props = {\n defaultType?: PublishType\n schedulePublishConfig?: SchedulePublish\n slug: string\n}\n\nconst defaultLocaleOption = {\n label: 'All',\n value: 'all',\n}\n\nexport const ScheduleDrawer: React.FC<Props> = ({ slug, defaultType, schedulePublishConfig }) => {\n const { toggleModal } = useModal()\n const {\n config: {\n admin: {\n dateFormat,\n timezones: { defaultTimezone, supportedTimezones },\n },\n localization,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { title } = useDocumentTitle()\n const { i18n, t } = useTranslation()\n const { schedulePublish } = useServerFunctions()\n const [type, setType] = React.useState<PublishType>(defaultType || 'publish')\n const [date, setDate] = React.useState<Date>()\n const [timezone, setTimezone] = React.useState<string>(defaultTimezone)\n const [locale, setLocale] = React.useState<{ label: string; value: string }>(defaultLocaleOption)\n const [processing, setProcessing] = React.useState(false)\n const modalTitle = t('general:schedulePublishFor', { title })\n const [upcoming, setUpcoming] = React.useState<UpcomingEvent[]>()\n const [upcomingColumns, setUpcomingColumns] = React.useState<Column[]>()\n const deleteHandlerRef = React.useRef<((id: number | string) => Promise<void>) | null>(() => null)\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const localeOptions = React.useMemo(() => {\n if (localization) {\n const options = localization.locales.map(({ code, label }) => ({\n label: getTranslation(label, i18n),\n value: code,\n }))\n\n options.unshift(defaultLocaleOption)\n\n return options\n }\n\n return []\n }, [localization, i18n])\n\n const fetchUpcoming = React.useCallback(async () => {\n const query: { sort: string; where: Where } = {\n sort: 'waitUntil',\n where: {\n and: [\n {\n taskSlug: {\n equals: 'schedulePublish',\n },\n },\n {\n waitUntil: {\n greater_than: new Date(),\n },\n },\n ],\n },\n }\n\n if (collectionSlug) {\n query.where.and.push({\n 'input.doc.value': {\n equals: String(id),\n },\n })\n query.where.and.push({\n 'input.doc.relationTo': {\n equals: collectionSlug,\n },\n })\n }\n\n if (globalSlug) {\n query.where.and.push({\n 'input.global': {\n equals: globalSlug,\n },\n })\n }\n\n const { docs } = await requests\n .post(`${serverURL}${api}/payload-jobs`, {\n body: qs.stringify(query),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-Payload-HTTP-Method-Override': 'GET',\n },\n })\n .then((res) => res.json())\n\n setUpcomingColumns(\n buildUpcomingColumns({\n dateFormat,\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n deleteHandler: deleteHandlerRef.current,\n docs,\n i18n,\n localization,\n supportedTimezones,\n t,\n }),\n )\n setUpcoming(docs)\n }, [\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n i18n,\n dateFormat,\n localization,\n supportedTimezones,\n t,\n id,\n ])\n\n const deleteHandler = React.useCallback(\n async (id: number | string) => {\n try {\n await schedulePublish({\n deleteID: id,\n })\n await fetchUpcoming()\n toast.success(t('general:deletedSuccessfully'))\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n },\n [fetchUpcoming, schedulePublish, t],\n )\n\n React.useEffect(() => {\n deleteHandlerRef.current = deleteHandler\n }, [deleteHandler])\n\n const handleSave = React.useCallback(async () => {\n if (!date) {\n return toast.error(t('general:noDateSelected'))\n }\n\n setProcessing(true)\n\n let publishSpecificLocale: string\n\n if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {\n publishSpecificLocale = locale.value\n }\n\n try {\n await schedulePublish({\n type,\n date,\n doc: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: String(id),\n }\n : undefined,\n global: globalSlug || undefined,\n locale: publishSpecificLocale,\n timezone,\n })\n\n setDate(undefined)\n toast.success(t('version:scheduledSuccessfully'))\n void fetchUpcoming()\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n\n setProcessing(false)\n }, [\n date,\n locale,\n type,\n t,\n schedulePublish,\n collectionSlug,\n id,\n globalSlug,\n timezone,\n fetchUpcoming,\n ])\n\n const displayedValue = useMemo(() => {\n if (timezone && userTimezone && date) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(timezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(date).withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return date\n }, [timezone, date, userTimezone])\n\n const onChangeDate = useCallback(\n (incomingDate: Date) => {\n if (timezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const tzDateWithUTC = TZDate.tz(timezone)\n\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, tzDateWithUTC)\n\n setDate(dateWithTimezone || null)\n } else {\n setDate(incomingDate || null)\n }\n },\n [setDate, timezone],\n )\n\n React.useEffect(() => {\n if (!upcoming) {\n const fetchInitialUpcoming = async () => {\n await fetchUpcoming()\n }\n\n void fetchInitialUpcoming()\n }\n }, [upcoming, fetchUpcoming])\n\n const minTime = useMemo(() => {\n if (date && isToday(date)) {\n return new Date()\n }\n\n return startOfDay(new Date())\n }, [date])\n\n return (\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <div className={`${baseClass}__drawer-header`}>\n <h2 title={modalTitle}>{modalTitle}</h2>\n <DrawerCloseButton onClick={() => toggleModal(slug)} />\n </div>\n }\n slug={slug}\n >\n <Gutter className={`${baseClass}__scheduler`}>\n <FieldLabel label={t('version:type')} required />\n <ul className={`${baseClass}__type`}>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'publish'}\n onChange={() => setType('publish')}\n option={{ label: t('version:publish'), value: 'publish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'unpublish'}\n onChange={() => setType('unpublish')}\n option={{ label: t('version:unpublish'), value: 'unpublish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n </ul>\n <br />\n <FieldLabel label={t('general:time')} path={'time'} required />\n <DatePickerField\n id=\"time\"\n maxTime={endOfToday()}\n minDate={new Date()}\n minTime={minTime}\n onChange={(e) => onChangeDate(e)}\n pickerAppearance=\"dayAndTime\"\n readOnly={processing}\n timeFormat={schedulePublishConfig?.timeFormat}\n timeIntervals={schedulePublishConfig?.timeIntervals ?? 5}\n value={displayedValue}\n />\n {supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`timezone-picker`}\n onChange={setTimezone}\n options={supportedTimezones}\n selectedTimezone={timezone}\n />\n )}\n <br />\n {localeOptions.length > 0 && type === 'publish' && (\n <React.Fragment>\n <FieldLabel label={t('localization:localeToPublish')} />\n <ReactSelect\n onChange={(e) => setLocale(e as { label: string; value: string })}\n options={localeOptions}\n value={locale}\n />\n <br />\n </React.Fragment>\n )}\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"primary\"\n disabled={processing}\n id=\"scheduled-publish-save\"\n onClick={handleSave}\n type=\"button\"\n >\n {t('general:save')}\n </Button>\n {processing ? <span>{t('general:saving')}</span> : null}\n </div>\n </Gutter>\n <Gutter className={`${baseClass}__upcoming`}>\n <h4>{t('general:upcomingEvents')}</h4>\n {!upcoming && <ShimmerEffect />}\n {upcoming?.length === 0 && (\n <Banner type=\"info\">{t('general:noUpcomingEventsScheduled')}</Banner>\n )}\n {upcoming?.length > 0 && (\n <Table appearance=\"condensed\" columns={upcomingColumns} data={upcoming} />\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"names":["TZDateMini","TZDate","useModal","getTranslation","endOfToday","isToday","startOfDay","transpose","qs","React","useCallback","useMemo","toast","FieldLabel","Radio","useConfig","useDocumentInfo","useDocumentTitle","useServerFunctions","useTranslation","requests","Banner","DrawerCloseButton","Button","DatePickerField","Drawer","Gutter","ReactSelect","ShimmerEffect","Table","TimezonePicker","buildUpcomingColumns","baseClass","defaultLocaleOption","label","value","ScheduleDrawer","slug","defaultType","schedulePublishConfig","toggleModal","config","admin","dateFormat","timezones","defaultTimezone","supportedTimezones","localization","routes","api","serverURL","id","collectionSlug","globalSlug","title","i18n","t","schedulePublish","type","setType","useState","date","setDate","timezone","setTimezone","locale","setLocale","processing","setProcessing","modalTitle","upcoming","setUpcoming","upcomingColumns","setUpcomingColumns","deleteHandlerRef","useRef","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localeOptions","options","locales","map","code","unshift","fetchUpcoming","query","sort","where","and","taskSlug","equals","waitUntil","greater_than","Date","push","String","docs","post","body","stringify","headers","language","then","res","json","deleteHandler","current","deleteID","success","err","console","error","message","useEffect","handleSave","publishSpecificLocale","doc","relationTo","undefined","global","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","onChangeDate","incomingDate","tzDateWithUTC","dateToUserTz","fetchInitialUpcoming","minTime","className","gutter","Header","div","h2","onClick","required","ul","li","isSelected","onChange","option","path","readOnly","br","maxTime","minDate","e","pickerAppearance","timeFormat","timeIntervals","length","selectedTimezone","Fragment","buttonStyle","disabled","span","h4","appearance","columns","data"],"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 { useModal } from '@faceless-ui/modal';
|
|
4
3
|
import { hasAutosaveEnabled, hasScheduledPublishEnabled } from 'payload/shared';
|
|
5
4
|
import * as qs from 'qs-esm';
|
|
@@ -163,83 +162,32 @@ export function PublishButton({ label: labelProp }) {
|
|
|
163
162
|
if (!hasPublishPermission) {
|
|
164
163
|
return null;
|
|
165
164
|
}
|
|
166
|
-
return
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
lineNumber: 224,
|
|
193
|
-
columnNumber: 23
|
|
194
|
-
}, void 0),
|
|
195
|
-
isSpecificLocalePublishEnabled && /*#__PURE__*/ _jsxDEV(PopupList.ButtonGroup, {
|
|
196
|
-
children: /*#__PURE__*/ _jsxDEV(PopupList.Button, {
|
|
197
|
-
id: "publish-locale",
|
|
198
|
-
onClick: isDefaultPublishAll ? ()=>publishSpecificLocale(activeLocale.code) : publish,
|
|
199
|
-
children: isDefaultPublishAll ? t('version:publishIn', {
|
|
200
|
-
locale: activeLocaleLabel
|
|
201
|
-
}) : t('version:publishAllLocales')
|
|
202
|
-
}, void 0, false, {
|
|
203
|
-
fileName: "src/elements/PublishButton/index.tsx",
|
|
204
|
-
lineNumber: 235,
|
|
205
|
-
columnNumber: 25
|
|
206
|
-
}, void 0)
|
|
207
|
-
}, void 0, false, {
|
|
208
|
-
fileName: "src/elements/PublishButton/index.tsx",
|
|
209
|
-
lineNumber: 234,
|
|
210
|
-
columnNumber: 23
|
|
211
|
-
}, void 0)
|
|
212
|
-
]
|
|
213
|
-
}, void 0, true, {
|
|
214
|
-
fileName: "src/elements/PublishButton/index.tsx",
|
|
215
|
-
lineNumber: 222,
|
|
216
|
-
columnNumber: 19
|
|
217
|
-
}, void 0);
|
|
218
|
-
} : undefined,
|
|
219
|
-
type: "button",
|
|
220
|
-
children: !isDefaultPublishAll ? t('version:publishIn', {
|
|
221
|
-
locale: activeLocaleLabel
|
|
222
|
-
}) : label
|
|
223
|
-
}, void 0, false, {
|
|
224
|
-
fileName: "src/elements/PublishButton/index.tsx",
|
|
225
|
-
lineNumber: 212,
|
|
226
|
-
columnNumber: 7
|
|
227
|
-
}, this),
|
|
228
|
-
canSchedulePublish && isModalOpen(drawerSlug) && /*#__PURE__*/ _jsxDEV(ScheduleDrawer, {
|
|
229
|
-
defaultType: !hasNewerVersions ? 'unpublish' : 'publish',
|
|
230
|
-
schedulePublishConfig: scheduledPublishEnabled && typeof entityConfig.versions.drafts.schedulePublish === 'object' ? entityConfig.versions.drafts.schedulePublish : undefined,
|
|
231
|
-
slug: drawerSlug
|
|
232
|
-
}, void 0, false, {
|
|
233
|
-
fileName: "src/elements/PublishButton/index.tsx",
|
|
234
|
-
lineNumber: 259,
|
|
235
|
-
columnNumber: 9
|
|
236
|
-
}, this)
|
|
237
|
-
]
|
|
238
|
-
}, void 0, true, {
|
|
239
|
-
fileName: "src/elements/PublishButton/index.tsx",
|
|
240
|
-
lineNumber: 211,
|
|
241
|
-
columnNumber: 5
|
|
242
|
-
}, this);
|
|
165
|
+
return <React.Fragment>
|
|
166
|
+
<FormSubmit buttonId="action-save" disabled={!canPublish} enableSubMenu={canSchedulePublish} onClick={isDefaultPublishAll ? publish : ()=>publishSpecificLocale(activeLocale.code)} size="medium" SubMenuPopupContent={isSpecificLocalePublishEnabled || canSchedulePublish ? ({ close })=>{
|
|
167
|
+
return <React.Fragment>
|
|
168
|
+
{canSchedulePublish && <PopupList.ButtonGroup key="schedule-publish">
|
|
169
|
+
<PopupList.Button id="schedule-publish" onClick={()=>[
|
|
170
|
+
toggleModal(drawerSlug),
|
|
171
|
+
close()
|
|
172
|
+
]}>
|
|
173
|
+
{t('version:schedulePublish')}
|
|
174
|
+
</PopupList.Button>
|
|
175
|
+
</PopupList.ButtonGroup>}
|
|
176
|
+
{isSpecificLocalePublishEnabled && <PopupList.ButtonGroup>
|
|
177
|
+
<PopupList.Button id="publish-locale" onClick={isDefaultPublishAll ? ()=>publishSpecificLocale(activeLocale.code) : publish}>
|
|
178
|
+
{isDefaultPublishAll ? t('version:publishIn', {
|
|
179
|
+
locale: activeLocaleLabel
|
|
180
|
+
}) : t('version:publishAllLocales')}
|
|
181
|
+
</PopupList.Button>
|
|
182
|
+
</PopupList.ButtonGroup>}
|
|
183
|
+
</React.Fragment>;
|
|
184
|
+
} : undefined} type="button">
|
|
185
|
+
{!isDefaultPublishAll ? t('version:publishIn', {
|
|
186
|
+
locale: activeLocaleLabel
|
|
187
|
+
}) : label}
|
|
188
|
+
</FormSubmit>
|
|
189
|
+
{canSchedulePublish && isModalOpen(drawerSlug) && <ScheduleDrawer defaultType={!hasNewerVersions ? 'unpublish' : 'publish'} schedulePublishConfig={scheduledPublishEnabled && typeof entityConfig.versions.drafts.schedulePublish === 'object' ? entityConfig.versions.drafts.schedulePublish : undefined} slug={drawerSlug}/>}
|
|
190
|
+
</React.Fragment>;
|
|
243
191
|
}
|
|
244
192
|
|
|
245
193
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hasAutosaveEnabled, hasScheduledPublishEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport function PublishButton({ label: labelProp }: PublishButtonClientProps) {\n const {\n id,\n collectionSlug,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const { isModalOpen, toggleModal } = useModal()\n\n const drawerSlug = `schedule-publish-${id}`\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled = hasScheduledPublishEnabled(entityConfig)\n\n // If autosave is enabled the modified will always be true so only conditionally check on modified state\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n (hasAutosave || !modified),\n )\n\n const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n\n useEffect(() => {\n const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields)\n setHasLocalizedFields(hasLocalizedField)\n }, [entityConfig?.fields])\n\n const isSpecificLocalePublishEnabled = localization && hasLocalizedFields && hasPublishPermission\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${localeCode}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, localeCode, id, disabled])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && hasAutosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(async () => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const result = await submit({\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n }, [\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n async (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify({\n depth: 0,\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}${id ? `/${id}` : ''}`\n }${params ? '?' + params : ''}`\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setHasPublishedDoc(true)\n }\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit, uploadStatus],\n )\n\n // Publish to all locales unless there are localized fields AND defaultLocalePublishOption is 'active'\n const isDefaultPublishAll =\n !isSpecificLocalePublishEnabled ||\n (localization && localization?.defaultLocalePublishOption !== 'active')\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel =\n activeLocale &&\n (typeof activeLocale.label === 'string'\n ? activeLocale.label\n : (activeLocale.label?.[localeCode] ?? undefined))\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n enableSubMenu={canSchedulePublish}\n onClick={isDefaultPublishAll ? publish : () => publishSpecificLocale(activeLocale.code)}\n size=\"medium\"\n SubMenuPopupContent={\n isSpecificLocalePublishEnabled || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button\n id=\"schedule-publish\"\n onClick={() => [toggleModal(drawerSlug), close()]}\n >\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {isSpecificLocalePublishEnabled && (\n <PopupList.ButtonGroup>\n <PopupList.Button\n id=\"publish-locale\"\n onClick={\n isDefaultPublishAll\n ? () => publishSpecificLocale(activeLocale.code)\n : publish\n }\n >\n {isDefaultPublishAll\n ? t('version:publishIn', { locale: activeLocaleLabel })\n : t('version:publishAllLocales')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {!isDefaultPublishAll ? t('version:publishIn', { locale: activeLocaleLabel }) : label}\n </FormSubmit>\n {canSchedulePublish && isModalOpen(drawerSlug) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n schedulePublishConfig={\n scheduledPublishEnabled &&\n typeof entityConfig.versions.drafts.schedulePublish === 'object'\n ? entityConfig.versions.drafts.schedulePublish\n : undefined\n }\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"names":["useModal","hasAutosaveEnabled","hasScheduledPublishEnabled","qs","React","useCallback","useEffect","useState","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","traverseForLocalizedFields","PopupList","ScheduleDrawer","PublishButton","label","labelProp","id","collectionSlug","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","submit","modified","editDepth","code","localeCode","isModalOpen","toggleModal","drawerSlug","localization","routes","api","serverURL","t","entityConfig","useMemo","hasNewerVersions","canPublish","scheduledPublishEnabled","hasAutosave","canSchedulePublish","Boolean","hasLocalizedFields","setHasLocalizedFields","hasLocalizedField","fields","isSpecificLocalePublishEnabled","operation","disabled","saveDraft","search","action","method","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","publish","result","publishSpecificLocale","locale","params","stringify","depth","isDefaultPublishAll","defaultLocalePublishOption","activeLocale","locales","find","activeLocaleLabel","undefined","Fragment","buttonId","enableSubMenu","onClick","size","SubMenuPopupContent","close","ButtonGroup","Button","type","defaultType","schedulePublishConfig","versions","drafts","schedulePublish","slug"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/PublishButton/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PublishButtonClientProps } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hasAutosaveEnabled, hasScheduledPublishEnabled } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { useForm, useFormModified } from '../../forms/Form/context.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { useHotkey } from '../../hooks/useHotkey.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { traverseForLocalizedFields } from '../../utilities/traverseForLocalizedFields.js'\nimport { PopupList } from '../Popup/index.js'\nimport { ScheduleDrawer } from './ScheduleDrawer/index.js'\n\nexport function PublishButton({ label: labelProp }: PublishButtonClientProps) {\n const {\n id,\n collectionSlug,\n globalSlug,\n hasPublishedDoc,\n hasPublishPermission,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n uploadStatus,\n } = useDocumentInfo()\n\n const { config, getEntityConfig } = useConfig()\n const { submit } = useForm()\n const modified = useFormModified()\n const editDepth = useEditDepth()\n const { code: localeCode } = useLocale()\n const { isModalOpen, toggleModal } = useModal()\n\n const drawerSlug = `schedule-publish-${id}`\n\n const {\n localization,\n routes: { api },\n serverURL,\n } = config\n\n const { t } = useTranslation()\n const label = labelProp || t('version:publishChanges')\n\n const entityConfig = React.useMemo(() => {\n if (collectionSlug) {\n return getEntityConfig({ collectionSlug })\n }\n\n if (globalSlug) {\n return getEntityConfig({ globalSlug })\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const hasNewerVersions = unpublishedVersionCount > 0\n\n const canPublish =\n hasPublishPermission &&\n (modified || hasNewerVersions || !hasPublishedDoc) &&\n uploadStatus !== 'uploading'\n\n const scheduledPublishEnabled = hasScheduledPublishEnabled(entityConfig)\n\n // If autosave is enabled the modified will always be true so only conditionally check on modified state\n const hasAutosave = hasAutosaveEnabled(entityConfig)\n\n const canSchedulePublish = Boolean(\n scheduledPublishEnabled &&\n hasPublishPermission &&\n (globalSlug || (collectionSlug && id)) &&\n (hasAutosave || !modified),\n )\n\n const [hasLocalizedFields, setHasLocalizedFields] = useState(false)\n\n useEffect(() => {\n const hasLocalizedField = traverseForLocalizedFields(entityConfig?.fields)\n setHasLocalizedFields(hasLocalizedField)\n }, [entityConfig?.fields])\n\n const isSpecificLocalePublishEnabled = localization && hasLocalizedFields && hasPublishPermission\n\n const operation = useOperation()\n\n const disabled = operation === 'update' && !modified\n\n const saveDraft = useCallback(async () => {\n if (disabled) {\n return\n }\n\n const search = `?locale=${localeCode}&depth=0&fallback-locale=null&draft=true`\n let action\n let method = 'POST'\n\n if (collectionSlug) {\n action = `${serverURL}${api}/${collectionSlug}${id ? `/${id}` : ''}${search}`\n if (id) {\n method = 'PATCH'\n }\n }\n\n if (globalSlug) {\n action = `${serverURL}${api}/globals/${globalSlug}${search}`\n }\n\n await submit({\n action,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [submit, collectionSlug, globalSlug, serverURL, api, localeCode, id, disabled])\n\n useHotkey({ cmdCtrlKey: true, editDepth, keyCodes: ['s'] }, (e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (saveDraft && hasAutosave) {\n void saveDraft()\n }\n })\n\n const publish = useCallback(async () => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const result = await submit({\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setUnpublishedVersionCount(0)\n setMostRecentVersionIsAutosaved(false)\n setHasPublishedDoc(true)\n }\n }, [\n setHasPublishedDoc,\n submit,\n setUnpublishedVersionCount,\n uploadStatus,\n setMostRecentVersionIsAutosaved,\n ])\n\n const publishSpecificLocale = useCallback(\n async (locale) => {\n if (uploadStatus === 'uploading') {\n return\n }\n\n const params = qs.stringify({\n depth: 0,\n publishSpecificLocale: locale,\n })\n\n const action = `${serverURL}${api}${\n globalSlug ? `/globals/${globalSlug}` : `/${collectionSlug}${id ? `/${id}` : ''}`\n }${params ? '?' + params : ''}`\n\n const result = await submit({\n action,\n overrides: {\n _status: 'published',\n },\n })\n\n if (result) {\n setHasPublishedDoc(true)\n }\n },\n [api, collectionSlug, globalSlug, id, serverURL, setHasPublishedDoc, submit, uploadStatus],\n )\n\n // Publish to all locales unless there are localized fields AND defaultLocalePublishOption is 'active'\n const isDefaultPublishAll =\n !isSpecificLocalePublishEnabled ||\n (localization && localization?.defaultLocalePublishOption !== 'active')\n\n const activeLocale =\n localization &&\n localization?.locales.find((locale) =>\n typeof locale === 'string' ? locale === localeCode : locale.code === localeCode,\n )\n\n const activeLocaleLabel =\n activeLocale &&\n (typeof activeLocale.label === 'string'\n ? activeLocale.label\n : (activeLocale.label?.[localeCode] ?? undefined))\n\n if (!hasPublishPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <FormSubmit\n buttonId=\"action-save\"\n disabled={!canPublish}\n enableSubMenu={canSchedulePublish}\n onClick={isDefaultPublishAll ? publish : () => publishSpecificLocale(activeLocale.code)}\n size=\"medium\"\n SubMenuPopupContent={\n isSpecificLocalePublishEnabled || canSchedulePublish\n ? ({ close }) => {\n return (\n <React.Fragment>\n {canSchedulePublish && (\n <PopupList.ButtonGroup key=\"schedule-publish\">\n <PopupList.Button\n id=\"schedule-publish\"\n onClick={() => [toggleModal(drawerSlug), close()]}\n >\n {t('version:schedulePublish')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n {isSpecificLocalePublishEnabled && (\n <PopupList.ButtonGroup>\n <PopupList.Button\n id=\"publish-locale\"\n onClick={\n isDefaultPublishAll\n ? () => publishSpecificLocale(activeLocale.code)\n : publish\n }\n >\n {isDefaultPublishAll\n ? t('version:publishIn', { locale: activeLocaleLabel })\n : t('version:publishAllLocales')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n </React.Fragment>\n )\n }\n : undefined\n }\n type=\"button\"\n >\n {!isDefaultPublishAll ? t('version:publishIn', { locale: activeLocaleLabel }) : label}\n </FormSubmit>\n {canSchedulePublish && isModalOpen(drawerSlug) && (\n <ScheduleDrawer\n defaultType={!hasNewerVersions ? 'unpublish' : 'publish'}\n schedulePublishConfig={\n scheduledPublishEnabled &&\n typeof entityConfig.versions.drafts.schedulePublish === 'object'\n ? entityConfig.versions.drafts.schedulePublish\n : undefined\n }\n slug={drawerSlug}\n />\n )}\n </React.Fragment>\n )\n}\n"],"names":["useModal","hasAutosaveEnabled","hasScheduledPublishEnabled","qs","React","useCallback","useEffect","useState","useForm","useFormModified","FormSubmit","useHotkey","useConfig","useDocumentInfo","useEditDepth","useLocale","useOperation","useTranslation","traverseForLocalizedFields","PopupList","ScheduleDrawer","PublishButton","label","labelProp","id","collectionSlug","globalSlug","hasPublishedDoc","hasPublishPermission","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","uploadStatus","config","getEntityConfig","submit","modified","editDepth","code","localeCode","isModalOpen","toggleModal","drawerSlug","localization","routes","api","serverURL","t","entityConfig","useMemo","hasNewerVersions","canPublish","scheduledPublishEnabled","hasAutosave","canSchedulePublish","Boolean","hasLocalizedFields","setHasLocalizedFields","hasLocalizedField","fields","isSpecificLocalePublishEnabled","operation","disabled","saveDraft","search","action","method","overrides","_status","skipValidation","cmdCtrlKey","keyCodes","e","preventDefault","stopPropagation","publish","result","publishSpecificLocale","locale","params","stringify","depth","isDefaultPublishAll","defaultLocalePublishOption","activeLocale","locales","find","activeLocaleLabel","undefined","Fragment","buttonId","enableSubMenu","onClick","size","SubMenuPopupContent","close","ButtonGroup","key","Button","type","defaultType","schedulePublishConfig","versions","drafts","schedulePublish","slug"],"mappings":"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"}
|