@wavelengthusaf/client-router 0.2.2 → 0.3.1
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/README.md +70 -27
- package/dist/elements/RouteElement.d.ts.map +1 -1
- package/dist/elements/RouteElement.js +1 -1
- package/dist/elements/RouteElement.js.map +1 -1
- package/dist/elements/RouterElement.d.ts.map +1 -1
- package/dist/elements/RouterElement.js +12 -6
- package/dist/elements/RouterElement.js.map +1 -1
- package/dist/elements/RouterLink.d.ts +9 -0
- package/dist/elements/RouterLink.d.ts.map +1 -0
- package/dist/elements/RouterLink.js +76 -0
- package/dist/elements/RouterLink.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/models/RouterLocation.d.ts +8 -0
- package/dist/models/RouterLocation.d.ts.map +1 -0
- package/dist/models/RouterLocation.js +2 -0
- package/dist/models/RouterLocation.js.map +1 -0
- package/dist/models/index.d.ts +2 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/router/MemoryRouter.d.ts +22 -0
- package/dist/router/MemoryRouter.d.ts.map +1 -0
- package/dist/router/MemoryRouter.js +133 -0
- package/dist/router/MemoryRouter.js.map +1 -0
- package/dist/router/Router.d.ts +3 -1
- package/dist/router/Router.d.ts.map +1 -1
- package/dist/router/Router.js +27 -0
- package/dist/router/Router.js.map +1 -1
- package/dist/router/useLocation.d.ts +8 -0
- package/dist/router/useLocation.d.ts.map +1 -0
- package/dist/router/useLocation.js +2 -0
- package/dist/router/useLocation.js.map +1 -0
- package/package.json +22 -20
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Wavelength Router
|
|
2
2
|
|
|
3
|
-
A lightweight,
|
|
3
|
+
A lightweight, framework-free TypeScript router built with native custom elements.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
|
|
@@ -21,6 +21,9 @@ A lightweight, native TypeScript web components router for modern web applicatio
|
|
|
21
21
|
- [Route-Level Error Handling](#route-level-error-handling)
|
|
22
22
|
- [Navigation Lifecycle Events](#navigation-lifecycle-events)
|
|
23
23
|
- [Programmatic Navigation](#programmatic-navigation)
|
|
24
|
+
- [`<wavelength-link>` / `RouterLink`](#wavelength-link--routerlink)
|
|
25
|
+
- [`MemoryRouter`](#memoryrouter)
|
|
26
|
+
- [`useLocation`](#uselocation)
|
|
24
27
|
- [Scroll Restoration](#scroll-restoration)
|
|
25
28
|
- [Route Preloading](#route-preloading)
|
|
26
29
|
- [Focus Management](#focus-management)
|
|
@@ -55,15 +58,7 @@ npm install @wavelengthusaf/client-router
|
|
|
55
58
|
|
|
56
59
|
## Use in Your Application
|
|
57
60
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
Once published to npm, install the package:
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
npm install @wavelengthusaf/client-router
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
Then import the elements in your entry point:
|
|
61
|
+
Install the package and import the elements in your entry point:
|
|
67
62
|
|
|
68
63
|
```typescript
|
|
69
64
|
// main.ts or main.js
|
|
@@ -90,12 +85,12 @@ Use the custom elements directly in your HTML. This is ideal for simpler applica
|
|
|
90
85
|
<title>My App</title>
|
|
91
86
|
</head>
|
|
92
87
|
<body>
|
|
93
|
-
<!--
|
|
88
|
+
<!-- The router owns navigation and renders the matched page. -->
|
|
94
89
|
<wavelength-router>
|
|
95
90
|
<nav aria-label="Main navigation">
|
|
96
|
-
<
|
|
97
|
-
<
|
|
98
|
-
<
|
|
91
|
+
<wavelength-link to="/" end>Home</wavelength-link>
|
|
92
|
+
<wavelength-link to="/about" end>About</wavelength-link>
|
|
93
|
+
<wavelength-link to="/users/123" end>User Profile</wavelength-link>
|
|
99
94
|
</nav>
|
|
100
95
|
|
|
101
96
|
<wavelength-route path="/" component="home-page"></wavelength-route>
|
|
@@ -153,10 +148,10 @@ Use the custom elements directly in your HTML. This is ideal for simpler applica
|
|
|
153
148
|
</html>
|
|
154
149
|
```
|
|
155
150
|
|
|
156
|
-
`<wavelength-router>` delegates links
|
|
157
|
-
DOM descendants. Keep
|
|
158
|
-
rendered
|
|
159
|
-
browser navigation
|
|
151
|
+
`<wavelength-router>` delegates navigation for links in its Light DOM and open
|
|
152
|
+
Shadow DOM descendants. Keep navigation controls inside the router and route
|
|
153
|
+
declarations outside the rendered outlet. Links outside the router retain
|
|
154
|
+
native browser navigation.
|
|
160
155
|
|
|
161
156
|
#### How It Works
|
|
162
157
|
|
|
@@ -303,15 +298,15 @@ intended.
|
|
|
303
298
|
|
|
304
299
|
### `<wavelength-router>` Attributes
|
|
305
300
|
|
|
306
|
-
| Attribute
|
|
307
|
-
|
|
|
308
|
-
| `base-path`
|
|
309
|
-
| `error-component`
|
|
310
|
-
| `hash-mode`
|
|
311
|
-
| `guard`
|
|
312
|
-
| `focus-strategy`
|
|
313
|
-
| `not-found-component` | string
|
|
314
|
-
| `scroll-restoration`
|
|
301
|
+
| Attribute | Type | Description |
|
|
302
|
+
| --------------------- | --------------------------- | -------------------------------------------------------------------------- |
|
|
303
|
+
| `base-path` | string | Base URL pathname stripped before matching and prepended during navigation |
|
|
304
|
+
| `error-component` | string | Custom element tag rendered for guard or mount failures |
|
|
305
|
+
| `hash-mode` | flag | Enable hash-based routing (`#/path`) instead of history |
|
|
306
|
+
| `guard` | string | Name of a global guard function on `window` |
|
|
307
|
+
| `focus-strategy` | `none`, `outlet`, `heading` | Focus target after navigation; defaults to `none` |
|
|
308
|
+
| `not-found-component` | string | Custom element tag rendered when no route matches |
|
|
309
|
+
| `scroll-restoration` | `preserve`, `top` | Scroll behavior after navigation; defaults to `preserve` |
|
|
315
310
|
|
|
316
311
|
#### Example with Hash Mode
|
|
317
312
|
|
|
@@ -642,6 +637,54 @@ post-login or canonicalization redirects when the previous URL should not
|
|
|
642
637
|
remain in browser history. Programmatic navigation accepts only valid
|
|
643
638
|
same-origin HTTP(S) paths; external and malformed targets are ignored.
|
|
644
639
|
|
|
640
|
+
### `<wavelength-link>` / `RouterLink`
|
|
641
|
+
|
|
642
|
+
`<wavelength-link>` renders an anchor that participates in delegated router
|
|
643
|
+
navigation. `RouterLink` is the exported custom-element class. Use `replace`
|
|
644
|
+
for replacement history entries and `end` for exact active matching:
|
|
645
|
+
|
|
646
|
+
```html
|
|
647
|
+
<wavelength-link to="/account" end>Account</wavelength-link>
|
|
648
|
+
<wavelength-link to="/settings" replace>Settings</wavelength-link>
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
### `MemoryRouter`
|
|
652
|
+
|
|
653
|
+
`MemoryRouter` uses the same route definitions and route components while
|
|
654
|
+
keeping history in memory. It is useful for tests and embedded flows where the
|
|
655
|
+
browser URL should not change. It supports `start`, `destroy`, `navigate`,
|
|
656
|
+
`replace`, `back`, `forward`, and `go`.
|
|
657
|
+
|
|
658
|
+
```typescript
|
|
659
|
+
import { MemoryRouter, useLocation } from '@wavelengthusaf/client-router';
|
|
660
|
+
|
|
661
|
+
const router = new MemoryRouter(routes, {
|
|
662
|
+
outlet: document.querySelector('#app')!,
|
|
663
|
+
initialEntries: ['/users/42'],
|
|
664
|
+
});
|
|
665
|
+
router.start();
|
|
666
|
+
const location = useLocation(router);
|
|
667
|
+
```
|
|
668
|
+
|
|
669
|
+
### `useLocation`
|
|
670
|
+
|
|
671
|
+
`useLocation(router)` is a framework-free equivalent of a location hook. It
|
|
672
|
+
returns a snapshot with `pathname`, `search`, `hash`, `path`, `routeParams`,
|
|
673
|
+
`query`, and optional route `meta`. Call `router.subscribe(listener)` when a
|
|
674
|
+
component needs to react to subsequent navigations. This works with both
|
|
675
|
+
`Router` and `MemoryRouter`:
|
|
676
|
+
|
|
677
|
+
```typescript
|
|
678
|
+
import { useLocation } from '@wavelengthusaf/client-router';
|
|
679
|
+
|
|
680
|
+
const location = useLocation(router);
|
|
681
|
+
const unsubscribe = router.subscribe((nextLocation) => {
|
|
682
|
+
document.title = nextLocation.meta?.title ?? nextLocation.path;
|
|
683
|
+
});
|
|
684
|
+
|
|
685
|
+
// Call unsubscribe when the owning component is disconnected.
|
|
686
|
+
```
|
|
687
|
+
|
|
645
688
|
### Scroll Restoration
|
|
646
689
|
|
|
647
690
|
By default, navigation preserves the current scroll position. Set
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteElement.d.ts","sourceRoot":"","sources":["../../src/elements/RouteElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,eAAe,EAEf,SAAS,EACV,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,YAAa,SAAQ,WAAW;;IAC3C,gBAAuB,GAAG,sBAAsB;IAEhD,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,IAAI,IAAI,SAAS,GAAG,SAAS,CAevC;IAEM,YAAY,CAAC,GAAG,GAAE,eAAoB,GAAG,eAAe,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"RouteElement.d.ts","sourceRoot":"","sources":["../../src/elements/RouteElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,eAAe,EAEf,SAAS,EACV,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,YAAa,SAAQ,WAAW;;IAC3C,gBAAuB,GAAG,sBAAsB;IAEhD,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,IAAI,IAAI,SAAS,GAAG,SAAS,CAevC;IAEM,YAAY,CAAC,GAAG,GAAE,eAAoB,GAAG,eAAe,GAAG,IAAI;CA0EvE"}
|
|
@@ -62,7 +62,7 @@ export class RouteElement extends HTMLElement {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
#isRouteMeta(value) {
|
|
65
|
-
return
|
|
65
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
66
66
|
}
|
|
67
67
|
#resolveGuard(env) {
|
|
68
68
|
const guardName = this.guardName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteElement.js","sourceRoot":"","sources":["../../src/elements/RouteElement.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,YAAa,SAAQ,WAAW;IACpC,MAAM,CAAU,GAAG,GAAG,kBAAkB,CAAC;IAEhD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IAC1C,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,IAAW,IAAI;QACb,MAAM,KAAK,GAAkB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBAAE,OAAO,MAAM,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;QAED,OAAO,CAAC,IAAI,CACV,6DAA6D,IAAI,CAAC,IAAI,IAAI,CAC3E,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,YAAY,CAAC,MAAuB,EAAE;QAC3C,MAAM,GAAG,GAAW,IAAI,CAAC,YAAY,CAAC;QACtC,MAAM,GAAG,GAAyB,GAAG,CAAC,QAAQ,CAAC;QAE/C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CACV,kDAAkD,IAAI,CAAC,IAAI,GAAG,CAC/D,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAA2B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACnE,MAAM,IAAI,GAA0B,IAAI,CAAC,IAAI,CAAC;QAE9C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,cAAc,EAAE;oBACd,KAAK,KAAI,CAAC;oBACV,OAAO,KAAI,CAAC;iBACb;gBACD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1B,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAmB;YACrC,KAAK,EAAE,CAAC,SAAsB,EAAE,YAA0B,EAAE,EAAE;gBAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAEpC,CAAC;gBAEF,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;gBAEpC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,gCAAgC;YAClC,CAAC;SACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc;YACd,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1B,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,KAAc;QACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"RouteElement.js","sourceRoot":"","sources":["../../src/elements/RouteElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouterElement.d.ts","sourceRoot":"","sources":["../../src/elements/RouterElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAEV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAG7B,qBAAa,aAAc,SAAQ,WAAW;;IAC5C,gBAAuB,GAAG,uBAAuB;IAgBjD,WAAkB,kBAAkB,IAAI,MAAM,EAAE,CAU/C;IAEM,iBAAiB,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"RouterElement.d.ts","sourceRoot":"","sources":["../../src/elements/RouterElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAEV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAG7B,qBAAa,aAAc,SAAQ,WAAW;;IAC5C,gBAAuB,GAAG,uBAAuB;IAgBjD,WAAkB,kBAAkB,IAAI,MAAM,EAAE,CAU/C;IAEM,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAS5B,wBAAwB,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAKA,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,IAAI,IAAI;IAInB,IAAW,SAAS,IAAI,cAAc,GAAG,SAAS,CAEjD;IAED,IAAW,SAAS,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,EAKzD;IAED,IAAW,iBAAiB,IAAI,iBAAiB,GAAG,SAAS,CAE5D;IAED,IAAW,iBAAiB,CAC1B,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,EAMjD;IAEM,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB;IAIlD,OAAO,IAAI,IAAI;IAKf,cAAc,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI;CAwVvE"}
|
|
@@ -21,10 +21,12 @@ export class RouterElement extends HTMLElement {
|
|
|
21
21
|
];
|
|
22
22
|
}
|
|
23
23
|
connectedCallback() {
|
|
24
|
+
this.addEventListener('wavelength-route-complete', this.#handleRouteComplete);
|
|
24
25
|
this.#observeRoutes();
|
|
25
26
|
this.#bootstrap();
|
|
26
27
|
}
|
|
27
28
|
disconnectedCallback() {
|
|
29
|
+
this.removeEventListener('wavelength-route-complete', this.#handleRouteComplete);
|
|
28
30
|
this.#routeObserver?.disconnect();
|
|
29
31
|
this.#teardown();
|
|
30
32
|
}
|
|
@@ -96,12 +98,8 @@ export class RouterElement extends HTMLElement {
|
|
|
96
98
|
return;
|
|
97
99
|
}
|
|
98
100
|
this.#teardown();
|
|
101
|
+
outlet.replaceChildren();
|
|
99
102
|
const routes = this.#orderedRoutes(routeElements);
|
|
100
|
-
if (routes.length === 0) {
|
|
101
|
-
outlet.replaceChildren();
|
|
102
|
-
console.warn('[wavelength-router] No <wavelength-route> children found.');
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
103
|
const guard = this.#resolveGuard();
|
|
106
104
|
const ownerWindow = this.ownerDocument.defaultView;
|
|
107
105
|
if (!ownerWindow)
|
|
@@ -122,7 +120,15 @@ export class RouterElement extends HTMLElement {
|
|
|
122
120
|
document: this.ownerDocument,
|
|
123
121
|
});
|
|
124
122
|
this.#router.start();
|
|
125
|
-
|
|
123
|
+
const locationPath = this.#router.location?.path;
|
|
124
|
+
if (locationPath)
|
|
125
|
+
this.setAttribute('data-location-path', locationPath);
|
|
126
|
+
}
|
|
127
|
+
#handleRouteComplete = (event) => {
|
|
128
|
+
const detail = event.detail;
|
|
129
|
+
if (detail?.path)
|
|
130
|
+
this.setAttribute('data-location-path', detail.path);
|
|
131
|
+
};
|
|
126
132
|
#teardown() {
|
|
127
133
|
this.#router?.destroy();
|
|
128
134
|
this.#router = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouterElement.js","sourceRoot":"","sources":["../../src/elements/RouterElement.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RouterElement.js","sourceRoot":"","sources":["../../src/elements/RouterElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class RouterLink extends HTMLElement {
|
|
2
|
+
#private;
|
|
3
|
+
static readonly tag = "wavelength-link";
|
|
4
|
+
static get observedAttributes(): string[];
|
|
5
|
+
connectedCallback(): void;
|
|
6
|
+
disconnectedCallback(): void;
|
|
7
|
+
attributeChangedCallback(): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=RouterLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterLink.d.ts","sourceRoot":"","sources":["../../src/elements/RouterLink.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAW,SAAQ,WAAW;;IACzC,gBAAuB,GAAG,qBAAqB;IAI/C,WAAkB,kBAAkB,IAAI,MAAM,EAAE,CAE/C;IACM,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAM5B,wBAAwB,IAAI,IAAI;CAsDxC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
export class RouterLink extends HTMLElement {
|
|
2
|
+
static tag = 'wavelength-link';
|
|
3
|
+
#anchor;
|
|
4
|
+
#router;
|
|
5
|
+
static get observedAttributes() {
|
|
6
|
+
return ['to', 'replace', 'end'];
|
|
7
|
+
}
|
|
8
|
+
connectedCallback() {
|
|
9
|
+
this.#render();
|
|
10
|
+
const router = this.closest('wavelength-router');
|
|
11
|
+
if (router)
|
|
12
|
+
this.#router = router;
|
|
13
|
+
this.#router?.addEventListener('wavelength-route-complete', this.#handleRouteComplete);
|
|
14
|
+
}
|
|
15
|
+
disconnectedCallback() {
|
|
16
|
+
this.#router?.removeEventListener('wavelength-route-complete', this.#handleRouteComplete);
|
|
17
|
+
}
|
|
18
|
+
attributeChangedCallback() {
|
|
19
|
+
if (this.isConnected)
|
|
20
|
+
this.#render();
|
|
21
|
+
}
|
|
22
|
+
#render() {
|
|
23
|
+
const to = this.getAttribute('to') ?? '/';
|
|
24
|
+
if (!this.#anchor) {
|
|
25
|
+
const anchor = this.ownerDocument.createElement('a');
|
|
26
|
+
anchor.addEventListener('click', this.#handleClick);
|
|
27
|
+
anchor.append(...Array.from(this.childNodes));
|
|
28
|
+
this.appendChild(anchor);
|
|
29
|
+
this.#anchor = anchor;
|
|
30
|
+
}
|
|
31
|
+
this.#anchor.href = to;
|
|
32
|
+
this.#anchor.setAttribute('href', to);
|
|
33
|
+
this.#updateActive();
|
|
34
|
+
}
|
|
35
|
+
#handleClick = (event) => {
|
|
36
|
+
if (!this.hasAttribute('replace') ||
|
|
37
|
+
event.button !== 0 ||
|
|
38
|
+
event.metaKey ||
|
|
39
|
+
event.ctrlKey ||
|
|
40
|
+
event.shiftKey ||
|
|
41
|
+
event.altKey)
|
|
42
|
+
return;
|
|
43
|
+
this.dispatchEvent(new CustomEvent('wavelength-navigate', {
|
|
44
|
+
bubbles: true,
|
|
45
|
+
composed: true,
|
|
46
|
+
cancelable: true,
|
|
47
|
+
detail: { path: this.getAttribute('to') ?? '/', replace: true },
|
|
48
|
+
}));
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
};
|
|
51
|
+
#handleRouteComplete = (event) => {
|
|
52
|
+
const detail = event
|
|
53
|
+
.detail;
|
|
54
|
+
this.#updateActive(detail?.context?.path);
|
|
55
|
+
};
|
|
56
|
+
#updateActive = (current) => {
|
|
57
|
+
current ??=
|
|
58
|
+
this.closest('wavelength-router')?.getAttribute('data-location-path') ??
|
|
59
|
+
undefined;
|
|
60
|
+
const target = this.getAttribute('to') ?? '/';
|
|
61
|
+
const active = current === target ||
|
|
62
|
+
(!this.hasAttribute('end') && current?.startsWith(`${target}/`) === true);
|
|
63
|
+
this.toggleAttribute('data-active', active);
|
|
64
|
+
if (active)
|
|
65
|
+
this.#anchor?.setAttribute('aria-current', 'page');
|
|
66
|
+
else
|
|
67
|
+
this.#anchor?.removeAttribute('aria-current');
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
if (!customElements.get(RouterLink.tag))
|
|
71
|
+
customElements.define(RouterLink.tag, RouterLink);
|
|
72
|
+
if (!customElements.get('wavelength-router-link')) {
|
|
73
|
+
customElements.define('wavelength-router-link', class RouterLinkAlias extends RouterLink {
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=RouterLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterLink.js","sourceRoot":"","sources":["../../src/elements/RouterLink.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAW,SAAQ,WAAW;IAClC,MAAM,CAAU,GAAG,GAAG,iBAAiB,CAAC;IAC/C,OAAO,CAAqB;IAC5B,OAAO,CAAW;IAEX,MAAM,KAAK,kBAAkB;QAClC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IACM,iBAAiB;QACtB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACjD,IAAI,MAAM;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAC5B,2BAA2B,EAC3B,IAAI,CAAC,oBAAoB,CAC1B,CAAC;IACJ,CAAC;IACM,oBAAoB;QACzB,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAC/B,2BAA2B,EAC3B,IAAI,CAAC,oBAAoB,CAC1B,CAAC;IACJ,CAAC;IACM,wBAAwB;QAC7B,IAAI,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,YAAY,GAAG,CAAC,KAAiB,EAAQ,EAAE;QACzC,IACE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;YAC7B,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,QAAQ;YACd,KAAK,CAAC,MAAM;YAEZ,OAAO;QACT,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,qBAAqB,EAAE;YACrC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;SAChE,CAAC,CACH,CAAC;QACF,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC,CAAC;IACF,oBAAoB,GAAG,CAAC,KAAY,EAAQ,EAAE;QAC5C,MAAM,MAAM,GAAI,KAAqD;aAClE,MAAM,CAAC;QACV,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,aAAa,GAAG,CAAC,OAAgB,EAAQ,EAAE;QACzC,OAAO;YACL,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,YAAY,CAAC,oBAAoB,CAAC;gBACrE,SAAS,CAAC;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;QAC9C,MAAM,MAAM,GACV,OAAO,KAAK,MAAM;YAClB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;;YAC1D,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IACrD,CAAC,CAAC;;AAGJ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;IACrC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACpD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;IAClD,cAAc,CAAC,MAAM,CACnB,wBAAwB,EACxB,MAAM,eAAgB,SAAQ,UAAU;KAAG,CAC5C,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
export { Router } from './router/Router.js';
|
|
2
|
+
export { MemoryRouter } from './router/MemoryRouter.js';
|
|
3
|
+
export { useLocation } from './router/useLocation.js';
|
|
4
|
+
export type { LocationSource } from './router/useLocation.js';
|
|
2
5
|
export type { FocusStrategy, RouteErrorDetail, RouteErrorHandler, RouteErrorPhase, RouteLifecycleEventDetail, RoutePreloader, RoutePreloadStatus, ScrollRestoration, ScrollRestorationHandler, ScrollRestorationNavigation, } from './router/Router.js';
|
|
3
6
|
export { RouterElement } from './elements/RouterElement.js';
|
|
4
7
|
export { RouteElement } from './elements/RouteElement.js';
|
|
5
|
-
export
|
|
8
|
+
export { RouterLink } from './elements/RouterLink.js';
|
|
9
|
+
export type { RouteComponent, RouteContext, RouteDefinition, RouteGuard, RouteMeta, RouteMetaValue, RouteParams, CompiledRoute, MatchedRoute, LocationListener, RouterLocation, } from './models/index.ts';
|
|
6
10
|
export { compileRoute, matchRoute } from './utils/index.js';
|
|
7
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,UAAU,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export { Router } from './router/Router.js';
|
|
2
|
+
export { MemoryRouter } from './router/MemoryRouter.js';
|
|
3
|
+
export { useLocation } from './router/useLocation.js';
|
|
2
4
|
export { RouterElement } from './elements/RouterElement.js';
|
|
3
5
|
export { RouteElement } from './elements/RouteElement.js';
|
|
6
|
+
export { RouterLink } from './elements/RouterLink.js';
|
|
4
7
|
export { compileRoute, matchRoute } from './utils/index.js';
|
|
5
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AActD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAgBtD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RouteContext } from './RouteContext.js';
|
|
2
|
+
export interface RouterLocation extends RouteContext {
|
|
3
|
+
pathname: string;
|
|
4
|
+
search: string;
|
|
5
|
+
hash: string;
|
|
6
|
+
}
|
|
7
|
+
export type LocationListener = (location: RouterLocation) => void;
|
|
8
|
+
//# sourceMappingURL=RouterLocation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterLocation.d.ts","sourceRoot":"","sources":["../../src/models/RouterLocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouterLocation.js","sourceRoot":"","sources":["../../src/models/RouterLocation.ts"],"names":[],"mappings":""}
|
package/dist/models/index.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ import type { RouteDefinition } from './RouteDefinition.js';
|
|
|
6
6
|
import type { RouteGuard } from './RouteGuard.js';
|
|
7
7
|
import type { RouteMeta, RouteMetaValue } from './RouteMeta.js';
|
|
8
8
|
import type { RouteParams } from './RouteParams.js';
|
|
9
|
-
|
|
9
|
+
import type { LocationListener, RouterLocation } from './RouterLocation.js';
|
|
10
|
+
export type { CompiledRoute, MatchedRoute, RouteComponent, RouteContext, RouteDefinition, RouteGuard, RouteMeta, RouteMetaValue, RouteParams, LocationListener, RouterLocation, };
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE5E,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,UAAU,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,cAAc,GACf,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { LocationListener, RouteDefinition, RouteGuard, RouterLocation } from '../models/index.js';
|
|
2
|
+
export interface MemoryRouterOptions {
|
|
3
|
+
outlet?: HTMLElement;
|
|
4
|
+
initialEntries?: string[];
|
|
5
|
+
initialIndex?: number;
|
|
6
|
+
beforeEach?: RouteGuard;
|
|
7
|
+
eventTarget?: EventTarget;
|
|
8
|
+
}
|
|
9
|
+
export declare class MemoryRouter {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(routes: RouteDefinition[], options?: MemoryRouterOptions);
|
|
12
|
+
get location(): RouterLocation;
|
|
13
|
+
start(): void;
|
|
14
|
+
destroy(): void;
|
|
15
|
+
navigate(path: string): void;
|
|
16
|
+
replace(path: string): void;
|
|
17
|
+
back(): void;
|
|
18
|
+
forward(): void;
|
|
19
|
+
go(delta: number): void;
|
|
20
|
+
subscribe(listener: LocationListener): () => void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=MemoryRouter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryRouter.d.ts","sourceRoot":"","sources":["../../src/router/MemoryRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAGhB,eAAe,EACf,UAAU,EACV,cAAc,EACf,MAAM,oBAAoB,CAAC;AAI5B,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBAAa,YAAY;;gBAYX,MAAM,EAAE,eAAe,EAAE,EAAE,OAAO,GAAE,mBAAwB;IAcxE,IAAW,QAAQ,IAAI,cAAc,CAWpC;IAEM,KAAK,IAAI,IAAI;IAMb,OAAO,IAAI,IAAI;IAMf,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM5B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,IAAI,IAAI;IAGZ,OAAO,IAAI,IAAI;IAGf,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMvB,SAAS,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,IAAI;CA6DzD"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { compileRoute, matchRoute } from '../utils/index.js';
|
|
2
|
+
export class MemoryRouter {
|
|
3
|
+
#routes;
|
|
4
|
+
#outlet;
|
|
5
|
+
#beforeEach;
|
|
6
|
+
#eventTarget;
|
|
7
|
+
#entries;
|
|
8
|
+
#listeners = new Set();
|
|
9
|
+
#index;
|
|
10
|
+
#started = false;
|
|
11
|
+
#component;
|
|
12
|
+
#context;
|
|
13
|
+
constructor(routes, options = {}) {
|
|
14
|
+
this.#routes = routes.map(compileRoute);
|
|
15
|
+
this.#outlet = options.outlet;
|
|
16
|
+
this.#beforeEach = options.beforeEach;
|
|
17
|
+
this.#eventTarget = options.eventTarget;
|
|
18
|
+
this.#entries = options.initialEntries?.length
|
|
19
|
+
? [...options.initialEntries]
|
|
20
|
+
: ['/'];
|
|
21
|
+
this.#index = Math.min(Math.max(options.initialIndex ?? this.#entries.length - 1, 0), this.#entries.length - 1);
|
|
22
|
+
}
|
|
23
|
+
get location() {
|
|
24
|
+
const url = new URL(this.#entries[this.#index], 'https://memory.local');
|
|
25
|
+
return {
|
|
26
|
+
pathname: url.pathname,
|
|
27
|
+
path: this.#context?.path ?? url.pathname,
|
|
28
|
+
search: url.search,
|
|
29
|
+
hash: url.hash,
|
|
30
|
+
routeParams: this.#context?.routeParams ?? {},
|
|
31
|
+
query: this.#context?.query ?? new URLSearchParams(url.search),
|
|
32
|
+
...(this.#context?.meta ? { meta: this.#context.meta } : {}),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
start() {
|
|
36
|
+
if (!this.#started) {
|
|
37
|
+
this.#started = true;
|
|
38
|
+
this.#resolve();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
destroy() {
|
|
42
|
+
this.#started = false;
|
|
43
|
+
this.#component?.unmount?.();
|
|
44
|
+
this.#component = undefined;
|
|
45
|
+
this.#context = undefined;
|
|
46
|
+
}
|
|
47
|
+
navigate(path) {
|
|
48
|
+
this.#entries.splice(this.#index + 1);
|
|
49
|
+
this.#entries.push(path);
|
|
50
|
+
this.#index += 1;
|
|
51
|
+
this.#resolve();
|
|
52
|
+
}
|
|
53
|
+
replace(path) {
|
|
54
|
+
this.#entries[this.#index] = path;
|
|
55
|
+
this.#resolve();
|
|
56
|
+
}
|
|
57
|
+
back() {
|
|
58
|
+
this.go(-1);
|
|
59
|
+
}
|
|
60
|
+
forward() {
|
|
61
|
+
this.go(1);
|
|
62
|
+
}
|
|
63
|
+
go(delta) {
|
|
64
|
+
const next = this.#index + delta;
|
|
65
|
+
if (next < 0 || next >= this.#entries.length)
|
|
66
|
+
return;
|
|
67
|
+
this.#index = next;
|
|
68
|
+
this.#resolve();
|
|
69
|
+
}
|
|
70
|
+
subscribe(listener) {
|
|
71
|
+
this.#listeners.add(listener);
|
|
72
|
+
return () => this.#listeners.delete(listener);
|
|
73
|
+
}
|
|
74
|
+
#resolve() {
|
|
75
|
+
if (!this.#started)
|
|
76
|
+
return;
|
|
77
|
+
const location = this.location;
|
|
78
|
+
const match = matchRoute(this.#routes, location.pathname);
|
|
79
|
+
if (!match)
|
|
80
|
+
return;
|
|
81
|
+
const context = {
|
|
82
|
+
path: location.pathname,
|
|
83
|
+
routeParams: match.routeParams,
|
|
84
|
+
query: new URLSearchParams(location.search),
|
|
85
|
+
...(match.routeDefinition.meta
|
|
86
|
+
? { meta: match.routeDefinition.meta }
|
|
87
|
+
: {}),
|
|
88
|
+
};
|
|
89
|
+
this.#dispatch('wavelength-route-start', { path: context.path, context });
|
|
90
|
+
const next = () => {
|
|
91
|
+
this.#component?.unmount?.();
|
|
92
|
+
this.#outlet?.replaceChildren();
|
|
93
|
+
if (this.#outlet)
|
|
94
|
+
match.routeDefinition.routeComponent.mount(this.#outlet, context);
|
|
95
|
+
this.#component = match.routeDefinition.routeComponent;
|
|
96
|
+
this.#context = context;
|
|
97
|
+
for (const listener of this.#listeners)
|
|
98
|
+
listener(this.location);
|
|
99
|
+
this.#dispatch('wavelength-route-complete', {
|
|
100
|
+
path: context.path,
|
|
101
|
+
context,
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
const guards = [
|
|
105
|
+
...(this.#beforeEach ? [this.#beforeEach] : []),
|
|
106
|
+
...(match.routeDefinition.beforeEach
|
|
107
|
+
? [match.routeDefinition.beforeEach]
|
|
108
|
+
: []),
|
|
109
|
+
];
|
|
110
|
+
const runGuard = (index) => {
|
|
111
|
+
const guard = guards[index];
|
|
112
|
+
if (!guard) {
|
|
113
|
+
next();
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
guard(context, (redirect) => {
|
|
117
|
+
if (redirect)
|
|
118
|
+
this.navigate(redirect);
|
|
119
|
+
else
|
|
120
|
+
runGuard(index + 1);
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
if (guards.length > 0) {
|
|
124
|
+
runGuard(0);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
next();
|
|
128
|
+
}
|
|
129
|
+
#dispatch(type, detail) {
|
|
130
|
+
this.#eventTarget?.dispatchEvent(new CustomEvent(type, { bubbles: true, composed: true, detail }));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=MemoryRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryRouter.js","sourceRoot":"","sources":["../../src/router/MemoryRouter.ts"],"names":[],"mappings":"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"}
|
package/dist/router/Router.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RouteComponent, RouteContext, RouteDefinition, RouteGuard } from '../models/index.js';
|
|
1
|
+
import type { LocationListener, RouteComponent, RouteContext, RouteDefinition, RouteGuard, RouterLocation } from '../models/index.js';
|
|
2
2
|
export interface RouterEnv {
|
|
3
3
|
window?: Window;
|
|
4
4
|
document?: Document;
|
|
@@ -46,5 +46,7 @@ export declare class Router {
|
|
|
46
46
|
back(): void;
|
|
47
47
|
preload(path: string): void;
|
|
48
48
|
getPreloadStatus(path: string): RoutePreloadStatus;
|
|
49
|
+
get location(): RouterLocation;
|
|
50
|
+
subscribe(listener: LocationListener): () => void;
|
|
49
51
|
}
|
|
50
52
|
//# sourceMappingURL=Router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/router/Router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/router/Router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAEhB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,UAAU,EACV,cAAc,EACf,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,CAAC,CACC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,YAAY,KAClB,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAEzC,MAAM,MAAM,2BAA2B,GACrC,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;AAEzC,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,YAAY,EACrB,cAAc,EAAE,2BAA2B,KACxC,IAAI,CAAC;AAEV,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,UAAU,GAAG,wBAAwB,CAAC;AAE9E,MAAM,MAAM,eAAe,GACzB,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAwB7E,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED,qBAAa,MAAM;;gBAsCf,gBAAgB,EAAE,eAAe,EAAE,EACnC,aAAa,GAAE,aAAkB,EACjC,GAAG,GAAE,SAAc;IAmDd,KAAK,IAAI,IAAI;IAsBb,OAAO,IAAI,IAAI;IAqCf,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAe5B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAe3B,IAAI,IAAI,IAAI;IAMZ,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS3B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB;IAOzD,IAAW,QAAQ,IAAI,cAAc,CAgBpC;IAEM,SAAS,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,IAAI;CA04BzD"}
|
package/dist/router/Router.js
CHANGED
|
@@ -38,6 +38,7 @@ export class Router {
|
|
|
38
38
|
#document;
|
|
39
39
|
#isStarted = false;
|
|
40
40
|
#isDestroyed = false;
|
|
41
|
+
#locationListeners = new Set();
|
|
41
42
|
#isNavigationRootRegistered = false;
|
|
42
43
|
#navigationVersion = 0;
|
|
43
44
|
constructor(routeDefinitions, routerOptions = {}, env = {}) {
|
|
@@ -162,6 +163,26 @@ export class Router {
|
|
|
162
163
|
return 'idle';
|
|
163
164
|
return this.#preloadMachine.getState()[navigationPath] ?? 'idle';
|
|
164
165
|
}
|
|
166
|
+
get location() {
|
|
167
|
+
const pathname = this.#window ? this.#currentPath() : '/';
|
|
168
|
+
const query = this.#currentRouteContext?.query ??
|
|
169
|
+
(this.#window ? this.#currentQuery() : new URLSearchParams());
|
|
170
|
+
return {
|
|
171
|
+
pathname,
|
|
172
|
+
path: this.#currentRouteContext?.path ?? pathname,
|
|
173
|
+
search: this.#window?.location.search ?? '',
|
|
174
|
+
hash: this.#window?.location.hash ?? '',
|
|
175
|
+
routeParams: this.#currentRouteContext?.routeParams ?? {},
|
|
176
|
+
query,
|
|
177
|
+
...(this.#currentRouteContext?.meta
|
|
178
|
+
? { meta: this.#currentRouteContext.meta }
|
|
179
|
+
: {}),
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
subscribe(listener) {
|
|
183
|
+
this.#locationListeners.add(listener);
|
|
184
|
+
return () => this.#locationListeners.delete(listener);
|
|
185
|
+
}
|
|
165
186
|
#bindEvents() {
|
|
166
187
|
this.#window.addEventListener(this.#hashMode ? 'hashchange' : 'popstate', this.#handleLocationChange);
|
|
167
188
|
this.#eventTarget.addEventListener('click', this.#handleClick);
|
|
@@ -481,6 +502,7 @@ export class Router {
|
|
|
481
502
|
}
|
|
482
503
|
this.#currentComponent = routeComponent;
|
|
483
504
|
this.#currentRouteContext = routeContext;
|
|
505
|
+
this.#notifyLocation();
|
|
484
506
|
this.#focusAfterNavigation(routeContext);
|
|
485
507
|
this.#restoreScroll(routeContext, navigationType);
|
|
486
508
|
}
|
|
@@ -643,6 +665,11 @@ export class Router {
|
|
|
643
665
|
];
|
|
644
666
|
this.#runGuards(guards, match, context, navigationVersion, navigationType);
|
|
645
667
|
}
|
|
668
|
+
#notifyLocation() {
|
|
669
|
+
const location = this.location;
|
|
670
|
+
for (const listener of this.#locationListeners)
|
|
671
|
+
listener(location);
|
|
672
|
+
}
|
|
646
673
|
#runGuards(guards, match, context, navigationVersion, navigationType, guardIndex = 0) {
|
|
647
674
|
const guard = guards[guardIndex];
|
|
648
675
|
if (!guard) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/router/Router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/router/Router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LocationListener, RouterLocation } from '../models/index.js';
|
|
2
|
+
export interface LocationSource {
|
|
3
|
+
readonly location: RouterLocation;
|
|
4
|
+
subscribe(listener: LocationListener): () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const useLocation: (source: LocationSource) => RouterLocation;
|
|
7
|
+
export type { LocationListener, RouterLocation } from '../models/index.js';
|
|
8
|
+
//# sourceMappingURL=useLocation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocation.d.ts","sourceRoot":"","sources":["../../src/router/useLocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE3E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAAC;CACnD;AAED,eAAO,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,cACpC,CAAC;AAElB,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocation.js","sourceRoot":"","sources":["../../src/router/useLocation.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAsB,EAAkB,EAAE,CACpE,MAAM,CAAC,QAAQ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wavelengthusaf/client-router",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Native TypeScript Router",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
"router"
|
|
22
22
|
],
|
|
23
23
|
"author": "Wavelength",
|
|
24
|
+
"repository": "https://gitlab.wavelengthusaf.com/common-components/client-router",
|
|
25
|
+
"homepage": "https://client-router-common-components-ea755c8714ecc213b01e6bbc8f7899e.gitlab.wavelengthusaf.com",
|
|
24
26
|
"license": "ISC",
|
|
25
27
|
"type": "module",
|
|
26
28
|
"files": [
|
|
@@ -37,29 +39,29 @@
|
|
|
37
39
|
"access": "public"
|
|
38
40
|
},
|
|
39
41
|
"devDependencies": {
|
|
40
|
-
"@happy-dom/global-registrator": "^
|
|
41
|
-
"@storybook/addon-a11y": "^10.
|
|
42
|
-
"@storybook/addon-docs": "^10.
|
|
43
|
-
"@storybook/addon-links": "^10.
|
|
44
|
-
"@storybook/web-components": "^10.
|
|
45
|
-
"@storybook/web-components-vite": "^10.
|
|
42
|
+
"@happy-dom/global-registrator": "^21.0.1",
|
|
43
|
+
"@storybook/addon-a11y": "^10.6.1",
|
|
44
|
+
"@storybook/addon-docs": "^10.6.1",
|
|
45
|
+
"@storybook/addon-links": "^10.6.1",
|
|
46
|
+
"@storybook/web-components": "^10.6.1",
|
|
47
|
+
"@storybook/web-components-vite": "^10.6.1",
|
|
46
48
|
"@trivago/prettier-plugin-sort-imports": "^6.0.2",
|
|
47
|
-
"@types/node": "^
|
|
48
|
-
"@vitest/browser-playwright": "^
|
|
49
|
-
"@vitest/coverage-v8": "^
|
|
50
|
-
"eslint": "^10.
|
|
49
|
+
"@types/node": "^24.19.2",
|
|
50
|
+
"@vitest/browser-playwright": "^5.0.4",
|
|
51
|
+
"@vitest/coverage-v8": "^5.0.4",
|
|
52
|
+
"eslint": "^10.12.0",
|
|
51
53
|
"eslint-config-prettier": "^10.1.8",
|
|
52
|
-
"eslint-plugin-sonarjs": "^4.
|
|
53
|
-
"eslint-plugin-storybook": "^10.
|
|
54
|
+
"eslint-plugin-sonarjs": "^4.2.2",
|
|
55
|
+
"eslint-plugin-storybook": "^10.6.1",
|
|
54
56
|
"eslint-plugin-wc": "^3.1.0",
|
|
55
|
-
"globals": "^17.
|
|
57
|
+
"globals": "^17.13.0",
|
|
56
58
|
"husky": "^9.1.7",
|
|
57
|
-
"jsdom": "^
|
|
58
|
-
"playwright": "^1.
|
|
59
|
-
"prettier": "^3.
|
|
60
|
-
"storybook": "^10.
|
|
59
|
+
"jsdom": "^30.1.2",
|
|
60
|
+
"playwright": "^1.64.0",
|
|
61
|
+
"prettier": "^3.9.10",
|
|
62
|
+
"storybook": "^10.6.1",
|
|
61
63
|
"typescript": "^5.9.3",
|
|
62
|
-
"typescript-eslint": "^8.
|
|
63
|
-
"vitest": "
|
|
64
|
+
"typescript-eslint": "^8.71.2",
|
|
65
|
+
"vitest": "5.0.4"
|
|
64
66
|
}
|
|
65
67
|
}
|