UNPKG

@gechiui/components

Version:
52 lines (42 loc) 1.42 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@gechiui/element"; /** * External dependencies */ import { ToolbarItem as BaseToolbarItem } from 'reakit/Toolbar'; /** * GeChiUI dependencies */ import { forwardRef, useContext } from '@gechiui/element'; import warning from '@gechiui/warning'; /** * Internal dependencies */ import ToolbarContext from '../toolbar-context'; function ToolbarItem(_ref, ref) { let { 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.gechiui.com/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