@scrabble-solver/scrabble-solver 2.15.17 → 2.15.19

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 (44) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/cache/.previewinfo +1 -1
  4. package/.next/cache/.rscinfo +1 -1
  5. package/.next/cache/.tsbuildinfo +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/client-production/index.pack.old +0 -0
  9. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  10. package/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  11. package/.next/cache/webpack/server-production/0.pack +0 -0
  12. package/.next/cache/webpack/server-production/index.pack +0 -0
  13. package/.next/cache/webpack/server-production/index.pack.old +0 -0
  14. package/.next/prerender-manifest.json +4 -4
  15. package/.next/required-server-files.json +3 -3
  16. package/.next/routes-manifest.json +1 -1
  17. package/.next/server/chunks/392.js +1 -1
  18. package/.next/server/chunks/712.js +1 -1
  19. package/.next/server/chunks/812.js +1 -1
  20. package/.next/server/middleware-build-manifest.js +1 -1
  21. package/.next/server/pages/404.html +1 -1
  22. package/.next/server/pages/500.html +1 -1
  23. package/.next/server/pages/_app.js.nft.json +1 -1
  24. package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  25. package/.next/server/pages/api/solve.js.nft.json +1 -1
  26. package/.next/server/pages/api/verify.js.nft.json +1 -1
  27. package/.next/server/pages/index.html +1 -1
  28. package/.next/server/pages/index.js.nft.json +1 -1
  29. package/.next/server/pages/index.json +1 -1
  30. package/.next/server/pages/not-found.html +1 -1
  31. package/.next/server/pages/not-found.js.nft.json +1 -1
  32. package/.next/server/pages-manifest.json +1 -1
  33. package/.next/static/chunks/pages/_app-e333add311d76325.js +3 -0
  34. package/.next/trace +21 -21
  35. package/.next/trace-build +1 -1
  36. package/package.json +9 -9
  37. package/src/components/Board/hooks/useGrid.ts +2 -2
  38. package/src/components/Rack/Rack.tsx +2 -2
  39. package/src/components/Rack/components/RackTile/RackTile.tsx +2 -2
  40. package/src/components/SeoMessage/SeoMessage.tsx +3 -3
  41. package/src/pages/_app.tsx +3 -1
  42. package/.next/static/chunks/pages/_app-34d868ee8cde5436.js +0 -3
  43. /package/.next/static/{ImexeOQ5dPSQb-9vZkego → Q1QbM4B3kGvZD0KCKFv6H}/_buildManifest.js +0 -0
  44. /package/.next/static/{ImexeOQ5dPSQb-9vZkego → Q1QbM4B3kGvZD0KCKFv6H}/_ssgManifest.js +0 -0
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-typescript","duration":1953120,"timestamp":372410497,"id":13,"parentId":1,"tags":{},"startTime":1765570804982,"traceId":"95122e582121bfb9"},{"name":"run-webpack","duration":6438856,"timestamp":374366188,"id":15,"parentId":1,"tags":{},"startTime":1765570806938,"traceId":"95122e582121bfb9"},{"name":"static-check","duration":176557,"timestamp":380940048,"id":1996,"parentId":1,"tags":{},"startTime":1765570813511,"traceId":"95122e582121bfb9"},{"name":"static-generation","duration":997728,"timestamp":381124465,"id":2015,"parentId":1,"tags":{},"startTime":1765570813696,"traceId":"95122e582121bfb9"},{"name":"collect-build-traces","duration":4049436,"timestamp":381117199,"id":2012,"parentId":1,"tags":{},"startTime":1765570813689,"traceId":"95122e582121bfb9"},{"name":"telemetry-flush","duration":19,"timestamp":385167715,"id":2027,"parentId":1,"tags":{},"startTime":1765570817739,"traceId":"95122e582121bfb9"},{"name":"next-build","duration":12954542,"timestamp":372213272,"id":1,"tags":{"buildMode":"default","version":"16.0.10","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1765570804785,"traceId":"95122e582121bfb9"}]
1
+ [{"name":"run-typescript","duration":1728960,"timestamp":1220189609,"id":13,"parentId":1,"tags":{},"startTime":1769965308191,"traceId":"9174845eb6d0c50c"},{"name":"run-webpack","duration":5920136,"timestamp":1221920373,"id":15,"parentId":1,"tags":{},"startTime":1769965309922,"traceId":"9174845eb6d0c50c"},{"name":"static-check","duration":179471,"timestamp":1228007816,"id":2000,"parentId":1,"tags":{},"startTime":1769965316010,"traceId":"9174845eb6d0c50c"},{"name":"static-generation","duration":988693,"timestamp":1228197586,"id":2019,"parentId":1,"tags":{},"startTime":1769965316199,"traceId":"9174845eb6d0c50c"},{"name":"collect-build-traces","duration":3616250,"timestamp":1228187957,"id":2016,"parentId":1,"tags":{},"startTime":1769965316190,"traceId":"9174845eb6d0c50c"},{"name":"telemetry-flush","duration":18,"timestamp":1231805242,"id":2031,"parentId":1,"tags":{},"startTime":1769965319807,"traceId":"9174845eb6d0c50c"},{"name":"next-build","duration":11812719,"timestamp":1219992543,"id":1,"tags":{"buildMode":"default","version":"16.0.10","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1769965307994,"traceId":"9174845eb6d0c50c"}]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/scrabble-solver",
3
- "version": "2.15.17",
3
+ "version": "2.15.19",
4
4
  "description": "Scrabble Solver 2 - App",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,13 +28,13 @@
28
28
  "@floating-ui/react": "^0.27.16",
29
29
  "@kamilmielnik/trie": "^4.0.0",
30
30
  "@reduxjs/toolkit": "^2.11.1",
31
- "@scrabble-solver/configs": "^2.15.17",
32
- "@scrabble-solver/constants": "^2.15.17",
33
- "@scrabble-solver/dictionaries": "^2.15.17",
34
- "@scrabble-solver/logger": "^2.15.17",
35
- "@scrabble-solver/solver": "^2.15.17",
36
- "@scrabble-solver/types": "^2.15.17",
37
- "@scrabble-solver/word-definitions": "^2.15.17",
31
+ "@scrabble-solver/configs": "^2.15.19",
32
+ "@scrabble-solver/constants": "^2.15.19",
33
+ "@scrabble-solver/dictionaries": "^2.15.19",
34
+ "@scrabble-solver/logger": "^2.15.19",
35
+ "@scrabble-solver/solver": "^2.15.19",
36
+ "@scrabble-solver/types": "^2.15.19",
37
+ "@scrabble-solver/word-definitions": "^2.15.19",
38
38
  "classnames": "^2.5.1",
39
39
  "env-cmd": "^11.0.0",
40
40
  "include-media": "^2.0.0",
@@ -69,5 +69,5 @@
69
69
  "@types/redux": "^3.6.31",
70
70
  "sass": "^1.96.0"
71
71
  },
72
- "gitHead": "16e1e4ee33950b624f50023c630f1c95f909a2d4"
72
+ "gitHead": "18958ba917535d53ffa0fc7e592a5c99e1309066"
73
73
  }
@@ -298,7 +298,7 @@ export const useGrid = (rows: Cell[][]): [State, Actions] => {
298
298
  }
299
299
 
300
300
  const { x, y } = position;
301
- const character = event.key.toLowerCase();
301
+ const character = event.key.toLocaleLowerCase();
302
302
  const twoCharacterTile = config.getTwoCharacterTileByPrefix(character);
303
303
 
304
304
  if (isCtrl(event) && twoCharacterTile) {
@@ -329,7 +329,7 @@ export const useGrid = (rows: Cell[][]): [State, Actions] => {
329
329
  return;
330
330
  }
331
331
 
332
- if (event.target instanceof HTMLInputElement && event.target.value === event.key) {
332
+ if (event.target instanceof HTMLInputElement && event.target.value.toLocaleLowerCase() === character) {
333
333
  // change event did not fire because the same character was typed over the current one
334
334
  // but we still want to move the caret
335
335
  event.preventDefault();
@@ -137,9 +137,9 @@ export const Rack: FunctionComponent<Props> = ({ className, tileSize }) => {
137
137
  changeActiveIndex(1);
138
138
  },
139
139
  onKeyDown: (event) => {
140
- if (isCtrl(event) && config.isTwoCharacterTilePrefix(event.key)) {
140
+ if (isCtrl(event) && config.isTwoCharacterTilePrefix(event.key.toLocaleLowerCase())) {
141
141
  changeActiveIndex(1);
142
- } else if (event.currentTarget.value === event.key) {
142
+ } else if (event.currentTarget.value.toLocaleLowerCase() === event.key.toLocaleLowerCase()) {
143
143
  // change event did not fire because the same character was typed over the current one
144
144
  // but we still want to move the caret
145
145
  event.preventDefault();
@@ -96,10 +96,10 @@ export const RackTile: FunctionComponent<Props> = ({
96
96
  dispatch(rackSlice.actions.changeCharacter({ character: null, index }));
97
97
  },
98
98
  onKeyDown: (event) => {
99
- if (isCtrl(event) && config.isTwoCharacterTilePrefix(event.key)) {
99
+ if (isCtrl(event) && config.isTwoCharacterTilePrefix(event.key.toLocaleLowerCase())) {
100
100
  event.preventDefault();
101
101
  event.stopPropagation();
102
- const twoTilesCharacter = config.getTwoCharacterTileByPrefix(event.key);
102
+ const twoTilesCharacter = config.getTwoCharacterTileByPrefix(event.key.toLocaleLowerCase());
103
103
 
104
104
  if (twoTilesCharacter) {
105
105
  dispatch(rackSlice.actions.changeCharacter({ character: twoTilesCharacter, index }));
@@ -11,8 +11,8 @@ const INVISIBLE_STYLE: CSSProperties = {
11
11
  export const SeoMessage: FunctionComponent = () => (
12
12
  <p style={INVISIBLE_STYLE}>
13
13
  Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter
14
- League, Literaki, and Kelimelik. Quickly find top scoring words using given letters and board state. Available in
15
- English, French, German, Persian, Polish, Romanian, Spanish, and Turkish. Source code is available on GitHub -
16
- contributions are welcome!
14
+ League, Crossplay, Literaki, and Kelimelik. Quickly find top scoring words using given letters and board state.
15
+ Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish. Source code is available on
16
+ GitHub - contributions are welcome!
17
17
  </p>
18
18
  );
@@ -11,7 +11,7 @@ import '../styles/global.scss';
11
11
 
12
12
  const DESCRIPTION =
13
13
  // eslint-disable-next-line max-len
14
- 'Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish.';
14
+ 'Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki and Kelimelik. Quickly find top scoring words using given letters and board state. Available in English, French, German, Persian, Polish, Romanian, Spanish, and Turkish.';
15
15
 
16
16
  const KEYWORDS = [
17
17
  'Scrabble Solver',
@@ -21,6 +21,8 @@ const KEYWORDS = [
21
21
  'Super Scrabble',
22
22
  'Kelimelik',
23
23
  'Letter League',
24
+ 'Crossplay',
25
+ 'NYT Crossplay',
24
26
  'Literaki',
25
27
  'Board',
26
28
  'Open-source',