UNPKG

@wordpress/block-editor

Version:
59 lines (57 loc) 2.37 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@wordpress/element"; /** * WordPress dependencies */ import { InspectorControls, useMultipleOriginColorsAndGradients } from '@wordpress/block-editor'; import { BottomSheet, ColorSettings, FocalPointSettingsPanel, ImageLinkDestinationsScreen, LinkPickerScreen } from '@wordpress/components'; import { useDispatch, useSelect } from '@wordpress/data'; /** * Internal dependencies */ import styles from './container.native.scss'; export const blockSettingsScreens = { settings: 'Settings', color: 'Color', focalPoint: 'FocalPoint', linkPicker: 'linkPicker', imageLinkDestinations: 'imageLinkDestinations' }; export default function BottomSheetSettings(props) { const colorSettings = useMultipleOriginColorsAndGradients(); const { closeGeneralSidebar } = useDispatch('core/edit-post'); const editorSidebarOpened = useSelect(select => select('core/edit-post').isEditorSidebarOpened()); return createElement(BottomSheet, _extends({ isVisible: editorSidebarOpened, onClose: closeGeneralSidebar, hideHeader: true, contentStyle: styles.content, hasNavigation: true, testID: "block-settings-modal" }, props), createElement(BottomSheet.NavigationContainer, { animate: true, main: true }, createElement(BottomSheet.NavigationScreen, { name: blockSettingsScreens.settings }, createElement(InspectorControls.Slot, null)), createElement(BottomSheet.NavigationScreen, { name: BottomSheet.SubSheet.screenName }, createElement(BottomSheet.SubSheet.Slot, null)), createElement(BottomSheet.NavigationScreen, { name: blockSettingsScreens.color }, createElement(ColorSettings, { defaultSettings: colorSettings })), createElement(BottomSheet.NavigationScreen, { name: blockSettingsScreens.focalPoint, fullScreen: true }, createElement(FocalPointSettingsPanel, null)), createElement(BottomSheet.NavigationScreen, { name: blockSettingsScreens.linkPicker, fullScreen: true, isScrollable: true }, createElement(LinkPickerScreen, { returnScreenName: blockSettingsScreens.settings })), createElement(BottomSheet.NavigationScreen, { name: blockSettingsScreens.imageLinkDestinations }, createElement(ImageLinkDestinationsScreen, props)))); } //# sourceMappingURL=container.native.js.map