piral-page-layouts 1.9.1 → 1.9.2-beta.8388
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/types.d.ts +1 -2
- package/lib/utils.js +10 -6
- package/lib/utils.js.map +1 -1
- package/package.json +5 -6
- package/piral-page-layouts.min.js +1 -13
- package/src/types.ts +1 -2
- package/src/utils.ts +20 -6
package/lib/types.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { PropsWithChildren } from 'react';
|
|
2
|
-
import type { RouteComponentProps } from 'react-router';
|
|
3
2
|
import type { AnyComponent, BaseRegistration, Dict, PageComponentProps, PiralPageMeta, RegistrationDisposer, WrappedComponent } from 'piral-core';
|
|
4
3
|
declare module 'piral-core/lib/types/custom' {
|
|
5
4
|
interface PiletCustomApi extends PiletPageLayoutsApi {
|
|
@@ -39,7 +38,7 @@ export interface PageLayoutRegistration extends BaseRegistration {
|
|
|
39
38
|
/**
|
|
40
39
|
* The error used when a page layout crashed.
|
|
41
40
|
*/
|
|
42
|
-
export interface PageLayoutErrorInfoProps
|
|
41
|
+
export interface PageLayoutErrorInfoProps {
|
|
43
42
|
/**
|
|
44
43
|
* The type of the error.
|
|
45
44
|
*/
|
package/lib/utils.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import { createElement } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { defaultRender, useGlobalState } from 'piral-core';
|
|
1
|
+
import { createElement, useEffect, useState } from 'react';
|
|
2
|
+
import { defaultRender, useGlobalState, useGlobalStateContext, } from 'piral-core';
|
|
4
3
|
const DefaultLayout = (props) => defaultRender(props.children);
|
|
5
4
|
function createPageWrapper(Routes, fallback = 'default') {
|
|
6
5
|
return (props) => {
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
6
|
+
const { navigation } = useGlobalStateContext();
|
|
7
|
+
const [layout, setLayout] = useState(fallback);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
return navigation.listen(({ location }) => {
|
|
10
|
+
const data = props.paths.find((m) => m.matcher.test(location.pathname));
|
|
11
|
+
setLayout(data?.meta?.layout || fallback);
|
|
12
|
+
});
|
|
13
|
+
}, []);
|
|
10
14
|
const registration = useGlobalState((s) => s.registry.pageLayouts[layout] || s.registry.pageLayouts[fallback]);
|
|
11
15
|
const Layout = registration?.component || DefaultLayout;
|
|
12
16
|
return createElement(Layout, props, createElement(Routes, props));
|
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,
|
|
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,GACtB,MAAM,YAAY,CAAC;AAGpB,MAAM,aAAa,GAAgC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE5F,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,QAAQ,CAAC,CAAC;QAE/C,SAAS,CAAC,GAAG,EAAE;YACb,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACxC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC;YAC5C,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.9.
|
|
3
|
+
"version": "1.9.2-beta.8388",
|
|
4
4
|
"description": "Plugin for providing different page layouts in Piral.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"exports": {
|
|
24
24
|
".": "./lib/index.js",
|
|
25
25
|
"./lib/*": {
|
|
26
|
-
"
|
|
27
|
-
"
|
|
26
|
+
"types": "./lib/*.d.ts",
|
|
27
|
+
"import": "./lib/*"
|
|
28
28
|
},
|
|
29
29
|
"./package.json": "./package.json"
|
|
30
30
|
},
|
|
@@ -50,8 +50,7 @@
|
|
|
50
50
|
"test": "echo \"Error: run tests from root\" && exit 1"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"piral-core": "
|
|
54
|
-
"react-router-dom": "^5.2.0"
|
|
53
|
+
"piral-core": "1.9.2-beta.8388"
|
|
55
54
|
},
|
|
56
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "25023f913ae9423c9cecd23e44d70e959ff58c8a"
|
|
57
56
|
}
|
|
@@ -1,13 +1 @@
|
|
|
1
|
-
var piralPageLayouts=(()=>{var Zt=Object.create;var he=Object.defineProperty;var er=Object.getOwnPropertyDescriptor;var tr=Object.getOwnPropertyNames;var rr=Object.getPrototypeOf,nr=Object.prototype.hasOwnProperty;var oe=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var X=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),tt=(e,t)=>{for(var r in t)he(e,r,{get:t[r],enumerable:!0})},rt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of tr(t))!nr.call(e,o)&&o!==r&&he(e,o,{get:()=>t[o],enumerable:!(n=er(t,o))||n.enumerable});return e};var ie=(e,t,r)=>(r=e!=null?Zt(rr(e)):{},rt(t||!e||!e.__esModule?he(r,"default",{value:e,enumerable:!0}):r,e)),or=e=>rt(he({},"__esModule",{value:!0}),e);var ot=X((yn,nt)=>{"use strict";var sr="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";nt.exports=sr});var ct=X((gn,st)=>{"use strict";var cr=ot();function it(){}function at(){}at.resetWarningCache=it;st.exports=function(){function e(n,o,i,c,u,p){if(p!==cr){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}e.isRequired=e;function t(){return e}var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:at,resetWarningCache:it};return r.PropTypes=r,r}});var pt=X((wn,ut)=>{ut.exports=ct()();var Pn,En});var xt=X((Dn,Ot)=>{Ot.exports=Array.isArray||function(e){return Object.prototype.toString.call(e)=="[object Array]"}});var St=X((An,ae)=>{var ge=xt();ae.exports=Lt;ae.exports.parse=$e;ae.exports.compile=Er;ae.exports.tokensToFunction=_t;ae.exports.tokensToRegExp=Ct;var Pr=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function $e(e,t){for(var r=[],n=0,o=0,i="",c=t&&t.delimiter||"/",u;(u=Pr.exec(e))!=null;){var p=u[0],a=u[1],s=u.index;if(i+=e.slice(o,s),o=s+p.length,a){i+=a[1];continue}var f=e[o],l=u[2],h=u[3],m=u[4],O=u[5],b=u[6],L=u[7];i&&(r.push(i),i="");var D=l!=null&&f!=null&&f!==l,j=b==="+"||b==="*",B=b==="?"||b==="*",V=u[2]||c,x=m||O;r.push({name:h||n++,prefix:l||"",delimiter:V,optional:B,repeat:j,partial:D,asterisk:!!L,pattern:x?br(x):L?".*":"[^"+ye(V)+"]+?"})}return o<e.length&&(i+=e.substr(o)),i&&r.push(i),r}function Er(e,t){return _t($e(e,t),t)}function wr(e){return encodeURI(e).replace(/[\/?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function Tr(e){return encodeURI(e).replace(/[?#]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function _t(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)typeof e[n]=="object"&&(r[n]=new RegExp("^(?:"+e[n].pattern+")$",je(t)));return function(o,i){for(var c="",u=o||{},p=i||{},a=p.pretty?wr:encodeURIComponent,s=0;s<e.length;s++){var f=e[s];if(typeof f=="string"){c+=f;continue}var l=u[f.name],h;if(l==null)if(f.optional){f.partial&&(c+=f.prefix);continue}else throw new TypeError('Expected "'+f.name+'" to be defined');if(ge(l)){if(!f.repeat)throw new TypeError('Expected "'+f.name+'" to not repeat, but received `'+JSON.stringify(l)+"`");if(l.length===0){if(f.optional)continue;throw new TypeError('Expected "'+f.name+'" to not be empty')}for(var m=0;m<l.length;m++){if(h=a(l[m]),!r[s].test(h))throw new TypeError('Expected all "'+f.name+'" to match "'+f.pattern+'", but received `'+JSON.stringify(h)+"`");c+=(m===0?f.prefix:f.delimiter)+h}continue}if(h=f.asterisk?Tr(l):a(l),!r[s].test(h))throw new TypeError('Expected "'+f.name+'" to match "'+f.pattern+'", but received "'+h+'"');c+=f.prefix+h}return c}}function ye(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function br(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function He(e,t){return e.keys=t,e}function je(e){return e&&e.sensitive?"":"i"}function Nr(e,t){var r=e.source.match(/\((?!\?)/g);if(r)for(var n=0;n<r.length;n++)t.push({name:n,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return He(e,t)}function Rr(e,t,r){for(var n=[],o=0;o<e.length;o++)n.push(Lt(e[o],t,r).source);var i=new RegExp("(?:"+n.join("|")+")",je(r));return He(i,t)}function Or(e,t,r){return Ct($e(e,r),t,r)}function Ct(e,t,r){ge(t)||(r=t||r,t=[]),r=r||{};for(var n=r.strict,o=r.end!==!1,i="",c=0;c<e.length;c++){var u=e[c];if(typeof u=="string")i+=ye(u);else{var p=ye(u.prefix),a="(?:"+u.pattern+")";t.push(u),u.repeat&&(a+="(?:"+p+a+")*"),u.optional?u.partial?a=p+"("+a+")?":a="(?:"+p+"("+a+"))?":a=p+"("+a+")",i+=a}}var s=ye(r.delimiter||"/"),f=i.slice(-s.length)===s;return n||(i=(f?i.slice(0,-s.length):i)+"(?:"+s+"(?=$))?"),o?i+="$":i+=n&&f?"":"(?="+s+"|$)",He(new RegExp("^"+i,je(r)),t)}function Lt(e,t,r){return ge(t)||(r=t||r,t=[]),r=r||{},e instanceof RegExp?Nr(e,t):ge(e)?Rr(e,t,r):Or(e,t,r)}});var At=X(w=>{"use strict";var S=typeof Symbol=="function"&&Symbol.for,Ue=S?Symbol.for("react.element"):60103,Ie=S?Symbol.for("react.portal"):60106,Pe=S?Symbol.for("react.fragment"):60107,Ee=S?Symbol.for("react.strict_mode"):60108,we=S?Symbol.for("react.profiler"):60114,Te=S?Symbol.for("react.provider"):60109,be=S?Symbol.for("react.context"):60110,Be=S?Symbol.for("react.async_mode"):60111,Ne=S?Symbol.for("react.concurrent_mode"):60111,Re=S?Symbol.for("react.forward_ref"):60112,Oe=S?Symbol.for("react.suspense"):60113,xr=S?Symbol.for("react.suspense_list"):60120,xe=S?Symbol.for("react.memo"):60115,_e=S?Symbol.for("react.lazy"):60116,_r=S?Symbol.for("react.block"):60121,Cr=S?Symbol.for("react.fundamental"):60117,Lr=S?Symbol.for("react.responder"):60118,Sr=S?Symbol.for("react.scope"):60119;function k(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case Ue:switch(e=e.type,e){case Be:case Ne:case Pe:case we:case Ee:case Oe:return e;default:switch(e=e&&e.$$typeof,e){case be:case Re:case _e:case xe:case Te:return e;default:return t}}case Ie:return t}}}function Dt(e){return k(e)===Ne}w.AsyncMode=Be;w.ConcurrentMode=Ne;w.ContextConsumer=be;w.ContextProvider=Te;w.Element=Ue;w.ForwardRef=Re;w.Fragment=Pe;w.Lazy=_e;w.Memo=xe;w.Portal=Ie;w.Profiler=we;w.StrictMode=Ee;w.Suspense=Oe;w.isAsyncMode=function(e){return Dt(e)||k(e)===Be};w.isConcurrentMode=Dt;w.isContextConsumer=function(e){return k(e)===be};w.isContextProvider=function(e){return k(e)===Te};w.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===Ue};w.isForwardRef=function(e){return k(e)===Re};w.isFragment=function(e){return k(e)===Pe};w.isLazy=function(e){return k(e)===_e};w.isMemo=function(e){return k(e)===xe};w.isPortal=function(e){return k(e)===Ie};w.isProfiler=function(e){return k(e)===we};w.isStrictMode=function(e){return k(e)===Ee};w.isSuspense=function(e){return k(e)===Oe};w.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Pe||e===Ne||e===we||e===Ee||e===Oe||e===xr||typeof e=="object"&&e!==null&&(e.$$typeof===_e||e.$$typeof===xe||e.$$typeof===Te||e.$$typeof===be||e.$$typeof===Re||e.$$typeof===Cr||e.$$typeof===Lr||e.$$typeof===Sr||e.$$typeof===_r)};w.typeOf=k});var Ye=X((Vn,Mt)=>{"use strict";Mt.exports=At()});var Bt=X((Hn,It)=>{"use strict";var We=Ye(),Dr={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Ar={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Mr={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},jt={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},ke={};ke[We.ForwardRef]=Mr;ke[We.Memo]=jt;function Vt(e){return We.isMemo(e)?jt:ke[e.$$typeof]||Dr}var Vr=Object.defineProperty,$r=Object.getOwnPropertyNames,$t=Object.getOwnPropertySymbols,Hr=Object.getOwnPropertyDescriptor,jr=Object.getPrototypeOf,Ht=Object.prototype;function Ut(e,t,r){if(typeof t!="string"){if(Ht){var n=jr(t);n&&n!==Ht&&Ut(e,n,r)}var o=$r(t);$t&&(o=o.concat($t(t)));for(var i=Vt(e),c=Vt(t),u=0;u<o.length;++u){var p=o[u];if(!Ar[p]&&!(r&&r[p])&&!(c&&c[p])&&!(i&&i[p])){var a=Hr(t,p);try{Vr(e,p,a)}catch{}}}}return e}It.exports=Ut});var fn={};tt(fn,{createPageLayoutsApi:()=>pn});var Se={};tt(Se,{registerPageLayout:()=>ir,unregisterPageLayout:()=>ar});var ve=oe("piral-core");function ir(e,t,r){e.dispatch(n=>({...n,registry:{...n.registry,pageLayouts:(0,ve.withKey)(n.registry.pageLayouts,t,r)}}))}function ar(e,t){e.dispatch(r=>({...r,registry:{...r.registry,pageLayouts:(0,ve.withoutKey)(r.registry.pageLayouts,t)}}))}var Qt=oe("piral-core");var Ze=oe("react");function ue(e,t){return ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},ue(e,t)}function W(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,ue(e,t)}var R=ie(oe("react")),Ge=ie(pt());function C(){return C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},C.apply(this,arguments)}function me(e){return e.charAt(0)==="/"}function De(e,t){for(var r=t,n=r+1,o=e.length;n<o;r+=1,n+=1)e[r]=e[n];e.pop()}function ur(e,t){t===void 0&&(t="");var r=e&&e.split("/")||[],n=t&&t.split("/")||[],o=e&&me(e),i=t&&me(t),c=o||i;if(e&&me(e)?n=r:r.length&&(n.pop(),n=n.concat(r)),!n.length)return"/";var u;if(n.length){var p=n[n.length-1];u=p==="."||p===".."||p===""}else u=!1;for(var a=0,s=n.length;s>=0;s--){var f=n[s];f==="."?De(n,s):f===".."?(De(n,s),a++):a&&(De(n,s),a--)}if(!c)for(;a--;a)n.unshift("..");c&&n[0]!==""&&(!n[0]||!me(n[0]))&&n.unshift("");var l=n.join("/");return u&&l.substr(-1)!=="/"&&(l+="/"),l}var ft=ur;var pr=!0,Ae="Invariant failed";function J(e,t){if(!e){if(pr)throw new Error(Ae);var r=typeof t=="function"?t():t,n=r?"".concat(Ae,": ").concat(r):Ae;throw new Error(n)}}function fe(e){return e.charAt(0)==="/"?e:"/"+e}function lt(e){return e.charAt(0)==="/"?e.substr(1):e}function fr(e,t){return e.toLowerCase().indexOf(t.toLowerCase())===0&&"/?#".indexOf(e.charAt(t.length))!==-1}function gt(e,t){return fr(e,t)?e.substr(t.length):e}function Pt(e){return e.charAt(e.length-1)==="/"?e.slice(0,-1):e}function lr(e){var t=e||"/",r="",n="",o=t.indexOf("#");o!==-1&&(n=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return i!==-1&&(r=t.substr(i),t=t.substr(0,i)),{pathname:t,search:r==="?"?"":r,hash:n==="#"?"":n}}function M(e){var t=e.pathname,r=e.search,n=e.hash,o=t||"/";return r&&r!=="?"&&(o+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(o+=n.charAt(0)==="#"?n:"#"+n),o}function H(e,t,r,n){var o;typeof e=="string"?(o=lr(e),o.state=t):(o=C({},e),o.pathname===void 0&&(o.pathname=""),o.search?o.search.charAt(0)!=="?"&&(o.search="?"+o.search):o.search="",o.hash?o.hash.charAt(0)!=="#"&&(o.hash="#"+o.hash):o.hash="",t!==void 0&&o.state===void 0&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(i){throw i instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):i}return r&&(o.key=r),n?o.pathname?o.pathname.charAt(0)!=="/"&&(o.pathname=ft(o.pathname,n.pathname)):o.pathname=n.pathname:o.pathname||(o.pathname="/"),o}function Ve(){var e=null;function t(c){return e=c,function(){e===c&&(e=null)}}function r(c,u,p,a){if(e!=null){var s=typeof e=="function"?e(c,u):e;typeof s=="string"?typeof p=="function"?p(s,a):a(!0):a(s!==!1)}else a(!0)}var n=[];function o(c){var u=!0;function p(){u&&c.apply(void 0,arguments)}return n.push(p),function(){u=!1,n=n.filter(function(a){return a!==p})}}function i(){for(var c=arguments.length,u=new Array(c),p=0;p<c;p++)u[p]=arguments[p];n.forEach(function(a){return a.apply(void 0,u)})}return{setPrompt:t,confirmTransitionTo:r,appendListener:o,notifyListeners:i}}var Et=!!(typeof window<"u"&&window.document&&window.document.createElement);function wt(e,t){t(window.confirm(e))}function dr(){var e=window.navigator.userAgent;return(e.indexOf("Android 2.")!==-1||e.indexOf("Android 4.0")!==-1)&&e.indexOf("Mobile Safari")!==-1&&e.indexOf("Chrome")===-1&&e.indexOf("Windows Phone")===-1?!1:window.history&&"pushState"in window.history}function hr(){return window.navigator.userAgent.indexOf("Trident")===-1}function vr(){return window.navigator.userAgent.indexOf("Firefox")===-1}function mr(e){return e.state===void 0&&navigator.userAgent.indexOf("CriOS")===-1}var dt="popstate",ht="hashchange";function vt(){try{return window.history.state||{}}catch{return{}}}function Tt(e){e===void 0&&(e={}),Et||J(!1);var t=window.history,r=dr(),n=!hr(),o=e,i=o.forceRefresh,c=i===void 0?!1:i,u=o.getUserConfirmation,p=u===void 0?wt:u,a=o.keyLength,s=a===void 0?6:a,f=e.basename?Pt(fe(e.basename)):"";function l(g){var T=g||{},d=T.key,v=T.state,E=window.location,N=E.pathname,G=E.search,Y=E.hash,I=N+G+Y;return f&&(I=gt(I,f)),H(I,v,d)}function h(){return Math.random().toString(36).substr(2,s)}var m=Ve();function O(g){C(F,g),F.length=t.length,m.notifyListeners(F.location,F.action)}function b(g){mr(g)||j(l(g.state))}function L(){j(l(vt()))}var D=!1;function j(g){if(D)D=!1,O();else{var T="POP";m.confirmTransitionTo(g,T,p,function(d){d?O({action:T,location:g}):B(g)})}}function B(g){var T=F.location,d=x.indexOf(T.key);d===-1&&(d=0);var v=x.indexOf(g.key);v===-1&&(v=0);var E=d-v;E&&(D=!0,_(E))}var V=l(vt()),x=[V.key];function P(g){return f+M(g)}function y(g,T){var d="PUSH",v=H(g,T,h(),F.location);m.confirmTransitionTo(v,d,p,function(E){if(E){var N=P(v),G=v.key,Y=v.state;if(r)if(t.pushState({key:G,state:Y},null,N),c)window.location.href=N;else{var I=x.indexOf(F.location.key),ne=x.slice(0,I+1);ne.push(v.key),x=ne,O({action:d,location:v})}else window.location.href=N}})}function A(g,T){var d="REPLACE",v=H(g,T,h(),F.location);m.confirmTransitionTo(v,d,p,function(E){if(E){var N=P(v),G=v.key,Y=v.state;if(r)if(t.replaceState({key:G,state:Y},null,N),c)window.location.replace(N);else{var I=x.indexOf(F.location.key);I!==-1&&(x[I]=v.key),O({action:d,location:v})}else window.location.replace(N)}})}function _(g){t.go(g)}function $(){_(-1)}function q(){_(1)}var Z=0;function z(g){Z+=g,Z===1&&g===1?(window.addEventListener(dt,b),n&&window.addEventListener(ht,L)):Z===0&&(window.removeEventListener(dt,b),n&&window.removeEventListener(ht,L))}var U=!1;function te(g){g===void 0&&(g=!1);var T=m.setPrompt(g);return U||(z(1),U=!0),function(){return U&&(U=!1,z(-1)),T()}}function re(g){var T=m.appendListener(g);return z(1),function(){z(-1),T()}}var F={length:t.length,action:"POP",location:V,createHref:P,push:y,replace:A,go:_,goBack:$,goForward:q,block:te,listen:re};return F}var mt="hashchange",yr={hashbang:{encodePath:function(t){return t.charAt(0)==="!"?t:"!/"+lt(t)},decodePath:function(t){return t.charAt(0)==="!"?t.substr(1):t}},noslash:{encodePath:lt,decodePath:fe},slash:{encodePath:fe,decodePath:fe}};function bt(e){var t=e.indexOf("#");return t===-1?e:e.slice(0,t)}function pe(){var e=window.location.href,t=e.indexOf("#");return t===-1?"":e.substring(t+1)}function gr(e){window.location.hash=e}function Me(e){window.location.replace(bt(window.location.href)+"#"+e)}function Nt(e){e===void 0&&(e={}),Et||J(!1);var t=window.history,r=vr(),n=e,o=n.getUserConfirmation,i=o===void 0?wt:o,c=n.hashType,u=c===void 0?"slash":c,p=e.basename?Pt(fe(e.basename)):"",a=yr[u],s=a.encodePath,f=a.decodePath;function l(){var d=f(pe());return p&&(d=gt(d,p)),H(d)}var h=Ve();function m(d){C(T,d),T.length=t.length,h.notifyListeners(T.location,T.action)}var O=!1,b=null;function L(d,v){return d.pathname===v.pathname&&d.search===v.search&&d.hash===v.hash}function D(){var d=pe(),v=s(d);if(d!==v)Me(v);else{var E=l(),N=T.location;if(!O&&L(N,E)||b===M(E))return;b=null,j(E)}}function j(d){if(O)O=!1,m();else{var v="POP";h.confirmTransitionTo(d,v,i,function(E){E?m({action:v,location:d}):B(d)})}}function B(d){var v=T.location,E=y.lastIndexOf(M(v));E===-1&&(E=0);var N=y.lastIndexOf(M(d));N===-1&&(N=0);var G=E-N;G&&(O=!0,q(G))}var V=pe(),x=s(V);V!==x&&Me(x);var P=l(),y=[M(P)];function A(d){var v=document.querySelector("base"),E="";return v&&v.getAttribute("href")&&(E=bt(window.location.href)),E+"#"+s(p+M(d))}function _(d,v){var E="PUSH",N=H(d,void 0,void 0,T.location);h.confirmTransitionTo(N,E,i,function(G){if(G){var Y=M(N),I=s(p+Y),ne=pe()!==I;if(ne){b=Y,gr(I);var de=y.lastIndexOf(M(T.location)),et=y.slice(0,de+1);et.push(Y),y=et,m({action:E,location:N})}else m()}})}function $(d,v){var E="REPLACE",N=H(d,void 0,void 0,T.location);h.confirmTransitionTo(N,E,i,function(G){if(G){var Y=M(N),I=s(p+Y),ne=pe()!==I;ne&&(b=Y,Me(I));var de=y.indexOf(M(T.location));de!==-1&&(y[de]=Y),m({action:E,location:N})}})}function q(d){t.go(d)}function Z(){q(-1)}function z(){q(1)}var U=0;function te(d){U+=d,U===1&&d===1?window.addEventListener(mt,D):U===0&&window.removeEventListener(mt,D)}var re=!1;function F(d){d===void 0&&(d=!1);var v=h.setPrompt(d);return re||(te(1),re=!0),function(){return re&&(re=!1,te(-1)),v()}}function g(d){var v=h.appendListener(d);return te(1),function(){te(-1),v()}}var T={length:t.length,action:"POP",location:P,createHref:A,push:_,replace:$,go:q,goBack:Z,goForward:z,block:F,listen:g};return T}function yt(e,t,r){return Math.min(Math.max(e,t),r)}function Rt(e){e===void 0&&(e={});var t=e,r=t.getUserConfirmation,n=t.initialEntries,o=n===void 0?["/"]:n,i=t.initialIndex,c=i===void 0?0:i,u=t.keyLength,p=u===void 0?6:u,a=Ve();function s(y){C(P,y),P.length=P.entries.length,a.notifyListeners(P.location,P.action)}function f(){return Math.random().toString(36).substr(2,p)}var l=yt(c,0,o.length-1),h=o.map(function(y){return typeof y=="string"?H(y,void 0,f()):H(y,void 0,y.key||f())}),m=M;function O(y,A){var _="PUSH",$=H(y,A,f(),P.location);a.confirmTransitionTo($,_,r,function(q){if(q){var Z=P.index,z=Z+1,U=P.entries.slice(0);U.length>z?U.splice(z,U.length-z,$):U.push($),s({action:_,location:$,index:z,entries:U})}})}function b(y,A){var _="REPLACE",$=H(y,A,f(),P.location);a.confirmTransitionTo($,_,r,function(q){q&&(P.entries[P.index]=$,s({action:_,location:$}))})}function L(y){var A=yt(P.index+y,0,P.entries.length-1),_="POP",$=P.entries[A];a.confirmTransitionTo($,_,r,function(q){q?s({action:_,location:$,index:A}):s()})}function D(){L(-1)}function j(){L(1)}function B(y){var A=P.index+y;return A>=0&&A<P.entries.length}function V(y){return y===void 0&&(y=!1),a.setPrompt(y)}function x(y){return a.appendListener(y)}var P={length:h.length,action:"POP",location:h[l],index:l,entries:h,createHref:m,push:O,replace:b,go:L,goBack:D,goForward:j,canGo:B,block:V,listen:x};return P}var Gt=ie(St()),Wn=ie(Ye());function ee(e,t){if(e==null)return{};var r={},n=Object.keys(e),o,i;for(i=0;i<n.length;i++)o=n[i],!(t.indexOf(o)>=0)&&(r[o]=e[o]);return r}var Ur=ie(Bt()),qe=1073741823,Yt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:{};function Ir(){var e="__global_unique_id__";return Yt[e]=(Yt[e]||0)+1}function Br(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Yr(e){var t=[];return{on:function(n){t.push(n)},off:function(n){t=t.filter(function(o){return o!==n})},get:function(){return e},set:function(n,o){e=n,t.forEach(function(i){return i(e,o)})}}}function Wr(e){return Array.isArray(e)?e[0]:e}function kr(e,t){var r,n,o="__create-react-context-"+Ir()+"__",i=function(u){W(p,u);function p(){for(var s,f=arguments.length,l=new Array(f),h=0;h<f;h++)l[h]=arguments[h];return s=u.call.apply(u,[this].concat(l))||this,s.emitter=Yr(s.props.value),s}var a=p.prototype;return a.getChildContext=function(){var f;return f={},f[o]=this.emitter,f},a.componentWillReceiveProps=function(f){if(this.props.value!==f.value){var l=this.props.value,h=f.value,m;Br(l,h)?m=0:(m=typeof t=="function"?t(l,h):qe,m|=0,m!==0&&this.emitter.set(f.value,m))}},a.render=function(){return this.props.children},p}(R.default.Component);i.childContextTypes=(r={},r[o]=Ge.default.object.isRequired,r);var c=function(u){W(p,u);function p(){for(var s,f=arguments.length,l=new Array(f),h=0;h<f;h++)l[h]=arguments[h];return s=u.call.apply(u,[this].concat(l))||this,s.observedBits=void 0,s.state={value:s.getValue()},s.onUpdate=function(m,O){var b=s.observedBits|0;(b&O)!==0&&s.setState({value:s.getValue()})},s}var a=p.prototype;return a.componentWillReceiveProps=function(f){var l=f.observedBits;this.observedBits=l??qe},a.componentDidMount=function(){this.context[o]&&this.context[o].on(this.onUpdate);var f=this.props.observedBits;this.observedBits=f??qe},a.componentWillUnmount=function(){this.context[o]&&this.context[o].off(this.onUpdate)},a.getValue=function(){return this.context[o]?this.context[o].get():e},a.render=function(){return Wr(this.props.children)(this.state.value)},p}(R.default.Component);return c.contextTypes=(n={},n[o]=Ge.default.object,n),{Provider:i,Consumer:c}}var qr=R.default.createContext||kr,Kt=function(t){var r=qr();return r.displayName=t,r},Fr=Kt("Router-History"),Q=Kt("Router"),se=function(e){W(t,e),t.computeRootMatch=function(o){return{path:"/",url:"/",params:{},isExact:o==="/"}};function t(n){var o;return o=e.call(this,n)||this,o.state={location:n.history.location},o._isMounted=!1,o._pendingLocation=null,n.staticContext||(o.unlisten=n.history.listen(function(i){o._pendingLocation=i})),o}var r=t.prototype;return r.componentDidMount=function(){var o=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen(function(i){o._isMounted&&o.setState({location:i})})),this._pendingLocation&&this.setState({location:this._pendingLocation})},r.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},r.render=function(){return R.default.createElement(Q.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},R.default.createElement(Fr.Provider,{children:this.props.children||null,value:this.props.history}))},t}(R.default.Component),Gr=function(e){W(t,e);function t(){for(var n,o=arguments.length,i=new Array(o),c=0;c<o;c++)i[c]=arguments[c];return n=e.call.apply(e,[this].concat(i))||this,n.history=Rt(n.props),n}var r=t.prototype;return r.render=function(){return R.default.createElement(se,{history:this.history,children:this.props.children})},t}(R.default.Component),Fn=function(e){W(t,e);function t(){return e.apply(this,arguments)||this}var r=t.prototype;return r.componentDidMount=function(){this.props.onMount&&this.props.onMount.call(this,this)},r.componentDidUpdate=function(o){this.props.onUpdate&&this.props.onUpdate.call(this,this,o)},r.componentWillUnmount=function(){this.props.onUnmount&&this.props.onUnmount.call(this,this)},r.render=function(){return null},t}(R.default.Component);var Wt={},Kr=1e4,kt=0;function zr(e,t){var r=""+t.end+t.strict+t.sensitive,n=Wt[r]||(Wt[r]={});if(n[e])return n[e];var o=[],i=(0,Gt.default)(e,o,t),c={regexp:i,keys:o};return kt<Kr&&(n[e]=c,kt++),c}function le(e,t){t===void 0&&(t={}),(typeof t=="string"||Array.isArray(t))&&(t={path:t});var r=t,n=r.path,o=r.exact,i=o===void 0?!1:o,c=r.strict,u=c===void 0?!1:c,p=r.sensitive,a=p===void 0?!1:p,s=[].concat(n);return s.reduce(function(f,l){if(!l&&l!=="")return null;if(f)return f;var h=zr(l,{end:i,strict:u,sensitive:a}),m=h.regexp,O=h.keys,b=m.exec(e);if(!b)return null;var L=b[0],D=b.slice(1),j=e===L;return i&&!j?null:{path:l,url:l==="/"&&L===""?"/":L,isExact:j,params:O.reduce(function(B,V,x){return B[V.name]=D[x],B},{})}},null)}function Jr(e){return R.default.Children.count(e)===0}var Xr=function(e){W(t,e);function t(){return e.apply(this,arguments)||this}var r=t.prototype;return r.render=function(){var o=this;return R.default.createElement(Q.Consumer,null,function(i){i||J(!1);var c=o.props.location||i.location,u=o.props.computedMatch?o.props.computedMatch:o.props.path?le(c.pathname,o.props):i.match,p=C({},i,{location:c,match:u}),a=o.props,s=a.children,f=a.component,l=a.render;return Array.isArray(s)&&Jr(s)&&(s=null),R.default.createElement(Q.Provider,{value:p},p.match?s?typeof s=="function"?s(p):s:f?R.default.createElement(f,p):l?l(p):null:typeof s=="function"?s(p):null)})},t}(R.default.Component);function Ke(e){return e.charAt(0)==="/"?e:"/"+e}function Qr(e,t){return e?C({},t,{pathname:Ke(e)+t.pathname}):t}function Zr(e,t){if(!e)return t;var r=Ke(e);return t.pathname.indexOf(r)!==0?t:C({},t,{pathname:t.pathname.substr(r.length)})}function qt(e){return typeof e=="string"?e:M(e)}function Fe(e){return function(){J(!1)}}function Ft(){}var en=function(e){W(t,e);function t(){for(var n,o=arguments.length,i=new Array(o),c=0;c<o;c++)i[c]=arguments[c];return n=e.call.apply(e,[this].concat(i))||this,n.handlePush=function(u){return n.navigateTo(u,"PUSH")},n.handleReplace=function(u){return n.navigateTo(u,"REPLACE")},n.handleListen=function(){return Ft},n.handleBlock=function(){return Ft},n}var r=t.prototype;return r.navigateTo=function(o,i){var c=this.props,u=c.basename,p=u===void 0?"":u,a=c.context,s=a===void 0?{}:a;s.action=i,s.location=Qr(p,H(o)),s.url=qt(s.location)},r.render=function(){var o=this.props,i=o.basename,c=i===void 0?"":i,u=o.context,p=u===void 0?{}:u,a=o.location,s=a===void 0?"/":a,f=ee(o,["basename","context","location"]),l={createHref:function(m){return Ke(c+qt(m))},action:"POP",location:Zr(c,H(s)),push:this.handlePush,replace:this.handleReplace,go:Fe("go"),goBack:Fe("goBack"),goForward:Fe("goForward"),listen:this.handleListen,block:this.handleBlock};return R.default.createElement(se,C({},f,{history:l,staticContext:p}))},t}(R.default.Component),tn=function(e){W(t,e);function t(){return e.apply(this,arguments)||this}var r=t.prototype;return r.render=function(){var o=this;return R.default.createElement(Q.Consumer,null,function(i){i||J(!1);var c=o.props.location||i.location,u,p;return R.default.Children.forEach(o.props.children,function(a){if(p==null&&R.default.isValidElement(a)){u=a;var s=a.props.path||a.props.from;p=s?le(c.pathname,C({},a.props,{path:s})):i.match}}),p?R.default.cloneElement(u,{location:c,computedMatch:p}):null})},t}(R.default.Component);var rn=R.default.useContext;function ze(){return rn(Q).location}var K=ie(oe("react"));var so=function(e){W(t,e);function t(){for(var n,o=arguments.length,i=new Array(o),c=0;c<o;c++)i[c]=arguments[c];return n=e.call.apply(e,[this].concat(i))||this,n.history=Tt(n.props),n}var r=t.prototype;return r.render=function(){return K.default.createElement(se,{history:this.history,children:this.props.children})},t}(K.default.Component),co=function(e){W(t,e);function t(){for(var n,o=arguments.length,i=new Array(o),c=0;c<o;c++)i[c]=arguments[c];return n=e.call.apply(e,[this].concat(i))||this,n.history=Nt(n.props),n}var r=t.prototype;return r.render=function(){return K.default.createElement(se,{history:this.history,children:this.props.children})},t}(K.default.Component),Je=function(t,r){return typeof t=="function"?t(r):t},Xe=function(t,r){return typeof t=="string"?H(t,null,null,r):t},Qe=function(t){return t},ce=K.default.forwardRef;typeof ce>"u"&&(ce=Qe);function nn(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}var on=ce(function(e,t){var r=e.innerRef,n=e.navigate,o=e.onClick,i=ee(e,["innerRef","navigate","onClick"]),c=i.target,u=C({},i,{onClick:function(a){try{o&&o(a)}catch(s){throw a.preventDefault(),s}!a.defaultPrevented&&a.button===0&&(!c||c==="_self")&&!nn(a)&&(a.preventDefault(),n())}});return Qe!==ce?u.ref=t||r:u.ref=r,K.default.createElement("a",u)}),an=ce(function(e,t){var r=e.component,n=r===void 0?on:r,o=e.replace,i=e.to,c=e.innerRef,u=ee(e,["component","replace","to","innerRef"]);return K.default.createElement(Q.Consumer,null,function(p){p||J(!1);var a=p.history,s=Xe(Je(i,p.location),p.location),f=s?a.createHref(s):"",l=C({},u,{href:f,navigate:function(){var m=Je(i,p.location),O=M(p.location)===M(Xe(m)),b=o||O?a.replace:a.push;b(m)}});return Qe!==ce?l.ref=t||c:l.innerRef=c,K.default.createElement(n,l)})});var zt=function(t){return t},Ce=K.default.forwardRef;typeof Ce>"u"&&(Ce=zt);function sn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter(function(n){return n}).join(" ")}var uo=Ce(function(e,t){var r=e["aria-current"],n=r===void 0?"page":r,o=e.activeClassName,i=o===void 0?"active":o,c=e.activeStyle,u=e.className,p=e.exact,a=e.isActive,s=e.location,f=e.sensitive,l=e.strict,h=e.style,m=e.to,O=e.innerRef,b=ee(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return K.default.createElement(Q.Consumer,null,function(L){L||J(!1);var D=s||L.location,j=Xe(Je(m,D),D),B=j.pathname,V=B&&B.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),x=V?le(D.pathname,{path:V,exact:p,sensitive:f,strict:l}):null,P=!!(a?a(x,D):x),y=typeof u=="function"?u(P):u,A=typeof h=="function"?h(P):h;P&&(y=sn(y,i),A=C({},A,c));var _=C({"aria-current":P&&n||null,className:y,style:A,to:j},b);return zt!==Ce?_.ref=t||O:_.innerRef=O,K.default.createElement(an,_)})});var Le=oe("piral-core"),cn=e=>(0,Le.defaultRender)(e.children);function un(e,t="default"){return r=>{let n=ze(),i=r.paths.find(p=>p.matcher.test(n.pathname))?.meta?.layout||t,u=(0,Le.useGlobalState)(p=>p.registry.pageLayouts[i]||p.registry.pageLayouts[t])?.component||cn;return(0,Ze.createElement)(u,r,(0,Ze.createElement)(e,r))}}function Jt(e){let t={};return e&&typeof e=="object"&&Object.keys(e).forEach(r=>{t[r]={pilet:void 0,component:e[r]}}),t}function Xt(e,t){return r=>({...r,components:{...r.components,RouteSwitch:un(r.components.RouteSwitch,t)},registry:{...r.registry,pageLayouts:e}})}function pn(e={}){let{layouts:t={},fallback:r}=e;return n=>{let o=i=>n.readState(c=>c.registry.pageLayouts[i]);return n.defineActions(Se),n.dispatch(Xt(Jt(t),r)),i=>{let c=i.meta.name;return{registerPageLayout(u,p){let a=o(u);if(!a||a.pilet===c){let s=(0,Qt.withApi)(n,p,i,"pageLayout");n.registerPageLayout(u,{component:s,pilet:c})}return()=>i.unregisterPageLayout(u)},unregisterPageLayout(u){o(u)?.pilet===c&&n.unregisterPageLayout(u)}}}}}return or(fn);})();
|
|
2
|
-
/*! Bundled license information:
|
|
3
|
-
|
|
4
|
-
react-is/cjs/react-is.production.min.js:
|
|
5
|
-
(** @license React v16.13.1
|
|
6
|
-
* react-is.production.min.js
|
|
7
|
-
*
|
|
8
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
9
|
-
*
|
|
10
|
-
* This source code is licensed under the MIT license found in the
|
|
11
|
-
* LICENSE file in the root directory of this source tree.
|
|
12
|
-
*)
|
|
13
|
-
*/
|
|
1
|
+
var piralPageLayouts=(()=>{var m=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var c=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,o)=>(typeof require<"u"?require:e)[o]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var L=(t,e)=>{for(var o in e)m(t,o,{get:e[o],enumerable:!0})},w=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of R(e))!b.call(t,a)&&a!==o&&m(t,a,{get:()=>e[a],enumerable:!(r=S(e,a))||r.enumerable});return t};var G=t=>w(m({},"__esModule",{value:!0}),t);var W={};L(W,{createPageLayoutsApi:()=>E});var f={};L(f,{registerPageLayout:()=>x,unregisterPageLayout:()=>T});var P=c("piral-core");function x(t,e,o){t.dispatch(r=>({...r,registry:{...r.registry,pageLayouts:(0,P.withKey)(r.registry.pageLayouts,e,o)}}))}function T(t,e){t.dispatch(o=>({...o,registry:{...o.registry,pageLayouts:(0,P.withoutKey)(o.registry.pageLayouts,e)}}))}var d=c("piral-core");var u=c("react"),p=c("piral-core"),A=t=>(0,p.defaultRender)(t.children);function D(t,e="default"){return o=>{let{navigation:r}=(0,p.useGlobalStateContext)(),[a,i]=(0,u.useState)(e);(0,u.useEffect)(()=>r.listen(({location:s})=>{let y=o.paths.find(l=>l.matcher.test(s.pathname));i(y?.meta?.layout||e)}),[]);let n=(0,p.useGlobalState)(s=>s.registry.pageLayouts[a]||s.registry.pageLayouts[e])?.component||A;return(0,u.createElement)(n,o,(0,u.createElement)(t,o))}}function h(t){let e={};return t&&typeof t=="object"&&Object.keys(t).forEach(o=>{e[o]={pilet:void 0,component:t[o]}}),e}function C(t,e){return o=>({...o,components:{...o.components,RouteSwitch:D(o.components.RouteSwitch,e)},registry:{...o.registry,pageLayouts:t}})}function E(t={}){let{layouts:e={},fallback:o}=t;return r=>{let a=i=>r.readState(g=>g.registry.pageLayouts[i]);return r.defineActions(f),r.dispatch(C(h(e),o)),i=>{let g=i.meta.name;return{registerPageLayout(n,s){let y=a(n);if(!y||y.pilet===g){let l=(0,d.withApi)(r,s,i,"pageLayout");r.registerPageLayout(n,{component:l,pilet:g})}return()=>i.unregisterPageLayout(n)},unregisterPageLayout(n){a(n)?.pilet===g&&r.unregisterPageLayout(n)}}}}}return G(W);})();
|
package/src/types.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { PropsWithChildren } from 'react';
|
|
2
|
-
import type { RouteComponentProps } from 'react-router';
|
|
3
2
|
import type {
|
|
4
3
|
AnyComponent,
|
|
5
4
|
BaseRegistration,
|
|
@@ -53,7 +52,7 @@ export interface PageLayoutRegistration extends BaseRegistration {
|
|
|
53
52
|
/**
|
|
54
53
|
* The error used when a page layout crashed.
|
|
55
54
|
*/
|
|
56
|
-
export interface PageLayoutErrorInfoProps
|
|
55
|
+
export interface PageLayoutErrorInfoProps {
|
|
57
56
|
/**
|
|
58
57
|
* The type of the error.
|
|
59
58
|
*/
|
package/src/utils.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import { ComponentType, createElement, PropsWithChildren } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { ComponentType, createElement, PropsWithChildren, useEffect, useState } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
PageComponentProps,
|
|
4
|
+
Dict,
|
|
5
|
+
defaultRender,
|
|
6
|
+
useGlobalState,
|
|
7
|
+
RouteSwitchProps,
|
|
8
|
+
GlobalState,
|
|
9
|
+
useGlobalStateContext,
|
|
10
|
+
} from 'piral-core';
|
|
4
11
|
import type { PageLayoutRegistration } from './types';
|
|
5
12
|
|
|
6
13
|
const DefaultLayout: React.FC<PropsWithChildren> = (props) => defaultRender(props.children);
|
|
@@ -10,9 +17,16 @@ function createPageWrapper(
|
|
|
10
17
|
fallback = 'default',
|
|
11
18
|
): ComponentType<RouteSwitchProps> {
|
|
12
19
|
return (props) => {
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
20
|
+
const { navigation } = useGlobalStateContext();
|
|
21
|
+
const [layout, setLayout] = useState(fallback);
|
|
22
|
+
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
return navigation.listen(({ location }) => {
|
|
25
|
+
const data = props.paths.find((m) => m.matcher.test(location.pathname));
|
|
26
|
+
setLayout(data?.meta?.layout || fallback);
|
|
27
|
+
});
|
|
28
|
+
}, []);
|
|
29
|
+
|
|
16
30
|
const registration = useGlobalState((s) => s.registry.pageLayouts[layout] || s.registry.pageLayouts[fallback]);
|
|
17
31
|
const Layout = registration?.component || DefaultLayout;
|
|
18
32
|
return createElement(Layout, props, createElement(Routes, props));
|