UNPKG

@tpr/govuk-react-jsx

Version:

[![govuk-frontend 4.0.1](https://img.shields.io/badge/govuk--frontend%20version-4.0.1-005EA5?logo=gov.uk&style=flat-square)](https://github.com/alphagov/govuk-frontend/releases/tag/v4.0.1) [![version](https://img.shields.io/npm/v/govuk-react-jsx.svg?styl

53 lines (41 loc) 1.81 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.Label = Label; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _excluded = ["govukClassNames", "className", "htmlFor", "children", "isPageHeading"]; function Label(props) { var govukClassNames = props.govukClassNames, className = props.className, htmlFor = props.htmlFor, children = props.children, isPageHeading = props.isPageHeading, attributes = (0, _objectWithoutProperties2["default"])(props, _excluded); // If no children, just don't output anything if (!children) { return null; } var classNames = govukClassNames || {}; classNames['govuk-label'] = classNames['govuk-label'] || 'govuk-label'; classNames['govuk-label-wrapper'] = classNames['govuk-label-wrapper'] || 'govuk-label-wrapper'; var label = /*#__PURE__*/ // Stop eslint flagging the for/id combination as an error. It is failing due to the way the // input and label are located in different components and so it cannot track the association // // eslint-disable-next-line jsx-a11y/label-has-for _react["default"].createElement("label", (0, _extends2["default"])({ className: "".concat(classNames['govuk-label'], " ").concat(className || '') }, attributes, { htmlFor: htmlFor }), children); if (isPageHeading === true) { return /*#__PURE__*/_react["default"].createElement("h1", { className: classNames['govuk-label-wrapper'] }, label); } return label; }