piral-core 1.0.2 → 1.1.0-beta.5756

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/app.codegen.d.ts +1 -1
  2. package/dist/codegen.js +60 -24
  3. package/esm/Piral.js +1 -2
  4. package/esm/Piral.js.map +1 -1
  5. package/esm/components/PiralRoutes.js +10 -1
  6. package/esm/components/PiralRoutes.js.map +1 -1
  7. package/esm/components/wrapComponent.js +1 -2
  8. package/esm/components/wrapComponent.js.map +1 -1
  9. package/esm/defaults/DefaultErrorInfo.js +2 -1
  10. package/esm/defaults/DefaultErrorInfo.js.map +1 -1
  11. package/esm/defaults/navigator_none.d.ts +1 -1
  12. package/esm/defaults/navigator_none.js +2 -1
  13. package/esm/defaults/navigator_none.js.map +1 -1
  14. package/esm/defaults/navigator_v5.d.ts +1 -1
  15. package/esm/defaults/navigator_v5.js +2 -1
  16. package/esm/defaults/navigator_v5.js.map +1 -1
  17. package/esm/defaults/navigator_v6.d.ts +1 -1
  18. package/esm/defaults/navigator_v6.js +2 -1
  19. package/esm/defaults/navigator_v6.js.map +1 -1
  20. package/esm/hooks/index.d.ts +0 -1
  21. package/esm/hooks/index.js +0 -1
  22. package/esm/hooks/index.js.map +1 -1
  23. package/esm/state/createActions.js +2 -2
  24. package/esm/state/createActions.js.map +1 -1
  25. package/esm/tools/codegen.js +51 -13
  26. package/esm/tools/codegen.js.map +1 -1
  27. package/esm/types/navigation.d.ts +4 -0
  28. package/lib/Piral.js +1 -2
  29. package/lib/Piral.js.map +1 -1
  30. package/lib/components/PiralRoutes.js +10 -1
  31. package/lib/components/PiralRoutes.js.map +1 -1
  32. package/lib/components/wrapComponent.js +1 -2
  33. package/lib/components/wrapComponent.js.map +1 -1
  34. package/lib/defaults/DefaultErrorInfo.js +3 -2
  35. package/lib/defaults/DefaultErrorInfo.js.map +1 -1
  36. package/lib/defaults/navigator_none.d.ts +1 -1
  37. package/lib/defaults/navigator_none.js +2 -1
  38. package/lib/defaults/navigator_none.js.map +1 -1
  39. package/lib/defaults/navigator_v5.d.ts +1 -1
  40. package/lib/defaults/navigator_v5.js +2 -1
  41. package/lib/defaults/navigator_v5.js.map +1 -1
  42. package/lib/defaults/navigator_v6.d.ts +1 -1
  43. package/lib/defaults/navigator_v6.js +2 -1
  44. package/lib/defaults/navigator_v6.js.map +1 -1
  45. package/lib/hooks/index.d.ts +0 -1
  46. package/lib/hooks/index.js +0 -1
  47. package/lib/hooks/index.js.map +1 -1
  48. package/lib/state/createActions.js +1 -1
  49. package/lib/state/createActions.js.map +1 -1
  50. package/lib/tools/codegen.js +51 -13
  51. package/lib/tools/codegen.js.map +1 -1
  52. package/lib/types/navigation.d.ts +4 -0
  53. package/package.json +4 -4
  54. package/src/Piral.tsx +1 -2
  55. package/src/components/PiralRoutes.test.tsx +13 -22
  56. package/src/components/PiralRoutes.tsx +14 -2
  57. package/src/components/wrapComponent.tsx +1 -2
  58. package/src/defaults/DefaultErrorInfo.tsx +2 -1
  59. package/src/defaults/navigator_none.tsx +2 -1
  60. package/src/defaults/navigator_v5.tsx +2 -1
  61. package/src/defaults/navigator_v6.tsx +2 -1
  62. package/src/hooks/index.ts +0 -1
  63. package/src/state/createActions.ts +2 -2
  64. package/src/tools/codegen.ts +59 -13
  65. package/src/types/navigation.ts +4 -0
  66. package/esm/hooks/routes.d.ts +0 -2
  67. package/esm/hooks/routes.js +0 -11
  68. package/esm/hooks/routes.js.map +0 -1
  69. package/lib/hooks/routes.d.ts +0 -2
  70. package/lib/hooks/routes.js +0 -15
  71. package/lib/hooks/routes.js.map +0 -1
  72. package/src/hooks/routes.ts +0 -14
@@ -6,7 +6,6 @@ const PortalRenderer_1 = require("./PortalRenderer");
6
6
  const ForeignComponentContainer_1 = require("./ForeignComponentContainer");
7
7
  const hooks_1 = require("../hooks");
8
8
  const utils_1 = require("../utils");
9
- const app_codegen_1 = require("../../app.codegen");
10
9
  // this is an arbitrary start number to have 6 digits
11
10
  let portalIdBase = 123456;
12
11
  function wrapReactComponent(Component, captured, Wrapper) {
@@ -18,7 +17,7 @@ function wrapForeignComponent(component, captured, Wrapper) {
18
17
  const { destroyPortal, navigation } = (0, hooks_1.useGlobalStateContext)();
19
18
  const id = React.useMemo(() => (portalIdBase++).toString(26), utils_1.none);
20
19
  // router added for backwards compatibility
21
- const context = React.useMemo(() => ({ publicPath: app_codegen_1.publicPath, navigation, router: navigation.router }), []);
20
+ const context = React.useMemo(() => ({ publicPath: navigation.publicPath, navigation, router: navigation.router }), []);
22
21
  const innerProps = React.useMemo(() => (Object.assign(Object.assign({}, props), captured)), [props]);
23
22
  React.useEffect(() => () => destroyPortal(id), utils_1.none);
24
23
  return (React.createElement(Wrapper, Object.assign({}, props),
@@ -1 +1 @@
1
- {"version":3,"file":"wrapComponent.js","sourceRoot":"","sources":["../../src/components/wrapComponent.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,qDAAkD;AAClD,2EAAwE;AACxE,oCAAiD;AACjD,oCAAkD;AAClD,mDAA+C;AAG/C,qDAAqD;AACrD,IAAI,YAAY,GAAG,MAAM,CAAC;AAM1B,SAAS,kBAAkB,CACzB,SAAsD,EACtD,QAAuB,EACvB,OAAoB;IAEpB,OAAO,CAAC,KAAQ,EAAE,EAAE,CAAC,CACnB,oBAAC,OAAO,oBAAK,KAAK;QAChB,oBAAC,SAAS,oBAAK,KAAK,EAAM,QAAQ,EAAI,CAC9B,CACX,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAAmD,EACnD,QAAuB,EACvB,OAAoB;IAEpB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAQ,EAAE,EAAE;QAC7B,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAA,6BAAqB,GAAE,CAAC;QAC9D,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,YAAI,CAAC,CAAC;QACpE,2CAA2C;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAV,wBAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjG,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,iCAAM,KAAK,GAAK,QAAQ,EAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,YAAI,CAAC,CAAC;QAErD,OAAO,CACL,oBAAC,OAAO,oBAAK,KAAK;YAChB,oBAAC,+BAAc,IAAC,EAAE,EAAE,EAAE,GAAI;YAC1B,oBAAC,qDAAyB,IAAC,UAAU,EAAE,UAAU,eAAa,EAAE,gBAAc,SAAS,cAAY,OAAO,GAAI,CACtG,CACX,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,SAAc;IACjC,OAAO,CAAE,SAAmC,CAAC,QAAQ,CAAC;AACxD,CAAC;AAED,SAAgB,aAAa,CAC3B,UAAuD,EACvD,SAA+C,EAC/C,QAAuB,EACvB,OAAoB;IAEpB,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,6CAA6C,CAAC,CAAC;QACtE,2CAA2C;QAC3C,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;KACxB;IAED,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE;QAC3D,MAAM,MAAM,GAAG,IAAA,wBAAgB,EAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QACvE,OAAO,oBAAoB,CAAI,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC3D;IAED,OAAO,kBAAkB,CAAI,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAnBD,sCAmBC"}
1
+ {"version":3,"file":"wrapComponent.js","sourceRoot":"","sources":["../../src/components/wrapComponent.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,qDAAkD;AAClD,2EAAwE;AACxE,oCAAiD;AACjD,oCAAkD;AAGlD,qDAAqD;AACrD,IAAI,YAAY,GAAG,MAAM,CAAC;AAM1B,SAAS,kBAAkB,CACzB,SAAsD,EACtD,QAAuB,EACvB,OAAoB;IAEpB,OAAO,CAAC,KAAQ,EAAE,EAAE,CAAC,CACnB,oBAAC,OAAO,oBAAK,KAAK;QAChB,oBAAC,SAAS,oBAAK,KAAK,EAAM,QAAQ,EAAI,CAC9B,CACX,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAAmD,EACnD,QAAuB,EACvB,OAAoB;IAEpB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAQ,EAAE,EAAE;QAC7B,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAA,6BAAqB,GAAE,CAAC;QAC9D,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,YAAI,CAAC,CAAC;QACpE,2CAA2C;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACxH,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,iCAAM,KAAK,GAAK,QAAQ,EAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,YAAI,CAAC,CAAC;QAErD,OAAO,CACL,oBAAC,OAAO,oBAAK,KAAK;YAChB,oBAAC,+BAAc,IAAC,EAAE,EAAE,EAAE,GAAI;YAC1B,oBAAC,qDAAyB,IAAC,UAAU,EAAE,UAAU,eAAa,EAAE,gBAAc,SAAS,cAAY,OAAO,GAAI,CACtG,CACX,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,SAAc;IACjC,OAAO,CAAE,SAAmC,CAAC,QAAQ,CAAC;AACxD,CAAC;AAED,SAAgB,aAAa,CAC3B,UAAuD,EACvD,SAA+C,EAC/C,QAAuB,EACvB,OAAoB;IAEpB,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,6CAA6C,CAAC,CAAC;QACtE,2CAA2C;QAC3C,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;KACxB;IAED,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE;QAC3D,MAAM,MAAM,GAAG,IAAA,wBAAgB,EAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QACvE,OAAO,oBAAoB,CAAI,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC3D;IAED,OAAO,kBAAkB,CAAI,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAnBD,sCAmBC"}
@@ -2,13 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultErrorInfo = void 0;
4
4
  const React = require("react");
5
- const components_1 = require("../components");
5
+ const ExtensionSlot_1 = require("../components/ExtensionSlot");
6
+ const SwitchErrorInfo_1 = require("../components/SwitchErrorInfo");
6
7
  /**
7
8
  * The default error info component. Just uses the "error" extension slot.
8
9
  * Leverage the default one by registration of respective extensions using
9
10
  * the "error" name.
10
11
  */
11
- const DefaultErrorInfo = (props) => (React.createElement(components_1.ExtensionSlot, { name: "error", params: props, empty: () => React.createElement(components_1.SwitchErrorInfo, Object.assign({}, props)) }));
12
+ const DefaultErrorInfo = (props) => (React.createElement(ExtensionSlot_1.ExtensionSlot, { name: "error", params: props, empty: () => React.createElement(SwitchErrorInfo_1.SwitchErrorInfo, Object.assign({}, props)) }));
12
13
  exports.DefaultErrorInfo = DefaultErrorInfo;
13
14
  exports.DefaultErrorInfo.displayName = 'DefaultErrorInfo';
14
15
  //# sourceMappingURL=DefaultErrorInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultErrorInfo.js","sourceRoot":"","sources":["../../src/defaults/DefaultErrorInfo.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,8CAA+D;AAG/D;;;;GAIG;AACI,MAAM,gBAAgB,GAA6B,CAAC,KAAK,EAAE,EAAE,CAAC,CACnE,oBAAC,0BAAa,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,oBAAC,4BAAe,oBAAK,KAAK,EAAI,GAAI,CAC3F,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AACF,wBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"DefaultErrorInfo.js","sourceRoot":"","sources":["../../src/defaults/DefaultErrorInfo.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,+DAA4D;AAC5D,mEAAgE;AAGhE;;;;GAIG;AACI,MAAM,gBAAgB,GAA6B,CAAC,KAAK,EAAE,EAAE,CAAC,CACnE,oBAAC,6BAAa,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,oBAAC,iCAAe,oBAAK,KAAK,EAAI,GAAI,CAC3F,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AACF,wBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC"}
@@ -2,4 +2,4 @@ import { NavigationApi } from '../types';
2
2
  export declare function useRouterContext(): any;
3
3
  export declare function useCurrentNavigation(): void;
4
4
  export declare function createRedirect(): () => any;
5
- export declare function createNavigation(): NavigationApi;
5
+ export declare function createNavigation(publicPath: string): NavigationApi;
@@ -12,7 +12,7 @@ function createRedirect() {
12
12
  return () => null;
13
13
  }
14
14
  exports.createRedirect = createRedirect;
15
- function createNavigation() {
15
+ function createNavigation(publicPath) {
16
16
  return {
17
17
  get path() {
18
18
  return location.pathname;
@@ -31,6 +31,7 @@ function createNavigation() {
31
31
  return _noop;
32
32
  },
33
33
  router: undefined,
34
+ publicPath,
34
35
  };
35
36
  }
36
37
  exports.createNavigation = createNavigation;
@@ -1 +1 @@
1
- {"version":3,"file":"navigator_none.js","sourceRoot":"","sources":["../../src/defaults/navigator_none.tsx"],"names":[],"mappings":";;;AAEA,MAAM,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvB,SAAgB,gBAAgB;IAC9B,OAAO,SAAS,CAAC;AACnB,CAAC;AAFD,4CAEC;AAED,SAAgB,oBAAoB,KAAI,CAAC;AAAzC,oDAAyC;AAEzC,SAAgB,cAAc;IAC5B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;AACpB,CAAC;AAFD,wCAEC;AAED,SAAgB,gBAAgB;IAC9B,OAAO;QACL,IAAI,IAAI;YACN,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG;YACL,MAAM,GAAG,GAAG,QAAQ,CAAC;YACrB,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK,IAAG,CAAC;QACtB,OAAO,CAAC,MAAM,EAAE,KAAK,IAAG,CAAC;QACzB,EAAE,CAAC,CAAC,IAAG,CAAC;QACR,KAAK,CAAC,OAAO;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,QAAQ;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AApBD,4CAoBC"}
1
+ {"version":3,"file":"navigator_none.js","sourceRoot":"","sources":["../../src/defaults/navigator_none.tsx"],"names":[],"mappings":";;;AAEA,MAAM,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvB,SAAgB,gBAAgB;IAC9B,OAAO,SAAS,CAAC;AACnB,CAAC;AAFD,4CAEC;AAED,SAAgB,oBAAoB,KAAI,CAAC;AAAzC,oDAAyC;AAEzC,SAAgB,cAAc;IAC5B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;AACpB,CAAC;AAFD,wCAEC;AAED,SAAgB,gBAAgB,CAAC,UAAkB;IACjD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAC3B,CAAC;QACD,IAAI,GAAG;YACL,MAAM,GAAG,GAAG,QAAQ,CAAC;YACrB,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK,IAAG,CAAC;QACtB,OAAO,CAAC,MAAM,EAAE,KAAK,IAAG,CAAC;QACzB,EAAE,CAAC,CAAC,IAAG,CAAC;QACR,KAAK,CAAC,OAAO;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,QAAQ;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,SAAS;QACjB,UAAU;KACX,CAAC;AACJ,CAAC;AArBD,4CAqBC"}
@@ -3,4 +3,4 @@ import { NavigationApi } from '../types';
3
3
  export declare function useRouterContext(): import("react-router").RouteComponentProps<{}, import("react-router").StaticContext, unknown>;
4
4
  export declare function useCurrentNavigation(): void;
5
5
  export declare function createRedirect(to: string): () => JSX.Element;
6
- export declare function createNavigation(): NavigationApi;
6
+ export declare function createNavigation(publicPath: string): NavigationApi;
@@ -33,7 +33,7 @@ function createRedirect(to) {
33
33
  return () => React.createElement(react_router_1.Redirect, { to: to });
34
34
  }
35
35
  exports.createRedirect = createRedirect;
36
- function createNavigation() {
36
+ function createNavigation(publicPath) {
37
37
  const enhance = (location, action) => ({
38
38
  action,
39
39
  location: Object.assign({ get href() {
@@ -82,6 +82,7 @@ function createNavigation() {
82
82
  return _nav;
83
83
  },
84
84
  },
85
+ publicPath,
85
86
  };
86
87
  }
87
88
  exports.createNavigation = createNavigation;
@@ -1 +1 @@
1
- {"version":3,"file":"navigator_v5.js","sourceRoot":"","sources":["../../src/defaults/navigator_v5.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigator_v5.js","sourceRoot":"","sources":["../../src/defaults/navigator_v5.tsx"],"names":[],"mappings":"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"}
@@ -3,4 +3,4 @@ import { NavigationApi } from '../types';
3
3
  export declare function useRouterContext(): unknown;
4
4
  export declare function useCurrentNavigation(): void;
5
5
  export declare function createRedirect(to: string): () => JSX.Element;
6
- export declare function createNavigation(): NavigationApi;
6
+ export declare function createNavigation(publicPath: string): NavigationApi;
@@ -34,7 +34,7 @@ function createRedirect(to) {
34
34
  return () => React.createElement(react_router_1.Navigate, { to: to });
35
35
  }
36
36
  exports.createRedirect = createRedirect;
37
- function createNavigation() {
37
+ function createNavigation(publicPath) {
38
38
  const enhance = (info) => (Object.assign(Object.assign({}, info), { location: Object.assign({ get href() {
39
39
  return _nav.createHref(info.location);
40
40
  } }, info.location) }));
@@ -78,6 +78,7 @@ function createNavigation() {
78
78
  get router() {
79
79
  return _nav;
80
80
  },
81
+ publicPath,
81
82
  };
82
83
  }
83
84
  exports.createNavigation = createNavigation;
@@ -1 +1 @@
1
- {"version":3,"file":"navigator_v6.js","sourceRoot":"","sources":["../../src/defaults/navigator_v6.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigator_v6.js","sourceRoot":"","sources":["../../src/defaults/navigator_v6.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,YAAY;AACZ,+CAAgG;AAGhG,IAAI,IAAS,CAAC;AACd,MAAM,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvB,SAAgB,gBAAgB;IAC9B,OAAO,KAAK,CAAC,UAAU,CAAC,uCAAa,CAAC,CAAC;AACzC,CAAC;AAFD,4CAEC;AAED,SAAgB,oBAAoB;IAClC,MAAM,GAAG,GAAQ,gBAAgB,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAE/B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,IAAI,EAAE;YACR,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,gBAAgB,EAAE;gBAChC,MAAM,EAAE;oBACN,QAAQ;iBACT;aACF,CAAC,CACH,CAAC;SACH;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;QAErB,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAvBD,oDAuBC;AAED,SAAgB,cAAc,CAAC,EAAU;IACvC,OAAO,GAAG,EAAE,CAAC,oBAAC,uBAAQ,IAAC,EAAE,EAAE,EAAE,GAAI,CAAC;AACpC,CAAC;AAFD,wCAEC;AAED,SAAgB,gBAAgB,CAAC,UAAkB;IACjD,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,iCACrB,IAAI,KACP,QAAQ,kBACN,IAAI,IAAI;gBACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC,IACE,IAAI,CAAC,QAAQ,KAElB,CAAC;IAEH,OAAO;QACL,IAAI,IAAI;YACN,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5C,OAAO,GAAG,CAAC,QAAQ,CAAC;QACtB,CAAC;QACD,IAAI,GAAG;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC5C,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK;YAChB,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aAC1B;QACH,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,KAAK;YACnB,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aAC7B;QACH,CAAC;QACD,EAAE,CAAC,CAAC;YACF,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACZ;QACH,CAAC;QACD,KAAK,CAAC,OAAO;YACX,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,CAAC,QAAQ;YACb,MAAM,OAAO,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAEhE,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAEnD,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,MAAM;YACR,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU;KACX,CAAC;AACJ,CAAC;AAvDD,4CAuDC"}
@@ -3,6 +3,5 @@ export * from './actions';
3
3
  export * from './globalState';
4
4
  export * from './piletApi';
5
5
  export * from './media';
6
- export * from './routes';
7
6
  export * from './setter';
8
7
  export * from './sharedData';
@@ -6,7 +6,6 @@ tslib_1.__exportStar(require("./actions"), exports);
6
6
  tslib_1.__exportStar(require("./globalState"), exports);
7
7
  tslib_1.__exportStar(require("./piletApi"), exports);
8
8
  tslib_1.__exportStar(require("./media"), exports);
9
- tslib_1.__exportStar(require("./routes"), exports);
10
9
  tslib_1.__exportStar(require("./setter"), exports);
11
10
  tslib_1.__exportStar(require("./sharedData"), exports);
12
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,oDAA0B;AAC1B,wDAA8B;AAC9B,qDAA2B;AAC3B,kDAAwB;AACxB,mDAAyB;AACzB,mDAAyB;AACzB,uDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,oDAA0B;AAC1B,wDAA8B;AAC9B,qDAA2B;AAC3B,kDAAwB;AACxB,mDAAyB;AACzB,uDAA6B"}
@@ -6,7 +6,7 @@ const app_codegen_1 = require("../../app.codegen");
6
6
  function createContext(state, events) {
7
7
  const ctx = Object.assign(Object.assign({}, events), { apis: {}, converters: {
8
8
  html: ({ component }) => component,
9
- }, navigation: (0, app_codegen_1.createNavigation)(), state });
9
+ }, navigation: (0, app_codegen_1.createNavigation)(app_codegen_1.publicPath), state });
10
10
  return ctx;
11
11
  }
12
12
  function includeActions(ctx, actions) {
@@ -1 +1 @@
1
- {"version":3,"file":"createActions.js","sourceRoot":"","sources":["../../src/state/createActions.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AAEtC,mDAAqD;AAGrD,SAAS,aAAa,CAAC,KAAiC,EAAE,MAAoB;IAC5E,MAAM,GAAG,GAAG,gCACP,MAAM,KACT,IAAI,EAAE,EAAE,EACR,UAAU,EAAE;YACV,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS;SACnC,EACD,UAAU,EAAE,IAAA,8BAAgB,GAAE,EAC9B,KAAK,GACgB,CAAC;IACxB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,cAAc,CAAC,GAAuB,EAAE,OAA2B;IACjF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEzC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACzC;AACH,CAAC;AAPD,wCAOC;AAED,SAAgB,aAAa,CAAC,KAAiC,EAAE,MAAoB;IACnF,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC;AAJD,sCAIC"}
1
+ {"version":3,"file":"createActions.js","sourceRoot":"","sources":["../../src/state/createActions.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AAEtC,mDAAiE;AAGjE,SAAS,aAAa,CAAC,KAAiC,EAAE,MAAoB;IAC5E,MAAM,GAAG,GAAG,gCACP,MAAM,KACT,IAAI,EAAE,EAAE,EACR,UAAU,EAAE;YACV,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS;SACnC,EACD,UAAU,EAAE,IAAA,8BAAgB,EAAC,wBAAU,CAAC,EACxC,KAAK,GACgB,CAAC;IACxB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,cAAc,CAAC,GAAuB,EAAE,OAA2B;IACjF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEzC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACzC;AACH,CAAC;AAPD,wCAOC;AAED,SAAgB,aAAa,CAAC,KAAiC,EAAE,MAAoB;IACnF,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC;AAJD,sCAIC"}
@@ -3,11 +3,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createRouteHandler = exports.createDebugHandler = exports.createDefaultState = exports.createDependencies = void 0;
4
4
  // this file is bundled, so the references here will not be at runtime (i.e., for a user)
5
5
  const resolve_1 = require("piral-cli/src/external/resolve");
6
+ const fs_1 = require("fs");
7
+ const path_1 = require("path");
8
+ function findPackagePath(moduleDir) {
9
+ const packageJson = 'package.json';
10
+ const packagePath = (0, path_1.resolve)(moduleDir, packageJson);
11
+ if ((0, fs_1.existsSync)(packagePath)) {
12
+ return packagePath;
13
+ }
14
+ const newDir = (0, path_1.resolve)(moduleDir, '..');
15
+ if (newDir !== moduleDir) {
16
+ return findPackagePath(newDir);
17
+ }
18
+ return undefined;
19
+ }
20
+ function getPackageJson(root, packageName) {
21
+ const moduleDir = (0, path_1.dirname)((0, resolve_1.getModulePath)(root, packageName));
22
+ try {
23
+ const packagePath = findPackagePath(moduleDir);
24
+ const content = (0, fs_1.readFileSync)(packagePath, 'utf8');
25
+ return JSON.parse(content) || {};
26
+ }
27
+ catch (_a) {
28
+ return {};
29
+ }
30
+ }
6
31
  function getRouterVersion(root) {
7
32
  const router = 'react-router';
8
33
  try {
9
- const modulePath = (0, resolve_1.getModulePath)(root, `${router}/package.json`);
10
- const { version } = require(modulePath);
34
+ const { version } = getPackageJson(root, router);
11
35
  const [major] = version.split('.');
12
36
  return parseInt(major, 10);
13
37
  }
@@ -17,14 +41,12 @@ function getRouterVersion(root) {
17
41
  }
18
42
  }
19
43
  function getIdentifiers(root, packageName) {
20
- const packageJson = `${packageName}/package.json`;
21
44
  const identifiers = [packageName];
22
45
  try {
23
- const modulePath = (0, resolve_1.getModulePath)(root, packageJson);
24
- const details = require(modulePath);
46
+ const details = getPackageJson(root, packageName);
25
47
  if (details.version) {
26
48
  identifiers.push(`${packageName}@${details.version}`);
27
- if (details.name !== packageName) {
49
+ if (details.name && details.name !== packageName) {
28
50
  identifiers.push(`${details.name}@${details.version}`);
29
51
  }
30
52
  }
@@ -43,17 +65,33 @@ function getModulePathOrDefault(root, name) {
43
65
  function createDependencies(imports, exports, opts) {
44
66
  const { root, appName, externals } = opts;
45
67
  const assignments = [];
68
+ const asyncAssignments = [];
46
69
  if (appName) {
47
70
  assignments.push(`deps['${appName}']={}`);
48
71
  }
49
- for (const name of externals) {
50
- const identifiers = getIdentifiers(root, name);
51
- const path = getModulePathOrDefault(root, name);
52
- const ref = `_${imports.length}`;
53
- imports.push(`import * as ${ref} from ${JSON.stringify(path)}`);
54
- for (const id of identifiers) {
55
- assignments.push(`deps[${JSON.stringify(id)}]=${ref}`);
72
+ for (const external of externals) {
73
+ if (external.endsWith('?')) {
74
+ const name = external.replace(/\?+$/, '');
75
+ const identifiers = getIdentifiers(root, name);
76
+ const path = getModulePathOrDefault(root, name);
77
+ for (const id of identifiers) {
78
+ asyncAssignments.push(`registerModule(${JSON.stringify(id)}, () => import(${JSON.stringify(path)}))`);
79
+ }
56
80
  }
81
+ else {
82
+ const name = external;
83
+ const identifiers = getIdentifiers(root, name);
84
+ const path = getModulePathOrDefault(root, name);
85
+ const ref = `_${imports.length}`;
86
+ imports.push(`import * as ${ref} from ${JSON.stringify(path)}`);
87
+ for (const id of identifiers) {
88
+ assignments.push(`deps[${JSON.stringify(id)}]=${ref}`);
89
+ }
90
+ }
91
+ }
92
+ if (asyncAssignments.length) {
93
+ imports.push(`import { registerModule } from 'piral-base'`);
94
+ assignments.push(...asyncAssignments);
57
95
  }
58
96
  exports.push(`
59
97
  export function fillDependencies(deps) {
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":"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"}
@@ -91,4 +91,8 @@ export interface NavigationApi {
91
91
  * as the implementation is router specific and may change over time.
92
92
  */
93
93
  router: any;
94
+ /**
95
+ * Gets the public path of the application.
96
+ */
97
+ publicPath: string;
94
98
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-core",
3
- "version": "1.0.2",
3
+ "version": "1.1.0-beta.5756",
4
4
  "description": "The core library for creating a Piral instance.",
5
5
  "keywords": [
6
6
  "portal",
@@ -72,8 +72,8 @@
72
72
  "test": "echo \"Error: run tests from root\" && exit 1"
73
73
  },
74
74
  "dependencies": {
75
- "piral-base": "^1.0.2",
76
- "piral-debug-utils": "^1.0.2",
75
+ "piral-base": "1.1.0-beta.5756",
76
+ "piral-debug-utils": "1.1.0-beta.5756",
77
77
  "zustand": "^3.0.0"
78
78
  },
79
79
  "devDependencies": {
@@ -93,5 +93,5 @@
93
93
  "react-router-dom",
94
94
  "tslib"
95
95
  ],
96
- "gitHead": "bdbff29e39799a4472567f49692f2dd46b29e99d"
96
+ "gitHead": "ad2e5ac36a0a293629c4e73fb609f604895d7e52"
97
97
  }
package/src/Piral.tsx CHANGED
@@ -2,7 +2,6 @@ import * as React from 'react';
2
2
  import { createInstance } from './createInstance';
3
3
  import { PiralView, RegisteredRouter } from './components';
4
4
  import { PiralContext } from './PiralContext';
5
- import { publicPath } from '../app.codegen';
6
5
  import type { PiralProps } from './types';
7
6
 
8
7
  /**
@@ -22,7 +21,7 @@ const app = (
22
21
  */
23
22
  export const Piral: React.FC<PiralProps> = ({ instance = createInstance(), breakpoints, children }) => (
24
23
  <PiralContext instance={instance}>
25
- <RegisteredRouter publicPath={publicPath}>
24
+ <RegisteredRouter publicPath={instance.context.navigation.publicPath}>
26
25
  <PiralView breakpoints={breakpoints}>{children}</PiralView>
27
26
  </RegisteredRouter>
28
27
  </PiralContext>
@@ -14,28 +14,19 @@ const mountWithRouter = (node, url = '/') =>
14
14
 
15
15
  jest.mock('../hooks');
16
16
 
17
- (hooks as any).useRoutes = () => [
18
- {
19
- path: '/',
20
- Component: StubHome,
21
- },
22
- {
23
- path: '/custom',
24
- Component: StubCustomPage,
25
- },
26
- {
27
- path: '/foo',
28
- Component: StubFooPage,
29
- },
30
- {
31
- path: '/foo/bar',
32
- Component: StubFooBarPage,
33
- },
34
- {
35
- path: '/bar',
36
- Component: StubBarPage,
37
- },
38
- ];
17
+ (hooks as any).useGlobalState = (cb) =>
18
+ cb({
19
+ routes: {
20
+ '/': StubHome,
21
+ '/custom': StubCustomPage,
22
+ '/foo': StubFooPage,
23
+ '/foo/bar': StubFooBarPage,
24
+ '/bar': StubBarPage,
25
+ },
26
+ registry: {
27
+ pages: {},
28
+ },
29
+ });
39
30
 
40
31
  const StubHome: React.FC = (props) => <div role="home" />;
41
32
  StubHome.displayName = 'StubHome';
@@ -1,7 +1,19 @@
1
1
  import * as React from 'react';
2
2
  import { RouteComponentProps, SwitchProps } from 'react-router';
3
- import { useRoutes } from '../hooks';
4
- import { RouteSwitchProps } from '../types';
3
+ import { useGlobalState } from '../hooks';
4
+ import { RouteSwitchProps, AppPath } from '../types';
5
+ import { useRouteFilter } from '../../app.codegen';
6
+
7
+ function useRoutes() {
8
+ const routes = useGlobalState((s) => s.routes);
9
+ const pages = useGlobalState((s) => s.registry.pages);
10
+ const paths: Array<AppPath> = [];
11
+
12
+ Object.keys(routes).map((path) => paths.push({ path, Component: routes[path] }));
13
+ Object.keys(pages).map((path) => paths.push({ path, Component: pages[path].component }));
14
+
15
+ return useRouteFilter(paths);
16
+ }
5
17
 
6
18
  /**
7
19
  * The props used by the PiralRoutes component.
@@ -3,7 +3,6 @@ import { PortalRenderer } from './PortalRenderer';
3
3
  import { ForeignComponentContainer } from './ForeignComponentContainer';
4
4
  import { useGlobalStateContext } from '../hooks';
5
5
  import { convertComponent, none } from '../utils';
6
- import { publicPath } from '../../app.codegen';
7
6
  import type { AnyComponent, ComponentConverters, ForeignComponent, PiletApi, BaseComponentProps } from '../types';
8
7
 
9
8
  // this is an arbitrary start number to have 6 digits
@@ -34,7 +33,7 @@ function wrapForeignComponent<T>(
34
33
  const { destroyPortal, navigation } = useGlobalStateContext();
35
34
  const id = React.useMemo(() => (portalIdBase++).toString(26), none);
36
35
  // router added for backwards compatibility
37
- const context = React.useMemo(() => ({ publicPath, navigation, router: navigation.router }), []);
36
+ const context = React.useMemo(() => ({ publicPath: navigation.publicPath, navigation, router: navigation.router }), []);
38
37
  const innerProps = React.useMemo(() => ({ ...props, ...captured }), [props]);
39
38
 
40
39
  React.useEffect(() => () => destroyPortal(id), none);
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- import { ExtensionSlot, SwitchErrorInfo } from '../components';
2
+ import { ExtensionSlot } from '../components/ExtensionSlot';
3
+ import { SwitchErrorInfo } from '../components/SwitchErrorInfo';
3
4
  import { ErrorInfoProps } from '../types';
4
5
 
5
6
  /**
@@ -12,7 +12,7 @@ export function createRedirect() {
12
12
  return () => null;
13
13
  }
14
14
 
15
- export function createNavigation(): NavigationApi {
15
+ export function createNavigation(publicPath: string): NavigationApi {
16
16
  return {
17
17
  get path() {
18
18
  return location.pathname;
@@ -31,5 +31,6 @@ export function createNavigation(): NavigationApi {
31
31
  return _noop;
32
32
  },
33
33
  router: undefined,
34
+ publicPath,
34
35
  };
35
36
  }
@@ -39,7 +39,7 @@ export function createRedirect(to: string) {
39
39
  return () => <Redirect to={to} />;
40
40
  }
41
41
 
42
- export function createNavigation(): NavigationApi {
42
+ export function createNavigation(publicPath: string): NavigationApi {
43
43
  const enhance = (location: Location, action: Action) => ({
44
44
  action,
45
45
  location: {
@@ -95,5 +95,6 @@ export function createNavigation(): NavigationApi {
95
95
  return _nav;
96
96
  },
97
97
  },
98
+ publicPath,
98
99
  };
99
100
  }
@@ -39,7 +39,7 @@ export function createRedirect(to: string) {
39
39
  return () => <Navigate to={to} />;
40
40
  }
41
41
 
42
- export function createNavigation(): NavigationApi {
42
+ export function createNavigation(publicPath: string): NavigationApi {
43
43
  const enhance = (info) => ({
44
44
  ...info,
45
45
  location: {
@@ -92,5 +92,6 @@ export function createNavigation(): NavigationApi {
92
92
  get router() {
93
93
  return _nav;
94
94
  },
95
+ publicPath,
95
96
  };
96
97
  }
@@ -3,6 +3,5 @@ export * from './actions';
3
3
  export * from './globalState';
4
4
  export * from './piletApi';
5
5
  export * from './media';
6
- export * from './routes';
7
6
  export * from './setter';
8
7
  export * from './sharedData';
@@ -1,6 +1,6 @@
1
1
  import * as actions from '../actions';
2
2
  import { UseBoundStore } from 'zustand';
3
- import { createNavigation } from '../../app.codegen';
3
+ import { createNavigation, publicPath } from '../../app.codegen';
4
4
  import { EventEmitter, GlobalState, GlobalStateContext, PiralDefineActions } from '../types';
5
5
 
6
6
  function createContext(state: UseBoundStore<GlobalState>, events: EventEmitter) {
@@ -10,7 +10,7 @@ function createContext(state: UseBoundStore<GlobalState>, events: EventEmitter)
10
10
  converters: {
11
11
  html: ({ component }) => component,
12
12
  },
13
- navigation: createNavigation(),
13
+ navigation: createNavigation(publicPath),
14
14
  state,
15
15
  } as GlobalStateContext;
16
16
  return ctx;