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.
Files changed (244) hide show
  1. package/.nx/workspace-data/file-map.json +467 -470
  2. package/.nx/workspace-data/lockfile-dependencies.hash +1 -0
  3. package/.nx/workspace-data/lockfile-nodes.hash +1 -0
  4. package/.nx/workspace-data/lockfile.hash +1 -1
  5. package/.nx/workspace-data/nx_files.nxt +0 -0
  6. package/.nx/workspace-data/parsed-lock-file.dependencies.json +19377 -0
  7. package/.nx/workspace-data/parsed-lock-file.json +1012 -723
  8. package/.nx/workspace-data/parsed-lock-file.nodes.json +16931 -0
  9. package/.nx/workspace-data/project-graph.json +3180 -2632
  10. package/.nx/workspace-data/project-graph.lock +0 -0
  11. package/.nx/workspace-data/source-maps.json +72 -144
  12. package/.prettierignore +3 -0
  13. package/eslint.config.mjs +13 -2
  14. package/lerna.json +2 -1
  15. package/nx.json +2 -13
  16. package/package.json +27 -27
  17. package/packages/configs/package.json +3 -3
  18. package/packages/constants/package.json +1 -1
  19. package/packages/dictionaries/package.json +4 -4
  20. package/packages/logger/package.json +2 -2
  21. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  22. package/packages/scrabble-solver/.next/build/chunks/[root-of-the-server]__6e020478._.js +441 -0
  23. package/packages/scrabble-solver/.next/build/chunks/[root-of-the-server]__6e020478._.js.map +7 -0
  24. package/packages/scrabble-solver/.next/build/chunks/[root-of-the-server]__c7ae8543._.js +500 -0
  25. package/packages/scrabble-solver/.next/build/chunks/[root-of-the-server]__c7ae8543._.js.map +11 -0
  26. package/packages/scrabble-solver/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js +12 -0
  27. package/packages/scrabble-solver/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js.map +5 -0
  28. package/packages/scrabble-solver/.next/build/chunks/[turbopack]_runtime.js +770 -0
  29. package/packages/scrabble-solver/.next/build/chunks/[turbopack]_runtime.js.map +10 -0
  30. package/packages/scrabble-solver/.next/build/package.json +1 -0
  31. package/packages/scrabble-solver/.next/build/webpack-loaders.js +6 -0
  32. package/packages/scrabble-solver/.next/build/webpack-loaders.js.map +5 -0
  33. package/packages/scrabble-solver/.next/build-manifest.json +29 -32
  34. package/packages/scrabble-solver/.next/cache/.previewinfo +1 -1
  35. package/packages/scrabble-solver/.next/cache/.rscinfo +1 -1
  36. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  37. package/packages/scrabble-solver/.next/diagnostics/build-diagnostics.json +1 -1
  38. package/packages/scrabble-solver/.next/diagnostics/framework.json +1 -1
  39. package/packages/scrabble-solver/.next/fallback-build-manifest.json +24 -0
  40. package/packages/scrabble-solver/.next/images-manifest.json +12 -3
  41. package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +1 -1
  42. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  43. package/packages/scrabble-solver/.next/prerender-manifest.json +4 -4
  44. package/packages/scrabble-solver/.next/required-server-files.json +104 -73
  45. package/packages/scrabble-solver/.next/routes-manifest.json +30 -9
  46. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__378b5933._.js +3 -0
  47. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__378b5933._.js.map +1 -0
  48. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__51a21f60._.js +3 -0
  49. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__51a21f60._.js.map +1 -0
  50. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__53eb4a3b._.js +4 -0
  51. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__53eb4a3b._.js.map +1 -0
  52. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__7e4e99cd._.js +3 -0
  53. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__7e4e99cd._.js.map +1 -0
  54. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a6a82e19._.js +3 -0
  55. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a6a82e19._.js.map +1 -0
  56. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a84df743._.js +3 -0
  57. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a84df743._.js.map +1 -0
  58. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a99303dc._.js +3 -0
  59. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__a99303dc._.js.map +1 -0
  60. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__bfa4320b._.js +3 -0
  61. package/packages/scrabble-solver/.next/server/chunks/[root-of-the-server]__bfa4320b._.js.map +1 -0
  62. package/packages/scrabble-solver/.next/server/chunks/[turbopack]_runtime.js +770 -0
  63. package/packages/scrabble-solver/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
  64. package/packages/scrabble-solver/.next/server/chunks/scrabble-solver_b903dbba._.js +3 -0
  65. package/packages/scrabble-solver/.next/server/chunks/scrabble-solver_b903dbba._.js.map +1 -0
  66. package/packages/scrabble-solver/.next/server/chunks/scrabble-solver_packages_configs_build_5accd600._.js +3 -0
  67. package/packages/scrabble-solver/.next/server/chunks/scrabble-solver_packages_configs_build_5accd600._.js.map +1 -0
  68. package/packages/scrabble-solver/.next/server/chunks/ssr/1b834_next_d69de9fa._.js +3 -0
  69. package/packages/scrabble-solver/.next/server/chunks/ssr/1b834_next_d69de9fa._.js.map +1 -0
  70. package/packages/scrabble-solver/.next/server/chunks/ssr/[externals]_fs_54ffce70._.js +3 -0
  71. package/packages/scrabble-solver/.next/server/chunks/ssr/[externals]_fs_54ffce70._.js.map +1 -0
  72. package/packages/scrabble-solver/.next/server/chunks/ssr/[externals]_transliteration_b8916dda._.js +3 -0
  73. package/packages/scrabble-solver/.next/server/chunks/ssr/[externals]_transliteration_b8916dda._.js.map +1 -0
  74. package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__1115f13a._.js +3 -0
  75. package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__1115f13a._.js.map +1 -0
  76. package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__421f2b10._.js +3 -0
  77. package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__421f2b10._.js.map +1 -0
  78. package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__b87cf431._.js +3 -0
  79. package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__b87cf431._.js.map +1 -0
  80. package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__bdcde4df._.js +5 -0
  81. package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__bdcde4df._.js.map +1 -0
  82. package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__c803ce2b._.js +3 -0
  83. package/packages/scrabble-solver/.next/server/chunks/ssr/[root-of-the-server]__c803ce2b._.js.map +1 -0
  84. package/packages/scrabble-solver/.next/server/chunks/ssr/[turbopack]_runtime.js +770 -0
  85. package/packages/scrabble-solver/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
  86. package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_1bf76a93._.js +3 -0
  87. package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_1bf76a93._.js.map +1 -0
  88. package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_a6d23152._.js +8 -0
  89. package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_a6d23152._.js.map +1 -0
  90. package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_packages_scrabble-solver_src_i18n_languages_1f0474f1._.js +3 -0
  91. package/packages/scrabble-solver/.next/server/chunks/ssr/scrabble-solver_packages_scrabble-solver_src_i18n_languages_1f0474f1._.js.map +1 -0
  92. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +40 -1
  93. package/packages/scrabble-solver/.next/server/middleware-manifest.json +2 -2
  94. package/packages/scrabble-solver/.next/server/next-font-manifest.js +1 -1
  95. package/packages/scrabble-solver/.next/server/next-font-manifest.json +6 -1
  96. package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
  97. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  98. package/packages/scrabble-solver/.next/server/pages/_app/build-manifest.json +18 -0
  99. package/packages/scrabble-solver/.next/server/pages/_app/client-build-manifest.json +5 -0
  100. package/packages/scrabble-solver/.next/server/pages/_app/next-font-manifest.json +6 -0
  101. package/packages/scrabble-solver/.next/server/pages/_app/pages-manifest.json +3 -0
  102. package/packages/scrabble-solver/.next/server/pages/_app/react-loadable-manifest.json +1 -0
  103. package/packages/scrabble-solver/.next/server/pages/_app.js +6 -1
  104. package/packages/scrabble-solver/.next/server/pages/_app.js.map +5 -0
  105. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  106. package/packages/scrabble-solver/.next/server/pages/_document/next-font-manifest.json +6 -0
  107. package/packages/scrabble-solver/.next/server/pages/_document/pages-manifest.json +3 -0
  108. package/packages/scrabble-solver/.next/server/pages/_document/react-loadable-manifest.json +1 -0
  109. package/packages/scrabble-solver/.next/server/pages/_document.js +5 -1
  110. package/packages/scrabble-solver/.next/server/pages/_document.js.map +5 -0
  111. package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
  112. package/packages/scrabble-solver/.next/server/pages/_error/build-manifest.json +15 -0
  113. package/packages/scrabble-solver/.next/server/pages/_error/client-build-manifest.json +5 -0
  114. package/packages/scrabble-solver/.next/server/pages/_error/next-font-manifest.json +6 -0
  115. package/packages/scrabble-solver/.next/server/pages/_error/pages-manifest.json +3 -0
  116. package/packages/scrabble-solver/.next/server/pages/_error/react-loadable-manifest.json +1 -0
  117. package/packages/scrabble-solver/.next/server/pages/_error.js +10 -1
  118. package/packages/scrabble-solver/.next/server/pages/_error.js.map +5 -0
  119. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
  120. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word]/pages-manifest.json +3 -0
  121. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +8 -2
  122. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.map +5 -0
  123. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  124. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/pages-manifest.json +3 -0
  125. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +6 -1
  126. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.map +5 -0
  127. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  128. package/packages/scrabble-solver/.next/server/pages/api/solve/pages-manifest.json +3 -0
  129. package/packages/scrabble-solver/.next/server/pages/api/solve.js +8 -1
  130. package/packages/scrabble-solver/.next/server/pages/api/solve.js.map +5 -0
  131. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
  132. package/packages/scrabble-solver/.next/server/pages/api/verify/pages-manifest.json +3 -0
  133. package/packages/scrabble-solver/.next/server/pages/api/verify.js +7 -1
  134. package/packages/scrabble-solver/.next/server/pages/api/verify.js.map +5 -0
  135. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
  136. package/packages/scrabble-solver/.next/server/pages/api/visit/pages-manifest.json +3 -0
  137. package/packages/scrabble-solver/.next/server/pages/api/visit.js +5 -1
  138. package/packages/scrabble-solver/.next/server/pages/api/visit.js.map +5 -0
  139. package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +1 -1
  140. package/packages/scrabble-solver/.next/server/pages/index/build-manifest.json +18 -0
  141. package/packages/scrabble-solver/.next/server/pages/index/client-build-manifest.json +5 -0
  142. package/packages/scrabble-solver/.next/server/pages/index/next-font-manifest.json +6 -0
  143. package/packages/scrabble-solver/.next/server/pages/index/pages-manifest.json +3 -0
  144. package/packages/scrabble-solver/.next/server/pages/index/react-loadable-manifest.json +1 -0
  145. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  146. package/packages/scrabble-solver/.next/server/pages/index.js +11 -1
  147. package/packages/scrabble-solver/.next/server/pages/index.js.map +5 -0
  148. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  149. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  150. package/packages/scrabble-solver/.next/server/pages/not-found/build-manifest.json +17 -0
  151. package/packages/scrabble-solver/.next/server/pages/not-found/client-build-manifest.json +5 -0
  152. package/packages/scrabble-solver/.next/server/pages/not-found/next-font-manifest.json +6 -0
  153. package/packages/scrabble-solver/.next/server/pages/not-found/pages-manifest.json +3 -0
  154. package/packages/scrabble-solver/.next/server/pages/not-found/react-loadable-manifest.json +1 -0
  155. package/packages/scrabble-solver/.next/server/pages/not-found.html +1 -0
  156. package/packages/scrabble-solver/.next/server/pages/not-found.js.map +5 -0
  157. package/packages/scrabble-solver/.next/server/pages/not-found.js.nft.json +1 -0
  158. package/packages/scrabble-solver/.next/server/pages-manifest.json +6 -5
  159. package/packages/scrabble-solver/.next/server/server-reference-manifest.js +1 -0
  160. package/packages/scrabble-solver/.next/server/server-reference-manifest.json +5 -0
  161. package/packages/scrabble-solver/.next/static/7kzTSHcrJ7tE47btIJcLO/_buildManifest.js +27 -0
  162. package/packages/scrabble-solver/.next/static/chunks/060b82a3f336704f.js +3 -0
  163. package/packages/scrabble-solver/.next/static/chunks/18159e87dc14f3cf.js +1 -0
  164. package/packages/scrabble-solver/.next/static/chunks/27692b9d65f8b241.js +8 -0
  165. package/packages/scrabble-solver/.next/static/chunks/2f5ae49118c8c86e.js +1 -0
  166. package/packages/scrabble-solver/.next/static/chunks/339ed8704781040d.js +5 -0
  167. package/packages/scrabble-solver/.next/static/chunks/3c8b810de7908416.js +3 -0
  168. package/packages/scrabble-solver/.next/static/chunks/50e709cb7765c2f9.js +1 -0
  169. package/packages/scrabble-solver/.next/static/chunks/69fdc9801e177051.js +1 -0
  170. package/packages/scrabble-solver/.next/static/chunks/77bd0d5f1fb6eeba.js +3 -0
  171. package/packages/scrabble-solver/.next/static/chunks/88b0985f454c1075.js +1 -0
  172. package/packages/scrabble-solver/.next/static/chunks/95230bbbdd629d16.js +1 -0
  173. package/packages/scrabble-solver/.next/static/chunks/997907c5fccf02bb.js +5 -0
  174. package/packages/scrabble-solver/.next/static/chunks/9b2e7a689e581b58.js +7 -0
  175. package/packages/scrabble-solver/.next/static/chunks/a4580bbcd72cf165.css +2 -0
  176. package/packages/scrabble-solver/.next/static/chunks/e37c75eaddd8268a.css +47 -0
  177. package/packages/scrabble-solver/.next/static/chunks/e75d2aeb209c3d8c.js +8 -0
  178. package/packages/scrabble-solver/.next/static/chunks/eebac312ab720248.js +1 -0
  179. package/packages/scrabble-solver/.next/static/chunks/turbopack-3eaa540498b1c1e9.js +3 -0
  180. package/packages/scrabble-solver/.next/static/chunks/turbopack-6422aba52462ed1d.js +3 -0
  181. package/packages/scrabble-solver/.next/static/chunks/turbopack-c70c4122d677e1a8.js +3 -0
  182. package/packages/scrabble-solver/.next/static/chunks/turbopack-cc316a12eadf598b.js +3 -0
  183. package/packages/scrabble-solver/.next/trace +1 -24
  184. package/packages/scrabble-solver/.next/trace-build +1 -0
  185. package/packages/scrabble-solver/.next/turbopack +0 -0
  186. package/packages/scrabble-solver/.next/types/routes.d.ts +57 -0
  187. package/packages/scrabble-solver/.next/types/validator.ts +106 -0
  188. package/packages/scrabble-solver/next-env.d.ts +1 -0
  189. package/packages/scrabble-solver/next.config.js +9 -32
  190. package/packages/scrabble-solver/package.json +26 -26
  191. package/packages/scrabble-solver/public/service-worker.js +1 -1
  192. package/packages/scrabble-solver/src/components/Modal/Modal.tsx +1 -0
  193. package/packages/scrabble-solver/src/components/Results/Result.tsx +13 -17
  194. package/packages/scrabble-solver/src/components/Results/Results.tsx +23 -24
  195. package/packages/scrabble-solver/src/hooks/useMedia.ts +1 -0
  196. package/packages/scrabble-solver/src/pages/_app.tsx +1 -1
  197. package/packages/scrabble-solver/src/pages/{404.tsx → not-found.tsx} +2 -0
  198. package/packages/scrabble-solver/src/state/cellFilters/slice.ts +1 -2
  199. package/packages/scrabble-solver/src/state/settings/selectors.ts +0 -1
  200. package/packages/scrabble-solver/src/styles/global.scss +1 -1
  201. package/packages/scrabble-solver/src/styles/variables.scss +2 -2
  202. package/packages/solver/package.json +5 -5
  203. package/packages/types/package.json +2 -2
  204. package/packages/word-definitions/build/languages/romanian.js +1 -1
  205. package/packages/word-definitions/package.json +4 -4
  206. package/packages/word-definitions/src/__tests__/input/ro-RO.aciua.html +27 -29
  207. package/packages/word-definitions/src/languages/romanian.ts +1 -1
  208. package/packages/word-lists/package.json +4 -4
  209. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  210. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  211. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
  212. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
  213. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  214. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  215. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  216. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  217. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
  218. package/packages/scrabble-solver/.next/server/InjectManifest.js.nft.json +0 -1
  219. package/packages/scrabble-solver/.next/server/chunks/106.js +0 -1
  220. package/packages/scrabble-solver/.next/server/chunks/30.js +0 -6
  221. package/packages/scrabble-solver/.next/server/chunks/318.js +0 -1
  222. package/packages/scrabble-solver/.next/server/chunks/50.js +0 -19
  223. package/packages/scrabble-solver/.next/server/chunks/812.js +0 -1
  224. package/packages/scrabble-solver/.next/server/chunks/929.js +0 -1
  225. package/packages/scrabble-solver/.next/server/chunks/974.js +0 -1
  226. package/packages/scrabble-solver/.next/server/dynamic-css-manifest.js +0 -1
  227. package/packages/scrabble-solver/.next/server/middleware-react-loadable-manifest.js +0 -1
  228. package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +0 -1
  229. package/packages/scrabble-solver/.next/server/webpack-api-runtime.js +0 -1
  230. package/packages/scrabble-solver/.next/server/webpack-runtime.js +0 -1
  231. package/packages/scrabble-solver/.next/static/MhrqAqLI9_L8obb7tgjvi/_buildManifest.js +0 -1
  232. package/packages/scrabble-solver/.next/static/chunks/framework-aad31c68dd0bb0ea.js +0 -1
  233. package/packages/scrabble-solver/.next/static/chunks/main-eab5847b41f0af4a.js +0 -1
  234. package/packages/scrabble-solver/.next/static/chunks/pages/404-04457ede98c6b53e.js +0 -1
  235. package/packages/scrabble-solver/.next/static/chunks/pages/_app-bf81f201c021fdc1.js +0 -1
  236. package/packages/scrabble-solver/.next/static/chunks/pages/_error-a9800cedd835bcad.js +0 -1
  237. package/packages/scrabble-solver/.next/static/chunks/pages/index-79a390f3c2a2499f.js +0 -1
  238. package/packages/scrabble-solver/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  239. package/packages/scrabble-solver/.next/static/chunks/webpack-6224d37324e372cb.js +0 -1
  240. package/packages/scrabble-solver/.next/static/css/04a3767982ec10e8.css +0 -1
  241. package/packages/scrabble-solver/.next/static/css/1fae874a25934f54.css +0 -2
  242. /package/packages/scrabble-solver/.next/{react-loadable-manifest.json → server/app-paths-manifest.json} +0 -0
  243. /package/packages/scrabble-solver/.next/{dynamic-css-manifest.json → static/7kzTSHcrJ7tE47btIJcLO/_clientMiddlewareManifest.json} +0 -0
  244. /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 CSSProperties, type FocusEventHandler, type MouseEventHandler, type ReactElement, useRef } from 'react';
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
- interface Props {
22
- data: ResultData;
23
- index: number;
24
- style?: CSSProperties;
25
- }
26
-
27
- export const Result = ({ data, index, style }: Props): ReactElement => {
28
- const {
29
- highlightedIndex,
30
- results = [],
31
- onBlur = noop,
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 { type FunctionComponent, useEffect, useMemo, useState } from 'react';
3
- import { FixedSizeList } from 'react-window';
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 { useAppLayout, useLatest } from 'hooks';
6
+ import { useLatest } from 'hooks';
7
7
  import { LOCALE_FEATURES } from 'i18n';
8
- import { BORDER_WIDTH, RESULTS_HEADER_HEIGHT, RESULTS_ITEM_HEIGHT, TEXT_INPUT_HEIGHT } from 'parameters';
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(() => ({ ...callbacks, highlightedIndex, results }), [callbacks, highlightedIndex, results]);
48
- const [listRef, setListRef] = useState<FixedSizeList<ResultData> | null>(null);
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
- if (listRef) {
61
- listRef.scrollToItem(scrollToIndexRef.current, 'center');
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
- <FixedSizeList
109
+ <List
108
110
  className={classNames(styles.list, {
109
111
  [styles.outdated]: isOutdated,
110
112
  })}
111
- direction={direction}
112
- height={height}
113
- itemCount={results.length}
114
- itemData={itemData}
115
- itemSize={RESULTS_ITEM_HEIGHT}
116
- ref={setListRef}
117
- width={width}
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
 
@@ -7,7 +7,7 @@ import { Provider } from 'react-redux';
7
7
  import { SeoMessage } from 'components';
8
8
  import { store } from 'state';
9
9
 
10
- import 'styles/global.scss';
10
+ import '../styles/global.scss';
11
11
 
12
12
  const DESCRIPTION =
13
13
  // eslint-disable-next-line max-len
@@ -1,3 +1,5 @@
1
+ 'use-client';
2
+
1
3
  import { NotFound } from 'components';
2
4
 
3
5
  export default NotFound;
@@ -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
-
@@ -1,4 +1,4 @@
1
- @import '~normalize.css';
1
+ @import 'normalize.css';
2
2
 
3
3
  @import './mixins';
4
4
  @import './variables';
@@ -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: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono',
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.13",
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.13"
27
+ "@scrabble-solver/types": "^2.15.15"
28
28
  },
29
29
  "devDependencies": {
30
- "@scrabble-solver/configs": "^2.15.13",
31
- "@scrabble-solver/constants": "^2.15.13",
32
- "@scrabble-solver/dictionaries": "^2.15.13"
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.13",
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.13"
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.13",
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.13",
27
- "cheerio": "^1.1.0",
28
- "follow-redirects": "^1.15.9",
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": {