{"version":3,"file":"Journal.C_dSWuKn.mjs","names":["useRef","React.useCallback","_Fragment","useState","__esmMin","init_ssg_sandbox_shims","me","init_npm_react_18_3_1","ce","l","ne","p","J","init_jsx_runtime","_e","de","window","fontStore","addPropertyControls","RenderTarget","init_framer_BWFVvmND","ControlType","variationAxes","fonts","css","className","init_JbKIMxcue","useForkRef","own","el","ref","setActive","next","rows","i","active","emit","cancel","pending","schedule","pendingIndex","from","wait","rowAtLine","line","READ","k","readLine","cur","HOLD","pendingFrom","dir","SETTLE","onScroll","y","lastY","raf","track","listen","on","listening","rowsChanged","a","b","settle","useJournal","subscribe","getVersion","getServerVersion","paintRow","reduced","reducedMotion","state","DIM_OPACITY","arrow","row","ROLL","face","withNoteIndex","NoteIndex","set","isCanvas","isBrowser","list","seen","windowShown","w","collect","ROW","r","paint","refresh","nowOn","rowOf","t","move","px","py","lastScroll","DWELL","out","focus","subs","mo","late","Component","props","withHeadRise","HeadRise","head","mask","tick","HEAD_CSS","withWindowDrift","WindowDrift","win","section","vh","withProse","Prose","fold","blocks","clear","batch","batchAt","io","now","entries","delay","tri","withNoteStrip","NoteStrip","shown","count","panels","prev","to","SOFT","NoteContents","setEntries","current","setCurrent","canvas","heads","body","used","id","h","slug","read","preview","shownCurrent","go","target","top","label","style","ink","labelFont","mark","en","e","font","version","HEAD","TITLE","ROWX","WIN","COVER","init_Journal","f","s"],"sources":["https:/framerusercontent.com/modules/6Xra5vOK55MnV1ohHpjn/51megVMI6OstLrouVuiI/JbKIMxcue.js","https:/framerusercontent.com/modules/fPALQqmFnOBYF5NJgHUG/GZ1VSc3VpZ6pDkOiPH0Z/Journal.js"],"sourcesContent":["// Generated by Framer (2790bda)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Anybody-variable-regular\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-Italic\"]);const variationAxes=[{defaultValue:100,maxValue:150,minValue:50,name:\"Width\",tag:\"wdth\"},{defaultValue:100,maxValue:900,minValue:100,name:\"Weight\",tag:\"wght\"}];export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Anybody Variable\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Anybody\",url:\"https://fonts.gstatic.com/s/anybody/v13/VuJxdNvK2Ib2ppdWeKPXOIFneRo.woff2\",variationAxes,weight:\"400\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/pKRFNWFoZl77qYCAIp84lN1h944.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",openType:true,source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"}]}];export const css=['.framer-5xLdX .framer-styles-preset-gvhs1a:not(.rich-text-wrapper), .framer-5xLdX .framer-styles-preset-gvhs1a.rich-text-wrapper h3 { --framer-font-family: \"Anybody Variable\", \"Anybody Variable Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 64px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: \"wdth\" 80, \"wght\" 380; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.015em; --framer-line-height: 1em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-dtoMYdirN); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-5xLdX .framer-styles-preset-gvhs1a:not(.rich-text-wrapper), .framer-5xLdX .framer-styles-preset-gvhs1a.rich-text-wrapper h3 { --framer-font-family: \"Anybody Variable\", \"Anybody Variable Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 48px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: \"wdth\" 80, \"wght\" 380; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.015em; --framer-line-height: 1em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-dtoMYdirN); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-5xLdX .framer-styles-preset-gvhs1a:not(.rich-text-wrapper), .framer-5xLdX .framer-styles-preset-gvhs1a.rich-text-wrapper h3 { --framer-font-family: \"Anybody Variable\", \"Anybody Variable Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 32px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: \"wdth\" 80, \"wght\" 380; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.015em; --framer-line-height: 1em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-dtoMYdirN); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-5xLdX\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{forwardRef,useEffect,useRef,useState,useSyncExternalStore}from\"react\";import{RenderTarget,addPropertyControls,ControlType}from\"framer\";// Winsor journal (round 3). Team Pixel's own.\n//\n// The /journal index is a list of notes beside a sticky window. The window holds a strip of panels, one per note,\n// in the note's client colour. The row held at the reading line (or rested on with the mouse, or focused) is the\n// active note: the window changes to its panel and the other rows dim. Everything visual is native Framer (the rows are\n// the \"Journal / Note Row\" component, the panels are a CMS list); these overrides only say which note is active.\n//\n// withNoteIndex - on the index's CMS list of rows (\"Rows\"). Desktop and laptop only (while the Window is shown):\n//                 it dims the other rows and draws the active row's arrow; tablet and phone rows are left as built.\n// withNoteStrip - on the window's CMS list (the strip of panels). It shows the active panel.\n// withHeadRise  - on a journal page's \"Page Head\": entrances as server-rendered CSS keyframes, recede on scroll.\n// withWindowDrift - on the index Window: its pictures drift slowly with the scroll.\n// withProse     - on a note's body text: blocks rise (pictures open) as the reader reaches them.\n// NoteContents  - the note page's \"In this note\" rail: the body's own h2s as links, the current one marked.\n//\n// Without script the window shows the newest note and every row is full ink. Reduced motion: instant swaps.\n// The canvas gets the static layout.\nconst ROLL=\"cubic-bezier(0.16, 1, 0.3, 1)\";const isCanvas=()=>RenderTarget.current()===RenderTarget.canvas;const isBrowser=()=>typeof window!==\"undefined\";const reducedMotion=()=>isBrowser()&&!!window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches;function useForkRef(ref){const own=useRef(null);const set=React.useCallback(el=>{own.current=el;if(typeof ref===\"function\")ref(el);else if(ref)ref.current=el;},[ref]);return[own,set];}// --- the shared state: which note is active, and which rows exist (in document order) ---------------------------\n//\n// Changes are deliberate, never accidental:\n// - Scroll: the row at a reading line (45% down the screen) takes over, but only once it has held the line for a\n//   moment (SETTLE), so a fast flick past four notes changes the window once, at the end. The active row keeps its\n//   claim until the line is HOLD px past its edge, so slow scrolling can't flicker between two rows.\n//   Scroll only moves the window the way the reader is travelling: after pointing at a note further down, scrolling\n//   down never sends it back up to the row at the line.\n// - Pointer: only a real mouse movement over a row counts (rows sliding under a still cursor while scrolling, and\n//   the synthetic mouse moves browsers send after a scroll, are ignored), and only after it rests there (DWELL).\n// - Focus (keyboard) takes over at once.\nconst READ=.45;const HOLD=24;const SETTLE=160;const DWELL=150;const rows=[];let active=0;let version=0;const subs=new Set;const emit=()=>{version++;subs.forEach(f=>f());};const subscribe=f=>{subs.add(f);return()=>{subs.delete(f);};};const getVersion=()=>version;const getServerVersion=()=>0;function setActive(i){const next=Math.max(0,Math.min(rows.length-1,i));if(next===active)return;active=next;emit();}let pending=0;let pendingIndex=-1;let pendingFrom=\"\";function cancel(){if(pending)clearTimeout(pending);pending=0;pendingIndex=-1;pendingFrom=\"\";}function schedule(i,wait,from){if(i===active)return cancel();if(i===pendingIndex)return;cancel();pendingIndex=i;pendingFrom=from;pending=window.setTimeout(()=>{pending=0;pendingIndex=-1;pendingFrom=\"\";setActive(i);},wait);}// the row at the reading line; the first while the list is still below it, the last once it has passed\nfunction rowAtLine(){const line=window.innerHeight*READ;let k=0;for(let i=0;i<rows.length;i++){const r=rows[i].getBoundingClientRect();if(r.top<=line)k=i;if(r.top<=line&&r.bottom>line)return i;}return k;}let lastScroll=-1e9;let lastY=0;let dir=0;let raf=0;let px=-1;let py=-1;function readLine(){raf=0;if(!rows.length)return;const line=window.innerHeight*READ;const cur=rows[active]?.getBoundingClientRect();if(cur&&line>=cur.top-HOLD&&line<cur.bottom+HOLD){// still inside the active row (with a margin): stay, and drop a scroll candidate that has gone by\nif(pendingFrom===\"scroll\")cancel();return;}const k=rowAtLine();if(dir>0&&k<active||dir<0&&k>active)return;schedule(k,SETTLE,\"scroll\");}function onScroll(e){lastScroll=performance.now();const y=window.scrollY;dir=e&&e.type===\"scroll\"?Math.sign(y-lastY)||dir:0;lastY=y;if(!raf)raf=requestAnimationFrame(readLine);}// the cursor's last real position, recorded after the row has looked at the move (bubble phase, on the document)\nfunction track(e){px=e.clientX;py=e.clientY;}let listening=false;function listen(on){if(on===listening)return;listening=on;if(on){window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onScroll,{passive:true});document.addEventListener(\"pointermove\",track,{passive:true});lastY=window.scrollY;}else{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onScroll);document.removeEventListener(\"pointermove\",track);}}let settle=0;function rowsChanged(){rows.sort((a,b)=>a.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);listen(rows.length>0);cancel();// a new set of rows (first load, or the filter changed): take the row at the reading line once the batch settles\nif(settle)cancelAnimationFrame(settle);settle=requestAnimationFrame(()=>{settle=0;active=rows.length?rowAtLine():0;emit();});}function useJournal(){useSyncExternalStore(subscribe,getVersion,getServerVersion);}// --- the list ---------------------------------------------------------------------------------------------------\n//\n// withNoteIndex goes on the index's CMS list frame (layer \"Rows\"). It finds its rows by layer name (\"Note Row\") and\n// styles them in place: the active row at full ink with its arrow drawn in and its face in colour, the others at 50%.\n// It only runs while the Window is on screen (desktop and laptop); on tablet and phone the rows are left as built.\n// The row component needs no override of its own.\nconst ROW=\"Note Row\";const DIM_OPACITY=\"0.5\";function paintRow(row,state){const reduced=reducedMotion();row.style.transition=reduced?\"none\":\"opacity 0.45s ease\";row.style.opacity=state===\"dim\"?DIM_OPACITY:\"\";const arrow=row.querySelector('[data-framer-name=\"Arrow Shift\"]');if(arrow){if(arrow.dataset.noteRest===undefined)arrow.dataset.noteRest=arrow.style.transform||\"translateX(-60px)\";arrow.style.transition=reduced?\"none\":`transform 0.55s ${ROLL}`;arrow.style.transform=state===\"active\"?\"translateX(0px)\":arrow.dataset.noteRest;}const face=row.querySelector('[data-framer-name=\"Face\"]');if(face){if(face.dataset.noteRest===undefined)face.dataset.noteRest=face.style.filter||\"\";face.style.transition=reduced?\"none\":\"filter 0.45s ease\";face.style.filter=state===\"active\"?\"grayscale(0)\":face.dataset.noteRest;}}export function withNoteIndex(Component){const NoteIndex=/*#__PURE__*/forwardRef(function NoteIndex(props,ref){const[own,set]=useForkRef(ref);useEffect(()=>{if(isCanvas()||!isBrowser())return;const list=own.current;if(!list)return;let on=false;let seen=[];const windowShown=()=>{const w=document.querySelector('[data-framer-name=\"Window\"]');return!!w&&w.getBoundingClientRect().width>0;};const collect=()=>Array.from(list.querySelectorAll(`[data-framer-name=\"${ROW}\"]`)).filter(r=>r.getBoundingClientRect().height>0);const paint=()=>{seen.forEach(r=>paintRow(r,!on?\"rest\":rows.indexOf(r)===active?\"active\":\"dim\"));};const refresh=()=>{const next=collect();const nowOn=windowShown()&&next.length>1;const same=nowOn===on&&next.length===seen.length&&next.every((r,i)=>r===seen[i]);if(same)return;if(!nowOn)seen.forEach(r=>paintRow(r,\"rest\"));on=nowOn;seen=next;rows.splice(0,rows.length,...on?next:[]);rowsChanged();paint();};const rowOf=t=>t?.closest?.(`[data-framer-name=\"${ROW}\"]`);const move=e=>{if(!on||e.pointerType!==\"mouse\"&&e.pointerType!==\"pen\")return;// a move that didn't move (sent after a scroll), or one during a scroll, isn't the reader pointing\nconst moved=px<0||Math.abs(e.clientX-px)+Math.abs(e.clientY-py)>=2;if(!moved||performance.now()-lastScroll<220)return;const i=rows.indexOf(rowOf(e.target));if(i>=0)schedule(i,DWELL,\"pointer\");};const out=e=>{const from=rowOf(e.target);if(!from||from.contains(e.relatedTarget))return;if(pendingFrom===\"pointer\"&&pendingIndex===rows.indexOf(from))cancel();};const focus=e=>{if(!on)return;const i=rows.indexOf(rowOf(e.target));if(i<0)return;cancel();setActive(i);};subs.add(paint);list.addEventListener(\"pointermove\",move);list.addEventListener(\"pointerout\",out);list.addEventListener(\"focusin\",focus);// the filter re-renders the list; a breakpoint change shows or hides the window\nconst mo=new MutationObserver(()=>requestAnimationFrame(refresh));mo.observe(list,{childList:true,subtree:true});window.addEventListener(\"resize\",refresh);refresh();// fonts and late layout can move rows after the first pass\nconst late=window.setTimeout(refresh,600);return()=>{clearTimeout(late);mo.disconnect();window.removeEventListener(\"resize\",refresh);list.removeEventListener(\"pointermove\",move);list.removeEventListener(\"pointerout\",out);list.removeEventListener(\"focusin\",focus);subs.delete(paint);seen.forEach(r=>paintRow(r,\"rest\"));rows.splice(0,rows.length);rowsChanged();};},[]);return /*#__PURE__*/_jsx(Component,{...props,ref:set});});NoteIndex.displayName=\"withNoteIndex\";return NoteIndex;}// --- the page head's entrance -------------------------------------------------------------------------------------\n//\n// withHeadRise goes on a journal page's \"Page Head\" frame. The title rises from behind its mask and the row under it\n// follows, and the index window and the note's cover open along the 45° line, all as CSS keyframes in the server HTML,\n// so they play from the first paint instead of waiting for the page's script (a script-driven start state shows a\n// clipped, half-placed title until hydration). The style text is fixed and set with dangerouslySetInnerHTML, so\n// hydration never mismatches. As the head scrolls away, the title lifts a little faster than the field (recede).\n// Reduced motion: no movement.\nconst HEAD='[data-framer-name=\"Page Head\"]';const TITLE=`${HEAD} [data-framer-name=\"Headline Mask\"]>[data-framer-name=\"Headline\"]`;const ROWX=`${HEAD}>[data-framer-name=\"Head Row\"]`;const WIN='[data-framer-name=\"Window\"]';const COVER='[data-framer-name=\"Rail\"]>[data-framer-name=\"Cover\"]';const WIPE_EASE=\"cubic-bezier(0.76,0,0.24,1)\";const HEAD_CSS=[\"@keyframes winsorHeadRise{from{transform:translate3d(0,108%,0)}to{transform:none}}\",\"@keyframes winsorHeadFollow{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}\",\"@keyframes winsorLift{from{clip-path:polygon(0% 100%,0% 100%,0% 100%)}to{clip-path:polygon(0% 100%,0% -100%,200% 100%)}}\",`${TITLE}{animation:winsorHeadRise 1s cubic-bezier(0.16,1,0.3,1) 0.08s backwards}`,`${ROWX}{animation:winsorHeadFollow 0.7s cubic-bezier(0.16,1,0.3,1) 0.42s backwards}`,`${WIN},${COVER}{animation:winsorLift 1.1s ${WIPE_EASE} 0.3s backwards}`,`@media (prefers-reduced-motion:reduce){${TITLE},${ROWX},${WIN},${COVER}{animation:none}}`].join(\"\");export function withHeadRise(Component){const HeadRise=/*#__PURE__*/forwardRef(function HeadRise(props,ref){const[own,set]=useForkRef(ref);useEffect(()=>{if(isCanvas()||!isBrowser()||reducedMotion())return;const head=own.current;if(!head)return;const mask=head.querySelector('[data-framer-name=\"Headline Mask\"]');const row=head.querySelector(':scope > [data-framer-name=\"Head Row\"]');let raf=0;const tick=()=>{raf=0;const r=head.getBoundingClientRect();const p=Math.min(1,Math.max(0,-r.top/Math.max(1,r.height)));if(mask)mask.style.transform=p?`translate3d(0, ${(-p*72).toFixed(1)}px, 0)`:\"\";if(row){row.style.transform=p?`translate3d(0, ${(-p*36).toFixed(1)}px, 0)`:\"\";row.style.opacity=p?String(1-p*.6):\"\";}};const on=()=>{if(!raf)raf=requestAnimationFrame(tick);};tick();window.addEventListener(\"scroll\",on,{passive:true});window.addEventListener(\"resize\",on);return()=>{window.removeEventListener(\"scroll\",on);window.removeEventListener(\"resize\",on);cancelAnimationFrame(raf);if(mask)mask.style.transform=\"\";if(row){row.style.transform=\"\";row.style.opacity=\"\";}};},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:HEAD_CSS}}),/*#__PURE__*/_jsx(Component,{...props,ref:set})]});});HeadRise.displayName=\"withHeadRise\";return HeadRise;}// --- the index window's drift ------------------------------------------------------------------------------------\n//\n// withWindowDrift goes on the index's sticky \"Window\". While the list scrolls past, the pictures inside drift slowly\n// (a few percent of the window's height), so the held window never sits dead still. Scroll-linked, settles when the\n// scroll stops; no pointer. Reduced motion: still.\nexport function withWindowDrift(Component){const WindowDrift=/*#__PURE__*/forwardRef(function WindowDrift(props,ref){const[own,set]=useForkRef(ref);useEffect(()=>{if(isCanvas()||!isBrowser()||reducedMotion())return;const win=own.current;if(!win)return;const section=win.closest('[data-framer-name=\"Notes Index\"]')||win;let raf=0;const tick=()=>{raf=0;const r=section.getBoundingClientRect();const vh=window.innerHeight;const p=Math.min(1,Math.max(0,(vh-r.top)/Math.max(1,r.height+vh)));const y=(.5-p)*2*win.offsetHeight*.035;win.querySelectorAll('[data-framer-name=\"Image\"]').forEach(img=>{img.style.transform=`translate3d(0, ${y.toFixed(1)}px, 0) scale(1.08)`;});};const on=()=>{if(!raf)raf=requestAnimationFrame(tick);};tick();window.addEventListener(\"scroll\",on,{passive:true});window.addEventListener(\"resize\",on);return()=>{window.removeEventListener(\"scroll\",on);window.removeEventListener(\"resize\",on);cancelAnimationFrame(raf);};},[]);return /*#__PURE__*/_jsx(Component,{...props,ref:set});});WindowDrift.displayName=\"withWindowDrift\";return WindowDrift;}// --- the note's body, as you read ------------------------------------------------------------------------------\n//\n// withProse goes on the note's rich-text layer (\"Note / Text\"). Blocks below the fold when the page loads arrive as\n// the reader reaches them: paragraphs, subheads and the quote rise 22px into place (0.65s), pictures open along the\n// 45° line while they settle. Blocks entering together follow each other by 70ms. Everything above the fold, the\n// server render and reduced motion are left as they are, so nothing is ever hidden without script.\nconst tri=t=>`polygon(0% 100%, 0% ${100-200*t}%, ${200*t}% 100%)`;export function withProse(Component){const Prose=/*#__PURE__*/forwardRef(function Prose(props,ref){const[own,set]=useForkRef(ref);useEffect(()=>{if(isCanvas()||!isBrowser()||reducedMotion())return;const el=own.current;if(!el)return;const fold=window.innerHeight*.92;const blocks=Array.from(el.children).filter(b=>b.getBoundingClientRect().top>fold);if(!blocks.length)return;const clear=b=>{b.style.opacity=\"\";b.style.transform=\"\";b.style.clipPath=\"\";};blocks.forEach(b=>{b.style.opacity=\"0\";if(b.tagName!==\"IMG\")b.style.transform=\"translate3d(0, 22px, 0)\";});let batch=0;let batchAt=0;const io=new IntersectionObserver(entries=>{const now=performance.now();if(now-batchAt>140)batch=0;batchAt=now;entries.filter(e=>e.isIntersecting).sort((a,b)=>a.boundingClientRect.top-b.boundingClientRect.top).forEach(e=>{const b=e.target;io.unobserve(b);const delay=Math.min(batch++,4)*70;clear(b);if(b.tagName===\"IMG\"){b.animate([{clipPath:tri(0),transform:\"scale(1.06)\"},{clipPath:tri(1),transform:\"scale(1)\"}],{duration:1100,delay,easing:\"cubic-bezier(0.76, 0, 0.24, 1)\",fill:\"backwards\"});}else{b.animate([{opacity:0,transform:\"translate3d(0, 22px, 0)\"},{opacity:1,transform:\"translate3d(0, 0, 0)\"}],{duration:650,delay,easing:ROLL,fill:\"backwards\"});}});},{rootMargin:\"0px 0px -8% 0px\",threshold:.01});blocks.forEach(b=>io.observe(b));return()=>{io.disconnect();blocks.forEach(clear);};},[]);return /*#__PURE__*/_jsx(Component,{...props,ref:set});});Prose.displayName=\"withProse\";return Prose;}// --- the window's strip -----------------------------------------------------------------------------------------\n//\n// The panels are stacked in place (the server render is a plain column, clipped by the window to the first panel).\n// A change goes straight to the chosen note and never through the ones between: the outgoing panel fades and drifts\n// away, the incoming one rises in from the side the reader is travelling (below when moving down the list, above when\n// moving up) while its picture settles. Only the visible panel takes clicks.\nconst SOFT=\"cubic-bezier(0.33, 1, 0.68, 1)\";export function withNoteStrip(Component){const NoteStrip=/*#__PURE__*/forwardRef(function NoteStrip(props,ref){const[own,set]=useForkRef(ref);const shown=useRef(-1);const count=useRef(0);useJournal();useEffect(()=>{if(isCanvas()||!isBrowser())return;const el=own.current;if(!el)return;const panels=Array.from(el.children);if(!panels.length)return;const k=Math.max(0,Math.min(panels.length-1,active));const fresh=count.current!==panels.length||panels.some(p=>p.dataset.noteStacked!==\"1\");if(fresh){// stack the panels in place (first load, or the filter brought a new set)\ncount.current=panels.length;el.style.position=\"relative\";el.style.minHeight=panels[0].offsetHeight+\"px\";panels.forEach((p,i)=>{p.dataset.noteStacked=\"1\";p.style.position=\"absolute\";p.style.top=\"0px\";p.style.left=\"0px\";p.style.width=\"100%\";p.style.opacity=i===k?\"1\":\"0\";p.style.visibility=i===k?\"visible\":\"hidden\";p.style.pointerEvents=i===k?\"auto\":\"none\";p.style.zIndex=i===k?\"2\":\"1\";});shown.current=k;return;}const prev=shown.current;if(prev===k)return;shown.current=k;const from=panels[prev];const to=panels[k];panels.forEach(p=>p.getAnimations().forEach(a=>a.cancel()));panels.forEach((p,i)=>{if(i!==k&&i!==prev){p.style.opacity=\"0\";p.style.visibility=\"hidden\";p.style.zIndex=\"1\";}p.style.pointerEvents=i===k?\"auto\":\"none\";});to.style.visibility=\"visible\";to.style.opacity=\"1\";to.style.zIndex=\"3\";if(from){from.style.zIndex=\"2\";from.style.opacity=\"0\";}if(reducedMotion()){if(from)from.style.visibility=\"hidden\";return;}const dir=k>prev?1:-1;to.animate([{opacity:0,transform:`translate3d(0, ${dir*40}px, 0)`},{opacity:1,transform:\"translate3d(0, 0, 0)\"}],{duration:700,easing:ROLL});const pic=to.querySelector(\"[data-framer-background-image-wrapper]\");pic?.animate([{transform:\"scale(1.06)\"},{transform:\"scale(1)\"}],{duration:1e3,easing:SOFT});if(from){const out=from.animate([{opacity:1,transform:\"translate3d(0, 0, 0)\"},{opacity:0,transform:`translate3d(0, ${dir*-24}px, 0)`}],{duration:420,easing:SOFT});out.onfinish=()=>{if(shown.current!==prev)from.style.visibility=\"hidden\";};}});return /*#__PURE__*/_jsx(Component,{...props,ref:set});});NoteStrip.displayName=\"withNoteStrip\";return NoteStrip;}const slug=s=>s.toLowerCase().replace(/[’'\"“”]/g,\"\").replace(/[^a-z0-9]+/g,\"-\").replace(/^-|-$/g,\"\").slice(0,60)||\"section\";/**\n * Note Contents\n *\n * @framerIntrinsicWidth 280\n * @framerIntrinsicHeight 160\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export function NoteContents(props){const{body=\"Note / Text\",label=\"In this note\",preview=\"\",ink=\"#0B1033\",mark=\"#2F5BFF\",font,labelFont,gap=12,style}=props;const ref=useRef(null);const[entries,setEntries]=useState([]);const[current,setCurrent]=useState(-1);const canvas=isCanvas();useEffect(()=>{if(canvas||!isBrowser())return;const find=()=>Array.from(document.querySelectorAll(`[data-framer-name=\"${body}\"] h2`));let heads=find();const used=new Set;const list=heads.map(h=>{let id=h.id;if(!id){id=slug(h.textContent||\"\");while(used.has(id)||document.getElementById(id))id+=\"-2\";h.id=id;}used.add(id);return{id,text:(h.textContent||\"\").trim()};});setEntries(list);let raf=0;const read=()=>{raf=0;heads=heads.filter(h=>h.isConnected);const line=window.innerHeight*.4;// before the first heading the reader is in its section already, so the first link is current\nlet k=0;heads.forEach((h,i)=>{if(h.getBoundingClientRect().top<line)k=i;});setCurrent(heads.length?k:-1);};const on=()=>{if(!raf)raf=requestAnimationFrame(read);};read();window.addEventListener(\"scroll\",on,{passive:true});window.addEventListener(\"resize\",on);return()=>{window.removeEventListener(\"scroll\",on);window.removeEventListener(\"resize\",on);cancelAnimationFrame(raf);};},[body,canvas]);const shown=canvas?preview.split(\"|\").map(t=>t.trim()).filter(Boolean).map((t,i)=>({id:\"p\"+i,text:t})):entries;const shownCurrent=canvas?0:current;const reduced=reducedMotion();const go=(e,id)=>{const target=document.getElementById(id);if(!target)return;e.preventDefault();const top=target.getBoundingClientRect().top+window.scrollY-120;window.scrollTo({top,behavior:reduced?\"auto\":\"smooth\"});history.replaceState(null,\"\",\"#\"+id);};return /*#__PURE__*/_jsxs(\"nav\",{ref:ref,\"aria-label\":label,style:{display:\"flex\",flexDirection:\"column\",gap:16,...style},children:[label?/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:'\"Host Grotesk\", sans-serif',fontSize:14,fontWeight:500,lineHeight:1.45,color:ink,...labelFont},children:label}):null,/*#__PURE__*/_jsx(\"ol\",{style:{listStyle:\"none\",margin:0,padding:0,display:\"flex\",flexDirection:\"column\",gap},children:shown.map((en,i)=>{const on=i===shownCurrent;return /*#__PURE__*/_jsxs(\"li\",{style:{display:\"flex\",alignItems:\"baseline\",gap:12},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{flex:\"none\",width:8,height:8,background:mark,transform:on?\"scale(1)\":\"scale(0)\",transition:reduced?\"none\":`transform 0.4s ${ROLL}`,alignSelf:\"center\"}}),/*#__PURE__*/_jsx(\"a\",{href:\"#\"+en.id,onClick:e=>go(e,en.id),\"aria-current\":on?\"location\":undefined,style:{fontFamily:'\"Host Grotesk\", sans-serif',fontSize:16,fontWeight:500,lineHeight:1.35,...font,color:ink,opacity:on?1:.5,textDecoration:\"none\",transition:reduced?\"none\":\"opacity 0.3s ease\"},children:en.text})]},en.id);})})]});}NoteContents.displayName=\"Note Contents\";addPropertyControls(NoteContents,{body:{type:ControlType.String,title:\"Body layer\",defaultValue:\"Note / Text\",description:\"Name of the text layer that holds the note's body. Its H2s become the links.\"},label:{type:ControlType.String,title:\"Label\",defaultValue:\"In this note\"},preview:{type:ControlType.String,title:\"Canvas preview\",defaultValue:\"Two mornings, one notebook|The hour is the hero|What we’d tell anyone starting a rebrand\",description:\"Shown on the canvas only, split by |\"},ink:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#0B1033\"},mark:{type:ControlType.Color,title:\"Mark\",defaultValue:\"#2F5BFF\"},font:{type:ControlType.Font,title:\"Link font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:16,lineHeight:1.35}},labelFont:{type:ControlType.Font,title:\"Label font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.45}},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:12,min:0,max:40,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"withHeadRise\":{\"type\":\"reactHoc\",\"name\":\"withHeadRise\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NoteContents\":{\"type\":\"reactComponent\",\"name\":\"NoteContents\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"160\",\"framerIntrinsicWidth\":\"280\",\"framerSupportedLayoutHeight\":\"auto\"}},\"withProse\":{\"type\":\"reactHoc\",\"name\":\"withProse\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNoteIndex\":{\"type\":\"reactHoc\",\"name\":\"withNoteIndex\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNoteStrip\":{\"type\":\"reactHoc\",\"name\":\"withNoteStrip\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withWindowDrift\":{\"type\":\"reactHoc\",\"name\":\"withWindowDrift\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Journal.map"],"mappings":"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"}