@tooee/router 0.1.11 → 0.1.12
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/context.d.ts.map +1 -1
- package/dist/context.js.map +1 -1
- package/dist/focus.d.ts +1 -1
- package/dist/focus.d.ts.map +1 -1
- package/dist/focus.js +1 -1
- package/dist/focus.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +1 -1
- package/dist/loader.js.map +1 -1
- package/dist/outlet.d.ts.map +1 -1
- package/dist/outlet.js +3 -1
- package/dist/outlet.js.map +1 -1
- package/dist/stack.d.ts.map +1 -1
- package/dist/stack.js +1 -4
- package/dist/stack.js.map +1 -1
- package/package.json +16 -16
- package/src/context.tsx +2 -7
- package/src/focus.tsx +7 -1
- package/src/index.ts +1 -5
- package/src/loader.tsx +1 -7
- package/src/outlet.tsx +7 -2
- package/src/stack.ts +1 -4
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAM5D,eAAO,MAAM,sBAAsB,iCAA2B,CAAA;AAI9D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,YAAY,EACZ,aAAa,EACb,QAAQ,GACT,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAM5D,eAAO,MAAM,sBAAsB,iCAA2B,CAAA;AAI9D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,YAAY,EACZ,aAAa,EACb,QAAQ,GACT,EAAE,mBAAmB,aAcrB;AAID,wBAAgB,iBAAiB,IAAI,cAAc,CAIlD;AAED,wBAAgB,cAAc,IAAI,SAAS,UAAU,EAAE,CAEtD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAIlF,WAAW;AAEX,MAAM,qBAAqB,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAA;AACxE,MAAM,kBAAkB,GAAG,aAAa,CAAwB,EAAE,CAAC,CAAA;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAS,CAAC,CAAC,CAAA;AAW9D,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,YAAY,EACZ,aAAa,EACb,QAAQ,GACY;IACpB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACjE,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,gBAAgB;IAEvB,MAAM,KAAK,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAIlF,WAAW;AAEX,MAAM,qBAAqB,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAA;AACxE,MAAM,kBAAkB,GAAG,aAAa,CAAwB,EAAE,CAAC,CAAA;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAS,CAAC,CAAC,CAAA;AAW9D,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,YAAY,EACZ,aAAa,EACb,QAAQ,GACY;IACpB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACjE,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,gBAAgB;IAEvB,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAExE,OAAO,CACL,KAAC,qBAAqB,IAAC,KAAK,EAAE,MAAM,YAClC,KAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAsB,GAC3C,CACzB,CAAA;AACH,CAAC;AAED,iBAAiB;AAEjB,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAA;IAC7C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACjF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,UAAU,CAAC,sBAAsB,CAAC,CAAA;AAC3C,CAAC"}
|
package/dist/focus.d.ts
CHANGED
package/dist/focus.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../src/focus.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,wBAAgB,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../src/focus.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;CACpB,aAGA;AAED,wBAAgB,cAAc;;EAE7B;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,QAQhE"}
|
package/dist/focus.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@opentui/react/jsx-runtime";
|
|
2
2
|
import { createContext, useContext, useEffect, useMemo, useRef } from "react";
|
|
3
3
|
const ScreenFocusContext = createContext({ isFocused: false });
|
|
4
|
-
export function ScreenFocusProvider({ active, children }) {
|
|
4
|
+
export function ScreenFocusProvider({ active, children, }) {
|
|
5
5
|
const value = useMemo(() => ({ isFocused: active }), [active]);
|
|
6
6
|
return _jsx(ScreenFocusContext, { value: value, children: children });
|
|
7
7
|
}
|
package/dist/focus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus.js","sourceRoot":"","sources":["../src/focus.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG7E,MAAM,kBAAkB,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;AAE9D,MAAM,UAAU,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"focus.js","sourceRoot":"","sources":["../src/focus.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAG7E,MAAM,kBAAkB,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;AAE9D,MAAM,UAAU,mBAAmB,CAAC,EAClC,MAAM,EACN,QAAQ,GAIT;IACC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9D,OAAO,KAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAsB,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAiC;IAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAA;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAA;IAC1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,OAAO,SAAS,CAAC,OAAO,EAAE,CAAA;IAC5B,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;AACjB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { RouterProvider } from "./context.js";
|
|
|
6
6
|
export type { RouterProviderProps } from "./context.js";
|
|
7
7
|
export { Outlet, getRouteChain } from "./outlet.js";
|
|
8
8
|
export { useNavigate, useParams, useRouteData, useCurrentRoute, useCanGoBack, useRouter, useScreenState, useActionResultHandler, } from "./hooks.js";
|
|
9
|
-
export type { NavigateResult, BackResult, ActionNavigationResult
|
|
9
|
+
export type { NavigateResult, BackResult, ActionNavigationResult } from "./action-types.js";
|
|
10
10
|
export { ScreenFocusProvider, useScreenFocus, useScreenEffect } from "./focus.js";
|
|
11
11
|
export { StateCache } from "./state-cache.js";
|
|
12
12
|
export { useRouterCommands } from "./command-scope.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAA;AACnB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC3F,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/loader.d.ts
CHANGED
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,wBAAgB,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,aAE3F;AAED,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,SAAS,CAEhE"}
|
package/dist/loader.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "@opentui/react/jsx-runtime";
|
|
|
2
2
|
import { createContext, useContext } from "react";
|
|
3
3
|
// Context for route loader data
|
|
4
4
|
const RouteDataContext = createContext(undefined);
|
|
5
|
-
export function RouteDataProvider({ data, children
|
|
5
|
+
export function RouteDataProvider({ data, children }) {
|
|
6
6
|
return _jsx(RouteDataContext, { value: data, children: children });
|
|
7
7
|
}
|
|
8
8
|
export function useRouteDataContext() {
|
package/dist/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGjD,gCAAgC;AAEhC,MAAM,gBAAgB,GAAG,aAAa,CAAU,SAAS,CAAC,CAAA;AAE1D,MAAM,UAAU,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGjD,gCAAgC;AAEhC,MAAM,gBAAgB,GAAG,aAAa,CAAU,SAAS,CAAC,CAAA;AAE1D,MAAM,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAA0C;IAC1F,OAAO,KAAC,gBAAgB,IAAC,KAAK,EAAE,IAAI,YAAG,QAAQ,GAAoB,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,gBAAgB,CAAkB,CAAA;AACtD,CAAC"}
|
package/dist/outlet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outlet.d.ts","sourceRoot":"","sources":["../src/outlet.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,YAAY,CAAA;AAW7D,wBAAgB,aAAa,CAC3B,QAAQ,EAAE;IAAE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAA;CAAE,EAC1D,OAAO,EAAE,MAAM,GACd,eAAe,EAAE,CAQnB;
|
|
1
|
+
{"version":3,"file":"outlet.d.ts","sourceRoot":"","sources":["../src/outlet.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,eAAe,EAAc,MAAM,YAAY,CAAA;AAW7D,wBAAgB,aAAa,CAC3B,QAAQ,EAAE;IAAE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAA;CAAE,EAC1D,OAAO,EAAE,MAAM,GACd,eAAe,EAAE,CAQnB;AA0DD,wBAAgB,MAAM,cAwCrB"}
|
package/dist/outlet.js
CHANGED
|
@@ -40,7 +40,9 @@ function RouteRenderer({ entry, routeDef, children, }) {
|
|
|
40
40
|
setLoading(false);
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
|
-
return () => {
|
|
43
|
+
return () => {
|
|
44
|
+
cancelled = true;
|
|
45
|
+
};
|
|
44
46
|
}, [entry, routeDef.loader]);
|
|
45
47
|
if (error && routeDef.errorComponent) {
|
|
46
48
|
return createElement(routeDef.errorComponent, { error });
|
package/dist/outlet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outlet.js","sourceRoot":"","sources":["../src/outlet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGrF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,yBAAyB;AAEzB,MAAM,kBAAkB,GAAG,aAAa,CAAS,CAAC,CAAC,CAAA;AAEnD,yDAAyD;AAEzD,MAAM,UAAU,aAAa,CAC3B,QAA0D,EAC1D,OAAe;IAEf,MAAM,KAAK,GAAsB,EAAE,CAAA;IACnC,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACnC,OAAO,OAAO,EAAE,CAAC;QACf,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACtB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAA;IAC1B,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,sDAAsD;AAEtD,SAAS,aAAa,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,QAAQ,GAKT;IACC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAU,SAAS,CAAC,CAAA;IACpD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAA;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAM;QAC5B,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,QAAQ;aACL,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;aAChC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"outlet.js","sourceRoot":"","sources":["../src/outlet.tsx"],"names":[],"mappings":"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"}
|
package/dist/stack.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE3D,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE3D,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,WAAW,CAqBlF"}
|
package/dist/stack.js
CHANGED
|
@@ -2,10 +2,7 @@ export function stackReducer(state, action) {
|
|
|
2
2
|
switch (action.type) {
|
|
3
3
|
case "push":
|
|
4
4
|
return {
|
|
5
|
-
stack: [
|
|
6
|
-
...state.stack,
|
|
7
|
-
{ routeId: action.routeId, params: action.params ?? {} },
|
|
8
|
-
],
|
|
5
|
+
stack: [...state.stack, { routeId: action.routeId, params: action.params ?? {} }],
|
|
9
6
|
};
|
|
10
7
|
case "pop":
|
|
11
8
|
if (state.stack.length <= 1)
|
package/dist/stack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,KAAkB,EAAE,MAAoB;IACnE,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO;gBACL,KAAK,EAAE
|
|
1
|
+
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,KAAkB,EAAE,MAAoB;IACnE,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO;gBACL,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;aAClF,CAAA;QACH,KAAK,KAAK;YACR,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAA;YACzC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5C,KAAK,SAAS;YACZ,OAAO;gBACL,KAAK,EAAE;oBACL,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3B,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE;iBACzD;aACF,CAAA;QACH,KAAK,OAAO;YACV,OAAO;gBACL,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;aAClE,CAAA;IACL,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tooee/router",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"description": "Stack-based router for Tooee terminal apps",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"cli",
|
|
7
|
+
"navigation",
|
|
8
|
+
"opentui",
|
|
9
|
+
"router",
|
|
10
|
+
"terminal",
|
|
11
|
+
"tui"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://github.com/gingerhendrix/tooee",
|
|
14
|
+
"bugs": "https://github.com/gingerhendrix/tooee/issues",
|
|
5
15
|
"license": "MIT",
|
|
6
16
|
"author": "Gareth Andrew",
|
|
7
17
|
"repository": {
|
|
@@ -9,15 +19,9 @@
|
|
|
9
19
|
"url": "https://github.com/gingerhendrix/tooee.git",
|
|
10
20
|
"directory": "packages/router"
|
|
11
21
|
},
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"tui",
|
|
16
|
-
"terminal",
|
|
17
|
-
"cli",
|
|
18
|
-
"opentui",
|
|
19
|
-
"router",
|
|
20
|
-
"navigation"
|
|
22
|
+
"files": [
|
|
23
|
+
"dist",
|
|
24
|
+
"src"
|
|
21
25
|
],
|
|
22
26
|
"type": "module",
|
|
23
27
|
"exports": {
|
|
@@ -28,17 +32,13 @@
|
|
|
28
32
|
}
|
|
29
33
|
}
|
|
30
34
|
},
|
|
31
|
-
"files": [
|
|
32
|
-
"dist",
|
|
33
|
-
"src"
|
|
34
|
-
],
|
|
35
35
|
"scripts": {
|
|
36
36
|
"typecheck": "tsc --noEmit"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@opentui/core": "^0.1.86",
|
|
40
40
|
"@opentui/react": "^0.1.86",
|
|
41
|
-
"@tooee/commands": "0.1.
|
|
41
|
+
"@tooee/commands": "0.1.12",
|
|
42
42
|
"@types/bun": "^1.3.10",
|
|
43
43
|
"@types/react": "^19.2.14",
|
|
44
44
|
"typescript": "^5.9.3"
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"@opentui/core": "^0.1.86",
|
|
48
48
|
"@opentui/react": "^0.1.86",
|
|
49
|
-
"@tooee/commands": "0.1.
|
|
49
|
+
"@tooee/commands": "0.1.12",
|
|
50
50
|
"react": "^18.0.0 || ^19.0.0"
|
|
51
51
|
}
|
|
52
52
|
}
|
package/src/context.tsx
CHANGED
|
@@ -29,16 +29,11 @@ export function RouterProvider({
|
|
|
29
29
|
}
|
|
30
30
|
}, []) // only on mount
|
|
31
31
|
|
|
32
|
-
const stack = useSyncExternalStore(
|
|
33
|
-
router.subscribe,
|
|
34
|
-
() => router.stack,
|
|
35
|
-
)
|
|
32
|
+
const stack = useSyncExternalStore(router.subscribe, () => router.stack)
|
|
36
33
|
|
|
37
34
|
return (
|
|
38
35
|
<RouterInstanceContext value={router}>
|
|
39
|
-
<RouterStackContext value={stack}>
|
|
40
|
-
{children}
|
|
41
|
-
</RouterStackContext>
|
|
36
|
+
<RouterStackContext value={stack}>{children}</RouterStackContext>
|
|
42
37
|
</RouterInstanceContext>
|
|
43
38
|
)
|
|
44
39
|
}
|
package/src/focus.tsx
CHANGED
|
@@ -3,7 +3,13 @@ import type { ReactNode } from "react"
|
|
|
3
3
|
|
|
4
4
|
const ScreenFocusContext = createContext({ isFocused: false })
|
|
5
5
|
|
|
6
|
-
export function ScreenFocusProvider({
|
|
6
|
+
export function ScreenFocusProvider({
|
|
7
|
+
active,
|
|
8
|
+
children,
|
|
9
|
+
}: {
|
|
10
|
+
active: boolean
|
|
11
|
+
children: ReactNode
|
|
12
|
+
}) {
|
|
7
13
|
const value = useMemo(() => ({ isFocused: active }), [active])
|
|
8
14
|
return <ScreenFocusContext value={value}>{children}</ScreenFocusContext>
|
|
9
15
|
}
|
package/src/index.ts
CHANGED
|
@@ -23,11 +23,7 @@ export {
|
|
|
23
23
|
useScreenState,
|
|
24
24
|
useActionResultHandler,
|
|
25
25
|
} from "./hooks.js"
|
|
26
|
-
export type {
|
|
27
|
-
NavigateResult,
|
|
28
|
-
BackResult,
|
|
29
|
-
ActionNavigationResult,
|
|
30
|
-
} from "./action-types.js"
|
|
26
|
+
export type { NavigateResult, BackResult, ActionNavigationResult } from "./action-types.js"
|
|
31
27
|
export { ScreenFocusProvider, useScreenFocus, useScreenEffect } from "./focus.js"
|
|
32
28
|
export { StateCache } from "./state-cache.js"
|
|
33
29
|
export { useRouterCommands } from "./command-scope.js"
|
package/src/loader.tsx
CHANGED
|
@@ -5,13 +5,7 @@ import type { ReactNode } from "react"
|
|
|
5
5
|
|
|
6
6
|
const RouteDataContext = createContext<unknown>(undefined)
|
|
7
7
|
|
|
8
|
-
export function RouteDataProvider({
|
|
9
|
-
data,
|
|
10
|
-
children,
|
|
11
|
-
}: {
|
|
12
|
-
data: unknown
|
|
13
|
-
children: ReactNode
|
|
14
|
-
}) {
|
|
8
|
+
export function RouteDataProvider({ data, children }: { data: unknown; children: ReactNode }) {
|
|
15
9
|
return <RouteDataContext value={data}>{children}</RouteDataContext>
|
|
16
10
|
}
|
|
17
11
|
|
package/src/outlet.tsx
CHANGED
|
@@ -47,7 +47,10 @@ function RouteRenderer({
|
|
|
47
47
|
routeDef
|
|
48
48
|
.loader({ params: entry.params })
|
|
49
49
|
.then((result) => {
|
|
50
|
-
if (!cancelled) {
|
|
50
|
+
if (!cancelled) {
|
|
51
|
+
setData(result)
|
|
52
|
+
setLoading(false)
|
|
53
|
+
}
|
|
51
54
|
})
|
|
52
55
|
.catch((err) => {
|
|
53
56
|
if (!cancelled) {
|
|
@@ -55,7 +58,9 @@ function RouteRenderer({
|
|
|
55
58
|
setLoading(false)
|
|
56
59
|
}
|
|
57
60
|
})
|
|
58
|
-
return () => {
|
|
61
|
+
return () => {
|
|
62
|
+
cancelled = true
|
|
63
|
+
}
|
|
59
64
|
}, [entry, routeDef.loader])
|
|
60
65
|
|
|
61
66
|
if (error && routeDef.errorComponent) {
|
package/src/stack.ts
CHANGED
|
@@ -4,10 +4,7 @@ export function stackReducer(state: RouterState, action: RouterAction): RouterSt
|
|
|
4
4
|
switch (action.type) {
|
|
5
5
|
case "push":
|
|
6
6
|
return {
|
|
7
|
-
stack: [
|
|
8
|
-
...state.stack,
|
|
9
|
-
{ routeId: action.routeId, params: action.params ?? {} },
|
|
10
|
-
],
|
|
7
|
+
stack: [...state.stack, { routeId: action.routeId, params: action.params ?? {} }],
|
|
11
8
|
}
|
|
12
9
|
case "pop":
|
|
13
10
|
if (state.stack.length <= 1) return state
|