1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cb74a23f-3ea8-4eb5-9a24-e59ac5568ff6",e._sentryDebugIdIdentifier="sentry-dbid-cb74a23f-3ea8-4eb5-9a24-e59ac5568ff6")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4071],{84629:function(e,t,l){l.d(t,{w:function(){return i}});var r=l(73646);function n(e,t,l,n,i,a,s){let c=t.x-e.x,o=t.y-e.y,u=l-Math.abs(c),d=l-Math.abs(o);if(u<=0||d<=0)return null;let f=t.x,h=t.y;if(0===c&&0===o)f+=l;else{let e=Math.sqrt(c*c+o*o),t=c/e,l=o/e,r=Math.min(0!==t?u/Math.abs(t):1/0,0!==l?d/Math.abs(l):1/0);f+=t*r,h+=l*r}let x=n-r.I_-s,p=i-r.I_-s;return{x:f=Math.max(s,Math.min(x,f)),y:h=Math.max(a,Math.min(p,h))}}function i(e,t,l,i,a,s){let c=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o=r.I_+4,u=new Map;for(let e of t)u.set(e.id,{x:e.x,y:e.y});let d=new Map,f=[],h=new Set;for(e.forEach(e=>{f.push([e,0]),h.add(e)});f.length>0;){let[e,r]=f.shift();if(r>=3)continue;let s=u.get(e);if(s)for(let e of t){if(h.has(e.id))continue;let t=n(s,u.get(e.id),o,l,i,a,5);t&&(u.set(e.id,t),d.set(e.id,t),h.add(e.id),f.push([e.id,r+1]))}}let x=new Set(e);d.forEach((e,t)=>x.add(t)),s&&s.forEach(e=>x.add(e));let p=t.map(e=>e.id);for(let t=0;t<3;t++){let t=!1;for(let s=0;s<p.length;s++){let f=p[s],h=u.get(f);for(let m=s+1;m<p.length;m++){let s=p[m];if(!x.has(f)&&!x.has(s))continue;let y=u.get(s),g=y.x-h.x,b=y.y-h.y,v=o-Math.abs(g),C=o-Math.abs(b);if(v<=0||C<=0)continue;let w=e.has(f),j=e.has(s);if(w&&j)continue;let S=l-r.I_-5,k=i-r.I_-5,I=(e,t,l)=>Math.max(t,Math.min(l,e)),M=(e,t)=>{let l=o-Math.abs(t.x-e.x),r=o-Math.abs(t.y-e.y);if(l<=0||r<=0)return t;let n=l=>{let r=I(e.x+l*o,5,S);return o-Math.abs(r-e.x)<=0?{x:r,y:t.y}:null},i=l=>{let r=I(e.y+l*o,a,k);return o-Math.abs(r-e.y)<=0?{x:t.x,y:r}:null},s=t.x>=e.x?1:-1,c=t.y>=e.y?1:-1;for(let e of l<=r?[()=>n(s),()=>n(-s),()=>i(c),()=>i(-c)]:[()=>i(c),()=>i(-c),()=>n(s),()=>n(-s)]){let t=e();if(t)return t}return t};if(w){let e=n(h,y,o,l,i,a,5);e&&(c&&(e=M(h,e)),u.set(s,e),d.set(s,e),x.add(s),t=!0)}else if(j){let e=n(y,h,o,l,i,a,5);e&&(c&&(e=M(y,e)),u.set(f,e),d.set(f,e),x.add(f),t=!0)}else{let e=o/2;if(0===g&&0===b){let t={x:h.x-e,y:h.y},n={x:y.x+e,y:y.y};t.x=Math.max(5,Math.min(l-r.I_-5,t.x)),n.x=Math.max(5,Math.min(l-r.I_-5,n.x)),u.set(f,t),u.set(s,n),d.set(f,t),d.set(s,n)}else{let e=Math.sqrt(g*g+b*b),t=g/e,n=b/e,o=Math.min(0!==t?v/Math.abs(t):1/0,0!==n?C/Math.abs(n):1/0)/2,x=Math.max(5,Math.min(l-r.I_-5,h.x-t*o)),p=Math.max(a,Math.min(i-r.I_-5,h.y-n*o)),m=Math.max(5,Math.min(l-r.I_-5,y.x+t*o)),w=Math.max(a,Math.min(i-r.I_-5,y.y+n*o));if(c){let e=M({x:m,y:w},{x:x,y:p}),t=M({x:e.x,y:e.y},{x:m,y:w});x=e.x,p=e.y,m=t.x,w=t.y}u.set(f,{x:x,y:p}),u.set(s,{x:m,y:w}),d.set(f,{x:x,y:p}),d.set(s,{x:m,y:w})}x.add(f),x.add(s),t=!0}}}if(!t)break}return d}},55407:function(e,t,l){l.d(t,{TE:function(){return i},XK:function(){return a},bI:function(){return n}});var r=l(73646);function n(e,t,l){let r=e.find(e=>e.index===t);return r&&r.letter&&!r.isRevealed?{ejectedLetter:{letter:r.letter,fromIndex:r.index}}:{ejectedLetter:null}}function i(e){if(0===e.length)return[];let t=[],l=[],r=e[0].wordGroup;for(let n of e)n.wordGroup!==r&&(t.push(l),l=[],r=n.wordGroup),l.push(n);l.length>0&&t.push(l);let n=[],i=[],a=0;for(let e of t)a>0&&a+e.length>7&&(n.push({cells:i}),i=[],a=0),i.push(...e),a+=e.length;return i.length>0&&n.push({cells:i}),n}function a(e,t){if(0===e||0===t.length)return r.I_;let l=1;for(let n of t){let t=n.cells.length,i=0;for(let e=1;e<n.cells.length;e++)n.cells[e].wordGroup!==n.cells[e-1].wordGroup&&i++;let a=(e-8*i-8)/(t*r.I_);a<l&&(l=a)}return l>=1?r.I_:Math.floor(r.I_*l)}},73646:function(e,t,l){l.d(t,{I_:function(){return i},KT:function(){return u},Oi:function(){return p},Ps:function(){return s},Sz:function(){return d},Tq:function(){return r},VI:function(){return n},YZ:function(){return x},bg:function(){return h},gF:function(){return a},vp:function(){return m},yq:function(){return f}});let r=["grid","circle"],n=20,i=46,a=8,s=12;function c(e,t,l,r){let n,s,c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=Math.max(1,Math.floor((t-2*a+8)/(i+8))),u=Math.floor(e/o),d=Math.ceil(r/o),f=u<d-1?o:r-(d-1)*o,h=l-c,x=d*i+(d-1)*8,p=h-2*a;return x<=p?(n=c+Math.max(a,(h-x)/2),s=i+8):(n=c+a,s=d>1?(p-i)/(d-1):i),{x:Math.max(0,(t-(f*i+(f-1)*8))/2)+e%o*(i+8),y:n+u*s}}function o(e,t,l,r){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=t/2-i/2,c=n+(l-n)/2-i/2;if(r<=1)return{x:s,y:c};let o=Math.min(Math.min(t,l-n)/2-i/2-a,(i+24)/(2*Math.sin(Math.PI/r))),u=2*Math.PI*e/r-Math.PI/2;
1return{x:s+o*Math.cos(u),y:c+o*Math.sin(u)}}function u(e,t,l,r,n){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"grid",a=e.filter(e=>!r.has(e.id)).length,s="circle"===i?o:c,u=0;return e.map(e=>{if(r.has(e.id))return e;let i=s(u++,t,l,a,n);return{...e,x:i.x,y:i.y}})}function d(e,t,l,r){let n=i+8,s=.5*i,c=(e,t)=>l.some(l=>Math.abs(l.x-e)<s&&Math.abs(l.y-t)<s);if(!c(e,t))return{x:e,y:t};let o=r-i-a;for(let l=0;l<=10;l++){let r=t+l*n;if(l>0&&!c(e,r))return{x:e,y:r};for(let t=1;t<=10;t++){let l=e+t*n;if(l<=o&&!c(l,r))return{x:l,y:r};let i=e-t*n;if(i>=a&&!c(i,r))return{x:i,y:r}}}return{x:e+8,y:t+8}}let f=72,h=.7;function x(e,t,l,r,n){let a=n/2,s=f/2,c=i/2;return{proximity:Math.max(0,1-Math.sqrt(((e-l)/a)**2+((t-r)/s)**2)/(150/s)),isOver:[[e,t],[e-c,t-c],[e+c,t-c],[e-c,t+c],[e+c,t+c],[e,t+c]].some(e=>{let[t,n]=e;return((t-l)/a)**2+((n-r)/s)**2<=1&&n<=r})}}function p(e){for(let t=e.length-1;t>0;t--){let l=Math.floor(Math.random()*(t+1));[e[t],e[l]]=[e[l],e[t]]}return e}function m(e){return e.replace(/[^a-zA-Z]/g,"").toUpperCase()}},98041:function(e,t,l){l.d(t,{Z:function(){return n}});var r=l(2265);function n(e){let t=(0,r.useRef)(e);return t.current=e,t}},18297:function(e,t,l){l.d(t,{J:function(){return a}});var r=l(57437),n=l(43354);l(2265);var i=l(15483);let a=e=>{let{isLoading:t,icon:l,highlightColour:a,fontSize:s,disableAnimation:c,disabled:o,onClick:u,className:d,iconClassName:f,...h}=e;return(0,r.jsx)("button",{...h,"data-shadow-button":!0,className:(0,n.cn)("size-12 font-bold focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-black flex items-center justify-center p-1 font-serif border-[3px] border-black rounded-full transition-all duration-300","active:opacity-50","enabled:hover:scale-[105%] shadow-[3px_3px_0px_0px_black] disabled:opacity-50 disabled:shadow-[3px_3px_0px_0px_rgba(0,0,0,0)]","max-w-full",!o&&a,d),onClick:u,disabled:o||t,"data-sentry-component":"ShadowIconButton","data-sentry-source-file":"ShadowIconButton.tsx",children:(0,r.jsxs)("div",{className:"relative min-w-0 flex",children:[(0,r.jsx)("span",{className:(0,n.cn)("text-black text-center p-[0.14em]",{"opacity-0":t},f),style:{fontSize:s},children:l}),t&&(0,r.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,r.jsx)(i.Z,{size:10,speedMultiplier:.7})})]})})}},39096:function(e,t,l){l.d(t,{Z:function(){return n}});var r=l(57437);function n(e){let{height:t,width:l,shadowColor:n="blue"}=e;return(0,r.jsxs)("svg",{width:l,height:t,viewBox:"0 0 60 65",fill:"none",xmlns:"http://www.w3.org/2000/svg","data-sentry-element":"svg","data-sentry-component":"Logo","data-sentry-source-file":"Logo.tsx",children:[(0,r.jsx)("path",{d:"M7.54688 8.17149C7.54688 5.75546 9.54543 3.79688 12.0108 3.79688H59.6256C62.091 3.79688 64.0895 5.75546 64.0895 8.17149V54.834C64.0895 57.2501 62.091 59.2087 59.6256 59.2087H12.0108C9.54543 59.2087 7.54688 57.2501 7.54688 54.834V8.17149Z",fill:"blue"===n?"#ADD3FF":"#FFFFFF","data-sentry-element":"path","data-sentry-source-file":"Logo.tsx"}),(0,r.jsx)("path",{d:"M3.67188 4.37461C3.67188 1.95858 5.67043 0 8.13577 0H55.7506C58.216 0 60.2145 1.95858 60.2145 4.37461V51.0372C60.2145 53.4532 58.216 55.4118 55.7506 55.4118H8.13577C5.67043 55.4118 3.67188 53.4532 3.67188 51.0372V4.37461Z",fill:"#F5D1FD","data-sentry-element":"path","data-sentry-source-file":"Logo.tsx"}),(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M55.7506 4.08297H8.13577C7.97141 4.08297 7.83818 4.21355 7.83818 4.37461V51.0372C7.83818 51.1982 7.97141 51.3288 8.13577 51.3288H55.7506C55.915 51.3288 56.0482 51.1982 56.0482 51.0372V4.37461C56.0482 4.21355 55.915 4.08297 55.7506 4.08297ZM8.13577 0C5.67043 0 3.67188 1.95858 3.67188 4.37461V51.0372C3.67188 53.4532 5.67043 55.4118 8.13577 55.4118H55.7506C58.216 55.4118 60.2145 53.4532 60.2145 51.0372V4.37461C60.2145 1.95858 58.216 0 55.7506 0H8.13577Z",fill:"black","data-sentry-element":"path","data-sentry-source-file":"Logo.tsx"}),(0,r.jsx)("path",{d:"M56.741 43.4827C51.3683 44.5062 48.2762 42.9727 47.4649 38.8823C47.111 37.0982 46.9706 34.4154 47.0436 30.8339C47.1524 27.2005 47.2019 24.6621 47.1921 23.2189C47.1836 19.9239 47.0802 17.7759 46.8817 16.7751C46.4415 14.5558 45.3777 13.6069 43.6904 13.9283C42.5803 14.1398 41.6435 15.1085 40.8799 16.8346C40.1077 18.5171 39.7751 20.9061 39.8823 24.0017L39.831 43.2586L27.102 47.0237L27.1772 30.6895C27.1884 28.6552 27.1515 26.4945 27.0666 24.2076C26.9816 21.9207 26.9046 20.6032 26.8356 20.255C26.4385 18.2534 25.4852 17.3963 23.9755 17.6839C22.9542 17.8784 22.0352 18.8212 21.2186 20.5122C20.402 22.2031 19.985 24.6308 19.9675 27.7953L19.9828 49.1301L7.12064 52.935L7.25241 17.0084L17.85 13.6349L18.0254 20.4431C18.7138 17.8733 20.0244 15.885 21.9572 14.4782C23.8814 13.0278 26.5086 11.9855 29.8388 11.3511C31.7482 10.9874 33.4151 11.144 34.8396 11.821C36.2642 12.4979 37.323 13.5381 38.0161 14.9415C38.4688 13.2747 39.5636 11.8243 41.3003 10.5903C43.0728 9.30428 45.1357 8.43714 47.489 7.98884C49.8868 7.53208 51.7147 7.45483 52.9728 7.75709C54.2666 8.00738 55.3507 8.47825 56.2252 9.1697C57.7261 10.4643 58.7528 12.5041 59.3052 15.2891C59.849 18.0305 60.0867 22.3657 60.0185 28.2945C59.9493 31.1979 60.0182 33.1718 60.2254 34.2161C60.4239 35.217 60.8722 35.967 61.5702 36.4663C62.3127 36.9571 63.1366 37.1614 64.042 37.0793C63.8914 38.6433 63.1253 40.0086 61.7439 41.1749C60.4068 42.3328 58.7392 43.1021 56.741 43.4827Z",fill:"black","data-sentry-element":"path","data-sentry-source-file":"Logo.tsx"})]})}},8669:function(e,t,l){l.d(t,{Z:function(){return n}});var r=l(57437);function n(e){let{height:t=40,width:l=40}=e;return(0,r.jsx)("svg",{width:l,height:t,viewBox:"0 0 40 40",fill:"none","data-sentry-element":"svg","data-sentry-component":"ScribbleIcon","data-sentry-source-file":"ScribbleIcon.tsx",children:(0,r.jsx)("path",{d:"M11 18.5879C14.1979 17.7315 21.2911 8.41827 24.819 11.6967C26.6179 13.3683 15.4341 21.0046 15.4182 24.3633C15.4085 26.4214 27.3456 17.0731 28.4865 18.236C31.0441 20.8429 23.2043 24.7621 23.418 28.2673C23.5524 30.4719 27.1602 27.0614 28.1183 26.4005",stroke:"black",strokeWidth:"2.7",strokeLinecap:"round","data-sentry-element":"path","data-sentry-source-file":"ScribbleIcon.tsx"})})}},90771:function(e,t,l){l.d(t,{i:function(){return i}});var r=l(57437),n=l(43354);function i(e){let{className:t,direction:l="vertical"}=e;return"vertical"===l?(0,r.jsx)("div",{className:(0,n.cn)("flex items-center",t),children:(0,r.jsx)("span",{className:"h-full w-[2px] bg-mc-light-gray"})}):(0,r.jsx)("span",{className:(0,n.cn)("h-[2px] w-full bg-mc-light-gray",t),"data-sentry-component":"Divider","data-sentry-source-file":"Divider.tsx"})}},7658:function(e,t,l){l.d(t,{Z:function(){return p}});var r=l(57437),n=l(61302),i=l(89719),a=l(18297),s=l(28065),c=l(91832),o=l(8669),u=l(43354),d=l(6612),f=l(90771);function h(e){let{isSelectedIntersectionConfirmed:t,isPuzzleComplete:l,canAnswerCurrentClue:i,canFinishPuzzle:a,hasHintsAvailable:h,isKeyboardToggleable:x,isMultiClue:p,showScribbleSpace:m,onClickShownHint:y,onClickConfirmClue:g,onClickFinishPuzzle:b,onToggleKeyboard:v,onClickExit:C,isExitDisabled:w}=e,{isExpanded:j,toggleExpand:S}=(0,c.A)();if(C){let e=!l&&a;return(0,r.jsxs)("div",{className:"w-full h-full flex flex-row gap-2 rounded-lg",children:[(0,r.jsx)("div",{"aria-label":"Toggle scribble space",className:(0,u.cn)("px-[8px] flex items-center justify-center cursor-pointer",j?"text-mc-pink":"text-black"),onClick:S,children:(0,r.jsx)(o.Z,{})}),(0,r.jsx)(f.i,{}),(0,r.jsx)("div",{className:"flex-1 flex justify-center items-center",children:(0,r.jsx)(n.Z,{className:"w-full",onKeyDown:e=>e.preventDefault(),label:"hints",onClick:y,highlightColour:"bg-mc-yellow text-xl",disabled:!h||t&&!l,disableAnimation:!0})}),(0,r.jsx)(f.i,{}),(0,r.jsx)("div",{className:"flex-1 flex justify-center",children:(0,r.jsx)(n.Z,{className:"w-full",onKeyDown:e=>e.preventDefault(),label:"check",onClick:e?b:g,highlightColour:"bg-mc-green",disabled:l||!i&&!a,disableAnimation:!0})}),(0,r.jsx)(f.i,{}),(0,r.jsx)("div",{className:"flex-1 flex justify-center",children:(0,r.jsx)(s.Z,{className:"w-full",onKeyDown:e=>e.preventDefault(),label:"exit",onClick:C,highlightColour:"bg-mc-blue",variant:"underline",disabled:w})})]})}return(0,r.jsxs)("div",{className:"w-full h-full flex flex-row gap-2 rounded-lg","data-sentry-component":"Bar","data-sentry-source-file":"PuzzleActionBar.tsx",children:[x?(0,r.jsx)("div",{"aria-label":"Toggle keyboard",className:"px-[16px] flex items-center justify-center ".concat(l?"text-mc-gray":"text-black cursor-pointer"),onClick:l?void 0:v,children:(0,r.jsx)(d.A0H,{})}):null,x?(0,r.jsx)(f.i,{}):null,(0,r.jsx)("div",{className:"flex-1 flex justify-center items-center",children:(0,r.jsx)(s.Z,{className:"w-full",onKeyDown:e=>e.preventDefault(),label:"hints",onClick:y,highlightColour:"bg-mc-yellow text-xl",variant:"underline",disabled:!h||t&&!l,"data-sentry-element":"McButton","data-sentry-source-file":"PuzzleActionBar.tsx"})}),p?(0,r.jsx)(f.i,{}):null,p?(0,r.jsx)("div",{className:"flex-1 flex justify-center",children:(0,r.jsx)(n.Z,{className:"w-full",onKeyDown:e=>e.preventDefault(),label:"check",onClick:g,highlightColour:"bg-mc-green",disabled:l||!i,disableAnimation:!0})}):null,(0,r.jsx)(f.i,{"data-sentry-element":"Divider","data-sentry-source-file":"PuzzleActionBar.tsx"}),(0,r.jsx)("div",{className:"flex-1 flex justify-center",children:(0,r.jsx)(s.Z,{className:"w-full",onKeyDown:e=>e.preventDefault(),label:p?"finish":"check it",onClick:b,highlightColour:"bg-mc-pink",variant:"underline",disabled:!a,"data-sentry-element":"McButton","data-sentry-source-file":"PuzzleActionBar.tsx"})}),m?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(f.i,{}),(0,r.jsx)("div",{className:(0,u.cn)("px-[8px] flex items-center justify-center cursor-pointer",j?"text-mc-pink":"text-black"),onClick:S,children:(0,r.jsx)(o.Z,{})})]}):null]})}function x(e){let{showScribbleSpace:t,isSelectedIntersectionConfirmed:l,isPuzzleComplete:n,canFinishPuzzle:s,hasHintsAvailable:u,isMultiClue:d,onClickShownHint:f,onClickFinishPuzzle:h}=e,{isExpanded:x,toggleExpand:p}=(0,c.A)();return(0,r.jsxs)("div",{className:"w-full h-full flex flex-row items-center justify-center gap-[16px]","data-sentry-component":"Buttons","data-sentry-source-file":"PuzzleActionBar.tsx",children:[t?(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(a.J,{"aria-label":"Toggle scribble space",highlightColour:"bg-mc-blue",className:"p-0",iconClassName:"p-0",fontSize:20,onClick:p,icon:(0,r.jsx)(o.Z,{})})}):null,(0,r.jsx)(i.Y,{highlightColour:"bg-mc-yellow",fontSize:20,onKeyDown:e=>e.preventDefault(),label:"hints",onClick:f,disabled:n||!u||l,"data-sentry-element":"ShadowButton","data-sentry-source-file":"PuzzleActionBar.tsx"}),(0,r.jsx)(i.Y,{highlightColour:"bg-mc-pink",fontSize:20,onKeyDown:e=>e.preventDefault(),label:d?"finish":"check",onClick:h,disabled:!s||n,"data-sentry-element":"ShadowButton","data-sentry-source-file":"PuzzleActionBar.tsx"})]})}function p(e){let{style:t,...l}=e;return"bar"===t?(0,r.jsx)(h,{...l}):(0,r.jsx)(x,{...l,"data-sentry-element":"Buttons","data-sentry-component":"PuzzleActionBar","data-sentry-source-file":"PuzzleActionBar.tsx"})}},28862:function(e,t,l){l.d(t,{Z:function(){return N}});var r=l(57437),n=l(2265);let i=e=>e?84:49,a=e=>e?40:0,s=e=>e?a(e)+24:0,c=e=>80+s(e);var o=l(7658),u=l(88972),d=l(91832),f=l(57990),h=l(72463),x=l(8669);function p(){return(0,r.jsx)("div",{className:"w-8 h-8 rounded-full flex items-center justify-center bg-mc-blue","data-sentry-component":"ScribbleSpaceIcon","data-sentry-source-file":"ScribbleSpaceIcon.tsx",children:(0,r.jsx)(x.Z,{"data-sentry-element":"ScribbleIcon","data-sentry-source-file":"ScribbleSpaceIcon.tsx"})})}function m(){let{shuffleTiles:e,toggleExpand:t,layoutMode:l,changeLayoutMode:n}=(0,d.A)();return(0,r.jsxs)("div",{className:"flex items-center justify-between p-4","data-sentry-component":"ScribbleSpaceHeader","data-sentry-source-file":"ScribbleSpaceHeader.tsx",children:[(0,r.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,r.jsx)(p,{"data-sentry-element":"ScribbleSpaceIcon","data-sentry-source-file":"ScribbleSpaceHeader.tsx"}),(0,r.jsxs)("div",{className:"font-sans text-sm font-extrabold leading-none flex flex-col",children:[(0,r.jsx)("span",{children:"Scribble"}),(0,r.jsx)("span",{children:"Space"})]})]}),(0,r.jsxs)("div",{className:"flex flex-row items-center",children:[(0,r.jsxs)("div",{className:"flex flex-row gap-4 items-center",children:[(0,r.jsx)("button",{onClick:e,className:"flex items-center justify-center size-[36px] rounded-full bg-mc-light-gray transition-colors active:bg-mc-off-white p-1",children:(0,r.jsx)(h.mYB,{className:"text-2xl","data-sentry-element":"TbArrowsShuffle","data-sentry-source-file":"ScribbleSpaceHeader.tsx"})}),(0,r.jsx)(y,{mode:l,onChange:n,"data-sentry-element":"LayoutModeToggle","data-sentry-source-file":"ScribbleSpaceHeader.tsx"})]}),(0,r.jsx)("button",{onClick:t,className:"ml-8 p-1 hover:bg-mc-off-white rounded-full transition-colors",children:(0,r.jsx)(f.Fk5,{className:"text-3xl","data-sentry-element":"CgClose","data-sentry-source-file":"ScribbleSpaceHeader.tsx"})})]})]})}function y(e){let{mode:t,onChange:l}=e;return(0,r.jsxs)("div",{className:"flex rounded-full bg-mc-light-gray p-1","data-sentry-component":"LayoutModeToggle","data-sentry-source-file":"ScribbleSpaceHeader.tsx",children:[(0,r.jsx)("button",{onClick:()=>l("grid"),className:"flex items-center justify-center size-7 rounded-full transition-colors ".concat("grid"===t?"bg-white shadow-sm":"hover:bg-mc-off-white"),"aria-label":"Grid layout",children:(0,r.jsx)(h.nOm,{className:"text-2xl","data-sentry-element":"TbLayoutGrid","data-sentry-source-file":"ScribbleSpaceHeader.tsx"})}),(0,r.jsx)("button",{onClick:()=>l("circle"),className:"flex items-center justify-center size-7 rounded-full transition-colors ".concat("circle"===t?"bg-white shadow-sm":"hover:bg-mc-off-white"),"aria-label":"Circle layout",children:(0,r.jsx)(h.z62,{className:"text-2xl","data-sentry-element":"TbCircle","data-sentry-source-file":"ScribbleSpaceHeader.tsx"})})]})}var g=l(98041),b=l(73646);function v(){let{gridAreaHeight:e,overlayRef:t}=(0,d.A)(),l=(0,n.useCallback)(e=>{t.current=e,e&&(e.style.clipPath="ellipse(".concat(50*b.bg,"% ").concat(b.yq/2,"px at 50% 100%)"),e.style.opacity="0")},[t]);return(0,r.jsx)("div",{ref:l,className:"absolute left-0 right-0 bottom-0 pointer-events-none",style:{to
1p:e+4,backgroundColor:"rgba(220, 38, 38, 0.35)",zIndex:0},"data-sentry-component":"ScribbleSpaceClearOverlay","data-sentry-source-file":"ScribbleSpaceClearOverlay.tsx"})}var C=l(43354),w=l(55407);function j(){let{gridAdapter:e,setGridAreaHeight:t,setGridHitTest:l,hoveredGridCell:i,dragLetterFromGrid:a,updateTilePosition:s,dropTileOnGrid:c,setHoveredGridCell:o,gridHitTest:u,selectedItem:f,selectGridCell:h,gridCellRefsRef:x,previewEjectedCell:p,updateEjectionPreview:m,setIsDraggingTile:y,setTrashProximity:g,setIsOverTrash:v,trashRef:j,deleteTile:S,tileContainerRef:k,clearBoardPhase:I,onTrashEnter:M,onTrashLeave:T,onDropWhileArmed:R,tileRefsRef:z}=(0,d.A)(),N=(0,n.useRef)(null),E=(0,n.useMemo)(()=>{var t;return null!==(t=null==e?void 0:e.getCells())&&void 0!==t?t:[]},[e]),P=(0,n.useMemo)(()=>(0,w.TE)(E),[E]),[L,A]=(0,n.useState)(0),F=(0,n.useMemo)(()=>(0,w.XK)(L,P),[L,P]),H=(0,n.useCallback)((e,t)=>{let l=Array.from(x.current.entries()),r=null;for(let[n,i]of l){let l=i.getBoundingClientRect();if(e>=l.left-12&&e<=l.right+12&&t>=l.top-12&&t<=l.bottom+12){let i=E.find(e=>e.index===n);if(null==i?void 0:i.isRevealed)continue;let a=Math.abs(e-(l.left+l.width/2))+Math.abs(t-(l.top+l.height/2));(!r||a<r.dist)&&(r={index:n,rect:l,dist:a})}}return r?{index:r.index,rect:r.rect}:null},[E,x]);(0,n.useEffect)(()=>(l(H),()=>l(null)),[H,l]),(0,n.useEffect)(()=>{if(!N.current){t(0);return}let e=new ResizeObserver(e=>{for(let l of e)t(l.contentRect.height+8),A(l.contentRect.width)});return e.observe(N.current),()=>{e.disconnect(),t(0)}},[t,P.length]);let Z=(0,n.useCallback)(e=>t=>{t?x.current.set(e,t):x.current.delete(e)},[x]),B=(0,n.useRef)(null),_=(0,n.useCallback)((e,t)=>{var l;t.isRevealed||(e.currentTarget.setPointerCapture(e.pointerId),e.preventDefault(),B.current={tileId:-1,cellIndex:t.index,letter:(null===(l=t.letter)||void 0===l?void 0:l.toUpperCase())||"",startX:e.clientX,startY:e.clientY,hasMoved:!1,lastHit:null,initialTilePos:null,lastPos:{x:0,y:0},isOverTrash:!1})},[]),D=(0,n.useCallback)(e=>{let t=B.current;if(!t)return;let l=e.clientX-t.startX,r=e.clientY-t.startY;if(!t.hasMoved){if(5>Math.abs(l)&&5>Math.abs(r))return;if(!t.letter){B.current=null;return}t.hasMoved=!0,y(!0);let n=a(t.cellIndex,e.clientX,e.clientY);if(null===n){B.current=null;return}t.tileId=n;let i=k.current;if(i){let l=i.getBoundingClientRect();t.initialTilePos={x:e.clientX-l.left-b.I_/2,y:e.clientY-l.top-b.I_/2},t.lastPos={...t.initialTilePos}}}if(t.tileId>=0&&t.initialTilePos){let l=k.current;if(l){let r=l.getBoundingClientRect(),n=Math.max(0,Math.min(r.width-b.I_,e.clientX-r.left-b.I_/2)),i=Math.max(0,Math.min(r.height-b.I_,e.clientY-r.top-b.I_/2));t.lastPos={x:n,y:i};let a=z.current.get(t.tileId);a&&(a.style.transition="none",a.style.left="".concat(n,"px"),a.style.top="".concat(i,"px"))}if(u){var n,i,s;let l=u(e.clientX,e.clientY),r=null!==(i=null===(n=t.lastHit)||void 0===n?void 0:n.index)&&void 0!==i?i:null,a=null!==(s=null==l?void 0:l.index)&&void 0!==s?s:null;if(t.lastHit=l,o(a),a!==r){let e=a===t.cellIndex?null:a;m(t.letter,e)}}let r=j.current;if(r){let l=r.getBoundingClientRect(),n=l.left+l.width/2,i=l.top+l.height/2,a=(0,b.YZ)(e.clientX,e.clientY,n,i,l.width);g(a.proximity),v(a.isOver);let s=t.isOverTrash;t.isOverTrash=a.isOver,!s&&a.isOver?M():s&&!a.isOver&&T()}}},[a,u,o,m,j,g,v,y,k,M,T,z]),G=(0,n.useCallback)(()=>{let e=B.current;if(e){if(e.hasMoved&&e.tileId>=0){if(e.isOverTrash&&"armed"===I){m(e.letter,null),S(e.tileId),z.current.delete(e.tileId),R(),o(null),y(!1),g(0),v(!1),B.current=null;return}if(e.isOverTrash){T(),m(e.letter,null),S(e.tileId),o(null),y(!1),g(0),v(!1),B.current=null;return}e.lastHit?c(e.tileId,e.lastHit.index):(m(e.letter,null),s(e.tileId,e.lastPos.x,e.lastPos.y))}else e.hasMoved||h(e.cellIndex);o(null),y(!1),g(0),v(!1),B.current=null}},[c,o,h,s,m,S,y,g,v,I,T,R,z]),O=(0,n.useCallback)(()=>{let e=B.current;e&&(T(),e.hasMoved&&e.tileId>=0&&(m(e.letter,null),s(e.tileId,e.lastPos.x,e.lastPos.y)),o(null),y(!1),g(0),v(!1),B.current=null)},[s,m,o,y,g,v,T]);return 0===P.length?null:(0,r.jsx)("div",{ref:N,"data-scribble-grid":!0,className:"flex flex-col items-center gap-2 px-1 pt-2 pb-3","data-sentry-component":"ScribbleSpaceGrid","data-sentry-source-file":"ScribbleSpaceGrid.tsx",children:P.map((e,t)=>(0,r.jsx)("div",{className:"flex items-center",children:e.cells.map((t,l)=>
1{let n=0===l||e.cells[l-1].wordGroup!==t.wordGroup,a=l===e.cells.length-1||e.cells[l+1].wordGroup!==t.wordGroup,s=l>0&&e.cells[l-1].wordGroup!==t.wordGroup,c=i===t.index,o=!t.isRevealed,u=!!t.letter&&!t.isRevealed,d=(null==f?void 0:f.type)==="grid"&&f.cellIndex===t.index;return(0,r.jsx)("div",{ref:Z(t.index),className:(0,C.cn)("outline-black aspect-square outline -outline-offset-2 outline-4 outline-none flex items-center justify-center font-serif select-none backface-hidden",n&&"rounded-l",a&&"rounded-r",t.isSolvedCrossClue?"bg-mc-green":t.isRevealed?"bg-mc-yellow":c||d?"bg-mc-pink":"bg-white",u&&"cursor-grab"),style:{width:F,height:F,marginLeft:s?8:0,touchAction:o?"none":void 0},onPointerDown:o?e=>_(e,t):void 0,onPointerMove:D,onPointerUp:G,onLostPointerCapture:O,children:t.letter&&(0,r.jsx)("span",{className:"-translate-y-0.5 px-2 select-none pointer-events-none",style:{fontSize:.7*F,visibility:p===t.index?"hidden":void 0},children:t.letter.toLowerCase()})},t.index)})},t))})}let S=n.memo(function(e){let{tile:t,isSelected:l,isDragging:i,tileRefsRef:a,clearBoardPhase:s}=e,c=(0,n.useCallback)(e=>{e?a.current.set(t.id,e):a.current.delete(t.id)},[a,t.id]);return(0,r.jsx)("div",{ref:c,"data-tile-id":t.id,"data-tile-letter":t.letter,className:(0,C.cn)("absolute"," outline-black aspect-square outline -outline-offset-2 outline-4 outline-none flex items-center justify-center font-serif overflow-visible rounded-lg","select-none",l?"bg-mc-pink":"bg-white",i?"cursor-grabbing z-10 animate-wiggle":"cursor-grab","armed"===s&&!i&&"animate-tremble"),style:{width:b.I_,height:b.I_,left:t.x,top:t.y,touchAction:"none",transition:i?"none":"left 0.2s ease, top 0.2s ease, opacity 0.2s ease",scale:i?"110%":void 0,opacity:"armed"!==s||i?void 0:.6},"data-sentry-component":"ScribbleSpaceTileInner","data-sentry-source-file":"ScribbleSpaceTile.tsx",children:(0,r.jsx)("span",{className:"-translate-y-0.5 text-4xl select-none pointer-events-none",children:t.letter.toLowerCase()})})});var k=l(9197);function I(){return(0,r.jsxs)("div",{className:"min-h-0 mx-4 mb-4 mt-auto overflow-y-auto bg-mc-light-gray rounded-lg px-4 py-3 text-sm text-left gap-2 flex flex-col","data-sentry-component":"ScribbleSpaceTipBox","data-sentry-source-file":"ScribbleSpaceTipBox.tsx",children:[(0,r.jsx)("p",{children:"Tap words in the clue or type to add letters. Drag them around to explore the wordplay."}),(0,r.jsxs)("p",{children:["Try the ",(0,r.jsx)(k.i,{"data-sentry-element":"ExtraBold","data-sentry-source-file":"ScribbleSpaceTipBox.tsx",children:"anagram wheel"})," to see what jumps out."]}),(0,r.jsxs)("p",{children:["Drag letters to the ",(0,r.jsx)(k.i,{"data-sentry-element":"ExtraBold","data-sentry-source-file":"ScribbleSpaceTipBox.tsx",children:"trash"})," to delete them. Hold over the ",(0,r.jsx)(k.i,{"data-sentry-element":"ExtraBold","data-sentry-source-file":"ScribbleSpaceTipBox.tsx",children:"trash"})," to clear everything."]})]})}var M=l(6612);function T(){let e;let{isDraggingTile:t,trashProximity:l,isOverTrash:n,trashRef:i,clearBoardPhase:a}=(0,d.A)(),s="clearing"===a,c=1;return"armed"===a||s?(e="rgba(180, 20, 20, 1)",c=1.3):e="charging"===a?"rgba(220, 38, 38, ".concat(.85,")"):n?"rgba(220, 38, 38, 0.85)":"rgba(120, 120, 120, ".concat(Math.max(.18,.5*l),")"),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{ref:i,className:"absolute bottom-0 left-1/2 pointer-events-none",style:{width:"".concat(b.bg*c*100,"%"),height:b.yq*c,borderRadius:"50%",backgroundColor:e,opacity:t||s?1:0,transform:t||s?"translateX(-50%) translateY(50%)":"translateX(-50%) translateY(100%)",transition:"opacity 200ms ease, transform 200ms ease, background-color 150ms ease, width 200ms ease, height 200ms ease"}}),(0,r.jsx)("div",{className:"absolute bottom-0 left-1/2 pointer-events-none flex items-start justify-center",style:{width:"".concat(100*b.bg,"%"),height:b.yq,opacity:t||s?1:0,transform:t||s?"translateX(-50%) translateY(50%)":"translateX(-50%) translateY(100%)",transition:"opacity 200ms ease, transform 200ms ease"},children:(0,r.jsx)(M.lp8,{className:"text-white",style:{marginTop:6,fontSize:.3*b.yq},"data-sentry-element":"FaRegTrashAlt","data-sentry-source-file":"ScribbleSpaceTrash.tsx"})})]})}var R=l(84629);function z(){let{tiles:e,selectedTileId:t,tileContainerRef:l,selectTile:i,deselectGridCell:a,updateTilePosition:s,batchUpdateTilePositions:c,markTileDragged:o,gridHitTest:u,setHoveredGridCell:f,dropTileOnGrid:h,updateEjectionPreview:x,gridAreaHeight:p,setIsDraggingTile:m,setTrashProximity:y,setIsOverTrash:C,trashRef:w,deleteTile:k,tileRefsRef:M,clearBoardPhase:z,onTrashEnter:N,onTrashLeave:E,onDropWhileArmed:P}
1=(0,d.A)(),[L,A]=(0,n.useState)({width:300,height:200}),[F,H]=(0,n.useState)(null),Z=(0,g.Z)(a),B=(0,g.Z)(u),_=(0,g.Z)(p),D=(0,g.Z)(L),G=(0,g.Z)(o),O=(0,g.Z)(s),Y=(0,g.Z)(h),X=(0,g.Z)(x),q=(0,g.Z)(f),K=(0,g.Z)(H),W=(0,g.Z)(m),V=(0,g.Z)(y),U=(0,g.Z)(C),J=(0,g.Z)(w),$=(0,g.Z)(k),Q=(0,g.Z)(c),ee=(0,g.Z)(N),et=(0,g.Z)(E),el=(0,g.Z)(P),er=(0,g.Z)(z),en=(0,n.useRef)(new Map),ei=(0,n.useCallback)(e=>{let t=en.current;if(0===t.size)return;let l=M.current,r=D.current,n=[];l.forEach((e,l)=>{let r=t.get(l);r?n.push({id:l,x:r.x,y:r.y}):n.push({id:l,x:parseFloat(e.style.left)||0,y:parseFloat(e.style.top)||0})}),(0,R.w)(new Set([e]),n,r.width,r.height,_.current,new Set(t.keys()),!0).forEach((l,r)=>{r!==e&&t.set(r,l)}),t.forEach((e,t)=>{G.current(t);let r=l.get(t);r&&(r.style.transition="left 0.2s ease-out, top 0.2s ease-out",r.style.left="".concat(e.x,"px"),r.style.top="".concat(e.y,"px"))}),Q.current(new Map(t)),t.clear()},[Q,D,_,G,M]),ea=(0,n.useRef)(null);return(0,n.useEffect)(()=>{let e=l.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e)A({width:t.contentRect.width,height:t.contentRect.height})});return t.observe(e),()=>t.disconnect()},[l]),(0,n.useEffect)(()=>{let e=l.current;if(e)return e.addEventListener("pointerdown",a),()=>{e.removeEventListener("pointerdown",a)};function t(e){let t=ea.current;if(!t||e.pointerId!==t.pointerId)return;let l=e.clientX-t.pointerX,r=e.clientY-t.pointerY;if(!t.hasMoved){if(5>Math.abs(l)&&5>Math.abs(r))return;t.hasMoved=!0,G.current(t.tileId)}let n=D.current,i=Math.max(5,Math.min(n.width-b.I_-5,t.tileX+l)),a=Math.max(5,Math.min(n.height-b.I_-5,t.tileY+r));t.delta={x:i-t.tileX,y:a-t.tileY},t.tileEl.style.left="".concat(i,"px"),t.tileEl.style.top="".concat(a,"px");let s=M.current,c=en.current,o=[];s.forEach((e,l)=>{if(l===t.tileId)o.push({id:l,x:i,y:a});else{let t=c.get(l);o.push(t?{id:l,x:t.x,y:t.y}:{id:l,x:parseFloat(e.style.left)||0,y:parseFloat(e.style.top)||0})}});let u=new Set(c.keys());(0,R.w)(new Set([t.tileId]),o,n.width,n.height,_.current,u).forEach((e,t)=>{c.set(t,e)}),c.forEach((e,t)=>{let l=s.get(t);if(!l)return;l.style.transition="none";let r=parseFloat(l.style.left)||0,n=parseFloat(l.style.top)||0,i=e.x-r,a=e.y-n;.5>Math.abs(i)&&.5>Math.abs(a)?(l.style.left="".concat(e.x,"px"),l.style.top="".concat(e.y,"px")):(l.style.left="".concat(r+.2*i,"px"),l.style.top="".concat(n+.2*a,"px"))});let d=B.current;if(d){var f,h,x;let l=d(e.clientX,e.clientY),r=null!==(h=null===(f=t.lastHit)||void 0===f?void 0:f.index)&&void 0!==h?h:null,n=null!==(x=null==l?void 0:l.index)&&void 0!==x?x:null;t.lastHit=l,q.current(n),n!==r&&X.current(t.letter,n)}let p=J.current.current;if(p){let l=p.getBoundingClientRect(),r=l.left+l.width/2,n=l.top+l.height/2,i=(0,b.YZ)(e.clientX,e.clientY,r,n,l.width);V.current(i.proximity),U.current(i.isOver);let a=t.isOverTrash;t.isOverTrash=i.isOver,!a&&i.isOver?ee.current():a&&!i.isOver&&et.current()}}function r(e){let l=ea.current;if(!l||e.pointerId!==l.pointerId)return;let i=l.tileX+l.delta.x,a=l.tileY+l.delta.y;if(l.tileEl.removeEventListener("pointermove",t),l.tileEl.removeEventListener("pointerup",r),l.tileEl.removeEventListener("lostpointercapture",n),l.hasMoved&&l.isOverTrash&&"armed"===er.current){X.current(l.letter,null),$.current(l.tileId),M.current.delete(l.tileId),en.current.clear(),el.current(),q.current(null),K.current(null),W.current(!1),V.current(0),U.current(!1),ea.current=null;return}if(l.hasMoved&&l.isOverTrash){et.current(),X.current(l.letter,null),$.current(l.tileId),ei(l.tileId),q.current(null),K.current(null),W.current(!1),V.current(0),U.current(!1),ea.current=null;return}if(l.hasMoved&&l.lastHit)O.current(l.tileId,i,a),Y.current(l.tileId,l.lastHit.index);else if(l.hasMoved){X.current(l.letter,null);let e=_.current;O.current(l.tileId,i,a<e?e:a)}et.current(),ei(l.tileId),q.current(null),K.current(null),W.current(!1),V.current(0),U.current(!1),ea.current=null}function n(){let e=ea.current;if(e){if(et.current(),e.tileEl.removeEventListener("pointermove",t),e.tileEl.removeEventListener("pointerup",r),e.tileEl.removeEventListener("lostpointercapture",n),e.hasMoved){let t=e.tileX+e.delta.x,l=e.tileY+e.delta.y;X.current(e.letter,null);let r=_.current;O.current(e.tileId,t,l<r?r:l)}ei(e.tileId),q.current(null),K.current(null),W.current(!1),V.current(0),U.current(!1),ea.current=null}}function a(e){let l=e.target,a=l.closest("[data-tile-id]");if(!a){l.closest("[data-scribble-grid]")||Z.current();return}let s=Number(a.dataset.tileId),c=a.dataset.tileLetter||"",o=parseFloat(a.style.left)||0,u=parseFloat(a.style.top)||0;a.setPointerCapture(e.pointerId),ea.current={tileId:s,tileEl:a,letter:c,pointerId:e.pointerId,pointerX:e.clientX,pointerY:e.clientY,tileX:o,tileY:u,hasMoved:!1,lastHit:null,delta:{x:0,y:0},isOverTrash:!1},K.current(s),W.current(!0),i(s),a.addEventListener("pointermove",t),a.addEventListener("pointerup",r),a.addEventListener("lostpointercapture",n)}},[i,er,ei,D,$,Z,Y,_,B,G,el,ee,et,K,q,W,U,V,l,M,J,X,O]),(0,r.jsxs)("div",{ref:l,"data-scribble-container":!0,className:"flex-1 flex flex-col relative overflow-hidden touch-none select-none","data-sentry-component":"ScribbleSpace","data-sentry-source-file":"ScribbleSpace.tsx",children:[(0,r.jsx)(j,{"data-sentry-element":"ScribbleSpaceGrid","data-sentry-source-file":"ScribbleSpace.tsx"}),e.map(e=>(0,r.jsx)(S,{tile:e,isSelected:e.id===t,isDragging:e.id===F,tileRefsRef:M,clearBoardPhase:z},e.id)),0===e.length&&(0,r.jsx)(I,{}),(0,r.jsx)(v,{"data-sentry-element":"ScribbleSpaceClearOverlay","data-sentry-source-file":"ScribbleSpace.tsx"}),(0,r.jsx)(T,{"data-sentry-element":"ScribbleSpaceTrash","data-sentry-source-file":"ScribbleSpace.tsx"})]})}function N(e){var t,l;let{clue:a,tip:f,highlights:h,isPuzzleComplete:x,isSelectedIntersectionConfirmed:p,canAnswerCurrentClue:y,canFinishPuzzle:g,hasHintsAvailable:b,isMultiClue:v,isKeyboardToggleable:w,hideActionBar:j,autoHeight:S,showScribbleSpace:k,isScribbleSpaceHost:I=!0,answerStructure:M,actionBar:T,onClickShownHint:R,onClickConfirmClue:N,onClickFinishPuzzle:E,onToggleKeyboard:P,onClickExit:L,isExitDisabled:A}=e,{isExpanded:F,expandedRect:H,clueBoxRef:Z,addLettersFromWord:B}
1=(0,d.A)(),_=i(j),D=s(f),G=c(f),[O,Y]=(0,n.useState)(!1),[X,q]=(0,n.useState)(!1),K=(0,n.useRef)();(0,n.useEffect)(()=>{if(!I){Y(!1),q(!1);return}return F?(Y(!0),q(!1),K.current=requestAnimationFrame(()=>{K.current=requestAnimationFrame(()=>{q(!0)})})):O&&q(!1),()=>{K.current&&cancelAnimationFrame(K.current)}},[F,I]);let W=(0,n.useCallback)(()=>{F||Y(!1)},[F]),V=null!==(l=null===(t=Z.current)||void 0===t?void 0:t.getBoundingClientRect().height)&&void 0!==l?l:100;return(0,r.jsxs)("div",{ref:I?Z:void 0,className:"h-full w-full","data-sentry-component":"PuzzleClueHeader","data-sentry-source-file":"PuzzleClueHeader.tsx",children:[(0,r.jsx)("div",{className:(0,C.cn)("h-full w-full py-2 px-4 bg-white rounded-lg",O&&"invisible"),children:(0,r.jsxs)("div",{className:"flex flex-col h-full w-full justify-center",style:S?void 0:{height:G},children:[(0,r.jsx)("div",{className:"flex flex-1 items-center w-full overflow-hidden",style:S?{minHeight:_}:{height:_},children:(0,r.jsx)(u.Z,{fontSize:v&&!j?16:24,maxHeightPx:_,clue:a,highlights:h,answerStructure:M,"data-sentry-element":"PuzzleHighlightableClue","data-sentry-source-file":"PuzzleClueHeader.tsx"})}),f?(0,r.jsx)("div",{className:"text-xs bg-card p-3 rounded-lg w-full overflow-hidden",style:S?void 0:{maxHeight:D},children:(0,r.jsx)("p",{className:"w-full text-xs",children:f})}):null,j?null:(0,r.jsx)("div",{className:"w-full h-[30px]",children:null!=T?T:(0,r.jsx)(o.Z,{style:"bar",isPuzzleComplete:x,isSelectedIntersectionConfirmed:p,canAnswerCurrentClue:y,isKeyboardToggleable:w,canFinishPuzzle:g,hasHintsAvailable:b,isMultiClue:v,showScribbleSpace:k,onClickShownHint:R,onClickConfirmClue:N,onClickFinishPuzzle:E,onToggleKeyboard:P,onClickExit:L,isExitDisabled:A})})]})}),I&&O&&H&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"fixed inset-x-0 z-40 bg-transparent",style:{top:H.top,height:H.height},onClick:e=>e.stopPropagation()}),(0,r.jsxs)("div",{"data-testid":"scribble-overlay",className:(0,C.cn)("fixed z-50 bg-white rounded-lg flex flex-col overflow-hidden",X&&"shadow-lg"),style:{top:H.top,left:H.left,width:H.width,height:X?H.height:V,transition:"height 300ms ease-out"},onTransitionEnd:W,children:[(0,r.jsx)("div",{className:"overflow-hidden shrink-0",style:{maxHeight:X?60:0,transition:"max-height 300ms ease-out"},children:(0,r.jsx)(m,{})}),(0,r.jsx)("div",{className:"shrink-0 overflow-hidden py-2 px-4",style:{height:X&&S?"auto":V},children:(0,r.jsxs)("div",{className:"flex flex-col h-full",children:[(0,r.jsx)("div",{className:"flex flex-1 items-center overflow-hidden h-[".concat(_,"px]"),children:(0,r.jsx)(u.Z,{fontSize:v&&!j?16:24,maxHeightPx:_,clue:a,highlights:h,answerStructure:M,onWordClick:B})}),j||X?null:(0,r.jsx)("div",{className:"h-[30px] shrink-0",children:null!=T?T:(0,r.jsx)(o.Z,{style:"bar",isPuzzleComplete:x,isSelectedIntersectionConfirmed:p,canAnswerCurrentClue:y,isKeyboardToggleable:w,canFinishPuzzle:g,hasHintsAvailable:b,isMultiClue:v,showScribbleSpace:k,onClickShownHint:R,onClickConfirmClue:N,onClickFinishPuzzle:E,onToggleKeyboard:P,onClickExit:L,isExitDisabled:A})})]})}),(0,r.jsx)(z,{})]})]})]})}},88972:function(e,t,l){l.d(t,{Z:function(){return u}});var r=l(57437),n=l(33270),i=l(79042),a=l(2265);function s(e){let{children:t,contentKey:l,maxHeightPx:n,minFontSize:i,maxFontSize:s,precision:c=.5,className:o,style:u,"aria-label":d}=e,f=(0,a.useRef)(null),h=(0,a.useRef)(null),[x,p]=(0,a.useState)(s),[m,y]=(0,a.useState)(0);return(0,a.useLayoutEffect)(()=>{let e=f.current;if(!e)return;let t=()=>{let t=Math.floor(e.clientWidth);t>0&&y(e=>e!==t?t:e)};t();let l=new ResizeObserver(()=>t());return l.observe(e),()=>l.disconnect()},[]),(0,a.useEffect)(()=>{var e;let t=h.current;if(!t||!m||!n)return;let l=()=>{t.style.width="".concat(m,"px");let e=i,l=s,r=i,a=()=>t.scrollHeight<=n&&t.scrollWidth<=m;for(t.style.fontSize="".concat(s,"px"),a()&&(e=s,r=s);l-e>c;){let n=(e+l)/2;t.style.fontSize="".concat(n,"px"),a()?(r=n,e=n+c):l=n-c}p(Math.max(i,Math.min(r,s)))},r=null===(e=document.fonts)||void 0===e?void 0:e.ready;r&&"function"==typeof r.then?r.then(l).catch(l):l()},[l,m,n,i,s,c]),(0,r.jsxs)("div",{ref:f,className:o,style:{position:"relative",...u},"aria-label":d,role:d?"text":void 0,"data-sentry-component":"AutoFitText","data-sentry-source-file":"AutoFitText.tsx",children:[(0,r.jsx)("div",{ref:h,"aria-hidden":!0,style:{position:"absolute",visibility:"hidden",pointerEvents:"none",whiteSpace:"normal",inset:"0 auto auto 0",transform:"translate(-99999px, -99999px)",contain:"layout style"},children:t}),(0,r.jsx)("div",{style:{fontSize:x},"data-testid":"visible-content",children:t})]})}var c=l(76364),o=l(43354);function u(e){let{className:t,highlights:l,fontSize:u,maxHeightPx:d,clue:f,answerStructure:h,onWordClick:x}=e,p=(0,a.useMemo)(()=>l.filter(e=>e.clueId===f.id),[l,f]),m=(0,a.useCallback)((e,t)=>{let l;let n=[],i="";for(let a=0;a<e.length;a++){let s=t+a,o=p.find(e=>e.highlights.some(e=>e[0]<=s&&e[1]>=s));if((!l&&!o||l&&(null==o?void 0:o.id)===l.id)&&i.length>0)i+=e[a];else{if(i.length>0){let e=l?(0,c.kZ)(l.colour):"";n.push((0,r.jsx)("span",{className:e,children:i},"".concat(t,"-").concat(n.length)))}i=e[a],l=o}}if(i.length>0){let e=l?(0,c.kZ)(l.colour):"";n.push((0,r.jsx)("span",{className:e,children:i},"".concat(t,"-").concat(n.length)))}return n},[p]),y=(0,a.useCallback)((e,t,l)=>{let i=t;return e.split(/(\s+|-)/).map((e,t)=>{let a=i;if(i+=e.length,/^\s+$/.test(e)||"-"===e){let n=m(e,a);return(0,r.jsx)("span",{children:n},"".concat(l,"-space-").concat(t))}let s=m(e,a);return(0,r.jsx)("span",{onClick:x?()=>x(e):void 0,className:(0,o.cn)((0,n.p)(e)&&"whitespace-nowrap",x&&"cursor-pointer hover:bg-mc-off-white/50 rounded-sm transition-colors"),children:s},"".concat(l,"-word-").concat(t))})},[m,x]),g=(0,a.useCallback)(()=>{let{body:e,enumeration:t}=(0,i.a)(f.value),l=y(e,0,"body");return t&&l.push((0,r.jsx)("span",{className:"whitespace-nowrap",children:y(t,e.length,"enumeration")},"enumeration")),l},[f,y])(),b=h?"".concat(f.value," (").concat(h,")"):f.value;return(0,r.jsx)(s,{maxHeightPx:d,minFontSize:10,maxFontSize:u,className:(0,o.cn)("w-full",t),contentKey:f.id,"aria-label":b,"data-sentry-element":"AutoFitText","data-sentry-component":"PuzzleHighlightableClue","data-sentry-source-file":"PuzzleHighlightableClue.tsx",children:(0,r.jsxs)("span",{"aria-hidden":"true",children:[g,"string"==typeof h&&(0,r.jsxs)(r.Fragment,{children:[" ",(0,r.jsxs)("span",{className:"whitespace-nowrap",children:["(",h,")"]})]})]})})}},62414:function(e,t,l){l.d(t,{Z:function(){return n}});var r=l(57437);function n(e){let{description:t}=e;return(0,r.jsx)("p",{role:"status",className:"text-black text-[18px]","data-sentry-component":"PuzzleHintContent","data-sentry-source-file":"PuzzleHintContent.tsx",children:t})}},91832:function(e,t,l){l.d(t,{I:function(){return C},A:function(){return w}});var r=l(57437),n=l(73646);let i="mc-scribble-layout-mode";function a(){try{let e=localStorage.getItem(i);if(e&&n.Tq.includes(e))return e}catch(e){}return"grid"}var s=l(2265);function c(e,t){let l=e.findIndex(e=>"tile"===t.type?"tile"===e.type&&e.id===t.id:"grid"===e.type&&e.cellIndex===t.cellIndex);l>=0&&e.splice(l,1),e.push(t)}function o(e,t){let l=e.findIndex(e=>"tile"===e.type&&e.id===t);l>=0&&e.splice(l,1)}function u(e,t){e.some(e=>"grid"===e.type&&e.cellIndex===t)||e.push({type:"grid",cellIndex:t})}function d(e){for(let t=e.length-1;t>=0;t--)if("tile"===e[t].type)return e[t];return null}let f="ellipse(".concat(50*n.bg,"% ").concat(n.yq/2,"px at 50% 100%)"),h="ellipse(150% 150% at 50% 100%)";var x=l(55407),p=l(84629);let m=()=>{},y={isExpanded:!1,tiles:[],selectedTileId:null,selectedItem:null,expandedRect:null,toggleExpand:m,addLetter:m,addLettersFromWord:m,writeLetterToGrid:m,removeSelectedLetter:m,selectTile:m,selectGridCell:m,deselectGridCell:m,updateTilePosition:m,batchUpdateTilePositions:m,markTileDragged:m,shuffleTiles:m,clearAll:m,layoutMode:"grid",changeLayoutMode:m,restoreTiles:m,gridAdapter:null,setGridAdapter:m,gridAreaHeight:0,setGridAreaHeight:m,gridHitTest:null,setGridHitTest:m,hoveredGridCell:null,setHoveredGridCell:m,dropTileOnGrid:m,dragLetterFromGrid:()=>null,updateEjectionPreview:m,previewEjectedCell:null,gridCellRefsRef:{current:ne
1w Map},tileRefsRef:{current:new Map},isDraggingTile:!1,setIsDraggingTile:m,trashProximity:0,setTrashProximity:m,isOverTrash:!1,setIsOverTrash:m,trashRef:{current:null},deleteTile:m,clearBoardPhase:"idle",isClearingBoard:!1,onTrashEnter:m,onTrashLeave:m,onDropWhileArmed:m,overlayRef:{current:null},clueBoxRef:{current:null},tileContainerRef:{current:null},keyboardRef:m},g=(0,s.createContext)(y);function b(e){let t=new Map;return e.forEach((e,l)=>{t.set(l,{x:parseFloat(e.style.left)||0,y:parseFloat(e.style.top)||0})}),t}function v(e,t){e.forEach((e,l)=>{let r=t.get(l);if(!r)return;let n=r.x-(parseFloat(e.style.left)||0),i=r.y-(parseFloat(e.style.top)||0);1>Math.abs(n)&&1>Math.abs(i)||(e.style.transition="none",e.animate([{transform:"translate(".concat(n,"px, ").concat(i,"px)")},{transform:"translate(0, 0)"}],{duration:200,easing:"ease-out"}).onfinish=()=>e.style.removeProperty("transition"))})}function C(e){let{children:t,skipFilledCells:l=!1}=e,[m,y]=(0,s.useState)(!1),[C,w]=(0,s.useState)([]),[j,S]=(0,s.useState)(null),k=(null==j?void 0:j.type)==="tile"?j.id:null,[I,M]=(0,s.useState)(null),[T,R]=(0,s.use
1State)(0),z=(0,s.useRef)(0);z.current=T;let[N,E]=(0,s.useState)(a),P=(0,s.useRef)(N);P.current=N;let L=(0,s.useRef)(null),[A,F]=(0,s.useState)(null),H=(0,s.useCallback)(e=>{L.current=e,F(()=>e)},[]),[Z,B]=(0,s.useState)(null),_=(0,s.useRef)(new Map),D=(0,s.useRef)(new Map),[G,O]=(0,s.useState)(!1),[Y,X]=(0,s.useState)(0),[q,K]=(0,s.useState)(!1),W=(0,s.useRef)(null),V=(0,s.useRef)(null),U=(0,s.useRef)(0),J=(0,s.useRef)([]),$=(0,s.useRef)(null),Q=(0,s.useRef)([]);Q.current=C;let ee=(0,s.useRef)(new Set),et=(0,s.useRef)(!1),el={setTiles:w,setSelectedItem:S,setHoveredGridCell:B,tilesRef:Q,selectionQueueRef:J,draggedTileIdsRef:ee,nextIdRef:U,tileContainerRef:$,gridAreaHeightRef:z,gridCellRefsRef:_,layoutModeRef:P,clearingRef:et},{expandedRect:er,clueBoxRef:en,keyboardRef:ei}=function(e){let[t,l]=(0,s.useState)(null),r=(0,s.useRef)(null),i=(0,s.useRef)(null),a=(0,s.useRef)(!1);a.current=e;let c=(0,s.useRef)(null),o=(0,s.useCallback)(()=>{if(!r.current)return null;let e=r.current.getBoundingClientRect(),t=i.current?i.current.getBoundingClientRect().height:0,l=Math.max(200,window.innerHeight-t-n.Ps-e.top);return{top:e.top,left:e.left-2,width:e.width+4,height:l}},[]),u=(0,s.useCallback)(e=>{c.current&&(c.current.disconnect(),c.current=null),i.current=e,e?(c.current=new ResizeObserver(()=>{a.current&&l(o())}),c.current.observe(e)):a.current&&l(o())},[o]);return(0,s.useEffect)(()=>{if(!e)return;l(o());let t=()=>l(o());return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[e,o]),{expandedRect:t,clueBoxRef:r,keyboardRef:u}}(m),ea=function(e,t,l){let{setTiles:r,setSelectedItem:i,selectionQueueRef:a,draggedTileIdsRef:u,nextIdRef:f,tileContainerRef:h,gridAreaHeightRef:x,layoutModeRef:m,clearingRef:y}=e,g=(0,s.useCallback)(()=>{var e;let l=h.current;return l?{width:l.clientWidth,height:l.clientHeight}:{width:null!==(e=null==t?void 0:t.width)&&void 0!==e?e:300,height:200}},[t,h]),b=(0,s.useCallback)(e=>{u.current.delete(e),r(t=>t.filter(t=>t.id!==e))},[u,r]),v=(0,s.useCallback)(e=>{let t=h.current;if(!t)return null;let l=e.getBoundingClientRect(),r=t.getBoundingClientRect();return{x:l.left-r.left,y:l.top-r.top}},[h]),C=(0,s.useCallback)(e=>{let t=g();return(0,n.KT)(e,t.width,t.height,u.current,x.current,m.current)},[g,u,x,m]),w=(0,s.useCallback)((e,t)=>{let l=u.current;if(0===l.size)return e;let r=g(),n=e.filter(e=>t.has(e.id)||l.has(e.id)).map(e=>({id:e.id,x:e.x,y:e.y})),i=(0,p.w)(t,n,r.width,r.height,x.current,void 0,!0);return 0===i.size?e:e.map(e=>{let t=i.get(e.id);return t?(u.current.add(e.id),{...e,x:t.x,y:t.y}):e})},[g,u,x]),j=(0,s.useCallback)(e=>{c(a.current,{type:"tile",id:e}),i({type:"tile",id:e})},[a,i]),S=(0,s.useCallback)(e=>{c(a.current,{type:"grid",cellIndex:e}),i({type:"grid",cellIndex:e})},[a,i]),k=(0,s.useCallback)(()=>{(null==l?void 0:l.type)==="grid"&&i(d(a.current))},[l,a,i]),I=(0,s.useCallback)(e=>{if(y.current)return;let t=(0,n.vp)(e);1===t.length&&r(e=>{if(e.length>=n.VI)return e;let l=f.current++;return a.current.push({type:"tile",id:l}),i({type:"tile",id:l}),w(C([...e,{id:l,letter:t,x:0,y:0}]),new Set([l]))})},[y,C,w,f,a,i,r]),M=(0,s.useCallback)(e=>{if(y.current)return;let t=(0,n.vp)(e).split("");0!==t.length&&r(e=>{let l=t.slice(0,n.VI-e.length);if(0===l.length)return e;let r=l.map(e=>({id:f.current++,letter:e,x:0,y:0})),s=r.map(e=>e.id);return a.current.push(...s.map(e=>({type:"tile",id:e}))),i({type:"tile",id:s[s.length-1]}),w(C([...e,...r]),new Set(s))})},[y,C,w,f,a,i,r]),T=(0,s.useCallback)((e,t,l)=>{r(r=>r.map(r=>r.id===e?{...r,x:t,y:l}:r))},[r]),R=(0,s.useCallback)(e=>{0!==e.size&&r(t=>t.map(t=>{let l=e.get(t.id);return l?{...t,x:l.x,y:l.y}:t}))},[r]),z=(0,s.useCallback)(e=>{u.current.add(e)},[u]),N=(0,s.useCallback)(()=>{u.current.clear(),r([]),i(null),a.current=[]},[u,a,i,r]),E=(0,s.useCallback)(e=>{let t=a.current;b(e),o(t,e),(null==l?void 0:l.type)==="tile"&&l.id===e&&i(d(t))},[l,b,a,i]);return{removeTile:b,posRelativeToContainer:v,getContainerDimensions:g,applyLayout:C,addLetter:I,addLettersFromWord:M,updateTilePosition:T,batchUpdateTilePositions:R,markTileDragged:z,clearAll:N,deleteTile:E,selectTile:j,selectGridCell:S,deselectGridCell:k}}(el,er,j),es=function(e,t,l,r,i){let{tilesRef:a,clearingRef:c}=e,{clearAll:o}
1=t,[u,d]=(0,s.useState)("idle"),x=(0,s.useRef)("idle"),p=(0,s.useRef)(null),m=(0,s.useRef)(null),y=(0,s.useRef)(0),g=(0,s.useCallback)(e=>{x.current=e,c.current="clearing"===e,d(e)},[c]),b=(0,s.useCallback)(()=>{null!==p.current&&(clearTimeout(p.current),p.current=null),null!==m.current&&(cancelAnimationFrame(m.current),m.current=null);let e=r.current;e&&(e.style.backgroundColor="",e.style.width="".concat(100*n.bg,"%"),e.style.height="".concat(n.yq,"px"));let t=i.current;t&&(t.getAnimations().forEach(e=>e.cancel()),t.style.clipPath=f,t.style.opacity="0")},[r,i]),v=(0,s.useCallback)(()=>{y.current=performance.now(),m.current=requestAnimationFrame(function e(){let t=Math.min(1,(performance.now()-y.current)/900),l=r.current;if(l){l.style.backgroundColor="rgba(".concat(Math.round(220-40*t),", ").concat(Math.round(38-18*t),", ").concat(Math.round(38-18*t),", ").concat(.85+.15*t,")");let e=1+.3*t;l.style.width="".concat(n.bg*e*100,"%"),l.style.height="".concat(n.yq*e,"px")}t<1&&"charging"===x.current&&(m.current=requestAnimationFrame(e))})},[r]),C=(0,s.useCallback)(()=>{let e=a.current,t=l.current,s=r.current;if(0===e.length||!s){setTimeout(()=>{let e=i.current;e&&(e.getAnimations().forEach(e=>e.cancel()),e.style.clipPath=f,e.style.opacity="0"),o(),g("idle")},0);return}let c=s.closest("[data-scribble-container]"),u=null==c?void 0:c.getBoundingClientRect(),d=s.getBoundingClientRect(),x=u?d.left+d.width/2-u.left:d.left+d.width/2,p=u?d.top-u.top:d.top,m=e.map(e=>({tile:e,el:t.get(e.id),dist:Math.hypot(e.x-x,e.y-p)})).filter(e=>e.el).sort((e,t)=>e.dist-t.dist);if(0===m.length){o(),g("idle");return}let y=(m.length-1)*40+300,b=0,v=i.current;v&&(v.getAnimations().forEach(e=>e.cancel()),v.animate([{clipPath:h,opacity:1},{clipPath:f,opacity:0}
1],{duration:y,easing:"ease-in",fill:"forwards"})),m.forEach((e,t)=>{let{el:l,tile:r}=e;if(!l)return;let a=""!==l.style.left?parseFloat(l.style.left):r.x,s=""!==l.style.top?parseFloat(l.style.top):r.y,c=x-a-n.I_/2;l.style.transition="none";let u=l.animate([{transform:"translate(0, 0) scale(1)",opacity:.6},{transform:"translate(".concat(c,"px, ").concat(p-s,"px) scale(0)"),opacity:0}],{duration:300,delay:40*t,easing:"ease-in",fill:"forwards"}),d=()=>{if(++b===m.length){let e=i.current;e&&(e.getAnimations().forEach(e=>e.cancel()),e.style.clipPath=f,e.style.opacity="0"),o(),g("idle")}};u.onfinish=d,u.oncancel=d})},[a,l,r,i,o,g]);return{clearBoardPhase:u,isClearingBoard:"clearing"===u,clearingRef:c,onTrashEnter:(0,s.useCallback)(()=>{if("idle"!==x.current||a.current.length<2)return;let e=i.current;e&&e.getAnimations().forEach(e=>e.cancel()),g("charging"),v(),p.current=setTimeout(()=>{p.current=null,null!==m.current&&(cancelAnimationFrame(m.current),m.current=null);let e=i.current;e&&(e.getAnimations().forEach(e=>e.cancel()),e.style.opacity="1",e.animate([{clipPath:f},{clipPath:h}],{duration:200,easing:"ease-out",fill:"forwards"})),g("armed")},900)},[a,g,v,i]),onTrashLeave:(0,s.useCallback)(()=>{let e=x.current;("charging"===e||"armed"===e)&&(b(),g("idle"))},[b,g]),onDropWhileArmed:(0,s.useCallback)(()=>{"armed"===x.current&&(g("clearing"),C())},[g,C])}}(el,ea,D,W,V),ec=(0,s.useRef)(ea.getContainerDimensions);ec.current=ea.getContainerDimensions;let eo=function(e,t,l){let{setTiles:r,draggedTileIdsRef:i,nextIdRef:a,gridCellRefsRef:c,gridAreaHeightRef:o}=e,{removeTile:u,posRelativeToContainer:d,getContainerDimensions:f}
1=l,[h,p]=(0,s.useState)(null),m=(0,s.useRef)(null),y=(0,s.useRef)(null),g=(0,s.useRef)(null),b=(0,s.useCallback)(()=>{y.current&&(clearTimeout(y.current),y.current=null)},[]),v=(0,s.useCallback)(e=>{let t=m.current;if(!t)return;if(b(),e){m.current=null,u(t.tileId),p(null);return}let l=c.current.get(t.fromCellIndex),n=l?d(l):null;n&&r(e=>e.map(e=>e.id===t.tileId?{...e,x:n.x,y:n.y}:e)),y.current=setTimeout(()=>{m.current=null,u(t.tileId),p(null),y.current=null},200)},[b,u,d,c,r]);return{previewEjectedCell:h,updateEjectionPreview:(0,s.useCallback)((e,l)=>{var s;if(null!==l&&l===g.current||(g.current=null,v(null!==l),null===l||!t))return;let u=t.getCells(),h=u.find(e=>e.index===l);if(!h||!h.letter||h.isRevealed)return;let y=(0,x.bI)(u,l,e.toLowerCase());if(g.current=l,!y.ejectedLetter)return;let b=a.current++,C=y.ejectedLetter.fromIndex,w=c.current.get(C),j=w&&null!==(s=d(w))&&void 0!==s?s:{x:0,y:0},S={id:b,letter:y.ejectedLetter.letter.toUpperCase(),x:j.x,y:j.y};r(e=>[...e,S]),i.current.add(b),m.current={tileId:b,fromCellIndex:C},p(C),requestAnimationFrame(()=>{requestAnimationFrame(()=>{r(e=>{let t=e.filter(e=>e.id!==b),l=f(),r=(0,n.Sz)(j.x,o.current+n.gF,t,l.width);return e.map(e=>e.id===b?{...e,x:r.x,y:r.y}:e)})})})},[t,v,d,f,a,c,o,i,r]),cancelEjectionTimeout:b,ejectionPreviewRef:m,previewTargetCellRef:g,setPreviewEjectedCell:p}}(el,I,ea),eu=function(e,t,l,r){let{setTiles:i,setSelectedItem:a,setHoveredGridCell:u,tilesRef:d,selectionQueueRef:f,draggedTileIdsRef:h,nextIdRef:p,tileContainerRef:m,gridAreaHeightRef:y,clearingRef:g}=e,{removeTile:b,getContainerDimensions:v}=l,{cancelEjectionTimeout:C,ejectionPreviewRef:w,previewTargetCellRef:j,setPreviewEjectedCell:S}=r;return{dropTileOnGrid:(0,s.useCallback)((e,l)=>{if(!t)return;let r=t.getCells(),s=r.find(e=>e.index===l);if(!s||s.isRevealed)return;let m=d.current.find(t=>t.id===e);if(m){if(s.letter){let a=(0,x.bI)(r,l,m.letter.toLowerCase());if(j.current=null,a.ejectedLetter){let t=w.current;if(t&&t.fromCellIndex===a.ejectedLetter.fromIndex)C(),b(e),w.current=null,S(null);else{let t=p.current++,l=v(),r=d.current.filter(t=>t.id!==e),s=(0,n.Sz)(l.width/2-n.I_/2,y.current+n.gF,r,l.width),c={id:t,letter:a.ejectedLetter.letter.toUpperCase(),x:s.x,y:s.y};i(t=>[...t.filter(t=>t.id!==e),c]),h.current.delete(e),h.current.add(t)}}else b(e);t.clearLetter(l)}else b(e);t.writeLetter(l,m.letter.toLowerCase()),o(f.current,e),c(f.current,{type:"grid",cellIndex:l}),a({type:"grid",cellIndex:l}),u(null)}},[t,b,v,C,w,j,S,d,f,h,p,y,i,a,u]),dragLetterFromGrid:(0,s.useCallback)((e,l,r)=>{if(!t||g.current)return null;let s=t.getCells().find(t=>t.index===e);if(!s||!s.letter||s.isRevealed)return null;let c=s.letter.toUpperCase();t.clearLetter(e);let o=p.current++,u=m.current,d=l,x=r;if(u){let e=u.getBoundingClientRect();d=l-e.left-n.I_/2,x=r-e.top-n.I_/2}let y={id:o,letter:c,x:d,y:x};return i(e=>[...e,y]),h.current.add(o),f.current.push({type:"tile",id:o}),a({type:"tile",id:o}),o},[t,g,p,m,h,f,i,a])}}(el,I,ea,eo),ed=(0,s.useCallback)(e=>{if(!et.current){if(ee.current.clear(),J.current=[],S(null),0===e.length)w([]);else{for(let t of e)ee.current.add(t.id);let t=Math.max(...e.map(e=>e.id));t>=U.current&&(U.current=t+1),w(e)}}},[et,ee,U,J,S,w]);(0,s.useEffect)(()=>{!function(e){try{localStorage.setItem(i,e)}catch(e){}}(N)},[N]);let ef=(0,s.useCallback)(e=>{if(e===P.current)return;let t=b(D.current);E(e),P.current=e,w(t=>{ee.current.clear();let l=ec.current();return(0,n.KT)(t,l.width,l.height,ee.current,z.current,e)}),requestAnimationFrame(()=>v(D.current,t))},[]),eh=(0,s.useRef)(!1);(0,s.useEffect)(()=>{if(!m){eh.current=!1;return}if(!I||eh.current)return;for(let e of(eh.current=!0,I.getCells().filter(e=>!e.isRevealed&&e.letter)))u(J.current,e.index);let e=Q.current;if(e.length>0){for(let t of e)c(J.current,{type:"tile",id:t.id});S({type:"tile",id:e[e.length-1].id})}},[m,I]);let ex=(0,s.useCallback)(e=>{if(!I||(null==j?void 0:j.type)!=="grid")return;let t=(0,n.vp)(e);if(1!==t.length)return;let{cellIndex:r}=j,i=I.getCells(),a=i.find(e=>e.index===r);if(!a||a.isRevealed)return;I.writeLetter(r,t.toLowerCase());let s=function(e,t){let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(let r=t+1;r<e.length;r++){let t=e.find(e=>e.index===r);if(t&&!t.isRevealed&&(!l||!t.letter))return r}return null}(i,r,l);null!==s?(u(J.current,s),S({type:"grid",cellIndex:s})):S(null)},[I,j,l]),ep=(0,s.useCallback)(()=>
1{if(!j)return;let e=J.current;if("tile"===j.type){ea.removeTile(j.id),o(e,j.id),S(d(e));return}null==I||I.clearLetter(j.cellIndex),function(e,t){let l=e.findIndex(e=>"grid"===e.type&&e.cellIndex===t);l>=0&&e.splice(l,1)}(e,j.cellIndex);let t=I?function(e,t){for(let l=t-1;l>=0;l--){let t=e.find(e=>e.index===l);if(t&&!t.isRevealed)return l}return null}(I.getCells(),j.cellIndex):null,l=null!=t?t:j.cellIndex;u(e,l),S({type:"grid",cellIndex:l})},[j,I,ea]),em=(0,s.useCallback)(()=>{let e=b(D.current);ee.current.clear(),w(e=>ea.applyLayout((0,n.Oi)([...e]))),requestAnimationFrame(()=>v(D.current,e))},[ea]),ey={isExpanded:m,tiles:C,selectedTileId:k,selectedItem:j,expandedRect:er,toggleExpand:(0,s.useCallback)(()=>y(e=>!e),[]),addLetter:ea.addLetter,addLettersFromWord:ea.addLettersFromWord,writeLetterToGrid:ex,removeSelectedLetter:ep,selectTile:ea.selectTile,selectGridCell:ea.selectGridCell,deselectGridCell:ea.deselectGridCell,updateTilePosition:ea.updateTilePosition,batchUpdateTilePositions:ea.batchUpdateTilePositions,markTileDragged:ea.markTileDragged,shuffleTiles:em,clearAll:ea.clearAll,layoutMode:N,changeLayoutMode:ef,restoreTiles:ed,gridAdapter:I,setGridAdapter:M,gridAreaHeight:T,setGridAreaHeight:R,gridHitTest:A,setGridHitTest:H,hoveredGridCell:Z,setHoveredGridCell:B,dropTileOnGrid:eu.dropTileOnGrid,dragLetterFromGrid:eu.dragLetterFromGrid,updateEjectionPreview:eo.updateEjectionPreview,previewEjectedCell:eo.previewEjectedCell,gridCellRefsRef:_,tileRefsRef:D,isDraggingTile:G,setIsDraggingTile:O,trashProximity:Y,setTrashProximity:X,isOverTrash:q,setIsOverTrash:K,trashRef:W,deleteTile:ea.deleteTile,clearBoardPhase:es.clearBoardPhase,isClearingBoard:es.isClearingBoard,onTrashEnter:es.onTrashEnter,onTrashLeave:es.onTrashLeave,onDropWhileArmed:es.onDropWhileArmed,overlayRef:V,clueBoxRef:en,tileContainerRef:$,keyboardRef:ei};return(0,r.jsx)(g.Provider,{value:ey,"data-sentry-element":"unknown","data-sentry-component":"ScribbleSpaceProvider","data-sentry-source-file":"ScribbleSpaceContext.tsx",children:t})}function w(){return(0,s.useContext)(g)}}}]);
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.