{"version":3,"file":"TeacherFAQSingleOpen.PraUSKS6.mjs","names":["useId","useSyncExternalStore","useRef","useState","_Fragment"],"sources":["https:/framerusercontent.com/modules/QGZlRGEbnBqd04CQUsmZ/zBrQhJGajf1Db99Cwg3H/wS1fmuoYT.js","https:/framerusercontent.com/modules/sfqTQOx1nDm4VyeDEtXK/p9Vgm9ilGIYPUnlVksA5/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?\"\nconst KEY_FAQ_ORDER=[\"How long does participating\",\"How many students can be in a team\",\"Which of our classes can we share\",\"How will students receive their 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\",\"How will students receive their 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\":{\"withIndependentTeacherFAQ\":{\"type\":\"reactHoc\",\"name\":\"withIndependentTeacherFAQ\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withIndependentTeacherFAQOpen\":{\"type\":\"reactHoc\",\"name\":\"withIndependentTeacherFAQOpen\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withEqualRowHeights\":{\"type\":\"reactHoc\",\"name\":\"withEqualRowHeights\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withTeacherKeyFAQLayout\":{\"type\":\"reactHoc\",\"name\":\"withTeacherKeyFAQLayout\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withKitTeacherFAQ\":{\"type\":\"reactHoc\",\"name\":\"withKitTeacherFAQ\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSingleOpenTeacherFAQ\":{\"type\":\"reactHoc\",\"name\":\"withSingleOpenTeacherFAQ\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withEqualRowHeightsTallFirst\":{\"type\":\"reactHoc\",\"name\":\"withEqualRowHeightsTallFirst\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TeacherFAQSingleOpen.map"],"mappings":"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"}