UNPKG

@helpscout/hsds-react

Version:

React component library for Help Scout's Design System

69 lines (53 loc) 2.27 kB
"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 _getValidProps = _interopRequireDefault(require("@helpscout/react-utils/dist/getValidProps")); var _Text = _interopRequireDefault(require("../Text")); var _classnames = _interopRequireDefault(require("classnames")); var _jsxRuntime = require("react/jsx-runtime"); var MessageCaption = function MessageCaption(props, context) { var className = props.className, children = props.children, size = props.size, wordWrap = props.wordWrap, rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "children", "size", "wordWrap"]); var theme = context.theme; var isThemeEmbed = theme === 'embed'; var componentClassName = (0, _classnames.default)('c-MessageCaption', theme && "is-theme-" + theme, className); var textSize = size ? size : isThemeEmbed ? '11' : '13'; return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", (0, _extends2.default)({}, (0, _getValidProps.default)(rest), { className: componentClassName, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.default, { className: "c-MessageCaption__text", size: textSize, shade: "faint", wordWrap: wordWrap, children: children }) })); }; function noop() {} MessageCaption.contextTypes = { theme: noop }; MessageCaption.defaultProps = { 'data-cy': 'MessageCaption', wordWrap: true }; MessageCaption.propTypes = { /** Custom class names to be added to the component. */ className: _propTypes.default.string, /** Data attr for Cypress tests. */ 'data-cy': _propTypes.default.string, /** Adjusts the font size of the component, see `Text` for options. */ size: _propTypes.default.string, /** Breaks longer text content. */ wordWrap: _propTypes.default.bool }; var _default = MessageCaption; exports.default = _default;