scrabble-solver 2.15.13 → 2.15.15
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/.nx/workspace-data/file-map.json +467 -470
- package/.nx/workspace-data/lockfile-dependencies.hash +1 -0
- package/.nx/workspace-data/lockfile-nodes.hash +1 -0
- package/.nx/workspace-data/lockfile.hash +1 -1
- package/.nx/workspace-data/nx_files.nxt +0 -0
- package/.nx/workspace-data/parsed-lock-file.dependencies.json +19377 -0
- package/.nx/workspace-data/parsed-lock-file.json +1012 -723
- package/.nx/workspace-data/parsed-lock-file.nodes.json +16931 -0
- package/.nx/workspace-data/project-graph.json +3180 -2632
- package/.nx/workspace-data/project-graph.lock +0 -0
- package/.nx/workspace-data/source-maps.json +72 -144
- package/.prettierignore +3 -0
- package/eslint.config.mjs +13 -2
- package/lerna.json +2 -1
- package/nx.json +2 -13
- package/package.json +27 -27
- package/packages/configs/package.json +3 -3
- package/packages/constants/package.json +1 -1
- package/packages/dictionaries/package.json +4 -4
- package/packages/logger/package.json +2 -2
- package/packages/scrabble-solver/.next/BUILD_ID +1 -1
- package/packages/scrabble-solver/.next/build/chunks/[root-of-the-server]__6e020478._.js +441 -0
- package/packages/scrabble-solver/.next/build/chunks/[root-of-the-server]__6e020478._.js.map +7 -0
- package/packages/scrabble-solver/.next/build/chunks/[root-of-the-server]__c7ae8543._.js +500 -0
- package/packages/scrabble-solver/.next/build/chunks/[root-of-the-server]__c7ae8543._.js.map +11 -0
- package/packages/scrabble-solver/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js +12 -0
- package/packages/scrabble-solver/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js.map +5 -0
- package/packages/scrabble-solver/.next/build/chunks/[turbopack]_runtime.js +770 -0
- package/packages/scrabble-solver/.next/build/chunks/[turbopack]_runtime.js.map +10 -0
- package/packages/scrabble-solver/.next/build/package.json +1 -0
- package/packages/scrabble-solver/.next/build/webpack-loaders.js +6 -0
- package/packages/scrabble-solver/.next/build/webpack-loaders.js.map +5 -0
- package/packages/scrabble-solver/.next/build-manifest.json +29 -32
- package/packages/scrabble-solver/.next/cache/.previewinfo +1 -1
- package/packages/scrabble-solver/.next/cache/.rscinfo +1 -1
- package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
- package/packages/scrabble-solver/.next/diagnostics/build-diagnostics.json +1 -1
- package/packages/scrabble-solver/.next/diagnostics/framework.json +1 -1
- package/packages/scrabble-solver/.next/fallback-build-manifest.json +24 -0
- package/packages/scrabble-solver/.next/images-manifest.json +12 -3
- package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/prerender-manifest.json +4 -4
- package/packages/scrabble-solver/.next/required-server-files.json +104 -73
- package/packages/scrabble-solver/.next/routes-manifest.json +30 -9
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__378b5933._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__378b5933._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__51a21f60._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__51a21f60._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__53eb4a3b._.js +4 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__53eb4a3b._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__7e4e99cd._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__7e4e99cd._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a6a82e19._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a6a82e19._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a84df743._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a84df743._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a99303dc._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a99303dc._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__bfa4320b._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__bfa4320b._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/[turbopack]_runtime.js +770 -0
- package/packages/scrabble-solver/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
- package/packages/scrabble-solver/.next/server/chunks/scrabble-solver_b903dbba._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/scrabble-solver_b903dbba._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/scrabble-solver_packages_configs_build_5accd600._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/scrabble-solver_packages_configs_build_5accd600._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/1b834_next_d69de9fa._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/1b834_next_d69de9fa._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[externals]_fs_54ffce70._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[externals]_fs_54ffce70._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[externals]_transliteration_b8916dda._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[externals]_transliteration_b8916dda._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__1115f13a._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__1115f13a._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__421f2b10._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__421f2b10._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__b87cf431._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__b87cf431._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__bdcde4df._.js +5 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__bdcde4df._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__c803ce2b._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__c803ce2b._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[turbopack]_runtime.js +770 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_1bf76a93._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_1bf76a93._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_a6d23152._.js +8 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_a6d23152._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_packages_scrabble-solver_src_i18n_languages_1f0474f1._.js +3 -0
- package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_packages_scrabble-solver_src_i18n_languages_1f0474f1._.js.map +1 -0
- package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +40 -1
- package/packages/scrabble-solver/.next/server/middleware-manifest.json +2 -2
- package/packages/scrabble-solver/.next/server/next-font-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/next-font-manifest.json +6 -1
- package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/_app/build-manifest.json +18 -0
- package/packages/scrabble-solver/.next/server/pages/_app/client-build-manifest.json +5 -0
- package/packages/scrabble-solver/.next/server/pages/_app/next-font-manifest.json +6 -0
- package/packages/scrabble-solver/.next/server/pages/_app/pages-manifest.json +3 -0
- package/packages/scrabble-solver/.next/server/pages/_app/react-loadable-manifest.json +1 -0
- package/packages/scrabble-solver/.next/server/pages/_app.js +6 -1
- package/packages/scrabble-solver/.next/server/pages/_app.js.map +5 -0
- package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/_document/next-font-manifest.json +6 -0
- package/packages/scrabble-solver/.next/server/pages/_document/pages-manifest.json +3 -0
- package/packages/scrabble-solver/.next/server/pages/_document/react-loadable-manifest.json +1 -0
- package/packages/scrabble-solver/.next/server/pages/_document.js +5 -1
- package/packages/scrabble-solver/.next/server/pages/_document.js.map +5 -0
- package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/_error/build-manifest.json +15 -0
- package/packages/scrabble-solver/.next/server/pages/_error/client-build-manifest.json +5 -0
- package/packages/scrabble-solver/.next/server/pages/_error/next-font-manifest.json +6 -0
- package/packages/scrabble-solver/.next/server/pages/_error/pages-manifest.json +3 -0
- package/packages/scrabble-solver/.next/server/pages/_error/react-loadable-manifest.json +1 -0
- package/packages/scrabble-solver/.next/server/pages/_error.js +10 -1
- package/packages/scrabble-solver/.next/server/pages/_error.js.map +5 -0
- package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word]/pages-manifest.json +3 -0
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +8 -2
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.map +5 -0
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/pages-manifest.json +3 -0
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +6 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.map +5 -0
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/solve/pages-manifest.json +3 -0
- package/packages/scrabble-solver/.next/server/pages/api/solve.js +8 -1
- package/packages/scrabble-solver/.next/server/pages/api/solve.js.map +5 -0
- package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/verify/pages-manifest.json +3 -0
- package/packages/scrabble-solver/.next/server/pages/api/verify.js +7 -1
- package/packages/scrabble-solver/.next/server/pages/api/verify.js.map +5 -0
- package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/visit/pages-manifest.json +3 -0
- package/packages/scrabble-solver/.next/server/pages/api/visit.js +5 -1
- package/packages/scrabble-solver/.next/server/pages/api/visit.js.map +5 -0
- package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/index/build-manifest.json +18 -0
- package/packages/scrabble-solver/.next/server/pages/index/client-build-manifest.json +5 -0
- package/packages/scrabble-solver/.next/server/pages/index/next-font-manifest.json +6 -0
- package/packages/scrabble-solver/.next/server/pages/index/pages-manifest.json +3 -0
- package/packages/scrabble-solver/.next/server/pages/index/react-loadable-manifest.json +1 -0
- package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.js +11 -1
- package/packages/scrabble-solver/.next/server/pages/index.js.map +5 -0
- package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/not-found/build-manifest.json +17 -0
- package/packages/scrabble-solver/.next/server/pages/not-found/client-build-manifest.json +5 -0
- package/packages/scrabble-solver/.next/server/pages/not-found/next-font-manifest.json +6 -0
- package/packages/scrabble-solver/.next/server/pages/not-found/pages-manifest.json +3 -0
- package/packages/scrabble-solver/.next/server/pages/not-found/react-loadable-manifest.json +1 -0
- package/packages/scrabble-solver/.next/server/pages/not-found.html +1 -0
- package/packages/scrabble-solver/.next/server/pages/not-found.js.map +5 -0
- package/packages/scrabble-solver/.next/server/pages/not-found.js.nft.json +1 -0
- package/packages/scrabble-solver/.next/server/pages-manifest.json +6 -5
- package/packages/scrabble-solver/.next/server/server-reference-manifest.js +1 -0
- package/packages/scrabble-solver/.next/server/server-reference-manifest.json +5 -0
- package/packages/scrabble-solver/.next/static/7kzTSHcrJ7tE47btIJcLO/_buildManifest.js +27 -0
- package/packages/scrabble-solver/.next/static/chunks/060b82a3f336704f.js +3 -0
- package/packages/scrabble-solver/.next/static/chunks/18159e87dc14f3cf.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/27692b9d65f8b241.js +8 -0
- package/packages/scrabble-solver/.next/static/chunks/2f5ae49118c8c86e.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/339ed8704781040d.js +5 -0
- package/packages/scrabble-solver/.next/static/chunks/3c8b810de7908416.js +3 -0
- package/packages/scrabble-solver/.next/static/chunks/50e709cb7765c2f9.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/69fdc9801e177051.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/77bd0d5f1fb6eeba.js +3 -0
- package/packages/scrabble-solver/.next/static/chunks/88b0985f454c1075.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/95230bbbdd629d16.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/997907c5fccf02bb.js +5 -0
- package/packages/scrabble-solver/.next/static/chunks/9b2e7a689e581b58.js +7 -0
- package/packages/scrabble-solver/.next/static/chunks/a4580bbcd72cf165.css +2 -0
- package/packages/scrabble-solver/.next/static/chunks/e37c75eaddd8268a.css +47 -0
- package/packages/scrabble-solver/.next/static/chunks/e75d2aeb209c3d8c.js +8 -0
- package/packages/scrabble-solver/.next/static/chunks/eebac312ab720248.js +1 -0
- package/packages/scrabble-solver/.next/static/chunks/turbopack-3eaa540498b1c1e9.js +3 -0
- package/packages/scrabble-solver/.next/static/chunks/turbopack-6422aba52462ed1d.js +3 -0
- package/packages/scrabble-solver/.next/static/chunks/turbopack-c70c4122d677e1a8.js +3 -0
- package/packages/scrabble-solver/.next/static/chunks/turbopack-cc316a12eadf598b.js +3 -0
- package/packages/scrabble-solver/.next/trace +1 -24
- package/packages/scrabble-solver/.next/trace-build +1 -0
- package/packages/scrabble-solver/.next/turbopack +0 -0
- package/packages/scrabble-solver/.next/types/routes.d.ts +57 -0
- package/packages/scrabble-solver/.next/types/validator.ts +106 -0
- package/packages/scrabble-solver/next-env.d.ts +1 -0
- package/packages/scrabble-solver/next.config.js +9 -32
- package/packages/scrabble-solver/package.json +26 -26
- package/packages/scrabble-solver/public/service-worker.js +1 -1
- package/packages/scrabble-solver/src/components/Modal/Modal.tsx +1 -0
- package/packages/scrabble-solver/src/components/Results/Result.tsx +13 -17
- package/packages/scrabble-solver/src/components/Results/Results.tsx +23 -24
- package/packages/scrabble-solver/src/hooks/useMedia.ts +1 -0
- package/packages/scrabble-solver/src/pages/_app.tsx +1 -1
- package/packages/scrabble-solver/src/pages/{404.tsx → not-found.tsx} +2 -0
- package/packages/scrabble-solver/src/state/cellFilters/slice.ts +1 -2
- package/packages/scrabble-solver/src/state/settings/selectors.ts +0 -1
- package/packages/scrabble-solver/src/styles/global.scss +1 -1
- package/packages/scrabble-solver/src/styles/variables.scss +2 -2
- package/packages/solver/package.json +5 -5
- package/packages/types/package.json +2 -2
- package/packages/word-definitions/build/languages/romanian.js +1 -1
- package/packages/word-definitions/package.json +4 -4
- package/packages/word-definitions/src/__tests__/input/ro-RO.aciua.html +27 -29
- package/packages/word-definitions/src/languages/romanian.ts +1 -1
- package/packages/word-lists/package.json +4 -4
- package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/packages/scrabble-solver/.next/server/InjectManifest.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/chunks/106.js +0 -1
- package/packages/scrabble-solver/.next/server/chunks/30.js +0 -6
- package/packages/scrabble-solver/.next/server/chunks/318.js +0 -1
- package/packages/scrabble-solver/.next/server/chunks/50.js +0 -19
- package/packages/scrabble-solver/.next/server/chunks/812.js +0 -1
- package/packages/scrabble-solver/.next/server/chunks/929.js +0 -1
- package/packages/scrabble-solver/.next/server/chunks/974.js +0 -1
- package/packages/scrabble-solver/.next/server/dynamic-css-manifest.js +0 -1
- package/packages/scrabble-solver/.next/server/middleware-react-loadable-manifest.js +0 -1
- package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +0 -1
- package/packages/scrabble-solver/.next/server/webpack-api-runtime.js +0 -1
- package/packages/scrabble-solver/.next/server/webpack-runtime.js +0 -1
- package/packages/scrabble-solver/.next/static/MhrqAqLI9_L8obb7tgjvi/_buildManifest.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/framework-aad31c68dd0bb0ea.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/main-eab5847b41f0af4a.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/404-04457ede98c6b53e.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-bf81f201c021fdc1.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/_error-a9800cedd835bcad.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/index-79a390f3c2a2499f.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
- package/packages/scrabble-solver/.next/static/chunks/webpack-6224d37324e372cb.js +0 -1
- package/packages/scrabble-solver/.next/static/css/04a3767982ec10e8.css +0 -1
- package/packages/scrabble-solver/.next/static/css/1fae874a25934f54.css +0 -2
- /package/packages/scrabble-solver/.next/{react-loadable-manifest.json → server/app-paths-manifest.json} +0 -0
- /package/packages/scrabble-solver/.next/{dynamic-css-manifest.json → static/7kzTSHcrJ7tE47btIJcLO/_clientMiddlewareManifest.json} +0 -0
- /package/packages/scrabble-solver/.next/static/{MhrqAqLI9_L8obb7tgjvi → 7kzTSHcrJ7tE47btIJcLO}/_ssgManifest.js +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
|
-
import { type
|
|
2
|
+
import { type FocusEventHandler, type MouseEventHandler, type ReactElement, useRef } from 'react';
|
|
3
3
|
import Highlighter from 'react-highlight-words';
|
|
4
|
+
import { type RowComponentProps } from 'react-window';
|
|
4
5
|
|
|
5
6
|
import { useAppLayout, useColumns } from 'hooks';
|
|
6
7
|
import { LOCALE_FEATURES } from 'i18n';
|
|
@@ -18,22 +19,17 @@ import { Cell } from './Cell';
|
|
|
18
19
|
import styles from './Results.module.scss';
|
|
19
20
|
import { type ResultData } from './types';
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
onClick = noop,
|
|
33
|
-
onFocus = noop,
|
|
34
|
-
onMouseEnter = noop,
|
|
35
|
-
onMouseLeave = noop,
|
|
36
|
-
} = data;
|
|
22
|
+
export const Result = ({
|
|
23
|
+
index,
|
|
24
|
+
highlightedIndex,
|
|
25
|
+
results = [],
|
|
26
|
+
onBlur = noop,
|
|
27
|
+
onClick = noop,
|
|
28
|
+
onFocus = noop,
|
|
29
|
+
onMouseEnter = noop,
|
|
30
|
+
onMouseLeave = noop,
|
|
31
|
+
style,
|
|
32
|
+
}: RowComponentProps<ResultData>): ReactElement => {
|
|
37
33
|
const { resultWordWidth } = useAppLayout();
|
|
38
34
|
const ref = useRef<HTMLButtonElement>(null);
|
|
39
35
|
const columns = useColumns();
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useEffect, useMemo, type FunctionComponent } from 'react';
|
|
3
|
+
import { List, useListRef } from 'react-window';
|
|
4
4
|
import { useDebounce } from 'use-debounce';
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { useLatest } from 'hooks';
|
|
7
7
|
import { LOCALE_FEATURES } from 'i18n';
|
|
8
|
-
import {
|
|
8
|
+
import { RESULTS_ITEM_HEIGHT } from 'parameters';
|
|
9
9
|
import {
|
|
10
10
|
selectAreResultsOutdated,
|
|
11
|
-
selectSolveIsLoading,
|
|
12
11
|
selectLocale,
|
|
13
12
|
selectProcessedResults,
|
|
14
13
|
selectSolveError,
|
|
14
|
+
selectSolveIsLoading,
|
|
15
15
|
useTranslate,
|
|
16
16
|
useTypedSelector,
|
|
17
17
|
} from 'state';
|
|
@@ -36,7 +36,6 @@ const IS_LOADING_DEBOUNCE = 100;
|
|
|
36
36
|
|
|
37
37
|
export const Results: FunctionComponent<Props> = ({ callbacks, className, highlightedIndex }) => {
|
|
38
38
|
const translate = useTranslate();
|
|
39
|
-
const { resultsHeight, resultsWidth } = useAppLayout();
|
|
40
39
|
const locale = useTypedSelector(selectLocale);
|
|
41
40
|
const { direction } = LOCALE_FEATURES[locale];
|
|
42
41
|
const results = useTypedSelector(selectProcessedResults);
|
|
@@ -44,22 +43,25 @@ export const Results: FunctionComponent<Props> = ({ callbacks, className, highli
|
|
|
44
43
|
const [isLoadingDebounced] = useDebounce(isLoading, IS_LOADING_DEBOUNCE);
|
|
45
44
|
const isOutdated = useTypedSelector(selectAreResultsOutdated);
|
|
46
45
|
const error = useTypedSelector(selectSolveError);
|
|
47
|
-
const itemData = useMemo(
|
|
48
|
-
|
|
46
|
+
const itemData = useMemo<ResultData>(
|
|
47
|
+
() => ({ ...callbacks, highlightedIndex, results }),
|
|
48
|
+
[callbacks, highlightedIndex, results],
|
|
49
|
+
);
|
|
50
|
+
const listRef = useListRef(null);
|
|
49
51
|
const scrollToIndex = typeof highlightedIndex === 'number' ? highlightedIndex : 0;
|
|
50
52
|
const scrollToIndexRef = useLatest(scrollToIndex);
|
|
51
53
|
const hasResults = typeof error === 'undefined' && typeof results !== 'undefined';
|
|
52
54
|
const showInput = hasResults && results.length > 0 && !isOutdated;
|
|
53
|
-
const height = resultsHeight - RESULTS_HEADER_HEIGHT - (showInput ? TEXT_INPUT_HEIGHT : 0) - 2 * BORDER_WIDTH;
|
|
54
|
-
const width = resultsWidth - 2 * BORDER_WIDTH;
|
|
55
55
|
|
|
56
56
|
useEffect(() => {
|
|
57
57
|
// without setTimeout, the initial scrolling offset is calculated
|
|
58
58
|
// incorrectly, as the list is not fully rendered by the browser yet
|
|
59
59
|
const timeout = globalThis.setTimeout(() => {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
listRef.current?.scrollToRow({
|
|
61
|
+
align: 'center',
|
|
62
|
+
behavior: 'instant',
|
|
63
|
+
index: scrollToIndexRef.current,
|
|
64
|
+
});
|
|
63
65
|
}, 0);
|
|
64
66
|
|
|
65
67
|
return () => {
|
|
@@ -104,20 +106,17 @@ export const Results: FunctionComponent<Props> = ({ callbacks, className, highli
|
|
|
104
106
|
|
|
105
107
|
{!isOutdated && results.length > 0 && (
|
|
106
108
|
<div className={styles.listContainer}>
|
|
107
|
-
<
|
|
109
|
+
<List
|
|
108
110
|
className={classNames(styles.list, {
|
|
109
111
|
[styles.outdated]: isOutdated,
|
|
110
112
|
})}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
>
|
|
119
|
-
{Result}
|
|
120
|
-
</FixedSizeList>
|
|
113
|
+
dir={direction}
|
|
114
|
+
listRef={listRef}
|
|
115
|
+
rowComponent={Result}
|
|
116
|
+
rowCount={results.length}
|
|
117
|
+
rowHeight={RESULTS_ITEM_HEIGHT}
|
|
118
|
+
rowProps={itemData}
|
|
119
|
+
/>
|
|
121
120
|
</div>
|
|
122
121
|
)}
|
|
123
122
|
</>
|
|
@@ -22,6 +22,7 @@ export const useMedia = (query: string, defaultState?: boolean) => {
|
|
|
22
22
|
setState(mediaQuery.matches);
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
+
// eslint-disable-next-line react-hooks/set-state-in-effect
|
|
25
26
|
setState(mediaQuery.matches);
|
|
26
27
|
mediaQuery.addEventListener('change', handleChange);
|
|
27
28
|
|
|
@@ -41,8 +41,7 @@ export const cellFiltersSlice = createSlice({
|
|
|
41
41
|
|
|
42
42
|
removeCells: (state, action: PayloadAction<Cell[]>) => {
|
|
43
43
|
const cellsToRemove = action.payload;
|
|
44
|
-
return state.filter((entry) =>
|
|
45
|
-
cellsToRemove.every((cell) => cell.x !== entry.x || cell.y !== entry.y));
|
|
44
|
+
return state.filter((entry) => cellsToRemove.every((cell) => cell.x !== entry.x || cell.y !== entry.y));
|
|
46
45
|
},
|
|
47
46
|
|
|
48
47
|
reset: () => cellFiltersInitialState,
|
|
@@ -66,4 +66,3 @@ export const selectCellIsValid = createSelector([selectConfig, selectCell], (con
|
|
|
66
66
|
export const selectTranslations = createSelector([selectLocale], (locale) => i18n[locale]);
|
|
67
67
|
|
|
68
68
|
export const selectRemoveCellFilters = createSelector([selectSettings], (settings) => settings.removeCellFilters);
|
|
69
|
-
|
|
@@ -62,8 +62,8 @@ $easeOutSine: cubic-bezier(0.61, 1, 0.88, 1);
|
|
|
62
62
|
--color--tooltip--foreground: var(--color--white);
|
|
63
63
|
|
|
64
64
|
--font--family: system-ui, sans-serif;
|
|
65
|
-
--font--family--monospace:
|
|
66
|
-
monospace;
|
|
65
|
+
--font--family--monospace:
|
|
66
|
+
ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;
|
|
67
67
|
--font--size--h1: 30px;
|
|
68
68
|
--font--size--h2: 22px;
|
|
69
69
|
--font--size--h3: 18px;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/solver",
|
|
3
|
-
"version": "2.15.
|
|
3
|
+
"version": "2.15.15",
|
|
4
4
|
"description": "Scrabble Solver 2 - Solver",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@kamilmielnik/trie": "^4.0.0",
|
|
27
|
-
"@scrabble-solver/types": "^2.15.
|
|
27
|
+
"@scrabble-solver/types": "^2.15.15"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@scrabble-solver/configs": "^2.15.
|
|
31
|
-
"@scrabble-solver/constants": "^2.15.
|
|
32
|
-
"@scrabble-solver/dictionaries": "^2.15.
|
|
30
|
+
"@scrabble-solver/configs": "^2.15.15",
|
|
31
|
+
"@scrabble-solver/constants": "^2.15.15",
|
|
32
|
+
"@scrabble-solver/dictionaries": "^2.15.15"
|
|
33
33
|
},
|
|
34
34
|
"gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
|
|
35
35
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/types",
|
|
3
|
-
"version": "2.15.
|
|
3
|
+
"version": "2.15.15",
|
|
4
4
|
"description": "Scrabble Solver 2 - Types",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"clean": "rimraf build/"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@scrabble-solver/constants": "^2.15.
|
|
26
|
+
"@scrabble-solver/constants": "^2.15.15"
|
|
27
27
|
},
|
|
28
28
|
"gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
|
|
29
29
|
}
|
|
@@ -15,7 +15,7 @@ const parse = (html) => {
|
|
|
15
15
|
const $ = (0, cheerio_1.load)(html);
|
|
16
16
|
const $activeTab = $('.tab-pane.show.active');
|
|
17
17
|
$('.type-example').remove();
|
|
18
|
-
const $definitions = $activeTab.find('li.type-meaning.depth-0 > .meaningContainer .def.html');
|
|
18
|
+
const $definitions = $activeTab.find('li.type-meaning.depth-0 > .meaningContainer .tree-def.html');
|
|
19
19
|
$definitions.find('.meaningTree').remove();
|
|
20
20
|
const definitions = Array.from($definitions).map((definition) => $(definition).text().replace(/\n/g, ''));
|
|
21
21
|
return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-definitions",
|
|
3
|
-
"version": "2.15.
|
|
3
|
+
"version": "2.15.15",
|
|
4
4
|
"description": "Scrabble Solver 2 - Word definitions",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
"clean": "rimraf build/"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@scrabble-solver/types": "^2.15.
|
|
27
|
-
"cheerio": "^1.1.
|
|
28
|
-
"follow-redirects": "^1.15.
|
|
26
|
+
"@scrabble-solver/types": "^2.15.15",
|
|
27
|
+
"cheerio": "^1.1.2",
|
|
28
|
+
"follow-redirects": "^1.15.11",
|
|
29
29
|
"striptags": "^3.2.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|