@wavelengthusaf/client-router 0.1.0 → 0.2.0

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 CHANGED
@@ -21,6 +21,7 @@ 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
+ - [Scroll Restoration](#scroll-restoration)
24
25
  - [Route Preloading](#route-preloading)
25
26
  - [Focus Management](#focus-management)
26
27
  - [Shadow DOM Navigation](#shadow-dom-navigation)
@@ -199,6 +200,11 @@ const routes: RouteDefinition[] = [
199
200
  },
200
201
  {
201
202
  path: '/users/:userId',
203
+ meta: {
204
+ title: 'User Profile',
205
+ requiresAuth: true,
206
+ breadcrumbs: [{ label: 'Users', href: '/users' }],
207
+ },
202
208
  routeComponent: {
203
209
  mount: mountElement('user-page'),
204
210
  },
@@ -209,6 +215,7 @@ const outlet = document.querySelector<HTMLElement>('#app')!;
209
215
  const router = new Router(routes, {
210
216
  outlet,
211
217
  hashMode: false, // History API mode; use true for #/path URLs.
218
+ scrollRestoration: 'top', // Use 'preserve' or a callback for custom behavior.
212
219
  });
213
220
 
214
221
  router.start();
@@ -225,10 +232,13 @@ Each route requires:
225
232
  - `path`: The URL path pattern (supports `:param` syntax for dynamic segments)
226
233
  - `routeComponent`: An object with a `mount` function (and optional `unmount`)
227
234
  - `beforeEach`: Optional route-specific navigation guard
235
+ - `meta`: Optional route metadata for titles, analytics, auth requirements,
236
+ breadcrumbs, or any application-specific data
228
237
 
229
238
  ```typescript
230
239
  interface RouteDefinition {
231
240
  path: string; // e.g., '/users/:id' or '/products/:category/:id'
241
+ meta?: RouteMeta;
232
242
  routeComponent: {
233
243
  mount: (
234
244
  container: HTMLElement,
@@ -293,11 +303,12 @@ intended.
293
303
 
294
304
  ### `<wavelength-router>` Attributes
295
305
 
296
- | Attribute | Type | Description |
297
- | ---------------- | --------------------------- | ------------------------------------------------------- |
298
- | `hash-mode` | flag | Enable hash-based routing (`#/path`) instead of history |
299
- | `guard` | string | Name of a global guard function on `window` |
300
- | `focus-strategy` | `none`, `outlet`, `heading` | Focus target after navigation; defaults to `none` |
306
+ | Attribute | Type | Description |
307
+ | -------------------- | --------------------------- | -------------------------------------------------------- |
308
+ | `hash-mode` | flag | Enable hash-based routing (`#/path`) instead of history |
309
+ | `guard` | string | Name of a global guard function on `window` |
310
+ | `focus-strategy` | `none`, `outlet`, `heading` | Focus target after navigation; defaults to `none` |
311
+ | `scroll-restoration` | `preserve`, `top` | Scroll behavior after navigation; defaults to `preserve` |
301
312
 
302
313
  #### Example with Hash Mode
303
314
 
@@ -324,10 +335,19 @@ also normalized as hash routes.
324
335
  | `path` | string | URL path pattern (supports `:param` syntax) |
325
336
  | `component` | string | Custom element tag name to render for this route |
326
337
  | `guard` | string | Optional route-specific guard function on `window` |
338
+ | `meta` | JSON | Optional route metadata object |
327
339
 
328
340
  Changing any route attribute on a connected route automatically rebuilds the
329
341
  router's definitions.
330
342
 
343
+ ```html
344
+ <wavelength-route
345
+ path="/account"
346
+ component="account-page"
347
+ meta='{"title":"Account","requiresAuth":true,"breadcrumbs":[{"label":"Account","href":"/account"}]}'
348
+ ></wavelength-route>
349
+ ```
350
+
331
351
  #### Path Patterns
332
352
 
333
353
  - Static: `/about`, `/dashboard`
@@ -346,9 +366,14 @@ interface RouteContext {
346
366
  [key: string]: string;
347
367
  };
348
368
  query: URLSearchParams; // Query string parameters
369
+ meta?: RouteMeta; // Metadata from the matched route definition
349
370
  }
350
371
  ```
351
372
 
373
+ `meta` is passed through unchanged from the matched `RouteDefinition`. It is
374
+ useful for document titles, analytics labels, auth requirements, breadcrumbs,
375
+ and other application-owned route data.
376
+
352
377
  #### Accessing RouteContext in Components
353
378
 
354
379
  ```typescript
@@ -361,6 +386,7 @@ class MyPage extends HTMLElement {
361
386
  console.log('Current path:', ctx.path);
362
387
  console.log('User ID:', ctx.routeParams.userId);
363
388
  console.log('Search query:', ctx.query.get('search'));
389
+ console.log('Route title:', ctx.meta?.title);
364
390
  }
365
391
  }
366
392
  }
@@ -495,11 +521,12 @@ const router = new Router(routes, {
495
521
  });
496
522
  ```
497
523
 
498
- The phases are `match`, `guard`, `mount`, and `unmount`. Supplying `onError`
499
- handles synchronous guard and mount errors so the router remains started.
500
- Unmount errors are reported and do not prevent the next route from mounting.
501
- Without a hook, synchronous guard and mount errors retain their normal thrown
502
- behavior. `wavelength-route-error` is dispatched in all cases.
524
+ The phases are `match`, `guard`, `mount`, `unmount`, and `scroll`. Supplying
525
+ `onError` handles synchronous guard and mount errors so the router remains
526
+ started. Unmount and scroll errors are reported and do not prevent the next
527
+ route from mounting. Without a hook, synchronous guard and mount errors retain
528
+ their normal thrown behavior. `wavelength-route-error` is dispatched in all
529
+ cases.
503
530
 
504
531
  ### Navigation Lifecycle Events
505
532
 
@@ -564,6 +591,35 @@ post-login or canonicalization redirects when the previous URL should not
564
591
  remain in browser history. Programmatic navigation accepts only valid
565
592
  same-origin HTTP(S) paths; external and malformed targets are ignored.
566
593
 
594
+ ### Scroll Restoration
595
+
596
+ By default, navigation preserves the current scroll position. Set
597
+ `scrollRestoration` on a direct `Router`, or `scroll-restoration` on
598
+ `<wavelength-router>`, to reset to the top after the matched route mounts:
599
+
600
+ ```html
601
+ <wavelength-router scroll-restoration="top">
602
+ <wavelength-route path="/" component="home-page"></wavelength-route>
603
+ </wavelength-router>
604
+ ```
605
+
606
+ For custom behavior, pass a callback to `Router` or assign the
607
+ `scrollRestoration` property on `RouterElement`:
608
+
609
+ ```typescript
610
+ const router = new Router(routes, {
611
+ outlet,
612
+ scrollRestoration: (context, navigationType) => {
613
+ if (navigationType === 'pop') return;
614
+ window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });
615
+ analytics.page(context.meta?.title ?? context.path);
616
+ },
617
+ });
618
+ ```
619
+
620
+ `navigationType` is `initial`, `push`, `replace`, or `pop`. In hash mode,
621
+ `hashchange` route navigations are reported as `pop`.
622
+
567
623
  ### Route Preloading
568
624
 
569
625
  Use the application-controlled `preload` hook to prepare resources for likely
@@ -1,4 +1,4 @@
1
- import type { RouteDefinition } from '../models/index.js';
1
+ import type { RouteDefinition, RouteMeta } from '../models/index.js';
2
2
  export interface RouteElementEnv {
3
3
  document?: Document;
4
4
  window?: Window;
@@ -9,6 +9,7 @@ export declare class RouteElement extends HTMLElement {
9
9
  get path(): string;
10
10
  get componentTag(): string;
11
11
  get guardName(): string;
12
+ get meta(): RouteMeta | undefined;
12
13
  toDefinition(env?: RouteElementEnv): RouteDefinition | null;
13
14
  }
14
15
  //# sourceMappingURL=RouteElement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteElement.d.ts","sourceRoot":"","sources":["../../src/elements/RouteElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,eAAe,EAEhB,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;IAEM,YAAY,CAAC,GAAG,GAAE,eAAoB,GAAG,eAAe,GAAG,IAAI;CAmEvE"}
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;CA4EvE"}
@@ -9,6 +9,21 @@ export class RouteElement extends HTMLElement {
9
9
  get guardName() {
10
10
  return this.getAttribute('guard') ?? '';
11
11
  }
12
+ get meta() {
13
+ const value = this.getAttribute('meta');
14
+ if (!value)
15
+ return undefined;
16
+ try {
17
+ const parsed = JSON.parse(value);
18
+ if (this.#isRouteMeta(parsed))
19
+ return parsed;
20
+ }
21
+ catch {
22
+ // handled by warning below
23
+ }
24
+ console.warn(`[wavelength-route] Invalid JSON 'meta' attribute on path="${this.path}".`);
25
+ return undefined;
26
+ }
12
27
  toDefinition(env = {}) {
13
28
  const tag = this.componentTag;
14
29
  const doc = env.document;
@@ -17,6 +32,7 @@ export class RouteElement extends HTMLElement {
17
32
  return null;
18
33
  }
19
34
  const beforeEach = this.#resolveGuard(env);
35
+ const meta = this.meta;
20
36
  if (!doc) {
21
37
  return {
22
38
  path: this.path,
@@ -25,6 +41,7 @@ export class RouteElement extends HTMLElement {
25
41
  unmount() { },
26
42
  },
27
43
  ...(beforeEach ? { beforeEach } : {}),
44
+ ...(meta ? { meta } : {}),
28
45
  };
29
46
  }
30
47
  const routeComponent = {
@@ -41,8 +58,12 @@ export class RouteElement extends HTMLElement {
41
58
  path: this.path,
42
59
  routeComponent,
43
60
  ...(beforeEach ? { beforeEach } : {}),
61
+ ...(meta ? { meta } : {}),
44
62
  };
45
63
  }
64
+ #isRouteMeta(value) {
65
+ return (typeof value === 'object' && value !== null && !Array.isArray(value));
66
+ }
46
67
  #resolveGuard(env) {
47
68
  const guardName = this.guardName;
48
69
  if (!guardName)
@@ -1 +1 @@
1
- {"version":3,"file":"RouteElement.js","sourceRoot":"","sources":["../../src/elements/RouteElement.ts"],"names":[],"mappings":"AAYA,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;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;QAEnE,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;aACtC,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;SACtC,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,GAAoB;QAChC,MAAM,SAAS,GAAW,IAAI,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAEjC,MAAM,WAAW,GACf,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,WAAW,IAAI,SAAS,CAAC;QACvD,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QAEnC,MAAM,EAAE,GAAa,WAAkD,CACrE,SAAS,CACV,CAAC;QAEF,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CACV,6BAA6B,SAAS,wBAAwB,CAC/D,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAgB,CAAC;IAC1B,CAAC;;AAGH,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1C,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"RouteElement.js","sourceRoot":"","sources":["../../src/elements/RouteElement.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { RouteDefinition } from '../models/index.js';
2
- import type { RoutePreloadStatus, RoutePreloader } from '../router/Router.js';
2
+ import type { RoutePreloadStatus, RoutePreloader, ScrollRestoration } from '../router/Router.js';
3
3
  export declare class RouterElement extends HTMLElement {
4
4
  #private;
5
5
  static readonly tag = "wavelength-router";
@@ -12,6 +12,8 @@ export declare class RouterElement extends HTMLElement {
12
12
  back(): void;
13
13
  get preloader(): RoutePreloader | undefined;
14
14
  set preloader(preloader: RoutePreloader | undefined);
15
+ get scrollRestoration(): ScrollRestoration | undefined;
16
+ set scrollRestoration(scrollRestoration: ScrollRestoration | undefined);
15
17
  preload(path: string): void;
16
18
  getPreloadStatus(path: string): RoutePreloadStatus;
17
19
  refresh(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"RouterElement.d.ts","sourceRoot":"","sources":["../../src/elements/RouterElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAEV,kBAAkB,EAClB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAG7B,qBAAa,aAAc,SAAQ,WAAW;;IAC5C,gBAAuB,GAAG,uBAAuB;IAcjD,WAAkB,kBAAkB,IAAI,MAAM,EAAE,CAE/C;IAEM,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;IAK5B,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;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;CA4SvE"}
1
+ {"version":3,"file":"RouterElement.d.ts","sourceRoot":"","sources":["../../src/elements/RouterElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,oBAAoB,CAAC;AAEtE,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,CAE/C;IAEM,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;IAK5B,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;CAoTvE"}
@@ -8,8 +8,9 @@ export class RouterElement extends HTMLElement {
8
8
  #waitingForRouteUpgrade = false;
9
9
  #registeredRoutes = new Set();
10
10
  #preloader;
11
+ #scrollRestoration;
11
12
  static get observedAttributes() {
12
- return ['focus-strategy', 'hash-mode', 'guard'];
13
+ return ['focus-strategy', 'hash-mode', 'guard', 'scroll-restoration'];
13
14
  }
14
15
  connectedCallback() {
15
16
  this.#observeRoutes();
@@ -43,6 +44,16 @@ export class RouterElement extends HTMLElement {
43
44
  if (this.isConnected)
44
45
  this.#bootstrap();
45
46
  }
47
+ get scrollRestoration() {
48
+ return this.#scrollRestoration;
49
+ }
50
+ set scrollRestoration(scrollRestoration) {
51
+ if (this.#scrollRestoration === scrollRestoration)
52
+ return;
53
+ this.#scrollRestoration = scrollRestoration;
54
+ if (this.isConnected)
55
+ this.#bootstrap();
56
+ }
46
57
  preload(path) {
47
58
  this.#router?.preload(path);
48
59
  }
@@ -93,6 +104,7 @@ export class RouterElement extends HTMLElement {
93
104
  eventTarget: this,
94
105
  navigationRoot: this,
95
106
  focusStrategy: this.#focusStrategy(),
107
+ scrollRestoration: this.#scrollRestoration ?? this.#scrollRestorationAttribute(),
96
108
  ...(guard ? { beforeEach: guard } : {}),
97
109
  ...(this.#preloader ? { preload: this.#preloader } : {}),
98
110
  }, {
@@ -143,7 +155,7 @@ export class RouterElement extends HTMLElement {
143
155
  #routeObserverOptions() {
144
156
  return {
145
157
  attributes: true,
146
- attributeFilter: ['path', 'component', 'guard'],
158
+ attributeFilter: ['path', 'component', 'guard', 'meta'],
147
159
  childList: true,
148
160
  subtree: true,
149
161
  };
@@ -254,6 +266,12 @@ export class RouterElement extends HTMLElement {
254
266
  return value;
255
267
  return 'none';
256
268
  }
269
+ #scrollRestorationAttribute() {
270
+ const value = this.getAttribute('scroll-restoration');
271
+ if (value === 'top' || value === 'preserve')
272
+ return value;
273
+ return 'preserve';
274
+ }
257
275
  #resolveGuard() {
258
276
  const guardName = this.getAttribute('guard');
259
277
  if (!guardName)
@@ -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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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { Router } from './router/Router.js';
2
- export type { FocusStrategy, RouteErrorDetail, RouteErrorHandler, RouteErrorPhase, RouteLifecycleEventDetail, RoutePreloader, RoutePreloadStatus, } from './router/Router.js';
2
+ export type { FocusStrategy, RouteErrorDetail, RouteErrorHandler, RouteErrorPhase, RouteLifecycleEventDetail, RoutePreloader, RoutePreloadStatus, ScrollRestoration, ScrollRestorationHandler, ScrollRestorationNavigation, } from './router/Router.js';
3
3
  export { RouterElement } from './elements/RouterElement.js';
4
4
  export { RouteElement } from './elements/RouteElement.js';
5
- export type { RouteComponent, RouteContext, RouteDefinition, RouteGuard, RouteParams, CompiledRoute, MatchedRoute, } from './models/index.ts';
5
+ export type { RouteComponent, RouteContext, RouteDefinition, RouteGuard, RouteMeta, RouteMetaValue, RouteParams, CompiledRoute, MatchedRoute, } from './models/index.ts';
6
6
  export { compileRoute, matchRoute } from './utils/index.js';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -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,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,YAAY,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
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;AAE1D,YAAY,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,UAAU,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
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;AAU5C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAY1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAa5C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAc1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,7 +1,9 @@
1
+ import type { RouteMeta } from './RouteMeta.js';
1
2
  import type { RouteParams } from './RouteParams.js';
2
3
  export interface RouteContext {
3
4
  path: string;
4
5
  routeParams: RouteParams;
5
6
  query: URLSearchParams;
7
+ meta?: RouteMeta;
6
8
  }
7
9
  //# sourceMappingURL=RouteContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteContext.d.ts","sourceRoot":"","sources":["../../src/models/RouteContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,eAAe,CAAC;CACxB"}
1
+ {"version":3,"file":"RouteContext.d.ts","sourceRoot":"","sources":["../../src/models/RouteContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB"}
@@ -1,8 +1,10 @@
1
1
  import type { RouteComponent } from './RouteComponent.js';
2
2
  import type { RouteGuard } from './RouteGuard.js';
3
+ import type { RouteMeta } from './RouteMeta.js';
3
4
  export interface RouteDefinition {
4
5
  path: string;
5
6
  routeComponent: RouteComponent;
6
7
  beforeEach?: RouteGuard;
8
+ meta?: RouteMeta;
7
9
  }
8
10
  //# sourceMappingURL=RouteDefinition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteDefinition.d.ts","sourceRoot":"","sources":["../../src/models/RouteDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB"}
1
+ {"version":3,"file":"RouteDefinition.d.ts","sourceRoot":"","sources":["../../src/models/RouteDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB"}
@@ -0,0 +1,11 @@
1
+ export type RouteMetaValue = string | number | boolean | null | RouteMetaValue[] | {
2
+ [key: string]: RouteMetaValue;
3
+ };
4
+ export interface RouteMeta {
5
+ title?: string;
6
+ analytics?: RouteMetaValue;
7
+ requiresAuth?: boolean;
8
+ breadcrumbs?: RouteMetaValue;
9
+ [key: string]: RouteMetaValue | undefined;
10
+ }
11
+ //# sourceMappingURL=RouteMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteMeta.d.ts","sourceRoot":"","sources":["../../src/models/RouteMeta.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,cAAc,EAAE,GAChB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;CAC3C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RouteMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteMeta.js","sourceRoot":"","sources":["../../src/models/RouteMeta.ts"],"names":[],"mappings":""}
@@ -4,6 +4,7 @@ import type { RouteComponent } from './RouteComponent.js';
4
4
  import type { RouteContext } from './RouteContext.js';
5
5
  import type { RouteDefinition } from './RouteDefinition.js';
6
6
  import type { RouteGuard } from './RouteGuard.js';
7
+ import type { RouteMeta, RouteMetaValue } from './RouteMeta.js';
7
8
  import type { RouteParams } from './RouteParams.js';
8
- export type { CompiledRoute, MatchedRoute, RouteComponent, RouteContext, RouteDefinition, RouteGuard, RouteParams, };
9
+ export type { CompiledRoute, MatchedRoute, RouteComponent, RouteContext, RouteDefinition, RouteGuard, RouteMeta, RouteMetaValue, RouteParams, };
9
10
  //# 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,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,GACZ,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;AAEpD,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,eAAe,EACf,UAAU,EACV,SAAS,EACT,cAAc,EACd,WAAW,GACZ,CAAC"}
@@ -4,7 +4,10 @@ export interface RouterEnv {
4
4
  document?: Document;
5
5
  }
6
6
  export type FocusStrategy = 'none' | 'outlet' | 'heading' | ((outlet: HTMLElement, context: RouteContext) => HTMLElement | null | undefined);
7
- export type RouteErrorPhase = 'match' | 'guard' | 'mount' | 'unmount';
7
+ export type ScrollRestorationNavigation = 'initial' | 'push' | 'replace' | 'pop';
8
+ export type ScrollRestorationHandler = (context: RouteContext, navigationType: ScrollRestorationNavigation) => void;
9
+ export type ScrollRestoration = 'top' | 'preserve' | ScrollRestorationHandler;
10
+ export type RouteErrorPhase = 'match' | 'guard' | 'mount' | 'unmount' | 'scroll';
8
11
  export interface RouteErrorDetail {
9
12
  error: unknown;
10
13
  phase: RouteErrorPhase;
@@ -22,6 +25,7 @@ export interface RouterOptions {
22
25
  focusStrategy?: FocusStrategy;
23
26
  onError?: RouteErrorHandler;
24
27
  preload?: RoutePreloader;
28
+ scrollRestoration?: ScrollRestoration;
25
29
  }
26
30
  export interface RouteLifecycleEventDetail {
27
31
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/router/Router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,YAAY,EACZ,eAAe,EACf,UAAU,EACX,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,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtE,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,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,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;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;;gBAgCf,gBAAgB,EAAE,eAAe,EAAE,EACnC,aAAa,GAAE,aAAkB,EACjC,GAAG,GAAE,SAAc;IAyCd,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;CAiuB1D"}
1
+ {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/router/Router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,YAAY,EACZ,eAAe,EACf,UAAU,EACX,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,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;AAEjF,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,YAAY,EACrB,cAAc,EAAE,2BAA2B,KACxC,IAAI,CAAC;AAEV,MAAM,MAAM,iBAAiB,GACzB,KAAK,GACL,UAAU,GACV,wBAAwB,CAAC;AAE7B,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,QAAQ,CAAC;AAEb,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,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,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;;gBAiCf,gBAAgB,EAAE,eAAe,EAAE,EACnC,aAAa,GAAE,aAAkB,EACjC,GAAG,GAAE,SAAc;IA0Cd,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;CA2wB1D"}
@@ -25,6 +25,7 @@ export class Router {
25
25
  #focusStrategy;
26
26
  #onError;
27
27
  #preloader;
28
+ #scrollRestoration;
28
29
  #preloadMachine = createMachine(reducePreloadState, {});
29
30
  #currentComponent;
30
31
  #currentRouteContext;
@@ -49,6 +50,7 @@ export class Router {
49
50
  this.#navigationRoot = routerOptions.navigationRoot;
50
51
  }
51
52
  this.#focusStrategy = routerOptions.focusStrategy ?? 'none';
53
+ this.#scrollRestoration = routerOptions.scrollRestoration ?? 'preserve';
52
54
  if (routerOptions.onError !== undefined) {
53
55
  this.#onError = routerOptions.onError;
54
56
  }
@@ -78,7 +80,7 @@ export class Router {
78
80
  this.#registerNavigationRoot();
79
81
  this.#bindEvents();
80
82
  this.#isStarted = true;
81
- this.#resolve();
83
+ this.#resolve('initial');
82
84
  }
83
85
  catch (error) {
84
86
  this.destroy();
@@ -116,7 +118,7 @@ export class Router {
116
118
  return;
117
119
  }
118
120
  this.#window.history.pushState(null, '', navigationPath);
119
- this.#resolve();
121
+ this.#resolve('push');
120
122
  }
121
123
  replace(path) {
122
124
  if (this.#isDestroyed)
@@ -129,7 +131,7 @@ export class Router {
129
131
  return;
130
132
  }
131
133
  this.#window.history.replaceState(null, '', navigationPath);
132
- this.#resolve();
134
+ this.#resolve('replace');
133
135
  }
134
136
  back() {
135
137
  if (this.#isDestroyed)
@@ -161,7 +163,7 @@ export class Router {
161
163
  #handleLocationChange = () => {
162
164
  if (this.#hashMode && !this.#isRouteHash())
163
165
  return;
164
- this.#resolve();
166
+ this.#resolve('pop');
165
167
  };
166
168
  #handleClick = (event) => {
167
169
  if (event.defaultPrevented)
@@ -290,6 +292,9 @@ export class Router {
290
292
  path,
291
293
  routeParams: match.routeParams,
292
294
  query: new URLSearchParams(targetUrl.search),
295
+ ...(match.routeDefinition.meta
296
+ ? { meta: match.routeDefinition.meta }
297
+ : {}),
293
298
  };
294
299
  this.#preloadMachine.dispatch({ type: 'start', path: navigationPath });
295
300
  try {
@@ -429,7 +434,7 @@ export class Router {
429
434
  }
430
435
  return new URLSearchParams(this.#window.location.search);
431
436
  }
432
- #mount(routeComponent, routeContext, navigationVersion) {
437
+ #mount(routeComponent, routeContext, navigationVersion, navigationType) {
433
438
  if (!this.#outlet)
434
439
  return;
435
440
  this.#clearFocusWait();
@@ -442,12 +447,12 @@ export class Router {
442
447
  const mountResult = routeComponent.mount(this.#outlet, routeContext);
443
448
  if (this.#isPromiseLike(mountResult)) {
444
449
  return mountResult.then(() => {
445
- this.#completeMount(routeComponent, routeContext, navigationVersion);
450
+ this.#completeMount(routeComponent, routeContext, navigationVersion, navigationType);
446
451
  });
447
452
  }
448
- this.#completeMount(routeComponent, routeContext, navigationVersion);
453
+ this.#completeMount(routeComponent, routeContext, navigationVersion, navigationType);
449
454
  }
450
- #completeMount(routeComponent, routeContext, navigationVersion) {
455
+ #completeMount(routeComponent, routeContext, navigationVersion, navigationType) {
451
456
  if (navigationVersion !== this.#navigationVersion) {
452
457
  this.#unmount(routeComponent, routeContext);
453
458
  return;
@@ -455,6 +460,21 @@ export class Router {
455
460
  this.#currentComponent = routeComponent;
456
461
  this.#currentRouteContext = routeContext;
457
462
  this.#focusAfterNavigation(routeContext);
463
+ this.#restoreScroll(routeContext, navigationType);
464
+ }
465
+ #restoreScroll(routeContext, navigationType) {
466
+ try {
467
+ if (this.#scrollRestoration === 'preserve')
468
+ return;
469
+ if (this.#scrollRestoration === 'top') {
470
+ this.#window?.scrollTo?.({ left: 0, top: 0 });
471
+ return;
472
+ }
473
+ this.#scrollRestoration(routeContext, navigationType);
474
+ }
475
+ catch (error) {
476
+ this.#reportRouteError(error, 'scroll', routeContext);
477
+ }
458
478
  }
459
479
  #unmount(routeComponent, context) {
460
480
  try {
@@ -567,7 +587,7 @@ export class Router {
567
587
  element.tabIndex = -1;
568
588
  element.focus({ preventScroll: true });
569
589
  }
570
- #resolve() {
590
+ #resolve(navigationType) {
571
591
  const navigationVersion = ++this.#navigationVersion;
572
592
  const pathname = this.#currentPath();
573
593
  const query = this.#currentQuery();
@@ -582,6 +602,9 @@ export class Router {
582
602
  path: pathname,
583
603
  routeParams: match.routeParams,
584
604
  query,
605
+ ...(match.routeDefinition.meta
606
+ ? { meta: match.routeDefinition.meta }
607
+ : {}),
585
608
  };
586
609
  this.#dispatchLifecycleEvent('wavelength-route-start', {
587
610
  path: pathname,
@@ -593,14 +616,14 @@ export class Router {
593
616
  ? [match.routeDefinition.beforeEach]
594
617
  : []),
595
618
  ];
596
- this.#runGuards(guards, match, context, navigationVersion);
619
+ this.#runGuards(guards, match, context, navigationVersion, navigationType);
597
620
  }
598
- #runGuards(guards, match, context, navigationVersion, guardIndex = 0) {
621
+ #runGuards(guards, match, context, navigationVersion, navigationType, guardIndex = 0) {
599
622
  if (navigationVersion !== this.#navigationVersion)
600
623
  return;
601
624
  const guard = guards[guardIndex];
602
625
  if (!guard) {
603
- this.#mountRoute(match.routeDefinition.routeComponent, context, navigationVersion);
626
+ this.#mountRoute(match.routeDefinition.routeComponent, context, navigationVersion, navigationType);
604
627
  return;
605
628
  }
606
629
  let continued = false;
@@ -612,7 +635,7 @@ export class Router {
612
635
  this.navigate(redirect);
613
636
  return;
614
637
  }
615
- this.#runGuards(guards, match, context, navigationVersion, guardIndex + 1);
638
+ this.#runGuards(guards, match, context, navigationVersion, navigationType, guardIndex + 1);
616
639
  };
617
640
  try {
618
641
  guard(context, next);
@@ -622,9 +645,9 @@ export class Router {
622
645
  throw error;
623
646
  }
624
647
  }
625
- #mountRoute(routeComponent, context, navigationVersion) {
648
+ #mountRoute(routeComponent, context, navigationVersion, navigationType) {
626
649
  try {
627
- const mountResult = this.#mount(routeComponent, context, navigationVersion);
650
+ const mountResult = this.#mount(routeComponent, context, navigationVersion, navigationType);
628
651
  if (this.#isPromiseLike(mountResult)) {
629
652
  void mountResult
630
653
  .then(() => {
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavelengthusaf/client-router",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Native TypeScript Router",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",