Repository URL to install this package:
|
Version:
2.0.2 ▾
|
"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