UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

51 lines (45 loc) 1.74 kB
'use strict'; var React = require('react'); var Box = require('../../Box/Box.js'); var _VisuallyHidden = require('../../_VisuallyHidden.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } const InputLabel = ({ children, disabled, htmlFor, id, required, requiredText, requiredIndicator, visuallyHidden, sx, as = 'label', ...props }) => { return /*#__PURE__*/React__default.default.createElement(_VisuallyHidden, _extends({ isVisible: !visuallyHidden, as: as /* This assertion is clearly wrong, but it's the only way TS will allow the htmlFor prop to be possibly defined */, htmlFor: htmlFor, id: id, sx: { fontWeight: 'bold', fontSize: 1, display: 'block', color: disabled ? 'fg.muted' : 'fg.default', cursor: disabled ? 'not-allowed' : 'pointer', alignSelf: 'flex-start', ...sx } }, props), required || requiredText ? /*#__PURE__*/React__default.default.createElement(Box, { display: "flex", as: "span" }, /*#__PURE__*/React__default.default.createElement(Box, { mr: 1 }, children), /*#__PURE__*/React__default.default.createElement("span", { "aria-hidden": requiredIndicator ? undefined : true }, requiredText !== null && requiredText !== void 0 ? requiredText : '*')) : children); }; InputLabel.displayName = "InputLabel"; module.exports = InputLabel;