UNPKG

@talend/react-bootstrap

Version:

Bootstrap 3 components built with React

70 lines (69 loc) 2.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireDefault(require("react")); var _bootstrapUtils = require("./utils/bootstrapUtils"); var _createChainedFunction = _interopRequireDefault(require("./utils/createChainedFunction")); var _CloseButton = _interopRequireDefault(require("./CloseButton")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } // TODO: `aria-label` should be `closeLabel`. const propTypes = { /** * Provides an accessible label for the close * button. It is used for Assistive Technology when the label text is not * readable. */ closeLabel: _propTypes.default.string, /** * Specify whether the Component should contain a close button */ closeButton: _propTypes.default.bool, /** * A Callback fired when the close button is clicked. If used directly inside * a Modal component, the onHide will automatically be propagated up to the * parent Modal `onHide`. */ onHide: _propTypes.default.func }; const defaultProps = { closeLabel: 'Close', closeButton: false }; const contextTypes = { $bs_modal: _propTypes.default.shape({ onHide: _propTypes.default.func }) }; class ModalHeader extends _react.default.Component { render() { const { closeLabel, closeButton, onHide, className, children, ...props } = this.props; const modal = this.context.$bs_modal; const [bsProps, elementProps] = (0, _bootstrapUtils.splitBsProps)(props); const classes = (0, _bootstrapUtils.getClassSet)(bsProps); return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { ...elementProps, className: (0, _classnames.default)(className, classes), children: [closeButton && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CloseButton.default, { label: closeLabel, onClick: (0, _createChainedFunction.default)(modal && modal.onHide, onHide) }), children] }); } } ModalHeader.propTypes = propTypes; ModalHeader.defaultProps = defaultProps; ModalHeader.contextTypes = contextTypes; var _default = exports.default = (0, _bootstrapUtils.bsClass)('modal-header', ModalHeader); //# sourceMappingURL=ModalHeader.js.map