@wordpress/block-editor
Version:
82 lines (77 loc) • 2.62 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _reactNative = require("react-native");
var _compose = require("@wordpress/compose");
var _components = require("@wordpress/components");
var _icons = require("@wordpress/icons");
var _element = require("@wordpress/element");
var _inserter = _interopRequireDefault(require("../inserter"));
var _styles = _interopRequireDefault(require("./styles.scss"));
var _jsxRuntime = require("react/jsx-runtime");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function ButtonBlockAppender({
rootClientId,
getStylesFromColorScheme,
showSeparator,
isFloating = false,
onAddBlock
}) {
const onAppenderPress = (0, _element.useCallback)(onToggle => () => {
if (onAddBlock) {
onAddBlock();
return;
}
if (onToggle) {
onToggle();
}
}, [onAddBlock]);
const appenderStyle = {
..._styles.default.appender,
...getStylesFromColorScheme(_styles.default.appenderLight, _styles.default.appenderDark)
};
const addBlockButtonStyle = getStylesFromColorScheme(_styles.default.addBlockButton, isFloating ? _styles.default.floatingAddBlockButtonDark : _styles.default.addBlockButtonDark);
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_inserter.default, {
rootClientId: rootClientId,
renderToggle: ({
onToggle,
disabled,
isOpen
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
testID: "appender-button",
onClick: onAppenderPress(onToggle),
"aria-expanded": isOpen,
disabled: disabled,
fixedRatio: false,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
style: [appenderStyle, isFloating && _styles.default.floatingAppender],
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
icon: _icons.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
*/
var _default = exports.default = (0, _compose.withPreferredColorScheme)(ButtonBlockAppender);
//# sourceMappingURL=index.native.js.map
;