@stacksjs/stx 0.2.83 → 0.2.84
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/app-shell.js +6 -6
- package/dist/build-assets.js +6 -6
- package/dist/build-mode-detector.js +6 -6
- package/dist/build-views.js +6 -6
- package/dist/build.js +6 -6
- package/dist/caching.js +6 -6
- package/dist/cli.js +7 -7
- package/dist/component-processing.js +6 -6
- package/dist/component-renderer.js +6 -6
- package/dist/components.js +6 -6
- package/dist/dev-server/index.js +6 -6
- package/dist/dev-server/serve-app.js +6 -6
- package/dist/dev-server/serve-file.js +6 -6
- package/dist/dev-server/serve-markdown.js +6 -6
- package/dist/dev-server/serve-multi.js +6 -6
- package/dist/dev-server.js +6 -6
- package/dist/docs.js +6 -6
- package/dist/dynamic-components.js +6 -6
- package/dist/includes.js +6 -6
- package/dist/index.js +6 -6
- package/dist/interactive.js +6 -6
- package/dist/lazy-loader.js +6 -6
- package/dist/plugin.js +6 -6
- package/dist/process.js +6 -6
- package/dist/production-builder.js +6 -6
- package/dist/production-server.js +6 -6
- package/dist/pwa/index.js +6 -6
- package/dist/pwa/offline.js +6 -6
- package/dist/pwa.js +6 -6
- package/dist/render.js +6 -6
- package/dist/runtime-injection.js +6 -6
- package/dist/serve.js +6 -6
- package/dist/signal-processing.js +6 -6
- package/dist/signals.js +6 -6
- package/dist/site-builder/build.js +6 -6
- package/dist/site-builder/index.js +6 -6
- package/dist/ssg.js +6 -6
- package/dist/ssr.js +6 -6
- package/dist/story/cli.js +6 -6
- package/dist/story/commands/dev.js +6 -6
- package/dist/story/commands/index.js +6 -6
- package/dist/story/index.js +6 -6
- package/dist/story/renderer.js +6 -6
- package/dist/story/server.js +6 -6
- package/dist/story/visual-testing.js +6 -6
- package/dist/streaming.js +6 -6
- package/dist/template-compiler.js +6 -6
- package/dist/template-hydrator.js +6 -6
- package/dist/testing.js +6 -6
- package/dist/utils.js +6 -6
- package/dist/web-components.js +6 -6
- package/package.json +5 -5
|
@@ -8736,10 +8736,10 @@ else {
|
|
|
8736
8736
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8737
8737
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8738
8738
|
|
|
8739
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8739
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8740
8740
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8741
8741
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8742
|
-
// Do NOT fallback just because the script is in
|
|
8742
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8743
8743
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8744
8744
|
var needsFallback = !root || root === document.body
|
|
8745
8745
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9058,7 +9058,7 @@ else {
|
|
|
9058
9058
|
mountCallbacks.forEach(fn => fn());
|
|
9059
9059
|
});
|
|
9060
9060
|
|
|
9061
|
-
// Multi-root fragment fix: a no
|
|
9061
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9062
9062
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9063
9063
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9064
9064
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9155,7 +9155,7 @@ else {
|
|
|
9155
9155
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9156
9156
|
});
|
|
9157
9157
|
|
|
9158
|
-
// Process
|
|
9158
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9159
9159
|
// Use componentScope which now contains variables from processed components
|
|
9160
9160
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9161
9161
|
headElements.forEach(el => {
|
|
@@ -9351,7 +9351,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9351
9351
|
|
|
9352
9352
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9353
9353
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9354
|
-
// over the stale data-stx attribute on
|
|
9354
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9355
9355
|
var usedLatestSetup = false;
|
|
9356
9356
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9357
9357
|
try {
|
|
@@ -9435,7 +9435,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9435
9435
|
|
|
9436
9436
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9437
9437
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9438
|
-
// The DOMContentLoaded path processes
|
|
9438
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9439
9439
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9440
9440
|
if (!container.__stx_scope) {
|
|
9441
9441
|
// Dispose previous effects on the container (from prior navigation)
|
|
@@ -8736,10 +8736,10 @@ else {
|
|
|
8736
8736
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8737
8737
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8738
8738
|
|
|
8739
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8739
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8740
8740
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8741
8741
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8742
|
-
// Do NOT fallback just because the script is in
|
|
8742
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8743
8743
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8744
8744
|
var needsFallback = !root || root === document.body
|
|
8745
8745
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9058,7 +9058,7 @@ else {
|
|
|
9058
9058
|
mountCallbacks.forEach(fn => fn());
|
|
9059
9059
|
});
|
|
9060
9060
|
|
|
9061
|
-
// Multi-root fragment fix: a no
|
|
9061
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9062
9062
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9063
9063
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9064
9064
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9155,7 +9155,7 @@ else {
|
|
|
9155
9155
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9156
9156
|
});
|
|
9157
9157
|
|
|
9158
|
-
// Process
|
|
9158
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9159
9159
|
// Use componentScope which now contains variables from processed components
|
|
9160
9160
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9161
9161
|
headElements.forEach(el => {
|
|
@@ -9351,7 +9351,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9351
9351
|
|
|
9352
9352
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9353
9353
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9354
|
-
// over the stale data-stx attribute on
|
|
9354
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9355
9355
|
var usedLatestSetup = false;
|
|
9356
9356
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9357
9357
|
try {
|
|
@@ -9435,7 +9435,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9435
9435
|
|
|
9436
9436
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9437
9437
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9438
|
-
// The DOMContentLoaded path processes
|
|
9438
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9439
9439
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9440
9440
|
if (!container.__stx_scope) {
|
|
9441
9441
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/ssg.js
CHANGED
|
@@ -7283,10 +7283,10 @@ else {
|
|
|
7283
7283
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
7284
7284
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
7285
7285
|
|
|
7286
|
-
// SPA fallback: during router navigation, script is appended to
|
|
7286
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
7287
7287
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
7288
7288
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
7289
|
-
// Do NOT fallback just because the script is in
|
|
7289
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
7290
7290
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
7291
7291
|
var needsFallback = !root || root === document.body
|
|
7292
7292
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -7605,7 +7605,7 @@ else {
|
|
|
7605
7605
|
mountCallbacks.forEach(fn => fn());
|
|
7606
7606
|
});
|
|
7607
7607
|
|
|
7608
|
-
// Multi-root fragment fix: a no
|
|
7608
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
7609
7609
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
7610
7610
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
7611
7611
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -7702,7 +7702,7 @@ else {
|
|
|
7702
7702
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
7703
7703
|
});
|
|
7704
7704
|
|
|
7705
|
-
// Process
|
|
7705
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
7706
7706
|
// Use componentScope which now contains variables from processed components
|
|
7707
7707
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
7708
7708
|
headElements.forEach(el => {
|
|
@@ -7898,7 +7898,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
7898
7898
|
|
|
7899
7899
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
7900
7900
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
7901
|
-
// over the stale data-stx attribute on
|
|
7901
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
7902
7902
|
var usedLatestSetup = false;
|
|
7903
7903
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
7904
7904
|
try {
|
|
@@ -7982,7 +7982,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
7982
7982
|
|
|
7983
7983
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
7984
7984
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
7985
|
-
// The DOMContentLoaded path processes
|
|
7985
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
7986
7986
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
7987
7987
|
if (!container.__stx_scope) {
|
|
7988
7988
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/ssr.js
CHANGED
|
@@ -8736,10 +8736,10 @@ else {
|
|
|
8736
8736
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8737
8737
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8738
8738
|
|
|
8739
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8739
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8740
8740
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8741
8741
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8742
|
-
// Do NOT fallback just because the script is in
|
|
8742
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8743
8743
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8744
8744
|
var needsFallback = !root || root === document.body
|
|
8745
8745
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9058,7 +9058,7 @@ else {
|
|
|
9058
9058
|
mountCallbacks.forEach(fn => fn());
|
|
9059
9059
|
});
|
|
9060
9060
|
|
|
9061
|
-
// Multi-root fragment fix: a no
|
|
9061
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9062
9062
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9063
9063
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9064
9064
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9155,7 +9155,7 @@ else {
|
|
|
9155
9155
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9156
9156
|
});
|
|
9157
9157
|
|
|
9158
|
-
// Process
|
|
9158
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9159
9159
|
// Use componentScope which now contains variables from processed components
|
|
9160
9160
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9161
9161
|
headElements.forEach(el => {
|
|
@@ -9351,7 +9351,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9351
9351
|
|
|
9352
9352
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9353
9353
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9354
|
-
// over the stale data-stx attribute on
|
|
9354
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9355
9355
|
var usedLatestSetup = false;
|
|
9356
9356
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9357
9357
|
try {
|
|
@@ -9435,7 +9435,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9435
9435
|
|
|
9436
9436
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9437
9437
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9438
|
-
// The DOMContentLoaded path processes
|
|
9438
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9439
9439
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9440
9440
|
if (!container.__stx_scope) {
|
|
9441
9441
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/story/cli.js
CHANGED
|
@@ -8736,10 +8736,10 @@ else {
|
|
|
8736
8736
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8737
8737
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8738
8738
|
|
|
8739
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8739
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8740
8740
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8741
8741
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8742
|
-
// Do NOT fallback just because the script is in
|
|
8742
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8743
8743
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8744
8744
|
var needsFallback = !root || root === document.body
|
|
8745
8745
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9058,7 +9058,7 @@ else {
|
|
|
9058
9058
|
mountCallbacks.forEach(fn => fn());
|
|
9059
9059
|
});
|
|
9060
9060
|
|
|
9061
|
-
// Multi-root fragment fix: a no
|
|
9061
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9062
9062
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9063
9063
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9064
9064
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9155,7 +9155,7 @@ else {
|
|
|
9155
9155
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9156
9156
|
});
|
|
9157
9157
|
|
|
9158
|
-
// Process
|
|
9158
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9159
9159
|
// Use componentScope which now contains variables from processed components
|
|
9160
9160
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9161
9161
|
headElements.forEach(el => {
|
|
@@ -9351,7 +9351,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9351
9351
|
|
|
9352
9352
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9353
9353
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9354
|
-
// over the stale data-stx attribute on
|
|
9354
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9355
9355
|
var usedLatestSetup = false;
|
|
9356
9356
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9357
9357
|
try {
|
|
@@ -9435,7 +9435,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9435
9435
|
|
|
9436
9436
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9437
9437
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9438
|
-
// The DOMContentLoaded path processes
|
|
9438
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9439
9439
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9440
9440
|
if (!container.__stx_scope) {
|
|
9441
9441
|
// Dispose previous effects on the container (from prior navigation)
|
|
@@ -8736,10 +8736,10 @@ else {
|
|
|
8736
8736
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8737
8737
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8738
8738
|
|
|
8739
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8739
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8740
8740
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8741
8741
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8742
|
-
// Do NOT fallback just because the script is in
|
|
8742
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8743
8743
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8744
8744
|
var needsFallback = !root || root === document.body
|
|
8745
8745
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9058,7 +9058,7 @@ else {
|
|
|
9058
9058
|
mountCallbacks.forEach(fn => fn());
|
|
9059
9059
|
});
|
|
9060
9060
|
|
|
9061
|
-
// Multi-root fragment fix: a no
|
|
9061
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9062
9062
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9063
9063
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9064
9064
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9155,7 +9155,7 @@ else {
|
|
|
9155
9155
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9156
9156
|
});
|
|
9157
9157
|
|
|
9158
|
-
// Process
|
|
9158
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9159
9159
|
// Use componentScope which now contains variables from processed components
|
|
9160
9160
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9161
9161
|
headElements.forEach(el => {
|
|
@@ -9351,7 +9351,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9351
9351
|
|
|
9352
9352
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9353
9353
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9354
|
-
// over the stale data-stx attribute on
|
|
9354
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9355
9355
|
var usedLatestSetup = false;
|
|
9356
9356
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9357
9357
|
try {
|
|
@@ -9435,7 +9435,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9435
9435
|
|
|
9436
9436
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9437
9437
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9438
|
-
// The DOMContentLoaded path processes
|
|
9438
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9439
9439
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9440
9440
|
if (!container.__stx_scope) {
|
|
9441
9441
|
// Dispose previous effects on the container (from prior navigation)
|
|
@@ -8736,10 +8736,10 @@ else {
|
|
|
8736
8736
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8737
8737
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8738
8738
|
|
|
8739
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8739
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8740
8740
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8741
8741
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8742
|
-
// Do NOT fallback just because the script is in
|
|
8742
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8743
8743
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8744
8744
|
var needsFallback = !root || root === document.body
|
|
8745
8745
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9058,7 +9058,7 @@ else {
|
|
|
9058
9058
|
mountCallbacks.forEach(fn => fn());
|
|
9059
9059
|
});
|
|
9060
9060
|
|
|
9061
|
-
// Multi-root fragment fix: a no
|
|
9061
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9062
9062
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9063
9063
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9064
9064
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9155,7 +9155,7 @@ else {
|
|
|
9155
9155
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9156
9156
|
});
|
|
9157
9157
|
|
|
9158
|
-
// Process
|
|
9158
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9159
9159
|
// Use componentScope which now contains variables from processed components
|
|
9160
9160
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9161
9161
|
headElements.forEach(el => {
|
|
@@ -9351,7 +9351,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9351
9351
|
|
|
9352
9352
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9353
9353
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9354
|
-
// over the stale data-stx attribute on
|
|
9354
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9355
9355
|
var usedLatestSetup = false;
|
|
9356
9356
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9357
9357
|
try {
|
|
@@ -9435,7 +9435,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9435
9435
|
|
|
9436
9436
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9437
9437
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9438
|
-
// The DOMContentLoaded path processes
|
|
9438
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9439
9439
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9440
9440
|
if (!container.__stx_scope) {
|
|
9441
9441
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/story/index.js
CHANGED
|
@@ -8736,10 +8736,10 @@ else {
|
|
|
8736
8736
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8737
8737
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8738
8738
|
|
|
8739
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8739
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8740
8740
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8741
8741
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8742
|
-
// Do NOT fallback just because the script is in
|
|
8742
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8743
8743
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8744
8744
|
var needsFallback = !root || root === document.body
|
|
8745
8745
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9058,7 +9058,7 @@ else {
|
|
|
9058
9058
|
mountCallbacks.forEach(fn => fn());
|
|
9059
9059
|
});
|
|
9060
9060
|
|
|
9061
|
-
// Multi-root fragment fix: a no
|
|
9061
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9062
9062
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9063
9063
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9064
9064
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9155,7 +9155,7 @@ else {
|
|
|
9155
9155
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9156
9156
|
});
|
|
9157
9157
|
|
|
9158
|
-
// Process
|
|
9158
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9159
9159
|
// Use componentScope which now contains variables from processed components
|
|
9160
9160
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9161
9161
|
headElements.forEach(el => {
|
|
@@ -9351,7 +9351,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9351
9351
|
|
|
9352
9352
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9353
9353
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9354
|
-
// over the stale data-stx attribute on
|
|
9354
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9355
9355
|
var usedLatestSetup = false;
|
|
9356
9356
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9357
9357
|
try {
|
|
@@ -9435,7 +9435,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9435
9435
|
|
|
9436
9436
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9437
9437
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9438
|
-
// The DOMContentLoaded path processes
|
|
9438
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9439
9439
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9440
9440
|
if (!container.__stx_scope) {
|
|
9441
9441
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/story/renderer.js
CHANGED
|
@@ -8736,10 +8736,10 @@ else {
|
|
|
8736
8736
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8737
8737
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8738
8738
|
|
|
8739
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8739
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8740
8740
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8741
8741
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8742
|
-
// Do NOT fallback just because the script is in
|
|
8742
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8743
8743
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8744
8744
|
var needsFallback = !root || root === document.body
|
|
8745
8745
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9058,7 +9058,7 @@ else {
|
|
|
9058
9058
|
mountCallbacks.forEach(fn => fn());
|
|
9059
9059
|
});
|
|
9060
9060
|
|
|
9061
|
-
// Multi-root fragment fix: a no
|
|
9061
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9062
9062
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9063
9063
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9064
9064
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9155,7 +9155,7 @@ else {
|
|
|
9155
9155
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9156
9156
|
});
|
|
9157
9157
|
|
|
9158
|
-
// Process
|
|
9158
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9159
9159
|
// Use componentScope which now contains variables from processed components
|
|
9160
9160
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9161
9161
|
headElements.forEach(el => {
|
|
@@ -9351,7 +9351,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9351
9351
|
|
|
9352
9352
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9353
9353
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9354
|
-
// over the stale data-stx attribute on
|
|
9354
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9355
9355
|
var usedLatestSetup = false;
|
|
9356
9356
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9357
9357
|
try {
|
|
@@ -9435,7 +9435,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9435
9435
|
|
|
9436
9436
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9437
9437
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9438
|
-
// The DOMContentLoaded path processes
|
|
9438
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9439
9439
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9440
9440
|
if (!container.__stx_scope) {
|
|
9441
9441
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/story/server.js
CHANGED
|
@@ -8736,10 +8736,10 @@ else {
|
|
|
8736
8736
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8737
8737
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8738
8738
|
|
|
8739
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8739
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8740
8740
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8741
8741
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8742
|
-
// Do NOT fallback just because the script is in
|
|
8742
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8743
8743
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8744
8744
|
var needsFallback = !root || root === document.body
|
|
8745
8745
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9058,7 +9058,7 @@ else {
|
|
|
9058
9058
|
mountCallbacks.forEach(fn => fn());
|
|
9059
9059
|
});
|
|
9060
9060
|
|
|
9061
|
-
// Multi-root fragment fix: a no
|
|
9061
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9062
9062
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9063
9063
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9064
9064
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9155,7 +9155,7 @@ else {
|
|
|
9155
9155
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9156
9156
|
});
|
|
9157
9157
|
|
|
9158
|
-
// Process
|
|
9158
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9159
9159
|
// Use componentScope which now contains variables from processed components
|
|
9160
9160
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9161
9161
|
headElements.forEach(el => {
|
|
@@ -9351,7 +9351,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9351
9351
|
|
|
9352
9352
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9353
9353
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9354
|
-
// over the stale data-stx attribute on
|
|
9354
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9355
9355
|
var usedLatestSetup = false;
|
|
9356
9356
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9357
9357
|
try {
|
|
@@ -9435,7 +9435,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9435
9435
|
|
|
9436
9436
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9437
9437
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9438
|
-
// The DOMContentLoaded path processes
|
|
9438
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9439
9439
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9440
9440
|
if (!container.__stx_scope) {
|
|
9441
9441
|
// Dispose previous effects on the container (from prior navigation)
|
|
@@ -8736,10 +8736,10 @@ else {
|
|
|
8736
8736
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8737
8737
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8738
8738
|
|
|
8739
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8739
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8740
8740
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8741
8741
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8742
|
-
// Do NOT fallback just because the script is in
|
|
8742
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8743
8743
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8744
8744
|
var needsFallback = !root || root === document.body
|
|
8745
8745
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9058,7 +9058,7 @@ else {
|
|
|
9058
9058
|
mountCallbacks.forEach(fn => fn());
|
|
9059
9059
|
});
|
|
9060
9060
|
|
|
9061
|
-
// Multi-root fragment fix: a no
|
|
9061
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9062
9062
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9063
9063
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9064
9064
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9155,7 +9155,7 @@ else {
|
|
|
9155
9155
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9156
9156
|
});
|
|
9157
9157
|
|
|
9158
|
-
// Process
|
|
9158
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9159
9159
|
// Use componentScope which now contains variables from processed components
|
|
9160
9160
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9161
9161
|
headElements.forEach(el => {
|
|
@@ -9351,7 +9351,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9351
9351
|
|
|
9352
9352
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9353
9353
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9354
|
-
// over the stale data-stx attribute on
|
|
9354
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9355
9355
|
var usedLatestSetup = false;
|
|
9356
9356
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9357
9357
|
try {
|
|
@@ -9435,7 +9435,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9435
9435
|
|
|
9436
9436
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9437
9437
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9438
|
-
// The DOMContentLoaded path processes
|
|
9438
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9439
9439
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9440
9440
|
if (!container.__stx_scope) {
|
|
9441
9441
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/streaming.js
CHANGED
|
@@ -6295,10 +6295,10 @@ else {
|
|
|
6295
6295
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
6296
6296
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
6297
6297
|
|
|
6298
|
-
// SPA fallback: during router navigation, script is appended to
|
|
6298
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
6299
6299
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
6300
6300
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
6301
|
-
// Do NOT fallback just because the script is in
|
|
6301
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
6302
6302
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
6303
6303
|
var needsFallback = !root || root === document.body
|
|
6304
6304
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -6617,7 +6617,7 @@ else {
|
|
|
6617
6617
|
mountCallbacks.forEach(fn => fn());
|
|
6618
6618
|
});
|
|
6619
6619
|
|
|
6620
|
-
// Multi-root fragment fix: a no
|
|
6620
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
6621
6621
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
6622
6622
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
6623
6623
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -6714,7 +6714,7 @@ else {
|
|
|
6714
6714
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
6715
6715
|
});
|
|
6716
6716
|
|
|
6717
|
-
// Process
|
|
6717
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
6718
6718
|
// Use componentScope which now contains variables from processed components
|
|
6719
6719
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
6720
6720
|
headElements.forEach(el => {
|
|
@@ -6910,7 +6910,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
6910
6910
|
|
|
6911
6911
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
6912
6912
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
6913
|
-
// over the stale data-stx attribute on
|
|
6913
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
6914
6914
|
var usedLatestSetup = false;
|
|
6915
6915
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
6916
6916
|
try {
|
|
@@ -6994,7 +6994,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
6994
6994
|
|
|
6995
6995
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
6996
6996
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
6997
|
-
// The DOMContentLoaded path processes
|
|
6997
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
6998
6998
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
6999
6999
|
if (!container.__stx_scope) {
|
|
7000
7000
|
// Dispose previous effects on the container (from prior navigation)
|