@shopify/polaris
Version:
Shopify’s admin product component library
44 lines (37 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var css = require('../../utilities/css.js');
var Text$1 = require('./Text.scss.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
const VariantFontWeightMapping = {
headingXs: 'semibold',
headingSm: 'semibold',
headingMd: 'semibold',
headingLg: 'semibold',
headingXl: 'semibold',
heading2xl: 'semibold',
heading3xl: 'semibold',
heading4xl: 'bold',
bodySm: 'regular',
bodyMd: 'regular',
bodyLg: 'regular'
};
const Text = ({
alignment,
as,
children,
color,
fontWeight,
truncate = false,
variant,
visuallyHidden = false
}) => {
const Component = as || (visuallyHidden ? 'span' : 'p');
const className = css.classNames(Text$1["default"].root, Text$1["default"][variant], fontWeight ? Text$1["default"][fontWeight] : Text$1["default"][VariantFontWeightMapping[variant]], (alignment || truncate) && Text$1["default"].block, alignment && Text$1["default"][alignment], color && Text$1["default"][color], truncate && Text$1["default"].truncate, visuallyHidden && Text$1["default"].visuallyHidden);
return /*#__PURE__*/React__default["default"].createElement(Component, {
className: className
}, children);
};
exports.Text = Text;