@takazudo/zfb-runtime 0.1.0-next.7 → 0.1.0-next.70

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.
@@ -24,7 +24,8 @@
24
24
  // - `inBrowser` evaluates to `typeof document !== "undefined"` rather than relying
25
25
  // on the SSR flag, because the runtime package serves both server- and client-side
26
26
  // code; same observable behavior in browser and on SSR.
27
- // - `announce()` is a TODO stub (W3C3 owns the route announcer).
27
+ // - `announce()` was a TODO stub at W1B port time; W3C3 implemented it and #1063 gave
28
+ // its 60ms timer explicit lifecycle ownership — see the route-announcer block below.
28
29
  //
29
30
  // W3C2 additions (this file):
30
31
  // - `navigate()` public entry.
@@ -33,9 +34,21 @@
33
34
  // from `history.state`, registers popstate / load / scrollend listeners, and
34
35
  // marks already-executed scripts with `dataset["zfbExec"] = ""`).
35
36
  //
36
- // W3C1 deferred to W3C3:
37
- // - `announce()` route-announcer implementation.
38
- // - Click + form intercept.
37
+ // W3C1 items deferred to — and since implemented in — W3C3:
38
+ // - `announce()` route-announcer implementation (see the route-announcer block below;
39
+ // timer lifecycle ownership hardened in #1063).
40
+ // - Click + form intercept (see `handleClick` / `handleSubmit` / `init()` below).
41
+ //
42
+ // zfb-only additions (no Astro upstream — #1076):
43
+ // - `onPageShow` pageshow/bfcache re-sync, registered inside the init block alongside
44
+ // popstate/load/scrollend. Verified against live Astro `main`: neither
45
+ // `transitions/router.ts` nor `ClientRouter.astro` has any pageshow/`persisted`
46
+ // handler, so this is original design, not a port. WebKit serves Back after an SPA
47
+ // route change from the bfcache without re-evaluating this module, desyncing the
48
+ // tracked `currentHistoryIndex` from the live history stack; `onPageShow` re-seeds it
49
+ // (and restores scroll) on a persisted restore — see the `onPageShow` block below.
50
+ // - `derivePopDirection` hardens the popstate forward/back calc against an unchanged or
51
+ // missing/NaN `state.index` that a bfcache restore can leave behind (#1076).
39
52
  import { doPreparation, doSwap, onPageLoad, triggerEvent, updateScrollPosition, } from "./events.js";
40
53
  import { detectScriptExecuted } from "./swap-functions.js";
41
54
  // Island re-bootstrap and deferred-cancel after body swap (W1B §12.2, §12.5).
@@ -61,22 +74,50 @@ let mostRecentTransition;
61
74
  // When we traverse the history, the window.location is already set to the new location.
62
75
  // This variable tells us where we came from
63
76
  let originalLocation;
64
- // Route announcer — ported from Astro's announce(). Creates (or reuses) a single
65
- // shared aria-live <div> per navigation, so screen readers announce the new page title.
77
+ // Route announcer — ported from Astro's announce(). Each navigation appends a fresh
78
+ // aria-live <div> (after removing any prior announcer, so exactly one ever exists) and
79
+ // writes the new page title into it 60ms later, so screen readers announce the new page.
80
+ //
81
+ // zfb deviation from Astro / design decision for #1063 (timer lifecycle ownership):
82
+ // - The 60ms timer id is stored and cleared when a newer navigation supersedes a
83
+ // still-pending announcement, so a superseded page's title is never written to a
84
+ // now-detached announcer. (Astro leaves the timer fire-and-forget.)
85
+ // - The previous announcer is removed before a new one is appended, so they never
86
+ // accumulate. We deliberately do NOT *reuse* one element across navigations (which
87
+ // #1063 floated): a reused live region is detached and re-inserted into the a11y
88
+ // tree on every body swap, and a repeated title would be a no-op text write — both
89
+ // make re-announcement unreliable across screen readers. Creating a fresh empty
90
+ // element and writing text 60ms later is Astro's proven, reliable announce trigger.
91
+ //
66
92
  // The 60ms delay is Astro's magic number: screen readers need to see the element change
67
93
  // and may miss it if it happens too quickly.
94
+ let announceTimer;
68
95
  const announce = () => {
69
- let div = document.createElement("div");
96
+ // A newer navigation supersedes any still-pending announcement: cancel the old
97
+ // timer so it can't write a now-stale title after this navigation's swap.
98
+ if (announceTimer !== undefined)
99
+ window.clearTimeout(announceTimer);
100
+ // Keep exactly one announcer: drop any leftover from a prior navigation that the
101
+ // body swap did not already detach.
102
+ document.querySelector(".zfb-route-announcer")?.remove();
103
+ const div = document.createElement("div");
70
104
  div.setAttribute("aria-live", "assertive");
71
105
  div.setAttribute("aria-atomic", "true");
72
106
  div.className = "zfb-route-announcer";
73
107
  document.body.append(div);
74
- setTimeout(() => {
75
- let title = document.title || document.querySelector("h1")?.textContent || location.pathname;
108
+ announceTimer = window.setTimeout(() => {
109
+ announceTimer = undefined;
110
+ // This timer can outlive its document context — a test-env teardown
111
+ // (vitest/happy-dom) or a real page unload removes `document` (and
112
+ // `location`) before the 60ms elapses. `typeof` is safe even when the
113
+ // global is gone, so bail out instead of throwing an unhandled
114
+ // ReferenceError (#1061); the announcement is moot once the page is gone.
115
+ // Both globals the callback dereferences are checked, not just `document`.
116
+ if (typeof document === "undefined" || typeof location === "undefined")
117
+ return;
118
+ const title = document.title || document.querySelector("h1")?.textContent || location.pathname;
76
119
  div.textContent = title;
77
- },
78
- // Screen readers need to see the element change; 60ms is Astro's empirically chosen delay.
79
- 60);
120
+ }, 60);
80
121
  };
81
122
  const PERSIST_ATTR = "data-zfb-transition-persist";
82
123
  const DIRECTION_ATTR = "data-zfb-transition";
@@ -130,10 +171,19 @@ async function fetchHTML(href, init) {
130
171
  export function getFallback() {
131
172
  const el = document.querySelector('[name="zfb-view-transitions-fallback"]');
132
173
  if (el) {
133
- return el.getAttribute("content");
174
+ // Astro casts `content` straight to Fallback; harden against an arbitrary/typo'd
175
+ // attribute value by validating against the known set and defaulting to "animate".
176
+ const content = el.getAttribute("content");
177
+ if (content === "none" || content === "animate" || content === "swap") {
178
+ return content;
179
+ }
134
180
  }
135
181
  return "animate";
136
182
  }
183
+ // Upper bound (ms) for waiting on a single external <script>'s load/error in
184
+ // runScripts(). Not an Astro upstream value — added so a slow/broken external
185
+ // script can never hang the transition indefinitely.
186
+ const EXTERNAL_SCRIPT_WAIT_TIMEOUT = 5000;
137
187
  function runScripts() {
138
188
  let wait = Promise.resolve();
139
189
  let needsWaitForInlineModuleScript = false;
@@ -159,8 +209,17 @@ function runScripts() {
159
209
  newScript.innerHTML = script.innerHTML;
160
210
  for (const attr of script.attributes) {
161
211
  if (attr.name === "src") {
212
+ // Astro awaits onload/onerror with no upper bound; a slow or broken
213
+ // external <script> would then hang the whole transition. Race the
214
+ // load against a timeout so the transition can always proceed.
162
215
  const p = new Promise((r) => {
163
- newScript.onload = newScript.onerror = r;
216
+ let timer;
217
+ const done = () => {
218
+ clearTimeout(timer);
219
+ r();
220
+ };
221
+ newScript.onload = newScript.onerror = done;
222
+ timer = setTimeout(done, EXTERNAL_SCRIPT_WAIT_TIMEOUT);
164
223
  });
165
224
  wait = wait.then(() => p);
166
225
  }
@@ -180,7 +239,14 @@ const moveToLocation = (to, from, options, pageTitleForBrowserHistory, historySt
180
239
  let scrolledToTop = false;
181
240
  if (to.href !== location.href && !historyState) {
182
241
  if (options.history === "replace") {
183
- const current = history.state;
242
+ // Astro reads current.index/scrollX/scrollY directly; `history.state` can be
243
+ // null (page entered without a transition state), which would throw a
244
+ // TypeError. Fall back to a synthesized state from the tracked index/scroll.
245
+ const current = history.state ?? {
246
+ index: currentHistoryIndex,
247
+ scrollX,
248
+ scrollY,
249
+ };
184
250
  history.replaceState({
185
251
  ...options.state,
186
252
  index: current.index,
@@ -369,8 +435,11 @@ async function transition(direction, from, to, options, historyState, hasUAVisua
369
435
  //
370
436
  // Note: getNamedItem can return null in real life, even if TypeScript doesn't think so, hence
371
437
  // the ?.
438
+ // `form` can be null (closest() miss, or a form-less form-associated
439
+ // element) — `!= null` covers both null and undefined so Reflect.get
440
+ // is never invoked on a non-element receiver ("Illegal invocation").
372
441
  init.body =
373
- form !== undefined &&
442
+ form != null &&
374
443
  Reflect.get(HTMLFormElement.prototype, "attributes", form).getNamedItem("enctype")
375
444
  ?.value === "application/x-www-form-urlencoded"
376
445
  ? new URLSearchParams(preparationEvent.formData)
@@ -446,6 +515,48 @@ async function transition(direction, from, to, options, historyState, hasUAVisua
446
515
  return;
447
516
  }
448
517
  document.documentElement.setAttribute(DIRECTION_ATTR, prepEvent.direction);
518
+ // Commit the SPA history entry BEFORE the transition's update callback runs.
519
+ //
520
+ // WebKit (all iOS browsers, incl. iOS Chrome) does not reliably commit a
521
+ // distinct back/forward history entry when history.pushState() is issued
522
+ // *inside* the document.startViewTransition() update callback: the URL bar
523
+ // updates but no new entry is created, so a single Back press falls off the
524
+ // site to the browser home (zudolab/zzmod#662). Committing the entry here —
525
+ // outside the transition's update callback — makes WebKit create it; Chromium
526
+ // is unaffected either way. moveToLocation() (called later from updateDOM,
527
+ // inside the callback) then no-ops its own push/replace via the
528
+ // `to.href !== location.href` guard, since location is already at the
529
+ // committed URL, so currentHistoryIndex is not double-advanced.
530
+ //
531
+ // We use prepEvent.to (redirects are already resolved into it during
532
+ // preparation) and write before the swap, while document.title is still the
533
+ // old page's title — so the back entry keeps the correct (old-page) title
534
+ // without needing moveToLocation's title juggle. Writing here also covers the
535
+ // non-VT fallback path below in one place.
536
+ //
537
+ // Traverse (popstate) navigations carry historyState: the browser has already
538
+ // moved, so they must NOT create a new entry here.
539
+ if (!historyState && prepEvent.to.href !== location.href) {
540
+ if (options.history === "replace") {
541
+ // Mirror of the moveToLocation replace-path guard: `history.state` can be
542
+ // null here too (page entered without a transition state), so synthesize a
543
+ // state from the tracked index/scroll instead of dereferencing null.
544
+ const current = history.state ?? {
545
+ index: currentHistoryIndex,
546
+ scrollX,
547
+ scrollY,
548
+ };
549
+ history.replaceState({
550
+ ...options.state,
551
+ index: current.index,
552
+ scrollX: current.scrollX,
553
+ scrollY: current.scrollY,
554
+ }, "", prepEvent.to.href);
555
+ }
556
+ else {
557
+ history.pushState({ ...options.state, index: ++currentHistoryIndex, scrollX: 0, scrollY: 0 }, "", prepEvent.to.href);
558
+ }
559
+ }
449
560
  if (supportsViewTransitions && !hasUAVisualTransition) {
450
561
  // This automatically cancels any previous transition
451
562
  // We also already took care that the earlier update callback got through
@@ -539,6 +650,18 @@ export async function navigate(href, options) {
539
650
  }
540
651
  return;
541
652
  }
653
+ if (!supportsViewTransitions && getFallback() === "none") {
654
+ const url = new URL(href, location.href);
655
+ // Honor the history option on the full-load fallback path: "replace"
656
+ // must not leave a back-button entry, so use location.replace().
657
+ if (options?.history === "replace") {
658
+ location.replace(url.href);
659
+ }
660
+ else {
661
+ location.href = url.href;
662
+ }
663
+ return;
664
+ }
542
665
  await transition("forward", originalLocation, new URL(href, location.href), options ?? {});
543
666
  }
544
667
  function onPopState(ev) {
@@ -558,10 +681,29 @@ function onPopState(ev) {
558
681
  }
559
682
  const state = history.state;
560
683
  const nextIndex = state.index;
561
- const direction = nextIndex > currentHistoryIndex ? "forward" : "back";
562
- currentHistoryIndex = nextIndex;
684
+ const direction = derivePopDirection(nextIndex, currentHistoryIndex);
685
+ // Only advance the tracked index when the entry carries a usable index.
686
+ // After a bfcache restore the index can be missing/NaN; clobbering the
687
+ // tracked value with NaN would poison every subsequent direction calc, so
688
+ // keep the last known-good index in that case (see derivePopDirection).
689
+ if (Number.isFinite(nextIndex)) {
690
+ currentHistoryIndex = nextIndex;
691
+ }
563
692
  transition(direction, originalLocation, new URL(location.href), {}, state, ev.hasUAVisualTransition);
564
693
  }
694
+ // Decide forward vs back from the popped entry's index against the last
695
+ // tracked index. Two desync cases a WebKit bfcache restore can produce:
696
+ // - missing / NaN `next` (restored entry lost its index): handled explicitly
697
+ // below — we cannot prove a forward move, so treat it as "back" (the safe
698
+ // default; a forward misclassification is what makes Back skip to the wrong
699
+ // page).
700
+ // - `next === current` (index unchanged after a desync/replace): falls out of
701
+ // the `>` comparison as "back" — not a forward navigation.
702
+ function derivePopDirection(nextIndex, trackedIndex) {
703
+ if (!Number.isFinite(nextIndex))
704
+ return "back";
705
+ return nextIndex > trackedIndex ? "forward" : "back";
706
+ }
565
707
  const onScrollEnd = () => {
566
708
  // NOTE: our "popstate" event handler may call `pushState()` or
567
709
  // `replaceState()` and then `scrollTo()`, which will fire "scroll" and
@@ -572,12 +714,42 @@ const onScrollEnd = () => {
572
714
  updateScrollPosition({ scrollX, scrollY });
573
715
  }
574
716
  };
717
+ // zfb-only addition (no Astro upstream — see file header "zfb-only additions").
718
+ // WebKit serves Back navigations after an SPA route change from the bfcache:
719
+ // the page is restored without re-evaluating this module, so the init-block
720
+ // seed below (which sets `currentHistoryIndex` from `history.state.index`)
721
+ // never re-runs and the tracked index can desync from the live history stack.
722
+ // A desynced index makes onPopState's direction calc misfire, so Back skips an
723
+ // entry. On a persisted (bfcache) restore we re-seed the tracked index and the
724
+ // `originalLocation` "from" URL from the live state, and restore scroll —
725
+ // mirroring the init-block seed. This is a no-op on a normal load (`persisted`
726
+ // falsy/absent) and idempotent (re-seeding from the same state twice changes
727
+ // nothing and fires no transition).
728
+ const onPageShow = (ev) => {
729
+ // Normal (non-bfcache) loads already ran the init-block seed; leave them be.
730
+ if (!ev.persisted)
731
+ return;
732
+ // The init block sets `originalLocation` and `currentHistoryIndex` together;
733
+ // re-sync both here so the next transition() gets the correct `from` URL
734
+ // (a stale `originalLocation` would feed onPopState the wrong origin).
735
+ originalLocation = new URL(location.href);
736
+ const index = history.state?.index;
737
+ if (Number.isFinite(index)) {
738
+ currentHistoryIndex = index;
739
+ }
740
+ if (history.state) {
741
+ scrollTo({ left: history.state.scrollX, top: history.state.scrollY });
742
+ }
743
+ };
575
744
  // initialization
576
745
  if (inBrowser) {
577
746
  if (supportsViewTransitions || getFallback() !== "none") {
578
747
  originalLocation = new URL(location.href);
579
748
  addEventListener("popstate", onPopState);
580
749
  addEventListener("load", onPageLoad);
750
+ // Re-sync the tracked history index + scroll on a WebKit bfcache restore;
751
+ // a no-op on normal loads. See onPageShow above.
752
+ addEventListener("pageshow", onPageShow);
581
753
  // There's not a good way to record scroll position before a history back
582
754
  // navigation, so we will record it when the user has stopped scrolling.
583
755
  if ("onscrollend" in window)
@@ -586,6 +758,18 @@ if (inBrowser) {
586
758
  // Keep track of state between intervals
587
759
  let intervalId, lastY, lastX, lastIndex;
588
760
  const scrollInterval = () => {
761
+ // The interval can outlive its document context — a test-env teardown or a
762
+ // real page unload removes window/history before the 50ms tick. `typeof`
763
+ // never throws even when the global is gone: stop the interval and bail
764
+ // rather than dereferencing a torn-down global (the #1061 bug class; #1063).
765
+ // In a real browser these globals always exist, so this path is test-env
766
+ // only. clearInterval may itself be mid-teardown, so guard the call too.
767
+ if (typeof window === "undefined" || typeof history === "undefined") {
768
+ if (typeof clearInterval === "function")
769
+ clearInterval(intervalId);
770
+ intervalId = undefined;
771
+ return;
772
+ }
589
773
  // Check the index to see if a popstate event was fired
590
774
  if (lastIndex !== history.state?.index) {
591
775
  clearInterval(intervalId);
@@ -726,11 +910,14 @@ let initialized = false;
726
910
  export function init(_options) {
727
911
  if (initialized)
728
912
  return;
729
- initialized = true;
913
+ // Latch the guard only AFTER the early-return guards below: an ineligible
914
+ // early call (no browser, or fallback "none") must not permanently latch
915
+ // `initialized`, or a later legitimately-eligible init() would no-op forever.
730
916
  if (!inBrowser)
731
917
  return;
732
918
  if (!supportsViewTransitions && getFallback() === "none")
733
919
  return;
920
+ initialized = true;
734
921
  document.addEventListener("click", handleClick);
735
922
  document.addEventListener("submit", handleSubmit);
736
923
  // Prefetch hook intentionally omitted from v1 — see https://github.com/zudolab/zudo-doc/issues/1527
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/client-router/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/client-router/router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"swap-functions.d.ts","sourceRoot":"","sources":["../../src/client-router/swap-functions.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAAG;IACvB,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AASF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,WAK7D;AAKD,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,QAa5C;AAQD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,QAQlD;AAKD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,QA2B7C;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,QAmDvE;AAyBD,eAAO,MAAM,SAAS,QAAO,CAAC,MAAM,IAAI,CAevC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,+BAA+B,UAAU,SAQrE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,IAAI,gBAAgB,KAAG,MASvD,CAAC;AA0DF,eAAO,MAAM,aAAa;;;;;qBA9FG,CAAC,MAAM,IAAI,CAAC;CAoGxC,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,KAAK,QAAQ,SAOjC,CAAC"}
1
+ {"version":3,"file":"swap-functions.d.ts","sourceRoot":"","sources":["../../src/client-router/swap-functions.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAAG;IACvB,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAgBF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,WAK7D;AAKD,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,QAa5C;AA8BD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,QASlD;AAKD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,QA2B7C;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,QAqDvE;AAyBD,eAAO,MAAM,SAAS,QAAO,CAAC,MAAM,IAAI,CAevC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,+BAA+B,UAAU,SAQrE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,IAAI,gBAAgB,KAAG,MASvD,CAAC;AA0DF,eAAO,MAAM,aAAa;;;;;qBA9FG,CAAC,MAAM,IAAI,CAAC;CAoGxC,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,KAAK,QAAQ,SAOjC,CAAC"}
@@ -7,6 +7,12 @@
7
7
  // issue body's "DELETE" instruction is overridden by W2A's reclassification).
8
8
  const PERSIST_ATTR = "data-zfb-transition-persist";
9
9
  const NON_OVERRIDABLE_ZFB_ATTRS = ["data-zfb-transition", "data-zfb-transition-fallback"];
10
+ // Consumers extend the preserve-set via <meta name="zfb-preserve-html-attrs"
11
+ // content="data-theme data-sidebar-hidden …">, emitted by
12
+ // <ClientRouter preserveHtmlAttrs={[…]} />. Without it, a runtime <html>
13
+ // attribute set from a persisted island is wiped on every swap. See
14
+ // client-router/port-spec.md deviation #11 and Takazudo/zudo-front-builder#1103.
15
+ const PRESERVE_ATTRS_META_NAME = "zfb-preserve-html-attrs";
10
16
  const knownVueScopedStyles = new Map();
11
17
  const scriptsAlreadyRan = new Set();
12
18
  export function detectScriptExecuted(script) {
@@ -32,16 +38,38 @@ export function deselectScripts(doc) {
32
38
  }
33
39
  }
34
40
  }
41
+ /*
42
+ * Read the consumer-configured preserve-list from the live document's
43
+ * <meta name="zfb-preserve-html-attrs"> tag. The list is a site-wide, static
44
+ * contract (the tag is rendered on every page, so it is present on both the
45
+ * current and incoming documents); reading the live document is sufficient.
46
+ * Returns [] when the tag is absent.
47
+ */
48
+ function consumerPreservedAttrs() {
49
+ const content = document
50
+ .querySelector(`meta[name="${PRESERVE_ATTRS_META_NAME}"]`)
51
+ ?.getAttribute("content");
52
+ // Attribute names are ASCII-case-insensitive and the DOM exposes them
53
+ // lowercased, so normalize the list to match (NON_OVERRIDABLE_ZFB_ATTRS is
54
+ // already lowercase). Without this, a mixed-case entry would silently never
55
+ // match the live attribute name.
56
+ return content ? content.toLowerCase().split(/\s+/).filter(Boolean) : [];
57
+ }
35
58
  /*
36
59
  * swap attributes of the html element
37
60
  * delete all attributes from the current document
38
61
  * insert all attributes from doc
39
- * reinsert all original attributes that are referenced in NON_OVERRIDABLE_ZFB_ATTRS'
62
+ * reinsert all original attributes whose name is in the preserve-set:
63
+ * NON_OVERRIDABLE_ZFB_ATTRS (transition-internal) ∪ the consumer preserve-list.
64
+ * Preserved attributes are re-applied last, so a runtime value on the current
65
+ * root wins over the incoming document's default (e.g. a localStorage-driven
66
+ * data-theme). See client-router/port-spec.md deviation #11 / #1103.
40
67
  */
41
68
  export function swapRootAttributes(newDoc) {
42
69
  const currentRoot = document.documentElement;
43
- const nonOverridableZfbAttributes = [...currentRoot.attributes].filter(({ name }) => (currentRoot.removeAttribute(name), NON_OVERRIDABLE_ZFB_ATTRS.includes(name)));
44
- [...newDoc.documentElement.attributes, ...nonOverridableZfbAttributes].forEach(({ name, value }) => currentRoot.setAttribute(name, value));
70
+ const preserve = new Set([...NON_OVERRIDABLE_ZFB_ATTRS, ...consumerPreservedAttrs()]);
71
+ const preservedAttributes = [...currentRoot.attributes].filter(({ name }) => (currentRoot.removeAttribute(name), preserve.has(name)));
72
+ [...newDoc.documentElement.attributes, ...preservedAttributes].forEach(({ name, value }) => currentRoot.setAttribute(name, value));
45
73
  }
46
74
  /*
47
75
  * make the old head look like the new one
@@ -116,7 +144,11 @@ export function swapBodyElement(newElement, oldElement) {
116
144
  !isSameProps(el, newTarget)) {
117
145
  el.setAttribute("ssr", "");
118
146
  // zfb island wrapper writes SSR props to data-props, not props (different attribute, not just renamed).
119
- el.setAttribute("data-props", newTarget.getAttribute("data-props"));
147
+ const np = newTarget.getAttribute("data-props");
148
+ if (np !== null)
149
+ el.setAttribute("data-props", np);
150
+ else
151
+ el.removeAttribute("data-props");
120
152
  }
121
153
  }
122
154
  // This will upgrade any Declarative Shadow DOM in the new body.
@@ -1 +1 @@
1
- {"version":3,"file":"swap-functions.js","sourceRoot":"","sources":["../../src/client-router/swap-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap-functions.js","sourceRoot":"","sources":["../../src/client-router/swap-functions.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,oCAAoC;AACpC,+EAA+E;AAC/E,mFAAmF;AACnF,2FAA2F;AAC3F,mFAAmF;AACnF,8EAA8E;AAQ9E,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAEnD,MAAM,yBAAyB,GAAG,CAAC,qBAAqB,EAAE,8BAA8B,CAAC,CAAC;AAE1F,6EAA6E;AAC7E,0DAA0D;AAC1D,yEAAyE;AACzE,oEAAoE;AACpE,iFAAiF;AACjF,MAAM,wBAAwB,GAAG,yBAAyB,CAAC;AAE3D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAEjE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAC5C,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAY,CAAC;IACvF,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAa;IAC3C,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC7B;QACE,sEAAsE;QACtE,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAClC,gDAAgD;YAChD,oBAAoB,CAAC,EAAE,CAAC,EACxB,CAAC;YACD,6EAA6E;YAC7E,iDAAiD;YACjD,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB;IAC7B,MAAM,OAAO,GAAG,QAAQ;SACrB,aAAa,CAAC,cAAc,wBAAwB,IAAI,CAAC;QAC1D,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5B,sEAAsE;IACtE,2EAA2E;IAC3E,4EAA4E;IAC5E,iCAAiC;IACjC,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAgB;IACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,yBAAyB,EAAE,GAAG,sBAAsB,EAAE,CAAC,CAAC,CAAC;IACtF,MAAM,mBAAmB,GAAG,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAC5D,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CACtE,CAAC;IACF,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CACzF,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CACtC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAa;IAC5C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAiB,EAAE,GAAG,CAAC,CAAC;QAC3D,2DAA2D;QAC3D,yDAAyD;QACzD,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,IAAK,MAAM,CAAC,IAAY,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY,gBAAgB,EAAE,CAAC;gBACpE,8DAA8D;gBAC9D,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACvC,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,+FAA+F;YAC/F,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAK,MAAM,CAAC,IAAY,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;QAClC,+EAA+E;QAC/E,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAE,KAAa,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,UAAmB,EAAE,UAAmB;IACtE,+EAA+E;IAC/E,8EAA8E;IAC9E,mFAAmF;IACnF,kDAAkD;IAClD,MAAM,YAAY,GAA2C,EAAE,CAAC;IAChE,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC;IAEvD,4EAA4E;IAC5E,MAAM,UAAU,GACd,OAAQ,KAAa,CAAC,UAAU,KAAK,UAAU;QAC7C,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAE,MAAc,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;QAClE,CAAC,CAAC,IAAI,CAAC;IAEX,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,YAAY,KAAK,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK;YAAE,SAAS,CAAC,yDAAyD;QAC/E,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEnC,2EAA2E;IAC3E,KAAK,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,YAAY,EAAE,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,SAAS,CAAC,UAAW,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;YACjD,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,8DAA8D;QAC9D,IACE,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACtC,eAAe,CAAC,EAAiB,CAAC;YAClC,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,EAC3B,CAAC;YACD,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3B,wGAAwG;YACxG,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,EAAE,KAAK,IAAI;gBAAE,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;;gBAC9C,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,IAA0B;IACnD,IAAI,CAAC,gBAAgB,CAAsB,0BAA0B,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC1F,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;YAC5E,gFAAgF;YAChF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,GAAiB,EAAE;IAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAA4B,CAAC;IAC5D,iEAAiE;IACjE,wDAAwD;IACxD,2CAA2C;IAC3C,IAAI,aAAa,EAAE,OAAO,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,aAAa,YAAY,gBAAgB,IAAI,aAAa,YAAY,mBAAmB,EAAE,CAAC;YAC9F,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC;YAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC;YACvC,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAc,EAAE,EAAE;IACxE,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,aAAa,YAAY,gBAAgB,IAAI,aAAa,YAAY,mBAAmB,EAAE,CAAC;YAC9F,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,aAAa,CAAC,cAAc,GAAG,KAAK,CAAC;YACpE,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,aAAa,CAAC,YAAY,GAAG,GAAG,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAoB,EAAU,EAAE;IAC/D,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAEhD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI;QACzC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO;QACxC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,+DAA+D;AAC/D,+FAA+F;AAC/F,MAAM,oBAAoB,GAAG,CAAC,EAAe,EAAE,MAAgB,EAAkB,EAAE;IACjF,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,YAAY,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3E,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,8BAA8B,IAAI,IAAI,CAAC,CAAC;IAC3E,CAAC;IACD,0EAA0E;IAC1E,sFAAsF;IACtF,mFAAmF;IACnF,qFAAqF;IACrF,yFAAyF;IACzF,wDAAwD;IACxD,wFAAwF;IACxF,mCAAmC;IACnC,IAAK,MAAM,CAAC,IAAY,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY,gBAAgB,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,2BAA2B,SAAS,IAAI,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,8EAA8E;IAC9E,gFAAgF;IAChF,+EAA+E;IAC/E,+CAA+C;IAC/C,IAAI,EAAE,CAAC,OAAO,KAAK,OAAO,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;gBACrC,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC;IACD,oFAAoF;IACpF,IAAI,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,oCAAoC,IAAI,IAAI,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAe,EAAW,EAAE;IACnD,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7D,OAAO,YAAY,IAAI,IAAI,IAAI,YAAY,KAAK,OAAO,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,KAAc,EAAE,EAAE;IACrD,wGAAwG;IACxG,OAAO,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,eAAe;IACf,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,SAAS;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAa,EAAE,EAAE;IACpC,eAAe,CAAC,GAAG,CAAC,CAAC;IACrB,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,oBAAoB,GAAG,SAAS,EAAE,CAAC;IACzC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzC,oBAAoB,EAAE,CAAC;AACzB,CAAC,CAAC"}
@@ -6,6 +6,26 @@ export interface ClientRouterProps {
6
6
  * (hover) by calling prefetchInit({ prefetchAll: true }) once on the client.
7
7
  */
8
8
  prefetchAll?: boolean;
9
+ /**
10
+ * Extra `<html>` attribute names to preserve across SPA swaps. By default the
11
+ * client router copies the incoming server-rendered document's `<html>`
12
+ * attributes onto the live root, dropping any current attribute that isn't
13
+ * internal to the transition machinery — so a *runtime* attribute a consumer
14
+ * sets from a persisted island (e.g. `data-theme` or `data-sidebar-hidden`
15
+ * driven from `localStorage`) is lost on every navigation. List those names
16
+ * here and the router re-applies their current value after each swap. Emitted
17
+ * as a `<meta name="zfb-preserve-html-attrs">` tag that `swapRootAttributes`
18
+ * reads at swap time.
19
+ *
20
+ * Mount with the **same list on every page** that participates in SPA
21
+ * navigation: the preserve-list is read from the *current* (outgoing) page's
22
+ * meta at swap time, so a page that omits an entry drops that attribute when
23
+ * navigating away from it. Names are matched case-insensitively (DOM attribute
24
+ * names are lowercased). For dynamic/computed cases, mutate
25
+ * `event.newDocument.documentElement` in a `zfb:before-swap` listener instead.
26
+ * @see https://github.com/Takazudo/zudo-front-builder/issues/1103
27
+ */
28
+ preserveHtmlAttrs?: string[];
9
29
  }
10
30
  /**
11
31
  * Public element shape for each node returned by `<ClientRouter />`.
@@ -32,5 +52,5 @@ export type ClientRouterElement = {
32
52
  * <ClientRouter fallback="animate" />
33
53
  * ```
34
54
  */
35
- export declare function ClientRouter({ fallback, prefetchAll: prefetchAllProp, }?: ClientRouterProps): readonly ClientRouterElement[];
55
+ export declare function ClientRouter({ fallback, prefetchAll: prefetchAllProp, preserveHtmlAttrs, }?: ClientRouterProps): readonly ClientRouterElement[];
36
56
  //# sourceMappingURL=client-router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-router.d.ts","sourceRoot":"","sources":["../src/client-router.ts"],"names":[],"mappings":"AA4CA,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB,CAAC;AAqCF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAoB,EACpB,WAAW,EAAE,eAAuB,GACrC,GAAE,iBAAsB,GAAG,SAAS,mBAAmB,EAAE,CAmCzD"}
1
+ {"version":3,"file":"client-router.d.ts","sourceRoot":"","sources":["../src/client-router.ts"],"names":[],"mappings":"AAqDA,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB,CAAC;AAyCF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAoB,EACpB,WAAW,EAAE,eAAuB,EACpC,iBAAsB,GACvB,GAAE,iBAAsB,GAAG,SAAS,mBAAmB,EAAE,CA6DzD"}