scrabble-solver
Version:
Scrabble Solver 2 - Free, open-source, cross-platform, multi-language analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Literaki, and Kelimelik. Quickly find the top-scoring words using the given board and tiles.
1 lines • 665 kB
JavaScript
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[636],{74:e=>{e.exports={resultsInput:"ResultsInput_resultsInput__JbuXk",input:"ResultsInput_input__L_7DU"}},177:(e,n,a)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.romanianSuperScrabble=n.romanianScrabble=void 0;let i=a(9604),t=a(6706);n.romanianScrabble=new i.Config({...t.scrabble,locale:i.Locale.RO_RO,tiles:[{character:"a",count:11,score:1},{character:"b",count:2,score:9},{character:"c",count:5,score:1},{character:"d",count:4,score:2},{character:"e",count:9,score:1},{character:"f",count:2,score:8},{character:"g",count:2,score:9},{character:"h",count:1,score:10},{character:"i",count:10,score:1},{character:"j",count:1,score:10},{character:"l",count:4,score:1},{character:"m",count:3,score:4},{character:"n",count:6,score:1},{character:"o",count:5,score:1},{character:"p",count:4,score:2},{character:"r",count:7,score:1},{character:"s",count:5,score:1},{character:"t",count:7,score:1},{character:"u",count:6,score:1},{character:"v",count:2,score:8},{character:"x",count:1,score:10},{character:"z",count:1,score:10}]}),n.romanianSuperScrabble=new i.Config({...t.superScrabble,locale:i.Locale.RO_RO,tiles:[{character:"a",count:22,score:1},{character:"b",count:4,score:9},{character:"c",count:10,score:1},{character:"d",count:8,score:2},{character:"e",count:18,score:1},{character:"f",count:4,score:8},{character:"g",count:4,score:9},{character:"h",count:2,score:10},{character:"i",count:20,score:1},{character:"j",count:2,score:10},{character:"l",count:8,score:1},{character:"m",count:6,score:4},{character:"n",count:12,score:1},{character:"o",count:10,score:1},{character:"p",count:8,score:2},{character:"r",count:14,score:1},{character:"s",count:10,score:1},{character:"t",count:14,score:1},{character:"u",count:12,score:1},{character:"v",count:4,score:8},{character:"x",count:2,score:10},{character:"z",count:2,score:10}]})},296:(e,n,a)=>{"use strict";function i(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function t(e){this.setState((function(n){var a=this.constructor.getDerivedStateFromProps(e,n);return null!=a?a:null}).bind(this))}function o(e,n){try{var a=this.props,i=this.state;this.props=e,this.state=n,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(a,i)}finally{this.props=a,this.state=i}}function u(e){var n=e.prototype;if(!n||!n.isReactComponent)throw Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof n.getSnapshotBeforeUpdate)return e;var a=null,u=null,r=null;if("function"==typeof n.componentWillMount?a="componentWillMount":"function"==typeof n.UNSAFE_componentWillMount&&(a="UNSAFE_componentWillMount"),"function"==typeof n.componentWillReceiveProps?u="componentWillReceiveProps":"function"==typeof n.UNSAFE_componentWillReceiveProps&&(u="UNSAFE_componentWillReceiveProps"),"function"==typeof n.componentWillUpdate?r="componentWillUpdate":"function"==typeof n.UNSAFE_componentWillUpdate&&(r="UNSAFE_componentWillUpdate"),null!==a||null!==u||null!==r)throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+(e.displayName||e.name)+" uses "+("function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()")+" but also contains the following legacy lifecycles:"+(null!==a?"\n "+a:"")+(null!==u?"\n "+u:"")+(null!==r?"\n "+r:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks");if("function"==typeof e.getDerivedStateFromProps&&(n.componentWillMount=i,n.componentWillReceiveProps=t),"function"==typeof n.getSnapshotBeforeUpdate){if("function"!=typeof n.componentDidUpdate)throw Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");n.componentWillUpdate=o;var s=n.componentDidUpdate;n.componentDidUpdate=function(e,n,a){var i=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:a;s.call(this,e,n,i)}}return e}a.r(n),a.d(n,{polyfill:()=>u}),i.__suppressDeprecationWarning=!0,t.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0},336:(e,n,a)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.VerticalPattern=void 0;let i=a(2798);class t extends i.Pattern{clone(){return new t(this.board,this.cells.map(e=>e.clone()))}getCollisions(){let e=[];return this.cells.filter(e=>e.isEmpty&&(this.board.collidesLeft(e)||this.board.collidesRight(e))).forEach(n=>{let a=this.board.getRow(n.y),t=n.x-1;for(;t>=0&&a[t].hasTile();)--t;let o=a.slice(t+1,n.x);for(t=n.x+1;t<a.length&&a[t].hasTile();)++t;let u=a.slice(n.x+1,t),r=[...o,n,...u];if(r.length>1){let n=new i.Pattern(this.board,r);e.push(n)}}),e}}n.VerticalPattern=t},436:(e,n,a)=>{"use strict";a.d(n,{l:()=>u});var i=a(9604),t=a(5977);let o={[i.Locale.DE_DE]:e=>e,[i.Locale.EN_GB]:e=>e,[i.Locale.EN_US]:e=>e,[i.Locale.ES_ES]:e=>(0,t.transliterate)(e,{ignore:["\xf1","\xd1"]}),[i.Locale.FA_IR]:e=>e,[i.Locale.FR_FR]:e=>(0,t.transliterate)(e),[i.Locale.PL_PL]:e=>e,[i.Locale.RO_RO]:e=>(0,t.transliterate)(e),[i.Locale.TR_TR]:e=>e},u=(e,n)=>o[e](n)},509:e=>{e.exports={insertButton:"InsertButton_insertButton__t2Y1w",icon:"InsertButton_icon__w3D9r"}},599:e=>{e.exports={section:"Section_section__6Eczy",heading:"Section_heading__5Vnag"}},627:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isObject=void 0,n.isObject=e=>"object"==typeof e&&null!==e},732:e=>{e.exports={dictionaryInput:"DictionaryInput_dictionaryInput__ko75b",input:"DictionaryInput_input__dfsFg"}},882:(e,n,a)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.FinalPattern=void 0;let i=a(2798);class t extends i.Pattern{constructor(e){super(e.board,e.cells),this.collisions=e.getCollisions()}getCollisions(){return this.collisions}}n.FinalPattern=t},884:(e,n,a)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return t}});let i=a(5729);function t(e,n){let a=(0,i.useRef)(null),t=(0,i.useRef)(null);return(0,i.useCallback)(i=>{if(null===i){let e=a.current;e&&(a.current=null,e());let n=t.current;n&&(t.current=null,n())}else e&&(a.current=o(e,i)),n&&(t.current=o(n,i))},[e,n])}function o(e,n){if("function"!=typeof e)return e.current=n,()=>{e.current=null};{let a=e(n);return"function"==typeof a?a:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),e.exports=n.default)},900:(e,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.VOWELS=n.CONSONANTS=n.NO_BONUS=n.EMPTY_CELL=n.BONUS_WORD=n.BONUS_CHARACTER=n.BLANK=n.COMMA_LATIN=n.COMMA_ARABIC=void 0,n.COMMA_ARABIC="،",n.COMMA_LATIN=",",n.BLANK=" ",n.BONUS_CHARACTER="BONUS_CHARACTER",n.BONUS_WORD="BONUS_WORD",n.EMPTY_CELL=" ",n.NO_BONUS={characterMultiplier:1,wordMultiplier:1},n.CONSONANTS="bc\xe7ćdfgğhjklłmnń\xf1pqrsşśtvwxzźż".split(""),n.VOWELS="aą\xe4eęio\xf3\xf6u\xfcyı".split("")},930:function(e,n,a){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,n,a,i){void 0===i&&(i=a);var t=Object.getOwnPropertyDescriptor(n,a);(!t||("get"in t?!n.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return n[a]}}),Object.defineProperty(e,i,t)}:function(e,n,a,i){void 0===i&&(i=a),e[i]=n[a]}),t=this&&this.__exportStar||function(e,n){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(n,a)||i(n,e,a)};Object.defineProperty(n,"__esModule",{value:!0}),t(a(3734),n),t(a(9480),n),t(a(1742),n),t(a(2034),n),t(a(3771),n),t(a(177),n),t(a(4774),n),t(a(3590),n)},1236:function(e,n,a){"use strict";var i,t=this&&this.__createBinding||(Object.create?function(e,n,a,i){void 0===i&&(i=a);var t=Object.getOwnPropertyDescriptor(n,a);(!t||("get"in t?!n.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return n[a]}}),Object.defineProperty(e,i,t)}:function(e,n,a,i){void 0===i&&(i=a),e[i]=n[a]}),o=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),u=this&&this.__importStar||(i=function(e){return(i=Object.getOwnPropertyNames||function(e){var n=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(n[n.length]=a);return n})(e)},function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var a=i(e),u=0;u<a.length;u++)"default"!==a[u]&&t(n,e,a[u]);return o(n,e),n});Object.defineProperty(n,"__esModule",{value:!0}),n.getConfig=void 0;let r=u(a(930));n.getConfig=(e,n)=>{let a=Object.values(r).find(a=>a.game===e&&a.locale===n);if(void 0===a)throw Error(`No game "${e}" in "${n}"`);return a}},1238:e=>{e.exports={button:"ToggleDirectionButton_button__8P075",icon:"ToggleDirectionButton_icon__ZZ78d",right:"ToggleDirectionButton_right__b0_LR"}},1420:(e,n,a)=>{"use strict";a.d(n,{rP:()=>j,Zh:()=>f,jH:()=>v,Su:()=>k,Ju:()=>w,ok:()=>L,FT:()=>S,Mj:()=>x,eg:()=>h});var i=a(4637),t=a(7714),o=a(1644),u=a(5729),r=a(2216),s=a(3140),l=a(9855);let c=(e,n)=>{let[a,i]=(0,u.useState)(((e,n)=>void 0!==n?n:window.matchMedia(e).matches)(e,n));return(0,u.useEffect)(()=>{let n=window.matchMedia(e),a=()=>{i(n.matches)};return i(n.matches),n.addEventListener("change",a),()=>{n.removeEventListener("change",a)}},[e]),a},g=(e,n)=>c((0,l.buildMediaQuery)(i.LO,e),n),h=()=>{let e=g("<xs"),n=g("<s"),a=g("<m");return{isLessThanXs:e,isLessThanS:n,isLessThanM:a,isLessThanL:g("<l"),isLessThanXl:g("<xl")}},d=[s.N.Coordinates,s.N.Word,s.N.Points],y=[...d,s.N.BlanksCount,s.N.WordsCount],p=[...d],m=[...d],b=(0,o.Mz)([t.JV,t.hN],(e,n)=>{let{consonants:a,vowels:i}=r.x[e],t=[s.N.Word,s.N.TilesCount,s.N.BlanksCount,s.N.WordsCount,s.N.Points];return"hidden"!==n&&t.push(s.N.Coordinates),i&&t.push(s.N.VowelsCount),a&&t.push(s.N.ConsonantsCount),t}),f=()=>{let e=(0,t.N4)(b),{isLessThanXs:n,isLessThanS:a,isLessThanM:i,isLessThanL:o}=h(),r=(0,u.useMemo)(()=>n?e.filter(e=>d.includes(e)):a?e.filter(e=>y.includes(e)):i?e.filter(e=>p.includes(e)):o?e.filter(e=>m.includes(e)):e,[e,n,a,i,o]);return(0,u.useMemo)(()=>Object.fromEntries(r.map(e=>[e,!0])),[r])},w=()=>c("(hover: none)",!1),j=()=>{let{viewportHeight:e,viewportWidth:n}=(()=>{let[e,n]=(0,u.useState)(window.innerHeight),[a,i]=(0,u.useState)(window.innerWidth);return(e=>{(0,u.useEffect)(()=>(window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}),[e])})((0,u.useCallback)(()=>{n(window.innerHeight),i(window.innerWidth)},[])),{viewportHeight:e,viewportWidth:a}})(),a=(0,t.N4)(t.zg),o=(0,t.N4)(t.hN),r=w(),{isLessThanXs:s,isLessThanS:l,isLessThanM:c,isLessThanL:g,isLessThanXl:d}=h(),y=f(),p=d?i.Lq:i.LK,m=!g,b=m?i._1:0,j=g?i.WA:i._Q,C=2*i.c3+j,v=n-b-(m?p:0)-2*p,S=Math.min((v-2*i.gP)/a.rackSize,i.EF),k=g?i.RO+p:0,L=c?1/0:Math.max(e-C-(k+S+2*p),0),x=.5*("hidden"!==o),Y=+("hidden"!==o),_=Math.min(Math.min((v-(a.boardWidth+1+Y)*i.gP)/(a.boardWidth+x),(L-(a.boardHeight+1+Y)*i.gP)/(a.boardHeight+x)),i.nV),T=x*_,R=(_+i.gP)*a.boardWidth+i.gP+("hidden"===o?0:T+i.gP),N=(_+i.gP)*a.boardHeight+i.gP+("hidden"===o?0:T+i.gP),O=S*a.rackSize+2*i.gP,B=g?i.us:i.TR,D=B-i.Ju-2*i.gP,Z=l?n:i.tA,M=g?e-B-i.RO-i.u2-5*p:N-p-B,J=S*a.rackSize,E=g?Z-2*p:i._1,H=Object.keys(y).reduce((e,n)=>{var a;return e+(null!=(a=i.FR[n])?a:0)},0),A=E-2*i.gP-H;return{actionsWidth:2*i.RO-i.gP,boardHeight:N,boardWidth:R,cellSize:_,coordinatesFontSize:.6*T,coordinatesSize:T,dictionaryHeight:B,dictionaryResultsHeight:D,isModalFullWidth:l,logoHeight:j,logoWidth:j*i.P6,maxControlsWidth:O,rackHeight:S,rackWidth:J,resultsHeight:M,resultsWidth:E,resultWordWidth:A,showCompactControls:!m,showKeyMap:!r,showResultsInModal:g,showShortNav:l,showTilePoints:!s,tileSize:S}};var C=a(7231);let v=e=>{(0,u.useEffect)(()=>{let n=document.body.parentElement;if(!n)return C.lQ;let a=n.dir;return n.dir=e,()=>{n.dir=a}},[e])},S=e=>{let n=(0,u.useRef)(e);return n.current=e,n},k=e=>{let n=S(e);return(0,u.useEffect)(()=>{n.current()},[n])},L=e=>{(0,u.useEffect)(()=>{let n=document.body.parentElement;if(!n)return C.lQ;let a=n.lang;return n.lang=e,()=>{n.lang=a}},[e])},x=()=>{let e=(0,t.N4)(t.up),n=(0,t.N4)(t.pF),a=(0,t.N4)(t.Vv),i=(0,t.N4)(t.QN),o=(0,t.N4)(t.JV),r=(0,t.N4)(t.ij),s=(0,t.N4)(t.hN),l=(0,t.N4)(t.yI);(0,u.useEffect)(()=>{e&&t.Lr.setAutoGroupTiles(e)},[e]),(0,u.useEffect)(()=>{n&&t.Lr.setBoard(n)},[n]),(0,u.useEffect)(()=>{a&&t.Lr.setGame(a)},[a]),(0,u.useEffect)(()=>{i&&t.Lr.setInputMode(i)},[i]),(0,u.useEffect)(()=>{o&&t.Lr.setLocale(o)},[o]),(0,u.useEffect)(()=>{r&&t.Lr.setRack(r)},[r]),(0,u.useEffect)(()=>{s&&t.Lr.setShowCoordinates(s)},[s]),(0,u.useEffect)(()=>{l&&t.Lr.setRemoveCellFilters(l)},[l])}},1479:(e,n,a)=>{"use strict";a.d(n,{TG:()=>n4,Er:()=>n6,Ex:()=>d,$n:()=>F,cx:()=>n8,A_:()=>n7,bT:()=>eO,$s:()=>eZ,xy:()=>n9,Uz:()=>eP,gu:()=>eW,aF:()=>eV,tf:()=>e2,Mk:()=>e6,ke:()=>e9,sx:()=>nd,nB:()=>nX,Zg:()=>nW,Ox:()=>n2,$x:()=>ae,FA:()=>$});var i=a(6029),t=a(2988),o=a.n(t),u=a(4516),r=a(9e3),s=a.n(r);let l={error:u.mh,info:u.U9,success:u.Jl,warning:u.ju},c=e=>{let{children:n,className:a,variant:t,...u}=e,r=l[t];return(0,i.jsxs)("div",{className:o()(s().alert,a,{[s().error]:"error"===t,[s().info]:"info"===t,[s().success]:"success"===t,[s().warning]:"warning"===t}),...u,children:[(0,i.jsx)("div",{className:s().iconContainer,children:(0,i.jsx)(r,{"aria-hidden":"true",className:s().icon,role:"img"})}),(0,i.jsx)("div",{className:s().content,children:n})]})};var g=a(5928),h=a.n(g);let d=e=>{let{children:n,className:a}=e;return(0,i.jsx)("div",{className:o()(h().badge,a),children:n})};var y=a(7226),p=a(900),m=a(5729),b=function(){if("undefined"==typeof window||"function"!=typeof window.addEventListener)return!1;var e=!1,n=Object.defineProperty({},"passive",{get:function(){e=!0}}),a=function(){return null};return window.addEventListener("test",a,n),window.removeEventListener("test",a,n),e},f=function(e,n){var a;return null==(a=e.classList)?void 0:a.contains(n)},w=function(e,n){for(var a=e.target||e;a;){if(Array.isArray(n)){if(n.some(function(e){return f(a,e)}))return!0}else if(f(a,n))return!0;a=a.parentElement}return!1},j=function(e){return!!(e.includes("touch")&&b())&&{passive:!0}};let C=function(e,n){var a=void 0===n?{}:n,i=a.refs,t=a.disabled,o=a.eventTypes,u=void 0===o?["mousedown","touchstart"]:o,r=a.excludeScrollbar,s=a.ignoreClass,l=void 0===s?"ignore-onclickoutside":s,c=a.detectIFrame,g=void 0===c||c,h=(0,m.useState)([]),d=h[0],y=h[1],p=(0,m.useRef)(e);p.current=e;var b=(0,m.useCallback)(function(e){return y(function(n){return[].concat(n,[{current:e}])})},[]);return(0,m.useEffect)(function(){if(null!=i&&i.length||d.length){var e=function(){var e=[];return(i||d).forEach(function(n){var a=n.current;return a&&e.push(a)}),e},n=function(n){!w(n,l)&&!(r&&(document.documentElement.clientWidth<=n.clientX||document.documentElement.clientHeight<=n.clientY))&&e().every(function(e){return!e.contains(n.target)})&&p.current(n)},a=function(n){return setTimeout(function(){var a=document.activeElement;(null==a?void 0:a.tagName)!=="IFRAME"||w(a,l)||e().includes(a)||p.current(n)},0)},o=function(){u.forEach(function(e){return document.removeEventListener(e,n,j(e))}),g&&window.removeEventListener("blur",a)};return t?void o():(u.forEach(function(e){return document.addEventListener(e,n,j(e))}),g&&window.addEventListener("blur",a),function(){return o()})}},[d,l,r,t,g,JSON.stringify(u)]),b};var v=a(9276),S=a(1420),k=a(2216),L=a(4637),x=a(7714),Y=a(6356),_=a.n(Y),T=a(7231);let R=(0,m.createContext)(null),N=()=>{let e=(0,m.useContext)(R);if(null===e)throw Error("Tooltip components must be wrapped in <Tooltip />");return e};var O=a(7640),B=a.n(O);let D=(0,m.forwardRef)((e,n)=>{let a=N(),{context:t}=a,{isInstantPhase:o,currentId:u}=(0,y.ck)(t,{id:t.floatingId}),r=(0,y.SV)([a.refs.setFloating,n]),s={open:0,close:u===t.floatingId?L.T7:0},{isMounted:l,styles:c}=(0,y.DL)(t,{duration:o?s:L.T7,initial:{opacity:0}});return l?(0,i.jsx)(y.XF,{children:(0,i.jsxs)("div",{className:B().tooltip,ref:r,style:{...a.floatingStyles,...e.style,...c},...a.getFloatingProps(e),children:[(0,i.jsx)("div",{children:e.children}),(0,i.jsx)(y.ie,{className:B().arrow,context:t,ref:a.arrowRef})]})}):null});var Z=a(9604);let M=(0,m.forwardRef)((e,n)=>{let{children:a,...i}=e,t=N(),o=(0,y.SV)([t.refs.setReference,n,a.props.ref]);if(!(0,m.isValidElement)(a))throw Error("TooltipTrigger's children are not a valid element");return(0,m.cloneElement)(a,t.getReferenceProps({ref:o,...i,...(0,Z.isObject)(a.props)?a.props:{},"data-state":t.open?"open":"closed"}))});var J=a(1775),E=a(2309);let H=function(){let{placement:e="top"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[n,a]=(0,m.useState)(!1),i=(0,m.useRef)(null),t=(0,y.we)({placement:e,open:n,onOpenChange:a,whileElementsMounted:J.ll,middleware:[(0,E.UU)(),(0,E.BN)({padding:10}),(0,E.cY)(10),(0,E.UE)({element:i})]}),{context:o}=t,{delay:u}=(0,y.ck)(o),r=(0,y.Mk)(o,{move:!1,delay:u}),s=(0,y.iQ)(o),l=(0,y.s9)(o),c=(0,y.It)(o,{role:"tooltip"}),g=(0,y.bv)([r,s,l,c]);return(0,m.useMemo)(()=>({arrowRef:i,open:n,setOpen:a,...g,...t}),[i,n,a,g,t])},A=e=>{let{children:n,placement:a,tooltip:t}=e,o=H({placement:a});return t?(0,i.jsxs)(R.Provider,{value:o,children:[(0,i.jsx)(M,{children:n}),(0,i.jsx)(D,{children:t})]}):n};var P=a(3962),X=a.n(P);let F=Object.assign(e=>{let{children:n,className:a,Icon:t,iconClassName:u,tooltip:r,variant:s="default",wide:l,...c}=e;return(0,i.jsx)(A,{tooltip:r,children:(0,i.jsx)("button",{className:o()(X().button,a,{[X().default]:"default"===s,[X().primary]:"primary"===s,[X().wide]:l}),type:"button",...c,children:(0,i.jsxs)("span",{className:X().content,children:[t&&(0,i.jsx)(t,{"aria-hidden":"true",className:o()(X().icon,u),role:"img"}),n&&(0,i.jsx)("span",{className:X().label,children:n})]})})})},{Link:e=>{let{children:n,className:a,Icon:t,iconClassName:u,tooltip:r,variant:s="default",wide:l,...c}=e;return(0,i.jsx)(A,{tooltip:r,children:(0,i.jsx)("a",{className:o()(X().button,a,{[X().default]:"default"===s,[X().primary]:"primary"===s,[X().wide]:l}),...c,children:(0,i.jsxs)("span",{className:X().content,children:[t&&(0,i.jsx)(t,{className:o()(X().icon,u)}),n&&(0,i.jsx)("span",{className:X().label,children:n})]})})})}});var W=a(1238),Q=a.n(W);let G=e=>{let{className:n,direction:a,...t}=e,r=(0,x.WD)(),s=(0,S.Ju)();return(0,i.jsx)(F,{"aria-label":r("cell.toggle-direction"),className:o()(Q().button,n),"data-direction":a,"data-testid":"toggle-direction-button",Icon:u.yd,iconClassName:o()(Q().icon,{[Q().right]:"horizontal"===a}),tooltip:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{children:r("cell.toggle-direction")}),!s&&(0,i.jsxs)("span",{children:[" (",r("common.arrows"),")"]})]}),...t})};var U=a(3574),K=a.n(U);let z=(0,m.forwardRef)((e,n)=>{let{cell:a,className:t,direction:r,onDirectionToggle:s,onEnterWord:l,onToggleBlank:c,onToggleFilterCell:g,...h}=e,d=(0,x.WD)(),y=(0,S.Ju)(),m=(0,x.N4)(x.QN),b=(0,x.N4)(e=>(0,x.fS)(e,a)),f=(0,x.N4)(x.Sb),w=a.tile.isBlank,j=a.tile.character===p.EMPTY_CELL||!!(0,T.u3)(f,a.x,a.y),{Icon:C,labelTranslationKey:v}=(e=>(null==e?void 0:e.type)==="exclude"?{Icon:u.Xn,labelTranslationKey:"common.clear"}:(null==e?void 0:e.type)==="include"?{Icon:u.MA,labelTranslationKey:"cell.filter-cell.exclude"}:{Icon:u.E6,labelTranslationKey:"cell.filter-cell.include"})(b),k=e=>e.preventDefault();return(0,i.jsxs)("div",{className:o()(K().actions,t),ref:n,...h,children:["touchscreen"===m&&(0,i.jsx)(F,{"aria-label":d("cell.enter-word"),className:K().action,Icon:u.s3,tooltip:d("cell.enter-word"),onClick:l,onMouseDown:k}),"keyboard"===m&&(0,i.jsx)(G,{className:K().action,direction:r,onClick:s,onMouseDown:k}),j&&(0,i.jsx)(F,{"aria-label":d(v),className:o()(K().action),Icon:C,tooltip:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{children:d(v)}),!y&&(0,i.jsxs)("span",{children:[" (",(0,T.cX)()?"⌘":"Ctrl"," + G)"]})]}),onClick:g,onMouseDown:k}),!j&&(0,i.jsx)(F,{"aria-label":d(w?"cell.set-not-blank":"cell.set-blank"),className:K().action,Icon:w?u.NN:u.M6,tooltip:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{children:d(w?"cell.set-not-blank":"cell.set-blank")}),!y&&(0,i.jsxs)("span",{children:[" (",d("common.space"),")"]})]}),onClick:c,onMouseDown:k})]})});var I=a(2354),V=a.n(I);let q=(0,m.memo)(e=>{let{"aria-label":n,autoFocus:a,canShowPoints:t,character:r,className:s,disabled:l,highlighted:c,inputRef:g,isBlank:h,isValid:d,placeholder:y,points:p,pointsFormatted:m,pointsStyle:b,raised:f,style:w,tabIndex:j,onChange:C,onFocus:v,onKeyDown:S,onMouseDown:k,onTouchStart:L}=e;return(0,i.jsxs)("div",{className:o()(V().tile,s,{[V().blank]:h,[V().empty]:!r,[V().invalid]:!d,[V().highlighted]:c,[V().points1]:1===p,[V().points2]:2===p,[V().points3]:3===p,[V().points4]:4===p,[V().points5]:"number"==typeof p&&p>=5,[V().raised]:f}),role:c?"mark":void 0,style:w,children:[r||y,(0,i.jsx)("input",{"aria-label":n,autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",autoFocus:a,className:V().input,disabled:l,ref:g,spellCheck:!1,tabIndex:j,value:r||"",onChange:C,onFocus:v,onKeyDown:S,onMouseDown:k,onTouchStart:L}),t&&(0,i.jsx)("span",{className:V().points,style:b,children:m}),!d&&(0,i.jsx)(u.WK,{"aria-hidden":"true",className:V().alert,role:"img"})]})}),$=e=>{let{"aria-label":n,autoFocus:a,className:t,character:o="",disabled:u,highlighted:r,inputRef:s,isBlank:l,isValid:c,placeholder:g,points:h,raised:d,size:b,tabIndex:f,onChange:w,onFocus:j=T.lQ,onKeyDown:C=T.lQ,onMouseDown:v=T.lQ,onTouchStart:k=T.lQ}=e,L=(0,x.N4)(x.JV),{showTilePoints:Y}=(0,S.rP)(),{pointsFontSize:_,tileSize:R}=(0,T.HS)(b),N=(0,m.useMemo)(()=>({height:R,width:R}),[R]),O=(0,m.useMemo)(()=>({fontSize:_}),[_]),B=(0,m.useRef)(null),D=(0,y.SV)(s?[B,s]:[B]),Z=!o||o===p.EMPTY_CELL,M=Y&&(!Z||l)&&void 0!==h,J="number"==typeof h?h.toLocaleString(L):"",E=(0,m.useCallback)(e=>{var n;null==(n=B.current)||n.select(),C(e)},[C]);return(0,i.jsx)(q,{"aria-label":n,autoFocus:a,canShowPoints:M,character:o,className:t,disabled:u,highlighted:r,inputRef:D,isBlank:l,isValid:c,placeholder:g,points:h,pointsFormatted:J,pointsStyle:O,raised:d,style:N,tabIndex:f,onChange:w,onFocus:j,onKeyDown:E,onMouseDown:v,onTouchStart:k})};var ee=a(4644),en=a.n(ee);let ea=e=>{let{cell:n,cellBottom:a,cellLeft:t,cellRight:u,cellTop:r,className:s,inputRef:l,size:c,onChange:g,onFocus:h}=e,{tile:d,x:y,y:b}=n,f=(0,x.WD)(),w=(0,x.N4)(x.JV),j=(0,x.N4)(x.zg),C=(0,x.N4)(x.QN),v=(0,x.N4)(e=>(0,x.g0)(e,n.tile)),S=(0,x.N4)(e=>(0,x.B4)(e,n)),k=d.character===p.EMPTY_CELL,L=(0,m.useCallback)(e=>{"touchscreen"===C&&(e.preventDefault(),e.target.blur()),h(y,b)},[C,h,y,b]),Y=(0,m.useCallback)(e=>{"touchscreen"===C&&e.preventDefault(),h(y,b)},[C,h,y,b]),_=(0,m.useCallback)(e=>{"touchscreen"===C&&e.preventDefault(),h(y,b)},[C,h,y,b]);return(0,i.jsx)($,{"aria-label":f("cell.tile.location",{x:(y+1).toLocaleString(w),y:(b+1).toLocaleString(w)}),className:o()(en().tile,s,{[en().first3]:y<3,[en().last3]:j.boardWidth-y-1<3,[en().sharpTopLeft]:(null==r?void 0:r.hasTile())||(null==t?void 0:t.hasTile()),[en().sharpTopRight]:(null==r?void 0:r.hasTile())||(null==u?void 0:u.hasTile()),[en().sharpBottomLeft]:(null==a?void 0:a.hasTile())||(null==t?void 0:t.hasTile()),[en().sharpBottomRight]:(null==a?void 0:a.hasTile())||(null==u?void 0:u.hasTile())}),character:k?void 0:d.character,highlighted:n.isCandidate(),inputRef:l,isBlank:d.isBlank,isValid:S,points:v,raised:!k,size:c,tabIndex:0===n.x&&0===n.y?void 0:-1,onChange:g,onFocus:L,onMouseDown:Y,onTouchStart:_})};var ei=a(8066),et=a.n(ei);let eo=(0,m.forwardRef)((e,n)=>{let{className:a,direction:t,initialValue:r,onDirectionToggle:s,onSubmit:l,...c}=e,g=(0,x.WD)(),[h,d]=(0,m.useState)(null),[y,p]=(0,m.useState)(r.trim()),b=e=>e.preventDefault();return(0,m.useEffect)(()=>{h&&(h.focus(),h.select(),h.scrollIntoView({block:"start",inline:"center"}))},[h]),(0,i.jsxs)("form",{className:o()(et().inputPrompt,a),ref:n,onSubmit:e=>{e.preventDefault(),e.stopPropagation(),l(y)},...c,children:[(0,i.jsx)(G,{className:et().toggleDirection,direction:t,onClick:s,onMouseDown:b}),(0,i.jsx)("div",{children:(0,i.jsx)("input",{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",className:et().input,placeholder:g("rack.placeholder"),spellCheck:!1,ref:d,value:y,onChange:e=>p(e.target.value)})}),(0,i.jsx)(F,{"aria-label":g("results.insert"),className:et().insert,Icon:u.Jl,iconClassName:et().insertIcon,tooltip:g("results.insert"),type:"submit",variant:"primary",onMouseDown:b})]})}),eu=(0,m.forwardRef)((e,n)=>{let{className:a,cellSize:t,coordinatesFontSize:r,coordinatesSize:s,direction:l,cellFilters:c,inputRefs:g,rows:h,showCoordinates:d,style:y,onBlur:p,onChange:b,onFocus:f,onKeyDown:w,onPaste:j}=e;return(0,i.jsxs)("div",{className:o()(_().board,a),"data-testid":"board",ref:n,style:y,onBlur:p,onKeyDown:w,onPaste:j,children:["hidden"!==d&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{style:{width:s,height:s}}),h[0].map((e,n)=>(0,i.jsx)("div",{className:_().coordinate,style:{width:t,height:s,fontSize:r},children:(0,T.Hx)(n,"original"===d?"letter":"number")},n))]}),c.map(e=>{let{x:n,y:a,type:o}=e,r="exclude"===o?u.MA:u.E6;return(0,i.jsxs)("div",{className:_().iconContainer,style:{height:t,width:t,left:"ltr"===l?s+L.gP+n*(t+L.gP):void 0,right:"rtl"===l?s+L.gP+n*(t+L.gP):void 0,top:s+L.gP+a*(t+L.gP)},children:[(0,i.jsx)("div",{className:_().iconBackground}),(0,i.jsx)(r,{"aria-hidden":"true",className:_().icon,role:"img"})]},[n,a].join("-"))}),h.map((e,n)=>(0,i.jsxs)(m.Fragment,{children:["hidden"!==d&&(0,i.jsx)("div",{className:_().coordinate,style:{width:s,height:t,fontSize:r},children:(0,T.Hx)(n,"original"===d?"number":"letter")}),e.map((e,a)=>(0,i.jsx)(ea,{className:_().cell,cell:e,cellBottom:n<h.length-1?h[n+1][a]:void 0,cellLeft:a>0?h[n][a-1]:void 0,cellRight:a<h[n].length-1?h[n][a+1]:void 0,cellTop:n>0?h[n-1][a]:void 0,inputRef:g[n][a],size:t,onChange:b,onFocus:f},a))]},n))]})}),er=(0,m.memo)(eu);var es=a(6613);let el=e=>e.type===p.BONUS_WORD?L.Ln[e.multiplier]:e.score?L.Ip[e.score]:L.Gr[e.multiplier],ec=e=>"vertical"===e?"horizontal":"vertical";var eg=a(1644);let eh=(0,eg.Mz)([x.pF,x.Sb],(e,n)=>e.rows.map((e,a)=>e.map((e,i)=>(0,T.u3)(n,i,a)||e))),ed=e=>{var n,a,t,r;let{className:s}=e,l=(0,v.wA)(),c=(0,x.N4)(x.JV),g=(0,x.N4)(eh),h=(0,x.N4)(x.QN),d=(0,x.N4)(x.o9),b=(0,x.N4)(x.hN),{cellSize:f,coordinatesFontSize:w,coordinatesSize:j}=(0,S.rP)(),[{activeIndex:Y,direction:R,inputRefs:N},{insertValue:O,onChange:B,onDirectionToggle:D,onFocus:M,onKeyDown:H,onPaste:A}]=(e=>{let n=e.length,a=e[0].length,i=(0,v.wA)(),t=(0,x.N4)(x.zg),o=(0,x.N4)(x.JV),u=(0,m.useMemo)(()=>{let e;return e=()=>(0,m.createRef)(),Array.from({length:n}).map((n,i)=>Array.from({length:a}).map((n,a)=>e(a,i)))},[a,n]),[r,s]=(0,m.useState)({x:0,y:0}),[l,c]=(0,m.useState)("horizontal"),g=(0,S.FT)(l),h=(0,m.useMemo)(()=>({x:Math.min(r.x,a-1),y:Math.min(r.y,n-1)}),[r,a,n]),d=(0,m.useCallback)((e,i)=>{var t;let o=Math.min(Math.max(h.x+e,0),a-1),r=Math.min(Math.max(h.y+i,0),n-1);s({x:o,y:r}),null==(t=u[r][o].current)||t.focus()},[h,n,u,a]),y=(0,m.useCallback)(e=>((e,n)=>{for(let a=0;a<e.length;++a)for(let i=0;i<e[0].length;++i)if(n(e[a][i]))return{x:i,y:a}})(u,n=>n.current===e),[u]),b=(0,m.useCallback)(e=>{"horizontal"===g.current?d(e,0):d(0,e)},[d,g]),f=(0,m.useCallback)((o,u)=>{let r=u?(0,T.EQ)(t,u).filter(e=>e!==p.BLANK):[p.BLANK],s=[],l=new Z.Board({rows:e.map(e=>e.map(e=>e.clone()))}),{x:c,y:h}=o,d=()=>{"horizontal"===g.current?++c:++h};r.forEach(e=>{if(c>=t.boardWidth||h>=t.boardHeight)return;let i=h-1>0,o=c>0,u=c+1<a,r=h+1<n;if(i){let n=l.rows[h-1][c],a=n.tile.character+e;if(!n.tile.isBlank&&t.twoCharacterTiles.includes(a)){let e=x.hJ.actions.changeCellValue({x:c,y:h-1,value:a});l=x.hJ.reducer(l,e),s.push(e);return}}if(r){let n=l.rows[h+1][c],a=e+n.tile.character;if(!n.tile.isBlank&&t.twoCharacterTiles.includes(a)){let n=x.hJ.actions.changeCellValue({x:c,y:h,value:e}),a=x.hJ.actions.changeCellValue({x:c,y:h+1,value:p.EMPTY_CELL});l=x.hJ.reducer(x.hJ.reducer(l,n),a),s.push(n,a),d();return}}if(o){let n=l.rows[h][c-1],a=n.tile.character+e;if(!n.tile.isBlank&&t.twoCharacterTiles.includes(a)){let e=x.hJ.actions.changeCellValue({x:c-1,y:h,value:a});l=x.hJ.reducer(l,e),s.push(e);return}}if(u){let n=l.rows[h][c+1],a=e+n.tile.character;if(!n.tile.isBlank&&t.twoCharacterTiles.includes(a)){let n=x.hJ.actions.changeCellValue({x:c,y:h,value:e}),a=x.hJ.actions.changeCellValue({x:c+1,y:h,value:p.EMPTY_CELL});l=x.hJ.reducer(x.hJ.reducer(l,n),a),s.push(n,a),d();return}}if(!r||!u){let n=l.rows[h][c],a=n.tile.character+e;if(!n.tile.isBlank&&t.twoCharacterTiles.includes(a)){let e=x.hJ.actions.changeCellValue({x:c,y:h,value:a});l=x.hJ.reducer(l,e),s.push(e);return}}let g=x.hJ.actions.changeCellValue({x:c,y:h,value:e});l=x.hJ.reducer(l,g),s.push(g),d()}),b(Math.abs(o.x-c)+Math.abs(o.y-h)),s.forEach(i)},[t,g,i,n,b,e,a]),w=(0,m.useCallback)(n=>{let a=y(n.target);if(!a)return;let t=(0,T.PK)(n.target);if(!t){i(x.hJ.actions.changeCellValue({...a,value:p.EMPTY_CELL})),b(-1);return}if(t===p.EMPTY_CELL){let{x:n,y:t}=a;if(e[t][n].hasTile())return void i(x.hJ.actions.toggleCellIsBlank(a))}f(a,t)},[i,f,b,e,y]),j=(0,m.useCallback)(()=>c(ec),[]),C=(0,m.useCallback)((e,n)=>{s({x:e,y:n})},[]),L=(0,m.useMemo)(()=>(0,T.k)({onArrowDown:e=>{e.preventDefault(),"horizontal"===l?j():d(0,1)},onArrowLeft:e=>{e.preventDefault(),"vertical"===l?(j(),d("ltr"===k.x[o].direction?-1:0,0)):d("ltr"===k.x[o].direction?-1:1,0)},onArrowRight:e=>{e.preventDefault(),"vertical"===l?(j(),d("ltr"===k.x[o].direction?0:-1,0)):d("ltr"===k.x[o].direction?1:-1,0)},onArrowUp:e=>{e.preventDefault(),"horizontal"===l&&j(),d(0,-1)},onBackspace:e=>{let n=y(e.target);n&&(e.preventDefault(),i(x.hJ.actions.changeCellValue({...n,value:p.EMPTY_CELL})),b(-1))},onDelete:e=>{let n=y(e.target);n&&(e.preventDefault(),i(x.hJ.actions.changeCellValue({...n,value:p.EMPTY_CELL})),b(1))},onKeyDown:n=>{let a=y(n.target);if(!a)return;let{x:o,y:u}=a,r=n.key.toLowerCase(),s=t.getTwoCharacterTileByPrefix(r);if((0,T._0)(n)&&s){n.preventDefault(),i(x.hJ.actions.changeCellValue({x:o,y:u,value:s})),b(1);return}let l=e[u][o];if((0,T._0)(n)&&"g"===r){n.preventDefault(),l.hasTile()||i(x.gk.actions.toggle(a));return}let c=l.tile.character+r;if(t.twoCharacterTiles.includes(c)){n.preventDefault(),i(x.hJ.actions.changeCellValue({...a,value:c})),b(1);return}n.target instanceof HTMLInputElement&&n.target.value===n.key&&(n.preventDefault(),b(1))},onSpace:e=>{let n=y(e.target);n&&(e.preventDefault(),i(x.hJ.actions.toggleCellIsBlank(n)))}}),[d,t,l,i,y,o,b,j,e]),Y=(0,m.useCallback)(e=>{if(!(e.target instanceof HTMLInputElement))return;let n=y(e.target);n&&(e.preventDefault(),f(n,e.clipboardData.getData("text/plain").toLocaleLowerCase()))},[y,f]);return[{activeIndex:h,direction:l,inputRefs:u},{insertValue:f,onChange:w,onDirectionToggle:j,onFocus:C,onKeyDown:L,onPaste:Y}]})(g),P=(()=>{let e=(0,x.N4)(x.zg),{cellSize:n}=(0,S.rP)(),{tileFontSize:a}=(0,T.HS)(n),t=(0,x.N4)(x.hN),o=(()=>{let{boardHeight:e,boardWidth:n,cellSize:a,coordinatesSize:t}=(0,S.rP)(),o=(0,x.N4)(x.JV),{direction:r}=k.x[o],s=(0,x.N4)(x.hN),{isLessThanXs:l}=(0,S.eg)(),c=l?3:L.ax,g=(0,x.N4)(x.zg),h={x:Math.floor(g.boardWidth/2),y:Math.floor(g.boardHeight/2)},d=.8*a,y=.1*a,b=.4*a,f=(a-b)/2,{tileFontSize:w}=(0,T.HS)(a),j=.6*w,C=a/2,Y=g.bonuses.filter(e=>e.type===p.BONUS_CHARACTER),_=g.bonuses.filter(e=>e.type===p.BONUS_WORD&&2===e.multiplier),R=g.bonuses.filter(e=>e.type===p.BONUS_WORD&&3===e.multiplier),N=g.bonuses.filter(e=>e.type===p.BONUS_WORD&&4===e.multiplier),O=e=>("ltr"===r?t:0)+e.x*(a+L.gP),B=e=>t+e.y*(a+L.gP),D=(0,es.F0)((0,i.jsx)(v.Kq,{store:x.M_,children:(0,i.jsxs)("svg",{height:e,viewBox:"0 0 ".concat(n," ").concat(e),width:n,xmlns:"http://www.w3.org/2000/svg",children:[(0,i.jsxs)("defs",{children:[(0,i.jsx)("symbol",{id:"h",children:(0,i.jsx)("rect",{fill:L.m4,height:1,width:n})}),(0,i.jsx)("symbol",{id:"v",children:(0,i.jsx)("rect",{fill:L.m4,height:e,width:1})}),(0,i.jsx)("symbol",{id:"b",children:(0,i.jsx)("rect",{height:d,rx:c,width:d,x:y,y:y})}),(0,i.jsxs)("symbol",{id:"b2",children:[(0,i.jsx)("rect",{height:d,rx:c,width:d,x:y,y:y}),(0,i.jsx)("text",{dominantBaseline:"central",fill:"white",fontFamily:"system-ui, sans-serif",fontSize:j,fontWeight:"bold",textAnchor:"middle",x:C,y:C,children:"x2"})]}),(0,i.jsxs)("symbol",{id:"b3",children:[(0,i.jsx)("rect",{height:d,rx:c,width:d,x:y,y:y}),(0,i.jsx)("text",{dominantBaseline:"central",fill:"white",fontFamily:"system-ui, sans-serif",fontSize:j,fontWeight:"bold",textAnchor:"middle",x:C,y:C,children:"x3"})]}),(0,i.jsxs)("symbol",{id:"b4",children:[(0,i.jsx)("rect",{height:d,rx:c,width:d,x:y,y:y}),(0,i.jsx)("text",{dominantBaseline:"central",fill:"white",fontFamily:"system-ui, sans-serif",fontSize:j,fontWeight:"bold",textAnchor:"middle",x:C,y:C,children:"x4"})]})]}),"hidden"===s&&(0,i.jsx)("rect",{fill:"white",height:e,rx:c,width:n,x:"0",y:"0"}),"hidden"!==s&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("rect",{fill:L.hO,height:e,rx:c,width:n,x:"0",y:"0"}),(0,i.jsx)("rect",{fill:"white",height:e-t,width:n-t,x:"ltr"===r?t:0,y:t}),(0,i.jsx)("rect",{fill:L.hO,height:t,rx:c,width:n,x:"0",y:"0"}),(0,i.jsx)("rect",{fill:L.hO,height:e,rx:c,x:"ltr"===r?0:n-t,y:"0",width:t}),(0,i.jsx)("use",{href:"#".concat("h"),y:t-L.gP}),(0,i.jsx)("use",{href:"#".concat("v"),x:"ltr"===r?t-L.gP:n-t-L.gP})]}),Array.from({length:g.boardHeight-1}).map((e,n)=>(0,i.jsx)("use",{href:"#".concat("h"),y:t+(n+1)*(a+L.gP)-L.gP},n)),Array.from({length:g.boardWidth-1}).map((e,n)=>(0,i.jsx)("use",{href:"#".concat("v"),x:("ltr"===r?t:0)+(n+1)*(a+L.gP)-L.gP},n)),Y.map((e,n)=>(0,i.jsx)("use",{fill:el(e),href:"#".concat("b"),x:O(e),y:B(e)},n)),_.map((e,n)=>(0,i.jsx)("use",{fill:el(e),href:"#".concat("b2"),x:O(e),y:B(e)},n)),R.map((e,n)=>(0,i.jsx)("use",{fill:el(e),href:"#".concat("b3"),x:O(e),y:B(e)},n)),N.map((e,n)=>(0,i.jsx)("use",{fill:el(e),href:"#".concat("b4"),x:O(e),y:B(e)},n)),(0,i.jsx)("rect",{fill:L.Lo,height:d,rx:c,width:d,x:O(h)+y,y:B(h)+y}),(0,i.jsx)(u.FE,{color:"white",height:b,width:b,x:O(h)+f,y:B(h)+f})]})})),Z=(0,m.useMemo)(()=>globalThis.btoa(D),[D]);return"data:image/svg+xml;base64,".concat(Z)})(),r=.5*n-L.gP;return(0,m.useMemo)(()=>({backgroundImage:"url(".concat(o,")"),fontSize:a,gridTemplateColumns:"hidden"===t?"repeat(".concat(e.boardWidth,", 1fr)"):"".concat(r,"px repeat(").concat(e.boardWidth,", 1fr)"),gridTemplateRows:"hidden"===t?"repeat(".concat(e.boardHeight,", 1fr)"):"".concat(r,"px repeat(").concat(e.boardHeight,", 1fr)")}),[o,e.boardHeight,e.boardWidth,r,t,a])})(),[X,F]=(0,m.useState)(!1),[W,Q]=(0,m.useState)(!1),[G,U]=(0,m.useState)(L.mF),K=N[Y.y][Y.x],I=g[Y.y][Y.x],V=(()=>{let{actionsWidth:e}=(0,S.rP)();return(0,y.we)({middleware:[(0,E.cY)({mainAxis:-L.CP,alignmentAxis:L.CP-e}),(0,E.BN)()],placement:"top-end",whileElementsMounted:J.ll})})(),q=(0,y.we)({middleware:[(0,E.cY)({mainAxis:-L.CP,alignmentAxis:L.CP}),(0,E.BN)()],placement:"top",whileElementsMounted:J.ll}),$=(0,y.we)({placement:"top-start",whileElementsMounted:J.ll}),ee=(0,m.useCallback)(e=>{var n,a,i;let t=null==(n=V.refs.floating.current)?void 0:n.contains(e.relatedTarget),o=e.currentTarget.contains(e.relatedTarget),u=null==(a=$.refs.floating.current)?void 0:a.contains(e.relatedTarget),r=null==(i=q.refs.floating.current)?void 0:i.contains(e.relatedTarget);t||o||u||r||F(!1)},[V.refs.floating,$.refs.floating,q.refs.floating]),en=(0,m.useCallback)(e=>{V.refs.setReference(e),$.refs.setReference(e),q.refs.setReference(e)},[V.refs,$.refs,q.refs]),ea=(0,m.useCallback)((e,n)=>{var a;let i=!X,t=(null==(a=V.refs.floating.current)?void 0:a.style.transition)||"",o=N[n][e].current;en((null==o?void 0:o.parentElement)||null),M(e,n),F(!0),Q(!1),i&&(U("none"),globalThis.setTimeout(()=>{U(t)},0))},[V.refs.floating,X,N,M,en]),ei=(0,m.useCallback)(()=>{Q(!0)},[]),et=(0,m.useCallback)(e=>{0===e.trim().length?l(x.hJ.actions.changeCellValue({...Y,value:p.EMPTY_CELL})):O(Y,e.toLocaleLowerCase(c)),Q(!1),l(x.AI.actions.submit()),F(!1)},[Y,l,O,c]),eu=(0,m.useCallback)(()=>{if("keyboard"===h){var e;null==(e=K.current)||e.focus()}l(x.hJ.actions.toggleCellIsBlank(I))},[I,l,h,K]),eg=(0,m.useCallback)(()=>{if("keyboard"===h){var e;null==(e=K.current)||e.focus()}D()},[h,K,D]),ed=(0,m.useCallback)(()=>{if("keyboard"===h){var e;null==(e=K.current)||e.focus()}l(x.gk.actions.toggle(I))},[I,l,h,K]),ey=C(()=>F(!1),{ignoreClass:[_().floating]});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(er,{className:s,cellFilters:d,cellSize:f,coordinatesFontSize:w,coordinatesSize:j,direction:k.x[c].direction,inputRefs:N,ref:ey,rows:g,showCoordinates:b,style:P,onBlur:ee,onChange:B,onFocus:ea,onKeyDown:H,onPaste:A}),(0,i.jsxs)(y.XF,{children:[(0,i.jsx)("div",{className:o()(_().floating,_().focus,{[_().hidden]:!X}),ref:$.refs.setFloating,style:{position:$.strategy,top:$.y+f,left:$.x,display:$.isPositioned?"block":"none",width:f,height:f,opacity:+!!X,visibility:null===$.x||null===$.y?"hidden":"visible",transition:G},tabIndex:0}),X&&!W&&(0,i.jsx)(z,{cell:I,className:_().floating,direction:R,ref:V.refs.setFloating,style:{position:V.strategy,top:null!=(n=V.y)?n:0,left:null!=(a=V.x)?a:0,transition:G},onDirectionToggle:eg,onEnterWord:ei,onToggleBlank:eu,onToggleFilterCell:ed}),X&&W&&(0,i.jsx)(eo,{className:_().floating,direction:R,initialValue:I.tile.character,ref:q.refs.setFloating,style:{position:q.strategy,top:null!=(t=q.y)?t:0,left:null!=(r=q.x)?r:0,transition:G},onDirectionToggle:eg,onSubmit:et})]})]})};var ey=a(1790);let ep=e=>L.s5+e*(L.Uk+L.dW),em=e=>L._l+e*(L.Uk+L.dW),eb=(e,n)=>e+2*n*(.5-Math.random());var ef=a(2260),ew=a.n(ef);let ej=e=>{let{character:n,className:a,color:t,points:o,size:u,transform:r,x:s,y:l}=e;return(0,i.jsxs)("g",{className:a,fill:"#222",transform:r,children:[(0,i.jsx)("rect",{fill:t,height:u,rx:.15*u,width:u,x:s,y:l}),(0,i.jsx)("text",{dominantBaseline:"central",fontSize:.6*u,fontWeight:"bold",textAnchor:"middle",x:s+u/2,y:l+u/2,children:n}),"number"==typeof o&&(0,i.jsx)("text",{dominantBaseline:"text-after-edge",fontSize:.25*u,fontWeight:"bold",textAnchor:"end",x:s+.9*u,y:l+.95*u,children:o})]})},eC=e=>{let{className:n,color:a,content:t,dropShadow:u,showPoints:r,style:s,wave:l}=e,c=(0,m.useMemo)(()=>(e=>{let{color:n,content:a,showPoints:i}=e;return a.map((e,a)=>e.map((t,o)=>{let u=e.slice(0,o).reduce((e,n)=>{let{length:a}=n;return e+a+1},0);return t.split("").map((e,t)=>(e=>{let{cellIndex:n,character:a,color:i,rowIndex:t,showPoints:o}=e,u=(0,ey.getConfig)(Z.Game.Literaki,Z.Locale.EN_US).getCharacterPoints(a.toLowerCase()),r="number"==typeof u?L.wu[u]:L.vK,s=ep(n)+L.Uk/2,l=em(0)+L.Uk/2;return{character:a,color:i||r,points:o?u:void 0,size:L.Uk,transform:"rotate(".concat(eb(0,L.xH),", ").concat(s,", ").concat(l,")"),x:eb(ep(n),L.iZ),y:eb(em(t),L.iZ)}})({cellIndex:u+t,character:e,color:n,rowIndex:a,showPoints:i}))})).flat(2)})({color:a,content:t,showPoints:r}),[a,t,r]);return(0,i.jsx)("svg",{className:o()(n,{[ew().dropShadow]:u,[ew().wave]:l}),style:s,viewBox:(e=>{let n=e.reduce((e,n)=>Math.max(e,n.reduce((e,n)=>e+n.length,0)+Math.max(n.length-1,0)),0),a=n*(L.Uk+L.dW)-(0===n?0:L.dW),i=e.length*(L.Uk+L.dW)-(0===e.length?0:L.dW);return"0 0 ".concat(a," ").concat(i)})(t),xmlns:"http://www.w3.org/2000/svg",children:c.map((e,n)=>(0,i.jsx)(ej,{character:e.character,className:ew().tile,color:e.color,points:e.points,size:e.size,transform:e.transform,x:e.x,y:e.y},n))})};var ev=a(5022),eS=a.n(ev);let ek={error:"empty-state.error",info:"empty-state.info",success:"empty-state.success",warning:"empty-state.warning"},eL={error:L.oH,info:L.fd,success:L.KG,warning:L.i},ex=e=>{let{children:n,className:a,variant:t}=e,u=(0,x.WD)(),r=(0,x.N4)(x.JV),{direction:s}=k.x[r],l=u(ek[t]),c="ltr"===s?l:l.split("").reverse().join(""),g=(0,m.useMemo)(()=>[c.toUpperCase().split(" ")],[c]);return(0,i.jsxs)("div",{className:o()(eS().emptyState,a),children:[(0,i.jsx)(eC,{className:eS().tiles,color:eL[t],content:g}),(0,i.jsx)("div",{children:n})]})};var eY=a(8684),e_=a.n(eY);let eT=e=>{let{className:n,wave:a=!0}=e,t=(0,x.WD)(),u=(0,x.N4)(x.JV),{direction:r}=k.x[u],s=t("common.loading"),l="ltr"===r?s:s.split("").reverse().join(""),c=(0,m.useMemo)(()=>[l.toLocaleUpperCase().split(" ")],[l]);return(0,i.jsxs)("div",{"aria-label":s,className:o()(e_().loading,n),"data-testid":"loading",role:"status",children:[(0,i.jsx)("div",{className:e_().dim}),(0,i.jsx)("div",{className:e_().text,children:(0,i.jsx)(eC,{className:o()(e_().tiles),content:c,dropShadow:!0,wave:a})})]})};var eR=a(5958),eN=a.n(eR);let eO=e=>{var n;let{className:a}=e,t=(0,x.WD)(),{dictionaryResultsHeight:u}=(0,S.rP)(),r=(0,x.N4)(x.Fe),s=(0,x.N4)(x.dp),l=(0,x.N4)(x.nD),c=null==(n=r.at(-1))?void 0:n.isAllowed;return(0,i.jsxs)("div",{className:o()(eN().dictionary,a,{[eN().isAllowed]:!0===c,[eN().isNotAllowed]:!1===c}),style:{height:u},children:[(0,i.jsxs)("div",{className:eN().content,children:[void 0!==l&&!s&&(0,i.jsx)(ex,{variant:"error",children:l.message}),void 0===l&&!s&&0===r.length&&(0,i.jsx)(ex,{variant:"info",children:t("dictionary.empty-state.uninitialized")}),r.map(e=>{let{definitions:n,exists:a,isAllowed:u,word:r}=e;return(0,i.jsx)("div",{className:o()(eN().result,{[eN().isAllowed]:!0===u,[eN().isNotAllowed]:!1===u}),children:(0,i.jsxs)("div",{className:eN().resultContent,children:[r&&(0,i.jsx)("h2",{className:eN().word,children:r}),!1===u&&(0,i.jsx)("div",{children:t("dictionary.empty-state.not-allowed")}),!0===u&&0===n.length&&(0,i.jsx)(i.Fragment,{children:(0,i.jsx)("div",{children:a?t("dictionary.empty-state.no-definitions"):t("dictionary.empty-state.no-results")})}),!0===u&&n.length>0&&(0,i.jsx)("ul",{className:eN().definitions,children:n.map((e,n)=>(0,i.jsx)("li",{className:eN().definition,children:e},n))}),!s&&null===u&&(0,i.jsx)("div",{children:t("dictionary.empty-state.no-results")})]})},r)})]}),s&&(0,i.jsx)(eT,{})]})};var eB=a(732),eD=a.n(eB);let eZ=e=>{let{className:n}=e,a=(0,v.wA)(),t=(0,x.WD)(),u=(0,x.N4)(x.JV),{input:r}=(0,x.N4)(x.Tx),{comma:s}=k.x[u];return(0,i.jsx)("form",{className:o()(eD().dictionaryInput,n),onSubmit:e=>{e.preventDefault(),a(x.zp.actions.submit())},children:(0,i.jsx)("input",{className:eD().input,pattern:".*[^\\s".concat(s,"].*"),placeholder:t("dictionary.input.placeholder"),required:!0,title:t("dictionary.input.title"),type:"text",value:r,onChange:e=>{a(x.zp.actions.changeInput(e.target.value))}})})};var eM=a(8516),eJ=a.n(eM);let eE=Object.assign(e=>{let{className:n,Icon:a,tooltip:t,...u}=e;return(0,i.jsx)(A,{tooltip:t,children:(0,i.jsx)("button",{className:o()(eJ().iconButton,n),type:"button",...u,children:(0,i.jsx)("span",{className:eJ().content,children:(0,i.jsx)(a,{"aria-hidden":"true",className:eJ().icon,role:"img"})})})})},{Link:e=>{let{className:n,Icon:a,tooltip:t,...u}=e;return(0,i.jsx)(A,{tooltip:t,children:(0,i.jsx)("a",{className:o()(eJ().iconButton,n),...u,children:(0,i.jsx)("span",{className:eJ().content,children:(0,i.jsx)(a,{"aria-hidden":"true",className:eJ().icon,role:"img"})})})})}});var eH=a(8272),eA=a.n(eH);let eP=e=>{let{children:n,className:a}=e;return(0,i.jsx)("kbd",{className:o()(eA().key,a),children:n})};var eX=a(8588),eF=a.n(eX);let eW=(0,m.forwardRef)((e,n)=>{let{logoHeight:a,logoWidth:t}=(0,S.rP)();return(0,i.jsx)(eF(),{...e,alt:"Scrabble Solver 2",height:a,priority:!0,ref:n,src:L.dX,width:t})});var eQ=a(6341),eG=a.n(eQ),eU=a(599),eK=a.n(eU),ez=a(8108),eI=a.n(ez);let eV=Object.assign(e=>{let{children:n,className:a,footer:t,isOpen:r,title:s,onClose:l}=e,c=(0,x.WD)(),[g,h]=(0,m.useState)(!0),d=(0,m.useCallback)(e=>{"Escape"===e.key&&(h(!1),setTimeout(()=>{l()},0))},[l]);return(0,m.useEffect)(()=>(document.addEventListener("keydown",d),()=>{document.removeEventListener("keydown",d)}),[d]),(0,m.useEffect)(()=>{r&&h(!0)},[r]),(0,i.jsx)(eG(),{className:{afterOpen:eI().afterOpen,base:eI().modal,beforeClose:eI().beforeClose},closeTimeoutMS:L.oK,contentLabel:s,isOpen:r,overlayClassName:eI().overlay,shouldReturnFocusAfterClose:g,onRequestClose:l,children:(0,i.jsxs)("div",{className:o()(eI().container,a),children:[(0,i.jsxs)("div",{className:eI().header,children:[(0,i.jsx)("h1",{className:eI().title,children:s}),(0,i.jsx)(eE,{"aria-label":c("common.close"),className:eI().closeButton,Icon:u.pm,tooltip:c("common.close"),onClick:l})]}),(0,i.jsx)("div",{className:eI().content,children:n}),t&&(0,i.jsx)("div",{className:eI().footer,children:t})]})})},{Section:e=>{let{children:n,className:a,label:t,title:u}=e;return(0,i.jsxs)("section",{"aria-label":t,className:o()(eK().section,a),children:[(0,i.jsx)("h2",{className:eK().heading,children:u}),(0,i.jsx)("div",{children:n})]})}});var eq=a(6910),e$=a.n(eq);let e0=(0,eg.Mz)([x.X7],e=>e.length>0),e1=(0,eg.Mz)([x.um],e=>e.some(e=>{let{count:n=0,usedCount:a}=e;return a>n})),e2=(0,m.memo)(e=>{let{onClear:n,onShowKeyMap:a,onShowMenu:t,onShowRemainingTiles:r,onShowSettings:s,onShowWords:l}=e,c=(0,x.WD)(),g=(0,x.N4)(x.zg),h=(0,x.N4)(e0),d=(0,x.N4)(e1),{showKeyMap:y,showShortNav:p}=(0,S.rP)();return p?(0,i.jsxs)("div",{className:e$().navButtons,children:[(0,i.jsx)("div",{className:e$().group,children:(0,i.jsx)(eE,{"aria-label":c("common.clear"),className:e$().button,Icon:u.Xn,tooltip:c("common.clear"),onClick:n})}),(0,i.jsx)("div",{className:e$().separator}),(0,i.jsx)("div",{className:e$().group,children:(0,i.jsx)(eE,{"aria-label":c("menu"),className:e$().button,Icon:u.B8,tooltip:c("menu"),onClick:t})})]}):(0,i.jsxs)("div",{className:e$().navButtons,children:[(0,i.jsx)("div",{className:e$().group,children:(0,i.jsx)(eE,{"aria-label":c("common.clear"),className:e$().button,Icon:u.Xn,tooltip:c("common.clear"),onClick:n})}),(0,i.jsx)("div",{className:e$().separator}),(0,i.jsxs)("div",{className:e$().group,children:[g.supportsRemainingTiles&&(0,i.jsx)(eE,{"aria-label":c("remaining-tiles"),className:o()(e$().button,{[e$().error]:d}),Icon:u.LK,tooltip:c("remaining-tiles"),onClick:r}),(0,i.jsx)(eE,{"aria-label":c("words"),className:o()(e$().button,{[e$().error]:h}),Icon:u.Pv,tooltip:c("words"),onClick:l})]}),(0,i.jsx)("div",{className:e$().separator}),(0,i.jsx)("div",{className:e$().group,children:(0,i.jsx)(eE.Link,{"aria-label":c("github"),className:e$().button,href:L.g,Icon:u.Cp,rel:"noopener noreferrer",target:"_blank",tooltip:c("github")})}),(0,i.jsx)("div",{className:e$().separator}),(0,i.jsxs)("div",{className:e$().group,children:[y&&(0,i.jsx)(eE,{"aria-label":c("keyMap"),className:e$().button,Icon:u.FS,tooltip:c("keyMap"),onClick:a}),(0,i.jsx)(eE,{"aria-label":c("settings"),"data-testid":"settings-button",className:e$().button,Icon:u.mg,tooltip:c("settings"),onClick:s})]})]})});var e5=a(2712),e3=a.n(e5);let e4=[["HTTP","404"]],e6=()=>(0,i.jsx)("div",{className:e3().notFound,children:(0,i.jsxs)("a",{className:e3().link,href:"/",children:[(0,i.jsx)(u.oL,{"aria-hidden":"true",className:e3().icon,role:"img"}),(0,i.jsx)(eC,{className:e3().tiles,content:e4})]})});var e8=a(7088),e7=a.n(e8);let e9=e=>{let{className:n,max:a,min:t=0,style:u,value:r,...s}=e,l=(0,x.N4)(x.JV),c=r/(a-t),g=Math.round(100*c);return(0,i.jsx)("div",{...s,className:o()(e7().progress,n),style:{...u,backgroundImage:((e,n,a)=>{let i=100*e;return"linear-gradient(90deg, ".concat(n," 0%, ").concat(n," ").concat(i,"%, ").concat(a," ").concat(i,"%, ").concat(a," 100%)")})(c,L.yU,L.hR)},title:"".concat(g.toLocaleString(l),"%")})};var ne=a(9057),nn=a.n(ne),na=a(7483);let ni=Object.assign((0,m.forwardRef)((e,n)=>{let{className:a,style:t,value:u,onBlur:r,onChange:s,onSubmit:l,...c}=e,g=(0,v.wA)(),h=(0,x.WD)(),{rackHeight:d,rackWidth:y}=(0,S.rP)(),p=(0,x.N4)(x.zg),[b,f]=(0,m.useState)(null),w=(0,m.useCallback)(e=>{e.preventDefault();let n=((e,n)=>{let a=(0,na.E)(e,n,{upperCaseDigraphsOnly:!0});return Array.from({length:e.rackSize},(e,n)=>"string"==typeof a[n]?a[n]:null)})(p,u);g(x.oN.actions.changeCharacters({characters:n,index:0})),l(e)},[p,g,u,l]);return(0,m.useEffect)(()=>{b&&(b.focus(),b.select(),b.scrollIntoView({block:"end",inline:"center"}))},[b]),(0,i.jsx)("form",{className:o()(nn().form,a),ref:n,style:{width:y,height:d,...t},onSubmit:w,...c,children:(0,i.jsx)("input",{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",className:nn().input,placeholder:h("rack.touchscreen.placeholder"),ref:f,spellCheck:!1,value:u,onBlur:r,onChange:s})})}),{styles:nn()});var nt=a(3285),no=a.n(nt);let nu=e=>{let{activeIndexRef:n,character:a,className:t,index:u,inputRef:r,size:s,tile:l,onChange:c,onKeyDown:g,onFocus:h}=e,d=(0,v.wA)(),y=(0,x.WD)(),b=(0,x.N4)(x.JV),f=(0,x.N4)(x.zg),w=(0,x.N4)(x.QN),j=(0,x.N4)(e=>(0,x.fy)(e,a)),C=(0,x.N4)(e=>(0,x.sE)(e,a)),S=(0,m.useCallback)(e=>{"touchscreen"===w&&(e.preventDefault(),e.target.blur(),h()),n.current=u},[n,u,w,h]),k=(0,m.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let n=(0,T.PK)(e.target),a=n?(0,T.EQ)(f,n):[null];d(x.oN.actions.changeCharacters({characters:a,index:u})),c(e)},[f,d,u,c]),L=(0,m.useMemo)(()=>(0,T.k)({onBackspace:e=>{e.preventDefault(),d(x.oN.actions.changeCharacter({character:null,index:u}))},onKeyDown:e=>{if((0,T._0)(e)&&f.isTwoCharacterTilePrefix(e.key)){e.preventDefault(),e.stopPropagation();let n=f.getTwoCharacterTileByPrefix(e.key);n&&d(x.oN.actions.changeCharacter({character:n,index:u}))}g(e)}}),[f,d,u,g]),Y=(0,m.useCallback)(e=>{"touchscreen"===w&&e.preventDefault(),h()},[w,h]),_=(0,m.useCallback)(e=>{"touchscreen"===w&&e.preventDefault(),h()},[w,h]);return(0,i.jsx)($,{"aria-label":y("rack.tile.location",{index:(u+1).toLocaleString(b)}),autoFocus:"keyboard"===w&&0===u,className:o()(no().rackTile,t),character:null===a?void 0:a,highlighted:null!==l,inputRef:r,isBlank:a===p.BLANK,isValid:C,placeholder:y("rack.placeholder")[u],points:j,raised:!0,size:s,tabIndex:0===u?void 0:-1,onChange:k,onFocus:S,onKeyDown:L,onMouseDown:Y,onTouchStart:_},u)};var nr=a(2824),ns=a.n(nr);let nl=(0,eg.Mz)([x.ij,x.i1],T._x),nc=e=>{var n;let{className:a,tileSize:t}=e,u=(0,v.wA)(),{rackHeight:r}=(0,S.rP)(),s=(0,x.N4)(x.zg),l=(0,x.N4)(x.JV),c=(0,x.N4)(x.ij),g=(0,x.N4)(x.QN),h=(0,x.N4)(nl),d=h.length,p=(0,m.useMemo)(()=>Ar