@koordinates/xstate-tree 4.3.0-beta.3 → 4.3.0-beta.4
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/lib/routing/Link.js +35 -15
- package/lib/xstate-tree.d.ts +15 -1
- package/package.json +1 -1
package/lib/routing/Link.js
CHANGED
|
@@ -1,20 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
4
24
|
};
|
|
5
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
26
|
exports.Link = void 0;
|
|
7
|
-
const react_1 =
|
|
27
|
+
const react_1 = __importStar(require("react"));
|
|
8
28
|
const useHref_1 = require("./useHref");
|
|
9
|
-
|
|
10
|
-
* @public
|
|
11
|
-
*
|
|
12
|
-
* Renders an anchor tag pointing at the provided Route
|
|
13
|
-
*
|
|
14
|
-
* The query/params/meta props are conditionally required based on the
|
|
15
|
-
* route passed as the To parameter
|
|
16
|
-
*/
|
|
17
|
-
function Link({ to, children, testId, preloadOnHoverMs, preloadOnInteraction, onMouseDown: _onMouseDown, onMouseEnter: _onMouseEnter, onMouseLeave: _onMouseLeave, ...rest }) {
|
|
29
|
+
function LinkInner({ to, children, testId, preloadOnHoverMs, preloadOnInteraction, onMouseDown: _onMouseDown, onMouseEnter: _onMouseEnter, onMouseLeave: _onMouseLeave, ...rest }, ref) {
|
|
18
30
|
// @ts-ignore, these fields _might_ exist, so typechecking doesn't believe they exist
|
|
19
31
|
// and everything that consumes params/query already checks for undefined
|
|
20
32
|
const { params, query, meta, ...props } = rest;
|
|
@@ -42,9 +54,8 @@ function Link({ to, children, testId, preloadOnHoverMs, preloadOnInteraction, on
|
|
|
42
54
|
}
|
|
43
55
|
}
|
|
44
56
|
: undefined;
|
|
45
|
-
return (react_1.default.createElement("a", { ...props, href: href, "data-testid": testId, onMouseDown: onMouseDown !== null && onMouseDown !== void 0 ? onMouseDown : _onMouseDown, onMouseEnter: onMouseEnter !== null && onMouseEnter !== void 0 ? onMouseEnter : _onMouseEnter, onMouseLeave: onMouseLeave !== null && onMouseLeave !== void 0 ? onMouseLeave : _onMouseLeave, onClick: (e) => {
|
|
57
|
+
return (react_1.default.createElement("a", { ...props, ref: ref, href: href, "data-testid": testId, onMouseDown: onMouseDown !== null && onMouseDown !== void 0 ? onMouseDown : _onMouseDown, onMouseEnter: onMouseEnter !== null && onMouseEnter !== void 0 ? onMouseEnter : _onMouseEnter, onMouseLeave: onMouseLeave !== null && onMouseLeave !== void 0 ? onMouseLeave : _onMouseLeave, onClick: (e) => {
|
|
46
58
|
var _a;
|
|
47
|
-
e.preventDefault();
|
|
48
59
|
if (((_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, e)) === false) {
|
|
49
60
|
return;
|
|
50
61
|
}
|
|
@@ -53,7 +64,16 @@ function Link({ to, children, testId, preloadOnHoverMs, preloadOnInteraction, on
|
|
|
53
64
|
if (e.metaKey || e.ctrlKey) {
|
|
54
65
|
return;
|
|
55
66
|
}
|
|
67
|
+
e.preventDefault();
|
|
56
68
|
to.navigate({ params, query, meta });
|
|
57
69
|
} }, children));
|
|
58
70
|
}
|
|
59
|
-
|
|
71
|
+
/**
|
|
72
|
+
* @public
|
|
73
|
+
*
|
|
74
|
+
* Renders an anchor tag pointing at the provided Route
|
|
75
|
+
*
|
|
76
|
+
* The query/params/meta props are conditionally required based on the
|
|
77
|
+
* route passed as the To parameter
|
|
78
|
+
*/
|
|
79
|
+
exports.Link = (0, react_1.forwardRef)(LinkInner);
|
package/lib/xstate-tree.d.ts
CHANGED
|
@@ -355,7 +355,21 @@ export declare function lazy<TMachine extends AnyStateMachine>(factory: () => Pr
|
|
|
355
355
|
* The query/params/meta props are conditionally required based on the
|
|
356
356
|
* route passed as the To parameter
|
|
357
357
|
*/
|
|
358
|
-
export declare
|
|
358
|
+
export declare const Link: <TRoute extends AnyRoute>(props: {
|
|
359
|
+
to: TRoute;
|
|
360
|
+
children: React_2.ReactNode;
|
|
361
|
+
testId?: string | undefined;
|
|
362
|
+
/**
|
|
363
|
+
* onClick works as normal, but if you return false from it the navigation will not happen
|
|
364
|
+
*/
|
|
365
|
+
onClick?: ((e: React_2.MouseEvent<HTMLAnchorElement>) => boolean | void) | undefined;
|
|
366
|
+
preloadOnInteraction?: boolean | undefined;
|
|
367
|
+
preloadOnHoverMs?: number | undefined;
|
|
368
|
+
} & RouteArguments<TRoute extends Route<infer TParams, any, any, any> ? TParams : undefined, TRoute extends Route<any, infer TQuery, any, any> ? TQuery : undefined, TRoute extends Route<any, any, any, infer TMeta> ? TMeta : undefined> & Omit<React_2.AnchorHTMLAttributes<HTMLAnchorElement>, "href" | "onClick"> & {
|
|
369
|
+
ref?: React_2.ForwardedRef<HTMLAnchorElement> | undefined;
|
|
370
|
+
}) => ReturnType<typeof LinkInner>;
|
|
371
|
+
|
|
372
|
+
declare function LinkInner<TRoute extends AnyRoute>({ to, children, testId, preloadOnHoverMs, preloadOnInteraction, onMouseDown: _onMouseDown, onMouseEnter: _onMouseEnter, onMouseLeave: _onMouseLeave, ...rest }: LinkProps<TRoute>, ref: React_2.ForwardedRef<HTMLAnchorElement>): JSX.Element;
|
|
359
373
|
|
|
360
374
|
/**
|
|
361
375
|
* @public
|
package/package.json
CHANGED