@wordpress/block-editor
Version:
59 lines (57 loc) • 2.37 kB
JavaScript
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