pageturn 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +179 -4
  3. package/dist/astro.js +0 -2
  4. package/dist/chunks/chunk-3ABPYO7H.js +43 -0
  5. package/dist/chunks/chunk-6FXXBNAF.js +197 -0
  6. package/dist/chunks/chunk-AEOAXMU3.js +33 -0
  7. package/dist/chunks/chunk-BOM5VXA5.js +167 -0
  8. package/dist/chunks/chunk-C3T7BGNG.js +30 -0
  9. package/dist/chunks/chunk-FYSSNYA4.js +17 -0
  10. package/dist/chunks/chunk-JHM7F4CH.js +172 -0
  11. package/dist/chunks/chunk-LM3XLSCW.js +799 -0
  12. package/dist/chunks/{chunk-QJ7GGFM4.js → chunk-YAL4MNCU.js} +4 -6
  13. package/dist/core.js +4 -3
  14. package/dist/dev/chunks/chunk-3JAWIMHB.js +184 -0
  15. package/dist/dev/chunks/chunk-3SU4CIKL.js +799 -0
  16. package/dist/dev/chunks/chunk-AEOAXMU3.js +33 -0
  17. package/dist/dev/chunks/chunk-C3T7BGNG.js +30 -0
  18. package/dist/dev/chunks/chunk-FYSSNYA4.js +17 -0
  19. package/dist/dev/chunks/chunk-I4SBUABE.js +175 -0
  20. package/dist/dev/chunks/chunk-U3XN54YY.js +219 -0
  21. package/dist/dev/chunks/chunk-Y6TD2T53.js +43 -0
  22. package/dist/dev/chunks/chunk-YAL4MNCU.js +22 -0
  23. package/dist/dev/core.js +19 -0
  24. package/dist/dev/index.js +21 -0
  25. package/dist/dev/morph-markup.js +34 -0
  26. package/dist/dev/morph.js +457 -0
  27. package/dist/dev/native.js +3 -0
  28. package/dist/dev/next.js +79 -0
  29. package/dist/dev/nuxt-plugin.js +24 -0
  30. package/dist/dev/prefetch.js +2 -0
  31. package/dist/dev/react-router.js +46 -0
  32. package/dist/dev/router.js +9 -0
  33. package/dist/dev/sveltekit.js +32 -0
  34. package/dist/dev/testing.js +48 -0
  35. package/dist/dev/turbo.js +49 -0
  36. package/dist/dev/vue.js +11 -0
  37. package/dist/head-core.js +1 -1
  38. package/dist/head-string.js +6 -6
  39. package/dist/head.js +1 -1
  40. package/dist/index.js +6 -5
  41. package/dist/morph-head.js +1 -1
  42. package/dist/morph-markup.js +11 -9
  43. package/dist/morph.js +145 -287
  44. package/dist/native.js +3 -2
  45. package/dist/next.js +79 -0
  46. package/dist/nuxt-plugin.js +24 -0
  47. package/dist/nuxt.js +34 -0
  48. package/dist/pageturn-morph.js +1 -1
  49. package/dist/pageturn.js +1 -1
  50. package/dist/prefetch.js +2 -2
  51. package/dist/react-router.js +46 -0
  52. package/dist/router.js +5 -183
  53. package/dist/sveltekit-server.js +22 -0
  54. package/dist/sveltekit.js +32 -0
  55. package/dist/testing.js +12 -22
  56. package/dist/turbo.js +49 -0
  57. package/dist/types/astro/integration.d.ts +0 -4
  58. package/dist/types/common/dev.d.ts +6 -0
  59. package/dist/types/common/page.d.ts +5 -0
  60. package/dist/types/common/registry.d.ts +3 -1
  61. package/dist/types/next/next.d.ts +27 -0
  62. package/dist/types/nuxt/module.d.ts +32 -0
  63. package/dist/types/react-router/react-router.d.ts +12 -0
  64. package/dist/types/router/router.d.ts +4 -2
  65. package/dist/types/sveltekit/server.d.ts +21 -0
  66. package/dist/types/sveltekit/sveltekit.d.ts +32 -0
  67. package/dist/types/turbo/turbo.d.ts +1 -0
  68. package/dist/types/vue/vue.d.ts +36 -0
  69. package/dist/vue.js +11 -0
  70. package/package.json +102 -23
  71. package/dist/chunks/chunk-237GNQNZ.js +0 -37
  72. package/dist/chunks/chunk-7LMNJ25V.js +0 -244
  73. package/dist/chunks/chunk-QC36TQP3.js +0 -24
  74. package/dist/chunks/chunk-WTHN3UIQ.js +0 -1000
  75. package/dist/chunks/chunk-YBAP3PHO.js +0 -247
@@ -0,0 +1,48 @@
1
+ // src/testing/testing.ts
2
+ var LAYER = "[data-turn-layer]", PARTS = `${LAYER}, [data-turn-shadow]`;
3
+ function layer(page) {
4
+ return {
5
+ root: page.locator(LAYER),
6
+ content: page.locator(`${LAYER} [data-turn-content]`),
7
+ words: page.locator(`${LAYER} [data-turn-words]`),
8
+ box: page.locator(`${LAYER} [data-turn-box]`),
9
+ part: (name) => page.locator(`${LAYER} [data-turn-part="${name}"]`),
10
+ shadow: page.locator("[data-turn-shadow]")
11
+ };
12
+ }
13
+ function seekTravel(page, time) {
14
+ return page.evaluate(
15
+ ({ at, selector }) => {
16
+ let parts = document.querySelectorAll(selector);
17
+ for (let part of parts)
18
+ for (let animation of part.getAnimations({ subtree: !0 }))
19
+ animation.pause(), animation.currentTime = at;
20
+ return parts.length > 0;
21
+ },
22
+ { at: time, selector: PARTS }
23
+ );
24
+ }
25
+ function resumeTravel(page) {
26
+ return page.evaluate((selector) => {
27
+ for (let part of document.querySelectorAll(selector))
28
+ for (let animation of part.getAnimations({ subtree: !0 }))
29
+ animation.play();
30
+ }, PARTS);
31
+ }
32
+ function endTravel(page) {
33
+ return page.evaluate((selector) => {
34
+ let parts = document.querySelectorAll(selector);
35
+ for (let part of parts)
36
+ for (let animation of part.getAnimations({ subtree: !0 })) {
37
+ let end = animation.effect?.getComputedTiming().endTime;
38
+ Number.isFinite(Number(end)) && (animation.pause(), animation.currentTime = Number(end));
39
+ }
40
+ return parts.length > 0;
41
+ }, PARTS);
42
+ }
43
+ export {
44
+ endTravel,
45
+ layer,
46
+ resumeTravel,
47
+ seekTravel
48
+ };
@@ -0,0 +1,49 @@
1
+ import "./chunks/chunk-U3XN54YY.js";
2
+ import {
3
+ startNavigation
4
+ } from "./chunks/chunk-I4SBUABE.js";
5
+ import "./chunks/chunk-3JAWIMHB.js";
6
+ import {
7
+ inBrowser
8
+ } from "./chunks/chunk-AEOAXMU3.js";
9
+ import "./chunks/chunk-YAL4MNCU.js";
10
+
11
+ // src/turbo/turbo.ts
12
+ var current = null, clicked = null;
13
+ function cancel(turn) {
14
+ current === turn && (current = null, turn.cancelled());
15
+ }
16
+ inBrowser && (addEventListener("turbo:click", (event) => {
17
+ let { target } = event, { url } = event.detail;
18
+ clicked = target instanceof HTMLAnchorElement ? { url, link: target } : null;
19
+ }), addEventListener("turbo:before-visit", (event) => {
20
+ let { url } = event.detail, link = clicked?.url === url ? clicked.link : null;
21
+ clicked = null;
22
+ let turn = startNavigation({
23
+ to: url,
24
+ via: link ? "link" : "script",
25
+ link
26
+ });
27
+ current = turn, setTimeout(() => {
28
+ event.defaultPrevented && cancel(turn);
29
+ });
30
+ }), addEventListener("turbo:visit", (event) => {
31
+ let { url, action } = event.detail;
32
+ action === "restore" && (current = startNavigation({ to: url, via: "history" }));
33
+ }), addEventListener("turbo:before-render", (event) => {
34
+ let turn = current;
35
+ if (!turn) return;
36
+ let detail = event.detail;
37
+ if (document.documentElement.hasAttribute("data-turbo-preview")) {
38
+ detail.render = () => {
39
+ };
40
+ return;
41
+ }
42
+ current = null;
43
+ let { render } = detail;
44
+ detail.render = async (now, next) => {
45
+ await render(now, next), turn.swapped();
46
+ }, event.preventDefault(), turn.left.then(() => detail.resume());
47
+ }), addEventListener("turbo:fetch-request-error", () => {
48
+ current && cancel(current);
49
+ }));
@@ -0,0 +1,11 @@
1
+ import {
2
+ pageturn
3
+ } from "./chunks/chunk-Y6TD2T53.js";
4
+ import "./chunks/chunk-U3XN54YY.js";
5
+ import "./chunks/chunk-I4SBUABE.js";
6
+ import "./chunks/chunk-3JAWIMHB.js";
7
+ import "./chunks/chunk-AEOAXMU3.js";
8
+ import "./chunks/chunk-YAL4MNCU.js";
9
+ export {
10
+ pageturn
11
+ };
package/dist/head-core.js CHANGED
@@ -1 +1 @@
1
- (()=>{var k=()=>performance.getEntriesByType("navigation")[0];var R;function x(){return R??=matchMedia("(prefers-reduced-motion: reduce)"),R.matches}function T(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}function g(e){try{let t=sessionStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function d(e,t){try{return sessionStorage.setItem(e,JSON.stringify(t)),!0}catch{return!1}}function f(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var C=2,i="pageturn",F="pageturn:left",N=1e4,V=3e3,O=(e,t)=>{let n=Date.now()-e;return n>=0&&n<t};function L(){let e=g(i);return f(i),e&&O(e.at,N)?e:null}var y=e=>e.pathname+e.search,j=(e,t)=>d(i,{...e,to:y(t)}),B=()=>f(i);function w(){let e=g(F);return e&&O(e.at,V)?e:null}var J=e=>d(F,e);function K(){let e=`${i}:probe`,t=d(e,0);return f(e),t}function H(){let e=history.state;return e&&typeof e=="object"?e:null}function b(){let e=H()?.[i];return e&&typeof e=="object"?e:null}function U(e){let t=history.state;if(t!==null&&(typeof t!="object"||Object.getPrototypeOf(t)!==Object.prototype))return;let{[i]:n,...r}=t??{};if(!(!e&&!n))try{history.replaceState(e?{...r,[i]:e}:r,"")}catch{}}function E(e,t){return!e?.returnAs||!t||t.none||t.from!==e.to?null:{move:e.returnAs,via:"history",from:t.from,data:null,remembered:e.remember??null,reported:t.data??null}}var M={m:C,g:j,n:B,o:w,p:J,q:K,r:b,h:U,s:E};var o=document.documentElement,$="--turn-",p=new Map;function _(e){if(!e||o.dataset.turnArriving===e){delete o.dataset.turnArriving,delete o.dataset.turnEntering,delete o.dataset.turnWith;for(let[t,{covered:n,own:r}]of p)o.style.getPropertyValue(t)===r&&(n?o.style.setProperty(t,n):o.style.removeProperty(t));p.clear()}}function h(e){if(typeof e=="object")for(let[t,n]of Object.entries(e??{}))if(/^(string|number)$/.test(typeof n)){let r=$+t,s=`${n}`;p.set(r,{covered:p.get(r)?.covered??o.style.getPropertyValue(r),own:s}),o.style.setProperty(r,s)}else n===!0&&(o.dataset.turnWith=`${o.dataset.turnWith??""} ${t}`.trim())}function I(e){h(e.remembered),h(e.reported),h(e.data)}function P(e){o.dataset.turnArriving=e.move,I(e)}function D(){let e={arrival:null,endArrival:_,t:P};if(window.pageturn=e,window.top!==window)return;e.i=M;let t=L();if(x())return;let n=k(),r=t&&n?.type!=="reload"&&n?.type!=="back_forward"&&(!t.to||t.to===y(location)||(n?.redirectCount??0)>0)?t:null;e.arrival=r?{move:r.move,via:"link",from:r.from,data:r.data??null,remembered:null,reported:null}:n?.type==="back_forward"?E(b(),w()):null;let s=!1,{arrival:v}=e;if(v&&(s?I(v):P(v)),n?.type!=="back_forward"){o.dataset.turnEntering="";let a=["wheel","touchstart","keydown","pointerdown"],l=!0,u=()=>{l&&(scrollX||scrollY)&&(T(),c())},S=new ResizeObserver(u),c=()=>{l=!1,S.disconnect(),removeEventListener("scroll",u);for(let m of a)removeEventListener(m,c,!0)},A=()=>{l&&(S.observe(o),requestAnimationFrame(A))};A(),addEventListener("scroll",u);for(let m of a)addEventListener(m,c,!0);addEventListener("load",()=>requestAnimationFrame(()=>requestAnimationFrame(c)))}addEventListener("pagehide",a=>{a.persisted&&(e.arrival=null,_())})}window.pageturn||D();})();
1
+ (()=>{var k=()=>performance.getEntriesByType("navigation")[0];var R;function x(){return R??=matchMedia("(prefers-reduced-motion: reduce)"),R.matches}function T(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}function g(e){try{let t=sessionStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function d(e,t){try{return sessionStorage.setItem(e,JSON.stringify(t)),!0}catch{return!1}}function f(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var C=2,i="pageturn",F="pageturn:left",N=1e4,V=3e3,O=(e,t)=>{let n=Date.now()-e;return n>=0&&n<t};function L(){let e=g(i);return f(i),e&&O(e.at,N)?e:null}var y=e=>e.pathname+e.search,j=(e,t)=>d(i,{...e,to:y(t)}),B=()=>f(i);function w(){let e=g(F);return e&&O(e.at,V)?e:null}var J=e=>d(F,e);function K(){let e=`${i}:probe`,t=d(e,0);return f(e),t}function H(){let e=history.state;return e&&typeof e=="object"?e:null}function b(){let e=H()?.[i];return e&&typeof e=="object"?e:null}function U(e){let t=history.state;if(t!==null&&(typeof t!="object"||Object.getPrototypeOf(t)!==Object.prototype))return;let{[i]:n,...r}=t??{};if(!(!e&&!n))try{history.replaceState(e?{...r,[i]:e}:r,"")}catch{}}function E(e,t){return!e?.returnAs||!t||t.none||t.from!==e.to?null:{move:e.returnAs,via:"history",from:t.from,data:null,remembered:e.remember??null,reported:t.data??null}}var M={m:C,h:j,n:B,o:w,p:J,q:K,r:b,i:U,s:E};var o=document.documentElement,$="--turn-",p=new Map;function _(e){if(!e||o.dataset.turnArriving===e){delete o.dataset.turnArriving,delete o.dataset.turnEntering,delete o.dataset.turnWith;for(let[t,{covered:n,own:r}]of p)o.style.getPropertyValue(t)===r&&(n?o.style.setProperty(t,n):o.style.removeProperty(t));p.clear()}}function h(e){if(typeof e=="object")for(let[t,n]of Object.entries(e??{}))if(/^(string|number)$/.test(typeof n)){let r=$+t,a=`${n}`;p.set(r,{covered:p.get(r)?.covered??o.style.getPropertyValue(r),own:a}),o.style.setProperty(r,a)}else n===!0&&(o.dataset.turnWith=`${o.dataset.turnWith??""} ${t}`.trim())}function I(e){h(e.remembered),h(e.reported),h(e.data)}function P(e){o.dataset.turnArriving=e.move,I(e)}function D(){let e={arrival:null,endArrival:_,t:P};if(window.pageturn=e,window.top!==window)return;e.j=M;let t=L();if(x())return;let n=k(),r=t&&n?.type!=="reload"&&n?.type!=="back_forward"&&(!t.to||t.to===y(location)||(n?.redirectCount??0)>0)?t:null;e.arrival=r?{move:r.move,via:"link",from:r.from,data:r.data??null,remembered:null,reported:null}:n?.type==="back_forward"?E(b(),w()):null;let a=!1,{arrival:m}=e;if(m&&(a?I(m):P(m)),n?.type!=="back_forward"){o.dataset.turnEntering="";let s=["wheel","touchstart","keydown","pointerdown"],l=!0,u=()=>{l&&(scrollX||scrollY)&&(T(),c())},S=new ResizeObserver(u),c=()=>{l=!1,S.disconnect(),removeEventListener("scroll",u);for(let v of s)removeEventListener(v,c,!0)},A=()=>{l&&(S.observe(o),requestAnimationFrame(A))};A(),addEventListener("scroll",u);for(let v of s)addEventListener(v,c,!0);addEventListener("load",()=>requestAnimationFrame(()=>requestAnimationFrame(c)))}addEventListener("pagehide",s=>{s.persisted&&(e.arrival=null,_())})}window.pageturn||D();})();
@@ -1,6 +1,6 @@
1
- export const headScript = "(()=>{var R=()=>performance.getEntriesByType(\"navigation\")[0];var k;function x(){return k??=matchMedia(\"(prefers-reduced-motion: reduce)\"),k.matches}function T(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}function g(e){try{let t=sessionStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function d(e,t){try{return sessionStorage.setItem(e,JSON.stringify(t)),!0}catch{return!1}}function f(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var C=2,a=\"pageturn\",O=\"pageturn:left\",N=1e4,V=3e3,L=(e,t)=>{let n=Date.now()-e;return n>=0&&n<t};function M(){let e=g(a);return f(a),e&&L(e.at,N)?e:null}var y=e=>e.pathname+e.search,j=(e,t)=>d(a,{...e,to:y(t)}),B=()=>f(a);function w(){let e=g(O);return e&&L(e.at,V)?e:null}var J=e=>d(O,e);function K(){let e=`${a}:probe`,t=d(e,0);return f(e),t}function H(){let e=history.state;return e&&typeof e==\"object\"?e:null}function E(){let e=H()?.[a];return e&&typeof e==\"object\"?e:null}function U(e){let t=history.state;if(t!==null&&(typeof t!=\"object\"||Object.getPrototypeOf(t)!==Object.prototype))return;let{[a]:n,...r}=t??{};if(!(!e&&!n))try{history.replaceState(e?{...r,[a]:e}:r,\"\")}catch{}}function b(e,t){return!e?.returnAs||!t||t.none||t.from!==e.to?null:{move:e.returnAs,via:\"history\",from:t.from,data:null,remembered:e.remember??null,reported:t.data??null}}var F={m:C,g:j,n:B,o:w,p:J,q:K,r:E,h:U,s:b};var o=document.documentElement,$=\"--turn-\",p=new Map;function _(e){if(!e||o.dataset.turnArriving===e){delete o.dataset.turnArriving,delete o.dataset.turnEntering,delete o.dataset.turnWith;for(let[t,{covered:n,own:r}]of p)o.style.getPropertyValue(t)===r&&(n?o.style.setProperty(t,n):o.style.removeProperty(t));p.clear()}}function h(e){if(typeof e==\"object\")for(let[t,n]of Object.entries(e??{}))if(/^(string|number)$/.test(typeof n)){let r=$+t,u=`${n}`;p.set(r,{covered:p.get(r)?.covered??o.style.getPropertyValue(r),own:u}),o.style.setProperty(r,u)}else n===!0&&(o.dataset.turnWith=`${o.dataset.turnWith??\"\"} ${t}`.trim())}function I(e){h(e.remembered),h(e.reported),h(e.data)}function P(e){o.dataset.turnArriving=e.move,I(e)}function D(){let e={arrival:null,endArrival:_,t:P};if(window.pageturn=e,window.top!==window)return;e.i=F,e.a=!0;let t=M();if(x())return;let n=R(),r=t&&n?.type!==\"reload\"&&n?.type!==\"back_forward\"&&(!t.to||t.to===y(location)||(n?.redirectCount??0)>0)?t:null;e.arrival=r?{move:r.move,via:\"link\",from:r.from,data:r.data??null,remembered:null,reported:null}:n?.type===\"back_forward\"?b(E(),w()):null;let u=!!(r?.a&&\"CSSViewTransitionRule\"in window),{arrival:m}=e;if(m&&(u?I(m):P(m)),n?.type!==\"back_forward\"){o.dataset.turnEntering=\"\";let i=[\"wheel\",\"touchstart\",\"keydown\",\"pointerdown\"],s=!0,l=()=>{s&&(scrollX||scrollY)&&(T(),c())},S=new ResizeObserver(l),c=()=>{s=!1,S.disconnect(),removeEventListener(\"scroll\",l);for(let v of i)removeEventListener(v,c,!0)},A=()=>{s&&(S.observe(o),requestAnimationFrame(A))};A(),addEventListener(\"scroll\",l);for(let v of i)addEventListener(v,c,!0);addEventListener(\"load\",()=>requestAnimationFrame(()=>requestAnimationFrame(c)))}addEventListener(\"pagehide\",i=>{i.persisted&&(e.j=null,u=!1)}),addEventListener(\"pagereveal\",i=>{let s=i.viewTransition;e.j=s;let{arrival:l}=e;l&&(u?s?s.types.add(l.move):o.dataset.turnArriving=l.move:s?.skipTransition(),u=!1)}),addEventListener(\"pagehide\",i=>{i.persisted&&(e.arrival=null,_())})}window.pageturn||D();})();";
2
- export const headScriptHash = "sha256-fQaBxkCASOShQep0QlQBwrfVhBCYLcSkNWLMm07pC8A=";
3
- export const coreHeadScript = "(()=>{var k=()=>performance.getEntriesByType(\"navigation\")[0];var R;function x(){return R??=matchMedia(\"(prefers-reduced-motion: reduce)\"),R.matches}function T(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}function g(e){try{let t=sessionStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function d(e,t){try{return sessionStorage.setItem(e,JSON.stringify(t)),!0}catch{return!1}}function f(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var C=2,i=\"pageturn\",F=\"pageturn:left\",N=1e4,V=3e3,O=(e,t)=>{let n=Date.now()-e;return n>=0&&n<t};function L(){let e=g(i);return f(i),e&&O(e.at,N)?e:null}var y=e=>e.pathname+e.search,j=(e,t)=>d(i,{...e,to:y(t)}),B=()=>f(i);function w(){let e=g(F);return e&&O(e.at,V)?e:null}var J=e=>d(F,e);function K(){let e=`${i}:probe`,t=d(e,0);return f(e),t}function H(){let e=history.state;return e&&typeof e==\"object\"?e:null}function b(){let e=H()?.[i];return e&&typeof e==\"object\"?e:null}function U(e){let t=history.state;if(t!==null&&(typeof t!=\"object\"||Object.getPrototypeOf(t)!==Object.prototype))return;let{[i]:n,...r}=t??{};if(!(!e&&!n))try{history.replaceState(e?{...r,[i]:e}:r,\"\")}catch{}}function E(e,t){return!e?.returnAs||!t||t.none||t.from!==e.to?null:{move:e.returnAs,via:\"history\",from:t.from,data:null,remembered:e.remember??null,reported:t.data??null}}var M={m:C,g:j,n:B,o:w,p:J,q:K,r:b,h:U,s:E};var o=document.documentElement,$=\"--turn-\",p=new Map;function _(e){if(!e||o.dataset.turnArriving===e){delete o.dataset.turnArriving,delete o.dataset.turnEntering,delete o.dataset.turnWith;for(let[t,{covered:n,own:r}]of p)o.style.getPropertyValue(t)===r&&(n?o.style.setProperty(t,n):o.style.removeProperty(t));p.clear()}}function h(e){if(typeof e==\"object\")for(let[t,n]of Object.entries(e??{}))if(/^(string|number)$/.test(typeof n)){let r=$+t,s=`${n}`;p.set(r,{covered:p.get(r)?.covered??o.style.getPropertyValue(r),own:s}),o.style.setProperty(r,s)}else n===!0&&(o.dataset.turnWith=`${o.dataset.turnWith??\"\"} ${t}`.trim())}function I(e){h(e.remembered),h(e.reported),h(e.data)}function P(e){o.dataset.turnArriving=e.move,I(e)}function D(){let e={arrival:null,endArrival:_,t:P};if(window.pageturn=e,window.top!==window)return;e.i=M;let t=L();if(x())return;let n=k(),r=t&&n?.type!==\"reload\"&&n?.type!==\"back_forward\"&&(!t.to||t.to===y(location)||(n?.redirectCount??0)>0)?t:null;e.arrival=r?{move:r.move,via:\"link\",from:r.from,data:r.data??null,remembered:null,reported:null}:n?.type===\"back_forward\"?E(b(),w()):null;let s=!1,{arrival:v}=e;if(v&&(s?I(v):P(v)),n?.type!==\"back_forward\"){o.dataset.turnEntering=\"\";let a=[\"wheel\",\"touchstart\",\"keydown\",\"pointerdown\"],l=!0,u=()=>{l&&(scrollX||scrollY)&&(T(),c())},S=new ResizeObserver(u),c=()=>{l=!1,S.disconnect(),removeEventListener(\"scroll\",u);for(let m of a)removeEventListener(m,c,!0)},A=()=>{l&&(S.observe(o),requestAnimationFrame(A))};A(),addEventListener(\"scroll\",u);for(let m of a)addEventListener(m,c,!0);addEventListener(\"load\",()=>requestAnimationFrame(()=>requestAnimationFrame(c)))}addEventListener(\"pagehide\",a=>{a.persisted&&(e.arrival=null,_())})}window.pageturn||D();})();";
4
- export const coreHeadScriptHash = "sha256-Z3f9YMdSfrfPh2PQDjwgidZzeXk0kfBYrNsCF0zUBEU=";
5
- export const morphHeadScript = "(()=>{var T=()=>performance.getEntriesByType(\"navigation\")[0];function l(e){let n=T();(n?n.domContentLoadedEventStart>0:document.readyState!==\"loading\")?e():document.addEventListener(\"DOMContentLoaded\",e,{once:!0})}function y(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}var g=Symbol.for(\"pageturn.focusBack\"),h=globalThis;function b(e,n){h[g]=e;try{e.focus(n)}finally{delete h[g]}}function S(e){try{let n=sessionStorage.getItem(e);return n?JSON.parse(n):null}catch{return null}}function v(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var d=\"pageturn:morph\",E=e=>`:is(${e}):not([data-turn-layer] *)`,L=e=>document.querySelector(E(e));function c(e){document.readyState===\"loading\"?document.addEventListener(\"readystatechange\",e,{once:!0}):e()}function w(e,n,o=!1,u=[],r){let a=document.documentElement;a.dataset.turnRestoring=\"\",y();let i=[];c(()=>{let t=null;try{t=e?L(e):null}catch{}t?.setAttribute(\"data-turn-origin\",n);for(let[s,m,p]of u)try{let f=document.querySelector(s);p===null?f?.removeAttribute(m):f?.setAttribute(m,p)}catch{}for(let s=t?.parentElement?.closest(\"[popover]\");o&&s;s=s.parentElement?.closest(\"[popover]\"))i.unshift(s);for(let s of i)try{s.showPopover()}catch{}}),l(()=>requestAnimationFrame(()=>requestAnimationFrame(()=>{r&&A(r,i),delete a.dataset.turnRestoring})))}var M=(e,n)=>[...document.querySelectorAll(\"a[href]\")].filter(o=>o.href===e)[n];function A([e,n,o],u){let r=document.activeElement,a=M(e,n);a&&(!r||r===document.body||u.some(i=>i.contains(r)))&&b(a,{preventScroll:!0,focusVisible:o})}function F(e){e.setAttribute(\"aria-hidden\",\"true\"),e.setAttribute(\"popover\",\"manual\"),e.dataset.turnLayer=\"\",document.documentElement.append(e);try{e.showPopover()}catch{}}function x(){if(window.top!==window){try{let t=JSON.parse(window.name.split(`${d}:`)[1]??\"\");c(()=>scrollTo(t.x,t.y)),w(t.p,t.o,t.v,t.w),window.pageturn&&(window.pageturn.behind={move:t.m,data:t.d})}catch{}return null}let e=S(d);if(v(d),!e||e.n!==window.pageturn?.arrival?.move)return null;let n=document.createElement(\"div\");n.innerHTML=e.h;let o=n.firstElementChild;if(!(o instanceof HTMLElement))return null;let u=null;if(e.s)try{let t=new CSSStyleSheet;t.insertRule(`${E(e.s)}{visibility:hidden!important}`),document.adoptedStyleSheets=[...document.adoptedStyleSheets,t],u=t}catch{}for(let t of[o,...o.querySelectorAll(\"[data-turn-style]\")])t.style.cssText=t.dataset.turnStyle??\"\";F(o);let r={flight:e,layer:o,sheet:u,taken:!1};e.b&&(document.documentElement.dataset.turnBehind=\"\");let{x:a=0,y:i}=e;return i!==void 0&&c(()=>scrollTo(a,i)),e.o&&w(e.s,e.o,e.v,e.w,e.l),l(()=>setTimeout(()=>r.taken||H(r))),r}function H(e){e.taken=!0,document.querySelector(\"[data-turn-origin]\")?.removeAttribute(\"data-turn-origin\"),e.layer.remove(),document.adoptedStyleSheets=document.adoptedStyleSheets.filter(n=>n!==e.sheet)}window.pageturnMorph===void 0&&(window.pageturnMorph=x());})();";
6
- export const morphHeadScriptHash = "sha256-XFWQkLPicU2tdHpm1hPueyiJvNeBwayLipKMcO1bNts=";
1
+ export const headScript = "(()=>{var x=()=>performance.getEntriesByType(\"navigation\")[0];var k;function R(){return k??=matchMedia(\"(prefers-reduced-motion: reduce)\"),k.matches}function T(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}function g(e){try{let t=sessionStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function d(e,t){try{return sessionStorage.setItem(e,JSON.stringify(t)),!0}catch{return!1}}function f(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var C=2,a=\"pageturn\",O=\"pageturn:left\",N=1e4,V=3e3,L=(e,t)=>{let n=Date.now()-e;return n>=0&&n<t};function M(){let e=g(a);return f(a),e&&L(e.at,N)?e:null}var y=e=>e.pathname+e.search,j=(e,t)=>d(a,{...e,to:y(t)}),B=()=>f(a);function w(){let e=g(O);return e&&L(e.at,V)?e:null}var J=e=>d(O,e);function K(){let e=`${a}:probe`,t=d(e,0);return f(e),t}function H(){let e=history.state;return e&&typeof e==\"object\"?e:null}function E(){let e=H()?.[a];return e&&typeof e==\"object\"?e:null}function U(e){let t=history.state;if(t!==null&&(typeof t!=\"object\"||Object.getPrototypeOf(t)!==Object.prototype))return;let{[a]:n,...r}=t??{};if(!(!e&&!n))try{history.replaceState(e?{...r,[a]:e}:r,\"\")}catch{}}function b(e,t){return!e?.returnAs||!t||t.none||t.from!==e.to?null:{move:e.returnAs,via:\"history\",from:t.from,data:null,remembered:e.remember??null,reported:t.data??null}}var F={m:C,h:j,n:B,o:w,p:J,q:K,r:E,i:U,s:b};var o=document.documentElement,$=\"--turn-\",p=new Map;function _(e){if(!e||o.dataset.turnArriving===e){delete o.dataset.turnArriving,delete o.dataset.turnEntering,delete o.dataset.turnWith;for(let[t,{covered:n,own:r}]of p)o.style.getPropertyValue(t)===r&&(n?o.style.setProperty(t,n):o.style.removeProperty(t));p.clear()}}function h(e){if(typeof e==\"object\")for(let[t,n]of Object.entries(e??{}))if(/^(string|number)$/.test(typeof n)){let r=$+t,u=`${n}`;p.set(r,{covered:p.get(r)?.covered??o.style.getPropertyValue(r),own:u}),o.style.setProperty(r,u)}else n===!0&&(o.dataset.turnWith=`${o.dataset.turnWith??\"\"} ${t}`.trim())}function I(e){h(e.remembered),h(e.reported),h(e.data)}function P(e){o.dataset.turnArriving=e.move,I(e)}function D(){let e={arrival:null,endArrival:_,t:P};if(window.pageturn=e,window.top!==window)return;e.j=F,e.a=!0;let t=M();if(R())return;let n=x(),r=t&&n?.type!==\"reload\"&&n?.type!==\"back_forward\"&&(!t.to||t.to===y(location)||(n?.redirectCount??0)>0)?t:null;e.arrival=r?{move:r.move,via:\"link\",from:r.from,data:r.data??null,remembered:null,reported:null}:n?.type===\"back_forward\"?b(E(),w()):null;let u=!!(r?.a&&\"CSSViewTransitionRule\"in window),{arrival:m}=e;if(m&&(u?I(m):P(m)),n?.type!==\"back_forward\"){o.dataset.turnEntering=\"\";let i=[\"wheel\",\"touchstart\",\"keydown\",\"pointerdown\"],s=!0,l=()=>{s&&(scrollX||scrollY)&&(T(),c())},S=new ResizeObserver(l),c=()=>{s=!1,S.disconnect(),removeEventListener(\"scroll\",l);for(let v of i)removeEventListener(v,c,!0)},A=()=>{s&&(S.observe(o),requestAnimationFrame(A))};A(),addEventListener(\"scroll\",l);for(let v of i)addEventListener(v,c,!0);addEventListener(\"load\",()=>requestAnimationFrame(()=>requestAnimationFrame(c)))}addEventListener(\"pagehide\",i=>{i.persisted&&(e.k=null,u=!1)}),addEventListener(\"pagereveal\",i=>{let s=i.viewTransition;e.k=s;let{arrival:l}=e;l&&(u?s?s.types.add(l.move):o.dataset.turnArriving=l.move:s?.skipTransition(),u=!1)}),addEventListener(\"pagehide\",i=>{i.persisted&&(e.arrival=null,_())})}window.pageturn||D();})();";
2
+ export const headScriptHash = "sha256-85kMAiHbtWUbxJ2HCdeljozAF0YTOzo8AzP3J+Cs5/A=";
3
+ export const coreHeadScript = "(()=>{var k=()=>performance.getEntriesByType(\"navigation\")[0];var R;function x(){return R??=matchMedia(\"(prefers-reduced-motion: reduce)\"),R.matches}function T(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}function g(e){try{let t=sessionStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function d(e,t){try{return sessionStorage.setItem(e,JSON.stringify(t)),!0}catch{return!1}}function f(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var C=2,i=\"pageturn\",F=\"pageturn:left\",N=1e4,V=3e3,O=(e,t)=>{let n=Date.now()-e;return n>=0&&n<t};function L(){let e=g(i);return f(i),e&&O(e.at,N)?e:null}var y=e=>e.pathname+e.search,j=(e,t)=>d(i,{...e,to:y(t)}),B=()=>f(i);function w(){let e=g(F);return e&&O(e.at,V)?e:null}var J=e=>d(F,e);function K(){let e=`${i}:probe`,t=d(e,0);return f(e),t}function H(){let e=history.state;return e&&typeof e==\"object\"?e:null}function b(){let e=H()?.[i];return e&&typeof e==\"object\"?e:null}function U(e){let t=history.state;if(t!==null&&(typeof t!=\"object\"||Object.getPrototypeOf(t)!==Object.prototype))return;let{[i]:n,...r}=t??{};if(!(!e&&!n))try{history.replaceState(e?{...r,[i]:e}:r,\"\")}catch{}}function E(e,t){return!e?.returnAs||!t||t.none||t.from!==e.to?null:{move:e.returnAs,via:\"history\",from:t.from,data:null,remembered:e.remember??null,reported:t.data??null}}var M={m:C,h:j,n:B,o:w,p:J,q:K,r:b,i:U,s:E};var o=document.documentElement,$=\"--turn-\",p=new Map;function _(e){if(!e||o.dataset.turnArriving===e){delete o.dataset.turnArriving,delete o.dataset.turnEntering,delete o.dataset.turnWith;for(let[t,{covered:n,own:r}]of p)o.style.getPropertyValue(t)===r&&(n?o.style.setProperty(t,n):o.style.removeProperty(t));p.clear()}}function h(e){if(typeof e==\"object\")for(let[t,n]of Object.entries(e??{}))if(/^(string|number)$/.test(typeof n)){let r=$+t,a=`${n}`;p.set(r,{covered:p.get(r)?.covered??o.style.getPropertyValue(r),own:a}),o.style.setProperty(r,a)}else n===!0&&(o.dataset.turnWith=`${o.dataset.turnWith??\"\"} ${t}`.trim())}function I(e){h(e.remembered),h(e.reported),h(e.data)}function P(e){o.dataset.turnArriving=e.move,I(e)}function D(){let e={arrival:null,endArrival:_,t:P};if(window.pageturn=e,window.top!==window)return;e.j=M;let t=L();if(x())return;let n=k(),r=t&&n?.type!==\"reload\"&&n?.type!==\"back_forward\"&&(!t.to||t.to===y(location)||(n?.redirectCount??0)>0)?t:null;e.arrival=r?{move:r.move,via:\"link\",from:r.from,data:r.data??null,remembered:null,reported:null}:n?.type===\"back_forward\"?E(b(),w()):null;let a=!1,{arrival:m}=e;if(m&&(a?I(m):P(m)),n?.type!==\"back_forward\"){o.dataset.turnEntering=\"\";let s=[\"wheel\",\"touchstart\",\"keydown\",\"pointerdown\"],l=!0,u=()=>{l&&(scrollX||scrollY)&&(T(),c())},S=new ResizeObserver(u),c=()=>{l=!1,S.disconnect(),removeEventListener(\"scroll\",u);for(let v of s)removeEventListener(v,c,!0)},A=()=>{l&&(S.observe(o),requestAnimationFrame(A))};A(),addEventListener(\"scroll\",u);for(let v of s)addEventListener(v,c,!0);addEventListener(\"load\",()=>requestAnimationFrame(()=>requestAnimationFrame(c)))}addEventListener(\"pagehide\",s=>{s.persisted&&(e.arrival=null,_())})}window.pageturn||D();})();";
4
+ export const coreHeadScriptHash = "sha256-ukJFyi8MVr3nE6UQ4DuID2E9MpgmReI9yUmnAwgHsAc=";
5
+ export const morphHeadScript = "(()=>{var T=()=>performance.getEntriesByType(\"navigation\")[0];function d(e){let n=T();(n?n.domContentLoadedEventStart>0:document.readyState!==\"loading\")?e():document.addEventListener(\"DOMContentLoaded\",e,{once:!0})}function y(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}var g=Symbol.for(\"pageturn.focusBack\"),h=globalThis;function b(e,n){h[g]=e;try{e.focus(n)}finally{delete h[g]}}function S(e){try{let n=sessionStorage.getItem(e);return n?JSON.parse(n):null}catch{return null}}function v(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var l=\"pageturn:morph\",x=e=>`:is(${e}):not([data-turn-layer] *)`,L=e=>document.querySelector(x(e));function c(e){document.readyState===\"loading\"?document.addEventListener(\"readystatechange\",e,{once:!0}):e()}function w(e,n,o=!1,u=[],r){let a=document.documentElement;a.dataset.turnRestoring=\"\",y();let i=[];c(()=>{let t=null;try{t=e?L(e):null}catch{}t?.setAttribute(\"data-turn-origin\",n);for(let[s,m,p]of u)try{let f=document.querySelector(s);p===null?f?.removeAttribute(m):f?.setAttribute(m,p)}catch{}for(let s=t?.parentElement?.closest(\"[popover]\");o&&s;s=s.parentElement?.closest(\"[popover]\"))i.unshift(s);for(let s of i)try{s.showPopover()}catch{}}),d(()=>requestAnimationFrame(()=>requestAnimationFrame(()=>{r&&A(r,i),delete a.dataset.turnRestoring})))}var M=(e,n)=>[...document.querySelectorAll(\"a[href]\")].filter(o=>o.href===e)[n];function A([e,n,o],u){let r=document.activeElement,a=M(e,n);a&&(!r||r===document.body||u.some(i=>i.contains(r)))&&b(a,{preventScroll:!0,focusVisible:o})}function F(e){e.setAttribute(\"aria-hidden\",\"true\"),e.setAttribute(\"popover\",\"manual\"),e.dataset.turnLayer=\"\",document.documentElement.append(e);try{e.showPopover()}catch{}}function E(){if(window.top!==window){try{let t=JSON.parse(window.name.split(`${l}:`)[1]??\"\");c(()=>scrollTo(t.x,t.y)),w(t.p,t.o,t.v,t.w),window.pageturn&&(window.pageturn.behind={move:t.m,data:t.d})}catch{}return null}let e=S(l);if(v(l),!e||e.n!==window.pageturn?.arrival?.move)return null;let n=document.createElement(\"div\");n.innerHTML=e.h;let o=n.firstElementChild;if(!(o instanceof HTMLElement))return null;let u=null;if(e.s)try{let t=new CSSStyleSheet;t.insertRule(`${x(e.s)}{visibility:hidden!important}`),document.adoptedStyleSheets=[...document.adoptedStyleSheets,t],u=t}catch{}for(let t of[o,...o.querySelectorAll(\"[data-turn-style]\")])t.style.cssText=t.dataset.turnStyle??\"\";F(o);let r={flight:e,layer:o,sheet:u,taken:!1};e.b&&(document.documentElement.dataset.turnBehind=\"\");let{x:a=0,y:i}=e;return i!==void 0&&c(()=>scrollTo(a,i)),e.o&&w(e.s,e.o,e.v,e.w,e.l),d(()=>setTimeout(()=>r.taken||H(r))),r}function H(e){e.taken=!0,document.querySelector(\"[data-turn-origin]\")?.removeAttribute(\"data-turn-origin\"),e.layer.remove(),document.adoptedStyleSheets=document.adoptedStyleSheets.filter(n=>n!==e.sheet)}window.pageturnMorph===void 0&&(window.pageturnMorph=E());})();";
6
+ export const morphHeadScriptHash = "sha256-0na143TMOAyfIT4jzvnW+/Mx2LF8wOTZ8MwzphbRgaQ=";
package/dist/head.js CHANGED
@@ -1 +1 @@
1
- (()=>{var R=()=>performance.getEntriesByType("navigation")[0];var k;function x(){return k??=matchMedia("(prefers-reduced-motion: reduce)"),k.matches}function T(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}function g(e){try{let t=sessionStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function d(e,t){try{return sessionStorage.setItem(e,JSON.stringify(t)),!0}catch{return!1}}function f(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var C=2,a="pageturn",O="pageturn:left",N=1e4,V=3e3,L=(e,t)=>{let n=Date.now()-e;return n>=0&&n<t};function M(){let e=g(a);return f(a),e&&L(e.at,N)?e:null}var y=e=>e.pathname+e.search,j=(e,t)=>d(a,{...e,to:y(t)}),B=()=>f(a);function w(){let e=g(O);return e&&L(e.at,V)?e:null}var J=e=>d(O,e);function K(){let e=`${a}:probe`,t=d(e,0);return f(e),t}function H(){let e=history.state;return e&&typeof e=="object"?e:null}function E(){let e=H()?.[a];return e&&typeof e=="object"?e:null}function U(e){let t=history.state;if(t!==null&&(typeof t!="object"||Object.getPrototypeOf(t)!==Object.prototype))return;let{[a]:n,...r}=t??{};if(!(!e&&!n))try{history.replaceState(e?{...r,[a]:e}:r,"")}catch{}}function b(e,t){return!e?.returnAs||!t||t.none||t.from!==e.to?null:{move:e.returnAs,via:"history",from:t.from,data:null,remembered:e.remember??null,reported:t.data??null}}var F={m:C,g:j,n:B,o:w,p:J,q:K,r:E,h:U,s:b};var o=document.documentElement,$="--turn-",p=new Map;function _(e){if(!e||o.dataset.turnArriving===e){delete o.dataset.turnArriving,delete o.dataset.turnEntering,delete o.dataset.turnWith;for(let[t,{covered:n,own:r}]of p)o.style.getPropertyValue(t)===r&&(n?o.style.setProperty(t,n):o.style.removeProperty(t));p.clear()}}function h(e){if(typeof e=="object")for(let[t,n]of Object.entries(e??{}))if(/^(string|number)$/.test(typeof n)){let r=$+t,u=`${n}`;p.set(r,{covered:p.get(r)?.covered??o.style.getPropertyValue(r),own:u}),o.style.setProperty(r,u)}else n===!0&&(o.dataset.turnWith=`${o.dataset.turnWith??""} ${t}`.trim())}function I(e){h(e.remembered),h(e.reported),h(e.data)}function P(e){o.dataset.turnArriving=e.move,I(e)}function D(){let e={arrival:null,endArrival:_,t:P};if(window.pageturn=e,window.top!==window)return;e.i=F,e.a=!0;let t=M();if(x())return;let n=R(),r=t&&n?.type!=="reload"&&n?.type!=="back_forward"&&(!t.to||t.to===y(location)||(n?.redirectCount??0)>0)?t:null;e.arrival=r?{move:r.move,via:"link",from:r.from,data:r.data??null,remembered:null,reported:null}:n?.type==="back_forward"?b(E(),w()):null;let u=!!(r?.a&&"CSSViewTransitionRule"in window),{arrival:m}=e;if(m&&(u?I(m):P(m)),n?.type!=="back_forward"){o.dataset.turnEntering="";let i=["wheel","touchstart","keydown","pointerdown"],s=!0,l=()=>{s&&(scrollX||scrollY)&&(T(),c())},S=new ResizeObserver(l),c=()=>{s=!1,S.disconnect(),removeEventListener("scroll",l);for(let v of i)removeEventListener(v,c,!0)},A=()=>{s&&(S.observe(o),requestAnimationFrame(A))};A(),addEventListener("scroll",l);for(let v of i)addEventListener(v,c,!0);addEventListener("load",()=>requestAnimationFrame(()=>requestAnimationFrame(c)))}addEventListener("pagehide",i=>{i.persisted&&(e.j=null,u=!1)}),addEventListener("pagereveal",i=>{let s=i.viewTransition;e.j=s;let{arrival:l}=e;l&&(u?s?s.types.add(l.move):o.dataset.turnArriving=l.move:s?.skipTransition(),u=!1)}),addEventListener("pagehide",i=>{i.persisted&&(e.arrival=null,_())})}window.pageturn||D();})();
1
+ (()=>{var x=()=>performance.getEntriesByType("navigation")[0];var k;function R(){return k??=matchMedia("(prefers-reduced-motion: reduce)"),k.matches}function T(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}function g(e){try{let t=sessionStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function d(e,t){try{return sessionStorage.setItem(e,JSON.stringify(t)),!0}catch{return!1}}function f(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var C=2,a="pageturn",O="pageturn:left",N=1e4,V=3e3,L=(e,t)=>{let n=Date.now()-e;return n>=0&&n<t};function M(){let e=g(a);return f(a),e&&L(e.at,N)?e:null}var y=e=>e.pathname+e.search,j=(e,t)=>d(a,{...e,to:y(t)}),B=()=>f(a);function w(){let e=g(O);return e&&L(e.at,V)?e:null}var J=e=>d(O,e);function K(){let e=`${a}:probe`,t=d(e,0);return f(e),t}function H(){let e=history.state;return e&&typeof e=="object"?e:null}function E(){let e=H()?.[a];return e&&typeof e=="object"?e:null}function U(e){let t=history.state;if(t!==null&&(typeof t!="object"||Object.getPrototypeOf(t)!==Object.prototype))return;let{[a]:n,...r}=t??{};if(!(!e&&!n))try{history.replaceState(e?{...r,[a]:e}:r,"")}catch{}}function b(e,t){return!e?.returnAs||!t||t.none||t.from!==e.to?null:{move:e.returnAs,via:"history",from:t.from,data:null,remembered:e.remember??null,reported:t.data??null}}var F={m:C,h:j,n:B,o:w,p:J,q:K,r:E,i:U,s:b};var o=document.documentElement,$="--turn-",p=new Map;function _(e){if(!e||o.dataset.turnArriving===e){delete o.dataset.turnArriving,delete o.dataset.turnEntering,delete o.dataset.turnWith;for(let[t,{covered:n,own:r}]of p)o.style.getPropertyValue(t)===r&&(n?o.style.setProperty(t,n):o.style.removeProperty(t));p.clear()}}function h(e){if(typeof e=="object")for(let[t,n]of Object.entries(e??{}))if(/^(string|number)$/.test(typeof n)){let r=$+t,u=`${n}`;p.set(r,{covered:p.get(r)?.covered??o.style.getPropertyValue(r),own:u}),o.style.setProperty(r,u)}else n===!0&&(o.dataset.turnWith=`${o.dataset.turnWith??""} ${t}`.trim())}function I(e){h(e.remembered),h(e.reported),h(e.data)}function P(e){o.dataset.turnArriving=e.move,I(e)}function D(){let e={arrival:null,endArrival:_,t:P};if(window.pageturn=e,window.top!==window)return;e.j=F,e.a=!0;let t=M();if(R())return;let n=x(),r=t&&n?.type!=="reload"&&n?.type!=="back_forward"&&(!t.to||t.to===y(location)||(n?.redirectCount??0)>0)?t:null;e.arrival=r?{move:r.move,via:"link",from:r.from,data:r.data??null,remembered:null,reported:null}:n?.type==="back_forward"?b(E(),w()):null;let u=!!(r?.a&&"CSSViewTransitionRule"in window),{arrival:m}=e;if(m&&(u?I(m):P(m)),n?.type!=="back_forward"){o.dataset.turnEntering="";let i=["wheel","touchstart","keydown","pointerdown"],s=!0,l=()=>{s&&(scrollX||scrollY)&&(T(),c())},S=new ResizeObserver(l),c=()=>{s=!1,S.disconnect(),removeEventListener("scroll",l);for(let v of i)removeEventListener(v,c,!0)},A=()=>{s&&(S.observe(o),requestAnimationFrame(A))};A(),addEventListener("scroll",l);for(let v of i)addEventListener(v,c,!0);addEventListener("load",()=>requestAnimationFrame(()=>requestAnimationFrame(c)))}addEventListener("pagehide",i=>{i.persisted&&(e.k=null,u=!1)}),addEventListener("pagereveal",i=>{let s=i.viewTransition;e.k=s;let{arrival:l}=e;l&&(u?s?s.types.add(l.move):o.dataset.turnArriving=l.move:s?.skipTransition(),u=!1)}),addEventListener("pagehide",i=>{i.persisted&&(e.arrival=null,_())})}window.pageturn||D();})();
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import "./chunks/chunk-QC36TQP3.js";
2
- import "./chunks/chunk-237GNQNZ.js";
1
+ import "./chunks/chunk-FYSSNYA4.js";
2
+ import "./chunks/chunk-C3T7BGNG.js";
3
3
  import {
4
4
  arrival,
5
5
  chooseMove,
@@ -7,9 +7,10 @@ import {
7
7
  defineMove,
8
8
  endArrival,
9
9
  whenLeft
10
- } from "./chunks/chunk-7LMNJ25V.js";
11
- import "./chunks/chunk-YBAP3PHO.js";
12
- import "./chunks/chunk-QJ7GGFM4.js";
10
+ } from "./chunks/chunk-6FXXBNAF.js";
11
+ import "./chunks/chunk-JHM7F4CH.js";
12
+ import "./chunks/chunk-AEOAXMU3.js";
13
+ import "./chunks/chunk-YAL4MNCU.js";
13
14
  export {
14
15
  arrival,
15
16
  chooseMove,
@@ -1 +1 @@
1
- (()=>{var T=()=>performance.getEntriesByType("navigation")[0];function l(e){let n=T();(n?n.domContentLoadedEventStart>0:document.readyState!=="loading")?e():document.addEventListener("DOMContentLoaded",e,{once:!0})}function y(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}var g=Symbol.for("pageturn.focusBack"),h=globalThis;function b(e,n){h[g]=e;try{e.focus(n)}finally{delete h[g]}}function S(e){try{let n=sessionStorage.getItem(e);return n?JSON.parse(n):null}catch{return null}}function v(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var d="pageturn:morph",E=e=>`:is(${e}):not([data-turn-layer] *)`,L=e=>document.querySelector(E(e));function c(e){document.readyState==="loading"?document.addEventListener("readystatechange",e,{once:!0}):e()}function w(e,n,o=!1,u=[],r){let a=document.documentElement;a.dataset.turnRestoring="",y();let i=[];c(()=>{let t=null;try{t=e?L(e):null}catch{}t?.setAttribute("data-turn-origin",n);for(let[s,m,p]of u)try{let f=document.querySelector(s);p===null?f?.removeAttribute(m):f?.setAttribute(m,p)}catch{}for(let s=t?.parentElement?.closest("[popover]");o&&s;s=s.parentElement?.closest("[popover]"))i.unshift(s);for(let s of i)try{s.showPopover()}catch{}}),l(()=>requestAnimationFrame(()=>requestAnimationFrame(()=>{r&&A(r,i),delete a.dataset.turnRestoring})))}var M=(e,n)=>[...document.querySelectorAll("a[href]")].filter(o=>o.href===e)[n];function A([e,n,o],u){let r=document.activeElement,a=M(e,n);a&&(!r||r===document.body||u.some(i=>i.contains(r)))&&b(a,{preventScroll:!0,focusVisible:o})}function F(e){e.setAttribute("aria-hidden","true"),e.setAttribute("popover","manual"),e.dataset.turnLayer="",document.documentElement.append(e);try{e.showPopover()}catch{}}function x(){if(window.top!==window){try{let t=JSON.parse(window.name.split(`${d}:`)[1]??"");c(()=>scrollTo(t.x,t.y)),w(t.p,t.o,t.v,t.w),window.pageturn&&(window.pageturn.behind={move:t.m,data:t.d})}catch{}return null}let e=S(d);if(v(d),!e||e.n!==window.pageturn?.arrival?.move)return null;let n=document.createElement("div");n.innerHTML=e.h;let o=n.firstElementChild;if(!(o instanceof HTMLElement))return null;let u=null;if(e.s)try{let t=new CSSStyleSheet;t.insertRule(`${E(e.s)}{visibility:hidden!important}`),document.adoptedStyleSheets=[...document.adoptedStyleSheets,t],u=t}catch{}for(let t of[o,...o.querySelectorAll("[data-turn-style]")])t.style.cssText=t.dataset.turnStyle??"";F(o);let r={flight:e,layer:o,sheet:u,taken:!1};e.b&&(document.documentElement.dataset.turnBehind="");let{x:a=0,y:i}=e;return i!==void 0&&c(()=>scrollTo(a,i)),e.o&&w(e.s,e.o,e.v,e.w,e.l),l(()=>setTimeout(()=>r.taken||H(r))),r}function H(e){e.taken=!0,document.querySelector("[data-turn-origin]")?.removeAttribute("data-turn-origin"),e.layer.remove(),document.adoptedStyleSheets=document.adoptedStyleSheets.filter(n=>n!==e.sheet)}window.pageturnMorph===void 0&&(window.pageturnMorph=x());})();
1
+ (()=>{var T=()=>performance.getEntriesByType("navigation")[0];function d(e){let n=T();(n?n.domContentLoadedEventStart>0:document.readyState!=="loading")?e():document.addEventListener("DOMContentLoaded",e,{once:!0})}function y(){window.pageturn&&(window.pageturn.l=!0),delete document.documentElement.dataset.turnEntering}var g=Symbol.for("pageturn.focusBack"),h=globalThis;function b(e,n){h[g]=e;try{e.focus(n)}finally{delete h[g]}}function S(e){try{let n=sessionStorage.getItem(e);return n?JSON.parse(n):null}catch{return null}}function v(e){try{sessionStorage.getItem(e)!==null&&sessionStorage.removeItem(e)}catch{}}var l="pageturn:morph",x=e=>`:is(${e}):not([data-turn-layer] *)`,L=e=>document.querySelector(x(e));function c(e){document.readyState==="loading"?document.addEventListener("readystatechange",e,{once:!0}):e()}function w(e,n,o=!1,u=[],r){let a=document.documentElement;a.dataset.turnRestoring="",y();let i=[];c(()=>{let t=null;try{t=e?L(e):null}catch{}t?.setAttribute("data-turn-origin",n);for(let[s,m,p]of u)try{let f=document.querySelector(s);p===null?f?.removeAttribute(m):f?.setAttribute(m,p)}catch{}for(let s=t?.parentElement?.closest("[popover]");o&&s;s=s.parentElement?.closest("[popover]"))i.unshift(s);for(let s of i)try{s.showPopover()}catch{}}),d(()=>requestAnimationFrame(()=>requestAnimationFrame(()=>{r&&A(r,i),delete a.dataset.turnRestoring})))}var M=(e,n)=>[...document.querySelectorAll("a[href]")].filter(o=>o.href===e)[n];function A([e,n,o],u){let r=document.activeElement,a=M(e,n);a&&(!r||r===document.body||u.some(i=>i.contains(r)))&&b(a,{preventScroll:!0,focusVisible:o})}function F(e){e.setAttribute("aria-hidden","true"),e.setAttribute("popover","manual"),e.dataset.turnLayer="",document.documentElement.append(e);try{e.showPopover()}catch{}}function E(){if(window.top!==window){try{let t=JSON.parse(window.name.split(`${l}:`)[1]??"");c(()=>scrollTo(t.x,t.y)),w(t.p,t.o,t.v,t.w),window.pageturn&&(window.pageturn.behind={move:t.m,data:t.d})}catch{}return null}let e=S(l);if(v(l),!e||e.n!==window.pageturn?.arrival?.move)return null;let n=document.createElement("div");n.innerHTML=e.h;let o=n.firstElementChild;if(!(o instanceof HTMLElement))return null;let u=null;if(e.s)try{let t=new CSSStyleSheet;t.insertRule(`${x(e.s)}{visibility:hidden!important}`),document.adoptedStyleSheets=[...document.adoptedStyleSheets,t],u=t}catch{}for(let t of[o,...o.querySelectorAll("[data-turn-style]")])t.style.cssText=t.dataset.turnStyle??"";F(o);let r={flight:e,layer:o,sheet:u,taken:!1};e.b&&(document.documentElement.dataset.turnBehind="");let{x:a=0,y:i}=e;return i!==void 0&&c(()=>scrollTo(a,i)),e.o&&w(e.s,e.o,e.v,e.w,e.l),d(()=>setTimeout(()=>r.taken||H(r))),r}function H(e){e.taken=!0,document.querySelector("[data-turn-origin]")?.removeAttribute("data-turn-origin"),e.layer.remove(),document.adoptedStyleSheets=document.adoptedStyleSheets.filter(n=>n!==e.sheet)}window.pageturnMorph===void 0&&(window.pageturnMorph=E());})();
@@ -3,24 +3,26 @@ import {
3
3
  defineMorph,
4
4
  isDefined,
5
5
  seen
6
- } from "./chunks/chunk-WTHN3UIQ.js";
7
- import "./chunks/chunk-7LMNJ25V.js";
6
+ } from "./chunks/chunk-LM3XLSCW.js";
7
+ import "./chunks/chunk-6FXXBNAF.js";
8
+ import "./chunks/chunk-JHM7F4CH.js";
8
9
  import {
9
- afterDomContentLoaded
10
- } from "./chunks/chunk-YBAP3PHO.js";
11
- import "./chunks/chunk-QJ7GGFM4.js";
10
+ afterDomContentLoaded,
11
+ inBrowser
12
+ } from "./chunks/chunk-AEOAXMU3.js";
13
+ import "./chunks/chunk-YAL4MNCU.js";
12
14
 
13
15
  // src/morph/markup.ts
14
16
  var ATTRIBUTE = "data-turn-morph";
15
17
  function morphsFromMarkup() {
16
- const names = new Set(
18
+ let names = new Set(
17
19
  [...document.querySelectorAll(`[${ATTRIBUTE}]`)].map(
18
20
  (element) => element.getAttribute(ATTRIBUTE) ?? ""
19
21
  )
20
22
  );
21
- for (const name of names) {
23
+ for (let name of names) {
22
24
  if (!name || isDefined(name)) continue;
23
- const selector = `[${ATTRIBUTE}="${CSS.escape(name)}"]`;
25
+ let selector = `[${ATTRIBUTE}="${CSS.escape(name)}"]`;
24
26
  defineMorph(name, {
25
27
  from: (link) => link.querySelector(selector) ?? link.closest(selector),
26
28
  to: selector,
@@ -29,4 +31,4 @@ function morphsFromMarkup() {
29
31
  });
30
32
  }
31
33
  }
32
- afterDomContentLoaded(morphsFromMarkup);
34
+ inBrowser && afterDomContentLoaded(morphsFromMarkup);