piral-core 1.8.0-beta.7544 → 1.8.0-beta.7653

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 CHANGED
@@ -24,9 +24,11 @@ module.exports = function () {
24
24
  debug: debug && (cfg.debugSettings || {}),
25
25
  emulator: !!process.env.DEBUG_PILET,
26
26
  shared: Array.isArray(cfg.shared) ? cfg.shared : [],
27
+ internalStyles: cfg.internalStyles || 'inline',
27
28
  isolation: cfg.isolation || 'classic',
28
29
  };
29
30
 
31
+ cg.createBasicAppFunc(imports, exports, opts);
30
32
  cg.createDependencies(imports, exports, opts);
31
33
  cg.createDefaultState(imports, exports, opts);
32
34
  cg.createDebugHandler(imports, exports, opts);
package/app.codegen.d.ts CHANGED
@@ -6,6 +6,8 @@ import type { AppPath, GlobalState, GlobalStateContext, NavigationApi } from './
6
6
 
7
7
  export const publicPath: string;
8
8
 
9
+ export function applyStyle(element: HTMLElement): void;
10
+
9
11
  export function createNavigation(publicPath: string): NavigationApi;
10
12
 
11
13
  export function createDefaultState(): GlobalState;
package/lib/codegen.js CHANGED
@@ -5152,6 +5152,7 @@ var require_lib2 = __commonJS({
5152
5152
 
5153
5153
  // src/tools/codegen.ts
5154
5154
  __export(exports, {
5155
+ createBasicAppFunc: () => createBasicAppFunc,
5155
5156
  createDebugHandler: () => createDebugHandler,
5156
5157
  createDefaultState: () => createDefaultState,
5157
5158
  createDependencies: () => createDependencies,
@@ -5243,6 +5244,25 @@ function getModulePathOrDefault(root, origin, name) {
5243
5244
  return name;
5244
5245
  }
5245
5246
  }
5247
+ function createBasicAppFunc(imports, exports, opts) {
5248
+ switch (opts.internalStyles) {
5249
+ case "sheet":
5250
+ imports.push(`import 'piral-core/style.css';`);
5251
+ case "none":
5252
+ exports.push(`
5253
+ export function applyStyle(element) {}
5254
+ `);
5255
+ return;
5256
+ case "inline":
5257
+ default:
5258
+ exports.push(`
5259
+ export function applyStyle(element) {
5260
+ element.style.display = 'contents';
5261
+ }
5262
+ `);
5263
+ return;
5264
+ }
5265
+ }
5246
5266
  function createDependencies(imports, exports, opts) {
5247
5267
  const { root, appName, externals, shared, origin } = opts;
5248
5268
  const assignments = [];
@@ -5295,8 +5315,10 @@ function createDefaultState(imports, exports, opts) {
5295
5315
  imports.push(`import { DefaultErrorInfo } from 'piral-core/${cat}/defaults/DefaultErrorInfo.js';`, `import { DefaultLoadingIndicator } from 'piral-core/${cat}/defaults/DefaultLoadingIndicator.js';`, `import { DefaultLayout } from 'piral-core/${cat}/defaults/DefaultLayout.js';`);
5296
5316
  if (routerVersion < 6) {
5297
5317
  imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v5.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v5.js';`, `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v5.js'`);
5298
- } else {
5318
+ } else if (routerVersion === 6) {
5299
5319
  imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v6.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v6.js';`, `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v6.js'`);
5320
+ } else {
5321
+ imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v7.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v7.js';`, `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v7.js'`);
5300
5322
  }
5301
5323
  exports.push(`
5302
5324
  export { createRedirect, createNavigation, useRouterContext };
@@ -5374,6 +5396,7 @@ function createRouteHandler(imports, exports, opts) {
5374
5396
  }
5375
5397
  // Annotate the CommonJS export names for ESM import in node:
5376
5398
  0 && (module.exports = {
5399
+ createBasicAppFunc,
5377
5400
  createDebugHandler,
5378
5401
  createDefaultState,
5379
5402
  createDependencies,
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { RouteSwitchProps } from '../types';
3
+ export declare const DefaultRouteSwitch: React.FC<RouteSwitchProps>;
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { Routes, Route } from 'react-router';
4
+ export const DefaultRouteSwitch = ({ paths, NotFound, ...props }) => {
5
+ return (React.createElement(Routes, { ...props },
6
+ paths.map(({ path, Component }) => (
7
+ //@ts-ignore
8
+ React.createElement(Route, { key: path, path: path, element: React.createElement(Component, null) }))),
9
+ //@ts-ignore
10
+ React.createElement(Route, { path: "*", element: React.createElement(NotFound, null) })));
11
+ };
12
+ DefaultRouteSwitch.displayName = 'DefaultRouteSwitch';
13
+ //# sourceMappingURL=DefaultRouteSwitch_v7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultRouteSwitch_v7.js","sourceRoot":"","sources":["../../src/defaults/DefaultRouteSwitch_v7.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,YAAY;AACZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC9F,OAAO,CACL,oBAAC,MAAM,OAAK,KAAK;QACd,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAClC,YAAY;QACZ,oBAAC,KAAK,IAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAC,SAAS,OAAG,GAAI,CACzD,CAAC;QAEA,YAAY;QACZ,oBAAC,KAAK,IAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,oBAAC,QAAQ,OAAG,GAAI,CAEpC,CACV,CAAC;AACJ,CAAC,CAAC;AACF,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ import { RouterProps } from '../types';
3
+ export declare const DefaultRouter: React.FC<RouterProps>;
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { BrowserRouter } from 'react-router';
4
+ export const DefaultRouter = ({ children, publicPath }) => {
5
+ return React.createElement(BrowserRouter, { basename: publicPath }, children);
6
+ };
7
+ DefaultRouter.displayName = 'DefaultRouter';
8
+ //# sourceMappingURL=DefaultRouter_v7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultRouter_v7.js","sourceRoot":"","sources":["../../src/defaults/DefaultRouter_v7.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,CAAC,MAAM,aAAa,GAA0B,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/E,OAAO,oBAAC,aAAa,IAAC,QAAQ,EAAE,UAAU,IAAG,QAAQ,CAAiB,CAAC;AACzE,CAAC,CAAC;AACF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { NavigationApi } from '../types';
3
+ export declare function useRouterContext(): unknown;
4
+ export declare function useCurrentNavigation(): void;
5
+ export declare function createRedirect(to: string): () => React.JSX.Element;
6
+ export declare function createNavigation(publicPath: string): NavigationApi;
@@ -0,0 +1,84 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { UNSAFE_NavigationContext as RouterContext, Navigate, useLocation } from 'react-router';
4
+ let _nav;
5
+ const _noop = () => { };
6
+ export function useRouterContext() {
7
+ return React.useContext(RouterContext);
8
+ }
9
+ export function useCurrentNavigation() {
10
+ const ctx = useRouterContext();
11
+ const location = useLocation();
12
+ React.useEffect(() => {
13
+ if (_nav) {
14
+ window.dispatchEvent(new CustomEvent('piral-navigate', {
15
+ detail: {
16
+ location,
17
+ },
18
+ }));
19
+ }
20
+ }, [location]);
21
+ React.useEffect(() => {
22
+ _nav = ctx.navigator;
23
+ return () => {
24
+ _nav = undefined;
25
+ };
26
+ }, []);
27
+ }
28
+ export function createRedirect(to) {
29
+ return () => React.createElement(Navigate, { to: to });
30
+ }
31
+ export function createNavigation(publicPath) {
32
+ const enhance = (info) => ({
33
+ ...info,
34
+ location: {
35
+ get href() {
36
+ return _nav.createHref(info.location);
37
+ },
38
+ ...info.location,
39
+ },
40
+ });
41
+ return {
42
+ get path() {
43
+ const loc = _nav ? _nav.location : location;
44
+ return loc.pathname;
45
+ },
46
+ get url() {
47
+ const loc = _nav ? _nav.location : location;
48
+ return `${loc.pathname}${loc.search}${loc.hash}`;
49
+ },
50
+ push(target, state) {
51
+ if (_nav) {
52
+ _nav.push(target, state);
53
+ }
54
+ },
55
+ replace(target, state) {
56
+ if (_nav) {
57
+ _nav.replace(target, state);
58
+ }
59
+ },
60
+ go(n) {
61
+ if (_nav) {
62
+ _nav.go(n);
63
+ }
64
+ },
65
+ block(blocker) {
66
+ if (!_nav) {
67
+ return _noop;
68
+ }
69
+ return _nav.block((transition) => blocker(enhance(transition)));
70
+ },
71
+ listen(listener) {
72
+ const handler = (e) => listener(enhance(e.detail));
73
+ window.addEventListener('piral-navigate', handler);
74
+ return () => {
75
+ window.removeEventListener('piral-navigate', handler);
76
+ };
77
+ },
78
+ get router() {
79
+ return _nav;
80
+ },
81
+ publicPath,
82
+ };
83
+ }
84
+ //# sourceMappingURL=navigator_v7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator_v7.js","sourceRoot":"","sources":["../../src/defaults/navigator_v7.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,YAAY;AACZ,OAAO,EAAE,wBAAwB,IAAI,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhG,IAAI,IAAS,CAAC;AACd,MAAM,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvB,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAQ,gBAAgB,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,WAAW,EAAE,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;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAO,GAAG,EAAE,CAAC,oBAAC,QAAQ,IAAC,EAAE,EAAE,EAAE,GAAI,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,GAAG,IAAI;QACP,QAAQ,EAAE;YACR,IAAI,IAAI;gBACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YACD,GAAG,IAAI,CAAC,QAAQ;SACjB;KACF,CAAC,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"}
@@ -1,7 +1,7 @@
1
1
  import { ExtensionSlot } from '../components';
2
+ import { applyStyle } from '../../app.codegen';
2
3
  import { tryParseJson, noop, reactifyContent, renderInDom, changeDomPortal, portalName, extensionName, slotName, isSame, contentName, componentName, defer, } from '../utils';
3
4
  if (typeof window !== 'undefined' && 'customElements' in window) {
4
- const contents = 'contents';
5
5
  /**
6
6
  * This is a nice abstraction allowing anyone to actually use the extension system
7
7
  * brought by Piral. Not all props of the extension system are actually exposed.
@@ -82,7 +82,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
82
82
  }
83
83
  }
84
84
  connectedCallback() {
85
- this.style.display = contents;
85
+ applyStyle(this);
86
86
  if (this.isConnected) {
87
87
  this.dispatchEvent(new CustomEvent('render-html', {
88
88
  bubbles: true,
@@ -129,7 +129,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
129
129
  */
130
130
  class PiralPortal extends HTMLElement {
131
131
  connectedCallback() {
132
- this.style.display = contents;
132
+ applyStyle(this);
133
133
  }
134
134
  }
135
135
  customElements.define(portalName, PiralPortal);
@@ -146,7 +146,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
146
146
  */
147
147
  class PiralSlot extends HTMLElement {
148
148
  connectedCallback() {
149
- this.style.display = contents;
149
+ applyStyle(this);
150
150
  }
151
151
  }
152
152
  customElements.define(slotName, PiralSlot);
@@ -177,7 +177,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
177
177
  this.dispose = noop;
178
178
  }
179
179
  connectedCallback() {
180
- this.style.display = contents;
180
+ applyStyle(this);
181
181
  const cid = this.getAttribute('cid');
182
182
  const content = PiralContent.contentAssignments[cid];
183
183
  const portal = this.closest('piral-portal');
@@ -213,7 +213,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
213
213
  return this.getAttribute('origin');
214
214
  }
215
215
  connectedCallback() {
216
- this.style.display = contents;
216
+ applyStyle(this);
217
217
  this.deferEvent('add-component');
218
218
  }
219
219
  disconnectedCallback() {
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/modules/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/modules/element.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ interface CodegenOptions {
7
7
  externals: Array<string>;
8
8
  publicPath: string;
9
9
  isolation: 'classic' | 'modern';
10
+ internalStyles: 'inline' | 'sheet' | 'none';
10
11
  debug?: {
11
12
  viewState?: boolean;
12
13
  loadPilets?: boolean;
@@ -17,6 +18,7 @@ interface CodegenOptions {
17
18
  };
18
19
  emulator: boolean;
19
20
  }
21
+ export declare function createBasicAppFunc(imports: Array<string>, exports: Array<string>, opts: CodegenOptions): void;
20
22
  export declare function createDependencies(imports: Array<string>, exports: Array<string>, opts: CodegenOptions): void;
21
23
  export declare function createDefaultState(imports: Array<string>, exports: Array<string>, opts: CodegenOptions): void;
22
24
  export declare function createDebugHandler(imports: Array<string>, exports: Array<string>, opts: CodegenOptions): void;
@@ -64,6 +64,26 @@ function getModulePathOrDefault(root, origin, name) {
64
64
  return name;
65
65
  }
66
66
  }
67
+ export function createBasicAppFunc(imports, exports, opts) {
68
+ switch (opts.internalStyles) {
69
+ case 'sheet':
70
+ imports.push(`import 'piral-core/style.css';`);
71
+ // no return - we fall through and also include the dummy applyStyle for "none"
72
+ case 'none':
73
+ exports.push(`
74
+ export function applyStyle(element) {}
75
+ `);
76
+ return;
77
+ case 'inline':
78
+ default:
79
+ exports.push(`
80
+ export function applyStyle(element) {
81
+ element.style.display = 'contents';
82
+ }
83
+ `);
84
+ return;
85
+ }
86
+ }
67
87
  export function createDependencies(imports, exports, opts) {
68
88
  const { root, appName, externals, shared, origin } = opts;
69
89
  const assignments = [];
@@ -116,11 +136,17 @@ export function createDefaultState(imports, exports, opts) {
116
136
  const wrap = isolation === 'modern' ? 'true' : 'false';
117
137
  imports.push(`import { DefaultErrorInfo } from 'piral-core/${cat}/defaults/DefaultErrorInfo.js';`, `import { DefaultLoadingIndicator } from 'piral-core/${cat}/defaults/DefaultLoadingIndicator.js';`, `import { DefaultLayout } from 'piral-core/${cat}/defaults/DefaultLayout.js';`);
118
138
  if (routerVersion < 6) {
139
+ // React Router v5
119
140
  imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v5.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v5.js';`, `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v5.js'`);
120
141
  }
121
- else {
142
+ else if (routerVersion === 6) {
143
+ // React Router v6
122
144
  imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v6.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v6.js';`, `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v6.js'`);
123
145
  }
146
+ else {
147
+ // React Router v7
148
+ imports.push(`import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v7.js';`, `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v7.js';`, `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v7.js'`);
149
+ }
124
150
  exports.push(`
125
151
  export { createRedirect, createNavigation, useRouterContext };
126
152
  `);
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-core",
3
- "version": "1.8.0-beta.7544",
3
+ "version": "1.8.0-beta.7653",
4
4
  "description": "The core library for creating a Piral instance.",
5
5
  "keywords": [
6
6
  "portal",
@@ -39,7 +39,8 @@
39
39
  "lib",
40
40
  "src",
41
41
  "app.codegen",
42
- "app.codegen.d.ts"
42
+ "app.codegen.d.ts",
43
+ "style.css"
43
44
  ],
44
45
  "funding": {
45
46
  "type": "github",
@@ -61,8 +62,8 @@
61
62
  "test": "echo \"Error: run tests from root\" && exit 1"
62
63
  },
63
64
  "dependencies": {
64
- "piral-base": "1.8.0-beta.7544",
65
- "piral-debug-utils": "1.8.0-beta.7544",
65
+ "piral-base": "1.8.0-beta.7653",
66
+ "piral-debug-utils": "1.8.0-beta.7653",
66
67
  "zustand": "^3.0.0"
67
68
  },
68
69
  "devDependencies": {
@@ -82,5 +83,5 @@
82
83
  "react-router-dom",
83
84
  "tslib"
84
85
  ],
85
- "gitHead": "007e0558e140cf11ba91b5f30d991ed593c18b60"
86
+ "gitHead": "bcb81e936bf3e74c0a503382076ef1b8617e263f"
86
87
  }
@@ -0,0 +1,20 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { Routes, Route } from 'react-router';
4
+ import { RouteSwitchProps } from '../types';
5
+
6
+ export const DefaultRouteSwitch: React.FC<RouteSwitchProps> = ({ paths, NotFound, ...props }) => {
7
+ return (
8
+ <Routes {...props}>
9
+ {paths.map(({ path, Component }) => (
10
+ //@ts-ignore
11
+ <Route key={path} path={path} element={<Component />} />
12
+ ))}
13
+ {
14
+ //@ts-ignore
15
+ <Route path="*" element={<NotFound />} />
16
+ }
17
+ </Routes>
18
+ );
19
+ };
20
+ DefaultRouteSwitch.displayName = 'DefaultRouteSwitch';
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { BrowserRouter } from 'react-router';
4
+ import { RouterProps } from '../types';
5
+
6
+ export const DefaultRouter: React.FC<RouterProps> = ({ children, publicPath }) => {
7
+ return <BrowserRouter basename={publicPath}>{children}</BrowserRouter>;
8
+ };
9
+ DefaultRouter.displayName = 'DefaultRouter';
@@ -0,0 +1,97 @@
1
+ import * as React from 'react';
2
+ //@ts-ignore
3
+ import { UNSAFE_NavigationContext as RouterContext, Navigate, useLocation } from 'react-router';
4
+ import { NavigationApi } from '../types';
5
+
6
+ let _nav: any;
7
+ const _noop = () => {};
8
+
9
+ export function useRouterContext() {
10
+ return React.useContext(RouterContext);
11
+ }
12
+
13
+ export function useCurrentNavigation() {
14
+ const ctx: any = useRouterContext();
15
+ const location = useLocation();
16
+
17
+ React.useEffect(() => {
18
+ if (_nav) {
19
+ window.dispatchEvent(
20
+ new CustomEvent('piral-navigate', {
21
+ detail: {
22
+ location,
23
+ },
24
+ }),
25
+ );
26
+ }
27
+ }, [location]);
28
+
29
+ React.useEffect(() => {
30
+ _nav = ctx.navigator;
31
+
32
+ return () => {
33
+ _nav = undefined;
34
+ };
35
+ }, []);
36
+ }
37
+
38
+ export function createRedirect(to: string) {
39
+ return () => <Navigate to={to} />;
40
+ }
41
+
42
+ export function createNavigation(publicPath: string): NavigationApi {
43
+ const enhance = (info) => ({
44
+ ...info,
45
+ location: {
46
+ get href() {
47
+ return _nav.createHref(info.location);
48
+ },
49
+ ...info.location,
50
+ },
51
+ });
52
+
53
+ return {
54
+ get path() {
55
+ const loc = _nav ? _nav.location : location;
56
+ return loc.pathname;
57
+ },
58
+ get url() {
59
+ const loc = _nav ? _nav.location : location;
60
+ return `${loc.pathname}${loc.search}${loc.hash}`;
61
+ },
62
+ push(target, state) {
63
+ if (_nav) {
64
+ _nav.push(target, state);
65
+ }
66
+ },
67
+ replace(target, state) {
68
+ if (_nav) {
69
+ _nav.replace(target, state);
70
+ }
71
+ },
72
+ go(n) {
73
+ if (_nav) {
74
+ _nav.go(n);
75
+ }
76
+ },
77
+ block(blocker) {
78
+ if (!_nav) {
79
+ return _noop;
80
+ }
81
+ return _nav.block((transition) => blocker(enhance(transition)));
82
+ },
83
+ listen(listener) {
84
+ const handler = (e: CustomEvent) => listener(enhance(e.detail));
85
+
86
+ window.addEventListener('piral-navigate', handler);
87
+
88
+ return () => {
89
+ window.removeEventListener('piral-navigate', handler);
90
+ };
91
+ },
92
+ get router() {
93
+ return _nav;
94
+ },
95
+ publicPath,
96
+ };
97
+ }
@@ -8,6 +8,9 @@ import { createActions } from '../state';
8
8
  import { renderElement } from './element';
9
9
 
10
10
  vitest.mock('../../app.codegen', () => ({
11
+ applyStyle: vitest.fn(element => {
12
+ element.style.display = 'contents';
13
+ }),
11
14
  createNavigation: vitest.fn(publicPath => ({
12
15
  publicPath,
13
16
  })),
@@ -1,4 +1,5 @@
1
1
  import { ExtensionSlot } from '../components';
2
+ import { applyStyle } from '../../app.codegen';
2
3
  import { Disposable, GlobalStateContext, BaseExtensionSlotProps } from '../types';
3
4
  import {
4
5
  tryParseJson,
@@ -20,8 +21,6 @@ export interface Updatable {
20
21
  }
21
22
 
22
23
  if (typeof window !== 'undefined' && 'customElements' in window) {
23
- const contents = 'contents';
24
-
25
24
  /**
26
25
  * This is a nice abstraction allowing anyone to actually use the extension system
27
26
  * brought by Piral. Not all props of the extension system are actually exposed.
@@ -113,7 +112,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
113
112
  }
114
113
 
115
114
  connectedCallback() {
116
- this.style.display = contents;
115
+ applyStyle(this);
117
116
 
118
117
  if (this.isConnected) {
119
118
  this.dispatchEvent(
@@ -168,7 +167,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
168
167
  */
169
168
  class PiralPortal extends HTMLElement {
170
169
  connectedCallback() {
171
- this.style.display = contents;
170
+ applyStyle(this);
172
171
  }
173
172
  }
174
173
 
@@ -187,7 +186,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
187
186
  */
188
187
  class PiralSlot extends HTMLElement {
189
188
  connectedCallback() {
190
- this.style.display = contents;
189
+ applyStyle(this);
191
190
  }
192
191
  }
193
192
 
@@ -220,7 +219,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
220
219
  static contentAssignments = {};
221
220
 
222
221
  connectedCallback() {
223
- this.style.display = contents;
222
+ applyStyle(this);
224
223
  const cid = this.getAttribute('cid');
225
224
  const content = PiralContent.contentAssignments[cid];
226
225
  const portal = this.closest('piral-portal');
@@ -264,7 +263,7 @@ if (typeof window !== 'undefined' && 'customElements' in window) {
264
263
  }
265
264
 
266
265
  connectedCallback() {
267
- this.style.display = contents;
266
+ applyStyle(this);
268
267
  this.deferEvent('add-component');
269
268
  }
270
269
 
@@ -86,6 +86,7 @@ interface CodegenOptions {
86
86
  externals: Array<string>;
87
87
  publicPath: string;
88
88
  isolation: 'classic' | 'modern';
89
+ internalStyles: 'inline' | 'sheet' | 'none';
89
90
  debug?: {
90
91
  viewState?: boolean;
91
92
  loadPilets?: boolean;
@@ -97,6 +98,27 @@ interface CodegenOptions {
97
98
  emulator: boolean;
98
99
  }
99
100
 
101
+ export function createBasicAppFunc(imports: Array<string>, exports: Array<string>, opts: CodegenOptions) {
102
+ switch (opts.internalStyles) {
103
+ case 'sheet':
104
+ imports.push(`import 'piral-core/style.css';`);
105
+ // no return - we fall through and also include the dummy applyStyle for "none"
106
+ case 'none':
107
+ exports.push(`
108
+ export function applyStyle(element) {}
109
+ `);
110
+ return;
111
+ case 'inline':
112
+ default:
113
+ exports.push(`
114
+ export function applyStyle(element) {
115
+ element.style.display = 'contents';
116
+ }
117
+ `);
118
+ return;
119
+ }
120
+ }
121
+
100
122
  export function createDependencies(imports: Array<string>, exports: Array<string>, opts: CodegenOptions) {
101
123
  const { root, appName, externals, shared, origin } = opts;
102
124
  const assignments: Array<string> = [];
@@ -142,7 +164,6 @@ export function createDependencies(imports: Array<string>, exports: Array<string
142
164
  if (asyncAssignments.length) {
143
165
  imports.push(`import { registerModule } from 'piral-base'`);
144
166
  assignments.push(...asyncAssignments);
145
-
146
167
  }
147
168
 
148
169
  exports.push(`
@@ -164,17 +185,26 @@ export function createDefaultState(imports: Array<string>, exports: Array<string
164
185
  );
165
186
 
166
187
  if (routerVersion < 6) {
188
+ // React Router v5
167
189
  imports.push(
168
190
  `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v5.js';`,
169
191
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v5.js';`,
170
192
  `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v5.js'`,
171
193
  );
172
- } else {
194
+ } else if (routerVersion === 6) {
195
+ // React Router v6
173
196
  imports.push(
174
197
  `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v6.js';`,
175
198
  `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v6.js';`,
176
199
  `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v6.js'`,
177
200
  );
201
+ } else {
202
+ // React Router v7
203
+ imports.push(
204
+ `import { DefaultRouter } from 'piral-core/${cat}/defaults/DefaultRouter_v7.js';`,
205
+ `import { DefaultRouteSwitch } from 'piral-core/${cat}/defaults/DefaultRouteSwitch_v7.js';`,
206
+ `import { createRedirect, createNavigation, useCurrentNavigation, useRouterContext } from 'piral-core/${cat}/defaults/navigator_v7.js'`,
207
+ );
178
208
  }
179
209
 
180
210
  exports.push(`
package/style.css ADDED
@@ -0,0 +1,3 @@
1
+ piral-extension, piral-component, piral-content, piral-portal, piral-slot {
2
+ display: contents;
3
+ }