@moxb/stellar-router-react
Version:
Stellar router: React widgets
28 lines (27 loc) • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NavLink = void 0;
var tslib_1 = require("tslib");
var React = require("react");
var mobx_react_lite_1 = require("mobx-react-lite");
var Anchor = require("@moxb/react-html");
var stellar_router_core_1 = require("@moxb/stellar-router-core");
var routingProviders_1 = require("./routingProviders");
exports.NavLink = (0, mobx_react_lite_1.observer)(function (props) {
var locationManager = (0, routingProviders_1.useLocationManager)('nav link');
var position = props.position, to = props.to, argChanges = props.argChanges, appendTokens = props.appendTokens, removeTokenCount = props.removeTokenCount, toRef = props.toRef;
var wantedLocation = locationManager._getNewLocationForLinkProps({
position: position,
to: to,
argChanges: argChanges,
appendTokens: appendTokens,
removeTokenCount: removeTokenCount,
toRef: toRef,
});
function handleClick() {
locationManager._trySetLocation(wantedLocation);
}
var children = props.children, rest = (0, tslib_1.__rest)(props, ["children"]);
var target = props.target;
return (React.createElement(Anchor.Anchor, (0, tslib_1.__assign)({ href: (0, stellar_router_core_1.locationToUrl)(wantedLocation), onClick: target ? undefined : handleClick }, rest), children));
});