123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- "use strict";
-
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
-
- exports.__esModule = true;
- exports.default = void 0;
-
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
-
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
-
- var _react = _interopRequireDefault(require("react"));
-
- var _propTypes = _interopRequireDefault(require("prop-types"));
-
- var _Button = _interopRequireDefault(require("./Button"));
-
- var _ButtonGroup = _interopRequireDefault(require("./ButtonGroup"));
-
- var _Dropdown = _interopRequireDefault(require("./Dropdown"));
-
- var propTypes = {
- /**
- * An html id attribute for the Toggle button, necessary for assistive technologies, such as screen readers.
- * @type {string|number}
- * @required
- */
- id: _propTypes.default.any,
-
- /**
- * Accessible label for the toggle; the value of `title` if not specified.
- */
- toggleLabel: _propTypes.default.string,
-
- /** An `href` passed to the non-toggle Button */
- href: _propTypes.default.string,
-
- /** An anchor `target` passed to the non-toggle Button */
- target: _propTypes.default.string,
-
- /** An `onClick` handler passed to the non-toggle Button */
- onClick: _propTypes.default.func,
-
- /** The content of the non-toggle Button. */
- title: _propTypes.default.node.isRequired,
-
- /** Disables both Buttons */
- disabled: _propTypes.default.bool,
-
- /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */
- menuRole: _propTypes.default.string,
-
- /**
- * Which event when fired outside the component will cause it to be closed.
- *
- * _see [DropdownMenu](#menu-props) for more details_
- */
- rootCloseEvent: _propTypes.default.string,
-
- /** @ignore */
- bsPrefix: _propTypes.default.string,
-
- /** @ignore */
- variant: _propTypes.default.string,
-
- /** @ignore */
- size: _propTypes.default.string
- };
- var defaultProps = {
- toggleLabel: 'Toggle dropdown'
- };
-
- var SplitButton = _react.default.forwardRef(function (_ref, ref) {
- var id = _ref.id,
- bsPrefix = _ref.bsPrefix,
- size = _ref.size,
- variant = _ref.variant,
- title = _ref.title,
- toggleLabel = _ref.toggleLabel,
- children = _ref.children,
- onClick = _ref.onClick,
- href = _ref.href,
- target = _ref.target,
- menuRole = _ref.menuRole,
- rootCloseEvent = _ref.rootCloseEvent,
- props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["id", "bsPrefix", "size", "variant", "title", "toggleLabel", "children", "onClick", "href", "target", "menuRole", "rootCloseEvent"]);
- return _react.default.createElement(_Dropdown.default, (0, _extends2.default)({
- ref: ref
- }, props, {
- as: _ButtonGroup.default
- }), _react.default.createElement(_Button.default, {
- size: size,
- variant: variant,
- disabled: props.disabled,
- bsPrefix: bsPrefix,
- href: href,
- target: target,
- onClick: onClick
- }, title), _react.default.createElement(_Dropdown.default.Toggle, {
- split: true,
- id: id,
- size: size,
- variant: variant,
- disabled: props.disabled,
- childBsPrefix: bsPrefix
- }, _react.default.createElement("span", {
- className: "sr-only"
- }, toggleLabel)), _react.default.createElement(_Dropdown.default.Menu, {
- role: menuRole,
- rootCloseEvent: rootCloseEvent
- }, children));
- });
-
- SplitButton.propTypes = propTypes;
- SplitButton.defaultProps = defaultProps;
- SplitButton.displayName = 'SplitButton';
- var _default = SplitButton;
- exports.default = _default;
- module.exports = exports["default"];
|