piral-page-layouts 1.10.0-beta.8431 → 1.10.0-beta.8470
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/lib/actions.js.map +1 -1
- package/lib/create.js +1 -1
- package/lib/create.js.map +1 -1
- package/lib/utils.js +6 -3
- package/lib/utils.js.map +1 -1
- package/package.json +3 -3
- package/piral-page-layouts.min.js +1 -1
- package/src/actions.ts +1 -0
- package/src/create.ts +2 -1
- package/src/utils.ts +9 -3
package/lib/actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAsB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAsB,MAAM,YAAY,CAAC;AAIrE,MAAM,UAAU,kBAAkB,CAAC,GAAuB,EAAE,IAAY,EAAE,KAA6B;IACrG,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,KAAK;QACR,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;SAC9D;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAuB,EAAE,IAAY;IACxE,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,KAAK;QACR,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;SAC1D;KACF,CAAC,CAAC,CAAC;AACN,CAAC"}
|
package/lib/create.js
CHANGED
package/lib/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,OAAO,EAAE,MAAM,YAAY,CAAC;AAEtE,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAkB1D;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA4B,EAAE;IACjE,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE1C,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAErE,OAAO,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,OAAO;gBACL,kBAAkB,CAAC,IAAI,EAAE,UAAU;oBACjC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;oBAErC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;wBACxC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;wBAClE,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE;4BAC/B,SAAS;4BACT,KAAK;yBACN,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC9C,CAAC;gBACD,oBAAoB,CAAC,IAAI;oBACvB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;oBAErC,IAAI,OAAO,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;wBAC7B,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
package/lib/utils.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { createElement, useEffect, useState } from 'react';
|
|
2
2
|
import { defaultRender, useGlobalState, useGlobalStateContext, } from 'piral-core';
|
|
3
3
|
const DefaultLayout = (props) => defaultRender(props.children);
|
|
4
|
+
function findLayout(paths, path, fallback) {
|
|
5
|
+
const data = paths.find((m) => m.matcher.test(path));
|
|
6
|
+
return data?.meta?.layout || fallback;
|
|
7
|
+
}
|
|
4
8
|
function createPageWrapper(Routes, fallback = 'default') {
|
|
5
9
|
return (props) => {
|
|
6
10
|
const { navigation } = useGlobalStateContext();
|
|
7
|
-
const [layout, setLayout] = useState(fallback);
|
|
11
|
+
const [layout, setLayout] = useState(() => findLayout(props.paths, navigation.path, fallback));
|
|
8
12
|
useEffect(() => {
|
|
9
13
|
return navigation.listen(({ location }) => {
|
|
10
|
-
|
|
11
|
-
setLayout(data?.meta?.layout || fallback);
|
|
14
|
+
setLayout(findLayout(props.paths, location.pathname, fallback));
|
|
12
15
|
});
|
|
13
16
|
}, []);
|
|
14
17
|
const registration = useGlobalState((s) => s.registry.pageLayouts[layout] || s.registry.pageLayouts[fallback]);
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAqB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,EAGL,aAAa,EACb,cAAc,EAGd,qBAAqB,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAqB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,EAGL,aAAa,EACb,cAAc,EAGd,qBAAqB,GAEtB,MAAM,YAAY,CAAC;AAIpB,MAAM,aAAa,GAAgC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE5F,SAAS,UAAU,CAAC,KAAqB,EAAE,IAAY,EAAE,QAAgB;IACvE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,QAAQ,CAAC;AACxC,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAuC,EACvC,QAAQ,GAAG,SAAS;IAEpB,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,EAAE,UAAU,EAAE,GAAG,qBAAqB,EAAE,CAAC;QAC/C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE/F,SAAS,CAAC,GAAG,EAAE;YACb,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACxC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/G,MAAM,MAAM,GAAG,YAAY,EAAE,SAAS,IAAI,aAAa,CAAC;QACxD,OAAO,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAwD;IACrF,MAAM,OAAO,GAAiC,EAAE,CAAC;IAEjD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,GAAG;gBACd,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC;aACvB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAyC,EAAE,QAAgB;IACzF,OAAO,CAAC,KAAkB,EAAe,EAAE,CAAC,CAAC;QAC3C,GAAG,KAAK;QACR,UAAU,EAAE;YACV,GAAG,KAAK,CAAC,UAAU;YACnB,WAAW,EAAE,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC;SACvE;QACD,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,WAAW;SACZ;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-page-layouts",
|
|
3
|
-
"version": "1.10.0-beta.
|
|
3
|
+
"version": "1.10.0-beta.8470",
|
|
4
4
|
"description": "Plugin for providing different page layouts in Piral.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"test": "echo \"Error: run tests from root\" && exit 1"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"piral-core": "1.10.0-beta.
|
|
53
|
+
"piral-core": "1.10.0-beta.8470"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "dd72d126bf871906cbf5fa19578e6365b3c36361"
|
|
56
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var piralPageLayouts=(()=>{var
|
|
1
|
+
var piralPageLayouts=(()=>{var P=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var y=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(o,e)=>(typeof require<"u"?require:o)[e]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var m=(t,o)=>{for(var e in o)P(t,e,{get:o[e],enumerable:!0})},A=(t,o,e,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of b(o))!w.call(t,a)&&a!==e&&P(t,a,{get:()=>o[a],enumerable:!(r=R(o,a))||r.enumerable});return t};var G=t=>A(P({},"__esModule",{value:!0}),t);var j={};m(j,{createPageLayoutsApi:()=>W});var C=y("piral-core");var l={};m(l,{registerPageLayout:()=>x,unregisterPageLayout:()=>T});var c=y("piral-core");function x(t,o,e){t.dispatch(r=>({...r,registry:{...r.registry,pageLayouts:(0,c.withKey)(r.registry.pageLayouts,o,e)}}))}function T(t,o){t.dispatch(e=>({...e,registry:{...e.registry,pageLayouts:(0,c.withoutKey)(e.registry.pageLayouts,o)}}))}var u=y("react"),g=y("piral-core"),D=t=>(0,g.defaultRender)(t.children);function L(t,o,e){return t.find(a=>a.matcher.test(o))?.meta?.layout||e}function E(t,o="default"){return e=>{let{navigation:r}=(0,g.useGlobalStateContext)(),[a,i]=(0,u.useState)(()=>L(e.paths,r.path,o));(0,u.useEffect)(()=>r.listen(({location:s})=>{i(L(e.paths,s.pathname,o))}),[]);let n=(0,g.useGlobalState)(s=>s.registry.pageLayouts[a]||s.registry.pageLayouts[o])?.component||D;return(0,u.createElement)(n,e,(0,u.createElement)(t,e))}}function h(t){let o={};return t&&typeof t=="object"&&Object.keys(t).forEach(e=>{o[e]={pilet:void 0,component:t[e]}}),o}function d(t,o){return e=>({...e,components:{...e.components,RouteSwitch:E(e.components.RouteSwitch,o)},registry:{...e.registry,pageLayouts:t}})}function W(t={}){let{layouts:o={},fallback:e}=t;return r=>{let a=i=>r.readState(p=>p.registry.pageLayouts[i]);return r.defineActions(l),r.dispatch(d(h(o),e)),i=>{let p=i.meta.name;return{registerPageLayout(n,s){let f=a(n);if(!f||f.pilet===p){let S=(0,C.withApi)(r,s,i,"pageLayout");r.registerPageLayout(n,{component:S,pilet:p})}return()=>i.unregisterPageLayout(n)},unregisterPageLayout(n){a(n)?.pilet===p&&r.unregisterPageLayout(n)}}}}}return G(j);})();
|
package/src/actions.ts
CHANGED
package/src/create.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import * as actions from './actions';
|
|
2
1
|
import { ComponentType } from 'react';
|
|
3
2
|
import { PiralPlugin, PageComponentProps, withApi } from 'piral-core';
|
|
3
|
+
|
|
4
|
+
import * as actions from './actions';
|
|
4
5
|
import { getPageLayouts, withPageLayouts } from './utils';
|
|
5
6
|
import type { PiletPageLayoutsApi } from './types';
|
|
6
7
|
|
package/src/utils.ts
CHANGED
|
@@ -7,23 +7,29 @@ import {
|
|
|
7
7
|
RouteSwitchProps,
|
|
8
8
|
GlobalState,
|
|
9
9
|
useGlobalStateContext,
|
|
10
|
+
AppPath,
|
|
10
11
|
} from 'piral-core';
|
|
12
|
+
|
|
11
13
|
import type { PageLayoutRegistration } from './types';
|
|
12
14
|
|
|
13
15
|
const DefaultLayout: React.FC<PropsWithChildren> = (props) => defaultRender(props.children);
|
|
14
16
|
|
|
17
|
+
function findLayout(paths: Array<AppPath>, path: string, fallback: string) {
|
|
18
|
+
const data = paths.find((m) => m.matcher.test(path));
|
|
19
|
+
return data?.meta?.layout || fallback;
|
|
20
|
+
}
|
|
21
|
+
|
|
15
22
|
function createPageWrapper(
|
|
16
23
|
Routes: ComponentType<RouteSwitchProps>,
|
|
17
24
|
fallback = 'default',
|
|
18
25
|
): ComponentType<RouteSwitchProps> {
|
|
19
26
|
return (props) => {
|
|
20
27
|
const { navigation } = useGlobalStateContext();
|
|
21
|
-
const [layout, setLayout] = useState(fallback);
|
|
28
|
+
const [layout, setLayout] = useState(() => findLayout(props.paths, navigation.path, fallback));
|
|
22
29
|
|
|
23
30
|
useEffect(() => {
|
|
24
31
|
return navigation.listen(({ location }) => {
|
|
25
|
-
|
|
26
|
-
setLayout(data?.meta?.layout || fallback);
|
|
32
|
+
setLayout(findLayout(props.paths, location.pathname, fallback));
|
|
27
33
|
});
|
|
28
34
|
}, []);
|
|
29
35
|
|