UNPKG

@moxb/stellar-router-react

Version:

Stellar router: React widgets

28 lines (27 loc) 1.38 kB
"use strict"; 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)); });