@cedarjs/router 8.0.0-canary.3628 → 8.0.0-canary.3629

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.
@@ -1,3 +1,4 @@
1
+ import { Fragment, jsx } from "react/jsx-runtime";
1
2
  import React, { createContext, useContext } from "react";
2
3
  import { useLocation } from "./location.js";
3
4
  import { Redirect } from "./redirect.js";
@@ -83,29 +84,29 @@ const AuthenticatedRoute = ({
83
84
  const hasRequiredPermission = !!tenancy || permission === void 0 || auth.hasPermission(permission);
84
85
  if (isAuthenticated && hasRequiredRoles && hasRequiredPermission) {
85
86
  if (!tenancy || !org) {
86
- return /* @__PURE__ */ React.createElement(React.Fragment, null, children);
87
+ return /* @__PURE__ */ jsx(Fragment, { children });
87
88
  }
88
89
  const { membership, memberships } = org;
89
90
  if (!membership) {
90
91
  if (authLoading) {
91
92
  return whileLoadingAuth?.() || null;
92
93
  }
93
- return /* @__PURE__ */ React.createElement(React.Fragment, null, tenancy.notAMember ?? null);
94
+ return /* @__PURE__ */ jsx(Fragment, { children: tenancy.notAMember ?? null });
94
95
  }
95
96
  const hasRequiredOrgAccess = permission === void 0 || (membership.permissions?.includes(permission) ?? false);
96
97
  if (hasRequiredOrgAccess) {
97
98
  if (mountedOrgId === membership.organizationId) {
98
- return /* @__PURE__ */ React.createElement(React.Fragment, null, children);
99
+ return /* @__PURE__ */ jsx(Fragment, { children });
99
100
  }
100
- return /* @__PURE__ */ React.createElement(
101
+ return /* @__PURE__ */ jsx(
101
102
  tenancy.OrgProvider,
102
103
  {
103
- key: membership.organizationId,
104
104
  useAuth: routerState.useAuth,
105
105
  membership,
106
- memberships
106
+ memberships,
107
+ children: /* @__PURE__ */ jsx(MountedOrgContext.Provider, { value: membership.organizationId, children })
107
108
  },
108
- /* @__PURE__ */ React.createElement(MountedOrgContext.Provider, { value: membership.organizationId }, children)
109
+ membership.organizationId
109
110
  );
110
111
  }
111
112
  }
@@ -113,7 +114,7 @@ const AuthenticatedRoute = ({
113
114
  return whileLoadingAuth?.() || null;
114
115
  }
115
116
  if (isAuthenticated && unauthorized) {
116
- return /* @__PURE__ */ React.createElement(
117
+ return /* @__PURE__ */ jsx(
117
118
  Redirect,
118
119
  {
119
120
  to: redirectPath(routerState.routes, unauthorized, pathParams),
@@ -127,7 +128,7 @@ const AuthenticatedRoute = ({
127
128
  unauthenticated,
128
129
  pathParams
129
130
  );
130
- return /* @__PURE__ */ React.createElement(Redirect, { to: `${unauthenticatedPath}?redirectTo=${currentLocation}` });
131
+ return /* @__PURE__ */ jsx(Redirect, { to: `${unauthenticatedPath}?redirectTo=${currentLocation}` });
131
132
  };
132
133
  export {
133
134
  AuthenticatedRoute
@@ -1,3 +1,4 @@
1
+ import { jsx } from "react/jsx-runtime";
1
2
  import React, { useContext, useState } from "react";
2
3
  import { createNamedContext } from "./createNamedContext.js";
3
4
  const PageLoadingContext = createNamedContext("PageLoading");
@@ -6,12 +7,12 @@ const PageLoadingContextProvider = ({
6
7
  delay = 1e3
7
8
  }) => {
8
9
  const [loading, setPageLoadingContext] = useState(false);
9
- return /* @__PURE__ */ React.createElement(
10
+ return /* @__PURE__ */ jsx(
10
11
  PageLoadingContext.Provider,
11
12
  {
12
- value: { loading, setPageLoadingContext, delay }
13
- },
14
- children
13
+ value: { loading, setPageLoadingContext, delay },
14
+ children
15
+ }
15
16
  );
16
17
  };
17
18
  const usePageLoadingContext = () => {
package/dist/Route.js CHANGED
@@ -1,6 +1,7 @@
1
+ import { Fragment, jsx } from "react/jsx-runtime";
1
2
  import React from "react";
2
3
  function Route(_props) {
3
- return /* @__PURE__ */ React.createElement(React.Fragment, null);
4
+ return /* @__PURE__ */ jsx(Fragment, {});
4
5
  }
5
6
  export {
6
7
  Route
package/dist/Set.js CHANGED
@@ -1,12 +1,13 @@
1
+ import { Fragment, jsx } from "react/jsx-runtime";
1
2
  import React from "react";
2
3
  function Set(props) {
3
- return /* @__PURE__ */ React.createElement(React.Fragment, null, props.children);
4
+ return /* @__PURE__ */ jsx(Fragment, { children: props.children });
4
5
  }
5
6
  function Private(props) {
6
- return /* @__PURE__ */ React.createElement(React.Fragment, null, props.children);
7
+ return /* @__PURE__ */ jsx(Fragment, { children: props.children });
7
8
  }
8
9
  function PrivateSet(props) {
9
- return /* @__PURE__ */ React.createElement(React.Fragment, null, props.children);
10
+ return /* @__PURE__ */ jsx(Fragment, { children: props.children });
10
11
  }
11
12
  const isSetNode = (node) => {
12
13
  return React.isValidElement(node) && (node.type === Set || node.type === PrivateSet || node.type === Private) && // Don't even bother including Sets without children. They're useless.
@@ -20,7 +21,7 @@ const isPrivateNode = (node) => {
20
21
  };
21
22
  function wrapWithSetWrappers(wrappers, setId, children) {
22
23
  return wrappers.reduceRight((acc, Wrapper, index) => {
23
- return /* @__PURE__ */ React.createElement(Wrapper, { key: setId + "-" + index }, acc);
24
+ return /* @__PURE__ */ jsx(Wrapper, { children: acc }, setId + "-" + index);
24
25
  }, children);
25
26
  }
26
27
  export {
@@ -1,3 +1,4 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
1
2
  import React, { Suspense, useEffect, useRef } from "react";
2
3
  import { getAnnouncement, getFocus, resetFocus } from "./a11yUtils.js";
3
4
  import { usePageLoadingContext } from "./PageLoadingContext.js";
@@ -21,7 +22,7 @@ const Fallback = ({ children }) => {
21
22
  setPageLoadingContext(false);
22
23
  };
23
24
  }, [delay, setPageLoadingContext]);
24
- return /* @__PURE__ */ React.createElement(React.Fragment, null, loading ? children : null);
25
+ return /* @__PURE__ */ jsx(Fragment, { children: loading ? children : null });
25
26
  };
26
27
  const ActiveRouteLoader = ({
27
28
  spec,
@@ -55,27 +56,30 @@ const ActiveRouteLoader = ({
55
56
  delete params["ref"];
56
57
  delete params["key"];
57
58
  }
58
- return /* @__PURE__ */ React.createElement(Suspense, { fallback: /* @__PURE__ */ React.createElement(Fallback, null, whileLoadingPage?.()) }, /* @__PURE__ */ React.createElement(LazyRouteComponent, { ...params }), /* @__PURE__ */ React.createElement(
59
- "div",
60
- {
61
- id: "redwood-announcer",
62
- style: {
63
- position: "absolute",
64
- top: 0,
65
- width: 1,
66
- height: 1,
67
- padding: 0,
68
- overflow: "hidden",
69
- clip: "rect(0, 0, 0, 0)",
70
- whiteSpace: "nowrap",
71
- border: 0
72
- },
73
- role: "alert",
74
- "aria-live": "assertive",
75
- "aria-atomic": "true",
76
- ref: announcementRef
77
- }
78
- ));
59
+ return /* @__PURE__ */ jsxs(Suspense, { fallback: /* @__PURE__ */ jsx(Fallback, { children: whileLoadingPage?.() }), children: [
60
+ /* @__PURE__ */ jsx(LazyRouteComponent, { ...params }),
61
+ /* @__PURE__ */ jsx(
62
+ "div",
63
+ {
64
+ id: "redwood-announcer",
65
+ style: {
66
+ position: "absolute",
67
+ top: 0,
68
+ width: 1,
69
+ height: 1,
70
+ padding: 0,
71
+ overflow: "hidden",
72
+ clip: "rect(0, 0, 0, 0)",
73
+ whiteSpace: "nowrap",
74
+ border: 0
75
+ },
76
+ role: "alert",
77
+ "aria-live": "assertive",
78
+ "aria-atomic": "true",
79
+ ref: announcementRef
80
+ }
81
+ )
82
+ ] });
79
83
  };
80
84
  export {
81
85
  ActiveRouteLoader
package/dist/link.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use client";
2
+ import { jsx } from "react/jsx-runtime";
2
3
  import React, { forwardRef } from "react";
3
4
  import { navigate } from "./history.js";
4
- const Link = forwardRef(({ to, onClick, options, ...rest }, ref) => /* @__PURE__ */ React.createElement(
5
+ const Link = forwardRef(({ to, onClick, options, ...rest }, ref) => /* @__PURE__ */ jsx(
5
6
  "a",
6
7
  {
7
8
  href: to,
package/dist/location.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ import { jsx } from "react/jsx-runtime";
2
3
  import React from "react";
3
4
  import { createNamedContext } from "./createNamedContext.js";
4
5
  import { gHistory } from "./history.js";
@@ -57,7 +58,7 @@ class LocationProvider extends React.Component {
57
58
  }
58
59
  }
59
60
  render() {
60
- return /* @__PURE__ */ React.createElement(LocationContext.Provider, { value: this.state.context }, this.props.children);
61
+ return /* @__PURE__ */ jsx(LocationContext.Provider, { value: this.state.context, children: this.props.children });
61
62
  }
62
63
  }
63
64
  const useLocation = () => {
package/dist/navLink.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ import { jsx } from "react/jsx-runtime";
2
3
  import React, { forwardRef } from "react";
3
4
  import { Link } from "./link.js";
4
5
  import { useMatch } from "./useMatch.js";
@@ -19,7 +20,7 @@ const NavLink = forwardRef(
19
20
  searchParams,
20
21
  matchSubPaths
21
22
  });
22
- return /* @__PURE__ */ React.createElement(
23
+ return /* @__PURE__ */ jsx(
23
24
  Link,
24
25
  {
25
26
  ref,
package/dist/params.js CHANGED
@@ -1,17 +1,18 @@
1
+ import { jsx } from "react/jsx-runtime";
1
2
  import React, { useContext } from "react";
2
3
  import { createNamedContext } from "./createNamedContext.js";
3
4
  const ParamsContext = createNamedContext("Params");
4
5
  const ParamsProvider = ({ allParams, children }) => {
5
- return /* @__PURE__ */ React.createElement(
6
+ return /* @__PURE__ */ jsx(
6
7
  ParamsContext.Provider,
7
8
  {
8
9
  value: {
9
10
  params: {
10
11
  ...allParams
11
12
  }
12
- }
13
- },
14
- children
13
+ },
14
+ children
15
+ }
15
16
  );
16
17
  };
17
18
  const useParams = () => {
@@ -1,3 +1,4 @@
1
+ import { jsx } from "react/jsx-runtime";
1
2
  import React from "react";
2
3
  const RouteAnnouncement = ({
3
4
  children,
@@ -15,14 +16,14 @@ const RouteAnnouncement = ({
15
16
  whiteSpace: `nowrap`,
16
17
  border: `0`
17
18
  };
18
- return /* @__PURE__ */ React.createElement(
19
+ return /* @__PURE__ */ jsx(
19
20
  "div",
20
21
  {
21
22
  ...props,
22
23
  "data-redwood-route-announcement": true,
23
- style: visuallyHidden ? hiddenStyle : {}
24
- },
25
- children
24
+ style: visuallyHidden ? hiddenStyle : {},
25
+ children
26
+ }
26
27
  );
27
28
  };
28
29
  var route_announcement_default = RouteAnnouncement;
@@ -1,5 +1,6 @@
1
+ import { jsx } from "react/jsx-runtime";
1
2
  import React from "react";
2
- const RouteFocus = ({ children, ...props }) => /* @__PURE__ */ React.createElement("div", { ...props, "data-redwood-route-focus": true }, children);
3
+ const RouteFocus = ({ children, ...props }) => /* @__PURE__ */ jsx("div", { ...props, "data-redwood-route-focus": true, children });
3
4
  var route_focus_default = RouteFocus;
4
5
  export {
5
6
  route_focus_default as default
@@ -1,3 +1,4 @@
1
+ import { jsx } from "react/jsx-runtime";
1
2
  import React, { createContext, useContext, useMemo } from "react";
2
3
  import { useNoAuth } from "@cedarjs/auth";
3
4
  const RouterStateContext = createContext(void 0);
@@ -19,7 +20,7 @@ const RouterContextProvider = ({
19
20
  }),
20
21
  [useAuth, tenancy, paramTypes, routes, activeRouteName]
21
22
  );
22
- return /* @__PURE__ */ React.createElement(RouterStateContext.Provider, { value: state }, children);
23
+ return /* @__PURE__ */ jsx(RouterStateContext.Provider, { value: state, children });
23
24
  };
24
25
  const useRouterState = () => {
25
26
  const context = useContext(RouterStateContext);
package/dist/router.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
1
2
  import React, { useMemo, memo } from "react";
2
3
  import { ActiveRouteLoader } from "./active-route-loader.js";
3
4
  import { analyzeRoutes } from "./analyzeRoutes.js";
@@ -23,16 +24,16 @@ const RouterImplementation = ({
23
24
  return (
24
25
  // Level 1/3 (outer-most)
25
26
  // Wrap it in the provider so that useLocation can be used
26
- /* @__PURE__ */ React.createElement(LocationProvider, { trailingSlashes }, /* @__PURE__ */ React.createElement(
27
+ /* @__PURE__ */ jsx(LocationProvider, { trailingSlashes, children: /* @__PURE__ */ jsx(
27
28
  LocationAwareRouter,
28
29
  {
29
30
  useAuth,
30
31
  tenancy,
31
32
  paramTypes,
32
- pageLoadingDelay
33
- },
34
- children
35
- ))
33
+ pageLoadingDelay,
34
+ children
35
+ }
36
+ ) })
36
37
  );
37
38
  };
38
39
  RouterImplementation.displayName = "Router";
@@ -69,7 +70,7 @@ const LocationAwareRouter = ({
69
70
  Object.assign(namedRoutes, namedRoutesMap);
70
71
  const shouldShowSplash = (isOnNonExistentRootRoute || !hasGeneratedRoutes) && splashPageExists;
71
72
  if (shouldShowSplash) {
72
- return /* @__PURE__ */ React.createElement(
73
+ return /* @__PURE__ */ jsx(
73
74
  SplashPage,
74
75
  {
75
76
  hasGeneratedRoutes,
@@ -79,21 +80,21 @@ const LocationAwareRouter = ({
79
80
  }
80
81
  if (!activeRoutePath) {
81
82
  if (NotFoundPage) {
82
- return /* @__PURE__ */ React.createElement(
83
+ return /* @__PURE__ */ jsx(
83
84
  RouterContextProvider,
84
85
  {
85
86
  useAuth,
86
87
  tenancy,
87
88
  paramTypes,
88
- routes: analyzeRoutesResult
89
- },
90
- /* @__PURE__ */ React.createElement(ParamsProvider, null, /* @__PURE__ */ React.createElement(PageLoadingContextProvider, { delay: pageLoadingDelay }, /* @__PURE__ */ React.createElement(
91
- ActiveRouteLoader,
92
- {
93
- spec: normalizePage(NotFoundPage),
94
- path: location.pathname
95
- }
96
- )))
89
+ routes: analyzeRoutesResult,
90
+ children: /* @__PURE__ */ jsx(ParamsProvider, { children: /* @__PURE__ */ jsx(PageLoadingContextProvider, { delay: pageLoadingDelay, children: /* @__PURE__ */ jsx(
91
+ ActiveRouteLoader,
92
+ {
93
+ spec: normalizePage(NotFoundPage),
94
+ path: location.pathname
95
+ }
96
+ ) }) })
97
+ }
97
98
  );
98
99
  }
99
100
  return null;
@@ -124,24 +125,27 @@ const LocationAwareRouter = ({
124
125
  redirectPath = replaceParams(redirectRouteObject.path, allParams);
125
126
  }
126
127
  }
127
- return /* @__PURE__ */ React.createElement(
128
+ return /* @__PURE__ */ jsx(
128
129
  RouterContextProvider,
129
130
  {
130
131
  useAuth,
131
132
  tenancy,
132
133
  paramTypes,
133
134
  routes: analyzeRoutesResult,
134
- activeRouteName: name
135
- },
136
- /* @__PURE__ */ React.createElement(ParamsProvider, { allParams }, /* @__PURE__ */ React.createElement(PageLoadingContextProvider, { delay: pageLoadingDelay }, redirectPath && /* @__PURE__ */ React.createElement(Redirect, { to: redirectPath }), !redirectPath && page && /* @__PURE__ */ React.createElement(WrappedPage, { sets }, /* @__PURE__ */ React.createElement(
137
- ActiveRouteLoader,
138
- {
139
- path,
140
- spec: normalizePage(page),
141
- params: allParams,
142
- whileLoadingPage
143
- }
144
- ))))
135
+ activeRouteName: name,
136
+ children: /* @__PURE__ */ jsx(ParamsProvider, { allParams, children: /* @__PURE__ */ jsxs(PageLoadingContextProvider, { delay: pageLoadingDelay, children: [
137
+ redirectPath && /* @__PURE__ */ jsx(Redirect, { to: redirectPath }),
138
+ !redirectPath && page && /* @__PURE__ */ jsx(WrappedPage, { sets, children: /* @__PURE__ */ jsx(
139
+ ActiveRouteLoader,
140
+ {
141
+ path,
142
+ spec: normalizePage(page),
143
+ params: allParams,
144
+ whileLoadingPage
145
+ }
146
+ ) })
147
+ ] }) })
148
+ }
145
149
  );
146
150
  };
147
151
  const WrappedPage = memo(({ sets, children }) => {
@@ -157,16 +161,16 @@ const WrappedPage = memo(({ sets, children }) => {
157
161
  "You must specify an `unauthenticated` route when using PrivateSet"
158
162
  );
159
163
  }
160
- wrapped = /* @__PURE__ */ React.createElement(
164
+ wrapped = /* @__PURE__ */ jsx(
161
165
  AuthenticatedRoute,
162
166
  {
163
167
  unauthenticated,
164
168
  unauthorized: set.props.unauthorized,
165
169
  roles: set.props.roles,
166
170
  permission: set.props.permission,
167
- whileLoadingAuth: set.props.whileLoadingAuth
168
- },
169
- wrapped
171
+ whileLoadingAuth: set.props.whileLoadingAuth,
172
+ children: wrapped
173
+ }
170
174
  );
171
175
  }
172
176
  return wrapped;
@@ -1,3 +1,4 @@
1
+ import { jsx } from "react/jsx-runtime";
1
2
  import React, { useMemo } from "react";
2
3
  import { analyzeRoutes } from "../analyzeRoutes.js";
3
4
  import { AuthenticatedRoute } from "../AuthenticatedRoute.js";
@@ -12,7 +13,7 @@ const Router = (props) => {
12
13
  }
13
14
  return (
14
15
  // Wrap it in the provider so that useLocation can be used
15
- /* @__PURE__ */ React.createElement(LocationProvider, null, /* @__PURE__ */ React.createElement(LocationAwareRouter, { paramTypes, useAuth }, children))
16
+ /* @__PURE__ */ jsx(LocationProvider, { children: /* @__PURE__ */ jsx(LocationAwareRouter, { paramTypes, useAuth, children }) })
16
17
  );
17
18
  };
18
19
  const LocationAwareRouter = ({
@@ -30,7 +31,7 @@ const LocationAwareRouter = ({
30
31
  const { namedRoutesMap, pathRouteMap, activeRoutePath } = analyzeRoutesResult;
31
32
  Object.assign(namedRoutes, namedRoutesMap);
32
33
  if (!activeRoutePath) {
33
- return /* @__PURE__ */ React.createElement(RscRoutes, { pathname, search });
34
+ return /* @__PURE__ */ jsx(RscRoutes, { pathname, search });
34
35
  }
35
36
  const requestedRoute = pathRouteMap[activeRoutePath];
36
37
  const reversedSets = requestedRoute.sets.toReversed();
@@ -42,18 +43,18 @@ const LocationAwareRouter = ({
42
43
  "You must specify an `unauthenticated` route when using PrivateSet"
43
44
  );
44
45
  }
45
- return /* @__PURE__ */ React.createElement(
46
+ return /* @__PURE__ */ jsx(
46
47
  RouterContextProvider,
47
48
  {
48
49
  useAuth,
49
50
  paramTypes,
50
51
  routes: analyzeRoutesResult,
51
- activeRouteName: requestedRoute.name
52
- },
53
- /* @__PURE__ */ React.createElement(AuthenticatedRoute, { unauthenticated }, /* @__PURE__ */ React.createElement(RscRoutes, { pathname, search }))
52
+ activeRouteName: requestedRoute.name,
53
+ children: /* @__PURE__ */ jsx(AuthenticatedRoute, { unauthenticated, children: /* @__PURE__ */ jsx(RscRoutes, { pathname, search }) })
54
+ }
54
55
  );
55
56
  }
56
- return /* @__PURE__ */ React.createElement(RscRoutes, { pathname, search });
57
+ return /* @__PURE__ */ jsx(RscRoutes, { pathname, search });
57
58
  };
58
59
  export {
59
60
  Router
@@ -1,3 +1,4 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
1
2
  import React, { Suspense } from "react";
2
3
  const ServerRouteLoader = ({ spec, params }) => {
3
4
  const LazyRouteComponent = spec.LazyComponent;
@@ -5,26 +6,29 @@ const ServerRouteLoader = ({ spec, params }) => {
5
6
  delete params["ref"];
6
7
  delete params["key"];
7
8
  }
8
- return /* @__PURE__ */ React.createElement(Suspense, { fallback: /* @__PURE__ */ React.createElement("div", null, "Loading...") }, /* @__PURE__ */ React.createElement(LazyRouteComponent, { ...params }), /* @__PURE__ */ React.createElement(
9
- "div",
10
- {
11
- id: "redwood-announcer",
12
- style: {
13
- position: "absolute",
14
- top: 0,
15
- width: 1,
16
- height: 1,
17
- padding: 0,
18
- overflow: "hidden",
19
- clip: "rect(0, 0, 0, 0)",
20
- whiteSpace: "nowrap",
21
- border: 0
22
- },
23
- role: "alert",
24
- "aria-live": "assertive",
25
- "aria-atomic": "true"
26
- }
27
- ));
9
+ return /* @__PURE__ */ jsxs(Suspense, { fallback: /* @__PURE__ */ jsx("div", { children: "Loading..." }), children: [
10
+ /* @__PURE__ */ jsx(LazyRouteComponent, { ...params }),
11
+ /* @__PURE__ */ jsx(
12
+ "div",
13
+ {
14
+ id: "redwood-announcer",
15
+ style: {
16
+ position: "absolute",
17
+ top: 0,
18
+ width: 1,
19
+ height: 1,
20
+ padding: 0,
21
+ overflow: "hidden",
22
+ clip: "rect(0, 0, 0, 0)",
23
+ whiteSpace: "nowrap",
24
+ border: 0
25
+ },
26
+ role: "alert",
27
+ "aria-live": "assertive",
28
+ "aria-atomic": "true"
29
+ }
30
+ )
31
+ ] });
28
32
  };
29
33
  export {
30
34
  ServerRouteLoader
@@ -1,3 +1,4 @@
1
+ import { Fragment, jsx } from "react/jsx-runtime";
1
2
  import React from "react";
2
3
  import { getAuthState, getLocation } from "@cedarjs/server-store";
3
4
  import { analyzeRoutes } from "../analyzeRoutes.js";
@@ -34,7 +35,7 @@ const Router = ({
34
35
  const hasGeneratedRoutes = Object.keys(namedRoutes).length > 0;
35
36
  const shouldShowSplash = !hasRootRoute && location.pathname === "/" || !hasGeneratedRoutes;
36
37
  if (shouldShowSplash && typeof SplashPage !== "undefined") {
37
- return /* @__PURE__ */ React.createElement(
38
+ return /* @__PURE__ */ jsx(
38
39
  SplashPage,
39
40
  {
40
41
  hasGeneratedRoutes,
@@ -44,7 +45,7 @@ const Router = ({
44
45
  }
45
46
  if (!activeRoutePath) {
46
47
  if (NotFoundPage) {
47
- return /* @__PURE__ */ React.createElement(
48
+ return /* @__PURE__ */ jsx(
48
49
  ServerRouteLoader,
49
50
  {
50
51
  spec: normalizePage(NotFoundPage),
@@ -80,11 +81,11 @@ const Router = ({
80
81
  redirectPath = replaceParams(redirectRouteObject.path, allParams);
81
82
  }
82
83
  }
83
- return /* @__PURE__ */ React.createElement(React.Fragment, null, !redirectPath && page && /* @__PURE__ */ React.createElement(
84
+ return /* @__PURE__ */ jsx(Fragment, { children: !redirectPath && page && /* @__PURE__ */ jsx(
84
85
  WrappedPage,
85
86
  {
86
87
  sets,
87
- routeLoaderElement: /* @__PURE__ */ React.createElement(
88
+ routeLoaderElement: /* @__PURE__ */ jsx(
88
89
  ServerRouteLoader,
89
90
  {
90
91
  path,
@@ -94,7 +95,7 @@ const Router = ({
94
95
  }
95
96
  )
96
97
  }
97
- ));
98
+ ) });
98
99
  };
99
100
  function hasRole(requiredRoles) {
100
101
  const { roles } = getAuthState();
@@ -114,7 +115,7 @@ const AuthenticatedRoute = ({
114
115
  const { isAuthenticated } = getAuthState();
115
116
  const isAuthorized = isAuthenticated && (!roles || hasRole(roles)) && (permission === void 0 || hasPermission(permission));
116
117
  if (isAuthorized) {
117
- return /* @__PURE__ */ React.createElement(React.Fragment, null, children);
118
+ return /* @__PURE__ */ jsx(Fragment, { children });
118
119
  }
119
120
  if (!isAuthenticated) {
120
121
  throw new Error("401 Unauthorized");
@@ -134,15 +135,15 @@ const WrappedPage = ({ routeLoaderElement, sets }) => {
134
135
  "You must specify an `unauthenticated` route when using PrivateSet"
135
136
  );
136
137
  }
137
- wrapped = /* @__PURE__ */ React.createElement(
138
+ wrapped = /* @__PURE__ */ jsx(
138
139
  AuthenticatedRoute,
139
140
  {
140
141
  unauthenticated,
141
142
  roles: set.props.roles,
142
143
  permission: set.props.permission,
143
- whileLoadingAuth: set.props.whileLoadingAuth
144
- },
145
- wrapped
144
+ whileLoadingAuth: set.props.whileLoadingAuth,
145
+ children: wrapped
146
+ }
146
147
  );
147
148
  }
148
149
  return wrapped;
@@ -1,10 +1,11 @@
1
+ import { jsx } from "react/jsx-runtime";
1
2
  import React, { useMemo } from "react";
2
3
  import { analyzeRoutes } from "../analyzeRoutes.js";
3
4
  import { LocationProvider, useLocation } from "../location.js";
4
5
  import { namedRoutes } from "../namedRoutes.js";
5
6
  import { renderRoutesSsr } from "./clientSsr.js";
6
7
  const Router = ({ paramTypes, children }) => {
7
- return /* @__PURE__ */ React.createElement(LocationProvider, null, /* @__PURE__ */ React.createElement(LocationAwareRouter, { paramTypes }, children));
8
+ return /* @__PURE__ */ jsx(LocationProvider, { children: /* @__PURE__ */ jsx(LocationAwareRouter, { paramTypes, children }) });
8
9
  };
9
10
  const LocationAwareRouter = ({ paramTypes, children }) => {
10
11
  const { pathname } = useLocation();
package/dist/rsc-link.js CHANGED
@@ -1,6 +1,7 @@
1
+ import { jsx } from "react/jsx-runtime";
1
2
  import React, { forwardRef } from "react";
2
3
  const Link = forwardRef(({ to, ...rest }, ref) => {
3
- return /* @__PURE__ */ React.createElement("a", { href: to, ref, ...rest });
4
+ return /* @__PURE__ */ jsx("a", { href: to, ref, ...rest });
4
5
  });
5
6
  export {
6
7
  Link
package/dist/skipNav.js CHANGED
@@ -1,23 +1,24 @@
1
+ import { jsx } from "react/jsx-runtime";
1
2
  import * as React from "react";
2
3
  const defaultId = "reach-skip-nav";
3
4
  const SkipNavLink = React.forwardRef(function SkipNavLink2({ as: Comp = "a", children = "Skip to content", contentId, ...props }, forwardedRef) {
4
5
  const id = contentId || defaultId;
5
- return /* @__PURE__ */ React.createElement(
6
+ return /* @__PURE__ */ jsx(
6
7
  Comp,
7
8
  {
8
9
  ...props,
9
10
  ref: forwardedRef,
10
11
  href: `#${id}`,
11
12
  "data-reach-skip-link": "",
12
- "data-reach-skip-nav-link": ""
13
- },
14
- children
13
+ "data-reach-skip-nav-link": "",
14
+ children
15
+ }
15
16
  );
16
17
  });
17
18
  SkipNavLink.displayName = "SkipNavLink";
18
19
  const SkipNavContent = React.forwardRef(function SkipNavContent2({ as: Comp = "div", id: idProp, ...props }, forwardedRef) {
19
20
  const id = idProp || defaultId;
20
- return /* @__PURE__ */ React.createElement(
21
+ return /* @__PURE__ */ jsx(
21
22
  Comp,
22
23
  {
23
24
  ...props,
@@ -1,3 +1,4 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
1
2
  import React, { useState, useEffect } from "react";
2
3
  const SplashPage = ({
3
4
  hasGeneratedRoutes,
@@ -5,11 +6,12 @@ const SplashPage = ({
5
6
  }) => {
6
7
  const version = useVersion();
7
8
  const routes = Object.values(routesMap);
8
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("main", null, /* @__PURE__ */ React.createElement("section", null, /* @__PURE__ */ React.createElement(
9
- "style",
10
- {
11
- dangerouslySetInnerHTML: {
12
- __html: `
9
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("main", { children: /* @__PURE__ */ jsxs("section", { children: [
10
+ /* @__PURE__ */ jsx(
11
+ "style",
12
+ {
13
+ dangerouslySetInnerHTML: {
14
+ __html: `
13
15
  :root {
14
16
  --foreground: rgb(26, 32, 44);
15
17
  --background: hsl(0, 0%, 100%);
@@ -253,183 +255,279 @@ const SplashPage = ({
253
255
  line-height: var(--space-6);
254
256
  }
255
257
  `
256
- }
257
- }
258
- ), /* @__PURE__ */ React.createElement("section", { className: "container" }, /* @__PURE__ */ React.createElement("section", { className: "content-container" }, /* @__PURE__ */ React.createElement("div", { className: "content" }, /* @__PURE__ */ React.createElement("div", { className: "intro" }, /* @__PURE__ */ React.createElement(
259
- "img",
260
- {
261
- src: "https://avatars.githubusercontent.com/u/211931789?s=200&v=4",
262
- alt: "CedarJS Logo",
263
- className: "intro-logo"
264
- }
265
- ), /* @__PURE__ */ React.createElement("h1", { className: "intro-heading" }, "Welcome to CedarJS"), !hasGeneratedRoutes ? /* @__PURE__ */ React.createElement(
266
- "div",
267
- {
268
- className: "intro-instructions-container",
269
- "data-cy": "e2e-test-splashpage"
270
- },
271
- /* @__PURE__ */ React.createElement("p", { className: "intro-instructions" }, "You\u2019re seeing this because you don\u2019t have any pages yet."),
272
- /* @__PURE__ */ React.createElement("p", { className: "intro-instructions" }, "Type ", /* @__PURE__ */ React.createElement("code", null, "yarn cedar generate page my-page"), " in your terminal to get started!")
273
- ) : /* @__PURE__ */ React.createElement(
274
- "div",
275
- {
276
- className: "intro-instructions-container",
277
- "data-cy": "e2e-test-splashpage"
278
- },
279
- /* @__PURE__ */ React.createElement("div", { className: "pages" }, /* @__PURE__ */ React.createElement("p", { className: "pages-title" }, "List of Pages by path:"), /* @__PURE__ */ React.createElement("ul", { className: "pages-list" }, routes.map((route, index) => {
280
- return /* @__PURE__ */ React.createElement("li", { key: index, className: "pages-item" }, /* @__PURE__ */ React.createElement("code", null, `${route.name} -> `, /* @__PURE__ */ React.createElement(
281
- "a",
282
- {
283
- href: route.path,
284
- target: "_blank",
285
- rel: "noreferrer"
286
- },
287
- route.path
288
- )));
289
- }))),
290
- /* @__PURE__ */ React.createElement("div", { className: "callout" }, "You\u2019re seeing this because you don\u2019t have a page at the", " ", /* @__PURE__ */ React.createElement("code", null, "/"), " path.", /* @__PURE__ */ React.createElement("br", null), "Type ", /* @__PURE__ */ React.createElement("code", null, "yarn cedar generate page home /"), " in your terminal to create one.")
291
- )), /* @__PURE__ */ React.createElement("div", { className: "resources" }, /* @__PURE__ */ React.createElement("div", { className: "resource" }, /* @__PURE__ */ React.createElement(
292
- "a",
293
- {
294
- className: "resource-link",
295
- href: "https://cedarjs.com/docs/tutorial",
296
- target: "_blank",
297
- rel: "noreferrer"
298
- }
299
- ), /* @__PURE__ */ React.createElement("div", { className: "icon-container" }, /* @__PURE__ */ React.createElement(
300
- "svg",
301
- {
302
- xmlns: "http://www.w3.org/2000/svg",
303
- viewBox: "0 0 24 24",
304
- className: "icon"
305
- },
306
- /* @__PURE__ */ React.createElement("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
307
- /* @__PURE__ */ React.createElement("path", { d: "M4 5h16v11H4z", opacity: ".3" }),
308
- /* @__PURE__ */ React.createElement("path", { d: "M20 18c1.1 0 1.99-.9 1.99-2L22 5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v11c0 1.1.9 2 2 2H0c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2h-4zM4 5h16v11H4V5zm8 14c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z" })
309
- ), /* @__PURE__ */ React.createElement("h2", { className: "resource-title" }, "Tutorial")), /* @__PURE__ */ React.createElement("p", { className: "resource-description" }, "Start here to learn how to build full-stack apps with Cedar.")), /* @__PURE__ */ React.createElement("div", { className: "resource" }, /* @__PURE__ */ React.createElement(
310
- "a",
311
- {
312
- className: "resource-link",
313
- href: "https://cedarjs.com/docs",
314
- target: "_blank",
315
- rel: "noreferrer"
316
- }
317
- ), /* @__PURE__ */ React.createElement("div", { className: "icon-container" }, /* @__PURE__ */ React.createElement(
318
- "svg",
319
- {
320
- xmlns: "http://www.w3.org/2000/svg",
321
- viewBox: "0 0 24 24",
322
- className: "icon"
323
- },
324
- /* @__PURE__ */ React.createElement("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
325
- /* @__PURE__ */ React.createElement(
326
- "path",
327
- {
328
- d: "M13 13l-3-2.25L7 13V4H6v16h12V4h-5z",
329
- opacity: ".3"
258
+ }
330
259
  }
331
260
  ),
332
- /* @__PURE__ */ React.createElement("path", { d: "M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM9 4h2v5l-1-.75L9 9V4zm9 16H6V4h1v9l3-2.25L13 13V4h5v16z" })
333
- ), /* @__PURE__ */ React.createElement("h2", { className: "resource-title" }, "Docs and How To's")), /* @__PURE__ */ React.createElement("p", { className: "resource-description" }, "Find in-depth information about CedarJS features and API.")), /* @__PURE__ */ React.createElement("div", { className: "resource" }, /* @__PURE__ */ React.createElement(
334
- "a",
335
- {
336
- className: "resource-link",
337
- href: "https://cedarjs.com/discord",
338
- target: "_blank",
339
- rel: "noreferrer"
340
- }
341
- ), /* @__PURE__ */ React.createElement("div", { className: "icon-container" }, /* @__PURE__ */ React.createElement(
342
- "svg",
343
- {
344
- xmlns: "http://www.w3.org/2000/svg",
345
- viewBox: "0 0 24 24",
346
- className: "icon"
347
- },
348
- /* @__PURE__ */ React.createElement("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
349
- /* @__PURE__ */ React.createElement("path", { d: "M20 2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4V4c0-1.1-.9-2-2-2zm0 15.17L18.83 16H4V4h16v13.17z" }),
350
- /* @__PURE__ */ React.createElement("path", { d: "M4 4v12h14.83L20 17.17V4z", opacity: ".3" })
351
- ), /* @__PURE__ */ React.createElement("h2", { className: "resource-title" }, "Join the Community")), /* @__PURE__ */ React.createElement("p", { className: "resource-description" }, "Get help, share tips, and collaborate together on Cedar.")), /* @__PURE__ */ React.createElement("div", { className: "resource" }, /* @__PURE__ */ React.createElement(
352
- "a",
353
- {
354
- className: "resource-link",
355
- href: "https://cedarjs.com/docs/contributing",
356
- target: "_blank",
357
- rel: "noreferrer"
358
- }
359
- ), /* @__PURE__ */ React.createElement("div", { className: "icon-container" }, /* @__PURE__ */ React.createElement(
360
- "svg",
361
- {
362
- xmlns: "http://www.w3.org/2000/svg",
363
- viewBox: "0 0 24 24",
364
- className: "icon"
365
- },
366
- /* @__PURE__ */ React.createElement("g", null, /* @__PURE__ */ React.createElement("rect", { fill: "none", height: "24", width: "24" })),
367
- /* @__PURE__ */ React.createElement("g", null, /* @__PURE__ */ React.createElement("path", { d: "M21,5c-1.11-0.35-2.33-0.5-3.5-0.5c-1.95,0-4.05,0.4-5.5,1.5c-1.45-1.1-3.55-1.5-5.5-1.5S2.45,4.9,1,6v14.65 c0,0.25,0.25,0.5,0.5,0.5c0.1,0,0.15-0.05,0.25-0.05C3.1,20.45,5.05,20,6.5,20c1.95,0,4.05,0.4,5.5,1.5c1.35-0.85,3.8-1.5,5.5-1.5 c1.65,0,3.35,0.3,4.75,1.05c0.1,0.05,0.15,0.05,0.25,0.05c0.25,0,0.5-0.25,0.5-0.5V6C22.4,5.55,21.75,5.25,21,5z M3,18.5V7 c1.1-0.35,2.3-0.5,3.5-0.5c1.34,0,3.13,0.41,4.5,0.99v11.5C9.63,18.41,7.84,18,6.5,18C5.3,18,4.1,18.15,3,18.5z M21,18.5 c-1.1-0.35-2.3-0.5-3.5-0.5c-1.34,0-3.13,0.41-4.5,0.99V7.49c1.37-0.59,3.16-0.99,4.5-0.99c1.2,0,2.4,0.15,3.5,0.5V18.5z" }), /* @__PURE__ */ React.createElement(
368
- "path",
369
- {
370
- d: "M11,7.49C9.63,6.91,7.84,6.5,6.5,6.5C5.3,6.5,4.1,6.65,3,7v11.5C4.1,18.15,5.3,18,6.5,18 c1.34,0,3.13,0.41,4.5,0.99V7.49z",
371
- opacity: ".3"
372
- }
373
- )),
374
- /* @__PURE__ */ React.createElement("g", null, /* @__PURE__ */ React.createElement("path", { d: "M17.5,10.5c0.88,0,1.73,0.09,2.5,0.26V9.24C19.21,9.09,18.36,9,17.5,9c-1.28,0-2.46,0.16-3.5,0.47v1.57 C14.99,10.69,16.18,10.5,17.5,10.5z" }), /* @__PURE__ */ React.createElement("path", { d: "M17.5,13.16c0.88,0,1.73,0.09,2.5,0.26V11.9c-0.79-0.15-1.64-0.24-2.5-0.24c-1.28,0-2.46,0.16-3.5,0.47v1.57 C14.99,13.36,16.18,13.16,17.5,13.16z" }), /* @__PURE__ */ React.createElement("path", { d: "M17.5,15.83c0.88,0,1.73,0.09,2.5,0.26v-1.52c-0.79-0.15-1.64-0.24-2.5-0.24c-1.28,0-2.46,0.16-3.5,0.47v1.57 C14.99,16.02,16.18,15.83,17.5,15.83z" }))
375
- ), /* @__PURE__ */ React.createElement("h2", { className: "resource-title" }, "Become a Contributor")), /* @__PURE__ */ React.createElement("p", { className: "resource-description" }, "Love CedarJS and want to get involved? Contribute today!"))))), /* @__PURE__ */ React.createElement("section", { className: "footer" }, /* @__PURE__ */ React.createElement("div", { className: "social" }, /* @__PURE__ */ React.createElement(
376
- "a",
377
- {
378
- className: "social-link",
379
- href: "https://github.com/cedarjs/cedar",
380
- target: "_blank",
381
- rel: "noopener noreferrer",
382
- "aria-label": "Go to the CedarJS GitHub repo"
383
- },
384
- /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 32 32", focusable: "false" }, /* @__PURE__ */ React.createElement(
385
- "path",
386
- {
387
- fill: "currentColor",
388
- d: "M15.9995 -8.73473e-07C12.198 -0.00275596 8.5196 1.34817 5.62346 3.81077C2.72731 6.27336 0.802616 9.6867 0.194194 13.4393C-0.414229 17.1919 0.333374 21.0385 2.30307 24.29C4.27276 27.5415 7.33584 29.9855 10.9435 31.184C11.7435 31.344 12.0315 30.832 12.0315 30.416L12.0155 27.696C7.56755 28.656 6.62355 25.552 6.62355 25.552C5.88755 23.696 4.84755 23.2 4.84755 23.2C3.40755 22.208 4.95955 22.24 4.95955 22.24C6.55955 22.352 7.40755 23.888 7.40755 23.888C8.84755 26.32 11.1515 25.616 12.0635 25.216C12.2235 24.176 12.6235 23.472 13.0715 23.072C9.51955 22.672 5.79155 21.296 5.79155 15.168C5.79155 13.408 6.41555 11.984 7.43955 10.864C6.95565 9.4866 7.01283 7.97684 7.59955 6.64C7.59955 6.64 8.94355 6.208 11.9995 8.272C14.6192 7.56384 17.3799 7.56384 19.9995 8.272C23.0555 6.192 24.3995 6.64 24.3995 6.64C25.2795 8.832 24.7195 10.48 24.5595 10.864C25.5835 11.984 26.2075 13.424 26.2075 15.168C26.2075 21.312 22.4635 22.656 18.8955 23.056C19.4715 23.552 19.9835 24.528 19.9835 26.016L19.9675 30.416C19.9675 30.832 20.2555 31.344 21.0715 31.184C24.6806 29.985 27.7445 27.5398 29.7141 24.2866C31.6837 21.0334 32.4302 17.185 31.8197 13.4314C31.2092 9.67772 29.2816 6.26427 26.3825 3.80296C23.4835 1.34165 19.8025 -0.00657403 15.9995 -8.73473e-07Z"
389
- }
390
- ))
391
- ), /* @__PURE__ */ React.createElement(
392
- "a",
393
- {
394
- className: "social-link",
395
- href: "https://x.com/cedarjs",
396
- target: "_blank",
397
- rel: "noopener noreferrer",
398
- "aria-label": "Go to the CedarJS Twitter/X profile"
399
- },
400
- /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 34 34", focusable: "false" }, /* @__PURE__ */ React.createElement(
401
- "path",
402
- {
403
- fill: "currentColor",
404
- d: "M10.693 31.025C23.528 31.025 30.532 20.4 30.532 11.186V10.285C31.892 9.282 33.065 8.075 34 6.664C32.725 7.225 31.382 7.599 29.988 7.769C31.4415 6.89552 32.5288 5.52436 33.048 3.91C31.688 4.726 30.192 5.287 28.628 5.61C27.5817 4.47537 26.1884 3.72011 24.6667 3.46265C23.1449 3.20519 21.5807 3.46011 20.2194 4.18742C18.8582 4.91474 17.7768 6.0733 17.1449 7.48142C16.513 8.88954 16.3664 10.4676 16.728 11.968C13.9549 11.8247 11.243 11.0998 8.76823 9.84043C6.29346 8.58108 4.11117 6.8154 2.363 4.658C1.46192 6.19488 1.18356 8.01846 1.58508 9.75418C1.98661 11.4899 3.03753 13.006 4.522 13.991C3.417 13.94 2.329 13.651 1.36 13.09V13.175C1.35653 14.7901 1.91405 16.3562 2.93729 17.6058C3.96053 18.8554 5.38596 19.7109 6.97 20.026C5.93906 20.3076 4.85718 20.3483 3.808 20.145C4.25151 21.5313 5.11789 22.744 6.2856 23.6129C7.4533 24.4818 8.86372 24.9634 10.319 24.99C8.87328 26.1262 7.21777 26.9662 5.44716 27.4621C3.67654 27.958 1.82554 28.1 0 27.88C3.19039 29.927 6.90238 31.0129 10.693 31.008"
405
- }
406
- ))
407
- ), /* @__PURE__ */ React.createElement(
408
- "a",
409
- {
410
- className: "social-link",
411
- href: "https://cedarjs.com/discord",
412
- target: "_blank",
413
- rel: "noopener noreferrer",
414
- "aria-label": "Go to the CedarJS Discord server"
415
- },
416
- /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 36 36", focusable: "false" }, /* @__PURE__ */ React.createElement(
417
- "path",
418
- {
419
- fill: "currentColor",
420
- d: "M29.9699 7.7544C27.1043 5.44752 22.5705 5.05656 22.3761 5.04288C22.2284 5.03072 22.0806 5.0648 21.9531 5.1404C21.8257 5.216 21.7249 5.32937 21.6647 5.4648C21.5783 5.65936 21.5049 5.85949 21.4451 6.06384C23.3409 6.38424 25.6694 7.02864 27.7761 8.33616C27.8565 8.38604 27.9262 8.45126 27.9814 8.52809C28.0366 8.60493 28.0761 8.69187 28.0976 8.78397C28.1192 8.87607 28.1224 8.97151 28.1071 9.06485C28.0917 9.15819 28.0582 9.24759 28.0083 9.32796C27.9584 9.40833 27.8932 9.47809 27.8164 9.53325C27.7395 9.58842 27.6526 9.62791 27.5605 9.64947C27.4684 9.67103 27.373 9.67424 27.2796 9.65892C27.1863 9.6436 27.0969 9.61004 27.0165 9.56016C23.3949 7.3116 18.8719 7.2 17.9999 7.2C17.1287 7.2 12.6028 7.31232 8.98338 9.55944C8.90301 9.60932 8.81361 9.64288 8.72027 9.6582C8.62693 9.67352 8.53149 9.67031 8.43939 9.64875C8.25339 9.6052 8.09231 9.48955 7.99158 9.32724C7.89085 9.16493 7.85873 8.96925 7.90227 8.78325C7.94582 8.59725 8.06147 8.43617 8.22378 8.33544C10.3305 7.03152 12.659 6.38424 14.5547 6.06672C14.4453 5.7096 14.3459 5.48424 14.3387 5.4648C14.2788 5.32841 14.1776 5.2143 14.0493 5.13859C13.921 5.06288 13.7721 5.0294 13.6238 5.04288C13.4294 5.05728 8.89554 5.44752 5.99034 7.78536C4.47474 9.18792 1.43994 17.3894 1.43994 24.48C1.43994 24.6067 1.47378 24.7277 1.5357 24.8371C3.62802 28.5163 9.3405 29.4775 10.6423 29.52H10.6646C10.7782 29.5203 10.8903 29.4937 10.9916 29.4424C11.093 29.3911 11.1808 29.3165 11.2478 29.2248L12.5632 27.4133C9.01146 26.4967 7.19706 24.9386 7.09338 24.8458C6.95017 24.7194 6.86303 24.5412 6.85115 24.3506C6.83927 24.1599 6.90361 23.9723 7.03002 23.8291C7.15643 23.6859 7.33456 23.5988 7.52522 23.5869C7.71588 23.575 7.90345 23.6394 8.04666 23.7658C8.08842 23.8054 11.4299 26.64 17.9999 26.64C24.5807 26.64 27.9223 23.7938 27.9561 23.7658C28.0998 23.6403 28.2874 23.5769 28.4777 23.5896C28.668 23.6023 28.8456 23.69 28.9713 23.8334C29.0335 23.9042 29.0812 23.9864 29.1117 24.0756C29.1421 24.1647 29.1546 24.259 29.1486 24.353C29.1426 24.447 29.1181 24.5389 29.0766 24.6235C29.035 24.708 28.9772 24.7836 28.9065 24.8458C28.8028 24.9386 26.9884 26.4967 23.4367 27.4133L24.7528 29.2248C24.8198 29.3164 24.9074 29.3909 25.0087 29.4422C25.1099 29.4935 25.2218 29.5202 25.3353 29.52H25.3569C26.6601 29.4775 32.3719 28.5156 34.4649 24.8371C34.5261 24.7277 34.5599 24.6067 34.5599 24.48C34.5599 17.3894 31.5251 9.18864 29.9699 7.7544V7.7544ZM13.3199 21.6C11.9275 21.6 10.7999 20.3112 10.7999 18.72C10.7999 17.1288 11.9275 15.84 13.3199 15.84C14.7124 15.84 15.8399 17.1288 15.8399 18.72C15.8399 20.3112 14.7124 21.6 13.3199 21.6ZM22.6799 21.6C21.2875 21.6 20.1599 20.3112 20.1599 18.72C20.1599 17.1288 21.2875 15.84 22.6799 15.84C24.0724 15.84 25.1999 17.1288 25.1999 18.72C25.1999 20.3112 24.0724 21.6 22.6799 21.6Z"
421
- }
422
- ))
423
- )), version && /* @__PURE__ */ React.createElement(React.Fragment, null, "Cedar version", " ", /* @__PURE__ */ React.createElement(
424
- "a",
425
- {
426
- href: "https://github.com/cedarjs/cedar/releases",
427
- target: "_blank",
428
- rel: "noreferrer"
429
- },
430
- "v",
431
- version
432
- )))))));
261
+ /* @__PURE__ */ jsxs("section", { className: "container", children: [
262
+ /* @__PURE__ */ jsx("section", { className: "content-container", children: /* @__PURE__ */ jsxs("div", { className: "content", children: [
263
+ /* @__PURE__ */ jsxs("div", { className: "intro", children: [
264
+ /* @__PURE__ */ jsx(
265
+ "img",
266
+ {
267
+ src: "https://avatars.githubusercontent.com/u/211931789?s=200&v=4",
268
+ alt: "CedarJS Logo",
269
+ className: "intro-logo"
270
+ }
271
+ ),
272
+ /* @__PURE__ */ jsx("h1", { className: "intro-heading", children: "Welcome to CedarJS" }),
273
+ !hasGeneratedRoutes ? /* @__PURE__ */ jsxs(
274
+ "div",
275
+ {
276
+ className: "intro-instructions-container",
277
+ "data-cy": "e2e-test-splashpage",
278
+ children: [
279
+ /* @__PURE__ */ jsx("p", { className: "intro-instructions", children: "You\u2019re seeing this because you don\u2019t have any pages yet." }),
280
+ /* @__PURE__ */ jsxs("p", { className: "intro-instructions", children: [
281
+ "Type ",
282
+ /* @__PURE__ */ jsx("code", { children: "yarn cedar generate page my-page" }),
283
+ " in your terminal to get started!"
284
+ ] })
285
+ ]
286
+ }
287
+ ) : /* @__PURE__ */ jsxs(
288
+ "div",
289
+ {
290
+ className: "intro-instructions-container",
291
+ "data-cy": "e2e-test-splashpage",
292
+ children: [
293
+ /* @__PURE__ */ jsxs("div", { className: "pages", children: [
294
+ /* @__PURE__ */ jsx("p", { className: "pages-title", children: "List of Pages by path:" }),
295
+ /* @__PURE__ */ jsx("ul", { className: "pages-list", children: routes.map((route, index) => {
296
+ return /* @__PURE__ */ jsx("li", { className: "pages-item", children: /* @__PURE__ */ jsxs("code", { children: [
297
+ `${route.name} -> `,
298
+ /* @__PURE__ */ jsx(
299
+ "a",
300
+ {
301
+ href: route.path,
302
+ target: "_blank",
303
+ rel: "noreferrer",
304
+ children: route.path
305
+ }
306
+ )
307
+ ] }) }, index);
308
+ }) })
309
+ ] }),
310
+ /* @__PURE__ */ jsxs("div", { className: "callout", children: [
311
+ "You\u2019re seeing this because you don\u2019t have a page at the",
312
+ " ",
313
+ /* @__PURE__ */ jsx("code", { children: "/" }),
314
+ " path.",
315
+ /* @__PURE__ */ jsx("br", {}),
316
+ "Type ",
317
+ /* @__PURE__ */ jsx("code", { children: "yarn cedar generate page home /" }),
318
+ " in your terminal to create one."
319
+ ] })
320
+ ]
321
+ }
322
+ )
323
+ ] }),
324
+ /* @__PURE__ */ jsxs("div", { className: "resources", children: [
325
+ /* @__PURE__ */ jsxs("div", { className: "resource", children: [
326
+ /* @__PURE__ */ jsx(
327
+ "a",
328
+ {
329
+ className: "resource-link",
330
+ href: "https://cedarjs.com/docs/tutorial",
331
+ target: "_blank",
332
+ rel: "noreferrer"
333
+ }
334
+ ),
335
+ /* @__PURE__ */ jsxs("div", { className: "icon-container", children: [
336
+ /* @__PURE__ */ jsxs(
337
+ "svg",
338
+ {
339
+ xmlns: "http://www.w3.org/2000/svg",
340
+ viewBox: "0 0 24 24",
341
+ className: "icon",
342
+ children: [
343
+ /* @__PURE__ */ jsx("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
344
+ /* @__PURE__ */ jsx("path", { d: "M4 5h16v11H4z", opacity: ".3" }),
345
+ /* @__PURE__ */ jsx("path", { d: "M20 18c1.1 0 1.99-.9 1.99-2L22 5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v11c0 1.1.9 2 2 2H0c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2h-4zM4 5h16v11H4V5zm8 14c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z" })
346
+ ]
347
+ }
348
+ ),
349
+ /* @__PURE__ */ jsx("h2", { className: "resource-title", children: "Tutorial" })
350
+ ] }),
351
+ /* @__PURE__ */ jsx("p", { className: "resource-description", children: "Start here to learn how to build full-stack apps with Cedar." })
352
+ ] }),
353
+ /* @__PURE__ */ jsxs("div", { className: "resource", children: [
354
+ /* @__PURE__ */ jsx(
355
+ "a",
356
+ {
357
+ className: "resource-link",
358
+ href: "https://cedarjs.com/docs",
359
+ target: "_blank",
360
+ rel: "noreferrer"
361
+ }
362
+ ),
363
+ /* @__PURE__ */ jsxs("div", { className: "icon-container", children: [
364
+ /* @__PURE__ */ jsxs(
365
+ "svg",
366
+ {
367
+ xmlns: "http://www.w3.org/2000/svg",
368
+ viewBox: "0 0 24 24",
369
+ className: "icon",
370
+ children: [
371
+ /* @__PURE__ */ jsx("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
372
+ /* @__PURE__ */ jsx(
373
+ "path",
374
+ {
375
+ d: "M13 13l-3-2.25L7 13V4H6v16h12V4h-5z",
376
+ opacity: ".3"
377
+ }
378
+ ),
379
+ /* @__PURE__ */ jsx("path", { d: "M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM9 4h2v5l-1-.75L9 9V4zm9 16H6V4h1v9l3-2.25L13 13V4h5v16z" })
380
+ ]
381
+ }
382
+ ),
383
+ /* @__PURE__ */ jsx("h2", { className: "resource-title", children: "Docs and How To's" })
384
+ ] }),
385
+ /* @__PURE__ */ jsx("p", { className: "resource-description", children: "Find in-depth information about CedarJS features and API." })
386
+ ] }),
387
+ /* @__PURE__ */ jsxs("div", { className: "resource", children: [
388
+ /* @__PURE__ */ jsx(
389
+ "a",
390
+ {
391
+ className: "resource-link",
392
+ href: "https://cedarjs.com/discord",
393
+ target: "_blank",
394
+ rel: "noreferrer"
395
+ }
396
+ ),
397
+ /* @__PURE__ */ jsxs("div", { className: "icon-container", children: [
398
+ /* @__PURE__ */ jsxs(
399
+ "svg",
400
+ {
401
+ xmlns: "http://www.w3.org/2000/svg",
402
+ viewBox: "0 0 24 24",
403
+ className: "icon",
404
+ children: [
405
+ /* @__PURE__ */ jsx("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
406
+ /* @__PURE__ */ jsx("path", { d: "M20 2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4V4c0-1.1-.9-2-2-2zm0 15.17L18.83 16H4V4h16v13.17z" }),
407
+ /* @__PURE__ */ jsx("path", { d: "M4 4v12h14.83L20 17.17V4z", opacity: ".3" })
408
+ ]
409
+ }
410
+ ),
411
+ /* @__PURE__ */ jsx("h2", { className: "resource-title", children: "Join the Community" })
412
+ ] }),
413
+ /* @__PURE__ */ jsx("p", { className: "resource-description", children: "Get help, share tips, and collaborate together on Cedar." })
414
+ ] }),
415
+ /* @__PURE__ */ jsxs("div", { className: "resource", children: [
416
+ /* @__PURE__ */ jsx(
417
+ "a",
418
+ {
419
+ className: "resource-link",
420
+ href: "https://cedarjs.com/docs/contributing",
421
+ target: "_blank",
422
+ rel: "noreferrer"
423
+ }
424
+ ),
425
+ /* @__PURE__ */ jsxs("div", { className: "icon-container", children: [
426
+ /* @__PURE__ */ jsxs(
427
+ "svg",
428
+ {
429
+ xmlns: "http://www.w3.org/2000/svg",
430
+ viewBox: "0 0 24 24",
431
+ className: "icon",
432
+ children: [
433
+ /* @__PURE__ */ jsx("g", { children: /* @__PURE__ */ jsx("rect", { fill: "none", height: "24", width: "24" }) }),
434
+ /* @__PURE__ */ jsxs("g", { children: [
435
+ /* @__PURE__ */ jsx("path", { d: "M21,5c-1.11-0.35-2.33-0.5-3.5-0.5c-1.95,0-4.05,0.4-5.5,1.5c-1.45-1.1-3.55-1.5-5.5-1.5S2.45,4.9,1,6v14.65 c0,0.25,0.25,0.5,0.5,0.5c0.1,0,0.15-0.05,0.25-0.05C3.1,20.45,5.05,20,6.5,20c1.95,0,4.05,0.4,5.5,1.5c1.35-0.85,3.8-1.5,5.5-1.5 c1.65,0,3.35,0.3,4.75,1.05c0.1,0.05,0.15,0.05,0.25,0.05c0.25,0,0.5-0.25,0.5-0.5V6C22.4,5.55,21.75,5.25,21,5z M3,18.5V7 c1.1-0.35,2.3-0.5,3.5-0.5c1.34,0,3.13,0.41,4.5,0.99v11.5C9.63,18.41,7.84,18,6.5,18C5.3,18,4.1,18.15,3,18.5z M21,18.5 c-1.1-0.35-2.3-0.5-3.5-0.5c-1.34,0-3.13,0.41-4.5,0.99V7.49c1.37-0.59,3.16-0.99,4.5-0.99c1.2,0,2.4,0.15,3.5,0.5V18.5z" }),
436
+ /* @__PURE__ */ jsx(
437
+ "path",
438
+ {
439
+ d: "M11,7.49C9.63,6.91,7.84,6.5,6.5,6.5C5.3,6.5,4.1,6.65,3,7v11.5C4.1,18.15,5.3,18,6.5,18 c1.34,0,3.13,0.41,4.5,0.99V7.49z",
440
+ opacity: ".3"
441
+ }
442
+ )
443
+ ] }),
444
+ /* @__PURE__ */ jsxs("g", { children: [
445
+ /* @__PURE__ */ jsx("path", { d: "M17.5,10.5c0.88,0,1.73,0.09,2.5,0.26V9.24C19.21,9.09,18.36,9,17.5,9c-1.28,0-2.46,0.16-3.5,0.47v1.57 C14.99,10.69,16.18,10.5,17.5,10.5z" }),
446
+ /* @__PURE__ */ jsx("path", { d: "M17.5,13.16c0.88,0,1.73,0.09,2.5,0.26V11.9c-0.79-0.15-1.64-0.24-2.5-0.24c-1.28,0-2.46,0.16-3.5,0.47v1.57 C14.99,13.36,16.18,13.16,17.5,13.16z" }),
447
+ /* @__PURE__ */ jsx("path", { d: "M17.5,15.83c0.88,0,1.73,0.09,2.5,0.26v-1.52c-0.79-0.15-1.64-0.24-2.5-0.24c-1.28,0-2.46,0.16-3.5,0.47v1.57 C14.99,16.02,16.18,15.83,17.5,15.83z" })
448
+ ] })
449
+ ]
450
+ }
451
+ ),
452
+ /* @__PURE__ */ jsx("h2", { className: "resource-title", children: "Become a Contributor" })
453
+ ] }),
454
+ /* @__PURE__ */ jsx("p", { className: "resource-description", children: "Love CedarJS and want to get involved? Contribute today!" })
455
+ ] })
456
+ ] })
457
+ ] }) }),
458
+ /* @__PURE__ */ jsxs("section", { className: "footer", children: [
459
+ /* @__PURE__ */ jsxs("div", { className: "social", children: [
460
+ /* @__PURE__ */ jsx(
461
+ "a",
462
+ {
463
+ className: "social-link",
464
+ href: "https://github.com/cedarjs/cedar",
465
+ target: "_blank",
466
+ rel: "noopener noreferrer",
467
+ "aria-label": "Go to the CedarJS GitHub repo",
468
+ children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 32 32", focusable: "false", children: /* @__PURE__ */ jsx(
469
+ "path",
470
+ {
471
+ fill: "currentColor",
472
+ d: "M15.9995 -8.73473e-07C12.198 -0.00275596 8.5196 1.34817 5.62346 3.81077C2.72731 6.27336 0.802616 9.6867 0.194194 13.4393C-0.414229 17.1919 0.333374 21.0385 2.30307 24.29C4.27276 27.5415 7.33584 29.9855 10.9435 31.184C11.7435 31.344 12.0315 30.832 12.0315 30.416L12.0155 27.696C7.56755 28.656 6.62355 25.552 6.62355 25.552C5.88755 23.696 4.84755 23.2 4.84755 23.2C3.40755 22.208 4.95955 22.24 4.95955 22.24C6.55955 22.352 7.40755 23.888 7.40755 23.888C8.84755 26.32 11.1515 25.616 12.0635 25.216C12.2235 24.176 12.6235 23.472 13.0715 23.072C9.51955 22.672 5.79155 21.296 5.79155 15.168C5.79155 13.408 6.41555 11.984 7.43955 10.864C6.95565 9.4866 7.01283 7.97684 7.59955 6.64C7.59955 6.64 8.94355 6.208 11.9995 8.272C14.6192 7.56384 17.3799 7.56384 19.9995 8.272C23.0555 6.192 24.3995 6.64 24.3995 6.64C25.2795 8.832 24.7195 10.48 24.5595 10.864C25.5835 11.984 26.2075 13.424 26.2075 15.168C26.2075 21.312 22.4635 22.656 18.8955 23.056C19.4715 23.552 19.9835 24.528 19.9835 26.016L19.9675 30.416C19.9675 30.832 20.2555 31.344 21.0715 31.184C24.6806 29.985 27.7445 27.5398 29.7141 24.2866C31.6837 21.0334 32.4302 17.185 31.8197 13.4314C31.2092 9.67772 29.2816 6.26427 26.3825 3.80296C23.4835 1.34165 19.8025 -0.00657403 15.9995 -8.73473e-07Z"
473
+ }
474
+ ) })
475
+ }
476
+ ),
477
+ /* @__PURE__ */ jsx(
478
+ "a",
479
+ {
480
+ className: "social-link",
481
+ href: "https://x.com/cedarjs",
482
+ target: "_blank",
483
+ rel: "noopener noreferrer",
484
+ "aria-label": "Go to the CedarJS Twitter/X profile",
485
+ children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 34 34", focusable: "false", children: /* @__PURE__ */ jsx(
486
+ "path",
487
+ {
488
+ fill: "currentColor",
489
+ d: "M10.693 31.025C23.528 31.025 30.532 20.4 30.532 11.186V10.285C31.892 9.282 33.065 8.075 34 6.664C32.725 7.225 31.382 7.599 29.988 7.769C31.4415 6.89552 32.5288 5.52436 33.048 3.91C31.688 4.726 30.192 5.287 28.628 5.61C27.5817 4.47537 26.1884 3.72011 24.6667 3.46265C23.1449 3.20519 21.5807 3.46011 20.2194 4.18742C18.8582 4.91474 17.7768 6.0733 17.1449 7.48142C16.513 8.88954 16.3664 10.4676 16.728 11.968C13.9549 11.8247 11.243 11.0998 8.76823 9.84043C6.29346 8.58108 4.11117 6.8154 2.363 4.658C1.46192 6.19488 1.18356 8.01846 1.58508 9.75418C1.98661 11.4899 3.03753 13.006 4.522 13.991C3.417 13.94 2.329 13.651 1.36 13.09V13.175C1.35653 14.7901 1.91405 16.3562 2.93729 17.6058C3.96053 18.8554 5.38596 19.7109 6.97 20.026C5.93906 20.3076 4.85718 20.3483 3.808 20.145C4.25151 21.5313 5.11789 22.744 6.2856 23.6129C7.4533 24.4818 8.86372 24.9634 10.319 24.99C8.87328 26.1262 7.21777 26.9662 5.44716 27.4621C3.67654 27.958 1.82554 28.1 0 27.88C3.19039 29.927 6.90238 31.0129 10.693 31.008"
490
+ }
491
+ ) })
492
+ }
493
+ ),
494
+ /* @__PURE__ */ jsx(
495
+ "a",
496
+ {
497
+ className: "social-link",
498
+ href: "https://cedarjs.com/discord",
499
+ target: "_blank",
500
+ rel: "noopener noreferrer",
501
+ "aria-label": "Go to the CedarJS Discord server",
502
+ children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 36 36", focusable: "false", children: /* @__PURE__ */ jsx(
503
+ "path",
504
+ {
505
+ fill: "currentColor",
506
+ d: "M29.9699 7.7544C27.1043 5.44752 22.5705 5.05656 22.3761 5.04288C22.2284 5.03072 22.0806 5.0648 21.9531 5.1404C21.8257 5.216 21.7249 5.32937 21.6647 5.4648C21.5783 5.65936 21.5049 5.85949 21.4451 6.06384C23.3409 6.38424 25.6694 7.02864 27.7761 8.33616C27.8565 8.38604 27.9262 8.45126 27.9814 8.52809C28.0366 8.60493 28.0761 8.69187 28.0976 8.78397C28.1192 8.87607 28.1224 8.97151 28.1071 9.06485C28.0917 9.15819 28.0582 9.24759 28.0083 9.32796C27.9584 9.40833 27.8932 9.47809 27.8164 9.53325C27.7395 9.58842 27.6526 9.62791 27.5605 9.64947C27.4684 9.67103 27.373 9.67424 27.2796 9.65892C27.1863 9.6436 27.0969 9.61004 27.0165 9.56016C23.3949 7.3116 18.8719 7.2 17.9999 7.2C17.1287 7.2 12.6028 7.31232 8.98338 9.55944C8.90301 9.60932 8.81361 9.64288 8.72027 9.6582C8.62693 9.67352 8.53149 9.67031 8.43939 9.64875C8.25339 9.6052 8.09231 9.48955 7.99158 9.32724C7.89085 9.16493 7.85873 8.96925 7.90227 8.78325C7.94582 8.59725 8.06147 8.43617 8.22378 8.33544C10.3305 7.03152 12.659 6.38424 14.5547 6.06672C14.4453 5.7096 14.3459 5.48424 14.3387 5.4648C14.2788 5.32841 14.1776 5.2143 14.0493 5.13859C13.921 5.06288 13.7721 5.0294 13.6238 5.04288C13.4294 5.05728 8.89554 5.44752 5.99034 7.78536C4.47474 9.18792 1.43994 17.3894 1.43994 24.48C1.43994 24.6067 1.47378 24.7277 1.5357 24.8371C3.62802 28.5163 9.3405 29.4775 10.6423 29.52H10.6646C10.7782 29.5203 10.8903 29.4937 10.9916 29.4424C11.093 29.3911 11.1808 29.3165 11.2478 29.2248L12.5632 27.4133C9.01146 26.4967 7.19706 24.9386 7.09338 24.8458C6.95017 24.7194 6.86303 24.5412 6.85115 24.3506C6.83927 24.1599 6.90361 23.9723 7.03002 23.8291C7.15643 23.6859 7.33456 23.5988 7.52522 23.5869C7.71588 23.575 7.90345 23.6394 8.04666 23.7658C8.08842 23.8054 11.4299 26.64 17.9999 26.64C24.5807 26.64 27.9223 23.7938 27.9561 23.7658C28.0998 23.6403 28.2874 23.5769 28.4777 23.5896C28.668 23.6023 28.8456 23.69 28.9713 23.8334C29.0335 23.9042 29.0812 23.9864 29.1117 24.0756C29.1421 24.1647 29.1546 24.259 29.1486 24.353C29.1426 24.447 29.1181 24.5389 29.0766 24.6235C29.035 24.708 28.9772 24.7836 28.9065 24.8458C28.8028 24.9386 26.9884 26.4967 23.4367 27.4133L24.7528 29.2248C24.8198 29.3164 24.9074 29.3909 25.0087 29.4422C25.1099 29.4935 25.2218 29.5202 25.3353 29.52H25.3569C26.6601 29.4775 32.3719 28.5156 34.4649 24.8371C34.5261 24.7277 34.5599 24.6067 34.5599 24.48C34.5599 17.3894 31.5251 9.18864 29.9699 7.7544V7.7544ZM13.3199 21.6C11.9275 21.6 10.7999 20.3112 10.7999 18.72C10.7999 17.1288 11.9275 15.84 13.3199 15.84C14.7124 15.84 15.8399 17.1288 15.8399 18.72C15.8399 20.3112 14.7124 21.6 13.3199 21.6ZM22.6799 21.6C21.2875 21.6 20.1599 20.3112 20.1599 18.72C20.1599 17.1288 21.2875 15.84 22.6799 15.84C24.0724 15.84 25.1999 17.1288 25.1999 18.72C25.1999 20.3112 24.0724 21.6 22.6799 21.6Z"
507
+ }
508
+ ) })
509
+ }
510
+ )
511
+ ] }),
512
+ version && /* @__PURE__ */ jsxs(Fragment, { children: [
513
+ "Cedar version",
514
+ " ",
515
+ /* @__PURE__ */ jsxs(
516
+ "a",
517
+ {
518
+ href: "https://github.com/cedarjs/cedar/releases",
519
+ target: "_blank",
520
+ rel: "noreferrer",
521
+ children: [
522
+ "v",
523
+ version
524
+ ]
525
+ }
526
+ )
527
+ ] })
528
+ ] })
529
+ ] })
530
+ ] }) }) });
433
531
  };
434
532
  const useVersion = () => {
435
533
  const [version, setVersion] = useState(void 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cedarjs/router",
3
- "version": "8.0.0-canary.3628",
3
+ "version": "8.0.0-canary.3629",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/cedarjs/cedar.git",
@@ -52,15 +52,15 @@
52
52
  "test:watch": "vitest watch"
53
53
  },
54
54
  "dependencies": {
55
- "@cedarjs/project-config": "8.0.0-canary.3628",
56
- "@cedarjs/server-store": "8.0.0-canary.3628",
55
+ "@cedarjs/project-config": "8.0.0-canary.3629",
56
+ "@cedarjs/server-store": "8.0.0-canary.3629",
57
57
  "react-server-dom-webpack": "19.3.1",
58
58
  "ts-toolbelt": "9.6.0"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@arethetypeswrong/cli": "0.18.5",
62
- "@cedarjs/auth": "8.0.0-canary.3628",
63
- "@cedarjs/framework-tools": "8.0.0-canary.3628",
62
+ "@cedarjs/auth": "8.0.0-canary.3629",
63
+ "@cedarjs/framework-tools": "8.0.0-canary.3629",
64
64
  "@testing-library/jest-dom": "6.9.1",
65
65
  "@types/react": "^19.2.0",
66
66
  "@types/react-dom": "^19.2.0",
@@ -74,7 +74,7 @@
74
74
  "vitest": "5.1.0"
75
75
  },
76
76
  "peerDependencies": {
77
- "@cedarjs/auth": "8.0.0-canary.3628",
77
+ "@cedarjs/auth": "8.0.0-canary.3629",
78
78
  "react": "19.3.1",
79
79
  "react-dom": "19.3.1"
80
80
  },