@massds/mayflower-react
Version:
React versions of Mayflower design system UI components
53 lines (51 loc) • 2.07 kB
JavaScript
"use strict";
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
/**
* Label module.
* @module @massds/mayflower-react/Label
* @requires module:@massds/mayflower-assets/scss/01-atoms/helper-text
*/
var Label = function Label(_ref) {
var children = _ref.children,
inputId = _ref.inputId,
hidden = _ref.hidden,
disabled = _ref.disabled,
conditionText = _ref.conditionText,
className = _ref.className,
useLegend = _ref.useLegend;
var inputLabelClasses = (0, _classnames["default"])(className, {
ma__label: true,
'ma__label--hidden': hidden,
'ma__label--disabled': disabled
});
var Tag = useLegend ? 'legend' : 'label';
return /*#__PURE__*/_react["default"].createElement(Tag, {
htmlFor: inputId,
className: inputLabelClasses
}, children, conditionText && conditionText.length > 0 && /*#__PURE__*/_react["default"].createElement("span", {
className: "ma__label-condition"
}, " (" + conditionText + ")"));
};
Label.propTypes = process.env.NODE_ENV !== "production" ? {
/** The text rendered as the label */
children: _propTypes["default"].string,
/** The ID of the corresponding input field */
inputId: _propTypes["default"].string.isRequired,
/** Render the visually hidden style for label */
hidden: _propTypes["default"].bool,
/** Render the disabled style for label */
disabled: _propTypes["default"].bool,
/** The text describing the conditional status of the field */
conditionText: _propTypes["default"].string,
/** Additional classNames for label */
className: _propTypes["default"].string,
/** Use legend tag instead of label. Use legend to caption a <fieldset> */
useLegend: _propTypes["default"].bool
} : {};
var _default = exports["default"] = Label;
module.exports = exports.default;