UNPKG

@gechiui/block-editor

Version:
86 lines (82 loc) 2.84 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@gechiui/element"; /** * GeChiUI dependencies */ import { InspectorControls, useSetting } from '@gechiui/block-editor'; import { BottomSheet, ColorSettings, FocalPointSettingsPanel, ImageLinkDestinationsScreen, LinkPickerScreen } from '@gechiui/components'; import { compose } from '@gechiui/compose'; import { withDispatch, withSelect } from '@gechiui/data'; /** * Internal dependencies */ import styles from './container.native.scss'; import { store as blockEditorStore } from '../../store'; export const blockSettingsScreens = { settings: 'Settings', color: 'Color', focalPoint: 'FocalPoint', linkPicker: 'linkPicker', imageLinkDestinations: 'imageLinkDestinations' }; function BottomSheetSettings(_ref) { let { editorSidebarOpened, closeGeneralSidebar, settings, ...props } = _ref; const colorSettings = { colors: useSetting('color.palette') || settings.colors, gradients: useSetting('color.gradients') || settings.gradients }; return createElement(BottomSheet, _extends({ isVisible: editorSidebarOpened, onClose: closeGeneralSidebar, hideHeader: true, contentStyle: styles.content, hasNavigation: true }, 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)))); } export default compose([withSelect(select => { const { isEditorSidebarOpened } = select('core/edit-post'); const { getSettings } = select(blockEditorStore); return { settings: getSettings(), editorSidebarOpened: isEditorSidebarOpened() }; }), withDispatch(dispatch => { const { closeGeneralSidebar } = dispatch('core/edit-post'); return { closeGeneralSidebar }; })])(BottomSheetSettings); //# sourceMappingURL=container.native.js.map