UNPKG

@wordpress/components

Version:
51 lines (41 loc) 1.4 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@wordpress/element"; /** * External dependencies */ import { ToolbarItem as BaseToolbarItem } from 'reakit/Toolbar'; /** * WordPress dependencies */ import { forwardRef, useContext } from '@wordpress/element'; import warning from '@wordpress/warning'; /** * Internal dependencies */ import ToolbarContext from '../toolbar-context'; function ToolbarItem({ children, as: Component, ...props }, ref) { const accessibleToolbarState = useContext(ToolbarContext); if (typeof children !== 'function' && !Component) { typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? warning('`ToolbarItem` is a generic headless component. You must pass either a `children` prop as a function or an `as` prop as a component. ' + 'See https://developer.wordpress.org/block-editor/components/toolbar-item/') : void 0; return null; } const allProps = { ...props, ref, 'data-toolbar-item': true }; if (!accessibleToolbarState) { if (Component) { return createElement(Component, allProps, children); } return children(allProps); } return createElement(BaseToolbarItem, _extends({}, accessibleToolbarState, allProps, { as: Component }), children); } export default forwardRef(ToolbarItem); //# sourceMappingURL=index.js.map