UNPKG

@helpscout/hsds-react

Version:

React component library for Help Scout's Design System

75 lines (56 loc) 2.66 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 _classnames = _interopRequireDefault(require("classnames")); var _Text = _interopRequireDefault(require("../Text")); var _lodash = _interopRequireDefault(require("lodash.isstring")); var _HelpText = require("./HelpText.css"); var _jsxRuntime = require("react/jsx-runtime"); var HelpText = function HelpText(props) { var children = props.children, className = props.className, isCompact = props.isCompact, shade = props.shade, size = props.size, state = props.state, rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["children", "className", "isCompact", "shade", "size", "state"]); var componentClassName = (0, _classnames.default)('c-HelpText', isCompact && "is-compact", shade && "is-" + shade, state && "is-" + state, className); var contentMarkup = (0, _lodash.default)(children) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.default, { className: "c-HelpText__text", shade: shade, size: size, state: state, children: children }) : children; return /*#__PURE__*/(0, _jsxRuntime.jsx)(_HelpText.HelpTextUI, (0, _extends2.default)({}, (0, _getValidProps.default)(rest), { className: componentClassName, children: contentMarkup })); }; HelpText.defaultProps = { 'data-cy': 'HelpText', isCompact: false, shade: 'faint', size: '13' }; HelpText.propTypes = { isCompact: _propTypes.default.bool, /** Custom class names to be added to the component. */ className: _propTypes.default.string, /** Shading styles */ shade: _propTypes.default.oneOf(['default', 'subtle', 'slightlyMuted', 'muted', 'faint', 'extraMuted']), /** Adjust text size. */ size: _propTypes.default.oneOf(['10', '11', '12', '13', '14', '15', '20', '48', 10, 11, 12, 13, 14, 15, 20, 48]), /** Changes the text color based on state. `error`: red, `success`: green, `warning`: yellow */ state: _propTypes.default.oneOf(['error', 'success', 'warning']), /** Data attr for Cypress tests. */ 'data-cy': _propTypes.default.string }; var _default = HelpText; exports.default = _default;