@talend/react-bootstrap
Version:
Bootstrap 3 components built with React
70 lines (69 loc) • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _Button = _interopRequireDefault(require("./Button"));
var _Dropdown = _interopRequireDefault(require("./Dropdown"));
var _SplitToggle = _interopRequireDefault(require("./SplitToggle"));
var _splitComponentProps = _interopRequireDefault(require("./utils/splitComponentProps"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const propTypes = {
..._Dropdown.default.propTypes,
// Toggle props.
bsStyle: _propTypes.default.string,
bsSize: _propTypes.default.string,
href: _propTypes.default.string,
onClick: _propTypes.default.func,
/**
* The content of the split button.
*/
title: _propTypes.default.node.isRequired,
/**
* Accessible label for the toggle; the value of `title` if not specified.
*/
toggleLabel: _propTypes.default.string,
// Override generated docs from <Dropdown>.
/**
* @private
*/
children: _propTypes.default.node
};
class SplitButton extends _react.default.Component {
render() {
const {
bsSize,
bsStyle,
title,
toggleLabel,
children,
...props
} = this.props;
const [dropdownProps, buttonProps] = (0, _splitComponentProps.default)(props, _Dropdown.default.ControlledComponent);
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dropdown.default, {
...dropdownProps,
bsSize: bsSize,
bsStyle: bsStyle,
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
...buttonProps,
disabled: props.disabled,
bsSize: bsSize,
bsStyle: bsStyle,
children: title
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SplitToggle.default, {
"aria-label": toggleLabel || title,
bsSize: bsSize,
bsStyle: bsStyle
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.default.Menu, {
children: children
})]
});
}
}
SplitButton.propTypes = propTypes;
SplitButton.Toggle = _SplitToggle.default;
var _default = exports.default = SplitButton;
//# sourceMappingURL=SplitButton.js.map