@scrabble-solver/scrabble-solver 2.16.2 → 2.16.4
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 +12 -12
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +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/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/diagnostics/framework.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +4 -4
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/30.js +2 -2
- package/.next/server/chunks/712.js +1 -1
- package/.next/server/chunks/791.js +2 -2
- 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.json +1 -1
- package/.next/server/pages/not-found.html +1 -1
- package/.next/static/{a98wTJsZR6CASwFn19QFv → EfAMJP_Lanqq2FfxAAsle}/_buildManifest.js +1 -1
- package/.next/static/chunks/{framework-f7982db529c0590c.js → framework-2b24ada1da3702a7.js} +1 -1
- package/.next/static/chunks/{main-65a5015b46ca9827.js → main-5c253b06141d70b0.js} +2 -2
- package/.next/static/chunks/pages/{_app-31e560b7b14739d6.js → _app-b74c31c912e414e4.js} +2 -2
- package/.next/static/chunks/pages/{index-35f70f1627836521.js → index-a49a899fdf7146da.js} +1 -1
- package/.next/trace +21 -21
- package/.next/trace-build +1 -1
- package/package.json +17 -17
- package/src/components/Board/components/Cell/Cell.tsx +7 -4
- package/src/components/DictionaryInput/DictionaryInput.tsx +1 -0
- package/src/components/Modal/Modal.tsx +2 -0
- package/src/components/Progress/Progress.tsx +5 -0
- package/src/components/Radio/Radio.tsx +1 -1
- package/src/components/Results/Result.tsx +1 -0
- package/src/components/Results/Results.tsx +8 -2
- package/src/i18n/languages/english.json +1 -1
- package/src/i18n/languages/french.json +1 -1
- package/src/i18n/languages/german.json +1 -1
- package/src/i18n/languages/persian.json +1 -1
- package/src/i18n/languages/polish.json +1 -1
- package/src/i18n/languages/romanian.json +1 -1
- package/src/i18n/languages/spanish.json +1 -1
- package/src/i18n/languages/turkish.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/.next/dev/build-manifest.json +0 -31
- package/.next/dev/cache/webpack/client-development/0.pack.gz +0 -0
- package/.next/dev/cache/webpack/client-development/index.pack.gz +0 -0
- package/.next/dev/logs/next-development.log +0 -6
- package/.next/dev/react-loadable-manifest.json +0 -1
- package/.next/dev/server/middleware-build-manifest.js +0 -31
- package/.next/dev/server/middleware-react-loadable-manifest.js +0 -1
- package/.next/dev/server/next-font-manifest.js +0 -1
- package/.next/dev/server/next-font-manifest.json +0 -1
- package/.next/dev/server/pages/_app.js +0 -4082
- package/.next/dev/server/pages/_error.js +0 -4126
- package/.next/dev/server/pages/index.js +0 -4804
- package/.next/dev/server/pages-manifest.json +0 -6
- package/.next/dev/server/webpack-runtime.js +0 -231
- package/.next/dev/static/chunks/pages/_app.js +0 -5131
- package/.next/dev/static/chunks/webpack.js +0 -1238
- package/.next/dev/static/development/_buildManifest.js +0 -1
- package/.next/dev/static/development/_ssgManifest.js +0 -1
- /package/.next/static/{a98wTJsZR6CASwFn19QFv → EfAMJP_Lanqq2FfxAAsle}/_ssgManifest.js +0 -0
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-typescript","duration":
|
|
1
|
+
[{"name":"run-typescript","duration":1893668,"timestamp":609895484,"id":13,"parentId":1,"tags":{},"startTime":1778090578509,"traceId":"05f65ceba383aa81"},{"name":"run-webpack","duration":6280868,"timestamp":611791567,"id":15,"parentId":1,"tags":{},"startTime":1778090580405,"traceId":"05f65ceba383aa81"},{"name":"static-check","duration":173052,"timestamp":618144257,"id":2051,"parentId":1,"tags":{},"startTime":1778090586758,"traceId":"05f65ceba383aa81"},{"name":"static-generation","duration":891741,"timestamp":618326372,"id":2069,"parentId":1,"tags":{},"startTime":1778090586940,"traceId":"05f65ceba383aa81"},{"name":"collect-build-traces","duration":3804810,"timestamp":618317901,"id":2066,"parentId":1,"tags":{},"startTime":1778090586932,"traceId":"05f65ceba383aa81"},{"name":"telemetry-flush","duration":20,"timestamp":622123918,"id":2081,"parentId":1,"tags":{},"startTime":1778090590738,"traceId":"05f65ceba383aa81"},{"name":"next-build","duration":12456126,"timestamp":609667815,"id":1,"tags":{"buildMode":"default","version":"16.2.5","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1778090578282,"traceId":"05f65ceba383aa81"}]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/scrabble-solver",
|
|
3
|
-
"version": "2.16.
|
|
3
|
+
"version": "2.16.4",
|
|
4
4
|
"description": "Scrabble Solver 2 - App",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -29,22 +29,22 @@
|
|
|
29
29
|
"@floating-ui/react": "^0.27.19",
|
|
30
30
|
"@kamilmielnik/trie": "^5.0.0",
|
|
31
31
|
"@reduxjs/toolkit": "^2.11.2",
|
|
32
|
-
"@scrabble-solver/configs": "^2.16.
|
|
33
|
-
"@scrabble-solver/constants": "^2.16.
|
|
34
|
-
"@scrabble-solver/dictionaries": "^2.16.
|
|
35
|
-
"@scrabble-solver/logger": "^2.16.
|
|
36
|
-
"@scrabble-solver/solver": "^2.16.
|
|
37
|
-
"@scrabble-solver/types": "^2.16.
|
|
38
|
-
"@scrabble-solver/word-definitions": "^2.16.
|
|
32
|
+
"@scrabble-solver/configs": "^2.16.4",
|
|
33
|
+
"@scrabble-solver/constants": "^2.16.4",
|
|
34
|
+
"@scrabble-solver/dictionaries": "^2.16.4",
|
|
35
|
+
"@scrabble-solver/logger": "^2.16.4",
|
|
36
|
+
"@scrabble-solver/solver": "^2.16.4",
|
|
37
|
+
"@scrabble-solver/types": "^2.16.4",
|
|
38
|
+
"@scrabble-solver/word-definitions": "^2.16.4",
|
|
39
39
|
"classnames": "^2.5.1",
|
|
40
40
|
"env-cmd": "^11.0.0",
|
|
41
41
|
"include-media": "^2.0.0",
|
|
42
42
|
"include-media-query-builder": "^1.1.0",
|
|
43
|
-
"next": "^16.2.
|
|
43
|
+
"next": "^16.2.5",
|
|
44
44
|
"normalize.css": "^8.0.1",
|
|
45
|
-
"react": "^19.2.
|
|
45
|
+
"react": "^19.2.6",
|
|
46
46
|
"react-cool-onclickoutside": "^1.7.0",
|
|
47
|
-
"react-dom": "^19.2.
|
|
47
|
+
"react-dom": "^19.2.6",
|
|
48
48
|
"react-highlight-words": "^0.21.0",
|
|
49
49
|
"react-modal": "^3.16.3",
|
|
50
50
|
"react-redux": "^9.2.0",
|
|
@@ -53,11 +53,11 @@
|
|
|
53
53
|
"store2": "^2.14.4",
|
|
54
54
|
"transliteration": "^2.6.1",
|
|
55
55
|
"use-debounce": "^10.1.1",
|
|
56
|
-
"workbox-expiration": "^7.4.
|
|
57
|
-
"workbox-precaching": "^7.4.
|
|
58
|
-
"workbox-routing": "^7.4.
|
|
59
|
-
"workbox-webpack-plugin": "^7.4.
|
|
60
|
-
"workbox-window": "^7.4.
|
|
56
|
+
"workbox-expiration": "^7.4.1",
|
|
57
|
+
"workbox-precaching": "^7.4.1",
|
|
58
|
+
"workbox-routing": "^7.4.1",
|
|
59
|
+
"workbox-webpack-plugin": "^7.4.1",
|
|
60
|
+
"workbox-window": "^7.4.1"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@svgr/webpack": "^8.1.0",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"@types/redux": "^3.6.31",
|
|
71
71
|
"sass": "^1.99.0"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "491e0c8b615a35eefcbc4d1e3467f51eb65fce85"
|
|
74
74
|
}
|
|
@@ -11,12 +11,13 @@ import {
|
|
|
11
11
|
useCallback,
|
|
12
12
|
} from 'react';
|
|
13
13
|
|
|
14
|
+
import { getCoordinate } from '@/lib';
|
|
14
15
|
import {
|
|
15
16
|
selectCellIsValid,
|
|
16
17
|
selectConfig,
|
|
17
18
|
selectHoveredCharacter,
|
|
18
19
|
selectInputMode,
|
|
19
|
-
|
|
20
|
+
selectShowCoordinates,
|
|
20
21
|
selectTilePoints,
|
|
21
22
|
useTranslate,
|
|
22
23
|
useTypedSelector,
|
|
@@ -55,9 +56,9 @@ export const Cell: FunctionComponent<Props> = ({
|
|
|
55
56
|
}) => {
|
|
56
57
|
const { tile, x, y } = cell;
|
|
57
58
|
const translate = useTranslate();
|
|
58
|
-
const locale = useTypedSelector(selectLocale);
|
|
59
59
|
const config = useTypedSelector(selectConfig);
|
|
60
60
|
const inputMode = useTypedSelector(selectInputMode);
|
|
61
|
+
const showCoordinates = useTypedSelector(selectShowCoordinates);
|
|
61
62
|
const points = useTypedSelector((state) => selectTilePoints(state, cell.tile));
|
|
62
63
|
const isValid = useTypedSelector((state) => selectCellIsValid(state, cell));
|
|
63
64
|
const hoveredCharacter = useTypedSelector(selectHoveredCharacter);
|
|
@@ -104,8 +105,10 @@ export const Cell: FunctionComponent<Props> = ({
|
|
|
104
105
|
return (
|
|
105
106
|
<Tile
|
|
106
107
|
aria-label={translate('cell.tile.location', {
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
coordinates:
|
|
109
|
+
showCoordinates === 'alternative'
|
|
110
|
+
? `${getCoordinate(x, 'number')}${getCoordinate(y, 'letter')}`
|
|
111
|
+
: `${getCoordinate(x, 'letter')}${getCoordinate(y, 'number')}`,
|
|
109
112
|
})}
|
|
110
113
|
className={classNames(styles.tile, className, {
|
|
111
114
|
[styles.first3]: x < 3,
|
|
@@ -30,6 +30,7 @@ export const DictionaryInput: FunctionComponent<Props> = ({ className }) => {
|
|
|
30
30
|
return (
|
|
31
31
|
<form className={classNames(styles.dictionaryInput, className)} onSubmit={handleSubmit}>
|
|
32
32
|
<input
|
|
33
|
+
aria-label={translate('dictionary.input.title')}
|
|
33
34
|
className={styles.input}
|
|
34
35
|
pattern={`.*[^\\s${comma}].*`}
|
|
35
36
|
placeholder={translate('dictionary.input.placeholder')}
|
|
@@ -52,6 +52,7 @@ const ModalBase: FunctionComponent<Props> = ({ children, className, footer, isOp
|
|
|
52
52
|
|
|
53
53
|
return (
|
|
54
54
|
<ReactModal
|
|
55
|
+
aria={{ modal: true }}
|
|
55
56
|
className={{
|
|
56
57
|
afterOpen: styles.afterOpen,
|
|
57
58
|
base: styles.modal,
|
|
@@ -61,6 +62,7 @@ const ModalBase: FunctionComponent<Props> = ({ children, className, footer, isOp
|
|
|
61
62
|
contentLabel={title}
|
|
62
63
|
isOpen={isOpen}
|
|
63
64
|
overlayClassName={styles.overlay}
|
|
65
|
+
role="dialog"
|
|
64
66
|
shouldReturnFocusAfterClose={shouldReturnFocusAfterClose}
|
|
65
67
|
onRequestClose={onClose}
|
|
66
68
|
>
|
|
@@ -25,7 +25,12 @@ export const Progress: FunctionComponent<Props> = ({ className, max, min = 0, st
|
|
|
25
25
|
return (
|
|
26
26
|
<div
|
|
27
27
|
{...props}
|
|
28
|
+
aria-valuemax={max}
|
|
29
|
+
aria-valuemin={min}
|
|
30
|
+
aria-valuenow={value}
|
|
31
|
+
aria-valuetext={`${percent.toLocaleString(locale)}%`}
|
|
28
32
|
className={classNames(styles.progress, className)}
|
|
33
|
+
role="progressbar"
|
|
29
34
|
style={{
|
|
30
35
|
...style,
|
|
31
36
|
backgroundImage: getGradient(progress, PROGRESS_COLOR_VALUE, PROGRESS_COLOR_BACKGROUND),
|
|
@@ -30,7 +30,7 @@ export const Radio: FunctionComponent<Props> = ({ checked, children, className,
|
|
|
30
30
|
onChange={onChange}
|
|
31
31
|
/>
|
|
32
32
|
|
|
33
|
-
<div aria-hidden="true" className={styles.icon}
|
|
33
|
+
<div aria-hidden="true" className={styles.icon}>
|
|
34
34
|
<div className={styles.iconContent} />
|
|
35
35
|
</div>
|
|
36
36
|
|
|
@@ -70,10 +70,16 @@ export const Results: FunctionComponent<Props> = ({ callbacks, className, highli
|
|
|
70
70
|
}, [results, listRef, scrollToIndexRef]);
|
|
71
71
|
|
|
72
72
|
return (
|
|
73
|
-
<div
|
|
73
|
+
<div
|
|
74
|
+
aria-busy={isLoadingDebounced}
|
|
75
|
+
aria-label={translate('results')}
|
|
76
|
+
className={classNames(styles.results, className)}
|
|
77
|
+
data-testid="results"
|
|
78
|
+
role="region"
|
|
79
|
+
>
|
|
74
80
|
<Header />
|
|
75
81
|
|
|
76
|
-
<div className={styles.content}>
|
|
82
|
+
<div aria-live="polite" className={styles.content}>
|
|
77
83
|
{typeof error !== 'undefined' && (
|
|
78
84
|
<EmptyState className={styles.emptyState} variant="error">
|
|
79
85
|
{error.message}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"cell.filter-cell.include": "Target destination",
|
|
5
5
|
"cell.set-blank": "Mark it a blank",
|
|
6
6
|
"cell.set-not-blank": "Mark it not a blank",
|
|
7
|
-
"cell.tile.location": "Board: tile
|
|
7
|
+
"cell.tile.location": "Board: tile {{coordinates}}",
|
|
8
8
|
"cell.toggle-direction": "Typing direction",
|
|
9
9
|
"common.arrows": "Arrow keys",
|
|
10
10
|
"common.blanks": "Blanks",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"cell.filter-cell.include": "Destination cible",
|
|
5
5
|
"cell.set-blank": "Marquer comme vide",
|
|
6
6
|
"cell.set-not-blank": "Marquer comme non vide",
|
|
7
|
-
"cell.tile.location": "Plateau: la case
|
|
7
|
+
"cell.tile.location": "Plateau: la case {{coordinates}}",
|
|
8
8
|
"cell.toggle-direction": "Direction d'écriture",
|
|
9
9
|
"common.arrows": "Touches fléchées",
|
|
10
10
|
"common.blanks": "Cases vides",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"cell.filter-cell.include": "Ziel anvisieren",
|
|
5
5
|
"cell.set-blank": "Als Blanko markieren",
|
|
6
6
|
"cell.set-not-blank": "Nicht als Blanko markieren",
|
|
7
|
-
"cell.tile.location": "Brett: Stein
|
|
7
|
+
"cell.tile.location": "Brett: Stein {{coordinates}}",
|
|
8
8
|
"cell.toggle-direction": "Schreibrichtung",
|
|
9
9
|
"common.arrows": "Pfeiltasten",
|
|
10
10
|
"common.blanks": "Blankos",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"cell.filter-cell.include": "مقصد مورد نظر",
|
|
5
5
|
"cell.set-blank": "علامت گذاری به عنوان خالی",
|
|
6
6
|
"cell.set-not-blank": "علامت گذاری به عنوان غیر خالی",
|
|
7
|
-
"cell.tile.location": "
|
|
7
|
+
"cell.tile.location": "{{coordinates}} کاشی: صفحه",
|
|
8
8
|
"cell.toggle-direction": "جهت تایپ",
|
|
9
9
|
"common.arrows": "کلیدهای جهت دار",
|
|
10
10
|
"common.blanks": "خالی",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"cell.filter-cell.include": "Miejsce docelowe",
|
|
5
5
|
"cell.set-blank": "Oznacz jako blank",
|
|
6
6
|
"cell.set-not-blank": "Oznacz jako nie blank",
|
|
7
|
-
"cell.tile.location": "Plansza: płytka
|
|
7
|
+
"cell.tile.location": "Plansza: płytka {{coordinates}}",
|
|
8
8
|
"cell.toggle-direction": "Kierunek wpisywania",
|
|
9
9
|
"common.arrows": "Klawisze strzałek",
|
|
10
10
|
"common.blanks": "Blanki",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"cell.filter-cell.include": "Destinație țintă",
|
|
5
5
|
"cell.set-blank": "Marcare camp liber",
|
|
6
6
|
"cell.set-not-blank": "Marcare camp ocupat ",
|
|
7
|
-
"cell.tile.location": "Tabla: camp
|
|
7
|
+
"cell.tile.location": "Tabla: camp {{coordinates}}",
|
|
8
8
|
"cell.toggle-direction": "Directie scriere",
|
|
9
9
|
"common.arrows": "Sagetile",
|
|
10
10
|
"common.blanks": "Jokeri",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"cell.filter-cell.include": "Destino objetivo",
|
|
5
5
|
"cell.set-blank": "Marcar como en blanco",
|
|
6
6
|
"cell.set-not-blank": "Marcar como no en blanco",
|
|
7
|
-
"cell.tile.location": "Tablero: espacio
|
|
7
|
+
"cell.tile.location": "Tablero: espacio {{coordinates}}",
|
|
8
8
|
"cell.toggle-direction": "Dirección de escritura",
|
|
9
9
|
"common.arrows": "Teclas de flecha",
|
|
10
10
|
"common.blanks": "Blancos",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"cell.filter-cell.include": "Hedef varış noktası",
|
|
5
5
|
"cell.set-blank": "Boş olarak işaretle",
|
|
6
6
|
"cell.set-not-blank": "Boş değil olarak işaretle",
|
|
7
|
-
"cell.tile.location": "Tahta: harfler
|
|
7
|
+
"cell.tile.location": "Tahta: harfler {{coordinates}}",
|
|
8
8
|
"cell.toggle-direction": "Yazma yönü - geçiş yapmak için tıklayın",
|
|
9
9
|
"common.arrows": "Ok tuşları",
|
|
10
10
|
"common.blanks": "Jokerler",
|