UNPKG

@talend/react-bootstrap

Version:

Bootstrap 3 components built with React

61 lines (57 loc) 2.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _classnames = _interopRequireDefault(require("classnames")); var _Button = _interopRequireDefault(require("./Button")); var _SafeAnchor = _interopRequireDefault(require("./SafeAnchor")); var _bootstrapUtils = require("./utils/bootstrapUtils"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const propTypes = { noCaret: _propTypes.default.bool, open: _propTypes.default.bool, title: _propTypes.default.string, useAnchor: _propTypes.default.bool }; const defaultProps = { open: false, useAnchor: false, bsRole: 'toggle' }; class DropdownToggle extends _react.default.Component { render() { const { noCaret, open, useAnchor, bsClass, className, children, ...props } = this.props; delete props.bsRole; const Component = useAnchor ? _SafeAnchor.default : _Button.default; const useCaret = !noCaret; // This intentionally forwards bsSize and bsStyle (if set) to the // underlying component, to allow it to render size and style variants. // FIXME: Should this really fall back to `title` as children? return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Component, { ...props, role: "button", className: (0, _classnames.default)(className, bsClass), "aria-haspopup": true, "aria-expanded": open, children: [children || props.title, useCaret && ' ', useCaret && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { className: "caret" })] }); } } DropdownToggle.propTypes = propTypes; DropdownToggle.defaultProps = defaultProps; var _default = exports.default = (0, _bootstrapUtils.bsClass)('dropdown-toggle', DropdownToggle); //# sourceMappingURL=DropdownToggle.js.map