@furystack/shades 13.1.2 โ†’ 13.2.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/esm/components/index.d.ts +1 -0
  3. package/esm/components/index.d.ts.map +1 -1
  4. package/esm/components/index.js +1 -0
  5. package/esm/components/index.js.map +1 -1
  6. package/esm/components/nested-navigate.d.ts +46 -0
  7. package/esm/components/nested-navigate.d.ts.map +1 -0
  8. package/esm/components/nested-navigate.js +44 -0
  9. package/esm/components/nested-navigate.js.map +1 -0
  10. package/esm/components/nested-navigate.spec.d.ts +2 -0
  11. package/esm/components/nested-navigate.spec.d.ts.map +1 -0
  12. package/esm/components/nested-navigate.spec.js +76 -0
  13. package/esm/components/nested-navigate.spec.js.map +1 -0
  14. package/esm/components/nested-route-link.d.ts +1 -1
  15. package/esm/components/nested-route-link.d.ts.map +1 -1
  16. package/esm/components/nested-route-link.js.map +1 -1
  17. package/esm/components/nested-route-link.spec.js +38 -0
  18. package/esm/components/nested-route-link.spec.js.map +1 -1
  19. package/esm/components/nested-route-types.d.ts +2 -2
  20. package/esm/components/nested-route-types.d.ts.map +1 -1
  21. package/esm/vnode.d.ts +3 -3
  22. package/esm/vnode.d.ts.map +1 -1
  23. package/esm/vnode.js +14 -23
  24. package/esm/vnode.js.map +1 -1
  25. package/esm/vnode.spec.js +35 -14
  26. package/esm/vnode.spec.js.map +1 -1
  27. package/package.json +6 -6
  28. package/src/components/index.ts +1 -0
  29. package/src/components/nested-navigate.spec.ts +143 -0
  30. package/src/components/nested-navigate.ts +60 -0
  31. package/src/components/nested-route-link.spec.tsx +52 -0
  32. package/src/components/nested-route-link.tsx +1 -1
  33. package/src/components/nested-route-types.ts +2 -2
  34. package/src/vnode.spec.ts +42 -14
  35. package/src/vnode.ts +18 -28
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # Changelog
2
2
 
3
+ ## [13.2.1] - 2026-03-27
4
+
5
+ ### ๐Ÿ› Bug Fixes
6
+
7
+ - Normalized `VNode.props` to always be an empty object instead of `null` when no props are provided, preventing errors when props transition from a value to none during component patching
8
+
9
+ ### ๐Ÿงช Tests
10
+
11
+ - Added test for `null` props normalization in `createVNode`
12
+ - Added test verifying Shade elements receive `{}` (not `null`) when props transition to none
13
+
14
+ ## [13.2.0] - 2026-03-27
15
+
16
+ ### โœจ Features
17
+
18
+ ### Type-safe programmatic navigation for NestedRouter
19
+
20
+ Added `nestedNavigate()` and `createNestedNavigate()` for programmatic SPA navigation within the nested router system.
21
+
22
+ - `nestedNavigate(injector, path, params?)` navigates to a route path using `LocationService`, with optional route parameter compilation (e.g. `/users/:id`)
23
+ - `createNestedNavigate<typeof routes>()` returns a type-safe wrapper that restricts `path` to valid route paths and requires `params` when the route is parameterized
24
+
25
+ **Usage:**
26
+
27
+ ```typescript
28
+ const appNavigate = createNestedNavigate<typeof appRoutes>()
29
+
30
+ appNavigate(injector, '/buttons')
31
+ appNavigate(injector, '/users/:id', { id: '123' })
32
+ ```
33
+
34
+ ### ๐Ÿ› Bug Fixes
35
+
36
+ - Fixed `ExtractRoutePaths` and `createNestedRouteLink` generic constraints from `NestedRoute<unknown>` to `NestedRoute<any>`, resolving type inference failures when routes use concrete component prop types
37
+
38
+ ### ๐Ÿงช Tests
39
+
40
+ - Added tests for `nestedNavigate()` and `createNestedNavigate()`
41
+ - Added tests for `NestedRouteLink` and `createNestedRouteLink` with parameterized routes
42
+
3
43
  ## [13.1.2] - 2026-03-25
4
44
 
5
45
  ### ๐Ÿ“ฆ Build
@@ -1,5 +1,6 @@
1
1
  export * from './lazy-load.js';
2
2
  export * from './link-to-route.js';
3
+ export * from './nested-navigate.js';
3
4
  export * from './nested-route-link.js';
4
5
  export * from './nested-route-types.js';
5
6
  export * from './nested-router.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export * from './lazy-load.js';
2
2
  export * from './link-to-route.js';
3
+ export * from './nested-navigate.js';
3
4
  export * from './nested-route-link.js';
4
5
  export * from './nested-route-types.js';
5
6
  export * from './nested-router.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,46 @@
1
+ import type { Injector } from '@furystack/inject';
2
+ import type { ExtractRouteParams, ExtractRoutePaths } from './nested-route-types.js';
3
+ import type { NestedRoute } from './nested-router.js';
4
+ /**
5
+ * Arguments for a type-safe nested navigate call.
6
+ * When the path contains parameters (e.g. `:id`), the `params` argument becomes required.
7
+ * @typeParam TPath - A specific route path string
8
+ */
9
+ export type TypedNavigateArgs<TPath extends string> = string extends keyof ExtractRouteParams<TPath> ? [path: TPath, params?: Record<string, string>] : [path: TPath, params: ExtractRouteParams<TPath>];
10
+ /**
11
+ * Navigates to a route path using the LocationService from the given injector.
12
+ * Compiles parameterized routes (e.g. `/users/:id`) when `params` is provided.
13
+ *
14
+ * @param injector - The injector instance to resolve LocationService from
15
+ * @param path - The route path to navigate to
16
+ * @param params - Optional route parameters to compile into the path
17
+ */
18
+ export declare const nestedNavigate: (injector: Injector, path: string, params?: Record<string, string>) => void;
19
+ /**
20
+ * Creates a type-safe navigate function constrained to a specific route tree.
21
+ * The returned function has the same runtime behavior as {@link nestedNavigate}
22
+ * but narrows `path` to only accept valid route paths, and requires `params`
23
+ * when the route has parameters.
24
+ *
25
+ * Unlike {@link createNestedRouteLink}, the injector is passed at call time,
26
+ * not at creation time.
27
+ *
28
+ * @typeParam TRoutes - The route tree type (use `typeof yourRoutes`)
29
+ * @returns A type-safe navigate function
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const appNavigate = createNestedNavigate<typeof appRoutes>()
34
+ *
35
+ * // Type-safe: only valid paths accepted
36
+ * appNavigate(injector, '/buttons')
37
+ *
38
+ * // TypeScript error: invalid path
39
+ * appNavigate(injector, '/nonexistent')
40
+ *
41
+ * // Params required for parameterized routes
42
+ * appNavigate(injector, '/users/:id', { id: '123' })
43
+ * ```
44
+ */
45
+ export declare const createNestedNavigate: <TRoutes extends Record<string, NestedRoute<any>>>() => <TPath extends ExtractRoutePaths<TRoutes>>(injector: Injector, ...args: TypedNavigateArgs<TPath>) => void;
46
+ //# sourceMappingURL=nested-navigate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nested-navigate.d.ts","sourceRoot":"","sources":["../../src/components/nested-navigate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAChG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC9C,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;AAEpD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,QAAQ,EAAE,MAAM,MAAM,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,IAGlG,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,OAC1D,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAChE,QAAQ,EAAE,QAAQ,EAClB,GAAG,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAC9B,IACN,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { compileRoute } from '../compile-route.js';
2
+ import { LocationService } from '../services/location-service.js';
3
+ /**
4
+ * Navigates to a route path using the LocationService from the given injector.
5
+ * Compiles parameterized routes (e.g. `/users/:id`) when `params` is provided.
6
+ *
7
+ * @param injector - The injector instance to resolve LocationService from
8
+ * @param path - The route path to navigate to
9
+ * @param params - Optional route parameters to compile into the path
10
+ */
11
+ export const nestedNavigate = (injector, path, params) => {
12
+ const resolvedUrl = params ? compileRoute(path, params) : path;
13
+ injector.getInstance(LocationService).navigate(resolvedUrl);
14
+ };
15
+ /**
16
+ * Creates a type-safe navigate function constrained to a specific route tree.
17
+ * The returned function has the same runtime behavior as {@link nestedNavigate}
18
+ * but narrows `path` to only accept valid route paths, and requires `params`
19
+ * when the route has parameters.
20
+ *
21
+ * Unlike {@link createNestedRouteLink}, the injector is passed at call time,
22
+ * not at creation time.
23
+ *
24
+ * @typeParam TRoutes - The route tree type (use `typeof yourRoutes`)
25
+ * @returns A type-safe navigate function
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const appNavigate = createNestedNavigate<typeof appRoutes>()
30
+ *
31
+ * // Type-safe: only valid paths accepted
32
+ * appNavigate(injector, '/buttons')
33
+ *
34
+ * // TypeScript error: invalid path
35
+ * appNavigate(injector, '/nonexistent')
36
+ *
37
+ * // Params required for parameterized routes
38
+ * appNavigate(injector, '/users/:id', { id: '123' })
39
+ * ```
40
+ */
41
+ export const createNestedNavigate = () => {
42
+ return nestedNavigate;
43
+ };
44
+ //# sourceMappingURL=nested-navigate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nested-navigate.js","sourceRoot":"","sources":["../../src/components/nested-navigate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAajE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAE,IAAY,EAAE,MAA+B,EAAQ,EAAE;IACxG,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9D,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAqD,EAAE;IACzF,OAAO,cAGE,CAAA;AACX,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=nested-navigate.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nested-navigate.spec.d.ts","sourceRoot":"","sources":["../../src/components/nested-navigate.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,76 @@
1
+ import { Injector } from '@furystack/inject';
2
+ import { usingAsync } from '@furystack/utils';
3
+ import { describe, expect, expectTypeOf, it, vi } from 'vitest';
4
+ import { LocationService } from '../services/location-service.js';
5
+ import { createNestedNavigate, nestedNavigate } from './nested-navigate.js';
6
+ describe('nestedNavigate', () => {
7
+ it('Should navigate to a simple path', async () => {
8
+ await usingAsync(new Injector(), async (injector) => {
9
+ const locationService = injector.getInstance(LocationService);
10
+ const spy = vi.spyOn(locationService, 'navigate');
11
+ nestedNavigate(injector, '/buttons');
12
+ expect(spy).toHaveBeenCalledWith('/buttons');
13
+ });
14
+ });
15
+ it('Should compile params into the path', async () => {
16
+ await usingAsync(new Injector(), async (injector) => {
17
+ const locationService = injector.getInstance(LocationService);
18
+ const spy = vi.spyOn(locationService, 'navigate');
19
+ nestedNavigate(injector, '/users/:id', { id: '42' });
20
+ expect(spy).toHaveBeenCalledWith('/users/42');
21
+ });
22
+ });
23
+ it('Should compile multiple params into the path', async () => {
24
+ await usingAsync(new Injector(), async (injector) => {
25
+ const locationService = injector.getInstance(LocationService);
26
+ const spy = vi.spyOn(locationService, 'navigate');
27
+ nestedNavigate(injector, '/users/:userId/posts/:postId', { userId: '1', postId: '99' });
28
+ expect(spy).toHaveBeenCalledWith('/users/1/posts/99');
29
+ });
30
+ });
31
+ });
32
+ describe('Type utilities', () => {
33
+ describe('TypedNavigateArgs', () => {
34
+ it('Should make params optional for paths without parameters', () => {
35
+ expectTypeOf().toEqualTypeOf();
36
+ });
37
+ it('Should require params for parameterized paths', () => {
38
+ expectTypeOf().toEqualTypeOf();
39
+ });
40
+ it('Should require all params for multi-param paths', () => {
41
+ expectTypeOf().toEqualTypeOf();
42
+ });
43
+ });
44
+ describe('createNestedNavigate', () => {
45
+ it('Should constrain path to valid route paths', () => {
46
+ const appNavigate = createNestedNavigate();
47
+ expectTypeOf((appNavigate))
48
+ .parameter(0)
49
+ .toEqualTypeOf();
50
+ });
51
+ it('Should require params for parameterized routes in the tree', () => {
52
+ const appNavigate = createNestedNavigate();
53
+ expectTypeOf((appNavigate)).parameters.toEqualTypeOf();
54
+ });
55
+ it('Should make params optional for non-parameterized routes', () => {
56
+ const appNavigate = createNestedNavigate();
57
+ expectTypeOf((appNavigate)).parameters.toEqualTypeOf();
58
+ });
59
+ it('Should reject invalid paths', () => {
60
+ const appNavigate = createNestedNavigate();
61
+ // @ts-expect-error -- '/nonexistent' is not a valid route path
62
+ appNavigate(new Injector(), '/nonexistent');
63
+ });
64
+ it('Should accept routes with typed match parameters (NestedRoute<T>)', () => {
65
+ const typedRoute = {
66
+ component: ({ match }) => match.params.stackName,
67
+ };
68
+ const routes = {
69
+ '/stacks/:stackName': typedRoute,
70
+ };
71
+ const appNavigate = createNestedNavigate();
72
+ expectTypeOf((appNavigate)).parameters.toEqualTypeOf();
73
+ });
74
+ });
75
+ });
76
+ //# sourceMappingURL=nested-navigate.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nested-navigate.spec.js","sourceRoot":"","sources":["../../src/components/nested-navigate.spec.ts"],"names":[],"mappings":"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"}
@@ -58,5 +58,5 @@ export declare const NestedRouteLink: <TPath extends string = string>(props: Typ
58
58
  * <AppLink href="/users/:id" params={{ id: '123' }}>User</AppLink>
59
59
  * ```
60
60
  */
61
- export declare const createNestedRouteLink: <TRoutes extends Record<string, NestedRoute<unknown>>>() => <TPath extends ExtractRoutePaths<TRoutes>>(props: TypedNestedRouteLinkProps<TPath>, children?: ChildrenList) => JSX.Element;
61
+ export declare const createNestedRouteLink: <TRoutes extends Record<string, NestedRoute<any>>>() => <TPath extends ExtractRoutePaths<TRoutes>>(props: TypedNestedRouteLinkProps<TPath>, children?: ChildrenList) => JSX.Element;
62
62
  //# sourceMappingURL=nested-route-link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nested-route-link.d.ts","sourceRoot":"","sources":["../../src/components/nested-route-link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAIlE,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC,GAAG,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,CAAA;AAE/D;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,CAAC,KAAK,SAAS,MAAM,IAAI;IAC5D,IAAI,EAAE,KAAK,CAAA;CACZ,GAAG,CAAC,MAAM,SAAS,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAC/C;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC,GACxC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,CAAA;AA2B7D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAkC,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC1F,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,EACvC,QAAQ,CAAC,EAAE,YAAY,KACpB,GAAG,CAAC,OAAO,CAAA;AAEhB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,OAClD,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAC7E,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,EACvC,QAAQ,CAAC,EAAE,YAAY,KACpB,GAAG,CAAC,OACV,CAAA"}
1
+ {"version":3,"file":"nested-route-link.d.ts","sourceRoot":"","sources":["../../src/components/nested-route-link.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAIlE,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC,GAAG,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,CAAA;AAE/D;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,CAAC,KAAK,SAAS,MAAM,IAAI;IAC5D,IAAI,EAAE,KAAK,CAAA;CACZ,GAAG,CAAC,MAAM,SAAS,MAAM,kBAAkB,CAAC,KAAK,CAAC,GAC/C;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC,GACxC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,CAAA;AA2B7D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAkC,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC1F,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,EACvC,QAAQ,CAAC,EAAE,YAAY,KACpB,GAAG,CAAC,OAAO,CAAA;AAEhB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,OAC9C,CAAC,KAAK,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAC7E,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC,EACvC,QAAQ,CAAC,EAAE,YAAY,KACpB,GAAG,CAAC,OACV,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"nested-route-link.js","sourceRoot":"","sources":["../../src/components/nested-route-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAyBnC,MAAM,gBAAgB,GAAG,KAAK,CAAuB;IACnD,iBAAiB,EAAE,mBAAmB;IACtC,WAAW,EAAE,iBAAiB;IAC9B,eAAe,EAAE,GAAG;IACpB,GAAG,EAAE;QACH,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,SAAS;KAC1B;IACD,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;QACtD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAE9D,YAAY,CAAC;YACX,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,EAAc,EAAE,EAAE;gBAC1B,EAAE,CAAC,cAAc,EAAE,CAAA;gBACnB,iIAAiI;gBACjI,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW,CAAC,CAAA;gBACrD,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAA;YACrD,CAAC;SACF,CAAC,CAAA;QACF,OAAO,uCAAG,QAAQ,CAAI,CAAA;IACxB,CAAC;CACF,CAAC,CAAA;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,gBAGf,CAAA;AAEhB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAyD,EAAE;IAC9F,OAAO,gBAGS,CAAA;AAClB,CAAC,CAAA"}
1
+ {"version":3,"file":"nested-route-link.js","sourceRoot":"","sources":["../../src/components/nested-route-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAyBnC,MAAM,gBAAgB,GAAG,KAAK,CAAuB;IACnD,iBAAiB,EAAE,mBAAmB;IACtC,WAAW,EAAE,iBAAiB;IAC9B,eAAe,EAAE,GAAG;IACpB,GAAG,EAAE;QACH,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,SAAS;KAC1B;IACD,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;QACtD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAE9D,YAAY,CAAC;YACX,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,EAAc,EAAE,EAAE;gBAC1B,EAAE,CAAC,cAAc,EAAE,CAAA;gBACnB,iIAAiI;gBACjI,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW,CAAC,CAAA;gBACrD,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAA;YACrD,CAAC;SACF,CAAC,CAAA;QACF,OAAO,uCAAG,QAAQ,CAAI,CAAA;IACxB,CAAC;CACF,CAAC,CAAA;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,gBAGf,CAAA;AAEhB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAqD,EAAE;IAC1F,OAAO,gBAGS,CAAA;AAClB,CAAC,CAAA"}
@@ -162,6 +162,11 @@ describe('Type utilities', () => {
162
162
  const AppLink = createNestedRouteLink();
163
163
  expectTypeOf(AppLink).parameter(0).toHaveProperty('href');
164
164
  });
165
+ it('Should reject invalid paths', () => {
166
+ const AppLink = createNestedRouteLink();
167
+ // @ts-expect-error -- '/nonexistent' is not a valid route path
168
+ AppLink({ href: '/nonexistent' });
169
+ });
165
170
  it('Should require params for parameterized routes in the tree', () => {
166
171
  const AppLink = createNestedRouteLink();
167
172
  expectTypeOf((AppLink))
@@ -174,6 +179,39 @@ describe('Type utilities', () => {
174
179
  .parameter(0)
175
180
  .toExtend();
176
181
  });
182
+ it('Should accept routes with typed match parameters (NestedRoute<T>)', () => {
183
+ const routes = {
184
+ '/stacks/:stackName': {
185
+ component: ({ match }) => createComponent("div", null, match.params.stackName),
186
+ },
187
+ };
188
+ const AppLink = createNestedRouteLink();
189
+ expectTypeOf((AppLink))
190
+ .parameter(0)
191
+ .toExtend();
192
+ });
193
+ it('Should accept a mixed route tree with typed and untyped match parameters', () => {
194
+ const usersRoute = {
195
+ component: ({ match }) => createComponent("div", null, match.params.userId),
196
+ };
197
+ const buttonsRoute = {
198
+ component: () => createComponent("div", null),
199
+ };
200
+ const routes = {
201
+ '/': {
202
+ component: ({ outlet }) => outlet ?? createComponent("div", null),
203
+ children: {
204
+ '/buttons': buttonsRoute,
205
+ '/users/:userId': usersRoute,
206
+ },
207
+ },
208
+ };
209
+ const AppLink = createNestedRouteLink();
210
+ expectTypeOf(AppLink).parameter(0).toHaveProperty('href');
211
+ expectTypeOf((AppLink))
212
+ .parameter(0)
213
+ .toExtend();
214
+ });
177
215
  });
178
216
  });
179
217
  //# sourceMappingURL=nested-route-link.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nested-route-link.spec.js","sourceRoot":"","sources":["../../src/components/nested-route-link.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nested-route-link.spec.js","sourceRoot":"","sources":["../../src/components/nested-route-link.spec.tsx"],"names":[],"mappings":"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"}
@@ -10,9 +10,9 @@ export type ConcatPaths<Parent extends string, Child extends string> = Parent ex
10
10
  * Recursively extracts all valid full URL paths from a nested route tree.
11
11
  * @typeParam T - A record of route patterns to NestedRoute definitions
12
12
  */
13
- export type ExtractRoutePaths<T extends Record<string, NestedRoute<unknown>>> = {
13
+ export type ExtractRoutePaths<T extends Record<string, NestedRoute<any>>> = {
14
14
  [K in keyof T & string]: K | (T[K] extends {
15
- children: infer C extends Record<string, NestedRoute<unknown>>;
15
+ children: infer C extends Record<string, NestedRoute<any>>;
16
16
  } ? ConcatPaths<K, ExtractRoutePaths<C> & string> : never);
17
17
  }[keyof T & string];
18
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"nested-route-types.d.ts","sourceRoot":"","sources":["../../src/components/nested-route-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,GAAG,GAAG,KAAK,GAAG,GAAG,MAAM,GAAG,KAAK,EAAE,CAAA;AAEvH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI;KAC7E,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAClB,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;KAAE,GAC5E,WAAW,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAC7C,KAAK,CAAC;CACf,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAA;AAEnB;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GACjG;KAAG,CAAC,IAAI,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,MAAM;CAAE,GAC/D,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,KAAK,EAAE,GAClC;KAAG,CAAC,IAAI,KAAK,GAAG,MAAM;CAAE,GACxB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAE3B;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,MAAM,IAAI;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACxC,CAAA"}
1
+ {"version":3,"file":"nested-route-types.d.ts","sourceRoot":"","sources":["../../src/components/nested-route-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,MAAM,EAAE,KAAK,SAAS,MAAM,IAAI,MAAM,SAAS,GAAG,GAAG,KAAK,GAAG,GAAG,MAAM,GAAG,KAAK,EAAE,CAAA;AAEvH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI;KACzE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAClB,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;KAAE,GACxE,WAAW,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAC7C,KAAK,CAAC;CACf,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAA;AAEnB;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GACjG;KAAG,CAAC,IAAI,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,MAAM;CAAE,GAC/D,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,KAAK,EAAE,GAClC;KAAG,CAAC,IAAI,KAAK,GAAG,MAAM;CAAE,GACxB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAE3B;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,MAAM,SAAS,MAAM,IAAI;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACxC,CAAA"}
package/esm/vnode.d.ts CHANGED
@@ -23,7 +23,7 @@ export declare const EXISTING_NODE: unique symbol;
23
23
  export type VNode = {
24
24
  _brand: typeof VNODE_BRAND;
25
25
  type: string | ((...args: unknown[]) => unknown) | typeof FRAGMENT | typeof EXISTING_NODE;
26
- props: Record<string, unknown> | null;
26
+ props: Record<string, unknown>;
27
27
  children: VChild[];
28
28
  _el?: Node;
29
29
  };
@@ -63,7 +63,7 @@ export declare const createVNode: (type: string | ((...args: unknown[]) => unkno
63
63
  /**
64
64
  * Shallow-compares two props objects. Returns true if all keys and values match.
65
65
  */
66
- export declare const shallowEqual: (a: Record<string, unknown> | null, b: Record<string, unknown> | null) => boolean;
66
+ export declare const shallowEqual: (a: Record<string, unknown>, b: Record<string, unknown>) => boolean;
67
67
  /**
68
68
  * Converts a render result (VNode | HTMLElement | string | null) into a flat
69
69
  * VChild array suitable for `patchChildren`.
@@ -75,7 +75,7 @@ export declare const toVChildArray: (renderResult: unknown) => VChild[];
75
75
  /**
76
76
  * Diffs old and new props and applies minimal updates to a live DOM element.
77
77
  */
78
- export declare const patchProps: (el: Element, oldProps: Record<string, unknown> | null, newProps: Record<string, unknown> | null) => void;
78
+ export declare const patchProps: (el: Element, oldProps: Record<string, unknown>, newProps: Record<string, unknown>) => void;
79
79
  /**
80
80
  * Creates real DOM nodes from a VChild and optionally appends to a parent.
81
81
  * Sets `_el` on the VChild so subsequent patches can find the DOM node.
@@ -1 +1 @@
1
- {"version":3,"file":"vnode.d.ts","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,QAAA,MAAM,WAAW,EAAG,OAAgB,CAAA;AACpC,QAAA,MAAM,WAAW,EAAG,OAAgB,CAAA;AAEpC;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,MAA2B,CAAA;AAEzD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,MAAgC,CAAA;AAMnE;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,OAAO,WAAW,CAAA;IAC1B,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;IACzF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACrC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,GAAG,CAAC,EAAE,IAAI,CAAA;CACX,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,OAAO,WAAW,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,IAAI,CAAA;CACX,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;AAMtC,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,KACkC,CAAA;AAE5E,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,SACkC,CAAA;AAMhF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,OAAO,EAAE,KAAG,MAAM,EAyBvD,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,IAAI,EACvD,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACrC,GAAG,aAAa,OAAO,EAAE,KACxB,KAuCF,CAAA;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAAG,OAUnG,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,cAAc,OAAO,KAAG,MAAM,EAuB3D,CAAA;AAwFD;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,IAAI,OAAO,EACX,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACxC,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KACvC,IAmBF,CAAA;AAMD;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,QAAQ,IAAI,GAAG,IAAI,KAAG,IA0C/D,CAAA;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,IAU5C,CAAA;AAiFD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,IAAI,EAAE,aAAa,MAAM,EAAE,EAAE,aAAa,MAAM,EAAE,KAAG,IAgB5F,CAAA"}
1
+ {"version":3,"file":"vnode.d.ts","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,QAAA,MAAM,WAAW,EAAG,OAAgB,CAAA;AACpC,QAAA,MAAM,WAAW,EAAG,OAAgB,CAAA;AAEpC;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,MAA2B,CAAA;AAEzD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,MAAgC,CAAA;AAMnE;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,OAAO,WAAW,CAAA;IAC1B,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,OAAO,QAAQ,GAAG,OAAO,aAAa,CAAA;IACzF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,GAAG,CAAC,EAAE,IAAI,CAAA;CACX,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,OAAO,WAAW,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,IAAI,CAAA;CACX,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;AAMtC,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,KACkC,CAAA;AAE5E,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,SACkC,CAAA;AAMhF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,OAAO,EAAE,KAAG,MAAM,EAyBvD,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,IAAI,EACvD,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACrC,GAAG,aAAa,OAAO,EAAE,KACxB,KAsCF,CAAA;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OASrF,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,cAAc,OAAO,KAAG,MAAM,EAuB3D,CAAA;AAuFD;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,OAAO,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAgB9G,CAAA;AAMD;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,QAAQ,IAAI,GAAG,IAAI,KAAG,IA0C/D,CAAA;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,IAU5C,CAAA;AAiFD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,IAAI,EAAE,aAAa,MAAM,EAAE,EAAE,aAAa,MAAM,EAAE,KAAG,IAgB5F,CAAA"}
package/esm/vnode.js CHANGED
@@ -63,7 +63,7 @@ export const flattenVChildren = (raw) => {
63
63
  else if (child instanceof Node) {
64
64
  // Real DOM node from shadeChildren (created outside render mode).
65
65
  // Wrap it so the reconciler can track it.
66
- result.push({ _brand: VNODE_BRAND, type: EXISTING_NODE, props: null, children: [], _el: child });
66
+ result.push({ _brand: VNODE_BRAND, type: EXISTING_NODE, props: {}, children: [], _el: child });
67
67
  }
68
68
  }
69
69
  return result;
@@ -84,7 +84,7 @@ export const createVNode = (type, props, ...rawChildren) => {
84
84
  const vnode = {
85
85
  _brand: VNODE_BRAND,
86
86
  type: type === null ? FRAGMENT : type,
87
- props: props ? { ...props } : null,
87
+ props: props ? { ...props } : {},
88
88
  children,
89
89
  };
90
90
  // For intrinsic elements, add DOM-shim methods so that component render code
@@ -92,23 +92,20 @@ export const createVNode = (type, props, ...rawChildren) => {
92
92
  if (typeof type === 'string') {
93
93
  const v = vnode;
94
94
  v.setAttribute = (name, value) => {
95
- if (!vnode.props)
96
- vnode.props = {};
97
95
  vnode.props[name] = value;
98
96
  };
99
97
  v.removeAttribute = (name) => {
100
- if (vnode.props)
101
- delete vnode.props[name];
98
+ delete vnode.props[name];
102
99
  };
103
100
  v.getAttribute = (name) => {
104
- return vnode.props?.[name] ?? null;
101
+ return vnode.props[name] ?? null;
105
102
  };
106
103
  v.hasAttribute = (name) => {
107
- return vnode.props ? name in vnode.props : false;
104
+ return name in vnode.props;
108
105
  };
109
106
  v.appendChild = (child) => {
110
107
  if (child instanceof Node) {
111
- vnode.children.push({ _brand: VNODE_BRAND, type: EXISTING_NODE, props: null, children: [], _el: child });
108
+ vnode.children.push({ _brand: VNODE_BRAND, type: EXISTING_NODE, props: {}, children: [], _el: child });
112
109
  }
113
110
  else if (isVNode(child) || isVTextNode(child)) {
114
111
  vnode.children.push(child);
@@ -129,8 +126,6 @@ export const createVNode = (type, props, ...rawChildren) => {
129
126
  export const shallowEqual = (a, b) => {
130
127
  if (a === b)
131
128
  return true;
132
- if (!a || !b)
133
- return false;
134
129
  const keysA = Object.keys(a);
135
130
  const keysB = Object.keys(b);
136
131
  if (keysA.length !== keysB.length)
@@ -164,13 +159,13 @@ export const toVChildArray = (renderResult) => {
164
159
  return Array.from(renderResult.childNodes).map((node) => ({
165
160
  _brand: VNODE_BRAND,
166
161
  type: EXISTING_NODE,
167
- props: null,
162
+ props: {},
168
163
  children: [],
169
164
  _el: node,
170
165
  }));
171
166
  }
172
167
  if (renderResult instanceof Node) {
173
- return [{ _brand: VNODE_BRAND, type: EXISTING_NODE, props: null, children: [], _el: renderResult }];
168
+ return [{ _brand: VNODE_BRAND, type: EXISTING_NODE, props: {}, children: [], _el: renderResult }];
174
169
  }
175
170
  return [];
176
171
  };
@@ -258,8 +253,6 @@ const patchStyle = (el, oldStyle, newStyle) => {
258
253
  * Applies all props to a freshly created element (initial mount).
259
254
  */
260
255
  const applyProps = (el, props) => {
261
- if (!props)
262
- return;
263
256
  for (const [key, value] of Object.entries(props)) {
264
257
  setProp(el, key, value);
265
258
  }
@@ -268,20 +261,18 @@ const applyProps = (el, props) => {
268
261
  * Diffs old and new props and applies minimal updates to a live DOM element.
269
262
  */
270
263
  export const patchProps = (el, oldProps, newProps) => {
271
- const oldP = oldProps || {};
272
- const newP = newProps || {};
273
264
  // Remove props that no longer exist
274
- for (const key of Object.keys(oldP)) {
275
- if (!(key in newP)) {
265
+ for (const key of Object.keys(oldProps)) {
266
+ if (!(key in newProps)) {
276
267
  removeProp(el, key);
277
268
  }
278
269
  }
279
270
  // Add / update props
280
- for (const [key, value] of Object.entries(newP)) {
271
+ for (const [key, value] of Object.entries(newProps)) {
281
272
  if (key === 'style') {
282
- patchStyle(el, oldP.style, value);
273
+ patchStyle(el, oldProps.style, value);
283
274
  }
284
- else if (oldP[key] !== value) {
275
+ else if (oldProps[key] !== value) {
285
276
  setProp(el, key, value);
286
277
  }
287
278
  }
@@ -311,7 +302,7 @@ export const mountChild = (child, parent) => {
311
302
  // Shade component
312
303
  if (typeof child.type === 'function') {
313
304
  const factory = child.type;
314
- const el = factory(child.props || {}, child.children);
305
+ const el = factory(child.props, child.children);
315
306
  child._el = el;
316
307
  if (parent)
317
308
  parent.appendChild(el);
package/esm/vnode.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vnode.js","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vnode.js","sourceRoot":"","sources":["../src/vnode.ts"],"names":[],"mappings":"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"}