@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
package/dist/dev-server/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)
|
|
@@ -8714,10 +8714,10 @@ else {
|
|
|
8714
8714
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8715
8715
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8716
8716
|
|
|
8717
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8717
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8718
8718
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8719
8719
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8720
|
-
// Do NOT fallback just because the script is in
|
|
8720
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8721
8721
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8722
8722
|
var needsFallback = !root || root === document.body
|
|
8723
8723
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9036,7 +9036,7 @@ else {
|
|
|
9036
9036
|
mountCallbacks.forEach(fn => fn());
|
|
9037
9037
|
});
|
|
9038
9038
|
|
|
9039
|
-
// Multi-root fragment fix: a no
|
|
9039
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9040
9040
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9041
9041
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9042
9042
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9133,7 +9133,7 @@ else {
|
|
|
9133
9133
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9134
9134
|
});
|
|
9135
9135
|
|
|
9136
|
-
// Process
|
|
9136
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9137
9137
|
// Use componentScope which now contains variables from processed components
|
|
9138
9138
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9139
9139
|
headElements.forEach(el => {
|
|
@@ -9329,7 +9329,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9329
9329
|
|
|
9330
9330
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9331
9331
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9332
|
-
// over the stale data-stx attribute on
|
|
9332
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9333
9333
|
var usedLatestSetup = false;
|
|
9334
9334
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9335
9335
|
try {
|
|
@@ -9413,7 +9413,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9413
9413
|
|
|
9414
9414
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9415
9415
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9416
|
-
// The DOMContentLoaded path processes
|
|
9416
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9417
9417
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9418
9418
|
if (!container.__stx_scope) {
|
|
9419
9419
|
// Dispose previous effects on the container (from prior navigation)
|
|
@@ -8548,10 +8548,10 @@ else {
|
|
|
8548
8548
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8549
8549
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8550
8550
|
|
|
8551
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8551
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8552
8552
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8553
8553
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8554
|
-
// Do NOT fallback just because the script is in
|
|
8554
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8555
8555
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8556
8556
|
var needsFallback = !root || root === document.body
|
|
8557
8557
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -8870,7 +8870,7 @@ else {
|
|
|
8870
8870
|
mountCallbacks.forEach(fn => fn());
|
|
8871
8871
|
});
|
|
8872
8872
|
|
|
8873
|
-
// Multi-root fragment fix: a no
|
|
8873
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
8874
8874
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
8875
8875
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
8876
8876
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -8967,7 +8967,7 @@ else {
|
|
|
8967
8967
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
8968
8968
|
});
|
|
8969
8969
|
|
|
8970
|
-
// Process
|
|
8970
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
8971
8971
|
// Use componentScope which now contains variables from processed components
|
|
8972
8972
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
8973
8973
|
headElements.forEach(el => {
|
|
@@ -9163,7 +9163,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9163
9163
|
|
|
9164
9164
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9165
9165
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9166
|
-
// over the stale data-stx attribute on
|
|
9166
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9167
9167
|
var usedLatestSetup = false;
|
|
9168
9168
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9169
9169
|
try {
|
|
@@ -9247,7 +9247,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9247
9247
|
|
|
9248
9248
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9249
9249
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9250
|
-
// The DOMContentLoaded path processes
|
|
9250
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9251
9251
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9252
9252
|
if (!container.__stx_scope) {
|
|
9253
9253
|
// 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)
|
|
@@ -6486,10 +6486,10 @@ else {
|
|
|
6486
6486
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
6487
6487
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
6488
6488
|
|
|
6489
|
-
// SPA fallback: during router navigation, script is appended to
|
|
6489
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
6490
6490
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
6491
6491
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
6492
|
-
// Do NOT fallback just because the script is in
|
|
6492
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
6493
6493
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
6494
6494
|
var needsFallback = !root || root === document.body
|
|
6495
6495
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -6808,7 +6808,7 @@ else {
|
|
|
6808
6808
|
mountCallbacks.forEach(fn => fn());
|
|
6809
6809
|
});
|
|
6810
6810
|
|
|
6811
|
-
// Multi-root fragment fix: a no
|
|
6811
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
6812
6812
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
6813
6813
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
6814
6814
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -6905,7 +6905,7 @@ else {
|
|
|
6905
6905
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
6906
6906
|
});
|
|
6907
6907
|
|
|
6908
|
-
// Process
|
|
6908
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
6909
6909
|
// Use componentScope which now contains variables from processed components
|
|
6910
6910
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
6911
6911
|
headElements.forEach(el => {
|
|
@@ -7101,7 +7101,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
7101
7101
|
|
|
7102
7102
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
7103
7103
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
7104
|
-
// over the stale data-stx attribute on
|
|
7104
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
7105
7105
|
var usedLatestSetup = false;
|
|
7106
7106
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
7107
7107
|
try {
|
|
@@ -7185,7 +7185,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
7185
7185
|
|
|
7186
7186
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
7187
7187
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
7188
|
-
// The DOMContentLoaded path processes
|
|
7188
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
7189
7189
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
7190
7190
|
if (!container.__stx_scope) {
|
|
7191
7191
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/dev-server.js
CHANGED
|
@@ -6725,10 +6725,10 @@ else {
|
|
|
6725
6725
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
6726
6726
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
6727
6727
|
|
|
6728
|
-
// SPA fallback: during router navigation, script is appended to
|
|
6728
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
6729
6729
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
6730
6730
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
6731
|
-
// Do NOT fallback just because the script is in
|
|
6731
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
6732
6732
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
6733
6733
|
var needsFallback = !root || root === document.body
|
|
6734
6734
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -7047,7 +7047,7 @@ else {
|
|
|
7047
7047
|
mountCallbacks.forEach(fn => fn());
|
|
7048
7048
|
});
|
|
7049
7049
|
|
|
7050
|
-
// Multi-root fragment fix: a no
|
|
7050
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
7051
7051
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
7052
7052
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
7053
7053
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -7144,7 +7144,7 @@ else {
|
|
|
7144
7144
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
7145
7145
|
});
|
|
7146
7146
|
|
|
7147
|
-
// Process
|
|
7147
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
7148
7148
|
// Use componentScope which now contains variables from processed components
|
|
7149
7149
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
7150
7150
|
headElements.forEach(el => {
|
|
@@ -7340,7 +7340,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
7340
7340
|
|
|
7341
7341
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
7342
7342
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
7343
|
-
// over the stale data-stx attribute on
|
|
7343
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
7344
7344
|
var usedLatestSetup = false;
|
|
7345
7345
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
7346
7346
|
try {
|
|
@@ -7424,7 +7424,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
7424
7424
|
|
|
7425
7425
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
7426
7426
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
7427
|
-
// The DOMContentLoaded path processes
|
|
7427
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
7428
7428
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
7429
7429
|
if (!container.__stx_scope) {
|
|
7430
7430
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/docs.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)
|
|
@@ -7235,10 +7235,10 @@ else {
|
|
|
7235
7235
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
7236
7236
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
7237
7237
|
|
|
7238
|
-
// SPA fallback: during router navigation, script is appended to
|
|
7238
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
7239
7239
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
7240
7240
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
7241
|
-
// Do NOT fallback just because the script is in
|
|
7241
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
7242
7242
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
7243
7243
|
var needsFallback = !root || root === document.body
|
|
7244
7244
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -7557,7 +7557,7 @@ else {
|
|
|
7557
7557
|
mountCallbacks.forEach(fn => fn());
|
|
7558
7558
|
});
|
|
7559
7559
|
|
|
7560
|
-
// Multi-root fragment fix: a no
|
|
7560
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
7561
7561
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
7562
7562
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
7563
7563
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -7654,7 +7654,7 @@ else {
|
|
|
7654
7654
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
7655
7655
|
});
|
|
7656
7656
|
|
|
7657
|
-
// Process
|
|
7657
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
7658
7658
|
// Use componentScope which now contains variables from processed components
|
|
7659
7659
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
7660
7660
|
headElements.forEach(el => {
|
|
@@ -7850,7 +7850,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
7850
7850
|
|
|
7851
7851
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
7852
7852
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
7853
|
-
// over the stale data-stx attribute on
|
|
7853
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
7854
7854
|
var usedLatestSetup = false;
|
|
7855
7855
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
7856
7856
|
try {
|
|
@@ -7934,7 +7934,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
7934
7934
|
|
|
7935
7935
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
7936
7936
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
7937
|
-
// The DOMContentLoaded path processes
|
|
7937
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
7938
7938
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
7939
7939
|
if (!container.__stx_scope) {
|
|
7940
7940
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/includes.js
CHANGED
|
@@ -6943,10 +6943,10 @@ else {
|
|
|
6943
6943
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
6944
6944
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
6945
6945
|
|
|
6946
|
-
// SPA fallback: during router navigation, script is appended to
|
|
6946
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
6947
6947
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
6948
6948
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
6949
|
-
// Do NOT fallback just because the script is in
|
|
6949
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
6950
6950
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
6951
6951
|
var needsFallback = !root || root === document.body
|
|
6952
6952
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -7265,7 +7265,7 @@ else {
|
|
|
7265
7265
|
mountCallbacks.forEach(fn => fn());
|
|
7266
7266
|
});
|
|
7267
7267
|
|
|
7268
|
-
// Multi-root fragment fix: a no
|
|
7268
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
7269
7269
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
7270
7270
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
7271
7271
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -7362,7 +7362,7 @@ else {
|
|
|
7362
7362
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
7363
7363
|
});
|
|
7364
7364
|
|
|
7365
|
-
// Process
|
|
7365
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
7366
7366
|
// Use componentScope which now contains variables from processed components
|
|
7367
7367
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
7368
7368
|
headElements.forEach(el => {
|
|
@@ -7558,7 +7558,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
7558
7558
|
|
|
7559
7559
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
7560
7560
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
7561
|
-
// over the stale data-stx attribute on
|
|
7561
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
7562
7562
|
var usedLatestSetup = false;
|
|
7563
7563
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
7564
7564
|
try {
|
|
@@ -7642,7 +7642,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
7642
7642
|
|
|
7643
7643
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
7644
7644
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
7645
|
-
// The DOMContentLoaded path processes
|
|
7645
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
7646
7646
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
7647
7647
|
if (!container.__stx_scope) {
|
|
7648
7648
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/index.js
CHANGED
|
@@ -8714,10 +8714,10 @@ else {
|
|
|
8714
8714
|
var root = scriptEl ? scriptEl.nextElementSibling : null;
|
|
8715
8715
|
if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
|
|
8716
8716
|
|
|
8717
|
-
// SPA fallback: during router navigation, script is appended to
|
|
8717
|
+
// SPA fallback: during router navigation, script is appended to body>
|
|
8718
8718
|
// (not inside the content container), so nextElementSibling won't find the page content.
|
|
8719
8719
|
// Only use fallback when we genuinely couldn't find a suitable root element.
|
|
8720
|
-
// Do NOT fallback just because the script is in
|
|
8720
|
+
// Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
|
|
8721
8721
|
// with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
|
|
8722
8722
|
var needsFallback = !root || root === document.body
|
|
8723
8723
|
|| (root && root.tagName === 'SCRIPT');
|
|
@@ -9036,7 +9036,7 @@ else {
|
|
|
9036
9036
|
mountCallbacks.forEach(fn => fn());
|
|
9037
9037
|
});
|
|
9038
9038
|
|
|
9039
|
-
// Multi-root fragment fix: a no
|
|
9039
|
+
// Multi-root fragment fix: a no-body> setup page tags only the FIRST
|
|
9040
9040
|
// top-level element with data-stx (signal-processing.ts marks one element),
|
|
9041
9041
|
// so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
|
|
9042
9042
|
// never hydrated, which read as "{{ }} doesn't work under :if/:for". The
|
|
@@ -9133,7 +9133,7 @@ else {
|
|
|
9133
9133
|
el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
|
|
9134
9134
|
});
|
|
9135
9135
|
|
|
9136
|
-
// Process
|
|
9136
|
+
// Process head> elements (title, meta) that may contain {{ }} expressions
|
|
9137
9137
|
// Use componentScope which now contains variables from processed components
|
|
9138
9138
|
const headElements = document.querySelectorAll('head title, head meta[content]');
|
|
9139
9139
|
headElements.forEach(el => {
|
|
@@ -9329,7 +9329,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9329
9329
|
|
|
9330
9330
|
// Apply new page's SFC setup function. During SPA navigation, re-executed page
|
|
9331
9331
|
// scripts set window.stx._latestSetup to the new setup function. This takes priority
|
|
9332
|
-
// over the stale data-stx attribute on
|
|
9332
|
+
// over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
|
|
9333
9333
|
var usedLatestSetup = false;
|
|
9334
9334
|
if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
|
|
9335
9335
|
try {
|
|
@@ -9413,7 +9413,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
|
|
|
9413
9413
|
|
|
9414
9414
|
// Process the container content \u2014 bind {{ }}, :attr, @event directives.
|
|
9415
9415
|
// Run synchronously (not in setTimeout) so componentScope is captured correctly.
|
|
9416
|
-
// The DOMContentLoaded path processes
|
|
9416
|
+
// The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
|
|
9417
9417
|
console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
|
|
9418
9418
|
if (!container.__stx_scope) {
|
|
9419
9419
|
// Dispose previous effects on the container (from prior navigation)
|
package/dist/interactive.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/lazy-loader.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)
|