@wordpress/components
Version:
UI components for WordPress.
72 lines (56 loc) • 1.95 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classnames = _interopRequireDefault(require("classnames"));
var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
var _toolbarGroup = _interopRequireDefault(require("../toolbar-group"));
var _toolbarContainer = _interopRequireDefault(require("./toolbar-container"));
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/**
* Renders a toolbar.
*
* To add controls, simply pass `ToolbarButton` components as children.
*
* @param {Object} props Component props.
* @param {string} [props.className] Class to set on the container div.
* @param {string} [props.label] ARIA label for toolbar container.
* @param {Object} ref React Element ref.
*/
function Toolbar({
className,
label,
...props
}, ref) {
if (!label) {
(0, _deprecated.default)('Using Toolbar without label prop', {
since: '5.6',
alternative: 'ToolbarGroup component',
link: 'https://developer.wordpress.org/block-editor/components/toolbar/'
});
return (0, _element.createElement)(_toolbarGroup.default, (0, _extends2.default)({}, props, {
className: className
}));
} // `ToolbarGroup` already uses components-toolbar for compatibility reasons
const finalClassName = (0, _classnames.default)('components-accessible-toolbar', className);
return (0, _element.createElement)(_toolbarContainer.default, (0, _extends2.default)({
className: finalClassName,
label: label,
ref: ref
}, props));
}
var _default = (0, _element.forwardRef)(Toolbar);
exports.default = _default;
//# sourceMappingURL=index.js.map