{"version":3,"file":"RunFileNotebook.QZ7NoVWl.mjs","names":["useState","useRef","useCallback","__esmMin","init_ssg_sandbox_shims","ne","window","_e","de","p","c","init_jsx_runtime","init_npm_react_18_3_1","ce","init_RunFileShared","saveAnswer","hasNotebook","NOTEBOOK_GROUPS","id","buildGroups","defs","ex","used","out","g","qs","q","rest","grow","el","NotebookPrompt","props","stored","entry","draft","setDraft","status","setStatus","draftRef","timer","focused","ref","onResize","flush","onChange","v","onBlur","taId","helperId","statusText","MIN_LINES","NotebookExercise","groups","ready","NB_CSS","labelId","answers","init_RunFileNotebook"],"sources":["https:/framerusercontent.com/modules/WK3NFgnv7G8Khn0uaBsB/yt3DOk6hMnsAvczMGCxI/RunFileNotebook.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useCallback,useEffect,useRef,useState}from\"react\";import{saveAnswer}from\"https://framerusercontent.com/modules/G3EWfCtou2RsgtBIoFqs/WeiMo3HBWTDVFA5XQBmB/RunFileShared.js\";export const NOTEBOOK_GROUPS={RF01:[{key:\"job\",label:\"The job and its limits\",accent:\"#A44F33\",ids:[\"RF01-Q01\",\"RF01-Q02\",\"RF01-Q03\"]},{key:\"workload\",label:\"The workload\",accent:\"#7F5B17\",ids:[\"RF01-Q04\"]},{key:\"take\",label:\"Your take\",accent:\"#55674B\",ids:[\"RF01-Q05\",\"RF01-Q06\"]}]};export function hasNotebook(id){return!!NOTEBOOK_GROUPS[id];}function buildGroups(ex){const defs=NOTEBOOK_GROUPS[ex.id]||[];const used={};const out=[];for(const g of defs){const qs=ex.questions.filter(q=>g.ids.indexOf(q.id)!==-1&&!used[q.id]);qs.forEach(q=>used[q.id]=true);if(qs.length)out.push({key:g.key,label:g.label,accent:g.accent,questions:qs});}// Safety net: any question not assigned to a group still appears, in order.\nconst rest=ex.questions.filter(q=>!used[q.id]);if(rest.length)out.push({key:\"rest\",label:\"\",accent:\"\",questions:rest});return out;}const LINE=30;const MIN_LINES=3;export const NB_CSS=[\".nb-groups{margin:34px 0 0;display:flex;flex-direction:column;gap:52px}\",\".nb-group{border-top:2px solid var(--nb-accent,var(--gg-line));padding-top:16px}\",\".nb-label{margin:0 0 26px;color:var(--nb-accent,var(--gg-muted))}\",\".nb-prompts{display:flex;flex-direction:column;gap:38px}\",\".nb-q{margin:0;font-size:20px;line-height:1.35;font-weight:500;letter-spacing:-.005em;color:var(--gg-ink)}\",\".nb-q label{cursor:text}\",\".nb-helper{font-size:15px;line-height:1.5;color:var(--gg-muted);margin:6px 0 0;max-width:600px}\",\".nb-paper{margin:14px 0 0;padding:6px 16px 8px 18px;background:var(--gg-paper);border:0;border-left:2px solid #E4D9C8;border-radius:0 6px 6px 0;transition:border-color .15s,box-shadow .15s}\",\".nb-paper:hover{border-left-color:var(--nb-accent,var(--gg-terracotta))}\",\".nb-paper:focus-within{border-left-color:var(--nb-accent,var(--gg-terracotta));box-shadow:0 0 0 2px var(--nb-accent,var(--gg-terracotta))}\",\".nb-ta{display:block;width:100%;min-height:\"+LINE*MIN_LINES+\"px;margin:0;padding:0;border:0;outline:none;resize:none;overflow:hidden;font:inherit;font-size:17px;line-height:\"+LINE+\"px;color:var(--gg-ink);background-color:transparent;background-image:linear-gradient(to bottom,transparent \"+(LINE-1)+\"px,#ECE4D7 \"+(LINE-1)+\"px,#ECE4D7 \"+LINE+\"px);background-size:100% \"+LINE+\"px;background-attachment:local}\",\".nb-status{display:block;min-height:16px;margin:8px 0 0;color:var(--gg-muted)}\",\".nb-status.is-error{color:#9B2F1F}\",\".nb-print{display:none}\",\"@media (max-width:600px){.nb-groups{gap:44px;margin-top:28px}.nb-label{margin-bottom:22px}.nb-prompts{gap:32px}.nb-q{font-size:18px}.nb-paper{padding:6px 14px 8px}}\",\"@media print{.nb-groups{gap:20px}.nb-group{border-top:1px solid #000!important}.nb-label{margin-bottom:12px}.nb-prompts{gap:16px}.nb-prompt{break-inside:avoid;page-break-inside:avoid}.nb-q{font-size:12pt}.nb-helper{font-size:10.5pt}.nb-paper{border:0!important;padding:0!important;margin-top:6px}.nb-ta,.nb-status{display:none!important}.nb-print{display:block!important}.nb-answer{margin:0;font-size:11pt;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;padding-left:10px;border-left:2px solid #000!important}.nb-lines span{display:block;height:28px;border-bottom:1px solid #000}}\"].join(\"\\n\");function grow(el){if(!el)return;el.style.height=\"auto\";el.style.height=Math.max(el.scrollHeight,LINE*MIN_LINES)+\"px\";}function NotebookPrompt(props){const{question:q,entry}=props;const stored=entry?entry.text:\"\";const[draft,setDraft]=useState(stored);const[status,setStatus]=useState(\"idle\");const draftRef=useRef(stored);const timer=useRef(null);const focused=useRef(false);const ref=useRef(null);// Pick up changes made elsewhere (My Run File, another tab, restore, clear)\n// unless the reader is writing here right now.\nuseEffect(()=>{if(!focused.current&&!timer.current&&stored!==draftRef.current){draftRef.current=stored;setDraft(stored);setStatus(\"idle\");}},[stored]);useEffect(()=>{grow(ref.current);},[draft]);useEffect(()=>{const onResize=()=>grow(ref.current);window.addEventListener(\"resize\",onResize);return()=>window.removeEventListener(\"resize\",onResize);},[]);// Save anything pending if this unmounts mid-edit.\nuseEffect(()=>{return()=>{if(timer.current){clearTimeout(timer.current);timer.current=null;saveAnswer(q.id,draftRef.current);}};},[q.id]);const flush=useCallback(()=>{if(timer.current){clearTimeout(timer.current);timer.current=null;setStatus(saveAnswer(q.id,draftRef.current)?\"saved\":\"error\");}},[q.id]);const onChange=e=>{const v=e.target.value;draftRef.current=v;setDraft(v);setStatus(\"saving\");if(timer.current)clearTimeout(timer.current);timer.current=setTimeout(()=>{timer.current=null;setStatus(saveAnswer(q.id,v)?\"saved\":\"error\");},600);};const onBlur=()=>{focused.current=false;flush();// Whitespace-only answers are removed from storage; show the area as empty too.\nif(draftRef.current.trim()===\"\"&&draftRef.current!==\"\"){draftRef.current=\"\";setDraft(\"\");}};const taId=\"gg-\"+q.id+\"-answer\";const helperId=\"gg-\"+q.id+\"-helper\";let statusText=\"\";if(status===\"saving\")statusText=\"Saving…\";else if(status===\"saved\"&&draft.trim()!==\"\")statusText=\"Saved in this browser\";else if(status===\"error\")statusText=\"Not saved. This browser is blocking site storage.\";return /*#__PURE__*/_jsxs(\"div\",{className:\"nb-prompt\",\"data-question-id\":q.id,children:[/*#__PURE__*/_jsx(\"h4\",{className:\"nb-q\",children:/*#__PURE__*/_jsx(\"label\",{htmlFor:taId,children:q.prompt})}),q.helper?/*#__PURE__*/_jsx(\"p\",{id:helperId,className:\"nb-helper\",children:q.helper}):null,/*#__PURE__*/_jsxs(\"div\",{className:\"nb-paper\",children:[/*#__PURE__*/_jsx(\"textarea\",{id:taId,ref:ref,className:\"nb-ta\",value:draft,onChange:onChange,onFocus:()=>focused.current=true,onBlur:onBlur,\"aria-describedby\":q.helper?helperId:undefined,rows:MIN_LINES,spellCheck:true}),/*#__PURE__*/_jsx(\"div\",{className:\"nb-print\",\"aria-hidden\":\"true\",children:stored?/*#__PURE__*/_jsx(\"p\",{className:\"nb-answer\",children:stored}):/*#__PURE__*/_jsxs(\"div\",{className:\"nb-lines\",children:[/*#__PURE__*/_jsx(\"span\",{}),/*#__PURE__*/_jsx(\"span\",{}),/*#__PURE__*/_jsx(\"span\",{}),/*#__PURE__*/_jsx(\"span\",{}),/*#__PURE__*/_jsx(\"span\",{})]})})]}),/*#__PURE__*/_jsx(\"span\",{className:\"nb-status gg-mono gg-noprint\"+(status===\"error\"?\" is-error\":\"\"),role:\"status\",\"aria-live\":\"polite\",children:statusText})]});}export function NotebookExercise(props){const{exercise:ex,answers,ready}=props;const groups=buildGroups(ex);return /*#__PURE__*/_jsxs(\"div\",{className:\"nb-groups\",\"data-presentation\":\"notebook\",style:{visibility:ready?\"visible\":\"hidden\"},children:[/*#__PURE__*/_jsx(\"style\",{children:NB_CSS}),groups.map(g=>{const labelId=\"gg-\"+ex.id+\"-group-\"+g.key;return /*#__PURE__*/_jsxs(\"div\",{className:\"nb-group\",role:\"group\",\"aria-labelledby\":g.label?labelId:undefined,style:g.accent?{[\"--nb-accent\"]:g.accent}:undefined,children:[g.label?/*#__PURE__*/_jsx(\"h3\",{id:labelId,className:\"nb-label gg-mono\",children:g.label}):null,/*#__PURE__*/_jsx(\"div\",{className:\"nb-prompts\",children:g.questions.map(q=>/*#__PURE__*/_jsx(NotebookPrompt,{question:q,entry:answers[q.id]},q.id))})]},g.key);})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"NOTEBOOK_GROUPS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasNotebook\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NB_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NotebookExercise\":{\"type\":\"reactComponent\",\"name\":\"NotebookExercise\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}