@scrabble-solver/scrabble-solver 2.15.5 → 2.15.6

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 (61) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +9 -9
  3. package/.next/cache/.rscinfo +1 -1
  4. package/.next/cache/.tsbuildinfo +1 -1
  5. package/.next/cache/eslint/.cache_8dgz12 +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/0.pack +0 -0
  10. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  11. package/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  12. package/.next/cache/webpack/server-production/0.pack +0 -0
  13. package/.next/cache/webpack/server-production/index.pack +0 -0
  14. package/.next/cache/webpack/server-production/index.pack.old +0 -0
  15. package/.next/diagnostics/framework.json +1 -1
  16. package/.next/next-minimal-server.js.nft.json +1 -1
  17. package/.next/next-server.js.nft.json +1 -1
  18. package/.next/prerender-manifest.json +1 -1
  19. package/.next/required-server-files.json +1 -1
  20. package/.next/routes-manifest.json +1 -1
  21. package/.next/server/chunks/{964.js → 292.js} +1 -1
  22. package/.next/server/chunks/331.js +2 -2
  23. package/.next/server/chunks/577.js +1 -1
  24. package/.next/server/chunks/807.js +1 -0
  25. package/.next/server/middleware-build-manifest.js +1 -1
  26. package/.next/server/pages/404.html +1 -1
  27. package/.next/server/pages/404.js.nft.json +1 -1
  28. package/.next/server/pages/500.html +1 -1
  29. package/.next/server/pages/_app.js +1 -1
  30. package/.next/server/pages/_app.js.nft.json +1 -1
  31. package/.next/server/pages/_document.js +1 -1
  32. package/.next/server/pages/_error.js +1 -1
  33. package/.next/server/pages/_error.js.nft.json +1 -1
  34. package/.next/server/pages/api/dictionary/[locale]/[word].js +2 -2
  35. package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  36. package/.next/server/pages/api/dictionary/[locale].js +1 -1
  37. package/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  38. package/.next/server/pages/api/solve.js +1 -1
  39. package/.next/server/pages/api/solve.js.nft.json +1 -1
  40. package/.next/server/pages/api/verify.js +1 -1
  41. package/.next/server/pages/api/verify.js.nft.json +1 -1
  42. package/.next/server/pages/api/visit.js +1 -1
  43. package/.next/server/pages/index.html +1 -1
  44. package/.next/server/pages/index.js +1 -1
  45. package/.next/server/pages/index.js.nft.json +1 -1
  46. package/.next/server/pages/index.json +1 -1
  47. package/.next/static/chunks/main-8d63777bf8b90ccb.js +1 -0
  48. package/.next/static/chunks/pages/_app-79ef8056607a21da.js +1 -0
  49. package/.next/static/chunks/pages/{index-817f862d5980cebe.js → index-5866a12bfb8f00c4.js} +1 -1
  50. package/.next/static/css/bc158181051cf066.css +2 -0
  51. package/.next/static/{_5S9YxXzM3OLRGGJe0qQv → uekKIGQQUe4pM47TO6mBn}/_buildManifest.js +1 -1
  52. package/.next/trace +23 -23
  53. package/package.json +17 -17
  54. package/src/components/Dictionary/Dictionary.module.scss +9 -1
  55. package/src/components/Dictionary/Dictionary.tsx +3 -0
  56. package/src/hooks/useAppLayout.ts +3 -0
  57. package/.next/server/chunks/67.js +0 -1
  58. package/.next/static/chunks/main-6e8e32bd2f4e331c.js +0 -1
  59. package/.next/static/chunks/pages/_app-c960503f8645e1de.js +0 -1
  60. package/.next/static/css/a7aa574f03b29f75.css +0 -2
  61. /package/.next/static/{_5S9YxXzM3OLRGGJe0qQv → uekKIGQQUe4pM47TO6mBn}/_ssgManifest.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/scrabble-solver",
3
- "version": "2.15.5",
3
+ "version": "2.15.6",
4
4
  "description": "Scrabble Solver 2 - App",
5
5
  "engines": {
6
6
  "node": ">=16"
@@ -27,21 +27,21 @@
27
27
  "start": "env-cmd next start -p 3333"
28
28
  },
29
29
  "dependencies": {
30
- "@floating-ui/react": "^0.26.25",
30
+ "@floating-ui/react": "^0.26.27",
31
31
  "@kamilmielnik/trie": "^3.1.0",
32
32
  "@reduxjs/toolkit": "^2.3.0",
33
- "@scrabble-solver/configs": "^2.15.5",
34
- "@scrabble-solver/constants": "^2.15.5",
35
- "@scrabble-solver/dictionaries": "^2.15.5",
36
- "@scrabble-solver/logger": "^2.15.5",
37
- "@scrabble-solver/solver": "^2.15.5",
38
- "@scrabble-solver/types": "^2.15.5",
39
- "@scrabble-solver/word-definitions": "^2.15.5",
33
+ "@scrabble-solver/configs": "^2.15.6",
34
+ "@scrabble-solver/constants": "^2.15.6",
35
+ "@scrabble-solver/dictionaries": "^2.15.6",
36
+ "@scrabble-solver/logger": "^2.15.6",
37
+ "@scrabble-solver/solver": "^2.15.6",
38
+ "@scrabble-solver/types": "^2.15.6",
39
+ "@scrabble-solver/word-definitions": "^2.15.6",
40
40
  "classnames": "^2.5.1",
41
41
  "env-cmd": "^10.1.0",
42
42
  "include-media": "^2.0.0",
43
43
  "include-media-query-builder": "^1.1.0",
44
- "next": "^15.0.1",
44
+ "next": "^15.0.2",
45
45
  "normalize.css": "^8.0.1",
46
46
  "react": "^18.3.1",
47
47
  "react-cool-onclickoutside": "^1.7.0",
@@ -53,11 +53,11 @@
53
53
  "redux-saga": "^1.3.0",
54
54
  "store2": "^2.14.3",
55
55
  "use-debounce": "^10.0.4",
56
- "workbox-expiration": "^7.1.0",
57
- "workbox-precaching": "^7.1.0",
58
- "workbox-routing": "^7.1.0",
59
- "workbox-webpack-plugin": "^7.1.0",
60
- "workbox-window": "^7.1.0"
56
+ "workbox-expiration": "^7.3.0",
57
+ "workbox-precaching": "^7.3.0",
58
+ "workbox-routing": "^7.3.0",
59
+ "workbox-webpack-plugin": "^7.3.0",
60
+ "workbox-window": "^7.3.0"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@svgr/webpack": "^8.1.0",
@@ -71,7 +71,7 @@
71
71
  "@types/react-window": "^1.8.8",
72
72
  "@types/redux": "^3.6.31",
73
73
  "@types/redux-saga": "^0.10.5",
74
- "sass": "^1.80.4"
74
+ "sass": "^1.80.6"
75
75
  },
76
- "gitHead": "fcb31b606fe7fb501c7e00a6c00a676fb7d2174f"
76
+ "gitHead": "5667158791e9edc65ae1e818302b230cf4ce1724"
77
77
  }
@@ -4,7 +4,6 @@
4
4
  position: relative;
5
5
  transition: var(--transition);
6
6
  word-break: break-word;
7
- overflow: hidden;
8
7
 
9
8
  &.isAllowed {
10
9
  background-color: var(--color--green--light);
@@ -13,6 +12,10 @@
13
12
  &.isNotAllowed {
14
13
  background-color: var(--color--red--light);
15
14
  }
15
+
16
+ &:focus-within {
17
+ @include focus-effect;
18
+ }
16
19
  }
17
20
 
18
21
  .content {
@@ -20,6 +23,11 @@
20
23
 
21
24
  height: 100%;
22
25
  overflow-y: auto;
26
+ border-radius: inherit;
27
+
28
+ &:focus-visible {
29
+ outline: none;
30
+ }
23
31
  }
24
32
 
25
33
  .result {
@@ -1,6 +1,7 @@
1
1
  import classNames from 'classnames';
2
2
  import { FunctionComponent } from 'react';
3
3
 
4
+ import { useAppLayout } from 'hooks';
4
5
  import { selectDictionary, selectDictionaryError, useTranslate, useTypedSelector } from 'state';
5
6
 
6
7
  import EmptyState from '../EmptyState';
@@ -14,6 +15,7 @@ interface Props {
14
15
 
15
16
  const Dictionary: FunctionComponent<Props> = ({ className }) => {
16
17
  const translate = useTranslate();
18
+ const { dictionaryResultsHeight } = useAppLayout();
17
19
  const { results, isLoading } = useTypedSelector(selectDictionary);
18
20
  const error = useTypedSelector(selectDictionaryError);
19
21
  const isLastAllowed = results.at(-1)?.isAllowed;
@@ -24,6 +26,7 @@ const Dictionary: FunctionComponent<Props> = ({ className }) => {
24
26
  [styles.isAllowed]: isLastAllowed === true,
25
27
  [styles.isNotAllowed]: isLastAllowed === false,
26
28
  })}
29
+ style={{ height: dictionaryResultsHeight }}
27
30
  >
28
31
  <div className={styles.content}>
29
32
  {typeof error !== 'undefined' && !isLoading && <EmptyState variant="error">{error.message}</EmptyState>}
@@ -17,6 +17,7 @@ import {
17
17
  RACK_TILE_SIZE_MAX,
18
18
  RESULTS_COLUMN_WIDTH,
19
19
  SOLVER_COLUMN_WIDTH,
20
+ TEXT_INPUT_HEIGHT,
20
21
  } from 'parameters';
21
22
  import { selectConfig, selectShowCoordinates, useTypedSelector } from 'state';
22
23
  import { ResultColumnId } from 'types';
@@ -67,6 +68,7 @@ const useAppLayout = () => {
67
68
  const maxControlsWidth = tileSize * config.rackSize + 2 * BORDER_WIDTH;
68
69
  const showResultsInModal = isLessThanL;
69
70
  const dictionaryHeight = showResultsInModal ? DICTIONARY_HEIGHT_MOBILE : DICTIONARY_HEIGHT;
71
+ const dictionaryResultsHeight = dictionaryHeight - TEXT_INPUT_HEIGHT - 2 * BORDER_WIDTH;
70
72
  const modalWidth = isLessThanS ? viewportWidth : MODAL_WIDTH;
71
73
  const resultsHeight = isLessThanL
72
74
  ? viewportHeight - dictionaryHeight - BUTTON_HEIGHT - MODAL_HEADER_HEIGHT - 5 * componentsSpacing
@@ -86,6 +88,7 @@ const useAppLayout = () => {
86
88
  coordinatesFontSize: coordinatesSize * 0.6,
87
89
  coordinatesSize,
88
90
  dictionaryHeight,
91
+ dictionaryResultsHeight,
89
92
  isModalFullWidth: isLessThanS,
90
93
  logoHeight,
91
94
  logoWidth: logoHeight * LOGO_ASPECT_RATIO,