@scrabble-solver/scrabble-solver 2.13.13 → 2.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +5 -5
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/.next/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/807.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/index.js +1 -1
- package/.next/server/pages/index.json +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/{qwJjm2FeDHHGY92CY5oQQ → TxfjxrH5h31sPQxPhrJzG}/_buildManifest.js +1 -1
- package/.next/static/chunks/pages/{_app-42ce6b4032e931ff.js → _app-2912876c7b6e698e.js} +2 -2
- package/.next/static/chunks/pages/index-86d9ad372c48c8b7.js +1 -0
- package/.next/static/css/{2adc9736d823979b.css → 14625ff7b4d265d0.css} +1 -1
- package/.next/trace +45 -45
- package/package.json +12 -12
- package/src/components/Alert/Alert.tsx +1 -1
- package/src/components/Board/BoardPure.tsx +1 -1
- package/src/components/Button/Button.tsx +1 -1
- package/src/components/IconButton/IconButton.tsx +1 -1
- package/src/components/IconButton/Link.tsx +1 -1
- package/src/components/Keys/Arrows/Arrows.tsx +4 -4
- package/src/components/NotFound/NotFound.tsx +1 -1
- package/src/components/Radio/Radio.tsx +1 -1
- package/src/components/Results/HeaderButton.tsx +1 -1
- package/src/components/Results/Results.module.scss +5 -8
- package/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx +1 -1
- package/src/components/Tile/TilePure.tsx +1 -1
- package/src/modals/MenuModal/MenuModal.tsx +1 -1
- package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +1 -1
- package/src/modals/WordsModal/WordsModal.tsx +2 -2
- package/.next/static/chunks/pages/index-3718075f2ba2220c.js +0 -1
- /package/.next/static/{qwJjm2FeDHHGY92CY5oQQ → TxfjxrH5h31sPQxPhrJzG}/_ssgManifest.js +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/scrabble-solver",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.0",
|
|
4
4
|
"description": "Scrabble Solver 2 - App",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=16"
|
|
@@ -27,16 +27,16 @@
|
|
|
27
27
|
"start": "env-cmd next start -p 3333"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@floating-ui/react": "^0.26.
|
|
30
|
+
"@floating-ui/react": "^0.26.20",
|
|
31
31
|
"@kamilmielnik/trie": "^3.0.0",
|
|
32
|
-
"@reduxjs/toolkit": "^2.2.
|
|
33
|
-
"@scrabble-solver/configs": "^2.
|
|
34
|
-
"@scrabble-solver/constants": "^2.
|
|
35
|
-
"@scrabble-solver/dictionaries": "^2.
|
|
36
|
-
"@scrabble-solver/logger": "^2.
|
|
37
|
-
"@scrabble-solver/solver": "^2.
|
|
38
|
-
"@scrabble-solver/types": "^2.
|
|
39
|
-
"@scrabble-solver/word-definitions": "^2.
|
|
32
|
+
"@reduxjs/toolkit": "^2.2.7",
|
|
33
|
+
"@scrabble-solver/configs": "^2.14.0",
|
|
34
|
+
"@scrabble-solver/constants": "^2.14.0",
|
|
35
|
+
"@scrabble-solver/dictionaries": "^2.14.0",
|
|
36
|
+
"@scrabble-solver/logger": "^2.14.0",
|
|
37
|
+
"@scrabble-solver/solver": "^2.14.0",
|
|
38
|
+
"@scrabble-solver/types": "^2.14.0",
|
|
39
|
+
"@scrabble-solver/word-definitions": "^2.14.0",
|
|
40
40
|
"classnames": "^2.5.1",
|
|
41
41
|
"env-cmd": "^10.1.0",
|
|
42
42
|
"include-media": "^2.0.0",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"react-window": "^1.8.10",
|
|
53
53
|
"redux-saga": "^1.3.0",
|
|
54
54
|
"store2": "^2.14.3",
|
|
55
|
-
"use-debounce": "^10.0.
|
|
55
|
+
"use-debounce": "^10.0.2",
|
|
56
56
|
"workbox-expiration": "^7.1.0",
|
|
57
57
|
"workbox-precaching": "^7.1.0",
|
|
58
58
|
"workbox-routing": "^7.1.0",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"@types/redux-saga": "^0.10.5",
|
|
74
74
|
"sass": "^1.77.8"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "013ecd9af1dcd04b1426358221c8131cdafd7331"
|
|
77
77
|
}
|
|
@@ -32,7 +32,7 @@ const Alert: FunctionComponent<Props> = ({ children, className, variant, ...prop
|
|
|
32
32
|
{...props}
|
|
33
33
|
>
|
|
34
34
|
<div className={styles.iconContainer}>
|
|
35
|
-
<Icon className={styles.icon} />
|
|
35
|
+
<Icon aria-hidden="true" className={styles.icon} role="img" />
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
<div className={styles.content}>{children}</div>
|
|
@@ -34,7 +34,7 @@ const Button: FunctionComponent<Props> = ({
|
|
|
34
34
|
{...props}
|
|
35
35
|
>
|
|
36
36
|
<span className={styles.content}>
|
|
37
|
-
{Icon && <Icon className={classNames(styles.icon, iconClassName)} />}
|
|
37
|
+
{Icon && <Icon aria-hidden="true" className={classNames(styles.icon, iconClassName)} role="img" />}
|
|
38
38
|
{children && <span className={styles.label}>{children}</span>}
|
|
39
39
|
</span>
|
|
40
40
|
</button>
|
|
@@ -19,7 +19,7 @@ const IconButton: FunctionComponent<Props> = ({ className, Icon, tooltip, ...pro
|
|
|
19
19
|
<Tooltip tooltip={tooltip}>
|
|
20
20
|
<button className={classNames(styles.iconButton, className)} type="button" {...props}>
|
|
21
21
|
<span className={styles.content}>
|
|
22
|
-
<Icon className={styles.icon} />
|
|
22
|
+
<Icon aria-hidden="true" className={styles.icon} role="img" />
|
|
23
23
|
</span>
|
|
24
24
|
</button>
|
|
25
25
|
</Tooltip>
|
|
@@ -18,7 +18,7 @@ const Link: FunctionComponent<Props> = ({ className, Icon, tooltip, ...props })
|
|
|
18
18
|
<Tooltip tooltip={tooltip}>
|
|
19
19
|
<a className={classNames(styles.iconButton, className)} {...props}>
|
|
20
20
|
<span className={styles.content}>
|
|
21
|
-
<Icon className={styles.icon} />
|
|
21
|
+
<Icon aria-hidden="true" className={styles.icon} role="img" />
|
|
22
22
|
</span>
|
|
23
23
|
</a>
|
|
24
24
|
</Tooltip>
|
|
@@ -14,16 +14,16 @@ interface Props {
|
|
|
14
14
|
const Arrows: FunctionComponent<Props> = ({ className }) => (
|
|
15
15
|
<div className={classNames(styles.arrows, className)}>
|
|
16
16
|
<Key className={classNames(styles.arrow, styles.left)}>
|
|
17
|
-
<ArrowLeft />
|
|
17
|
+
<ArrowLeft aria-hidden="true" role="img" />
|
|
18
18
|
</Key>
|
|
19
19
|
<Key className={classNames(styles.arrow, styles.up)}>
|
|
20
|
-
<ArrowUp />
|
|
20
|
+
<ArrowUp aria-hidden="true" role="img" />
|
|
21
21
|
</Key>
|
|
22
22
|
<Key className={classNames(styles.arrow, styles.right)}>
|
|
23
|
-
<ArrowRight />
|
|
23
|
+
<ArrowRight aria-hidden="true" role="img" />
|
|
24
24
|
</Key>
|
|
25
25
|
<Key className={classNames(styles.arrow, styles.down)}>
|
|
26
|
-
<ArrowDown />
|
|
26
|
+
<ArrowDown aria-hidden="true" role="img" />
|
|
27
27
|
</Key>
|
|
28
28
|
</div>
|
|
29
29
|
);
|
|
@@ -11,7 +11,7 @@ const CONTENT = [['HTTP', '404']];
|
|
|
11
11
|
const NotFound: FunctionComponent = () => (
|
|
12
12
|
<div className={styles.notFound}>
|
|
13
13
|
<a className={styles.link} href="/">
|
|
14
|
-
<DashCircleFill className={styles.icon} />
|
|
14
|
+
<DashCircleFill aria-hidden="true" className={styles.icon} role="img" />
|
|
15
15
|
<PlainTiles className={styles.tiles} content={CONTENT} />
|
|
16
16
|
</a>
|
|
17
17
|
</div>
|
|
@@ -30,7 +30,7 @@ const Radio: FunctionComponent<Props> = ({ checked, children, className, disable
|
|
|
30
30
|
onChange={onChange}
|
|
31
31
|
/>
|
|
32
32
|
|
|
33
|
-
<div className={styles.icon} />
|
|
33
|
+
<div aria-hidden="true" className={styles.icon} role="img" />
|
|
34
34
|
|
|
35
35
|
<div className={styles.content}>{children}</div>
|
|
36
36
|
</label>
|
|
@@ -37,7 +37,7 @@ const HeaderButton = ({ className, Icon, id, translationKey, style }: Props): Re
|
|
|
37
37
|
onClick={handleClick}
|
|
38
38
|
>
|
|
39
39
|
<span className={styles.cell}>
|
|
40
|
-
{Icon && <Icon className={styles.headerButtonIcon} />}
|
|
40
|
+
{Icon && <Icon aria-hidden="true" className={styles.headerButtonIcon} role="img" />}
|
|
41
41
|
|
|
42
42
|
{!Icon && <span className={styles.headerButtonLabel}>{translate(translationKey)}</span>}
|
|
43
43
|
|
|
@@ -56,7 +56,9 @@ $row-padding-horizontal: calc(var(--spacing--m) + var(--spacing--s));
|
|
|
56
56
|
cursor: pointer;
|
|
57
57
|
|
|
58
58
|
text-transform: uppercase;
|
|
59
|
-
transition:
|
|
59
|
+
transition:
|
|
60
|
+
background-color var(--transition--duration) var(--transition--easing),
|
|
61
|
+
color var(--transition--duration) var(--transition--easing);
|
|
60
62
|
background-color: var(--color--background);
|
|
61
63
|
height: 100%;
|
|
62
64
|
|
|
@@ -138,6 +140,7 @@ $row-padding-horizontal: calc(var(--spacing--m) + var(--spacing--s));
|
|
|
138
140
|
|
|
139
141
|
.word {
|
|
140
142
|
@include ellipsis;
|
|
143
|
+
|
|
141
144
|
display: flex;
|
|
142
145
|
}
|
|
143
146
|
}
|
|
@@ -147,17 +150,12 @@ $row-padding-horizontal: calc(var(--spacing--m) + var(--spacing--s));
|
|
|
147
150
|
align-items: center;
|
|
148
151
|
justify-content: center;
|
|
149
152
|
height: 100%;
|
|
150
|
-
padding: 0 var(--spacing--s);
|
|
151
153
|
gap: var(--spacing--s);
|
|
152
154
|
line-height: var(--results--item--height);
|
|
153
155
|
|
|
154
|
-
&.word,
|
|
156
|
+
.result &.word,
|
|
155
157
|
.headerButton.word & {
|
|
156
158
|
justify-content: flex-start;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
.result &.word:first-child,
|
|
160
|
-
.headerButton.word:first-child & {
|
|
161
159
|
padding-inline-start: $row-padding-horizontal;
|
|
162
160
|
}
|
|
163
161
|
|
|
@@ -183,7 +181,6 @@ $row-padding-horizontal: calc(var(--spacing--m) + var(--spacing--s));
|
|
|
183
181
|
$width: 80px;
|
|
184
182
|
|
|
185
183
|
flex: 1 0 $width;
|
|
186
|
-
max-width: $width;
|
|
187
184
|
font-weight: bold;
|
|
188
185
|
}
|
|
189
186
|
|
|
@@ -90,7 +90,7 @@ const ResultCandidatePicker: FunctionComponent<Props> = ({ className, onResultCl
|
|
|
90
90
|
|
|
91
91
|
<div className={styles.iconContainer}>
|
|
92
92
|
{isLoading && <Spinner className={styles.loading} />}
|
|
93
|
-
{!isLoading && <ChevronDown className={styles.icon} />}
|
|
93
|
+
{!isLoading && <ChevronDown aria-hidden="true" className={styles.icon} role="img" />}
|
|
94
94
|
</div>
|
|
95
95
|
</button>
|
|
96
96
|
|
|
@@ -107,7 +107,7 @@ const TilePure: FunctionComponent<Props> = ({
|
|
|
107
107
|
</span>
|
|
108
108
|
)}
|
|
109
109
|
|
|
110
|
-
{!isValid && <ExclamationSquareFill className={styles.alert} />}
|
|
110
|
+
{!isValid && <ExclamationSquareFill aria-hidden="true" className={styles.alert} role="img" />}
|
|
111
111
|
</div>
|
|
112
112
|
);
|
|
113
113
|
|
|
@@ -64,7 +64,7 @@ const MenuModal: FunctionComponent<Props> = ({
|
|
|
64
64
|
<Button aria-label={translate('settings')} className={styles.button} Icon={Cog} onClick={onShowSettings}>
|
|
65
65
|
<div className={styles.settings}>
|
|
66
66
|
<div className={styles.settingsLabel}>{translate('settings')}</div>
|
|
67
|
-
<Icon className={styles.flag} />
|
|
67
|
+
<Icon aria-hidden="true" className={styles.flag} role="img" />
|
|
68
68
|
</div>
|
|
69
69
|
</Button>
|
|
70
70
|
</Modal>
|
|
@@ -40,7 +40,7 @@ const LocaleSetting: FunctionComponent<Props> = ({ className, disabled }) => {
|
|
|
40
40
|
onChange={handleChange}
|
|
41
41
|
>
|
|
42
42
|
<span className={styles.label}>
|
|
43
|
-
<Icon className={styles.flag} />
|
|
43
|
+
<Icon aria-hidden="true" className={styles.flag} role="img" />
|
|
44
44
|
|
|
45
45
|
<span>{option.label}</span>
|
|
46
46
|
</span>
|
|
@@ -31,7 +31,7 @@ const WordsModal: FunctionComponent<Props> = ({ className, isOpen, onClose }) =>
|
|
|
31
31
|
>
|
|
32
32
|
{invalidWords.map((word, index) => (
|
|
33
33
|
<div className={styles.word} key={index}>
|
|
34
|
-
<Cross className={classNames(styles.icon, styles.invalid)} /> {word}
|
|
34
|
+
<Cross aria-hidden="true" className={classNames(styles.icon, styles.invalid)} role="img" /> {word}
|
|
35
35
|
</div>
|
|
36
36
|
))}
|
|
37
37
|
</Modal.Section>
|
|
@@ -47,7 +47,7 @@ const WordsModal: FunctionComponent<Props> = ({ className, isOpen, onClose }) =>
|
|
|
47
47
|
>
|
|
48
48
|
{validWords.map((word, index) => (
|
|
49
49
|
<div className={styles.word} key={index}>
|
|
50
|
-
<Check className={classNames(styles.icon, styles.valid)} /> {word}
|
|
50
|
+
<Check aria-hidden="true" className={classNames(styles.icon, styles.valid)} role="img" /> {word}
|
|
51
51
|
</div>
|
|
52
52
|
))}
|
|
53
53
|
</Modal.Section>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{7314:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return t(8025)}])},8025:function(e,n,t){"use strict";t.r(n),t.d(n,{__N_SSG:function(){return ew},default:function(){return eC}});var a=t(2322),i=t(2784),s=t(7149),r=t.n(s),l=t(8702),o=t(987),c=t(914),d=t(6303),u=t(9712),h=t(4446),p=t.n(h),g=(0,i.memo)(e=>{let{className:n,isOpen:t,onClose:i}=e,s=(0,u.qM)();return(0,a.jsx)(o.u_,{className:n,isOpen:t,title:s("dictionary"),onClose:i,children:(0,a.jsxs)("div",{className:p().content,children:[(0,a.jsx)(o.Xy,{className:p().dictionary}),(0,a.jsx)(o.Z$,{className:p().dictionaryInput})]})})}),v=t(2524),m=t.n(v),x=t(5301),f=t.n(x),b=e=>{let{className:n,description:t,mapping:s}=e;return(0,a.jsxs)("div",{className:m()(f().mapping,n),children:[(0,a.jsx)("h3",{className:f().description,children:t}),(0,a.jsx)("div",{className:f().keys,children:s.map((e,n)=>(0,a.jsxs)(i.Fragment,{children:[(0,a.jsx)("div",{className:f().group,children:Array.isArray(e)?(0,a.jsxs)(a.Fragment,{children:[e[0],(0,a.jsx)("span",{className:f().plus,children:"+"}),e[1]]}):e}),s.length>1&&n<s.length-1&&(0,a.jsx)("span",{className:f().slash,children:"/"})]},n))})]})},j=(0,i.memo)(e=>{let{className:n,isOpen:t,onClose:i}=e,s=(0,u.qM)(),r=(0,u.ix)(u.$o);return(0,a.jsxs)(o.u_,{className:n,isOpen:t,title:s("keyMap"),onClose:i,children:[(0,a.jsxs)(o.u_.Section,{label:s("keyMap.board-and-rack"),title:s("keyMap.board-and-rack"),children:[(0,a.jsx)(b,{description:s("keyMap.board-and-rack.navigate"),mapping:[(0,a.jsx)(o.ki,{},"arrows")]}),(0,a.jsx)(b,{description:s("keyMap.board-and-rack.remove-tile"),mapping:[(0,a.jsx)(o.v6,{},"del"),(0,a.jsx)(o.kW,{},"backspace")]}),(0,a.jsx)(b,{description:s("keyMap.board-and-rack.submit"),mapping:[(0,a.jsx)(o.Ce,{},"del")]}),r.twoCharacterTiles.length>0&&(0,a.jsx)(b,{description:s("keyMap.board-and-rack.insert-two-letter-tile"),mapping:[[(0,a.jsx)(o.e1,{},"ctrl"),(0,a.jsx)(a.Fragment,{children:r.twoCharacterTiles.map(e=>{let[n]=e;return(0,a.jsx)(o.sr,{children:n.toUpperCase()},n)})})]]})]}),(0,a.jsxs)(o.u_.Section,{label:s("keyMap.board"),title:s("keyMap.board"),children:[(0,a.jsx)(b,{description:s("keyMap.board.toggle-direction"),mapping:[(0,a.jsx)(o.ki,{},"arrows")]}),(0,a.jsx)(b,{description:s("keyMap.board.toggle-blank"),mapping:[(0,a.jsx)(o.T,{},"space")]}),(0,a.jsx)(b,{description:s("keyMap.board.toggle-cell-filter"),mapping:[[(0,a.jsx)(o.e1,{},"ctrl"),(0,a.jsx)(o.sr,{children:"G"},"g")]]})]}),(0,a.jsx)(o.u_.Section,{label:s("keyMap.rack"),title:s("keyMap.rack"),children:(0,a.jsx)(b,{description:s("keyMap.rack.insert-blank"),mapping:[(0,a.jsx)(o.T,{},"space")]})})]})}),y=t(8630),k=t(5280),w=t(5347),C=t.n(w),N=(0,i.memo)(e=>{let{className:n,isOpen:t,onClose:i,onShowDictionary:s,onShowRemainingTiles:r,onShowSettings:l,onShowWords:c}=e,h=(0,u.qM)(),p=(0,u.ix)(u.fN),{Icon:g}=d.q[p];return(0,a.jsxs)(o.u_,{className:n,isOpen:t,title:h("menu"),onClose:i,children:[(0,a.jsx)(o.zx,{"aria-label":h("remaining-tiles"),className:C().button,Icon:y.xy,onClick:r,children:h("remaining-tiles")}),(0,a.jsx)(o.zx,{"aria-label":h("words"),className:C().button,Icon:y.Kz,onClick:c,children:h("words")}),(0,a.jsx)(o.zx,{"aria-label":h("dictionary"),className:C().button,Icon:y.PP,onClick:s,children:h("dictionary")}),(0,a.jsx)(o.zx.Link,{"aria-label":h("github"),className:C().button,href:k.h4,Icon:y.Ey,rel:"noopener noreferrer",target:"_blank",children:h("github")}),(0,a.jsx)(o.zx,{"aria-label":h("settings"),className:C().button,Icon:y.Oz,onClick:l,children:(0,a.jsxs)("div",{className:C().settings,children:[(0,a.jsx)("div",{className:C().settingsLabel,children:h("settings")}),(0,a.jsx)(g,{className:C().flag})]})})]})}),M=t(7833),S=t(7618),E=t(9283),I=t.n(E),L=e=>{let{tile:n}=e,t=(0,u.ix)(u.fN),{direction:i}=d.q[t],{character:s,count:r,usedCount:l}=n,c=r-l,h=(0,u.ix)(e=>(0,u.Or)(e,s)),p="ltr"===i?c:r,g="ltr"===i?r:c;return(0,a.jsxs)("div",{className:m()(I().character,{[I().finished]:c<=0,[I().overused]:c<0}),children:[(0,a.jsx)(o.n9,{"aria-label":s,character:s,className:I().tile,disabled:!0,isBlank:s===S.BLANK,isValid:c>=0,points:h,raised:!0,size:k.mM}),(0,a.jsx)(o.Ex,{className:I().remaining,max:r,style:{width:k.mM},value:c}),(0,a.jsxs)("div",{className:I().count,children:[p.toLocaleString(t)," / ",g.toLocaleString(t)]})]})},O=t(9900),T=t.n(O),P=(0,i.memo)(e=>{let{className:n,isOpen:t,onClose:i}=e,s=(0,u.qM)(),r=(0,u.ix)(u.fN),l=(0,u.ix)(u.Yj),{tileFontSize:c}=(0,M.vc)(k.mM),{direction:h}=d.q[r];return(0,a.jsx)(o.u_,{className:n,isOpen:t,title:s("remaining-tiles"),onClose:i,children:l.map(e=>{let{remainingCount:n,tiles:t,translationKey:i,totalCount:l}=e;return(0,a.jsx)(o.u_.Section,{label:s(i),title:(0,a.jsxs)("span",{className:T().title,children:[(0,a.jsx)("span",{children:s(i)}),(0,a.jsxs)(o.Ct,{className:T().badge,children:[("ltr"===h?n:l).toLocaleString(r)," / ",("ltr"===h?l:n).toLocaleString(r)]})]}),children:(0,a.jsx)("div",{className:T().content,style:{fontSize:c},children:t.map(e=>(0,a.jsx)("div",{className:T().character,children:(0,a.jsx)(L,{tile:e})},e.character))})},i)})})}),W=t(2306),R=t.n(W),q=(0,i.memo)(e=>{let{className:n,isOpen:t,onClose:s}=e,r=(0,l.I0)(),d=(0,u.qM)(),{showResultsInModal:h}=(0,c.Ft)(),p=(0,u.ix)(u.x5),g=(0,u.ix)(u.Xk),v=p?p.findIndex(e=>e.id===(null==g?void 0:g.id)):-1,m=(0,i.useMemo)(()=>({onClick:e=>{e===g?s():r(u._C.actions.changeResultCandidate(e))}}),[r,s,g]);return(0,i.useEffect)(()=>{t&&!h&&s()},[t,s,h]),(0,a.jsx)(o.u_,{className:n,footer:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.zx,{"aria-label":d("results.insert"),disabled:!g,Icon:y.Jr,tooltip:d("results.insert"),variant:"primary",onClick:()=>{g&&r(u._C.actions.applyResult(g)),s()},children:d("results.insert")}),(0,a.jsx)(o.zx,{"aria-label":d("results.preview"),disabled:!g,Icon:y.YO,tooltip:d("results.preview"),onClick:()=>{s()},children:d("results.preview")})]}),isOpen:t,title:d("results"),onClose:s,children:(0,a.jsxs)("div",{className:R().content,children:[(0,a.jsx)(o.u9,{callbacks:m,className:R().results,highlightedIndex:-1===v?void 0:v}),(0,a.jsx)(o.Xy,{className:R().dictionary})]})})}),G=t(721),z=t.n(G);let A="null",U=e=>{if("left"===e||"right"===e)return e;if(e===A)return null;throw Error('"'.concat(e,'" is not valid. Should be "left", "right", or "').concat(A,'"'))};var X=e=>{let{className:n,disabled:t}=e,i=(0,l.I0)(),s=(0,u.qM)(),r=(0,u.ix)(u.uz),c=[{label:s("settings.autoGroupTiles.left"),value:"left"},{label:s("settings.autoGroupTiles.right"),value:"right"},{label:s("settings.autoGroupTiles.null"),value:A}],d=e=>{let n=U(e.target.value);i(u.xj.actions.changeAutoGroupTiles(n))};return(0,a.jsx)("div",{className:n,children:c.map(e=>(0,a.jsx)(o.Y8,{checked:r===U(e.value),className:z().option,disabled:t,name:"autoGroupTiles",value:e.value,onChange:d,children:(0,a.jsx)("div",{className:z().label,children:e.label})},e.value))})},Y=t(9418),K=t(4046),F=t(1831),D=t.n(F),V=e=>{let{className:n,disabled:t}=e,i=(0,l.I0)(),s=(0,u.ix)(u.J1),r=(0,u.ix)(u.fN),c=Object.values(Y.games).map(e=>({disabled:!(0,Y.hasConfig)(e.game,r),label:e.name,value:e.game})),d=e=>{(0,K.isGame)(e.target.value)&&i(u.xj.actions.changeGame(e.target.value))};return(0,a.jsx)("div",{className:n,children:c.map(e=>(0,a.jsx)(o.Y8,{checked:s===e.value,className:D().option,disabled:t||e.disabled,name:"game",value:e.value,onChange:d,children:(0,a.jsx)("div",{className:D().label,children:e.label})},e.value))})},H=t(3979),J=t.n(H);let Z=e=>{if("keyboard"===e)return"keyboard";if("touchscreen"===e)return"touchscreen";throw Error('"'.concat(e,'" is not valid. Should be "keyboard" or "touchscreen"'))};var B=e=>{let{className:n,disabled:t}=e,i=(0,l.I0)(),s=(0,u.qM)(),r=(0,u.ix)(u.Ub),c=[{label:s("settings.inputMode.keyboard"),value:"keyboard"},{label:s("settings.inputMode.touchscreen"),value:"touchscreen"}],d=e=>{let n=Z(e.target.value);i(u.xj.actions.changeInputMode(n))};return(0,a.jsx)("div",{className:n,children:c.map(e=>(0,a.jsx)(o.Y8,{checked:r===e.value,className:J().option,disabled:t,name:"inputMode",value:e.value,onChange:d,children:(0,a.jsx)("div",{className:J().label,children:e.label})},e.value))})},Q=t(9743),$=t.n(Q);let ee=Object.values(d.q).sort((e,n)=>e.name.localeCompare(n.name));var en=e=>{let{className:n,disabled:t}=e,i=(0,l.I0)(),s=(0,u.ix)(u.fN),r=e=>{let n=e.target.value;i(u.xj.actions.changeLocale(n))};return(0,a.jsx)("div",{className:n,children:ee.map(e=>{let{Icon:i,...l}=e;return(0,a.jsx)(o.Y8,{checked:s===l.locale,className:m()($().option,n,{[$().checked]:s===l.locale}),disabled:t,name:"locale",value:l.locale,onChange:r,children:(0,a.jsxs)("span",{className:$().label,children:[(0,a.jsx)(i,{className:$().flag}),(0,a.jsx)("span",{children:l.label})]})},l.locale)})})},et=t(8101),ea=t.n(et),ei=e=>{let{className:n,disabled:t}=e,i=(0,l.I0)(),s=(0,u.qM)(),r=(0,u.ix)(u.kX),c=[{label:s("settings.showCoordinates.hidden"),value:"hidden"},{label:s("settings.showCoordinates.original"),value:"original"},{label:s("settings.showCoordinates.alternative"),value:"alternative"}],d=e=>{let n=e.target.value;i(u.xj.actions.changeShowCoordinates(n))};return(0,a.jsx)("div",{className:n,children:c.map(e=>(0,a.jsx)(o.Y8,{checked:String(r)===e.value,className:ea().option,disabled:t,name:"showCoordinates",value:e.value,onChange:d,children:(0,a.jsx)("div",{className:ea().label,children:e.label})},e.value))})},es=(0,i.memo)(e=>{let{className:n,isOpen:t,onClose:i}=e,s=(0,u.qM)(),r=(0,c.YQ)();return(0,a.jsxs)(o.u_,{className:n,isOpen:t,title:s("settings"),onClose:i,children:[(0,a.jsx)(o.u_.Section,{label:s("settings.game"),title:s("settings.game"),children:(0,a.jsx)(V,{disabled:!t})}),(0,a.jsx)(o.u_.Section,{label:s("settings.language"),title:s("settings.language"),children:(0,a.jsx)(en,{disabled:!t})}),(0,a.jsx)(o.u_.Section,{label:s("settings.showCoordinates"),title:s("settings.showCoordinates"),children:(0,a.jsx)(ei,{disabled:!t})}),!r&&(0,a.jsx)(o.u_.Section,{label:s("settings.inputMode"),title:s("settings.inputMode"),children:(0,a.jsx)(B,{disabled:!t})}),(0,a.jsx)(o.u_.Section,{label:s("settings.autoGroupTiles"),title:s("settings.autoGroupTiles"),children:(0,a.jsx)(X,{disabled:!t})})]})}),er=t(3518),el=t.n(er),eo=(0,i.memo)(e=>{let{className:n,isOpen:t,onClose:i}=e,s=(0,u.qM)(),r=(0,u.ix)(u.fN),{invalidWords:l,validWords:c}=(0,u.ix)(u.HM);return(0,a.jsxs)(o.u_,{className:n,isOpen:t,title:s("words"),onClose:i,children:[(0,a.jsx)(o.u_.Section,{label:s("words.invalid"),title:(0,a.jsxs)("span",{className:el().title,children:[(0,a.jsx)("span",{children:s("words.invalid")}),(0,a.jsx)(o.Ct,{className:el().badge,children:l.length.toLocaleString(r)})]}),children:l.map((e,n)=>(0,a.jsxs)("div",{className:el().word,children:[(0,a.jsx)(y.X1,{className:m()(el().icon,el().invalid)})," ",e]},n))}),(0,a.jsx)(o.u_.Section,{label:s("words.valid"),title:(0,a.jsxs)("span",{className:el().title,children:[(0,a.jsx)("span",{children:s("words.valid")}),(0,a.jsx)(o.Ct,{className:el().badge,children:c.length.toLocaleString(r)})]}),children:c.map((e,n)=>(0,a.jsxs)("div",{className:el().word,children:[(0,a.jsx)(y.Jr,{className:m()(el().icon,el().valid)})," ",e]},n))})]})});try{self["workbox:window:7.0.0"]&&_()}catch(e){}function ec(e,n){return new Promise(function(t){var a=new MessageChannel;a.port1.onmessage=function(e){t(e.data)},e.postMessage(n,[a.port2])})}function ed(e,n){for(var t=0;t<n.length;t++){var a=n[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,function(e){var n=function(e,n){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,n||"default");if("object"!=typeof a)return a;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:n+""}(a.key),a)}}function eu(e,n){return(eu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e})(e,n)}function eh(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=Array(n);t<n;t++)a[t]=e[t];return a}try{self["workbox:core:7.0.0"]&&_()}catch(e){}var ep=function(){var e=this;this.promise=new Promise(function(n,t){e.resolve=n,e.reject=t})};function eg(e,n){var t=location.href;return new URL(e,t).href===new URL(n,t).href}var ev=function(e,n){this.type=e,Object.assign(this,n)};function em(e,n,t){return t?n?n(e):e:(e&&e.then||(e=Promise.resolve(e)),n?e.then(n):e)}function e_(){}var ex={type:"SKIP_WAITING"};function ef(e,n){if(!n)return e&&e.then?e.then(e_):Promise.resolve()}var eb=function(e){function n(n,t){var a,i;return void 0===t&&(t={}),(a=e.call(this)||this).nn={},a.tn=0,a.rn=new ep,a.en=new ep,a.on=new ep,a.un=0,a.an=new Set,a.cn=function(){var e=a.fn,n=e.installing;a.tn>0||!eg(n.scriptURL,a.sn.toString())||performance.now()>a.un+6e4?(a.vn=n,e.removeEventListener("updatefound",a.cn)):(a.hn=n,a.an.add(n),a.rn.resolve(n)),++a.tn,n.addEventListener("statechange",a.ln)},a.ln=function(e){var n=a.fn,t=e.target,i=t.state,s=t===a.vn,r={sw:t,isExternal:s,originalEvent:e};!s&&a.mn&&(r.isUpdate=!0),a.dispatchEvent(new ev(i,r)),"installed"===i?a.wn=self.setTimeout(function(){"installed"===i&&n.waiting===t&&a.dispatchEvent(new ev("waiting",r))},200):"activating"===i&&(clearTimeout(a.wn),s||a.en.resolve(t))},a.yn=function(e){var n=a.hn,t=n!==navigator.serviceWorker.controller;a.dispatchEvent(new ev("controlling",{isExternal:t,originalEvent:e,sw:n,isUpdate:a.mn})),t||a.on.resolve(n)},a.gn=(i=function(e){var n=e.data,t=e.ports,i=e.source;return em(a.getSW(),function(){a.an.has(i)&&a.dispatchEvent(new ev("message",{data:n,originalEvent:e,ports:t,sw:i}))})},function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];try{return Promise.resolve(i.apply(this,e))}catch(e){return Promise.reject(e)}}),a.sn=n,a.nn=t,navigator.serviceWorker.addEventListener("message",a.gn),a}n.prototype=Object.create(e.prototype),n.prototype.constructor=n,eu(n,e);var t,a,i=n.prototype;return i.register=function(e){var n=(void 0===e?{}:e).immediate,t=void 0!==n&&n;try{var a,i,s,r=this;return em((a=function(){if(!t&&"complete"!==document.readyState)return ef(new Promise(function(e){return window.addEventListener("load",e)}))},i=function(){return r.mn=!!navigator.serviceWorker.controller,r.dn=r.pn(),em(r.bn(),function(e){r.fn=e,r.dn&&(r.hn=r.dn,r.en.resolve(r.dn),r.on.resolve(r.dn),r.dn.addEventListener("statechange",r.ln,{once:!0}));var n=r.fn.waiting;return n&&eg(n.scriptURL,r.sn.toString())&&(r.hn=n,Promise.resolve().then(function(){r.dispatchEvent(new ev("waiting",{sw:n,wasWaitingBeforeRegister:!0}))}).then(function(){})),r.hn&&(r.rn.resolve(r.hn),r.an.add(r.hn)),r.fn.addEventListener("updatefound",r.cn),navigator.serviceWorker.addEventListener("controllerchange",r.yn),r.fn})},(s=a())&&s.then?s.then(i):i(s)))}catch(e){return Promise.reject(e)}},i.update=function(){try{return this.fn?em(ef(this.fn.update())):em()}catch(e){return Promise.reject(e)}},i.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},i.messageSW=function(e){try{return em(this.getSW(),function(n){return ec(n,e)})}catch(e){return Promise.reject(e)}},i.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&ec(this.fn.waiting,ex)},i.pn=function(){var e=navigator.serviceWorker.controller;return e&&eg(e.scriptURL,this.sn.toString())?e:void 0},i.bn=function(){try{var e=this;return em(function(e,n){try{var t=e()}catch(e){return n(e)}return t&&t.then?t.then(void 0,n):t}(function(){return em(navigator.serviceWorker.register(e.sn,e.nn),function(n){return e.un=performance.now(),n})},function(e){throw e}))}catch(e){return Promise.reject(e)}},t=[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}],ed(n.prototype,t),a&&ed(n,a),Object.defineProperty(n,"prototype",{writable:!1}),n}(function(){function e(){this.Pn=new Map}var n=e.prototype;return n.addEventListener=function(e,n){this.jn(e).add(n)},n.removeEventListener=function(e,n){this.jn(e).delete(n)},n.dispatchEvent=function(e){e.target=this;for(var n,t=function(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,n){if(e){if("string"==typeof e)return eh(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?eh(e,void 0):void 0}}(e))){t&&(e=t);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(this.jn(e.type));!(n=t()).done;)(0,n.value)(e)},n.jn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());let ej=()=>{globalThis.navigator&&"serviceWorker"in globalThis.navigator&&new eb("/service-worker.js").register({immediate:!0})};var ey=t(6937),ek=t.n(ey);r().setAppElement("#__next");var ew=!0,eC=e=>{let{version:n}=e,t=(0,l.I0)(),s=(0,u.ix)(u.fN),[r,h]=(0,i.useState)(!1),[p,v]=(0,i.useState)(!1),[m,x]=(0,i.useState)(!1),[f,b]=(0,i.useState)(!1),[y,k]=(0,i.useState)(!1),[w,C]=(0,i.useState)(!1),[M,S]=(0,i.useState)(!1),[E,I]=(0,i.useState)(!1),L=(0,i.useCallback)(()=>k(!0),[]),O=(0,i.useCallback)(()=>t((0,u.mc)()),[t]),T=(0,i.useCallback)(()=>h(!1),[]),W=(0,i.useCallback)(()=>v(!1),[]),R=(0,i.useCallback)(()=>x(!1),[]),G=(0,i.useCallback)(()=>b(!1),[]),z=(0,i.useCallback)(()=>k(!1),[]),A=(0,i.useCallback)(()=>C(!1),[]),U=(0,i.useCallback)(()=>S(!1),[]),X=(0,i.useCallback)(()=>h(!0),[]),Y=(0,i.useCallback)(()=>v(!0),[]),K=(0,i.useCallback)(()=>x(!0),[]),F=(0,i.useCallback)(()=>b(!0),[]),D=(0,i.useCallback)(()=>C(!0),[]),V=(0,i.useCallback)(()=>S(!0),[]);return((0,c.gm)(d.q[s].direction),(0,c.ZK)(s),(0,c._)(),(0,c.qR)(()=>{ej(),I(!0),t((0,u.j2)())}),E)?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("nav",{className:ek().nav,children:(0,a.jsxs)("div",{className:ek().navContent,children:[(0,a.jsx)("div",{className:ek().navLogo,children:(0,a.jsx)("a",{className:ek().logoContainer,href:"/",title:n,children:(0,a.jsx)(o.TR,{className:ek().logo})})}),(0,a.jsx)(o._m,{onClear:O,onShowKeyMap:Y,onShowMenu:K,onShowRemainingTiles:F,onShowSettings:D,onShowWords:V})]})}),(0,a.jsx)(o.ME,{className:ek().solver,onShowResults:L}),(0,a.jsx)(N,{isOpen:m,onClose:R,onShowDictionary:X,onShowRemainingTiles:F,onShowSettings:D,onShowWords:V}),(0,a.jsx)(es,{isOpen:w,onClose:A}),(0,a.jsx)(j,{isOpen:p,onClose:W}),(0,a.jsx)(eo,{isOpen:M,onClose:U}),(0,a.jsx)(P,{isOpen:f,onClose:G}),(0,a.jsx)(q,{isOpen:y,onClose:z}),(0,a.jsx)(g,{isOpen:r,onClose:T})]}):null}},4446:function(e){e.exports={content:"DictionaryModal_content___jXD2",dictionary:"DictionaryModal_dictionary__Eu9Sx",dictionaryInput:"DictionaryModal_dictionaryInput__CKiX5"}},5301:function(e){e.exports={mapping:"Mapping_mapping__Ua6wj",description:"Mapping_description__nSNia",keys:"Mapping_keys__KmIcZ",group:"Mapping_group__MlkmV",slash:"Mapping_slash__hulS4",plus:"Mapping_plus__KE_ml"}},5347:function(e){e.exports={button:"MenuModal_button__x3zTR",settings:"MenuModal_settings__XE_P3",settingsLabel:"MenuModal_settingsLabel__xYRLv",flag:"MenuModal_flag__NGaHf"}},9900:function(e){e.exports={title:"RemainingTilesModal_title__4rcbk",content:"RemainingTilesModal_content__NrmXd",badge:"RemainingTilesModal_badge__vZkrc",character:"RemainingTilesModal_character__16pGR"}},9283:function(e){e.exports={character:"Character_character__Xry5W",finished:"Character_finished__Ee5Eu",overused:"Character_overused__WV6tJ",tile:"Character_tile__Ledy0",remaining:"Character_remaining__DFxBl",count:"Character_count__Bl6_O"}},2306:function(e){e.exports={content:"ResultsModal_content__vzX7N",results:"ResultsModal_results__FDN3k",dictionary:"ResultsModal_dictionary__o3cpd"}},721:function(e){e.exports={option:"AutoGroupTilesSetting_option__dp8CH",label:"AutoGroupTilesSetting_label__MIKlN"}},1831:function(e){e.exports={option:"ConfigSetting_option__pvmMK",label:"ConfigSetting_label__CeZI1"}},3979:function(e){e.exports={option:"InputModeSetting_option__9tdaY",label:"InputModeSetting_label__al6kL"}},9743:function(e){e.exports={option:"LocaleSetting_option__3uVpq",label:"LocaleSetting_label__VqJH9",flag:"LocaleSetting_flag__cnMgQ"}},8101:function(e){e.exports={option:"ShowCoordinatesSetting_option__teifi",label:"ShowCoordinatesSetting_label__h0REI"}},3518:function(e){e.exports={title:"WordsModal_title__UGHtI",badge:"WordsModal_badge__Ay_8V",word:"WordsModal_word__sCI06",invalid:"WordsModal_invalid__jgYeh",valid:"WordsModal_valid__JW5lM",icon:"WordsModal_icon___HWi4"}},6937:function(e){e.exports={nav:"index_nav__oayCy",navContent:"index_navContent__puCTa",navLogo:"index_navLogo__iI_za",logoContainer:"index_logoContainer__YyxQp",logo:"index_logo__jZUto",solver:"index_solver__wz8VS"}}},function(e){e.O(0,[774,888,179],function(){return e(e.s=7314)}),_N_E=e.O()}]);
|
|
File without changes
|