{"version":3,"file":"TeacherFAQSingleOpen.WVqrtxpV.mjs","names":["useId","useSyncExternalStore","useRef","useState","_Fragment"],"sources":["https:/framerusercontent.com/modules/QGZlRGEbnBqd04CQUsmZ/zBrQhJGajf1Db99Cwg3H/wS1fmuoYT.js","https:/framerusercontent.com/modules/sfqTQOx1nDm4VyeDEtXK/EQlne0GmseQHf61j6LK3/TeacherFAQSingleOpen.js"],"sourcesContent":["// Generated by Framer (7788242)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Rubik-500\",\"GF;Rubik-700\",\"GF;Rubik-700italic\",\"GF;Rubik-500italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Rubik\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Rubik\",url:\"https://fonts.gstatic.com/s/rubik/v31/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-NYi1VU80V4bVkA.woff2\",weight:\"500\"},{cssFamilyName:\"Rubik\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Rubik\",url:\"https://fonts.gstatic.com/s/rubik/v31/iJWZBXyIfDnIV5PNhY1KTN7Z-Yh-4I-1VU80V4bVkA.woff2\",weight:\"700\"},{cssFamilyName:\"Rubik\",openType:true,source:\"google\",style:\"italic\",uiFamilyName:\"Rubik\",url:\"https://fonts.gstatic.com/s/rubik/v31/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8u6FEU1dYPFkJ1O.woff2\",weight:\"700\"},{cssFamilyName:\"Rubik\",openType:true,source:\"google\",style:\"italic\",uiFamilyName:\"Rubik\",url:\"https://fonts.gstatic.com/s/rubik/v31/iJWbBXyIfDnIV7nEt3KSJbVDV49rz8tvE0U1dYPFkJ1O.woff2\",weight:\"500\"}]}];export const css=['.framer-HFJdj .framer-styles-preset-105ai0e:not(.rich-text-wrapper), .framer-HFJdj .framer-styles-preset-105ai0e.rich-text-wrapper h3 { --framer-font-family: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-bold: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-italic: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-60c750b0-211f-4361-829f-7b7bec883aa7); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1679px) and (min-width: 1200px) { .framer-HFJdj .framer-styles-preset-105ai0e:not(.rich-text-wrapper), .framer-HFJdj .framer-styles-preset-105ai0e.rich-text-wrapper h3 { --framer-font-family: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-bold: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-italic: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-60c750b0-211f-4361-829f-7b7bec883aa7); --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-HFJdj .framer-styles-preset-105ai0e:not(.rich-text-wrapper), .framer-HFJdj .framer-styles-preset-105ai0e.rich-text-wrapper h3 { --framer-font-family: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-bold: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-italic: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 17px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-60c750b0-211f-4361-829f-7b7bec883aa7); --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-HFJdj .framer-styles-preset-105ai0e:not(.rich-text-wrapper), .framer-HFJdj .framer-styles-preset-105ai0e.rich-text-wrapper h3 { --framer-font-family: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-bold: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-family-italic: \"Rubik\", \"Rubik Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 500; --framer-letter-spacing: 0em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-60c750b0-211f-4361-829f-7b7bec883aa7); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-HFJdj\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{forwardRef,useEffect,useId,useRef,useState,useSyncExternalStore}from\"react\";// One shared selection for every CMS FAQ item on the Teacher FAQ page.\nlet activeId=null;const listeners=new Set;function subscribe(listener){listeners.add(listener);return()=>{listeners.delete(listener);};}function getSnapshot(){return activeId;}function getServerSnapshot(){return null;}function select(id){if(activeId===id)return;activeId=id;listeners.forEach(listener=>listener());}export function withSingleOpenTeacherFAQ(Component){return /*#__PURE__*/forwardRef(function SingleOpenTeacherFAQ(props,ref){const id=useId();const selected=useSyncExternalStore(subscribe,getSnapshot,getServerSnapshot);useEffect(()=>()=>{if(activeId===id)select(null);},[id]);function onClick(...args){select(activeId===id?null:id);props.onClick?.(...args);}return /*#__PURE__*/_jsx(Component,{...props,ref:ref,variant:selected===id?\"kDT3MNBCo\":\"asWUy_JWM\",onClick:onClick});});}// 22 Oct 2026 (Krish): the Teacher FAQ shows two questions per row. Cards keep their own height, except that a\n// closed card is as tall as the taller closed card beside it (a two-line question makes its neighbour two lines\n// tall too, so a row never has a gap). An opened card grows on its own; its neighbour keeps the row's closed height.\n// Apply to each FAQ grid (the CMS list). Cards are found by their variant name: \"Closed\" / \"Opened\".\nexport function withEqualRowHeights(Component){return equalRows(Component,false);}// 22 Oct 2026 (Krish): on the teacher school pages the two-line questions are paired side by side first, then the\n// one-line ones, so fewer rows mix heights. Display order only (CSS order); the CMS order is untouched, phones (one\n// column) keep the CMS order, and opening a card never reorders anything (closed heights decide).\nexport function withEqualRowHeightsTallFirst(Component){return equalRows(Component,true);}// 23 Oct 2026 (Krish): the key FAQs on the teacher school pages read in this order, but on two columns each row pairs\n// questions of the same length (the two two-line questions side by side, then the one-liners), and the one question\n// longer than all the others (the roundtable one) gets a full-width row of its own at the bottom. Line counts change\n// with the width, so the pairing is worked out on every resize. Phones (one column) simply use this order.\n// Display order only (CSS order); the CMS order, which /teacher-faq uses, is untouched.\n// 23 Oct 2026 (Krish): desktop rows are How long | Team, Eligible classes | Certificates, Cost | Financial aid,\n// Invoice | When (the two two-line questions), then the roundtable question on its own\n// 24 Oct 2026 (Krish): the eligibility question now reads \"Which of our classes can we share the EWC invitation with?\"\n// 26 Oct 2026 (Krish): the certificates question now reads \"Will students receive certificates?\"\nconst KEY_FAQ_ORDER=[\"How long does participating\",\"How many students can be in a team\",\"Which of our classes can we share\",\"Will students receive certificates\",\"How much does it cost\",\"Is financial aid available\",\"Can our school pay\",\"When does the EWC take place\",\"How will my students receive invitations\"];const WIDE_MAX=\"760px\";// 24 Oct 2026 (Krish): on phones and tablets nine questions in a row was too long. Below 1200px only the four a\n// teacher needs before deciding show, in this order, with a \"Show 5 more questions\" button under them that opens\n// the rest in place (they follow on, so nothing above moves). Desktop keeps all nine.\nconst SHORT_FIRST=[\"How long does participating\",\"How much does it cost\",\"When does the EWC take place\",\"Which of our classes can we share\",\"How many students can be in a team\",\"Is financial aid available\",\"Can our school pay\",\"Will students receive certificates\",\"How will my students receive invitations\"];const SHORT_COUNT=4;const SHORT_UP_TO=\"(max-width: 1199.98px)\";export function withTeacherKeyFAQLayout(Component){return equalRows(Component,false,KEY_FAQ_ORDER,true);}const MORE_CSS=`\n.ewc-faq-more { display: none; }\n@media ${SHORT_UP_TO} {\n  .ewc-faq-more {\n    all: unset; box-sizing: border-box; display: flex; align-items: center; justify-content: center; gap: 10px;\n    width: 100%; min-height: 56px; padding: 14px 28px; border-radius: 16px;\n    background: var(--token-c7589b68-96fc-4f5c-b057-b4e9a66670e5, rgb(247, 247, 243));\n    border: 1px solid var(--token-2fb1e847-8a80-44f1-8e64-3683a05023c6, rgb(85, 72, 0)); /* same card + border as the questions */\n    font: 500 17px/1.3 \"Rubik\", \"Rubik Placeholder\", sans-serif; color: rgb(8, 47, 123); cursor: pointer;\n    -webkit-tap-highlight-color: transparent; transition: transform 0.15s ease;\n  }\n  .ewc-faq-more:active { transform: scale(0.99); }\n  .ewc-faq-more:focus-visible { outline: 2px solid rgb(8, 47, 123); outline-offset: -5px; } /* inside: the grid clips outside */\n  .ewc-faq-more[hidden] { display: none; }\n}\n`;function equalRows(Component,tallFirst,pairedOrder,shortList=false){return /*#__PURE__*/forwardRef(function EqualRowHeights(props,ref){const own=useRef(null);const[expanded,setExpanded]=useState(false);const[hiddenCount,setHiddenCount]=useState(0);const expandedRef=useRef(false);expandedRef.current=expanded;const rerun=useRef(()=>{});useEffect(()=>rerun.current(),[expanded]);useEffect(()=>{const grid=own.current;if(!grid||typeof ResizeObserver===\"undefined\")return;const closedHeight=new WeakMap;let frame=0;const cardIn=cell=>cell.querySelector('[data-framer-name=\"Closed\"], [data-framer-name=\"Opened\"]');const update=()=>{if(grid.querySelector(\"[data-ewc-closing]\"))return;// a card is animating shut; it re-runs after\nconst cells=Array.from(grid.children);const cards=cells.map(cardIn);// natural heights, measured without our own min-height\nconst natural=new Map;for(const card of cards){if(!card)continue;card.style.minHeight=\"\";card.style.alignItems=\"\";natural.set(card,card.offsetHeight);if(card.dataset.framerName===\"Closed\")closedHeight.set(card,card.offsetHeight);}if(tallFirst){const twoColumns=new Set(cells.filter(c=>c.getClientRects().length).map(c=>Math.round(c.offsetLeft))).size>1;const heights=cards.map(card=>card?closedHeight.get(card)||0:0);const shortest=Math.min(...heights.filter(h=>h>0));let changed=false;cells.forEach((cell,i)=>{const order=twoColumns&&heights[i]>shortest+8?String(i):twoColumns?String(1e3+i):\"\";if(cell.style.order!==order){cell.style.order=order;changed=true;}});// the grid has moved cards between rows: measure the rows again on the next frame\nif(changed){schedule();return;}}// phones and tablets: the short list (four questions until \"Show more\" is pressed)\nconst short=shortList&&typeof matchMedia!==\"undefined\"&&matchMedia(SHORT_UP_TO).matches;const order=short?SHORT_FIRST:pairedOrder;if(shortList){const rankOf=cell=>{const question=(cell.querySelector(\"h3\")?.textContent||\"\").trim();const i=SHORT_FIRST.findIndex(start=>question.startsWith(start));return i<0?SHORT_FIRST.length:i;};let hidden=0;cells.forEach(cell=>{const hide=short&&!expandedRef.current&&rankOf(cell)>=SHORT_COUNT;if(hide)hidden++;const display=hide?\"none\":\"\";if(cell.style.display!==display)cell.style.display=display;});setHiddenCount(short&&!expandedRef.current?hidden:0);}if(order){// measure every card at column width: the full-width card goes back into a column for a moment\nconst spanBefore=cells.map(cell=>cell.style.gridColumn);cells.forEach(cell=>{cell.style.gridColumn=\"\";cell.style.maxWidth=\"\";cell.style.justifySelf=\"\";});cards.forEach(card=>card&&card.dataset.framerName===\"Closed\"&&closedHeight.set(card,card.offsetHeight));const shown=cells.filter(cell=>cell.getClientRects().length);const twoColumns=new Set(shown.map(cell=>Math.round(cell.offsetLeft))).size>1;const rank=cell=>{const question=(cell.querySelector(\"h3\")?.textContent||\"\").trim();const i=order.findIndex(start=>question.startsWith(start));return i<0?order.length:i;};const placed=cells.map((cell,i)=>({cell,i,height:cards[i]?closedHeight.get(cards[i])||0:0})).sort((a,b)=>rank(a.cell)-rank(b.cell)||a.i-b.i);// questions hidden by the short list go last and take no part in the pairing\nconst items=placed.filter(item=>item.cell.style.display!==\"none\");const tail=placed.filter(item=>item.cell.style.display===\"none\");const same=(a,b)=>Math.abs(a-b)<=8;let wide=null;// 24 Oct 2026 (QA): on the short list (phones and tablets) the questions keep the plain SHORT_FIRST\n// reading order, two per row, so the first four never move when \"Show more\" adds the rest below\n// them; only a lone last question takes the full row\nif(short){if(twoColumns&&items.length%2===1&&items.length>2)wide=items[items.length-1];}else if(twoColumns&&items.length>2){const tallest=Math.max(...items.map(item=>item.height));const top=items.filter(item=>same(item.height,tallest));if(top.length===1)wide=top[0];}let rest=items.filter(item=>item!==wide);const sequence=[];if(twoColumns&&!short){// in reading order, each question takes the next unplaced question of the same length beside it\nwhile(rest.length){const first=rest.shift();sequence.push(first);if(!rest.length)break;let match=rest.findIndex(item=>same(item.height,first.height));// no question of the same length left: the closest length (the first one on a tie)\nif(match<0){match=0;rest.forEach((item,j)=>{if(Math.abs(item.height-first.height)<Math.abs(rest[match].height-first.height))match=j;});}sequence.push(rest.splice(match,1)[0]);}}else sequence.push(...rest);if(wide)sequence.push(wide);sequence.push(...tail);let changed=false;sequence.forEach((item,n)=>{if(item.cell.style.order!==String(n)){item.cell.style.order=String(n);changed=true;}});cells.forEach((cell,i)=>{const span=wide&&cell===wide.cell?\"1 / -1\":\"\";cell.style.gridColumn=span;// 23 Oct 2026 (Krish): the full-width question sits centred, narrower than the two cards\n// above it, so it has some space on either side (on small tablets it simply fills the row)\ncell.style.maxWidth=span?WIDE_MAX:\"\";cell.style.justifySelf=span?\"center\":\"\";if(span!==spanBefore[i])changed=true;});if(changed){schedule();return;}}const rows=new Map;cells.forEach((cell,i)=>{const card=cards[i];if(!card||cell.getClientRects().length===0)return;const top=Math.round(cell.offsetTop);if(!rows.has(top))rows.set(top,[]);rows.get(top).push(card);});rows.forEach(row=>{const height=Math.max(0,...row.map(card=>closedHeight.get(card)||0));// 22 Oct 2026 (Krish): two opened cards in one row are as tall as each other (no gap under the\n// shorter answer). An opened card next to a closed one still grows on its own.\nconst opened=row.filter(card=>card.dataset.framerName===\"Opened\");const openedHeight=Math.max(0,...opened.map(card=>natural.get(card)||0));for(const card of row){const isClosed=card.dataset.framerName===\"Closed\";const stretch=row.length>1&&isClosed;const stretchOpened=opened.length>1&&!isClosed;card.style.minHeight=stretch?height+\"px\":stretchOpened?openedHeight+\"px\":\"\";// the shorter card keeps its question in the middle (the component itself is left as it is)\ncard.style.alignItems=stretch?\"center\":\"\";}});};const schedule=()=>{cancelAnimationFrame(frame);frame=requestAnimationFrame(update);};rerun.current=schedule;const resize=new ResizeObserver(schedule);resize.observe(grid);// a card opening or closing swaps its variant name; CMS items can arrive late\nconst mutation=new MutationObserver(schedule);mutation.observe(grid,{subtree:true,childList:true,attributes:true,attributeFilter:[\"data-framer-name\",\"data-ewc-closing\"]});schedule();return()=>{cancelAnimationFrame(frame);resize.disconnect();mutation.disconnect();};},[]);const showMore=()=>{const grid=own.current;// keyboard users land on the first question that was hidden\nconst before=new Set(grid?Array.from(grid.children).filter(cell=>cell.style.display===\"none\"):[]);setExpanded(true);requestAnimationFrame(()=>requestAnimationFrame(()=>{const first=Array.from(before).sort((a,b)=>Number(a.style.order)-Number(b.style.order))[0];first?.querySelector('[tabindex], [data-framer-name=\"Closed\"]')?.focus({preventScroll:true});}));};const grid=/*#__PURE__*/_jsx(Component,{...props,ref:el=>{own.current=el;if(typeof ref===\"function\")ref(el);else if(ref)ref.current=el;}});if(!shortList)return grid;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:MORE_CSS}}),grid,/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"ewc-faq-more\",hidden:expanded||hiddenCount===0,onClick:showMore,children:[\"Show \",hiddenCount,\" more question\",hiddenCount===1?\"\":\"s\",/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 9l7 7 7-7\",stroke:\"currentColor\",strokeWidth:\"2.4\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})]})]});});}// 22 Oct 2026 (Krish): on /teacher-faq each question opens and closes on its own; opening another question\n// leaves the ones already open as they are. (/faq keeps withSingleOpenTeacherFAQ.)\n// Closing: the shared card hides its answer at once, so on its own it snaps shut (and shows a clipped edge for a\n// moment). Here the card first shrinks smoothly to its closed height while still showing the open layout, and only\n// then switches to \"Closed\". An opened card beside it eases to its own height at the same time.\nconst CLOSE_MS=400;const CLOSE_EASE=\"cubic-bezier(0.44, 0, 0.56, 1)\";const cardSelector='[data-framer-name=\"Closed\"], [data-framer-name=\"Opened\"]';function cardOf(el){if(!el)return null;return el.matches(cardSelector)?el:el.querySelector(cardSelector);}function openedNeighbours(card){let cell=card;while(cell?.parentElement&&getComputedStyle(cell.parentElement).display!==\"grid\")cell=cell.parentElement;const grid=cell?.parentElement;if(!cell||!grid)return[];return Array.from(grid.children).filter(other=>other!==cell&&Math.round(other.offsetTop)===Math.round(cell.offsetTop)).map(other=>other.querySelector('[data-framer-name=\"Opened\"]')).filter(other=>!!other);}export function withIndependentTeacherFAQ(Component){return independentFAQ(Component,false);}// 23 Oct 2026 (Krish): the six key FAQs on the teacher school pages copy kit.com's FAQ (\"Teacher FAQ Accordion (Kit,\n// teacher school pages)\"): each question opens and closes on its own, like /teacher-faq.\nexport function withKitTeacherFAQ(Component){return independentFAQ(Component,false,{open:\"xugKwSdLb\",closed:\"TXA14SF13\",gap:24});}// 22 Oct 2026 (Krish): the fee question on the teacher school pages starts open.\nexport function withIndependentTeacherFAQOpen(Component){return independentFAQ(Component,true);}// Variant ids of the card component: the shared Teacher FAQ Accordion by default; the kit.com-style copy on the\n// teacher school pages passes its own (and its 24px question-to-answer gap).\nconst SHARED_VARIANTS={open:\"kDT3MNBCo\",closed:\"asWUy_JWM\",gap:16};function independentFAQ(Component,startOpen,variants=SHARED_VARIANTS){return /*#__PURE__*/forwardRef(function IndependentTeacherFAQ(props,ref){const[open,setOpen]=useState(startOpen);const own=useRef(null);const closedHeight=useRef(0);const closing=useRef(false);const timer=useRef(0);useEffect(()=>()=>clearTimeout(timer.current),[]);function onClick(...args){props.onClick?.(...args);if(closing.current)return;const card=cardOf(own.current);if(!open){if(card)closedHeight.current=card.offsetHeight;setOpen(true);return;}if(card&&!closedHeight.current){// started open (never measured closed): the closed card is the open one minus its answer and the\n// gap above it (the \"Opened\" variant's Content gap)\nconst answer=card.querySelector('[data-framer-name=\"Answer\"]');if(answer)closedHeight.current=Math.max(0,card.offsetHeight-answer.offsetHeight-variants.gap);}const reduced=typeof matchMedia!==\"undefined\"&&matchMedia(\"(prefers-reduced-motion: reduce)\").matches;if(!card||!closedHeight.current||reduced){setOpen(false);return;}closing.current=true;card.dataset.ewcClosing=\"1\"// withEqualRowHeights waits until the close has finished\n;const from=card.offsetHeight;card.style.minHeight=\"\";card.style.height=from+\"px\";const neighbours=openedNeighbours(card).map(other=>{const current=other.offsetHeight;other.style.minHeight=\"\";const natural=other.offsetHeight;other.style.minHeight=current+\"px\";return{other,natural};});void card.offsetHeight;card.style.transition=`height ${CLOSE_MS}ms ${CLOSE_EASE}`;card.style.height=closedHeight.current+\"px\";for(const{other,natural}of neighbours){other.style.transition=`min-height ${CLOSE_MS}ms ${CLOSE_EASE}`;other.style.minHeight=natural+\"px\";}timer.current=setTimeout(()=>{setOpen(false);requestAnimationFrame(()=>{card.style.transition=\"\";card.style.height=\"\";card.style.minHeight=closedHeight.current+\"px\";for(const{other}of neighbours)other.style.transition=\"\";delete card.dataset.ewcClosing;closing.current=false;});},CLOSE_MS);}// 24 Oct 2026 (QA): keyboard users can open and close each question. The card is already focusable; it now\n// says it is a button and whether it is open, and Enter / Space toggle it (Space no longer scrolls the page).\n// Set on the DOM node because the Framer card does not pass unknown props through.\nconst toggle=useRef(onClick);toggle.current=onClick;useEffect(()=>{const el=own.current;if(!el)return;el.setAttribute(\"role\",\"button\");if(!el.hasAttribute(\"tabindex\"))el.setAttribute(\"tabindex\",\"0\");const key=e=>{if(e.target!==el||e.key!==\"Enter\"&&e.key!==\" \"&&e.key!==\"Spacebar\")return;e.preventDefault();toggle.current();};el.addEventListener(\"keydown\",key);return()=>el.removeEventListener(\"keydown\",key);},[]);useEffect(()=>{own.current?.setAttribute(\"aria-expanded\",open?\"true\":\"false\");},[open]);return /*#__PURE__*/_jsx(Component,{...props,ref:el=>{own.current=el;if(typeof ref===\"function\")ref(el);else if(ref)ref.current=el;},variant:open?variants.open:variants.closed,onClick:onClick});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withIndependentTeacherFAQOpen\":{\"type\":\"reactHoc\",\"name\":\"withIndependentTeacherFAQOpen\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSingleOpenTeacherFAQ\":{\"type\":\"reactHoc\",\"name\":\"withSingleOpenTeacherFAQ\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withTeacherKeyFAQLayout\":{\"type\":\"reactHoc\",\"name\":\"withTeacherKeyFAQLayout\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withIndependentTeacherFAQ\":{\"type\":\"reactHoc\",\"name\":\"withIndependentTeacherFAQ\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withEqualRowHeights\":{\"type\":\"reactHoc\",\"name\":\"withEqualRowHeights\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withEqualRowHeightsTallFirst\":{\"type\":\"reactHoc\",\"name\":\"withEqualRowHeightsTallFirst\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withKitTeacherFAQ\":{\"type\":\"reactHoc\",\"name\":\"withKitTeacherFAQ\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TeacherFAQSingleOpen.map"],"mappings":"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"}