UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

62 lines 2.18 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var useLinkTo_exports = {}; __export(useLinkTo_exports, { useLinkTo: () => useLinkTo }); module.exports = __toCommonJS(useLinkTo_exports); var import_getPathFromState_mods = require("../fork/getPathFromState-mods.cjs"); var import_matchers = require("../router/matchers.cjs"); var import_router = require("../router/router.cjs"); function eventShouldPreventDefault(e) { if (e?.defaultPrevented) return false; if ("button" in e && !e.metaKey && !e.altKey && !e.ctrlKey && !e.shiftKey && (e.button == null || e.button === 0) && [void 0, null, "", "self"].includes(e.currentTarget.target)) return true; return false; } function useLinkTo(props) { const { linkTo } = (0, import_router.useOneRouter)(); const onPress = e => { const event = props.replace ? "REPLACE" : "PUSH"; let shouldHandle = false; if (!e) shouldHandle = e ? !e.defaultPrevented : true;else if (eventShouldPreventDefault(e)) { e.preventDefault(); shouldHandle = true; } if (shouldHandle) { const options = props.mask ? { mask: { href: props.mask } } : void 0; linkTo(props.href, event, options); } }; const displayHref = props.mask || props.href; return { href: (0, import_getPathFromState_mods.appendBaseUrl)((0, import_matchers.stripGroupSegmentsFromPath)(displayHref) || "/"), role: "link", onPress }; }