@cedarjs/router 7.1.0-rc.34 → 7.1.1-next.468

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/dist/Route.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import type { ReactElement } from 'react';
2
3
  import type { PageType } from './page.js';
3
4
  export type RenderMode = 'stream' | 'html';
@@ -26,7 +27,7 @@ export type InternalRouteProps = Partial<RouteProps & RedirectRouteProps & NotFo
26
27
  * it is actually never rendered. All the page loading logic happens in active-route-loader
27
28
  * and all the validation happens within utility functions called from the Router
28
29
  */
29
- export declare function Route(props: RouteProps): JSX.Element;
30
- export declare function Route(props: RedirectRouteProps): JSX.Element;
31
- export declare function Route(props: NotFoundRouteProps): JSX.Element;
30
+ export declare function Route(props: RouteProps): React.JSX.Element;
31
+ export declare function Route(props: RedirectRouteProps): React.JSX.Element;
32
+ export declare function Route(props: NotFoundRouteProps): React.JSX.Element;
32
33
  //# sourceMappingURL=Route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../src/Route.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE1C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,QAAQ,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;CAC7C;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,UAAU,GAAG,kBAAkB,GAAG,kBAAkB,CACrD,CAAA;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAC,OAAO,CAAA;AACrD,wBAAgB,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAA;AAC7D,wBAAgB,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAA"}
1
+ {"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../src/Route.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE1C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,QAAQ,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;CAC7C;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,UAAU,GAAG,kBAAkB,GAAG,kBAAkB,CACrD,CAAA;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAA;AAC3D,wBAAgB,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAA;AACnE,wBAAgB,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAA"}
package/dist/Set.d.ts CHANGED
@@ -1,29 +1,35 @@
1
- import type { ReactElement, ReactNode } from 'react';
1
+ import type { ComponentType, ReactElement, ReactNode } from 'react';
2
2
  import React from 'react';
3
3
  /**
4
- * The props of a layout or other component in a `<Set wrap>` prop that only
5
- * needs the wrapped routes, which it gets as `children`:
6
- *
7
- * function MainLayout({ children }: WrapperProps) {
8
- * return <main>{children}</main>
9
- * }
10
- *
11
- * <Set wrap={MainLayout}>
4
+ * The props `<Set>` gives each component in its `wrap` prop: the wrapped
5
+ * routes as `children`, and nothing else
12
6
  */
13
7
  export interface WrapperProps {
14
8
  children: ReactNode;
15
9
  }
16
- export type WrapperType<WTProps> = (props: Omit<WTProps, 'wrap' | 'children'> & {
17
- children: ReactNode;
18
- }) => ReactElement | null;
19
- type SetProps<P> = P & {
10
+ /**
11
+ * A component in a `<Set wrap>` prop, like a layout. The router renders it
12
+ * with {@link WrapperProps}, so it can't have any other required props.
13
+ * Optional props are fine.
14
+ *
15
+ * To render a layout with props, create a component that renders it with
16
+ * those props, and use that component in `wrap`:
17
+ *
18
+ * function PostsScaffoldLayout({ children }: WrapperProps) {
19
+ * return <ScaffoldLayout title="Posts" titleTo="posts">{children}</ScaffoldLayout>
20
+ * }
21
+ *
22
+ * <Set wrap={PostsScaffoldLayout}>
23
+ */
24
+ export type WrapperType = ComponentType<WrapperProps>;
25
+ interface SetProps {
20
26
  /**
21
- * P is the interface for the props that are forwarded to the wrapper
22
- * components. TypeScript will most likely infer this for you, but if you
23
- * need to you can specify it yourself in your JSX like so:
24
- * <Set<{theme: string}> wrap={ThemableLayout} theme="dark">
27
+ * Components to wrap all routes in this set with, like layouts. The first
28
+ * one in an array is the outermost one.
29
+ *
30
+ * <Set wrap={[MainLayout, DarkThemeLayout]}>
25
31
  */
26
- wrap?: WrapperType<P> | WrapperType<P>[];
32
+ wrap?: WrapperType | readonly WrapperType[];
27
33
  /**
28
34
  *`Routes` nested in a `<Set>` with `private` specified require
29
35
  * authentication. When a user is not authenticated and attempts to visit
@@ -49,20 +55,22 @@ type SetProps<P> = P & {
49
55
  /** Loading state for auth to distinguish with whileLoading */
50
56
  whileLoadingAuth?: () => ReactElement | null;
51
57
  whileLoadingPage?: () => ReactElement | null;
52
- };
58
+ }
53
59
  /**
54
- * TypeScript will often infer the type of the props you can forward to the
55
- * wrappers for you, but if you need to you can specify it yourself in your
56
- * JSX like so:
57
- * <Set<{theme: string}> wrap={ThemeableLayout} theme="dark">
60
+ * Groups routes, to wrap them all in the same layouts or other components, or
61
+ * to give them all the same `whileLoadingPage` or `prerender` setting.
62
+ *
63
+ * <Set wrap={MainLayout}>
64
+ * <Route path="/" page={HomePage} name="home" />
65
+ * </Set>
58
66
  */
59
- export declare function Set<WrapperProps>(props: SetProps<WrapperProps>): React.JSX.Element;
60
- type PrivateSetProps<P> = P & Omit<SetProps<P>, 'private' | 'unauthenticated'> & {
67
+ export declare function Set(props: SetProps): React.JSX.Element;
68
+ type PrivateSetProps = Omit<SetProps, 'private' | 'unauthenticated'> & {
61
69
  /** The page name where a user will be redirected when not authenticated */
62
70
  unauthenticated: string;
63
71
  };
64
72
  /** @deprecated Please use `<PrivateSet>` instead */
65
- export declare function Private<WrapperProps>(props: PrivateSetProps<WrapperProps>): React.JSX.Element;
73
+ export declare function Private(props: PrivateSetProps): React.JSX.Element;
66
74
  /**
67
75
  * Wraps a set of routes that require the user to be authenticated before
68
76
  * rendering. Unauthenticated users are redirected to the route named by
@@ -71,9 +79,17 @@ export declare function Private<WrapperProps>(props: PrivateSetProps<WrapperProp
71
79
  * Coming from React Router or a similar library and looking for something
72
80
  * like `RequireAuth` or `ProtectedRoute`? This is the Cedar equivalent.
73
81
  */
74
- export declare function PrivateSet<WrapperProps>(props: PrivateSetProps<WrapperProps>): React.JSX.Element;
75
- export declare const isSetNode: (node: ReactNode) => node is ReactElement<SetProps<any>>;
76
- export declare const isPrivateSetNode: (node: ReactNode) => node is ReactElement<PrivateSetProps<unknown>>;
77
- export declare const isPrivateNode: (node: ReactNode) => node is ReactElement<SetProps<any>>;
82
+ export declare function PrivateSet(props: PrivateSetProps): React.JSX.Element;
83
+ export declare const isSetNode: (node: ReactNode) => node is ReactElement<SetProps>;
84
+ export declare const isPrivateSetNode: (node: ReactNode) => node is ReactElement<PrivateSetProps>;
85
+ export declare const isPrivateNode: (node: ReactNode) => node is ReactElement<PrivateSetProps>;
86
+ /**
87
+ * Wraps `children` in all `wrappers`, with the first wrapper as the outermost
88
+ * one. Every wrapper gets `children` as its only prop.
89
+ *
90
+ * wrapWithSetWrappers([A, B], '1', <Page />)
91
+ * // => <A><B><Page /></B></A>
92
+ */
93
+ export declare function wrapWithSetWrappers(wrappers: readonly WrapperType[], setId: string, children: ReactNode): ReactNode;
78
94
  export {};
79
95
  //# sourceMappingURL=Set.d.ts.map
package/dist/Set.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Set.d.ts","sourceRoot":"","sources":["../src/Set.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,MAAM,WAAW,CAAC,OAAO,IAAI,CACjC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IAC1C,QAAQ,EAAE,SAAS,CAAA;CACpB,KACE,YAAY,GAAG,IAAI,CAAA;AAExB,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAA;IACxC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;IAC5C,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;CAC7C,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,qBAI9D;AAED,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,GACzB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,iBAAiB,CAAC,GAAG;IACjD,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAEH,oDAAoD;AACpD,wBAAgB,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,qBAIzE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,qBAI5E;AAED,eAAO,MAAM,SAAS,GACpB,MAAM,SAAS,KACd,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAOpC,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,MAAM,SAAS,KACd,IAAI,IAAI,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAE/C,CAAA;AAGD,eAAO,MAAM,aAAa,GACxB,MAAM,SAAS,KACd,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAEpC,CAAA"}
1
+ {"version":3,"file":"Set.d.ts","sourceRoot":"","sources":["../src/Set.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACnE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;AAErD,UAAU,QAAQ;IAChB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,CAAA;IAC3C;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;IAC5C,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,qBAIlC;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,iBAAiB,CAAC,GAAG;IACrE,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,oDAAoD;AACpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,eAAe,qBAI7C;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,qBAIhD;AAED,eAAO,MAAM,SAAS,GAAI,MAAM,SAAS,KAAG,IAAI,IAAI,YAAY,CAAC,QAAQ,CAOxE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,MAAM,SAAS,KACd,IAAI,IAAI,YAAY,CAAC,eAAe,CAEtC,CAAA;AAGD,eAAO,MAAM,aAAa,GACxB,MAAM,SAAS,KACd,IAAI,IAAI,YAAY,CAAC,eAAe,CAEtC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,SAAS,aAKpB"}
package/dist/Set.js CHANGED
@@ -10,7 +10,7 @@ function PrivateSet(props) {
10
10
  }
11
11
  const isSetNode = (node) => {
12
12
  return React.isValidElement(node) && (node.type === Set || node.type === PrivateSet || node.type === Private) && // Don't even bother including Sets without children. They're useless.
13
- node.props.children;
13
+ !!node.props.children;
14
14
  };
15
15
  const isPrivateSetNode = (node) => {
16
16
  return React.isValidElement(node) && node.type === PrivateSet;
@@ -18,11 +18,17 @@ const isPrivateSetNode = (node) => {
18
18
  const isPrivateNode = (node) => {
19
19
  return React.isValidElement(node) && node.type === Private;
20
20
  };
21
+ function wrapWithSetWrappers(wrappers, setId, children) {
22
+ return wrappers.reduceRight((acc, Wrapper, index) => {
23
+ return /* @__PURE__ */ React.createElement(Wrapper, { key: setId + "-" + index }, acc);
24
+ }, children);
25
+ }
21
26
  export {
22
27
  Private,
23
28
  PrivateSet,
24
29
  Set,
25
30
  isPrivateNode,
26
31
  isPrivateSetNode,
27
- isSetNode
32
+ isSetNode,
33
+ wrapWithSetWrappers
28
34
  };
@@ -1,19 +1,27 @@
1
1
  import type { ReactElement, ReactNode } from 'react';
2
2
  import type { PageType } from './page.js';
3
+ import type { WrapperType } from './Set.js';
3
4
  import { type ParamType } from './util.js';
4
5
  type WhileLoadingPage = () => ReactElement | null;
5
6
  export type GeneratedRoutesMap = {
6
7
  [key: string]: (args?: Record<string | number, string | number | boolean>) => string;
7
8
  };
8
- export type Wrappers = ((props: any) => ReactNode)[];
9
+ export type Wrappers = readonly WrapperType[];
10
+ /**
11
+ * The props of a `<Set>`, `<PrivateSet>` or `<Private>` that the router needs
12
+ * when rendering a route in it
13
+ */
14
+ interface SetRenderProps {
15
+ private?: boolean;
16
+ unauthenticated?: string;
17
+ roles?: string | string[];
18
+ whileLoadingAuth?: () => ReactElement | null;
19
+ }
9
20
  interface Set {
10
21
  id: string;
11
22
  wrappers: Wrappers;
12
23
  isPrivate: boolean;
13
- props: {
14
- private?: boolean;
15
- [key: string]: unknown;
16
- };
24
+ props: SetRenderProps;
17
25
  }
18
26
  type RoutePath = string;
19
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeRoutes.d.ts","sourceRoot":"","sources":["../src/analyzeRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAQzC,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,WAAW,CAAA;AAElB,KAAK,gBAAgB,GAAG,MAAM,YAAY,GAAG,IAAI,CAAA;AAIjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,CACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KACtD,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,SAAS,CAAC,EAAE,CAAA;AAEpD,UAAU,GAAG;IACX,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,CAAA;CACF;AAED,KAAK,SAAS,GAAG,MAAM,CAAA;AAEvB;;;;GAIG;AACH,UAAU,aAAa;IACrB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,GAAG,EAAE,CAAA;CACZ;AAED,UAAU,oBAAoB;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAC3C;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,EACnB,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,oBAAoB;;;;;;EA6K1D"}
1
+ {"version":3,"file":"analyzeRoutes.d.ts","sourceRoot":"","sources":["../src/analyzeRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAQzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,WAAW,CAAA;AAElB,KAAK,gBAAgB,GAAG,MAAM,YAAY,GAAG,IAAI,CAAA;AAIjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,CACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KACtD,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,SAAS,WAAW,EAAE,CAAA;AAE7C;;;GAGG;AACH,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAA;CAC7C;AAED,UAAU,GAAG;IACX,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,cAAc,CAAA;CACtB;AAuCD,KAAK,SAAS,GAAG,MAAM,CAAA;AAEvB;;;;GAIG;AACH,UAAU,aAAa;IACrB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,GAAG,EAAE,CAAA;CACZ;AAED,UAAU,oBAAoB;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CAC3C;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,EACnB,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,oBAAoB;;;;;;EAqK1D"}
@@ -11,6 +11,31 @@ import {
11
11
  replaceParams,
12
12
  validatePath
13
13
  } from "./util.js";
14
+ function pickSetRenderProps(props) {
15
+ const picked = {};
16
+ if (props.private !== void 0) {
17
+ picked.private = props.private;
18
+ }
19
+ if (props.unauthenticated !== void 0) {
20
+ picked.unauthenticated = props.unauthenticated;
21
+ }
22
+ if (props.roles !== void 0) {
23
+ picked.roles = props.roles;
24
+ }
25
+ if (props.whileLoadingAuth !== void 0) {
26
+ picked.whileLoadingAuth = props.whileLoadingAuth;
27
+ }
28
+ return picked;
29
+ }
30
+ function toWrappersArray(wrap) {
31
+ if (!wrap) {
32
+ return [];
33
+ }
34
+ return isSingleWrapper(wrap) ? [wrap] : wrap;
35
+ }
36
+ function isSingleWrapper(wrap) {
37
+ return !Array.isArray(wrap);
38
+ }
14
39
  function analyzeRoutes(children, { currentPathName, userParamTypes }) {
15
40
  const pathRouteMap = {};
16
41
  const namedRoutesMap = {};
@@ -78,13 +103,8 @@ function analyzeRoutes(children, { currentPathName, userParamTypes }) {
78
103
  const {
79
104
  children: children2,
80
105
  whileLoadingPage: whileLoadingPageFromCurrentSet,
81
- wrap: wrapFromCurrentSet,
82
- ...otherPropsFromCurrentSet
106
+ wrap: wrapFromCurrentSet
83
107
  } = node.props;
84
- let wrapperComponentsArray = [];
85
- if (wrapFromCurrentSet) {
86
- wrapperComponentsArray = Array.isArray(wrapFromCurrentSet) ? wrapFromCurrentSet : [wrapFromCurrentSet];
87
- }
88
108
  nextSetId = nextSetId + 1;
89
109
  recurseThroughRouter({
90
110
  nodes: Children.toArray(children2),
@@ -96,11 +116,11 @@ function analyzeRoutes(children, { currentPathName, userParamTypes }) {
96
116
  ...previousSets,
97
117
  {
98
118
  id: createSetId(nextSetId, previousSets),
99
- wrappers: wrapperComponentsArray,
119
+ wrappers: toWrappersArray(wrapFromCurrentSet),
100
120
  isPrivate: isPrivateSetNode(node) || // The following two conditions can be removed when we remove
101
121
  // the deprecated private prop
102
- isPrivateNode(node) || !!otherPropsFromCurrentSet.private,
103
- props: otherPropsFromCurrentSet
122
+ isPrivateNode(node) || !!node.props.private,
123
+ props: pickSetRenderProps(node.props)
104
124
  }
105
125
  ]
106
126
  });
package/dist/page.d.ts CHANGED
@@ -24,5 +24,5 @@ export declare function isSpec(specOrPage: Spec | React.ComponentType): specOrPa
24
24
  * imported version into a spec.
25
25
  */
26
26
  export declare function normalizePage(specOrPage: Spec | React.ComponentType<unknown>): Spec;
27
- export type PageType = Spec | React.ComponentType<any> | ((props: any) => JSX.Element);
27
+ export type PageType = Spec | React.ComponentType<any> | ((props: any) => React.JSX.Element);
28
28
  //# sourceMappingURL=page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK;QAAE,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;KAAE,CAAA;IAC7E,aAAa,EACT,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GACvD,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;CACjC;AAED,wBAAgB,MAAM,CACpB,UAAU,EAAE,IAAI,GAAG,KAAK,CAAC,aAAa,GACrC,UAAU,IAAI,IAAI,CAEpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAC9C,IAAI,CAaN;AAED,MAAM,MAAM,QAAQ,GAClB,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK;QAAE,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;KAAE,CAAA;IAC7E,aAAa,EACT,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GACvD,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;CACjC;AAED,wBAAgB,MAAM,CACpB,UAAU,EAAE,IAAI,GAAG,KAAK,CAAC,aAAa,GACrC,UAAU,IAAI,IAAI,CAEpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAC9C,IAAI,CAaN;AAED,MAAM,MAAM,QAAQ,GAClB,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-util.d.ts","sourceRoot":"","sources":["../src/react-util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,CAU3D"}
1
+ {"version":3,"file":"react-util.d.ts","sourceRoot":"","sources":["../src/react-util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,CAa3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAwB,MAAM,OAAO,CAAA;AAY5C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAIrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAErD,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,0BAA0B,EAC1B,QAAQ,GAAG,iBAAiB,CAC7B;IACC,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAoBxC,CAAA"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAwB,MAAM,OAAO,CAAA;AAY5C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAKrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAErD,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,0BAA0B,EAC1B,QAAQ,GAAG,iBAAiB,CAC7B;IACC,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAoBxC,CAAA"}
package/dist/router.js CHANGED
@@ -9,6 +9,7 @@ import { PageLoadingContextProvider } from "./PageLoadingContext.js";
9
9
  import { ParamsProvider } from "./params.js";
10
10
  import { Redirect } from "./redirect.js";
11
11
  import { RouterContextProvider } from "./router-context.js";
12
+ import { wrapWithSetWrappers } from "./Set.js";
12
13
  import { SplashPage } from "./splash-page.js";
13
14
  import { matchPath, parseSearch, replaceParams, validatePath } from "./util.js";
14
15
  const Router = ({
@@ -141,13 +142,7 @@ const WrappedPage = memo(({ sets, children }) => {
141
142
  return children;
142
143
  }
143
144
  return sets.reduceRight((acc, set) => {
144
- let wrapped = set.wrappers.reduceRight((acc2, Wrapper, index) => {
145
- return React.createElement(
146
- Wrapper,
147
- { ...set.props, key: set.id + "-" + index },
148
- acc2
149
- );
150
- }, acc);
145
+ let wrapped = wrapWithSetWrappers(set.wrappers, set.id, acc);
151
146
  if (set.isPrivate) {
152
147
  const unauthenticated = set.props.unauthenticated;
153
148
  if (!unauthenticated || typeof unauthenticated !== "string") {
@@ -155,7 +150,15 @@ const WrappedPage = memo(({ sets, children }) => {
155
150
  "You must specify an `unauthenticated` route when using PrivateSet"
156
151
  );
157
152
  }
158
- wrapped = /* @__PURE__ */ React.createElement(AuthenticatedRoute, { ...set.props, unauthenticated }, wrapped);
153
+ wrapped = /* @__PURE__ */ React.createElement(
154
+ AuthenticatedRoute,
155
+ {
156
+ unauthenticated,
157
+ roles: set.props.roles,
158
+ whileLoadingAuth: set.props.whileLoadingAuth
159
+ },
160
+ wrapped
161
+ );
159
162
  }
160
163
  return wrapped;
161
164
  }, children);
@@ -2,6 +2,6 @@ interface Props {
2
2
  pathname: string;
3
3
  search: string;
4
4
  }
5
- export declare const RscRoutes: ({ pathname, search }: Props) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
5
+ export declare const RscRoutes: ({ pathname, search }: Props) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
6
6
  export {};
7
7
  //# sourceMappingURL=RscRoutes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RscRoutes.d.ts","sourceRoot":"","sources":["../../src/rsc/RscRoutes.tsx"],"names":[],"mappings":"AAiIA,UAAU,KAAK;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,SAAS,GAAI,sBAAsB,KAAK,2FAkCpD,CAAA"}
1
+ {"version":3,"file":"RscRoutes.d.ts","sourceRoot":"","sources":["../../src/rsc/RscRoutes.tsx"],"names":[],"mappings":"AAiIA,UAAU,KAAK;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,SAAS,GAAI,sBAAsB,KAAK,+FAkCpD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ServerRouter.d.ts","sourceRoot":"","sources":["../../src/rsc/ServerRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAKtD,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,0BAA0B,EAC1B,QAAQ,GAAG,iBAAiB,CAC7B;IACC,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA4GxC,CAAA"}
1
+ {"version":3,"file":"ServerRouter.d.ts","sourceRoot":"","sources":["../../src/rsc/ServerRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAGtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAKtD,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,0BAA0B,EAC1B,QAAQ,GAAG,iBAAiB,CAC7B;IACC,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA4GxC,CAAA"}
@@ -3,6 +3,7 @@ import { getAuthState, getLocation } from "@cedarjs/server-store";
3
3
  import { analyzeRoutes } from "../analyzeRoutes.js";
4
4
  import { namedRoutes } from "../namedRoutes.js";
5
5
  import { normalizePage } from "../page.js";
6
+ import { wrapWithSetWrappers } from "../Set.js";
6
7
  import { SplashPage } from "../splash-page.js";
7
8
  import { matchPath, parseSearch, replaceParams, validatePath } from "../util.js";
8
9
  import { ServerRouteLoader } from "./ServerRouteLoader.js";
@@ -112,13 +113,7 @@ const WrappedPage = ({ routeLoaderElement, sets }) => {
112
113
  return routeLoaderElement;
113
114
  }
114
115
  return sets.reduceRight((acc, set) => {
115
- let wrapped = set.wrappers.reduceRight((acc2, Wrapper, index) => {
116
- return React.createElement(
117
- Wrapper,
118
- { ...set.props, key: set.id + "-" + index },
119
- acc2
120
- );
121
- }, acc);
116
+ let wrapped = wrapWithSetWrappers(set.wrappers, set.id, acc);
122
117
  if (set.isPrivate) {
123
118
  const unauthenticated = set.props.unauthenticated;
124
119
  if (!unauthenticated || typeof unauthenticated !== "string") {
@@ -126,7 +121,15 @@ const WrappedPage = ({ routeLoaderElement, sets }) => {
126
121
  "You must specify an `unauthenticated` route when using PrivateSet"
127
122
  );
128
123
  }
129
- wrapped = /* @__PURE__ */ React.createElement(AuthenticatedRoute, { ...set.props, unauthenticated }, wrapped);
124
+ wrapped = /* @__PURE__ */ React.createElement(
125
+ AuthenticatedRoute,
126
+ {
127
+ unauthenticated,
128
+ roles: set.props.roles,
129
+ whileLoadingAuth: set.props.whileLoadingAuth
130
+ },
131
+ wrapped
132
+ );
130
133
  }
131
134
  return wrapped;
132
135
  }, routeLoaderElement);
package/dist/skipNav.d.ts CHANGED
@@ -5,10 +5,10 @@ type ForwardRefExoticComponent<E, OwnProps> = React.ForwardRefExoticComponent<Me
5
5
  }>>;
6
6
  interface ForwardRefComponent<IntrinsicElementString, OwnProps = object> extends ForwardRefExoticComponent<IntrinsicElementString, OwnProps> {
7
7
  <As = IntrinsicElementString>(props: As extends '' ? {
8
- as: keyof JSX.IntrinsicElements;
8
+ as: keyof React.JSX.IntrinsicElements;
9
9
  } : As extends React.ComponentType<infer P> ? Merge<P, OwnProps & {
10
10
  as: As;
11
- }> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], OwnProps & {
11
+ }> : As extends keyof React.JSX.IntrinsicElements ? Merge<React.JSX.IntrinsicElements[As], OwnProps & {
12
12
  as: As;
13
13
  }> : never): React.ReactElement | null;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skipNav.d.ts","sourceRoot":"","sources":["../src/skipNav.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,KAAK,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAA;AAE9D,KAAK,yBAAyB,CAAC,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC,yBAAyB,CAC3E,KAAK,CACH,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,KAAK,EACpE,QAAQ,GAAG;IAAE,EAAE,CAAC,EAAE,CAAC,CAAA;CAAE,CACtB,CACF,CAAA;AAED,UAAU,mBAAmB,CAC3B,sBAAsB,EACtB,QAAQ,GAAG,MAAM,CAKjB,SAAQ,yBAAyB,CAAC,sBAAsB,EAAE,QAAQ,CAAC;IASnE,CAAC,EAAE,GAAG,sBAAsB,EAC1B,KAAK,EAAE,EAAE,SAAS,EAAE,GAChB;QAAE,EAAE,EAAE,MAAM,GAAG,CAAC,iBAAiB,CAAA;KAAE,GACnC,EAAE,SAAS,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GACrC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG;QAAE,EAAE,EAAE,EAAE,CAAA;KAAE,CAAC,GAC/B,EAAE,SAAS,MAAM,GAAG,CAAC,iBAAiB,GACpC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAE,EAAE,EAAE,EAAE,CAAA;KAAE,CAAC,GACvD,KAAK,GACZ,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;CAC7B;AAWD;;;;;;GAMG;AACH,QAAA,MAAM,WAAW,EAiBX,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;AAEhD;;GAEG;AACH,UAAU,gBAAgB;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;;GAMG;AACH,QAAA,MAAM,cAAc,EAad,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAA;AAErD;;GAEG;AACH,UAAU,mBAAmB;IAC3B;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;;;OAKG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAOD,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"skipNav.d.ts","sourceRoot":"","sources":["../src/skipNav.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,KAAK,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAA;AAE9D,KAAK,yBAAyB,CAAC,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC,yBAAyB,CAC3E,KAAK,CACH,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,KAAK,EACpE,QAAQ,GAAG;IAAE,EAAE,CAAC,EAAE,CAAC,CAAA;CAAE,CACtB,CACF,CAAA;AAED,UAAU,mBAAmB,CAC3B,sBAAsB,EACtB,QAAQ,GAAG,MAAM,CAKjB,SAAQ,yBAAyB,CAAC,sBAAsB,EAAE,QAAQ,CAAC;IASnE,CAAC,EAAE,GAAG,sBAAsB,EAC1B,KAAK,EAAE,EAAE,SAAS,EAAE,GAChB;QAAE,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAA;KAAE,GACzC,EAAE,SAAS,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GACrC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG;QAAE,EAAE,EAAE,EAAE,CAAA;KAAE,CAAC,GAC/B,EAAE,SAAS,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAC1C,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG;QAAE,EAAE,EAAE,EAAE,CAAA;KAAE,CAAC,GAC7D,KAAK,GACZ,KAAK,CAAC,YAAY,GAAG,IAAI,CAAA;CAC7B;AAWD;;;;;;GAMG;AACH,QAAA,MAAM,WAAW,EAiBX,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;AAEhD;;GAEG;AACH,UAAU,gBAAgB;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;;GAMG;AACH,QAAA,MAAM,cAAc,EAad,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAA;AAErD;;GAEG;AACH,UAAU,mBAAmB;IAC3B;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;;;OAKG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAOD,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cedarjs/router",
3
- "version": "7.1.0-rc.34",
3
+ "version": "7.1.1-next.468",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/cedarjs/cedar.git",
@@ -52,31 +52,31 @@
52
52
  "test:watch": "vitest watch"
53
53
  },
54
54
  "dependencies": {
55
- "@cedarjs/project-config": "7.1.0-rc.34",
56
- "@cedarjs/server-store": "7.1.0-rc.34",
57
- "react-server-dom-webpack": "19.2.8",
55
+ "@cedarjs/project-config": "7.1.1-next.468",
56
+ "@cedarjs/server-store": "7.1.1-next.468",
57
+ "react-server-dom-webpack": "19.3.0",
58
58
  "ts-toolbelt": "9.6.0"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@arethetypeswrong/cli": "0.18.5",
62
- "@cedarjs/auth": "7.1.0-rc.34",
63
- "@cedarjs/framework-tools": "7.1.0-rc.34",
62
+ "@cedarjs/auth": "7.1.1-next.468",
63
+ "@cedarjs/framework-tools": "7.1.1-next.468",
64
64
  "@testing-library/jest-dom": "6.9.1",
65
- "@types/react": "^18.2.55",
66
- "@types/react-dom": "^18.2.19",
67
- "concurrently": "9.2.4",
68
- "publint": "0.3.24",
69
- "react": "18.3.1",
70
- "react-dom": "18.3.1",
65
+ "@types/react": "^19.2.0",
66
+ "@types/react-dom": "^19.2.0",
67
+ "concurrently": "9.2.5",
68
+ "publint": "0.3.25",
69
+ "react": "19.3.0",
70
+ "react-dom": "19.3.0",
71
71
  "tstyche": "5.0.2",
72
72
  "typescript": "5.9.3",
73
- "vite": "7.3.6",
73
+ "vite": "7.3.7",
74
74
  "vitest": "4.1.11"
75
75
  },
76
76
  "peerDependencies": {
77
- "@cedarjs/auth": "7.1.0-rc.34",
78
- "react": "18.3.1",
79
- "react-dom": "18.3.1"
77
+ "@cedarjs/auth": "7.1.1-next.468",
78
+ "react": "19.3.0",
79
+ "react-dom": "19.3.0"
80
80
  },
81
81
  "engines": {
82
82
  "node": ">=24"