var _excluded = ["listStyleType"],
  _excluded2 = ["listStyleType"],
  _excluded3 = ["block"];
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
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); }
import React from 'react';
import { StyledH1, StyledH2, StyledH3, StyledLabel, StyledOL, StyledP, StyledUL } from './Semantic.styles';
export var H1 = /*#__PURE__*/React.forwardRef(function H1(props, ref) {
  return /*#__PURE__*/React.createElement(StyledH1, _extends({}, props, {
    ref: ref
  }));
});
export var H2 = /*#__PURE__*/React.forwardRef(function H2(props, ref) {
  return /*#__PURE__*/React.createElement(StyledH2, _extends({}, props, {
    ref: ref
  }));
});
export var H3 = /*#__PURE__*/React.forwardRef(function H3(props, ref) {
  return /*#__PURE__*/React.createElement(StyledH3, _extends({}, props, {
    ref: ref
  }));
});
export var H4 = /*#__PURE__*/React.forwardRef(function H4(props, ref) {
  return /*#__PURE__*/React.createElement(H3, _extends({
    as: "h4"
  }, props, {
    ref: ref
  }));
});
export var H5 = /*#__PURE__*/React.forwardRef(function H5(props, ref) {
  return /*#__PURE__*/React.createElement(H3, _extends({
    as: "h5",
    style: {
      fontSize: '90%'
    }
  }, props, {
    ref: ref
  }));
});
export var H6 = /*#__PURE__*/React.forwardRef(function H6(props, ref) {
  return /*#__PURE__*/React.createElement(H3, _extends({
    as: "h6",
    style: {
      fontSize: '85%'
    }
  }, props, {
    ref: ref
  }));
});
var UnknownHeading = /*#__PURE__*/React.forwardRef(function UnknownHeading(props, ref) {
  return /*#__PURE__*/React.createElement("strong", _extends({}, props, {
    ref: ref
  }));
});
var levelToComponent = {
  '1': H1,
  '2': H2,
  '3': H3,
  '4': H4,
  '5': H5,
  '6': H6
};

/**
 * @param level 1 - 6
 * @returns H1 - H6 component
 */
export function getHeadingComponent(level) {
  // @ts-ignore
  return levelToComponent[String(level)] || UnknownHeading;
}
export var P = /*#__PURE__*/React.forwardRef(function P(props, ref) {
  return /*#__PURE__*/React.createElement(StyledP, _extends({}, props, {
    ref: ref
  }));
});
export var UL = /*#__PURE__*/React.forwardRef(function UL(props, ref) {
  var listStyleType = props.listStyleType,
    restProps = _objectWithoutProperties(props, _excluded);
  return /*#__PURE__*/React.createElement(StyledUL, _extends({
    $listStyleType: listStyleType
  }, restProps, {
    ref: ref
  }));
});
export var OL = /*#__PURE__*/React.forwardRef(function OL(props, ref) {
  var listStyleType = props.listStyleType,
    restProps = _objectWithoutProperties(props, _excluded2);
  return /*#__PURE__*/React.createElement(StyledOL, _extends({
    $listStyleType: listStyleType
  }, restProps, {
    ref: ref
  }));
});
export var Label = /*#__PURE__*/React.forwardRef(function Label(_ref, ref) {
  var block = _ref.block,
    props = _objectWithoutProperties(_ref, _excluded3);
  return /*#__PURE__*/React.createElement(StyledLabel, _extends({
    $block: block
  }, props, {
    ref: ref
  }));
});
H1.displayName = 'H1';
H2.displayName = 'H2';
H3.displayName = 'H3';
P.displayName = 'P';
UL.displayName = 'UL';
OL.displayName = 'OL';
Label.displayName = 'Label';
//# sourceMappingURL=Semantic.js.map