one 1.15.0 → 1.15.2
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/dist/cjs/router/interceptRoutes.cjs +2 -21
- package/dist/cjs/router/interceptRoutes.native.js +2 -21
- package/dist/cjs/router/interceptRoutes.native.js.map +1 -1
- package/dist/cjs/router/matchers.cjs +31 -0
- package/dist/cjs/router/matchers.native.js +31 -0
- package/dist/cjs/router/matchers.native.js.map +1 -1
- package/dist/cjs/views/Navigator.cjs +15 -10
- package/dist/cjs/views/Navigator.native.js +17 -30
- package/dist/cjs/views/Navigator.native.js.map +1 -1
- package/dist/esm/router/interceptRoutes.mjs +3 -22
- package/dist/esm/router/interceptRoutes.mjs.map +1 -1
- package/dist/esm/router/interceptRoutes.native.js +3 -22
- package/dist/esm/router/interceptRoutes.native.js.map +1 -1
- package/dist/esm/router/matchers.mjs +31 -1
- package/dist/esm/router/matchers.mjs.map +1 -1
- package/dist/esm/router/matchers.native.js +31 -1
- package/dist/esm/router/matchers.native.js.map +1 -1
- package/dist/esm/views/Navigator.mjs +15 -10
- package/dist/esm/views/Navigator.mjs.map +1 -1
- package/dist/esm/views/Navigator.native.js +17 -30
- package/dist/esm/views/Navigator.native.js.map +1 -1
- package/package.json +9 -9
- package/src/router/interceptRoutes.ts +12 -43
- package/src/router/matchers.ts +58 -0
- package/src/views/Navigator.tsx +48 -19
- package/types/router/interceptRoutes.d.ts.map +1 -1
- package/types/router/matchers.d.ts +22 -0
- package/types/router/matchers.d.ts.map +1 -1
- package/types/views/Navigator.d.ts.map +1 -1
|
@@ -68,27 +68,8 @@ function getLayoutPath(node) {
|
|
|
68
68
|
return "/" + path;
|
|
69
69
|
}
|
|
70
70
|
function isLayoutAncestorOfPath(layoutPath, currentPath) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if (normalizedLayout === "/") return true;
|
|
74
|
-
const layoutParts = normalizedLayout.split("/").filter(Boolean);
|
|
75
|
-
const currentParts = normalizedCurrent.split("/").filter(Boolean);
|
|
76
|
-
if (layoutParts.length > currentParts.length) return false;
|
|
77
|
-
for (let i = 0; i < layoutParts.length; i++) {
|
|
78
|
-
const layoutPart = layoutParts[i];
|
|
79
|
-
const currentPart = currentParts[i];
|
|
80
|
-
const dynamicMatch = (0, import_matchers.matchDynamicName)(layoutPart);
|
|
81
|
-
if (dynamicMatch) {
|
|
82
|
-
if (dynamicMatch.deep) {
|
|
83
|
-
return true;
|
|
84
|
-
}
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
if (layoutPart !== currentPart) {
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return true;
|
|
71
|
+
if (!layoutPath.replace(/\/+$/, "")) return true;
|
|
72
|
+
return (0, import_matchers.matchRoutePattern)(layoutPath, currentPath) !== null;
|
|
92
73
|
}
|
|
93
74
|
function findLayoutsWithSlotsAlongPath(rootNode, currentPath) {
|
|
94
75
|
if (!rootNode) return [];
|
|
@@ -90,27 +90,8 @@ function getLayoutPath(node) {
|
|
|
90
90
|
return "/" + path;
|
|
91
91
|
}
|
|
92
92
|
function isLayoutAncestorOfPath(layoutPath, currentPath) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (normalizedLayout === "/") return true;
|
|
96
|
-
var layoutParts = normalizedLayout.split("/").filter(Boolean);
|
|
97
|
-
var currentParts = normalizedCurrent.split("/").filter(Boolean);
|
|
98
|
-
if (layoutParts.length > currentParts.length) return false;
|
|
99
|
-
for (var i = 0; i < layoutParts.length; i++) {
|
|
100
|
-
var layoutPart = layoutParts[i];
|
|
101
|
-
var currentPart = currentParts[i];
|
|
102
|
-
var dynamicMatch = (0, import_matchers.matchDynamicName)(layoutPart);
|
|
103
|
-
if (dynamicMatch) {
|
|
104
|
-
if (dynamicMatch.deep) {
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
continue;
|
|
108
|
-
}
|
|
109
|
-
if (layoutPart !== currentPart) {
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return true;
|
|
93
|
+
if (!layoutPath.replace(/\/+$/, "")) return true;
|
|
94
|
+
return (0, import_matchers.matchRoutePattern)(layoutPath, currentPath) !== null;
|
|
114
95
|
}
|
|
115
96
|
function findLayoutsWithSlotsAlongPath(rootNode, currentPath) {
|
|
116
97
|
if (!rootNode) return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","interceptRoutes_exports","__export","closeIntercept","findInterceptRoute","getInterceptedActualPath","getNavigationType","getPreInterceptUrl","isHardNavigation","isInterceptedNavigation","isReturningFromIntercept","registerClearSlotStates","registerSetSlotState","restoreInterceptFromHistory","setNavigationType","setReturningFromIntercept","storeInterceptState","updateURLWithoutNavigation","module","exports","import_matchers","require","import_constants","navigationMode","type","collectAllLayoutsWithSlots","node","collected","arguments","length","slots","size","push","children","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","child","err","return","getLayoutPath","path","contextKey","replace","stripGroupSegmentsFromPath","isLayoutAncestorOfPath","layoutPath","currentPath","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","interceptRoutes_exports","__export","closeIntercept","findInterceptRoute","getInterceptedActualPath","getNavigationType","getPreInterceptUrl","isHardNavigation","isInterceptedNavigation","isReturningFromIntercept","registerClearSlotStates","registerSetSlotState","restoreInterceptFromHistory","setNavigationType","setReturningFromIntercept","storeInterceptState","updateURLWithoutNavigation","module","exports","import_matchers","require","import_constants","navigationMode","type","collectAllLayoutsWithSlots","node","collected","arguments","length","slots","size","push","children","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","child","err","return","getLayoutPath","path","contextKey","replace","stripGroupSegmentsFromPath","isLayoutAncestorOfPath","layoutPath","currentPath","matchRoutePattern","findLayoutsWithSlotsAlongPath","rootNode","allLayoutsWithSlots","ancestorLayouts","filter","layout","sort","a","b","depthA","split","Boolean","depthB","targetPath","isNative","layoutsWithSlots","i","layoutNode","slotName","slotConfig","result","findMatchingInterceptInSlot","interceptRoutes","interceptRoute","intercept","levels","interceptTargetPath","resolvedTargetPath","resolveInterceptTargetPath","params","matchPath","layoutContextKey","fullLayoutPath","slice","Infinity","basePath","pathParts","parentParts","parentPath","join","pattern","normalizedPath","normalizedPattern","patternParts","pathIndex","patternPart","dynamicMatch","matchDynamicName","deep","remaining","name","preInterceptUrl","href","window","location","pathname","search","history","pushState","__intercepted","__actualPath","__preInterceptUrl","clearSlotStatesCallback","callback","state","returningFromIntercept","back","_window_history_state","_ref"],"sources":["../../../src/router/interceptRoutes.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,uBAAA;AAAAC,QAAA,CAAAD,uBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,wBAAA,EAAAA,CAAA,KAAAA,wBAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA,gBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,wBAAA,EAAAA,CAAA,KAAAA,wBAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,2BAAA,EAAAA,CAAA,KAAAA,2BAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,yBAAA,EAAAA,CAAA,KAAAA,yBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,0BAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAvB,YAIO,CAAAK,uBAAA;AACP,IAAAmB,eAAA,GAAAC,OAAyB;AAazB,IAAIC,gBAAA,GAAkCD,OAAA;AAE/B,IAAAE,cAAS,SAAkB;AAChC,SAAAT,iBAAiBA,CAAAU,IAAA;EACnBD,cAAA,GAAAC,IAAA;AAEO;AACL,SAAOlB,kBAAA;EACT,OAAAiB,cAAA;AAEO;AACL,SAAOf,iBAAA,EAAmB;EAC5B,OAAAe,cAAA;AAoBA;AAIE,SAAIE,0BAAyBA,CAAAC,IAAO,EAAG;EACrC,IAAAC,SAAU,GAAAC,SAAS,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;EACrB,IAAAF,IAAA,CAAAI,KAAA,IAAAJ,IAAA,CAAAI,KAAA,CAAAC,IAAA;IAEAJ,SAAS,CAAAK,IAAA,CAAAN,IAAU;EACjB;EACE,IAAAA,IAAA,CAAAO,QAAA;IACF,IAAAC,yBAAA;MAAAC,iBAAA;MAAAC,cAAA;IACF;MAEA,KAAO,IAAAC,SAAA,GAAAX,IAAA,CAAAO,QAAA,CAAAK,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;QACT,IAAAS,KAAA,GAAAH,KAAA,CAAAxC,KAAA;QAQAyB,0BAAgD,CAAAkB,KAAA,EAAAhB,SAAA;MAE1C;IAMJ,SAAOiB,GAAA;MAGPT,iBAAa;MACfC,cAAA,GAAAQ,GAAA;IAOA,UAAS;MAEH,IAAC;QAGL,KAAOV,yBAAA,IAAAG,SAAkB,CAAAQ,MAAA,IAAY;UACvCR,SAAA,CAAAQ,MAAA;QAMA;MAIM,CAAC,SAAU;QAGT,IAAAV,iBAAA,EAAsB;UAGtB,MAAAC,cAAkB;QACtB;MACA;IACD;EAGD;EACE,OAAAT,SAAM;AACN;AACA,SAAAmB,aAAgBA,CAAApB,IAAA;EAClB,IAACqB,IAAA,GAAArB,IAAA,CAAAsB,UAAA,CAAAC,OAAA,cAAAA,OAAA,sBAAAA,OAAA;EAEDF,IAAA,GAAO,IAAA3B,eAAA,CAAA8B,0BAAA,EAAAH,IAAA;EACT,aAAAA,IAAA;AAeO;AAML,SAAII,uBAAAC,UAAU,EAAAC,WAAA;EACZ,KAAAD,UAAO,CAAAH,OAAA;EACT,WAAA7B,eAAA,CAAAkC,iBAAA,EAAAF,UAAA,EAAAC,WAAA;AAGA;AACE,SAAAE,6BAAOA,CAAAC,QAAA,EAAAH,WAAA;EACT,KAAAG,QAAA;EAGA,IAAAC,mBAAM,GAAmBhC,0BAAA,CAAA+B,QAA8B;EAEvD,IAAIE,eAAA,GAAiBD,mBAAc,CAAAE,MAAA,WAAAC,MAAA;IACjC,IAAAR,UAAO,GAAAN,aAAA,CAAAc,MAAA;IACT,OAAAT,sBAAA,CAAAC,UAAA,EAAAC,WAAA;EAIA;EACEK,eAAM,CAAAG,IAAA,CAAa,UAAAC,CAAA,EAAAC,CAAA;IAEnB,IAAAC,MAAA,GAAYlB,aAAU,CAAAgB,CAAA,EAAAG,KAAU,IAAK,EAAAN,MAAA,CAAWO,OAAQ,EAAArC,MAAA;IACtD,IAAAsC,MAAM,GAAArB,aAAS,CAAAiB,CAAA,EAAAE,KAAA,MAAAN,MAAA,CAAAO,OAAA,EAAArC,MAAA;IAAA,OACbmC,MAAA,GAAAG,MAAA;EAAA;EACA,OACAT,eAAA;AAAA;AACA,SACAtD,mBAAAgE,UAAA,EAAAZ,QAAA,EAAAH,WAAA;EAAA,IACF/B,gBAAA,CAAA+C,QAAA;IACA,OAAI;EACF;EAAO,IACT7D,gBAAA;IACF;EACF;EAEA,IAAA8D,gBAAO,GAAAf,6BAAA,CAAAC,QAAA,EAAAH,WAAA;EACT,IAAAiB,gBAAA,CAAAzC,MAAA;IAKA,OAAS;EAOP;EACE,SAAK0C,CAAA,GAAAD,gBAAe,CAAAzC,MAAW,MAAA0C,CAAA,OAAAA,CAAA;IAC7B,IAAAC,UAAA,GAAAF,gBAAA,CAAAC,CAAA;IACF,IAAArC,yBAAA;MAAAC,iBAAA;MAAAC,cAAA;IAEA;MAGA,KAAM,IAAAC,SAAA,GAAAmC,UAAqB,CAAA1C,KAAA,CAAAQ,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;QACzB,KAAAuC,QAAA,EAAAC,UAAA,IAAAlC,KAAA,CAAAxC,KAAA;QACA,IAAA2E,MAAA,GAAAC,2BAAA,CAAAR,UAAA,EAAAK,QAAA,EAAAC,UAAA,EAAAF,UAAA,EAAAnB,WAAA;QACA,IAAAsB,MAAA;UACF,OAAAA,MAAA;QAGA;MAEA;IACE,SAAO/B,GAAA;MAAAT,iBACL;MAAAC,cACA,GAAAQ,GAAA;IAAA,UACA;MAA6B,IAC7B;QACF,KAAAV,yBAAA,IAAAG,SAAA,CAAAQ,MAAA;UACFR,SAAA,CAAAQ,MAAA;QACF;MAEA,UAAO;QACT,IAAAV,iBAAA;UAWS,MAAAC,cAAA;QAMD;MACF;IAEJ;EAEE;EACF;AAEA;AAGE,SAAAwC,2BAA8BA,CAAAR,UAAM,EAAAK,QAAa,EAAAC,UAAA,EAAAF,UAAA,EAAAnB,WAAA;EACjD,IAAAnB,yBAAwB;IAAAC,iBAAA;IAAAC,cAAA;EAC1B;IAGA,KAAM,IAAAC,SAAY,GAAAqC,UAAW,CAAAG,eAAkB,CAAAvC,MAAO,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACtD,IAAM4C,cAAc,GAAAtC,KAAU,CAAAxC,KAAM;MACpC,IAAM,CAAA8E,cAAa,CAAAC,SAAY;QAC/B;MACF;MAWA,IAAS;QAAAC,MAAA;QAAUZ,UAAc,EAAAa;MAAgD,IAAAH,cAAA,CAAAC,SAAA;MAE/E,IAAMG,kBAAiB,GAAMC,0BAAyB,CAAAF,mBAAkB,EAAAD,MAAA,EAAAR,UAAA;MACxE,IAAMY,MAAA,GAAAC,SAAoB,CAAAjB,UAAM,EAAAc,kBAAwB,CAAE;MAE1D,IAAME,MAAA,KAAY;QACZ;UAEAN,cAAkC;UACpCL,QAAY;UAEhBa,gBAAoB,EAAAd,UAAa,CAAAxB,UAAa;UACtCoC;QACN;MAEA;IACE;EAEE,SAAAxC,GAAM;IACNT,iBAAI,GAAU;IAEZC,cAAO,GAAAQ,GAAA;EAAA,UACT;IACA;MACA,KAAAV,yBAAO,IAAAG,SAAA,CAAAQ,MAAA;QACTR,SAAO,CAAAQ,MAAA;MAEL;IACE;MAAO,IACTV,iBAAA;QACA,MAAAC,cAAoB;MACpB;IAAA;EACF;EAGA,WAAI;AACF;AAAO,SACT+C,2BAAAF,mBAAA,EAAAD,MAAA,EAAAR,UAAA;EACA,IAAAe,cAAA,GAAAzC,aAAA,CAAA0B,UAAA;EAAA,IACFpB,UAAA,GAAAmC,cAAA,gBAAAA,cAAA,CAAAC,KAAA;EACF,IAAAR,MAAA,KAAAS,QAAA;IAGA,OAAI,MAAAR,mBAAwB;EAC1B;EACF,IAAAD,MAAA;IAEA,IAAAU,QAAO,GAAAtC,UAAA,SAAAA,UAAA;IACT,OAAAsC,QAAA,SAAAT,mBAAA;EAOA;EAMO,IAAAU,SAAS,GAAAvC,UAAA,CAAAa,KAAA,IAA2B,EAAAN,MAAc,CAAAO,OAAA;EACvD,IAAI0B,WAAO,GAAAD,SAAW,CAAAH,KAAA,EAAa,GAAAR,MAAA;EAEjC,IAAAa,UAAA,GAAAD,WAAyB,CAAA/D,MAAA,GAAS,UAAW+D,WAAO,CAAAE,IAAS;EAE7D,OAAAD,UAAe,SAAAZ,mBAAA;AAAA;AACb,SACEI,UAAAtC,IAAe,EAAAgD,OAAA;EAAA,IAAAC,cACf,GAAc,MAAAjD,IAAA,CAAAE,OAAA,aAAAA,OAAA;EAAA,IAAAgD,iBACd,MAAmB,GAAAF,OAAA,CAAA9C,OAAA,aAAAA,OAAA;EAAA,IACrB0C,SAAA,GAAAK,cAAA,CAAA/B,KAAA,MAAAN,MAAA,CAAAO,OAAA;EAAA,IACAgC,YAAA,GAAAD,iBAAA,CAAAhC,KAAA,MAAAN,MAAA,CAAAO,OAAA;EAAA,IACAkB,MAAA;EAAA,IACFe,SAAA;EACF,SAAA5B,CAAA,MAAAA,CAAA,GAAA2B,YAAA,CAAArE,MAAA,EAAA0C,CAAA;IACF,IAAA6B,WAAA,GAAAF,YAAA,CAAA3B,CAAA;IAGI,IAAA8B,YAAA,OAAAjF,eAA+C,CAAAkF,gBAAA,EAAAF,WAAA;IAE5C,IAAAC,YAAS;MACd,IAAAA,YAAA,CAAAE,IAAA,EAA0B;QAC5B,IAAAC,SAAA,GAAAb,SAAA,CAAAH,KAAA,CAAAW,SAAA;QAMO,IAASK,SAAA,CAAA3E,MAA0B;UACpC,OAAO;QAEL;QACDuD,MAAO,CAAAiB,YAAA,CAAAI,IAAe,IAAAD,SAAA,CAAAV,IAAA;QACzB,OAAOV,MAAA;MACT;QAGA,IAAAe,SAAA,IAAAR,SAAyB,CAAA9D,MAAA;UAGzB;QAIA;QAEAuD,MAAO,CAAAiB,YAAA,CAAAI,IAAA,IAAAd,SAAA,CAAAQ,SAAA;QACTA,SAAA;MAKO;IACL,OAAI;MACJ,IAAOA,SAAO,IAAAR,SAAe,CAAA9D,MAAA,IAAA8D,SAAkB,CAAAQ,SAAA,MAAAC,WAAA;QACjD;MAKO;MACDD,SAAO;IACX;EACF;EAKO,IAAAA,SAAS,KAAAR,SAAA,CAAoC9D,MAAA;IAClD,OAAI,IAAO;EACX;EACF,OAAAuD,MAAA;AAMA;AAEO,IAAAsB,eAAS;AACd,SAAAzF,0BAAyBA,CAAA0F,IAAA;EAC3B,WAAAC,MAAA;IAEOF,eAAS,GAAAE,MAAA,CAAAC,QAAoC,CAAAC,QAAA,GAAAF,MAAA,CAAAC,QAAA,CAAAE,MAAA;IAClDH,MAAO,CAAAI,OAAA,CAAAC,SAAA;MACTC,aAAA;MAGIC,YAAA,EAAAR,IAAA;MAYGS,iBAAS,EAAAV;IACd,OAAAC,IAAA;EACF;AAGA;AACA,IAAIU,uBAAA,GAAuC;AAC3C,SAAI1G,uBAAqDA,CAAA2G,QAAA;EAElDD,uBAAS,GAAAC,QACd;AAIA;AACA,SAAAnH,eAAA;EACA,WAAAyG,MAAA,KAAsB;EACxB,IAAAW,KAAA,GAAAX,MAAA,CAAAI,OAAA,CAAAO,KAAA;EAMO,MAAAA,KAAS,aAAAA,KAAA,UAAuC,aAAAA,KAAA,CAAAL,aAAA;IACrD,OAAI,KAAO;EAEX;EACAM,sBAAY,OAAe;EACzBH,uBAAO,aAAAA,uBAAA,uBAAAA,uBAAA;EACTT,MAAA,CAAAI,OAAA,CAAAS,IAAA;EAGA,OAAI;AACF;AAA4C,SAC1ChH,uBAAgBA,CAAA;EAAuB,IACvCiH,qBAAiB;EAAA,IACjB,OAAAd,MAAQ,kBAAuB,OAAC;EAAA,OAChC,EAAAc,qBAAe,GAAAd,MAAA,CAAAI,OAAA,CAAAO,KAAA,cAAAG,qBAAA,uBAAAA,qBAAA,CAAAR,aAAA;AAAA;AAEjB,SAAA7G,wBAAOA,CAAA;EACT,IAAAsH,IAAA;EAEA,IAAAD,qBAAO;EACT,WAAAd,MAAA","ignoreList":[]}
|
|
@@ -33,6 +33,7 @@ __export(matchers_exports, {
|
|
|
33
33
|
matchDynamicName: () => matchDynamicName,
|
|
34
34
|
matchGroupName: () => matchGroupName,
|
|
35
35
|
matchInterceptPrefix: () => matchInterceptPrefix,
|
|
36
|
+
matchRoutePattern: () => matchRoutePattern,
|
|
36
37
|
matchSlotName: () => matchSlotName,
|
|
37
38
|
removeFileSystemDots: () => removeFileSystemDots,
|
|
38
39
|
removeSupportedExtensions: () => removeSupportedExtensions,
|
|
@@ -60,6 +61,36 @@ function matchDynamicName(name) {
|
|
|
60
61
|
};
|
|
61
62
|
}
|
|
62
63
|
}
|
|
64
|
+
function matchRoutePattern(pattern, path) {
|
|
65
|
+
const patternSegments = pattern.split("/").filter(Boolean);
|
|
66
|
+
if (patternSegments[patternSegments.length - 1] === "index") {
|
|
67
|
+
patternSegments.pop();
|
|
68
|
+
}
|
|
69
|
+
const pathSegments = path.split("/").filter(Boolean);
|
|
70
|
+
let specificity = 0;
|
|
71
|
+
let pi = 0;
|
|
72
|
+
for (let ui = 0; ui < patternSegments.length; ui++) {
|
|
73
|
+
const seg = patternSegments[ui];
|
|
74
|
+
if (seg.startsWith("(") && seg.endsWith(")")) continue;
|
|
75
|
+
if (seg.startsWith("[...") && seg.endsWith("]")) {
|
|
76
|
+
return {
|
|
77
|
+
specificity: specificity + (pathSegments.length - pi)
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
if (pi >= pathSegments.length) return null;
|
|
81
|
+
if (seg.startsWith("[") && seg.endsWith("]")) {
|
|
82
|
+
specificity += 1;
|
|
83
|
+
pi += 1;
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
if (seg !== pathSegments[pi]) return null;
|
|
87
|
+
specificity += 2;
|
|
88
|
+
pi += 1;
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
specificity
|
|
92
|
+
};
|
|
93
|
+
}
|
|
63
94
|
function matchDeepDynamicRouteName(name) {
|
|
64
95
|
return name.match(/^\[\.\.\.([^/]+?)\]$/)?.[1];
|
|
65
96
|
}
|
|
@@ -35,6 +35,7 @@ __export(matchers_exports, {
|
|
|
35
35
|
matchDynamicName: () => matchDynamicName,
|
|
36
36
|
matchGroupName: () => matchGroupName,
|
|
37
37
|
matchInterceptPrefix: () => matchInterceptPrefix,
|
|
38
|
+
matchRoutePattern: () => matchRoutePattern,
|
|
38
39
|
matchSlotName: () => matchSlotName,
|
|
39
40
|
removeFileSystemDots: () => removeFileSystemDots,
|
|
40
41
|
removeSupportedExtensions: () => removeSupportedExtensions,
|
|
@@ -63,6 +64,36 @@ function matchDynamicName(name) {
|
|
|
63
64
|
};
|
|
64
65
|
}
|
|
65
66
|
}
|
|
67
|
+
function matchRoutePattern(pattern, path) {
|
|
68
|
+
var patternSegments = pattern.split("/").filter(Boolean);
|
|
69
|
+
if (patternSegments[patternSegments.length - 1] === "index") {
|
|
70
|
+
patternSegments.pop();
|
|
71
|
+
}
|
|
72
|
+
var pathSegments = path.split("/").filter(Boolean);
|
|
73
|
+
var specificity = 0;
|
|
74
|
+
var pi = 0;
|
|
75
|
+
for (var ui = 0; ui < patternSegments.length; ui++) {
|
|
76
|
+
var seg = patternSegments[ui];
|
|
77
|
+
if (seg.startsWith("(") && seg.endsWith(")")) continue;
|
|
78
|
+
if (seg.startsWith("[...") && seg.endsWith("]")) {
|
|
79
|
+
return {
|
|
80
|
+
specificity: specificity + (pathSegments.length - pi)
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
if (pi >= pathSegments.length) return null;
|
|
84
|
+
if (seg.startsWith("[") && seg.endsWith("]")) {
|
|
85
|
+
specificity += 1;
|
|
86
|
+
pi += 1;
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
if (seg !== pathSegments[pi]) return null;
|
|
90
|
+
specificity += 2;
|
|
91
|
+
pi += 1;
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
specificity
|
|
95
|
+
};
|
|
96
|
+
}
|
|
66
97
|
function matchDeepDynamicRouteName(name) {
|
|
67
98
|
var _name_match;
|
|
68
99
|
return (_name_match = name.match(/^\[\.\.\.([^/]+?)\]$/)) === null || _name_match === void 0 ? void 0 : _name_match[1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","matchers_exports","__export","getContextKey","getNameFromFilePath","hasInterceptPrefix","isSlotDirectory","isTypedRoute","matchArrayGroupName","matchDeepDynamicRouteName","matchDirectoryRenderMode","matchDynamicName","matchGroupName","matchInterceptPrefix","matchSlotName","removeFileSystemDots","removeSupportedExtensions","stripGroupSegmentsFromPath","stripInterceptPrefix","stripInvisibleSegmentsFromPath","stripSlotSegmentsFromPath","testNotFound","module","exports","dynamicNameRe","name","_name_match","paramName","match","startsWith","slice","deep","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","matchers_exports","__export","getContextKey","getNameFromFilePath","hasInterceptPrefix","isSlotDirectory","isTypedRoute","matchArrayGroupName","matchDeepDynamicRouteName","matchDirectoryRenderMode","matchDynamicName","matchGroupName","matchInterceptPrefix","matchRoutePattern","matchSlotName","removeFileSystemDots","removeSupportedExtensions","stripGroupSegmentsFromPath","stripInterceptPrefix","stripInvisibleSegmentsFromPath","stripSlotSegmentsFromPath","testNotFound","module","exports","dynamicNameRe","name","_name_match","paramName","match","startsWith","slice","deep","pattern","path","patternSegments","split","filter","Boolean","length","pop","pathSegments","specificity","pi","ui","seg","endsWith","normal","replace","filePath","reduce","acc","v","push","join","directoryRenderModeRe","renderMode","slotPrefixRe","test","segment","prefixes","targetPath","includes"],"sources":["../../../src/router/matchers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -54,6 +54,7 @@ var import_react_native_safe_area_context = require("react-native-safe-area-cont
|
|
|
54
54
|
var import_withLayoutContext = require("../layouts/withLayoutContext.cjs");
|
|
55
55
|
var import_notFoundState = require("../notFoundState.cjs");
|
|
56
56
|
var import_Route = require("../router/Route.cjs");
|
|
57
|
+
var import_matchers = require("../router/matchers.cjs");
|
|
57
58
|
var import_router = require("../router/router.cjs");
|
|
58
59
|
var import_router2 = require("../router/router.cjs");
|
|
59
60
|
var import_useScreens = require("../router/useScreens.cjs");
|
|
@@ -143,19 +144,23 @@ function QualifiedNavigator({
|
|
|
143
144
|
if (initialRouteName) return initialRouteName;
|
|
144
145
|
const browserPath = import_router.initialPathname ?? (typeof window !== "undefined" ? window.location.pathname : void 0);
|
|
145
146
|
if (!browserPath) return void 0;
|
|
146
|
-
const
|
|
147
|
+
const layoutUrlPrefix = (0, import_matchers.stripGroupSegmentsFromPath)(contextKey).replace(/\/+$/, "");
|
|
148
|
+
let best;
|
|
147
149
|
for (const screen of screens) {
|
|
148
|
-
const
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
if (
|
|
154
|
-
|
|
150
|
+
const name = screen?.props?.name;
|
|
151
|
+
if (!name) continue;
|
|
152
|
+
const fullPattern = layoutUrlPrefix ? `${layoutUrlPrefix}/${name}` : name;
|
|
153
|
+
const match = (0, import_matchers.matchRoutePattern)(fullPattern, browserPath);
|
|
154
|
+
if (!match) continue;
|
|
155
|
+
if (!best || match.specificity > best.specificity) {
|
|
156
|
+
best = {
|
|
157
|
+
name,
|
|
158
|
+
specificity: match.specificity
|
|
159
|
+
};
|
|
155
160
|
}
|
|
156
161
|
}
|
|
157
|
-
return
|
|
158
|
-
}, [initialRouteName, screens]);
|
|
162
|
+
return best?.name;
|
|
163
|
+
}, [initialRouteName, screens, contextKey]);
|
|
159
164
|
const {
|
|
160
165
|
state,
|
|
161
166
|
navigation,
|
|
@@ -57,6 +57,7 @@ var import_react_native_safe_area_context = require("react-native-safe-area-cont
|
|
|
57
57
|
var import_withLayoutContext = require("../layouts/withLayoutContext.native.js");
|
|
58
58
|
var import_notFoundState = require("../notFoundState.native.js");
|
|
59
59
|
var import_Route = require("../router/Route.native.js");
|
|
60
|
+
var import_matchers = require("../router/matchers.native.js");
|
|
60
61
|
var import_router = require("../router/router.native.js");
|
|
61
62
|
var import_router2 = require("../router/router.native.js");
|
|
62
63
|
var import_useScreens = require("../router/useScreens.native.js");
|
|
@@ -153,15 +154,26 @@ function QualifiedNavigator(param) {
|
|
|
153
154
|
if (initialRouteName) return initialRouteName;
|
|
154
155
|
var browserPath = import_router.initialPathname !== null && import_router.initialPathname !== void 0 ? import_router.initialPathname : typeof window !== "undefined" ? window.location.pathname : void 0;
|
|
155
156
|
if (!browserPath) return void 0;
|
|
156
|
-
var
|
|
157
|
+
var layoutUrlPrefix = (0, import_matchers.stripGroupSegmentsFromPath)(contextKey).replace(/\/+$/, "");
|
|
158
|
+
var best;
|
|
157
159
|
var _iteratorNormalCompletion = true,
|
|
158
160
|
_didIteratorError = false,
|
|
159
161
|
_iteratorError = void 0;
|
|
160
162
|
try {
|
|
161
163
|
for (var _iterator = screens[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
162
164
|
var screen = _step.value;
|
|
163
|
-
var
|
|
164
|
-
|
|
165
|
+
var _screen_props;
|
|
166
|
+
var name = screen === null || screen === void 0 ? void 0 : (_screen_props = screen.props) === null || _screen_props === void 0 ? void 0 : _screen_props.name;
|
|
167
|
+
if (!name) continue;
|
|
168
|
+
var fullPattern = layoutUrlPrefix ? `${layoutUrlPrefix}/${name}` : name;
|
|
169
|
+
var match = (0, import_matchers.matchRoutePattern)(fullPattern, browserPath);
|
|
170
|
+
if (!match) continue;
|
|
171
|
+
if (!best || match.specificity > best.specificity) {
|
|
172
|
+
best = {
|
|
173
|
+
name,
|
|
174
|
+
specificity: match.specificity
|
|
175
|
+
};
|
|
176
|
+
}
|
|
165
177
|
}
|
|
166
178
|
} catch (err) {
|
|
167
179
|
_didIteratorError = true;
|
|
@@ -177,33 +189,8 @@ function QualifiedNavigator(param) {
|
|
|
177
189
|
}
|
|
178
190
|
}
|
|
179
191
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
_iteratorError1 = void 0;
|
|
183
|
-
try {
|
|
184
|
-
for (var _iterator1 = screenNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
185
|
-
var name = _step1.value;
|
|
186
|
-
var base = name.replace(/\/index$/, "");
|
|
187
|
-
if (browserPath.endsWith("/" + base) || browserPath.includes("/" + base + "/")) {
|
|
188
|
-
return name;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
} catch (err) {
|
|
192
|
-
_didIteratorError1 = true;
|
|
193
|
-
_iteratorError1 = err;
|
|
194
|
-
} finally {
|
|
195
|
-
try {
|
|
196
|
-
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
197
|
-
_iterator1.return();
|
|
198
|
-
}
|
|
199
|
-
} finally {
|
|
200
|
-
if (_didIteratorError1) {
|
|
201
|
-
throw _iteratorError1;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
return void 0;
|
|
206
|
-
}, [initialRouteName, screens]);
|
|
192
|
+
return best === null || best === void 0 ? void 0 : best.name;
|
|
193
|
+
}, [initialRouteName, screens, contextKey]);
|
|
207
194
|
var {
|
|
208
195
|
state,
|
|
209
196
|
navigation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Navigator_exports","__export","DefaultNavigator","NamedSlot","Navigator","NavigatorContext","QualifiedSlot","Slot","clearAllSlotStates","getScopedSlotKey","getSlotState","setSlotState","useNamedSlot","useNavigatorContext","useSlot","module","exports","import_jsx_runtime","require","import_native","React","__toESM","import_react_native_safe_area_context","import_withLayoutContext","import_notFoundState","import_Route","import_router","import_router2","import_useScreens","import_Screen","import_interceptRoutes","SLOT_STATIC_KEY","globalSlotState","Map","slotStateListeners","Set","slotName","get","state","delete","set","forEach","listener","clear","registerClearSlotStates","registerSetSlotState","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","createContext","process","env","NODE_ENV","displayName","param","initialRouteName","screenOptions","children","router","contextKey","useContextKey","screens","otherSlot","protectedScreens","useFilterScreenChildren","isCustomNavigator","registerProtectedRoutes","unregisterProtectedRoutes","sorted","useSortedScreens","length","console","warn","jsx","QualifiedNavigator","StackRouter","resolvedInitialRouteName","useMemo","browserPath","initialPathname","window","location","pathname","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Navigator_exports","__export","DefaultNavigator","NamedSlot","Navigator","NavigatorContext","QualifiedSlot","Slot","clearAllSlotStates","getScopedSlotKey","getSlotState","setSlotState","useNamedSlot","useNavigatorContext","useSlot","module","exports","import_jsx_runtime","require","import_native","React","__toESM","import_react_native_safe_area_context","import_withLayoutContext","import_notFoundState","import_Route","import_matchers","import_router","import_router2","import_useScreens","import_Screen","import_interceptRoutes","SLOT_STATIC_KEY","globalSlotState","Map","slotStateListeners","Set","slotName","get","state","delete","set","forEach","listener","clear","registerClearSlotStates","registerSetSlotState","useSlotStateSubscription","forceUpdate","useReducer","x","useEffect","add","createContext","process","env","NODE_ENV","displayName","param","initialRouteName","screenOptions","children","router","contextKey","useContextKey","screens","otherSlot","protectedScreens","useFilterScreenChildren","isCustomNavigator","registerProtectedRoutes","unregisterProtectedRoutes","sorted","useSortedScreens","length","console","warn","jsx","QualifiedNavigator","StackRouter","resolvedInitialRouteName","useMemo","browserPath","initialPathname","window","location","pathname","layoutUrlPrefix","stripGroupSegmentsFromPath","replace","best","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","screen","_screen_props","name","props","fullPattern","match","matchRoutePattern","specificity","err","return","navigation","descriptors","NavigationContent","useNavigationBuilder","id","descriptorsRef","useRef","current","Provider","context","useContext","Error","_ref","_descriptorsRef_current_current_key","notFoundState","useNotFoundState","notFoundRouteNode","findRouteNodeByPath","notFoundPath","routeNode","findNearestNotFoundRoute","originalPath","NotFoundComponent","getQualifiedRouteComponent","route","params","routes","index","renderedElement","key","render","cloneElement","memo","Slot2","SafeAreaView","style","flex"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { matchDynamicName, stripGroupSegmentsFromPath } from "./matchers.mjs";
|
|
1
|
+
import { matchDynamicName, matchRoutePattern, stripGroupSegmentsFromPath } from "./matchers.mjs";
|
|
2
2
|
import { isNative } from "../constants.mjs";
|
|
3
3
|
let navigationMode = "hard";
|
|
4
4
|
function setNavigationType(type) {
|
|
@@ -27,27 +27,8 @@ function getLayoutPath(node) {
|
|
|
27
27
|
return "/" + path;
|
|
28
28
|
}
|
|
29
29
|
function isLayoutAncestorOfPath(layoutPath, currentPath) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (normalizedLayout === "/") return true;
|
|
33
|
-
const layoutParts = normalizedLayout.split("/").filter(Boolean);
|
|
34
|
-
const currentParts = normalizedCurrent.split("/").filter(Boolean);
|
|
35
|
-
if (layoutParts.length > currentParts.length) return false;
|
|
36
|
-
for (let i = 0; i < layoutParts.length; i++) {
|
|
37
|
-
const layoutPart = layoutParts[i];
|
|
38
|
-
const currentPart = currentParts[i];
|
|
39
|
-
const dynamicMatch = matchDynamicName(layoutPart);
|
|
40
|
-
if (dynamicMatch) {
|
|
41
|
-
if (dynamicMatch.deep) {
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
continue;
|
|
45
|
-
}
|
|
46
|
-
if (layoutPart !== currentPart) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return true;
|
|
30
|
+
if (!layoutPath.replace(/\/+$/, "")) return true;
|
|
31
|
+
return matchRoutePattern(layoutPath, currentPath) !== null;
|
|
51
32
|
}
|
|
52
33
|
function findLayoutsWithSlotsAlongPath(rootNode, currentPath) {
|
|
53
34
|
if (!rootNode) return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["matchDynamicName","stripGroupSegmentsFromPath","isNative","navigationMode","setNavigationType","type","getNavigationType","isHardNavigation","collectAllLayoutsWithSlots","node","collected","slots","size","push","children","child","getLayoutPath","path","contextKey","replace","isLayoutAncestorOfPath","layoutPath","currentPath","
|
|
1
|
+
{"version":3,"names":["matchDynamicName","matchRoutePattern","stripGroupSegmentsFromPath","isNative","navigationMode","setNavigationType","type","getNavigationType","isHardNavigation","collectAllLayoutsWithSlots","node","collected","slots","size","push","children","child","getLayoutPath","path","contextKey","replace","isLayoutAncestorOfPath","layoutPath","currentPath","findLayoutsWithSlotsAlongPath","rootNode","allLayoutsWithSlots","ancestorLayouts","filter","layout","sort","a","b","depthA","split","Boolean","length","depthB","findInterceptRoute","targetPath","layoutsWithSlots","i","layoutNode","slotName","slotConfig","result","findMatchingInterceptInSlot","interceptRoute","interceptRoutes","intercept","levels","interceptTargetPath","resolvedTargetPath","resolveInterceptTargetPath","params","matchPath","layoutContextKey","fullLayoutPath","slice","Infinity","basePath","pathParts","parentParts","parentPath","join","pattern","normalizedPath","normalizedPattern","patternParts","pathIndex","patternPart","dynamicMatch","deep","remaining","name","preInterceptUrl","updateURLWithoutNavigation","href","window","location","pathname","search","history","pushState","__intercepted","__actualPath","__preInterceptUrl","clearSlotStatesCallback","registerClearSlotStates","callback","closeIntercept","state","returningFromIntercept","back","isInterceptedNavigation","getInterceptedActualPath","getPreInterceptUrl","setReturningFromIntercept","value","isReturningFromIntercept","setSlotStateCallback","registerSetSlotState","lastInterceptRouteNode","lastInterceptSlotName","lastInterceptParams","storeInterceptState","routeNode","restoreInterceptFromHistory","activeRouteKey","activeRouteNode","isIntercepted"],"sources":["../../../src/router/interceptRoutes.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { matchDynamicName, stripGroupSegmentsFromPath } from "./matchers.native.js";
|
|
1
|
+
import { matchDynamicName, matchRoutePattern, stripGroupSegmentsFromPath } from "./matchers.native.js";
|
|
2
2
|
import { isNative } from "../constants.native.js";
|
|
3
3
|
var navigationMode = "hard";
|
|
4
4
|
function setNavigationType(type) {
|
|
@@ -47,27 +47,8 @@ function getLayoutPath(node) {
|
|
|
47
47
|
return "/" + path;
|
|
48
48
|
}
|
|
49
49
|
function isLayoutAncestorOfPath(layoutPath, currentPath) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (normalizedLayout === "/") return true;
|
|
53
|
-
var layoutParts = normalizedLayout.split("/").filter(Boolean);
|
|
54
|
-
var currentParts = normalizedCurrent.split("/").filter(Boolean);
|
|
55
|
-
if (layoutParts.length > currentParts.length) return false;
|
|
56
|
-
for (var i = 0; i < layoutParts.length; i++) {
|
|
57
|
-
var layoutPart = layoutParts[i];
|
|
58
|
-
var currentPart = currentParts[i];
|
|
59
|
-
var dynamicMatch = matchDynamicName(layoutPart);
|
|
60
|
-
if (dynamicMatch) {
|
|
61
|
-
if (dynamicMatch.deep) {
|
|
62
|
-
return true;
|
|
63
|
-
}
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
|
-
if (layoutPart !== currentPart) {
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return true;
|
|
50
|
+
if (!layoutPath.replace(/\/+$/, "")) return true;
|
|
51
|
+
return matchRoutePattern(layoutPath, currentPath) !== null;
|
|
71
52
|
}
|
|
72
53
|
function findLayoutsWithSlotsAlongPath(rootNode, currentPath) {
|
|
73
54
|
if (!rootNode) return [];
|