UNPKG

fluxel

Version:

An ultra-lightweight, high-performance library for efficient DOM building and dynamic web UIs

38 lines (37 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "Link", { enumerable: true, get: function() { return Link; } }); const _baseReactive = /*#__PURE__*/ _interop_require_default(require("../baseReactive.js")); const _router = require("./router.js"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const Link = (props)=>{ if (!props || !props.href) { throw new Error("Link component requires a 'href' property."); } const replace = props.replace || false; const rest = Object.assign({}, props); delete rest.replace; const href = rest.href || "#"; const onclick = rest.onclick ? Array.isArray(rest.onclick) ? rest.onclick : [ rest.onclick ] : []; onclick.push((event)=>{ event.preventDefault(); (0, _router.globalNavigate)(href, { replace: replace || false }); }); rest.onclick = onclick; return _baseReactive.default.a(rest); };