@wordpress/block-editor
Version:
61 lines (55 loc) • 1.75 kB
JavaScript
import { createElement, Fragment } from "@wordpress/element";
/**
* External dependencies
*/
import { View } from 'react-native';
/**
* WordPress dependencies
*/
import { withPreferredColorScheme } from '@wordpress/compose';
import { Button } from '@wordpress/components';
import { Icon, plusCircleFilled } from '@wordpress/icons';
/**
* Internal dependencies
*/
import Inserter from '../inserter';
import styles from './styles.scss';
function ButtonBlockAppender({
rootClientId,
getStylesFromColorScheme,
showSeparator,
isFloating = false,
onAddBlock
}) {
const appenderStyle = { ...styles.appender,
...getStylesFromColorScheme(styles.appenderLight, styles.appenderDark)
};
const addBlockButtonStyle = getStylesFromColorScheme(styles.addBlockButton, isFloating ? styles.floatingAddBlockButtonDark : styles.addBlockButtonDark);
return createElement(Fragment, null, createElement(Inserter, {
rootClientId: rootClientId,
renderToggle: ({
onToggle,
disabled,
isOpen
}) => createElement(Button, {
onClick: onAddBlock || onToggle,
"aria-expanded": isOpen,
disabled: disabled,
fixedRatio: false
}, createElement(View, {
style: [appenderStyle, isFloating && styles.floatingAppender]
}, createElement(Icon, {
icon: plusCircleFilled,
style: addBlockButtonStyle,
color: addBlockButtonStyle.color,
size: addBlockButtonStyle.size
}))),
isAppender: true,
showSeparator: showSeparator
}));
}
/**
* @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/button-block-appender/README.md
*/
export default withPreferredColorScheme(ButtonBlockAppender);
//# sourceMappingURL=index.native.js.map