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.
- package/app.codegen.d.ts +1 -1
- package/dist/codegen.js +60 -24
- package/esm/Piral.js +1 -2
- package/esm/Piral.js.map +1 -1
- package/esm/components/PiralRoutes.js +10 -1
- package/esm/components/PiralRoutes.js.map +1 -1
- package/esm/components/wrapComponent.js +1 -2
- package/esm/components/wrapComponent.js.map +1 -1
- package/esm/defaults/DefaultErrorInfo.js +2 -1
- package/esm/defaults/DefaultErrorInfo.js.map +1 -1
- package/esm/defaults/navigator_none.d.ts +1 -1
- package/esm/defaults/navigator_none.js +2 -1
- package/esm/defaults/navigator_none.js.map +1 -1
- package/esm/defaults/navigator_v5.d.ts +1 -1
- package/esm/defaults/navigator_v5.js +2 -1
- package/esm/defaults/navigator_v5.js.map +1 -1
- package/esm/defaults/navigator_v6.d.ts +1 -1
- package/esm/defaults/navigator_v6.js +2 -1
- package/esm/defaults/navigator_v6.js.map +1 -1
- package/esm/hooks/index.d.ts +0 -1
- package/esm/hooks/index.js +0 -1
- package/esm/hooks/index.js.map +1 -1
- package/esm/state/createActions.js +2 -2
- package/esm/state/createActions.js.map +1 -1
- package/esm/tools/codegen.js +51 -13
- package/esm/tools/codegen.js.map +1 -1
- package/esm/types/navigation.d.ts +4 -0
- package/lib/Piral.js +1 -2
- package/lib/Piral.js.map +1 -1
- package/lib/components/PiralRoutes.js +10 -1
- package/lib/components/PiralRoutes.js.map +1 -1
- package/lib/components/wrapComponent.js +1 -2
- package/lib/components/wrapComponent.js.map +1 -1
- package/lib/defaults/DefaultErrorInfo.js +3 -2
- package/lib/defaults/DefaultErrorInfo.js.map +1 -1
- package/lib/defaults/navigator_none.d.ts +1 -1
- package/lib/defaults/navigator_none.js +2 -1
- package/lib/defaults/navigator_none.js.map +1 -1
- package/lib/defaults/navigator_v5.d.ts +1 -1
- package/lib/defaults/navigator_v5.js +2 -1
- package/lib/defaults/navigator_v5.js.map +1 -1
- package/lib/defaults/navigator_v6.d.ts +1 -1
- package/lib/defaults/navigator_v6.js +2 -1
- package/lib/defaults/navigator_v6.js.map +1 -1
- package/lib/hooks/index.d.ts +0 -1
- package/lib/hooks/index.js +0 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/state/createActions.js +1 -1
- package/lib/state/createActions.js.map +1 -1
- package/lib/tools/codegen.js +51 -13
- package/lib/tools/codegen.js.map +1 -1
- package/lib/types/navigation.d.ts +4 -0
- package/package.json +4 -4
- package/src/Piral.tsx +1 -2
- package/src/components/PiralRoutes.test.tsx +13 -22
- package/src/components/PiralRoutes.tsx +14 -2
- package/src/components/wrapComponent.tsx +1 -2
- package/src/defaults/DefaultErrorInfo.tsx +2 -1
- package/src/defaults/navigator_none.tsx +2 -1
- package/src/defaults/navigator_v5.tsx +2 -1
- package/src/defaults/navigator_v6.tsx +2 -1
- package/src/hooks/index.ts +0 -1
- package/src/state/createActions.ts +2 -2
- package/src/tools/codegen.ts +59 -13
- package/src/types/navigation.ts +4 -0
- package/esm/hooks/routes.d.ts +0 -2
- package/esm/hooks/routes.js +0 -11
- package/esm/hooks/routes.js.map +0 -1
- package/lib/hooks/routes.d.ts +0 -2
- package/lib/hooks/routes.js +0 -15
- package/lib/hooks/routes.js.map +0 -1
- 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:
|
|
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;
|
|
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
|
|
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(
|
|
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,
|
|
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;
|
|
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":";;;AAAA,+BAA+B;AAE/B,+CAAuF;AAGvF,IAAI,IAAa,CAAC;AAClB,MAAM,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvB,SAAgB,gBAAgB;IAC9B,OAAO,KAAK,CAAC,UAAU,CAAC,8BAAa,CAAC,CAAC;AACzC,CAAC;AAFD,4CAEC;AAED,SAAgB,oBAAoB;IAClC,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,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,OAAO,CAAC;QAEnB,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;
|
|
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":";;;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;
|
|
1
|
+
{"version":3,"file":"navigator_v6.js","sourceRoot":"","sources":["../../src/defaults/navigator_v6.tsx"],"names":[],"mappings":"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"}
|
package/lib/hooks/index.d.ts
CHANGED
package/lib/hooks/index.js
CHANGED
|
@@ -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
|
package/lib/hooks/index.js.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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"}
|
package/lib/tools/codegen.js
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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) {
|
package/lib/tools/codegen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":";;;AAAA,yFAAyF;AACzF,4DAA+D;
|
|
1
|
+
{"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-core",
|
|
3
|
-
"version": "1.0.
|
|
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": "
|
|
76
|
-
"piral-debug-utils": "
|
|
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": "
|
|
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).
|
|
18
|
-
{
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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 {
|
|
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
|
|
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
|
}
|
package/src/hooks/index.ts
CHANGED
|
@@ -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;
|