PageSourceSearch

https://structural-learning-platform.vercel.app/_next/static/chunks/7436-af24b7c69f22e98b.js

js structural-learning-platform.vercel.app collected 2026-10-03 07:50:15 UTC 49,055 bytes, 1 lines download raw bytes

1"use strict";!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2d807da3-9c76-4d15-abb2-a56cb54555e9",e._sentryDebugIdIdentifier="sentry-dbid-2d807da3-9c76-4d15-abb2-a56cb54555e9")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7436],{5395:(e,t,n)=>{n.d(t,{MI:()=>i,R8:()=>s});let s="simplify_support";function a(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:null}function i(e,t,n){var i;if("string"!=typeof t)return[];let o=function(e){var t;let n=a(null==(t=a(e))?void 0:t[s]);if(!n||"string"!=typeof n.adaptation_id)return null;let i=Array.isArray(n.instructions)?n.instructions.filter(e=>"string"==typeof e&&e.trim().length>0):[];return{adaptation_id:n.adaptation_id,instructions:i}}(n);if(!o)return[];let r=null==(i=a(e))?void 0:i.adaptations;if(!Array.isArray(r))return[];let l=r.map(a).find(e=>(null==e?void 0:e.id)===o.adaptation_id);return(null==l?void 0:l.type)==="simplify"&&!0===l.is_active&&Array.isArray(l.support_step_ids)&&l.support_step_ids.includes(t)?o.instructions:[]}},22028:(e,t,n)=>{n.d(t,{C2:()=>y,Eo:()=>w,J0:()=>l,Th:()=>v,d6:()=>f,m9:()=>g});var s=n(37335),a=n(74759),i=n(24643),o=n(5395),r=n(382);let l="map_it_preparation",c=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),h=new Set(["mindmap","tree","venn","diamond","timeline","flow","cycle","story","io","fishbone"]);function d(){throw Error("Invalid or oversized Map It preparation. Nothing has been removed.")}function u(e){let t=[{value:e,depth:0}],n=0,s=0;for(;t.length;){let{value:e,depth:a}=t.pop();if((++n>2e4||a>16)&&d(),"string"==typeof e){(s+=e.length)>5e5&&d();continue}if(null===e||"boolean"==typeof e||"number"==typeof e&&Number.isFinite(e))continue;c(e)||Array.isArray(e)||d(),Object.getPrototypeOf(e)!==(Array.isArray(e)?Array.prototype:Object.prototype)&&null!==Object.getPrototypeOf(e)&&d();let i=Reflect.ownKeys(e);for(let n of(i.length>257&&d(),Array.isArray(e)&&(e.length>256||i.length!==e.length+1)&&d(),i)){if(Array.isArray(e)&&"length"===n)continue;("string"!=typeof n||"__proto__"===n||"constructor"===n||"prototype"===n)&&d(),s+=n.length;let i=Object.getOwnPropertyDescriptor(e,n);i.enumerable&&"value"in i||d(),t.push({value:i.value,depth:a+1})}s>5e5&&d()}}function p(e){return c(e)&&"string"==typeof e.organiser&&h.has(e.organiser)&&"string"==typeof e.keyStage&&e.keyStage.length>0&&e.keyStage.length<=80&&!/[\u0000-\u001f]/.test(e.keyStage)}function f(e){try{return e(),{ok:!0}}catch(e){return{ok:!1,reason:e instanceof Error?e.message:String(e)}}}function m(e){u(e),p(e)&&c(e)&&Array.isArray(e.entries)&&!(e.entries.length>24)||d();let t=new Set;for(let n of e.entries){p(n)&&c(n)||d();let e=(0,s.m)([n.organiser,n.keyStage]);
1t.has(e)&&d(),t.add(e),(0,a.V1)(n.worksheet),(n.worksheet.organiser!==n.organiser||"string"!=typeof n.worksheet.wayOfThinking||3!==n.worksheet.steps.length||3!==n.worksheet.run.length)&&d();let i=n.worksheet.learnerResponseQuestions;if(void 0!==i){(!Array.isArray(i)||i.length>64)&&d();let e=new Set;for(let t of i)(!c(t)||!Number.isInteger(t.position)||1>Number(t.position)||Number(t.position)>64||"string"!=typeof t.question||e.has(Number(t.position)))&&d(),e.add(Number(t.position))}}}function w(e){u(e),c(e)||d();let t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;("string"!=typeof e.lessonId||!t.test(e.lessonId)||"string"!=typeof e.stepId||!t.test(e.stepId)||"string"!=typeof e.workspace||!e.workspace.trim()||e.workspace.length>200||"string"!=typeof e.sourceAuthority||!e.sourceAuthority||e.sourceAuthority.length>25e4||!Number.isSafeInteger(e.expectedRevision)||0>Number(e.expectedRevision)||Number(e.expectedRevision)>=Number.MAX_SAFE_INTEGER)&&d(),m(e.prepared)}function g(e,t){let n=c(t.step_definition)?Object.fromEntries(Object.entries(t.step_definition).filter(e=>{let[t]=e;return t!==l&&t!==o.R8&&t!==r.lo})):t.step_definition,a=c(e.subject_matter_context)?(0,i.FN)(e.subject_matter_context):e.subject_matter_context;return(0,s.m)({topic:e.topic,grade:e.grade,subject:e.subject,context:a,requestContext:(0,i.Ke)(a),step:{step_id:t.step_id,type:t.type,title:t.title,description:t.description,..."string"==typeof t.step_objective&&t.step_objective.trim()?{step_objective:t.step_objective.trim()}:{},definition:n}})}function y(e,t){if(e===t)return!0;let n=e=>{try{return{status:"parsed",value:JSON.parse(e)}}catch(e){return{status:"unreadable"}}},a=n(e),i=n(t);if("parsed"!==a.status||"parsed"!==i.status)return!1;let o=a.value,r=i.value;if(!c(o)||!c(r))return!1;let l=o.step,h=r.step;if(!c(l)||!c(h)||Object.prototype.hasOwnProperty.call(l,"step_objective")||!Object.prototype.hasOwnProperty.call(h,"step_objective"))return!1;let{step_objective:d,...u}=h;return(0,s.m)({...r,step:u})===e}function v(e){if(!c(e)||!Object.prototype.hasOwnProperty.call(e,l))return null;let t=e[l];return!f(()=>u(t)).ok||!c(t)||1!==t.version||!Number.isSafeInteger(t.revision)||1>Number(t.revision)||"string"!=typeof t.sourceAuthority||!t.sourceAuthority||t.sourceAuthority.length>25e4||!f(()=>m(t.prepared)).ok?null:t}},24643:(e,t,n)=>{n.d(t,{jm:()=>h,FN:()=>l,Ke:()=>c,RC:()=>d});var s=n(10649);let a=["_generation","_idempotency","_raw","_token","_wizard","_pedagogy"],i=new Set(["_openResourcesReference"]),o=new Set(["_generationStatus","_generationError","_generationAttempt","_generationStartedAt","_generationVersion","_generationCriticalIssues","_generationDiagnostics","_generationTimingMs","_generationErrorSource","_wizardInputs","_shellCreatedAt"]),r=["finalAssessment","checkWhatTheyKnow","priorKnowledgeCheck"];function l(e){let t=function(e){if(!e||"object"!=typeof e)return null;let t={...e};for(let e of Object.keys(t))!o.has(e)&&(i.has(e)||a.some(t=>e.startsWith(t)))&&delete t[e];return t}(e);if(!t)return null;let n={...t};for(let e of r)delete n[e];return delete n.adaptations,n}function c(e){if(!e||"object"!=typeof e)return;let t=l(e);return t?JSON.stringify(t).slice(0,1200):void 0}function h(e){let t=(0,s.iY)(null!=e?e:"");return"EYFS"===t?"EYFS":"KS1"===t?"KS1":"KS3"===t?"KS3":"KS4"===t?"KS4":"KS5"===t?"KS5":"KS2"}function d(e,t){var n,s;let a=t&&"object"==typeof t?l(t):null,i=e=>Array.isArray(e)?e.map(e=>"string"==typeof e?e:e&&"object"==typeof e&&"term"in e?String(e.term):"").map(e=>e.trim()).filter(Boolean):[],o=i(null==a?void 0:a.key_concepts),r=i(null==a?void 0:a.key_vocabulary);return{...(null==e||null==(n=e.title)?void 0:n.trim())?{stepTitle:e.title.trim()}:{},...(null==e||null==(s=e.step_objective)?void 0:s.trim())?{stepObjective:e.step_objective.trim()}:{},...o.length?{keyConcepts:o}:{},...r.length?{keyVocabulary:r}:{}}}},31811:(e,t,n)=>{n.d(t,{y:()=>R});var s=n(83037),a=n(19805),i=n(28397),o=n.n(i),r=n(32270),l=n(20327),c=n(84937),h=n(38895),d=n(66569),u=n(38976),p=n(15277),f=n(16052);let m=(0,f.createServerReference)("40de10375ae006f50ad0348d88d72521f139c3ea75",f.callServer,void 0,f.findSourceMapURL,"regenerateStarterRoundAction");var w=n(24122),g=n(60359),y=n(365);let v={look:["First look: what is there?","Second look: what might have happened here?","One question you would need answered."],odd:["Look at the four.","Pick the odd one out and say why.","Find a different odd one out, on a different reason."],rank:["Pairs. Agree an order.","Defend your top choice to another pair.","Say what would move your top choice down."],whatq:["Write the question this statement answers.","Check the question really is answered.","Now write a harder question it could answer."],away:["Take the part away in your head.","What changes first?","What else does that change, and why?"],two:["Pairs. One takes A, one takes B.","One minute each.","Swap, argue again, then weigh the reasons."],link:["Look at the four things.","Agree one idea that joins them all.","Add a fifth thing that fits the same idea."],claim:["What would you need to see to believe this?","What would make you doubt it?","Write the question that would settle it."],asn:["Always, sometimes or never true?","Give a reason.","Give an example that tests it."]},b=Object.keys(g.ae).filter(e=>"none"!==g.ae[e]);function x(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(!t.hasImage||!w.YH[e].wantsImage)&&b.includes(e)}let k={look:{label:"Another scene",note:"press again for a different one"},odd:{label:"Four new items",note:"press again for another four"},rank:{label:"Four new items",note:"press again for another four"}
1,whatq:{label:"Another statement",note:"asks for one whose question is not obvious"},away:{label:"Another wording",note:"press again for a different one"},two:{label:"Two new positions",note:"press again for another pair"},link:{label:"Four new things",note:"press again for another four"},claim:{label:"Another claim",note:"press again for a different claim"},asn:{label:"Another statement",note:"press again for a different one"}},j="client_timeout";var A=n(82699),S=n(39523);let W=p.bl.say.value,_=p.bl.sayText.value,C=p.bl.sayWash.value,N="color-mix(in srgb, ".concat(W," 60%, ").concat(p.dU.surface.value,")"),q="sl-board-theme";function R(e){var t,n,i,p;let{open:f,onClose:b,register:R,band:I,title:E,topic:P,subject:T,rounds:O,regenerate:L=m,onEditRound:D,initialTheme:K}=e,[M,z]=(0,c.useState)(0),[H,F]=(0,c.useState)([]),[G,U]=(0,c.useState)(null!=K?K:"briefing"===R?"dark":"light"),[B,$]=(0,c.useState)({}),[Y,V]=(0,c.useState)({}),[J,Q]=(0,c.useState)({}),[X,Z]=(0,c.useState)({}),[ee,et]=(0,c.useState)(null),[en,es]=(0,c.useState)(!0),ea=(0,c.useRef)(ee);ea.current=ee;let ei=(0,c.useRef)(new Set),eo=(0,c.useRef)(!1),er=(0,c.useRef)(0),el=(0,c.useRef)(null),ec=(0,c.useRef)(null);(0,d.ty)(f);let eh=O.length,ed="briefing"===R,eu="dark"===G;(0,c.useEffect)(()=>{if(z(0),F([]),$({}),V({}),Q({}),Z({}),et(null),es(!0),ei.current=new Set,eo.current=!1,er.current+=1,f){let e=function(){try{let e=window.localStorage.getItem(q);return"dark"===e||"light"===e?{status:"ok",theme:e}:{status:"unavailable"}}catch(e){return{status:"unavailable"}}}();U(null!=K?K:"ok"===e.status?e.theme:"briefing"===R?"dark":"light")}},[f]),(0,c.useEffect)(()=>{var e;ee&&(null==(e=ec.current)||e.focus())},[ee]);let ep=(0,c.useCallback)(()=>{et(null),z(e=>e>=eh-1?(b(),e):e+1)},[eh,b]),ef=(0,c.useCallback)(()=>{et(null),z(e=>Math.max(0,e-1))},[]);(0,c.useEffect)(()=>{if(!f)return;let e=e=>{let t=e.target;t instanceof Element&&t.closest('input, textarea, select, [contenteditable="true"]')||("ArrowRight"===e.key||"PageDown"===e.key?(e.preventDefault(),ep()):("ArrowLeft"===e.key||"PageUp"===e.key)&&(e.preventDefault(),ef()))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[f,ep,ef]);let em=Math.min(M,Math.max(0,eh-1)),ew=O[em],eg=null!=P?P:E,ey=(0,c.useCallback)(e=>{var t;let n=O[e];if(!n)return null;let s=(0,A.oD)(n.text,n.variants);return(0,g.xc)({patternId:n.pattern.id,topic:eg,text:s[(null!=(t=H[e])?t:0)%s.length],written:n.written})},[O,eg,H]),ev=(0,c.useCallback)(e=>{var t,n;let s=ey(e);if(!s)return null;let a=Y[e]||null==(t=B[e])?void 0:t[B[e].length-1],i=a?{...s,...a.stim?{stim:a.stim}:{},...(null==(n=a.items)?void 0:n.length)?{items:[...a.items]}:{},...a.positions?{positions:a.positions}:{},missing:!1}:s,o=X[e];return void 0!==o?{...i,stim:o,missing:!1}:i},[ey,B,Y,X]),eb=(0,c.useCallback)(async function(e){var t,n,s;let a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=O[e],o=ey(e);if(!i||!o)return;let r=null!=(n=null==(t=ev(e))?void 0:t.items)?n:[],l=er.current;Q(t=>({...t,[e]:{status:"loading"}}));let c=await function(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:35e3;return Promise.race([e,new Promise(e=>{t=setTimeout(()=>e({success:!1,reasonCode:j,requiresUpgrade:!1}),n)})]).finally(()=>clearTimeout(t))}(L({patternId:i.pattern.id,topic:eg,subject:T,band:I,avoid:function(e,t){let n=[];for(let e of t)e.stim&&n.push(e.stim),e.items&&n.push(...e.items),e.positions&&n.push(...e.positions);e.stim&&n.push(e.stim),e.items&&n.push(...e.items),e.positions&&n.push(...e.positions);let s=n.map(e=>e.trim()).filter(Boolean);return s.filter((e,t)=>s.lastIndexOf(e)===t)}(o,[...null!=(s=B[e])?s:[],...void 0!==X[e]?[{stim:X[e]}]:[]]),...r.length?{onBoard:[...r]}:{}}));l===er.current&&(c.success?($(t=>{var n;return{...t,[e]:[...null!=(n=t[e])?n:[],c.content]}}),V(t=>({...t,[e]:!1})),Z(t=>{if(!(e in t))return t;let n={...t};return delete n[e],n}),Q(t=>({...t,[e]:{status:"idle"}}))):a&&(c.requiresUpgrade||"upgrade"===c.reasonCode||"rate_limited"===c.reasonCode||"access_unverified"===c.reasonCode)?(eo.current=!0,Q(t=>({...t,[e]:{status:"idle"}}))):Q(t=>({...t,[e]:{status:"refused",result:c,auto:a}})))},[O,ey,ev,L,eg,T,I,B,X]);if((0,c.useEffect)(()=>{var e,t,n;if(!f||!ew||eo.current)return;let s=ev(em);s&&(e=ew.pattern.id,t=e=>
1x(e,{hasImage:!!ew.image}),n=ei.current.has(em),t(e)&&s.missing&&!n&&(ei.current.add(em),eb(em,!0)))},[f,em,ew,ev,eb]),0===eh||!ew)return null;let{pattern:ex,image:ek}=ew,ej=(0,A.oD)(ew.text,ew.variants),eA=(null!=(n=H[em])?n:0)%ej.length,eS=ev(em),eW=function(e,t,n){var s;let a=(null!=(s=e.stim)?s:"").trim();if(a&&!e.missing)return{hero:a,heroIsStimulus:!0};if("stim"===g.ae[t]&&e.missing)return{hero:v[t][0],heroIsStimulus:!1};if(e.positions){let s=(0,y.vG)(w.YH[t].variants.all(n).q).trim(),a=e.q.trim();return{hero:a===s?"Argue your side for a minute, then swap.":a,heroIsStimulus:!1}}return{hero:e.q,heroIsStimulus:!1}}(eS,ex.id,eg),e_=v[ex.id],eC=x(ex.id,{hasImage:!!ek}),eN=k[ex.id],eq=null!=(i=J[em])?i:{status:"idle"},eR="loading"===eq.status,eI="refused"===eq.status?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e=>t.missing?e:"".concat(e," What is on the board is ready to use.").trim();return e.requiresUpgrade||"upgrade"===e.reasonCode?{title:"Part of Pro",message:t.missing?"Pro writes this round for your topic.":n("Pro writes a fresh set for your topic."),retry:!1,seePro:!0}:"rate_limited"===e.reasonCode?{title:"Not yet",message:"Too many at once. Press again in a minute.",retry:!1}:"access_unverified"===e.reasonCode?{title:"Did not load",message:n("Could not check your account just now."),retry:!0}:/\.items_repeat\b/.test(e.reasonCode)?{title:"No new four for this topic",message:n(""),retry:!1}:/\.(?:stim|position)_repeat\b/.test(e.reasonCode)?{title:"Nothing new for this topic",message:n(""),retry:!1}:e.reasonCode===j||"provider_timeout"===e.reasonCode?{title:"Did not load",message:n("That took too long."),retry:!0}:"provider_not_configured"===e.reasonCode?{title:"Did not load",message:n("Writing is not available here."),retry:!1}:"access"===e.reasonCode?{title:"Signed out",message:"Sign in again to ask for a fresh set.",retry:!1}:{title:"Did not load",message:n("Something went wrong on our side."),retry:!0}}(eq.result,{missing:eS.missing}):null,eE="refused"===eq.status&&!0===eq.auto,eP="whatq"===ex.id&&eW.heroIsStimulus,eT=em>=eh-1,eO=eu?"text-ui":"text-ink-muted",eL=eu?N:_,eD="".concat(eS.items?"Another set":"Another wording"," (").concat(eA+1," of ").concat(ej.length,")"),eK=ed?"Round ".concat(em+1):"Round ".concat(em+1," \xb7 ").concat(ex.mins," min"),eM=()=>{if(!ee)return;let e=ee.text.trim();et(null),e&&e!==eW.hero&&(Z(t=>({...t,[ee.index]:e})),null==D||D(ee.index,{stim:e}))},ez=(0,u.cn)("inline-flex h-12 items-center justify-center rounded-[11px] border px-5 font-semibold disabled:opacity-60",eu?"bg-white/[0.06] text-surface-studio":"bg-white");return(0,s.jsx)(h.lG,{open:f,onOpenChange:e=>!e&&b(),children:(0,s.jsxs)(h.Cf,{ref:el,tabIndex:-1,"data-register":R,"data-theme":G,hideClose:!0,onOpenAutoFocus:e=>{var t;e.preventDefault(),null==(t=el.current)||t.focus()},onEscapeKeyDown:e=>{ea.current&&e.preventDefault()},className:(0,u.cn)("!left-0 !top-0 flex !h-screen !w-screen !max-w-none !translate-x-0 !translate-y-0 flex-col gap-0 overflow-y-auto border-0 p-0 sm:rounded-none lg:overflow-hidden",eu?"bg-ink text-surface-studio":"bg-surface-studio text-ink"),children:[(0,s.jsxs)(h.L3,{className:"sr-only",children:["Lesson starter on the board: ",E]}),(0,s.jsxs)("div",{className:(0,u.cn)("flex flex-col lg:min-h-0 lg:flex-1",eu?"bg-ink":"m-3 rounded-[14px] bg-white sm:m-5"),children:[(0,s.jsxs)("div",{className:(0,u.cn)("flex flex-wrap items-center justify-between gap-3.5 px-5 py-4 sm:px-7",eO),children:[(0,s.jsx)("span",{className:(0,u.cn)("inline-flex items-center gap-1.5 rounded-full border px-3 py-1 text-[13.5px] font-semibold",eu?"border-ink-muted text-surface-studio":"border-ui text-ink bg-white"),"data-testid":"spark-board-name",children:ed?E:"".concat(ex.name," \xb7 ").concat(E)}),(0,s.jsxs)("span",{className:"flex items-center gap-3",children:[(0,s.jsx)("span",{role:"group","aria-label":"Board theme",className:(0,u.cn)("inline-flex h-[38px] overflow-hidden rounded-[11px] border",eu?"border-ink-muted":"border-ui bg-white"),children:["light","dark"].map(e=>{let t=G===e;return(0,s.jsx)("button",{type:"button","aria-pressed":t,onClick:()=>(e=>{U(e);try{window.localStorage.setItem(q,e)}catch(e){}})(e),className:(0,u.cn)("px-3.5 text-[13.5px] font-semibold",t?eu?"bg-white/10 text-surface-studio":"bg-ink/[0.08] text-ink":eO),children:"light"===e?"Light":"Dark"},e)})}),(0,s.jsxs)("button",{type:"button",onClick:b,title:"Back to the activity",className:(0,u.cn)("inline-flex h-[38px] shrink-0 items-center gap-1.5 rounded-[11px] border px-3.5 text-[13.5px] font-semibold",eu?"border-ink-muted text-surface-studio":"border-ui text-ink-muted hover:text-ink bg-white"),children:[(0,s.jsx)(r.A,{className:"h-4 w-4"}),"Exit"]})]})]}),(0,s.jsx)("div",{className:"flex shrink-0 flex-col px-5 py-6 sm:px-10 lg:min-h-0 lg:flex-1 lg:shrink lg:overflow-y-auto",role:"region","aria-live":"polite","aria-label":"Round ".concat(em+1," of ").concat(eh),"data-testid":"spark-board-stage",children:(0,s.jsxs)("div",{className:(0,u.cn)("my-auto grid gap-7",ek&&"lg:grid-cols-[minmax(0,5fr)_minmax(0,6fr)] lg:items-center lg:gap-10"),children:[ek?(0,s.jsx)("figure",{className:"relative h-[34vh] w-full overflow-hidden rounded-[10px] lg:h-[56vh]",children:(0,s.jsx)(a.default,{src:ek.url,alt:null!=(p=ek.caption)?p:"",fill:!0,unoptimized:!0,sizes:"(min-width: 1024px) 40vw, 100vw",className:"object-contain"})}):null,(0,s.jsxs)("div",{className:(0,u.cn)("grid gap-7",!ek&&"justify-items-center text-center"),children:[ee&&ee.index===em?(0,s.jsx)("textarea",{ref:ec,"aria-label":"Edit the statement",value:ee.text,rows:3,onChange:e=>et({index:em,text:e.target.value}),onBlur:eM,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey?"Escape"===e.key&&(e.stopPropagation(),et(null)):(e.preventDefault(),eM())},"data-testid":"spark-board-edit",className:(0,u.cn)("font-display w-full resize-none rounded-[10px] border p-3 text-center leading-[1.15] font-semibold tracking-[-0.02em]",eu?"border-ink-muted bg-white/[0.06] text-surface-studio":"border-ui bg-white text-ink"),style:{fontSize:S.d7.hero,maxWidth:"36ch"}}):(0,s.jsxs)("p",{className:(0,u.cn)("font-display font-semibold leading-[1.15] tracking-[-0.02em] text-balance",!ek&&"mx-auto"),style:ek?{fontSize:"clamp(32px, 3vw, 36px)",maxWidth:"48ch"}:{fontSize:S.d7.hero,maxWidth:"36ch"},"data-testid":"spark-board-hero",children:[eW.hero,eP?(0,s.jsxs)("button",{type:"button",onClick:()=>et({index:em,text:eW.hero}),className:(0,u.cn)("ml-4 inline-flex items-center gap-1.5 align-middle font-sans font-semibold",eO),style:{fontSize:S.d7.control},"data-testid":"spark-board-edit-statement",children:[(0,s.jsx)(l.A,{className:"h-5 w-5","aria-hidden":"true"}),"edit"]}):null]}),(null==(t=eS.items)?void 0:t.length)?(0,s.jsx)("ul",{className:(0,u.cn)("flex flex-wrap gap-2.5",!ek&&"justify-center"),children:eS.items.map((e,t)=>(0,s.jsx)("li",{className:(0,u.cn)("rounded-[10px] px-4 py-3 text-[24px] font-semibold",eu?"bg-ink-muted text-surface-studio":"bg-surface-studio text-ink"),children:e},"".concat(e,"-").concat(t)))}):null,eS.positions?(0,s.jsx)("ul",{className:"grid w-full max-w-4xl gap-3.5","aria-label":"The two positions",children:eS.positions.map((e,t)=>{let{label:n,text:a}=function(e,t){let n=/^\s*([AB])\s*[:.)]\s*([\s\S]+)$/.exec(e);return n?{label:n[1],text:n[2].trim()}:{label:0===t?"A":"B",text:e.trim()}}(e,t);return(0,s.jsxs)("li",{className:(0,u.cn)("grid grid-cols-[48px_1fr] items-center rounded-[14px] px-5 py-4 text-left text-[24px] leading-[1.3] font-medium sm:grid-cols-[64px_1fr] sm:px-7 sm:text-[30px]",eu?"bg-white/[0.06] text-surface-studio":"bg-surface-studio text-ink"),children:[(0,s.jsx)("span",{className:"font-display font-semibold",style:{color:eL},"aria-hidden":"true",children:n}),(0,s.jsxs)("span",{children:[(0,s.jsxs)("span",{className:"sr-only",children:[n,": "]}),a]})]},"".concat(e,"-").concat(t))})}):null,eS.missing&&!eR?(0,s.jsx)("p",{className:(0,u.cn)("max-w-[48ch]",eO),style:{fontSize:S.d7.control}
1,"data-testid":"spark-board-missing",children:g.aO}):null,eC?(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-4","data-testid":"spark-board-fresh",children:[(0,s.jsx)("button",{type:"button",onClick:()=>void eb(em),disabled:eR,"aria-busy":eR,"data-testid":"spark-board-regenerate",className:ez,style:{fontSize:S.d7.control,borderColor:W,color:eL},children:eR?"Writing...":eN.label}),eR||eI?null:(0,s.jsx)("span",{className:eO,style:{fontSize:S.d7.control},children:eN.note}),eI?(0,s.jsxs)("span",{role:"alert",className:eO,style:{fontSize:S.d7.control},"data-testid":"spark-board-refusal",children:[(0,s.jsxs)("span",{className:"font-semibold",children:[eI.title,"."]})," ",eI.message,eI.retry?eE?" Press to try once more.":" Press again to try once more.":""]}):null,(null==eI?void 0:eI.seePro)?(0,s.jsx)(o(),{href:"/upgrade","data-testid":"spark-board-see-pro",className:ez,style:{fontSize:S.d7.control,borderColor:W,color:eL},children:"See Pro"}):null]}):null,ej.length>1?(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:()=>{var e;ej.length<2||((null==(e=B[em])?void 0:e.length)&&V(e=>({...e,[em]:!0})),F(e=>{var t;let n=[...e];return n[em]=((null!=(t=e[em])?t:0)+1)%ej.length,n}))},"data-testid":"spark-board-variant",className:(0,u.cn)(ez,"tabular-nums",eu?"border-ink-muted":"border-ui text-ink"),style:{fontSize:S.d7.control},children:eD})}):null,(0,s.jsx)(S.G3,{lines:e_,meta:eK,dark:eu,accentText:eL,darkAccentText:N,open:en,onToggle:()=>es(e=>!e),testId:"spark-board-task",className:(0,u.cn)(!ek&&"mx-auto",eu?void 0:"bg-surface-studio")})]})]})}),(0,s.jsxs)("div",{className:(0,u.cn)("flex flex-wrap items-center justify-between gap-5 px-5 py-4 sm:px-7",eu?"border-t border-ink-muted":"rounded-b-[14px]"),style:eu?void 0:{background:C},"data-testid":"spark-board-strip",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"font-mono text-[0.6875rem] font-semibold uppercase tracking-[0.11em]",style:{color:eu?N:_},children:"Talk stem"}),(0,s.jsx)("p",{className:(0,u.cn)("text-sm font-semibold",eu?"text-surface-studio":"text-ink"),children:(0,w.uy)(ex.tactic)})]}),(0,s.jsx)("p",{className:"font-display text-[24px] font-medium","data-testid":"spark-board-stems",children:(0,w.wz)(ex,I).join("  ")})]})]}),(0,s.jsxs)("div",{className:"flex shrink-0 flex-col gap-2.5 px-5 py-3 sm:px-7 lg:flex-row lg:items-center",children:[(0,s.jsx)(S.dx,{ariaLabel:"Rounds",dark:eu,accent:W,accentText:_,darkAccentText:N,index:em,onSelect:e=>{et(null),z(e)},stages:O.map((e,t)=>({id:"".concat(e.pattern.id,"-").concat(t),label:ed?"Round ".concat(t+1):e.pattern.name,hint:ed?void 0:"".concat(e.pattern.mins," min"),ariaLabel:ed?"Round ".concat(t+1):"Round ".concat(t+1,": ").concat(e.pattern.name)}))}),(0,s.jsxs)("div",{role:"group","aria-label":"Board controls",className:"flex w-full shrink-0 flex-col gap-2.5 sm:flex-row sm:items-center sm:justify-between lg:w-auto lg:justify-end",children:[(0,s.jsx)(S.s9,{onClick:ef,disabled:0===em,dark:eu,ariaKeyshortcuts:"ArrowLeft"}),(0,s.jsx)(S.S6,{onClick:ep,accent:W,ariaKeyshortcuts:"ArrowRight",children:eT?"Close the board":"Next"})]})]})]})})}},49490:(e,t,n)=>{n.d(t,{MK:()=>l,bj:()=>h,i2:()=>c});var s=n(22028),a=n(87402),i=n(2559),o=n(28023),r=n(382);function l(e,t){var n;let i=t.step_definition;if(!i||"object"!=typeof i||!Object.prototype.hasOwnProperty.call(i,s.J0))return{status:"missing"};let o=(0,s.Th)(i);if(!o||"MapIt"!==t.type)return{status:"invalid",message:"Saved Map It preparation is unavailable. Open the activity to review it."};if(!(0,s.C2)(o.sourceAuthority,(0,s.m9)(e,t)))return{status:"stale",message:"Saved Map It preparation belongs to an earlier lesson version. Open the activity to review it."};let l=o.prepared.entries.find(e=>e.organiser===o.prepared.organiser&&e.keyStage===o.prepared.keyStage);if(!l)return{status:"selection-missing",message:"The selected Map It organiser has no saved material. Open the activity to prepare it."};let c=Math.max(...Object.values(l.worksheet.tiers).map(e=>e.items.length));return(null==(n=l.worksheet.learnerResponseQuestions)?void 0:n.some(e=>e.position>c))?{status:"invalid",message:"A saved learner question refers to an unavailable position. Open the activity to review it."}:{status:"ready",worksheet:l.worksheet,organiserName:a.To[l.organiser].name,keyStage:l.keyStage,revision:o.revision,level:(0,r.MS)(i,l.worksheet)}}function c(e,t){var n;let s=null==t||null==(n=t.topic)?void 0:n.trim();if(!s)return e.steps;let i=(0,a.qz)(e.organiser);return(0,o._0)(i.thinkingAction,s,i.isRanking?e.criterion:void 0,{yearGroup:null==t?void 0:t.yearGroup})}function h(e,t){var n,s,a;let o=[{label:"Question",lines:[e.question]},{label:"Framing",lines:[e.framer]},...e.delivery?[{label:"How they work",lines:[(0,i.pm)(e.delivery).sheetLine]}]:[],{label:"Learner task",lines:c(e,t)},{label:"Teacher guidance",lines:e.run}];void 0!==e.criterion&&o.push({label:"Selected criterion",lines:[e.criterion]}),e.criteria&&o.push({label:"Criteria",lines:e.criteria}),o.push({label:"Material",lines:e.tiers.core.items});let l={yearGroupLabel:null!=(n=null==t?void 0:t.yearGroup)?n:null,keyStage:null!=(s=null==t?void 0:t.keyStage)?s:null};for(let n of(o.push({label:"If a group is stuck",lines:(0,r.H0)({worksheet:e,...l})}
1),o.push({label:"If a group finishes",lines:(0,r.se)({worksheet:e,level:null==t?void 0:t.level,...l})}),null!=(a=e.learnerResponseQuestions)?a:[]))o.push({label:"Learner question for position ".concat(n.position),lines:[n.question]});return o.push(...function(e){if(!e||"object"!=typeof e||Array.isArray(e))return[];let t=[];for(let[s,a]of Object.entries(e)){var n;let e=null!=(n=d[s])?n:p(s);(Array.isArray(a)?a:[a]).forEach((n,s)=>{let i=(function e(t){if("string"==typeof t)return[{text:t}];if("number"==typeof t||"boolean"==typeof t)return[{text:String(t)}];if(Array.isArray(t))return t.flatMap(e);if(!t||"object"!=typeof t)return[];let n=Object.entries(t),s=e=>"name"===e?0:"date"===e?1:"hint"===e?2:3;return n.sort((e,t)=>{let[n]=e,[a]=t;return s(n)-s(a)}).flatMap(t=>{let[n,s]=t;return e(s).map(e=>{var t;return e.label||"name"===n?e:{label:null!=(t=u[n])?t:p(n),text:e.text}})})})(n).map(e=>e.label?"".concat(e.label,": ").concat(e.text):e.text);i.length&&t.push({label:Array.isArray(a)?"".concat(e," ").concat(s+1):e,lines:i})})}return t.length?[{label:"Model answer, for the teacher",lines:["For the teacher. These are the answers, so keep this page back from learners."]},...t]:[]}(e.structure)),o}let d={groups:"Group",poles:"Compared",effect:"Effect",causes:"Cause",process:"Process",inputs:"Input",outputs:"Output",steps:"Step",events:"Event",stages:"Stage"},u={date:"Date",hint:"Prompt"};function p(e){let t=e.replace(/_/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").toLowerCase().trim();return t?"".concat(t[0].toUpperCase()).concat(t.slice(1)):e}},66004:(e,t,n)=>{n.d(t,{o:()=>a});let s={look:["Show one thing. Ask what learners can see.","Ask what it might mean, and why.","Ask for one question they still have."],odd:["Show three or four things.","Ask which is the odd one out, and why.","Ask how a different choice could work."],rank:["Show four things and the ranking question.","Ask pairs to agree an order.","Ask them to defend their top choice."],whatq:["Show an answer without its question.","Ask everyone to write a question it answers.","Check together that the answer fits."],away:["Choose a system the class already knows.","Remove one part. Ask what would change.","Ask what else would change, and why."],two:["Show two different views.","Ask pairs to make the case for one view.","Swap views. Argue again, then weigh the reasons."],link:["Show four things.","Ask pairs to find an idea that links them.","Add a fifth thing and explain how it fits."],claim:["Show a claim for everyone to consider.","Ask what evidence would support or challenge it.","Ask what question would help them check it."],asn:["Show one statement.","Ask: always, sometimes or never true?","Ask for a reason and an example to test it."]};function a(e){return s[e]}},82699:(e,t,n)=>{n.d(t,{lW:()=>a,oD:()=>i});var s=n(24122);let a={kind:"template",variantsFor(e){let{pattern:t,topic:n,band:a}=e;return(0,s.mY)(t,n,a)}};function i(e,t){return[e,...t.filter(t=>{var n,s;let a,i;return!((null!=(n=t.stim)?n:"")===(null!=(s=e.stim)?s:"")&&t.q===e.q&&(a=t.items,i=e.items,(null!=a?a:[]).length===(null!=i?i:[]).length&&(null!=a?a:[]).every((e,t)=>e===(null!=i?i:[])[t])))})]}},87020:(e,t,n)=>{n.d(t,{av:()=>E,Bq:()=>W,ZX:()=>c,mP:()=>S,Y7:()=>j});var s=n(52591);let a=["novel","story","fiction","fairy tale","folk tale","legend","myth","narrative","character","protagonist","plot","chapter","reading comprehension","inference","iron man","charlotte's web","holes","stig of the dump","goodnight mister tom","where the wild things are","gruffalo","matilda","james and the giant peach","fantastic mr fox","bfg","wonder","kensuke","a monster calls","private peaceful","romeo and juliet","macbeth","hamlet","midsummer night","jekyll and hyde","an inspector calls","animal farm","lord of the flies","of mice and men","great expectations","a christmas carol","jane eyre","pride and prejudice","noughts and crosses","highwayman","jabberwocky","macavity"];var i=n(10649),o=n(24122),r=n(365);let l=["form","function","change","perspective","reflection","causation","connection","responsibility"];function c(e){let t=l.indexOf(e);return l[(t+1)%l.length]}let h=["form","function","causation","change","connection","perspective","responsibility","reflection"],d={form:"What are the parts of <topic>, and what is each one like?",function:"What is the job of <topic>, and how does it get done?",causation:"What are the causes behind <topic>, and why did things turn out this way?",change:"What has changed about <topic> over time, and what was there before?",connection:"What links <topic> to other things we know?",perspective:"Who sees <topic> differently, and why?",responsibility:"What is our responsibility with <topic>, and what should we do?",reflection:"How do we know about <topic>, and what is the evidence?"},u={form:"What are the parts of <topic>? What can we see?",function:"What is the job of <topic>?",causation:"What makes <topic> happen, and why?",change:"What has changed about <topic>? What was there before?",connection:"What goes with <topic>? What else is similar?",perspective:"Who likes <topic>, and who does not? Why?",responsibility:"How do we look after <topic>? What should we do?",reflection:"How do we know about <topic>? What did we see?"},p={science:{causation:"Which causes lead to which effects in <topic>, and how could we test them?",change:"What changes in <topic>, and what stays the same?"},maths:{causation:"Why do the rules of <topic> work, and what makes each step true?",change:"What changes in <topic>, and what always stays the same?",perspective:"What different ways can we show <topic>, and which method works best for which problem?",responsibility:"Where do we use <topic> in real life, and what goes wrong if we get it wrong?",reflection:"How do we know an answer in <topic> is right, and how can we prove it?"},"literacy-general":{causation:"How does a reader respond to <topic>, and what causes that effect?",change:"What changes in <topic> across a text or between drafts, and what stays the same?"},arts:{causation:"What inspired <topic>, and which choices shaped the work?",change:"What changes in <topic> across styles, times or drafts, and what stays the same?"},general:{causation:"Which causes lead to which effects in <topic>, and why?"}}
1,f={science:{causation:"What makes things happen in <topic>? How can we find out?",change:"What changes in <topic>? What stays the same?"},maths:{causation:"What rules do we find in <topic>? How can we show them?",change:"What changes in <topic>? What stays the same?",perspective:"What different ways can we show <topic>?",responsibility:"Where do we use <topic> every day?",reflection:"How do we check our answers in <topic>? How do we know they are right?"},"social-studies":{causation:"What happened with <topic>, and why?"},"literacy-fiction":{causation:"What happened with <topic>, and why?"},"literacy-general":{causation:"How do we use <topic> when we read or write? What does that help us do?",change:"What changes in <topic>? What stays the same?"},arts:{causation:"Where do ideas for <topic> come from? Why?",change:"What has changed in <topic>? What stays the same?"},general:{causation:"What makes things happen in <topic>? Why?"}};function m(e){let t=(0,r.Ak)(e);if("question"===t.kind)return{quoted:t.text};let n=(0,o.Kk)(e);if((0,r.RG)(n)||!/[A-Za-z]/.test(n))return{phrase:n};let s=(0,r.Gc)(e);return{quoted:s.charAt(0).toUpperCase()+s.slice(1)}}let w={[d.causation]:"What caused it, and why did things turn out this way?",[p.science.causation]:"Which causes lead to which effects here, and how could we test them?",[p.general.causation]:"Which causes lead to which effects here, and why?",[p.maths.causation]:"Why does this work, and what makes each step true?",[p.maths.reflection]:"How do we know an answer is right here, and how can we prove it?",[f.maths.reflection]:"How do we check our answers? How do we know they are right?"};function g(e,t){var n;let s=m(t);if("phrase"in s)return e.replace(/<topic>/g,s.phrase);let a=null!=(n=w[e])?n:e.replace(/<topic>/g,"this");return"Thinking about '".concat(s.quoted,"': ").concat(a.charAt(0).toLowerCase()+a.slice(1))}let y=/^(?:the\s+)?(causes|effects|impacts?|consequences)(?:\s+and\s+(effects|impacts?|consequences))?\s+of\s+(\S.*)$/i,v={older:{past:{causes:"What caused <topic>, and why did things turn out this way?",effects:"What did <topic> lead to, and why did things turn out this way?",impact:"Who and what did <topic> affect, and how far?",both:"What caused <topic>, and what followed?"},present:{causes:"What causes <topic>, and how do we know?",effects:"What results from <topic>, and how do we know?",impact:"Who and what is affected by <topic>, and how?",both:"What causes <topic>, and what follows?"}},younger:{past:{causes:"What made <topic> happen? Why?",effects:"What happened because of <topic>? Why?",impact:"Who and what was changed by <topic>? How?",both:"What made <topic> happen? What happened next?"},present:{causes:"What makes <topic> happen? Why?",effects:"What happens because of <topic>? Why?",impact:"Who and what is changed by <topic>? How?",both:"What makes <topic> happen? What happens next?"}}},b=/\b(?:wars?|revolution|battle|treaty|empire|reign|invasion|crisis|rebellion|uprising|revolt|fire of|plague|black death|depression|conquest|crusades?|reformation|holocaust|genocide|partition|independence)\b/i,x=/^(how|why|what|when|where|who|which|whose)\s+(?:do|does|did|is|are|was|were|can|could|should|would|will|has|have|had|might|must|may)\s+/;function k(e){return e.toLowerCase().replace(/[?!.]+$/,"").replace(/\s+/g," ").trim()}function j(e){let t=m(e);return(0,r.Ue)("Which angle on ".concat("phrase"in t?e.trim().replace(/[?!.]+$/,""):"'".concat(t.quoted,"'")))}let A=[...Object.values(d),...Object.values(u)].map(e=>{let[t,n]=e.split("<topic>").map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));return{template:e,pattern:new RegExp("^".concat(t,"(.+)").concat(n,"$"))}});function S(e,t){let n=e.trim();for(let{template:a,pattern:i}of A){var s;let l=null==(s=i.exec(n))?void 0:s[1];if(!l||(0,r.RG)(l))continue;let c=null==t?void 0:t.trim();if(!c||!function(e,t){let n=k(e),s=k(t);return!!n&&!!s&&(n===s||n===s.replace(x,"$1 ")||n===k((0,o.Kk)(t))||n===k((0,r.Gc)(t)))}(l,c))break;let h=g(a,c);return h.startsWith("Thinking about ")?h:e}return e}function W(e,t){return(0,r.xH)(S(e,t.topic),t)}let _={science:{function:"Theoretical model vs observational data",causation:"Correlation vs causation",connection:"Reductionist vs holistic explanation",perspective:"Expert consensus vs minority view (when is each right?)",responsibility:"Precaution vs progress (when do we act on uncertain science?)",reflection:"Evidence quality vs strength of conclusion"}
1,"social-studies":{causation:"Short-term vs long-term consequences",change:"Past vs present comparisons",connection:"Local vs global impact",perspective:"Who benefits and who loses",responsibility:"Rights vs responsibilities",reflection:"Expert opinion vs popular belief"},maths:{form:"Abstract representation vs concrete representation",function:"Procedural fluency vs conceptual understanding",connection:"Real-world modelling vs pure mathematics",perspective:"Multiple methods vs the most efficient method",reflection:"Intuition vs formal proof"},"literacy-fiction":{form:"What the text shows vs what the text tells",function:"Author's purpose vs reader's response",causation:"Character motivation vs plot necessity",perspective:"Whose perspective the narrator centres vs whose is silenced",responsibility:"The book's stated message vs what it actually models",reflection:"Literal meaning vs what the text implies (inference)"},"literacy-general":{form:"Form vs meaning (does style change argument?)",function:"Persuasion through logic vs persuasion through emotion",perspective:"Voice vs evidence (which carries more weight?)",responsibility:"What words include vs what words exclude",reflection:"Authority of the writer vs authority of the source"},arts:{form:"Realism vs abstraction",function:"Art for its own sake vs art with a message",change:"Tradition vs innovation in craft",perspective:"Artist's intention vs audience reception",responsibility:"Recognised canon vs underrepresented voices",reflection:"Process vs product, which matters more?"},general:{causation:"Short-term vs long-term consequences",change:"Tradition vs innovation",connection:"Universal rule vs context-dependent judgement",perspective:"Who benefits and who loses",responsibility:"Individual responsibility vs systemic responsibility",reflection:"Expert opinion vs popular belief"}},C={"Theoretical model vs observational data":"what the model says, what we can see","Correlation vs causation":"things that happen together, things that cause each other","Reductionist vs holistic explanation":"one part at a time, the whole thing at once","Expert consensus vs minority view (when is each right?)":"what most experts say, what a few say","Precaution vs progress (when do we act on uncertain science?)":"playing safe, pushing on","Evidence quality vs strength of conclusion":"how good the evidence is, how sure we can be","Short-term vs long-term consequences":"what happened straight away, what happened later","Past vs present comparisons":"then and now","Local vs global impact":"here and everywhere","Who benefits and who loses":"who gained, who lost","Rights vs responsibilities":"what we can do, what we should do","Expert opinion vs popular belief":"what the experts say, what people believe","Abstract representation vs concrete representation":"the symbols, the real things","Procedural fluency vs conceptual understanding":"doing the steps, knowing why they work","Real-world modelling vs pure mathematics":"maths for a real problem, maths for its own sake","Multiple methods vs the most efficient method":"many ways, the quickest way","Intuition vs formal proof":"what feels right, what we can prove","What the text shows vs what the text tells":"what the text shows, what the text tells","Author's purpose vs reader's response":"what the author meant, what the reader feels","Character motivation vs plot necessity":"why the character did it, why the story needed it","Whose perspective the narrator centres vs whose is silenced":"whose story we hear, whose we do not","The book's stated message vs what it actually models":"what the book says, what the book shows","Literal meaning vs what the text implies (inference)":"what it says, what it hints","Form vs meaning (does style change argument?)":"how it is written, what it says","Persuasion through logic vs persuasion through emotion":"winning with reasons, winning with feelings","Voice vs evidence (which carries more weight?)":"a strong voice, strong evidence","What words include vs what words exclude":"who the words let in, who they leave out","Authority of the writer vs authority of the source":"trusting the writer, trusting the source","Realism vs abstraction":"showing it as it is, showing an idea of it","Art for its own sake vs art with a message":"art to enjoy, art with a message","Tradition vs innovation in craft":"the old way, a new way","Artist's intention vs audience reception":"what the artist meant, what people saw","Recognised canon vs underrepresented voices":"the famous names, the voices left out","Process vs product, which matters more?":"the making, the finished piece","Tradition vs innovation":"the old way, a new way","Universal rule vs context-dependent judgement":"one rule for all, it depends","Indiv
1idual responsibility vs systemic responsibility":"what one person should do, what everyone together should do"},N={form:"the places, the people, the things they made and used",function:"what it was for, who did the work, how it got done",causation:"what came before, what set it off, what made it worse or better",change:"what it was like at the start, what it was like at the end, what stayed the same",connection:"other times, other places, other things learners already know",perspective:"the people who gained, the people who lost, the people left out of the story",responsibility:"what was done well, what went wrong, what we would do now",reflection:"the objects, the writing, the pictures that tell us, and what is missing"},q={form:"the words, the sentences, how the text is laid out",function:"what the writer wanted, who it is for, how it gets its point across",perspective:"the writer, the characters, the reader, and the voices we do not hear",reflection:"the words, the quotations, the clues in the text, and what is left unsaid"},R={science:{form:"the parts, the stages, what each one is made of",function:"what it does, what it needs, how it works",causation:"what starts it, what keeps it going, what speeds it up or slows it down",change:"before and after, what makes the change happen, what stays the same",connection:"other processes, other ideas in science, other things learners already know",perspective:"different explanations, what scientists agree on, where they disagree",responsibility:"how it affects people and the planet, what we should do, what to be careful of",reflection:"what we can observe, what we can measure, what tests show, and what we still do not know"},maths:{form:"the numbers, the symbols, the shapes, and what each one stands for",function:"what it is for, when we use it, how the method works",causation:"the rule behind it, why each step is allowed, what would break it",change:"what happens when the numbers change, what always stays the same",connection:"other topics in maths, real problems, other things learners already know",perspective:"different methods, different pictures of the same idea, which is quickest",responsibility:"real problems that need it, what happens when it goes wrong, who relies on the answer",reflection:"checking with another method, drawing it, explaining why it must be true"},"literacy-fiction":q,"literacy-general":q,arts:{form:"the materials, the colours and shapes, the sounds or the movements",function:"what it was made for, who it is for, how the maker did it",perspective:"the maker, the audience, the critics, and the voices left out",reflection:"the finished piece, the sketches and drafts, what people said about it"}},I={Categorise:"learners sort the parts and name what each one is",Sequence:"learners put the stages in order and explain each step",Connect:"learners link causes to effects and say which matters most",Compare:"learners set two sides against each other and weigh them",Rank:"learners rank what matters most and defend the order"};function E(e){let{topic:t,subject:n,yearGroup:o}=e,r=(0,i.lA)(o),l="EYFS"===r||"KS1"===r,c=function(e,t){let n=(t||"").toLowerCase(),s=(e||"").toLowerCase();if(/(maths|math|numeracy|arithmetic|algebra|statistic)/.test(n))return"maths";if(/computer science/.test(n))return"general";if(/social science/.test(n))return"social-studies";if(/(science|biology|chemistry|physics|earth science)/.test(n))return"science";if(/(english|literacy|literature|reading|language arts)/.test(n)){let e=s.replace(/non-?fiction/g,"");return a.some(t=>e.includes(t))?"literacy-fiction":"literacy-general"}return/(\barts?\b|music|drama|dance|design.*technology|\bdt\b)/.test(n)?"arts":/(history|geography|citizenship|politics|sociology|economics|business|social studies|humanities)/.test(n)?"social-studies":"general"}(t,n),w={...l?u:d,...(l?f:p)[c]},x={...N,...R[c]},k=function(e,t){let{younger:n,subject:s,family:a}=t,i=function(e){let t=y.exec(e.trim());if(!t)return null;let[,n,s,a]=t,i=n.toLowerCase();return{concept:s?"causes"===i?"both":"effects":"causes"===i?"causes":i.startsWith("impact")?"impact":"effects",object:a.trim()}}(e);if(!i)return null;let o=m(i.object);if(!("phrase"in o))return null;let r=/\bhistor/i.test(null!=s?s:"")||"literacy-fiction"===a||b.test(i.object);return v[n?"younger":"older"][r?"past":"present"][i.concept].replace(/<topic>/g,o.phrase)}(t,{younger:l,subject:n,family:c}),j=new Set((function(e){switch(e){case"literacy-fiction":return"- Literal meaning vs what the text implies (inference)\n- Author's purpose vs reader's response\n- Character motivation vs plot necessity\n- Descriptive technique X vs Y (what does each one do for the reader?)\n- Whose perspective the narrator centres vs whose is silenced\n- What the text shows vs what the text tells\n- Setting as backdrop vs setting as character\n- The book's stated message vs what it actually models";case"literacy-general":return"- Form vs meaning (does style change argument?)\n- Voice vs evidence (which carries more weight?)\n- Standard vs non-standard register, when is each correct?\n- Persuasion through logic vs persuasion through emotion\n- Authority of the writer vs authority of the source\n- What words include vs what words exclude\n- Clarity vs nuance, when does each matter most?";case"maths":return'- Procedural fluency vs conceptual understanding\n- Intuition vs formal proof\n- Abstract representation vs concrete representation\n- Multiple methods vs the most efficient method\n- Pattern-spotting vs proof of generality\n- Estimation vs exact calculation, when is each right?\n- Real-world modelling vs pure mathematics\n- The "right" answer vs the "right" reasoning';
1case"science":return"- Evidence quality vs strength of conclusion\n- Correlation vs causation\n- Lab-controlled experiment vs real-world phenomenon\n- Theoretical model vs observational data\n- Replicability vs novelty in research\n- Precaution vs progress (when do we act on uncertain science?)\n- Reductionist vs holistic explanation\n- Expert consensus vs minority view (when is each right?)";case"arts":return"- Tradition vs innovation in craft\n- Technical skill vs creative vision\n- Artist's intention vs audience reception\n- Art for its own sake vs art with a message\n- Process vs product, which matters more?\n- Recognised canon vs underrepresented voices\n- Realism vs abstraction\n- Group/ensemble work vs individual artistry";case"social-studies":return"- Who benefits and who loses\n- Past vs present comparisons\n- Individual vs collective responsibility\n- Progress vs tradition\n- Local vs global impact\n- Rights vs responsibilities\n- Short-term vs long-term consequences\n- Economic vs environmental trade-offs\n- Safety vs freedom\n- Expert opinion vs popular belief";default:return"- Who benefits and who loses\n- Tradition vs innovation\n- Individual responsibility vs systemic responsibility\n- Short-term vs long-term consequences\n- Expert opinion vs popular belief\n- Universal rule vs context-dependent judgement"}})(c).split("\n").map(e=>e.trim()).filter(e=>e.startsWith("- ")).map(e=>e.substring(2)));return h.map(e=>{var n;let{organiser:a,blueSkill:i}=s.L6[e],o={lens:e,question:null!=(n="causation"===e?k:null)?n:g(w[e],t),forExample:x[e],whereThisLeads:"Leads to a ".concat(a,", where ").concat(I[i],".")},r=_[c][e];return r&&j.has(r)&&(o.tension=r,o.weighUp=C[r]),o})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.