@wordpress/components
Version:
UI components for WordPress.
50 lines (45 loc) • 1.64 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.ToolbarDropdownMenu = void 0;
var _element = require("@wordpress/element");
var _toolbarItem = _interopRequireDefault(require("../toolbar-item"));
var _toolbarContext = _interopRequireDefault(require("../toolbar-context"));
var _dropdownMenu = _interopRequireDefault(require("../../dropdown-menu"));
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
/**
* External dependencies
*/
/**
* Internal dependencies
*/
function UnforwardedToolbarDropdownMenu(props, ref) {
const accessibleToolbarState = (0, _element.useContext)(_toolbarContext.default);
if (!accessibleToolbarState) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_dropdownMenu.default, {
...props
});
}
// ToolbarItem will pass all props to the render prop child, which will pass
// all props to the toggle of DropdownMenu. This means that ToolbarDropdownMenu
// has the same API as DropdownMenu.
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_toolbarItem.default, {
ref: ref,
...props.toggleProps,
children: toolbarItemProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(_dropdownMenu.default, {
...props,
popoverProps: {
...props.popoverProps
},
toggleProps: toolbarItemProps
})
});
}
const ToolbarDropdownMenu = exports.ToolbarDropdownMenu = (0, _element.forwardRef)(UnforwardedToolbarDropdownMenu);
var _default = exports.default = ToolbarDropdownMenu;
//# sourceMappingURL=index.js.map