UNPKG

@flexis/ui

Version:

Styleless React Components

119 lines (95 loc) 7.29 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _types = require("../common/types"); var _LinkSt = require("./Link.st.css"); var _createElement = _react.default.createElement; var PureComponent = _react.default.PureComponent, Children = _react.default.Children, cloneElement = _react.default.cloneElement; var safeTargetBlankRel = 'noopener noreferrer'; var Link = /** @class */ function () { var Link = /*#__PURE__*/function (_PureComponent) { (0, _inherits2.default)(Link, _PureComponent); function Link() { (0, _classCallCheck2.default)(this, Link); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Link).apply(this, arguments)); } (0, _createClass2.default)(Link, [{ key: "render", value: function render() { var _this$props = this.props, className = _this$props.className, elementRef = _this$props.elementRef, icon = _this$props.icon, flexIcon = _this$props.flexIcon, alignIcon = _this$props.alignIcon, rel = _this$props.rel, target = _this$props.target, children = _this$props.children, LinkElement = _this$props.linkElement, linkElementCustomProps = _this$props.linkElementCustomProps, props = (0, _objectWithoutProperties2.default)(_this$props, ["className", "elementRef", "icon", "flexIcon", "alignIcon", "rel", "target", "children", "linkElement", "linkElementCustomProps"]); var iconOnly = !Children.count(children); var leftAligned = alignIcon === _types.AlignSideVariant.Left; var linkIcon = null; if (typeof icon !== 'undefined') { linkIcon = cloneElement(icon, { className: (0, _LinkSt.style)(_LinkSt.classes.icon, (0, _defineProperty2.default)({}, "".concat(alignIcon, "Align"), Boolean(alignIcon) && !iconOnly), icon.props.className) }); } return _createElement(LinkElement, (0, _extends2.default)({ ref: elementRef }, props, { className: (0, _LinkSt.style)(_LinkSt.classes.root, { withIcon: Boolean(linkIcon), flexIcon: flexIcon }, className) }, linkElementCustomProps, { target: target, rel: target === '_blank' && typeof rel === 'undefined' ? safeTargetBlankRel : rel }), linkIcon ? _createElement("div", { className: _LinkSt.classes.iconContainer }, leftAligned && linkIcon, !iconOnly && _createElement("span", null, children), !leftAligned && linkIcon) : children); } }]); return Link; }(PureComponent); process.env.NODE_ENV !== "production" ? Link.propTypes = { elementRef: _propTypes.default.func, icon: _propTypes.default.element, flexIcon: _propTypes.default.bool, alignIcon: _propTypes.default.oneOf(_types.AlignSideValues), rel: _propTypes.default.string, target: _propTypes.default.string, children: _propTypes.default.node, linkElement: _propTypes.default.any, linkElementCustomProps: _propTypes.default.object } : void 0; Link.defaultProps = { flexIcon: false, alignIcon: _types.AlignSideVariant.Left, linkElement: 'a', linkElementCustomProps: {} }; return Link; }(); var _default = Link; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0xpbmsvTGluay50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQVNBOztBQUlBOztBQUtBOzs7Ozs7QUFzQkEsSUFBTSxrQkFBa0IsR0FBRyxxQkFBM0I7O0FBRUEsSUFBQSxJQUFBO0FBQUE7QUFBQSxZQUFBO0FBQUEsTUFBcUIsSUFBckI7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUEsK0JBcUJPO0FBQUEsMEJBY0QsS0FBSyxLQWRKO0FBQUEsWUFHSixTQUhJLGVBR0osU0FISTtBQUFBLFlBSUosVUFKSSxlQUlKLFVBSkk7QUFBQSxZQUtKLElBTEksZUFLSixJQUxJO0FBQUEsWUFNSixRQU5JLGVBTUosUUFOSTtBQUFBLFlBT0osU0FQSSxlQU9KLFNBUEk7QUFBQSxZQVFKLEdBUkksZUFRSixHQVJJO0FBQUEsWUFTSixNQVRJLGVBU0osTUFUSTtBQUFBLFlBVUosUUFWSSxlQVVKLFFBVkk7QUFBQSxZQVdTLFdBWFQsZUFXSixXQVhJO0FBQUEsWUFZSixzQkFaSSxlQVlKLHNCQVpJO0FBQUEsWUFhRCxLQWJDO0FBZUwsWUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBVCxDQUFlLFFBQWYsQ0FBbEI7QUFDQSxZQUFNLFdBQVcsR0FBRyxTQUFTLEtBQUssd0JBQWlCLElBQW5EO0FBQ0EsWUFBSSxRQUFRLEdBQXNCLElBQWxDOztBQUVBLFlBQUksT0FBTyxJQUFQLEtBQWdCLFdBQXBCLEVBQWlDO0FBQ2hDLFVBQUEsUUFBUSxHQUFHLFlBQVksQ0FDdEIsSUFEc0IsRUFFdEI7QUFDQyxZQUFBLFNBQVMsRUFBRSxtQkFBTSxnQkFBUSxJQUFkLDhDQUNOLFNBRE0sWUFDYSxPQUFPLENBQUMsU0FBRCxDQUFQLElBQXNCLENBQUMsUUFEcEMsR0FFUixJQUFJLENBQUMsS0FBTCxDQUFXLFNBRkg7QUFEWixXQUZzQixDQUF2QjtBQVFBOztBQUVELGVBQ0MsZUFBQyxXQUFEO0FBQ0MsVUFBQSxHQUFHLEVBQUU7QUFETixXQUVLLEtBRkw7QUFHQyxVQUFBLFNBQVMsRUFBRSxtQkFBTSxnQkFBUSxJQUFkLEVBQW9CO0FBQzlCLFlBQUEsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFELENBRGE7QUFFOUIsWUFBQSxRQUFRLEVBQVI7QUFGOEIsV0FBcEIsRUFHUixTQUhRO0FBSFosV0FPSyxzQkFQTDtBQVFDLFVBQUEsTUFBTSxFQUFFLE1BUlQ7QUFTQyxVQUFBLEdBQUcsRUFBRSxNQUFNLEtBQUssUUFBWCxJQUF1QixPQUFPLEdBQVAsS0FBZSxXQUF0QyxHQUNGLGtCQURFLEdBRUY7QUFYSixZQWNFLFFBQVEsR0FDUjtBQUNDLFVBQUEsU0FBUyxFQUFFLGdCQUFRO0FBRHBCLFdBR0UsV0FBVyxJQUFJLFFBSGpCLEVBSUUsQ0FBQyxRQUFELElBQ0EsNkJBQU8sUUFBUCxDQUxGLEVBT0UsQ0FBQyxXQUFELElBQWdCLFFBUGxCLENBRFEsR0FVTCxRQXhCTCxDQUREO0FBNEJBO0FBL0VGO0FBQUE7QUFBQSxJQUFrQyxhQUFsQzs7QUFFUSwwQ0FBQSxJQUFBLENBQUEsU0FBQSxHQUFZO0FBQ2xCLElBQUEsVUFBVSxFQUFjLG1CQUFVLElBRGhCO0FBRWxCLElBQUEsSUFBSSxFQUFvQixtQkFBVSxPQUZoQjtBQUdsQixJQUFBLFFBQVEsRUFBZ0IsbUJBQVUsSUFIaEI7QUFJbEIsSUFBQSxTQUFTLEVBQWUsbUJBQVUsS0FBVixDQUFnQixzQkFBaEIsQ0FKTjtBQUtsQixJQUFBLEdBQUcsRUFBcUIsbUJBQVUsTUFMaEI7QUFNbEIsSUFBQSxNQUFNLEVBQWtCLG1CQUFVLE1BTmhCO0FBT2xCLElBQUEsUUFBUSxFQUFnQixtQkFBVSxJQVBoQjtBQVFsQixJQUFBLFdBQVcsRUFBYSxtQkFBVSxHQVJoQjtBQVNsQixJQUFBLHNCQUFzQixFQUFFLG1CQUFVO0FBVGhCLEdBQVo7QUFZQSxFQUFBLElBQUEsQ0FBQSxZQUFBLEdBQWU7QUFDckIsSUFBQSxRQUFRLEVBQWdCLEtBREg7QUFFckIsSUFBQSxTQUFTLEVBQWUsd0JBQWlCLElBRnBCO0FBR3JCLElBQUEsV0FBVyxFQUFhLEdBSEg7QUFJckIsSUFBQSxzQkFBc0IsRUFBRTtBQUpILEdBQWY7QUFrRVIsU0FBQSxJQUFBO0FBQUMsQ0FoRkQsRUFBQTs7ZUFBcUIsSSIsInNvdXJjZVJvb3QiOiIifQ==