Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/ui / src / components / atoms / Link / Link.js
Size: Mime:
"use strict";

var __rest = this && this.__rest || function (s, e) {
  var t = {};

  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];

  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
  return t;
};

var __importDefault = this && this.__importDefault || function (mod) {
  return mod && mod.__esModule ? mod : {
    "default": mod
  };
};

Object.defineProperty(exports, "__esModule", {
  value: true
});

const react_1 = __importDefault(require("react"));

const renderProps_1 = require("./renderProps");

class Link extends react_1.default.PureComponent {
  render() {
    let _a = this.props,
        {
      text,
      to,
      href,
      link,
      url,
      onClick,
      urlBase,
      target,
      nofollow,
      shouldNotFollow
    } = _a,
        remainingProps = __rest(_a, ["text", "to", "href", "link", "url", "onClick", "urlBase", "target", "nofollow", "shouldNotFollow"]);

    to = to || href || url || link || onClick;
    nofollow = nofollow || shouldNotFollow; // packing the required props into attr

    const attr = Object.assign({
      text,
      target,
      urlBase
    }, remainingProps); // setting nofollow

    if (nofollow === true) {
      attr.rel = 'nofollow';
    } // assigning href


    attr.href = to;
    const children = this.props.renderChildren(attr);
    const view = this.props.renderLink(Object.assign({}, attr, {
      children
    }));
    return view;
  }

}

Link.defaultProps = {
  // className: ''
  text: 'Link',
  // http://uxui.skavaone.com
  to: '',
  target: '_blank',
  renderLink: renderProps_1.renderLink,
  renderChildren: renderProps_1.renderChildren
};
exports.Link = Link;
exports.default = Link; //# sourceMappingURL=Link.js.map