UNPKG

@atlaskit/heading

Version:

A heading is a typography component used to display text in different sizes and formats.

111 lines (105 loc) 4.2 kB
/* heading.tsx generated by @compiled/babel-plugin v3.0.2 */ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("./heading.compiled.css"); var _react = _interopRequireWildcard(require("react")); var React = _react; var _runtime = require("@compiled/react/runtime"); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _primitives = require("@atlaskit/primitives"); var _compiled = require("@atlaskit/primitives/compiled"); var _useHeading3 = require("./use-heading"); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } /* eslint-disable @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors */ // eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss var sizeTagMap = { xxlarge: 'h1', xlarge: 'h1', large: 'h2', medium: 'h3', small: 'h4', xsmall: 'h5', xxsmall: 'h6' }; /** * Using '&&' here to increase specificity of Heading styles such that app styles like ".wiki-content h4" cannot override this component. */ var styles = { reset: "_dxsyidpf _1i144jg8 _nmk4glyw" }; /** * Using '&&' here to increase specificity of Heading styles such that app styles like ".wiki-content h4" cannot override this component. */ var headingColorStyles = { 'color.text': "_1w90i7uo", 'color.text.inverse': "_1w9015cr", 'color.text.warning.inverse': "_1w901yd3" }; /** * Using '&&' here to increase specificity of Heading styles such that app styles like ".wiki-content h4" cannot override this component. */ var headingSizeStyles = { xxlarge: "_fqox1iff", xlarge: "_fqox12ln", large: "_fqox10sd", medium: "_fqox1af2", small: "_fqox1e3o", xsmall: "_fqox1qyo", xxsmall: "_fqoxi4vh" }; /** * @codegenEnd */ var useColor = function useColor(colorProp) { var surface = (0, _compiled.UNSAFE_useSurface)(); if (colorProp) { return colorProp; } if (_primitives.UNSAFE_inverseColorMap.hasOwnProperty(surface)) { return _primitives.UNSAFE_inverseColorMap[surface]; } return 'color.text'; }; /** * __Heading__ * * Heading is a typography component used to display text in defined sizes and styles. * * @example * * ```jsx * <Heading size="xxlarge">Page title</Heading> * ``` */ var Heading = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) { var children = props.children, size = props.size, id = props.id, testId = props.testId, as = props.as, colorProp = props.color; if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production' && as && typeof as !== 'string') { throw new Error('`as` prop should be a string.'); } var _useHeading = (0, _useHeading3.useHeading)(sizeTagMap[size]), _useHeading2 = (0, _slicedToArray2.default)(_useHeading, 2), hLevel = _useHeading2[0], inferredElement = _useHeading2[1]; var Component = as || inferredElement; var needsAriaRole = Component === 'div' && hLevel; var color = useColor(colorProp); return /*#__PURE__*/React.createElement(Component, { id: id, ref: ref, "data-testid": testId, role: needsAriaRole ? 'heading' : undefined, "aria-level": needsAriaRole ? hLevel : undefined, className: (0, _runtime.ax)([styles.reset, headingSizeStyles[size], headingColorStyles[color]]) }, children); }); var _default = exports.default = Heading;