stx-router 0.2.469 → 0.2.470

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.
Files changed (2) hide show
  1. package/dist/client.js +8 -0
  2. package/package.json +1 -1
package/dist/client.js CHANGED
@@ -1542,6 +1542,12 @@ else {
1542
1542
  return hrefs;
1543
1543
  }
1544
1544
 
1545
+ // Everything page-level the outgoing page registered stays its own from
1546
+ // here on: the runtime runs those on stx:load and keeps whatever the
1547
+ // incoming page's scripts register next (see beginSwap in the runtime).
1548
+ // Called after the outgoing page is put aside and before any incoming
1549
+ // script runs. Absent on an older runtime, which drains as it always has.
1550
+ function beginPageSwap(){if(window.stx&&typeof window.stx._beginSwap==='function')window.stx._beginSwap()}
1545
1551
  function swap(html,url,pushState,hash){
1546
1552
  var fragMark=/^<!--stx-fragment(?: rt=([01]))?-->/.exec(html);
1547
1553
  var isFragment=!!fragMark;
@@ -1787,6 +1793,7 @@ else {
1787
1793
  try{
1788
1794
  setDirection(ctx.direction);
1789
1795
  if(useScreens){scr=screenBegin(host,ctx,html,pushState!==false);currentContent=scr.el}
1796
+ beginPageSwap();
1790
1797
  doFragSwap();
1791
1798
  if(scr)screenEnd(scr);
1792
1799
  resolve(true);
@@ -2260,6 +2267,7 @@ else {
2260
2267
  return new Promise(function(resolve,reject){
2261
2268
  function completeSwap(){
2262
2269
  try{
2270
+ beginPageSwap();
2263
2271
  doSwap();
2264
2272
  resolve(true);
2265
2273
  }catch(err){reject(err)}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stx-router",
3
3
  "type": "module",
4
- "version": "0.2.469",
4
+ "version": "0.2.470",
5
5
  "description": "File-based router for STX — .stx template discovery, nested layouts, typed route params, middleware, and client-side SPA navigation.",
6
6
  "author": "Chris Breuer <chris@stacksjs.org>",
7
7
  "license": "MIT",