eddev 0.3.17 → 0.3.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eddev",
3
- "version": "0.3.17",
3
+ "version": "0.3.19",
4
4
  "main": "./index.js",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -59,7 +59,11 @@ export declare type RouterScrollHandler = {
59
59
  export declare const customRouterScrollHandler: {
60
60
  handler: RouterScrollHandler | null;
61
61
  };
62
+ export declare const customShouldNavigateFunction: {
63
+ handler: ((href: string) => boolean) | null;
64
+ };
62
65
  export declare function useCustomRouterScrollHandler(handler: RouterScrollHandler): void;
66
+ export declare function useShouldNavigateFunction(handler: (href: string) => boolean): void;
63
67
  export declare type RouteProps = RouteContextConfig & {
64
68
  children: ReactNode;
65
69
  };
@@ -50,7 +50,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
50
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
51
  };
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.RouteItemContext = exports.Switch = exports.Link = exports.urlDescendentsMatch = exports.urlPathsMatch = exports.isInternalPageLink = exports.RouterRoot = exports.createRouteItem = exports.Route = exports.useCustomRouterScrollHandler = exports.customRouterScrollHandler = exports.useRouter = exports.useRoute = void 0;
53
+ exports.RouteItemContext = exports.Switch = exports.Link = exports.urlDescendentsMatch = exports.urlPathsMatch = exports.isInternalPageLink = exports.RouterRoot = exports.createRouteItem = exports.Route = exports.useShouldNavigateFunction = exports.useCustomRouterScrollHandler = exports.customShouldNavigateFunction = exports.customRouterScrollHandler = exports.useRouter = exports.useRoute = void 0;
54
54
  var jsx_runtime_1 = require("react/jsx-runtime");
55
55
  var react_1 = require("react");
56
56
  var react_merge_refs_1 = require("react-merge-refs");
@@ -239,6 +239,9 @@ exports.useRouter = useRouter;
239
239
  exports.customRouterScrollHandler = {
240
240
  handler: null,
241
241
  };
242
+ exports.customShouldNavigateFunction = {
243
+ handler: null,
244
+ };
242
245
  function useCustomRouterScrollHandler(handler) {
243
246
  exports.customRouterScrollHandler.handler = handler;
244
247
  (0, react_1.useEffect)(function () {
@@ -248,6 +251,15 @@ function useCustomRouterScrollHandler(handler) {
248
251
  }, []);
249
252
  }
250
253
  exports.useCustomRouterScrollHandler = useCustomRouterScrollHandler;
254
+ function useShouldNavigateFunction(handler) {
255
+ exports.customShouldNavigateFunction.handler = handler;
256
+ (0, react_1.useEffect)(function () {
257
+ return function () {
258
+ exports.customShouldNavigateFunction.handler = null;
259
+ };
260
+ }, []);
261
+ }
262
+ exports.useShouldNavigateFunction = useShouldNavigateFunction;
251
263
  function Route(props) {
252
264
  var ctx = useForkedRouter({
253
265
  match: props.match,
@@ -331,7 +343,13 @@ function RouterRoot(props) {
331
343
  exports.RouterRoot = RouterRoot;
332
344
  var isInternalPageLink = function (href) {
333
345
  var url = (0, url_parse_1.default)(href, true);
334
- if (url && url.origin === document.location.origin && !url.pathname.match(/\./)) {
346
+ if (exports.customShouldNavigateFunction.handler) {
347
+ return exports.customShouldNavigateFunction.handler(href);
348
+ }
349
+ if (url &&
350
+ url.origin === document.location.origin &&
351
+ !url.pathname.match(/\./) &&
352
+ !(url.pathname == document.location.pathname && url.hash)) {
335
353
  return true;
336
354
  }
337
355
  else {
@@ -376,7 +394,7 @@ exports.Link = (0, react_1.forwardRef)(function (props, ref) {
376
394
  return false;
377
395
  return (0, exports.urlDescendentsMatch)(router === null || router === void 0 ? void 0 : router.item.pathname, props.href);
378
396
  }, [router === null || router === void 0 ? void 0 : router.item.pathname, props.href]);
379
- return ((0, jsx_runtime_1.jsx)("a", __assign({ ref: (0, react_merge_refs_1.mergeRefs)([localRef, ref]) }, props, { "data-active": isActive ? true : undefined, "data-child-active": isDescendentActive ? true : undefined, onMouseEnter: function (e) {
397
+ return ((0, jsx_runtime_1.jsx)("a", __assign({ ref: (0, react_merge_refs_1.mergeRefs)([localRef, ref]) }, props, { target: typeof props.target === "string" ? props.target : undefined, "data-active": isActive ? true : undefined, "data-child-active": isDescendentActive ? true : undefined, onMouseEnter: function (e) {
380
398
  if (props.onMouseEnter) {
381
399
  props.onMouseEnter(e);
382
400
  }