@scrabble-solver/scrabble-solver 2.15.10 → 2.15.12

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 (297) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +15 -15
  3. package/.next/cache/.rscinfo +1 -1
  4. package/.next/cache/.tsbuildinfo +1 -1
  5. package/.next/cache/webpack/client-production/0.pack +0 -0
  6. package/.next/cache/webpack/client-production/index.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack.old +0 -0
  8. package/.next/cache/webpack/edge-server-production/0.pack +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/diagnostics/framework.json +1 -1
  15. package/.next/next-minimal-server.js.nft.json +1 -1
  16. package/.next/next-server.js.nft.json +1 -1
  17. package/.next/prerender-manifest.json +4 -4
  18. package/.next/required-server-files.json +7 -6
  19. package/.next/routes-manifest.json +1 -1
  20. package/.next/server/chunks/30.js +3 -3
  21. package/.next/server/chunks/318.js +1 -0
  22. package/.next/server/chunks/60.js +1 -1
  23. package/.next/server/chunks/812.js +1 -1
  24. package/.next/server/chunks/974.js +1 -1
  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/_error.js +1 -1
  32. package/.next/server/pages/_error.js.nft.json +1 -1
  33. package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  34. package/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  35. package/.next/server/pages/api/solve.js +1 -1
  36. package/.next/server/pages/api/solve.js.nft.json +1 -1
  37. package/.next/server/pages/api/verify.js.nft.json +1 -1
  38. package/.next/server/pages/index.html +1 -1
  39. package/.next/server/pages/index.js +1 -1
  40. package/.next/server/pages/index.js.nft.json +1 -1
  41. package/.next/server/pages/index.json +1 -1
  42. package/.next/server/pages-manifest.json +1 -1
  43. package/.next/static/{ylO_ttKeJTuoqDYywao5A → X6ny8arpUxpRCZ4OMm7Vo}/_buildManifest.js +1 -1
  44. package/.next/static/chunks/framework-57125a0cc6749ff9.js +1 -0
  45. package/.next/static/chunks/main-03618e8bd3cd04dd.js +1 -0
  46. package/.next/static/chunks/pages/{404-590e2a3839c1d9e0.js → 404-18b9f6f5faa91442.js} +1 -1
  47. package/.next/static/chunks/pages/_app-2378fe90e1762e8c.js +1 -0
  48. package/.next/static/chunks/pages/index-bfc599d9351773ae.js +1 -0
  49. package/.next/static/css/{6682db14f926d4c7.css → 04a3767982ec10e8.css} +1 -1
  50. package/.next/static/css/{d875648f38121a28.css → 1fae874a25934f54.css} +1 -1
  51. package/.next/trace +23 -23
  52. package/coverage/clover.xml +6 -0
  53. package/coverage/coverage-final.json +1 -0
  54. package/coverage/lcov-report/base.css +224 -0
  55. package/coverage/lcov-report/block-navigation.js +87 -0
  56. package/coverage/lcov-report/favicon.png +0 -0
  57. package/coverage/lcov-report/index.html +101 -0
  58. package/coverage/lcov-report/prettify.css +1 -0
  59. package/coverage/lcov-report/prettify.js +2 -0
  60. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  61. package/coverage/lcov-report/sorter.js +196 -0
  62. package/coverage/lcov.info +0 -0
  63. package/package.json +19 -18
  64. package/src/api/getServerLoggingData.ts +1 -1
  65. package/src/api/isBoardValid.ts +1 -1
  66. package/src/api/isCellValid.ts +1 -1
  67. package/src/api/isRowValid.ts +1 -1
  68. package/src/components/Alert/Alert.tsx +1 -1
  69. package/src/components/Badge/Badge.tsx +1 -1
  70. package/src/components/Board/Board.tsx +8 -8
  71. package/src/components/Board/BoardPure.tsx +12 -12
  72. package/src/components/Board/components/Actions/Actions.tsx +3 -3
  73. package/src/components/Board/components/Actions/lib.ts +3 -3
  74. package/src/components/Board/components/Cell/Cell.tsx +7 -7
  75. package/src/components/Board/components/InputPrompt/InputPrompt.tsx +2 -2
  76. package/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.tsx +2 -2
  77. package/src/components/Board/hooks/useBackgroundImage.tsx +1 -1
  78. package/src/components/Board/hooks/useBoardStyle.ts +1 -1
  79. package/src/components/Board/hooks/useGrid.ts +13 -13
  80. package/src/components/Board/lib.ts +37 -0
  81. package/src/components/Board/selectors.ts +8 -0
  82. package/src/components/Button/Button.tsx +1 -1
  83. package/src/components/Button/Link.tsx +1 -1
  84. package/src/components/Dictionary/Dictionary.tsx +10 -3
  85. package/src/components/DictionaryInput/DictionaryInput.tsx +1 -1
  86. package/src/components/EmptyState/EmptyState.tsx +3 -3
  87. package/src/components/IconButton/IconButton.tsx +1 -1
  88. package/src/components/IconButton/Link.tsx +1 -1
  89. package/src/components/Key/Key.tsx +1 -1
  90. package/src/components/Keys/Arrows/Arrows.tsx +1 -1
  91. package/src/components/Keys/index.tsx +1 -1
  92. package/src/components/Loading/Loading.tsx +6 -8
  93. package/src/components/Logo/LogoBlueprint.tsx +1 -1
  94. package/src/components/Modal/Modal.tsx +4 -2
  95. package/src/components/Modal/components/Section/Section.tsx +1 -1
  96. package/src/components/NavButtons/NavButtons.tsx +16 -12
  97. package/src/components/NavButtons/selectors.ts +11 -0
  98. package/src/components/NotFound/NotFound.tsx +1 -1
  99. package/src/components/PlainTiles/PlainTiles.tsx +1 -1
  100. package/src/components/PlainTiles/Tile.tsx +1 -1
  101. package/src/components/PlainTiles/lib.ts +90 -0
  102. package/src/components/Progress/Progress.tsx +1 -1
  103. package/src/components/Rack/Rack.tsx +10 -26
  104. package/src/components/Rack/components/InputPrompt/InputPrompt.tsx +5 -8
  105. package/src/components/Rack/components/InputPrompt/lib.test.ts +27 -0
  106. package/src/components/Rack/components/InputPrompt/lib.ts +19 -0
  107. package/src/components/Rack/components/RackTile/RackTile.tsx +9 -9
  108. package/src/components/Rack/selectors.ts +9 -0
  109. package/src/components/Radio/Radio.tsx +1 -1
  110. package/src/components/Results/Cell.tsx +2 -2
  111. package/src/components/Results/Header.tsx +1 -1
  112. package/src/components/Results/HeaderButton.tsx +2 -2
  113. package/src/components/Results/Result.tsx +5 -6
  114. package/src/components/Results/Results.tsx +6 -6
  115. package/src/components/Results/SolveButton.tsx +3 -3
  116. package/src/components/Results/types.ts +2 -2
  117. package/src/components/ResultsInput/ResultsInput.tsx +1 -1
  118. package/src/components/SeoMessage/SeoMessage.tsx +5 -4
  119. package/src/components/Solver/Solver.tsx +4 -4
  120. package/src/components/Solver/components/InsertButton/InsertButton.tsx +1 -1
  121. package/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx +5 -5
  122. package/src/components/Spinner/Spinner.tsx +1 -1
  123. package/src/components/Tile/Tile.tsx +7 -7
  124. package/src/components/Tile/TilePure.tsx +8 -8
  125. package/src/components/Tooltip/Tooltip.tsx +1 -1
  126. package/src/components/Tooltip/TooltipContent.tsx +1 -1
  127. package/src/components/Tooltip/TooltipTrigger.tsx +1 -1
  128. package/src/components/Tooltip/context.ts +1 -1
  129. package/src/components/Tooltip/useTooltip.ts +1 -1
  130. package/src/hooks/useAppLayout.ts +1 -1
  131. package/src/hooks/useColumns.ts +28 -1
  132. package/src/hooks/useEffectOnce.ts +1 -1
  133. package/src/hooks/useLocalStorage.ts +8 -0
  134. package/src/i18n/constants.ts +1 -1
  135. package/src/i18n/i18n.ts +1 -1
  136. package/src/i18n/languages/english.json +3 -0
  137. package/src/i18n/languages/french.json +3 -0
  138. package/src/i18n/languages/german.json +3 -0
  139. package/src/i18n/languages/persian.json +3 -0
  140. package/src/i18n/languages/polish.json +3 -0
  141. package/src/i18n/languages/romanian.json +3 -0
  142. package/src/i18n/languages/spanish.json +3 -0
  143. package/src/i18n/languages/turkish.json +3 -0
  144. package/src/lib/createComparator.ts +1 -1
  145. package/src/lib/createKeyComparator.ts +1 -1
  146. package/src/lib/createKeyboardNavigation.ts +1 -1
  147. package/src/lib/createStringComparator.ts +1 -1
  148. package/src/lib/extractCharacters.test.ts +42 -15
  149. package/src/lib/extractCharacters.ts +27 -25
  150. package/src/lib/findCell.ts +1 -1
  151. package/src/lib/getCoordinate.test.ts +22 -0
  152. package/src/lib/getCoordinate.ts +9 -1
  153. package/src/lib/index.ts +2 -17
  154. package/src/lib/isCtrl.ts +1 -1
  155. package/src/lib/localeTransliterate.test.ts +14 -0
  156. package/src/lib/localeTransliterate.ts +18 -0
  157. package/src/lib/numberComparator.ts +1 -1
  158. package/src/lib/reverseComparator.ts +1 -1
  159. package/src/lib/zipCharactersAndTiles.ts +2 -2
  160. package/src/modals/DictionaryModal/DictionaryModal.tsx +1 -1
  161. package/src/modals/KeyMapModal/KeyMapModal.tsx +1 -1
  162. package/src/modals/KeyMapModal/components/Mapping/Mapping.tsx +1 -1
  163. package/src/modals/MenuModal/MenuModal.tsx +1 -1
  164. package/src/modals/RemainingTilesModal/RemainingTilesModal.tsx +3 -2
  165. package/src/modals/RemainingTilesModal/components/Character/Character.tsx +7 -2
  166. package/src/{lib/getRemainingTilesGroups.ts → modals/RemainingTilesModal/lib.ts} +26 -9
  167. package/src/modals/RemainingTilesModal/selectors.ts +7 -0
  168. package/src/modals/ResultsModal/ResultsModal.tsx +4 -4
  169. package/src/modals/SettingsModal/SettingsModal.tsx +6 -1
  170. package/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx +1 -1
  171. package/src/modals/SettingsModal/components/AutoGroupTilesSetting/lib.ts +1 -1
  172. package/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +1 -1
  173. package/src/modals/SettingsModal/components/ConfigSetting/lib.ts +1 -1
  174. package/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.tsx +1 -1
  175. package/src/modals/SettingsModal/components/InputModeSetting/lib.ts +1 -1
  176. package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +2 -2
  177. package/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.module.scss +12 -0
  178. package/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.tsx +53 -0
  179. package/src/modals/SettingsModal/components/RemoveCellFiltersSetting/index.ts +1 -0
  180. package/src/modals/SettingsModal/components/RemoveCellFiltersSetting/lib.ts +13 -0
  181. package/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.tsx +2 -2
  182. package/src/modals/SettingsModal/components/index.ts +1 -0
  183. package/src/modals/WordsModal/WordsModal.tsx +4 -3
  184. package/src/pages/_app.tsx +4 -3
  185. package/src/pages/_document.tsx +1 -1
  186. package/src/pages/api/dictionary/[locale]/[word].ts +2 -2
  187. package/src/pages/api/dictionary/[locale]/index.ts +2 -2
  188. package/src/pages/api/solve.ts +11 -2
  189. package/src/pages/api/verify.ts +2 -2
  190. package/src/pages/api/visit.ts +1 -1
  191. package/src/pages/index.tsx +38 -44
  192. package/src/parameters/index.ts +1 -0
  193. package/src/sdk/findWordDefinitions.ts +1 -1
  194. package/src/sdk/getDictionary.ts +1 -1
  195. package/src/sdk/solve.ts +1 -1
  196. package/src/sdk/verify.ts +1 -1
  197. package/src/service-worker/dictionaries/getDictionary.ts +1 -1
  198. package/src/service-worker/dictionaries/getDictionaryUrl.ts +1 -1
  199. package/src/service-worker/dictionaries/revalidateDictionary.ts +1 -1
  200. package/src/service-worker/getTrie.ts +1 -1
  201. package/src/service-worker/routeSolveRequests.ts +2 -2
  202. package/src/service-worker/routeVerifyRequests.ts +1 -1
  203. package/src/state/board/index.ts +4 -0
  204. package/src/state/{slices/boardInitialState.ts → board/initialState.ts} +3 -6
  205. package/src/state/board/selectors.ts +3 -0
  206. package/src/state/{slices/boardSlice.ts → board/slice.ts} +5 -4
  207. package/src/state/board/types.ts +3 -0
  208. package/src/state/cellFilters/index.ts +4 -0
  209. package/src/state/cellFilters/initialState.ts +3 -0
  210. package/src/state/cellFilters/lib.ts +8 -0
  211. package/src/state/cellFilters/selectors.ts +13 -0
  212. package/src/state/{slices/cellFilterSlice.ts → cellFilters/slice.ts} +15 -14
  213. package/src/state/cellFilters/types.ts +3 -0
  214. package/src/state/dictionary/index.ts +4 -0
  215. package/src/state/dictionary/initialState.ts +8 -0
  216. package/src/state/dictionary/selectors.ts +16 -0
  217. package/src/state/{slices/dictionarySlice.ts → dictionary/slice.ts} +3 -3
  218. package/src/state/dictionary/types.ts +8 -0
  219. package/src/state/index.ts +12 -5
  220. package/src/{lib/getRemainingTiles.ts → state/lib.ts} +3 -4
  221. package/src/state/localStorage.ts +11 -2
  222. package/src/state/rack/index.ts +4 -0
  223. package/src/state/rack/initialState.ts +12 -0
  224. package/src/state/rack/selectors.ts +7 -0
  225. package/src/state/{slices/rackSlice.ts → rack/slice.ts} +4 -4
  226. package/src/state/rack/types.ts +3 -0
  227. package/src/state/results/index.ts +4 -0
  228. package/src/state/results/initialState.ts +13 -0
  229. package/src/state/results/lib.ts +96 -0
  230. package/src/state/results/selectors.ts +75 -0
  231. package/src/state/{slices/resultsSlice.ts → results/slice.ts} +4 -4
  232. package/src/state/results/types.ts +10 -0
  233. package/src/state/sagas.ts +22 -23
  234. package/src/state/selectors.ts +15 -235
  235. package/src/state/settings/index.ts +4 -0
  236. package/src/state/{slices/settingsInitialState.ts → settings/initialState.ts} +4 -11
  237. package/src/state/settings/lib.ts +42 -0
  238. package/src/state/settings/selectors.ts +69 -0
  239. package/src/state/{slices/settingsSlice.ts → settings/slice.ts} +9 -4
  240. package/src/state/settings/types.ts +12 -0
  241. package/src/state/solve/index.ts +4 -0
  242. package/src/state/solve/initialState.ts +12 -0
  243. package/src/state/solve/selectors.ts +14 -0
  244. package/src/state/{slices/solveSlice.ts → solve/slice.ts} +3 -3
  245. package/src/state/solve/types.ts +10 -0
  246. package/src/state/store.ts +9 -11
  247. package/src/state/types.ts +16 -18
  248. package/src/state/useTranslate.ts +2 -2
  249. package/src/state/useTypedSelector.ts +2 -2
  250. package/src/state/verify/index.ts +4 -0
  251. package/src/state/verify/initialState.ts +12 -0
  252. package/src/state/verify/selectors.ts +9 -0
  253. package/src/state/{slices/verifySlice.ts → verify/slice.ts} +3 -3
  254. package/src/state/verify/types.ts +10 -0
  255. package/src/styles/global.scss +5 -0
  256. package/src/types/api.ts +1 -1
  257. package/src/types/index.ts +9 -4
  258. package/tsconfig.tsbuildinfo +1 -0
  259. package/.eslintrc.js +0 -10
  260. package/.next/server/chunks/968.js +0 -1
  261. package/.next/static/chunks/framework-288d1abd95de88d9.js +0 -1
  262. package/.next/static/chunks/main-016492249b3393e2.js +0 -1
  263. package/.next/static/chunks/pages/_app-ac93a74c390f2ab8.js +0 -1
  264. package/.next/static/chunks/pages/index-e5f1caa581e6d3b8.js +0 -1
  265. package/src/components/Board/lib/getBonusColor.ts +0 -16
  266. package/src/components/Board/lib/getPositionInGrid.ts +0 -13
  267. package/src/components/Board/lib/index.ts +0 -2
  268. package/src/components/PlainTiles/lib/createPlainTile.ts +0 -41
  269. package/src/components/PlainTiles/lib/createPlainTiles.ts +0 -25
  270. package/src/components/PlainTiles/lib/getViewbox.ts +0 -17
  271. package/src/components/PlainTiles/lib/getX.ts +0 -5
  272. package/src/components/PlainTiles/lib/getY.ts +0 -5
  273. package/src/components/PlainTiles/lib/index.ts +0 -6
  274. package/src/components/PlainTiles/lib/randomize.ts +0 -1
  275. package/src/lib/createArray.ts +0 -1
  276. package/src/lib/createGridOf.ts +0 -9
  277. package/src/lib/detectLocale.ts +0 -27
  278. package/src/lib/extractCharactersByCase.test.ts +0 -29
  279. package/src/lib/extractCharactersByCase.ts +0 -29
  280. package/src/lib/getCellSize.ts +0 -10
  281. package/src/lib/getCoordinates.ts +0 -16
  282. package/src/lib/getRemainingTilesCount.ts +0 -5
  283. package/src/lib/getTotalRemainingTilesCount.ts +0 -5
  284. package/src/lib/groupResults.ts +0 -35
  285. package/src/lib/guessLocale.ts +0 -20
  286. package/src/lib/isUpperCase.ts +0 -5
  287. package/src/lib/resultMatchesCellFilter.ts +0 -21
  288. package/src/lib/sortGroupedResults.ts +0 -21
  289. package/src/lib/sortResults.ts +0 -41
  290. package/src/state/slices/cellFilterInitialState.ts +0 -5
  291. package/src/state/slices/dictionaryInitialState.ts +0 -15
  292. package/src/state/slices/index.ts +0 -16
  293. package/src/state/slices/rackInitialState.ts +0 -9
  294. package/src/state/slices/resultsInitialState.ts +0 -20
  295. package/src/state/slices/solveInitialState.ts +0 -21
  296. package/src/state/slices/verifyInitialState.ts +0 -19
  297. /package/.next/static/{ylO_ttKeJTuoqDYywao5A → X6ny8arpUxpRCZ4OMm7Vo}/_ssgManifest.js +0 -0
@@ -1,21 +1,19 @@
1
- import {
2
- boardSlice,
3
- cellFilterSlice,
4
- dictionarySlice,
5
- rackSlice,
6
- resultsSlice,
7
- settingsSlice,
8
- solveSlice,
9
- verifySlice,
10
- } from './slices';
1
+ import type { BoardState } from './board';
2
+ import type { CellFiltersState } from './cellFilters';
3
+ import type { DictionaryState } from './dictionary';
4
+ import type { RackState } from './rack';
5
+ import type { ResultsState } from './results';
6
+ import type { SettingsState } from './settings';
7
+ import type { SolveState } from './solve';
8
+ import type { VerifyState } from './verify';
11
9
 
12
10
  export type RootState = {
13
- board: ReturnType<typeof boardSlice.reducer>;
14
- cellFilter: ReturnType<typeof cellFilterSlice.reducer>;
15
- dictionary: ReturnType<typeof dictionarySlice.reducer>;
16
- rack: ReturnType<typeof rackSlice.reducer>;
17
- results: ReturnType<typeof resultsSlice.reducer>;
18
- settings: ReturnType<typeof settingsSlice.reducer>;
19
- solve: ReturnType<typeof solveSlice.reducer>;
20
- verify: ReturnType<typeof verifySlice.reducer>;
11
+ board: BoardState;
12
+ cellFilters: CellFiltersState;
13
+ dictionary: DictionaryState;
14
+ rack: RackState;
15
+ results: ResultsState;
16
+ settings: SettingsState;
17
+ solve: SolveState;
18
+ verify: VerifyState;
21
19
  };
@@ -1,8 +1,8 @@
1
1
  import { useCallback } from 'react';
2
2
 
3
- import { Translate } from 'types';
3
+ import type { Translate } from 'types';
4
4
 
5
- import { selectLocale, selectTranslations } from './selectors';
5
+ import { selectLocale, selectTranslations } from './settings';
6
6
  import { useTypedSelector } from './useTypedSelector';
7
7
 
8
8
  export const useTranslate = (): Translate => {
@@ -1,5 +1,5 @@
1
- import { TypedUseSelectorHook, useSelector } from 'react-redux';
1
+ import { type TypedUseSelectorHook, useSelector } from 'react-redux';
2
2
 
3
- import { RootState } from './types';
3
+ import type { RootState } from './types';
4
4
 
5
5
  export const useTypedSelector: TypedUseSelectorHook<RootState> = useSelector;
@@ -0,0 +1,4 @@
1
+ export * from './initialState';
2
+ export * from './selectors';
3
+ export * from './slice';
4
+ export * from './types';
@@ -0,0 +1,12 @@
1
+ import { boardInitialState } from '../board';
2
+
3
+ import type { VerifyState } from './types';
4
+
5
+ export const verifyInitialState: VerifyState = {
6
+ isLoading: false,
7
+ lastSolvedParameters: {
8
+ board: boardInitialState,
9
+ },
10
+ invalidWords: [],
11
+ validWords: [],
12
+ };
@@ -0,0 +1,9 @@
1
+ import { createSelector } from '@reduxjs/toolkit';
2
+
3
+ import type { RootState } from '../types';
4
+
5
+ export const selectVerify = (state: RootState) => state.verify;
6
+
7
+ export const selectInvalidWords = createSelector([selectVerify], (verify) => verify.invalidWords);
8
+
9
+ export const selectValidWords = createSelector([selectVerify], (verify) => verify.validWords);
@@ -1,7 +1,7 @@
1
- import { createSlice, PayloadAction } from '@reduxjs/toolkit';
2
- import { Board } from '@scrabble-solver/types';
1
+ import { createSlice, type PayloadAction } from '@reduxjs/toolkit';
2
+ import { type Board } from '@scrabble-solver/types';
3
3
 
4
- import { verifyInitialState } from './verifyInitialState';
4
+ import { verifyInitialState } from './initialState';
5
5
 
6
6
  interface VerifyParameters {
7
7
  board: Board;
@@ -0,0 +1,10 @@
1
+ import type { BoardState } from '../board';
2
+
3
+ export interface VerifyState {
4
+ isLoading: boolean;
5
+ lastSolvedParameters: {
6
+ board: BoardState;
7
+ };
8
+ invalidWords: string[];
9
+ validWords: string[];
10
+ }
@@ -45,3 +45,8 @@ h4 {
45
45
  -webkit-margin-after: 0;
46
46
  margin: 0;
47
47
  }
48
+
49
+ /* https://github.com/vercel/next.js/discussions/13387#discussioncomment-5694715 */
50
+ nextjs-portal {
51
+ display: none;
52
+ }
package/src/types/api.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { BoardJson, ConfigJson, Game, Locale } from '@scrabble-solver/types';
1
+ import { type BoardJson, type ConfigJson, type Game, type Locale } from '@scrabble-solver/types';
2
2
 
3
3
  export interface SolveRequestPayload {
4
4
  board: BoardJson;
@@ -1,5 +1,5 @@
1
- import { Result } from '@scrabble-solver/types';
2
- import { FunctionComponent, SVGAttributes } from 'react';
1
+ import { type Result } from '@scrabble-solver/types';
2
+ import { type FunctionComponent, type SVGAttributes } from 'react';
3
3
 
4
4
  export type Comparator<T> = (a: T, B: T) => number;
5
5
 
@@ -7,12 +7,14 @@ export type AutoGroupTiles = 'left' | 'right' | null;
7
7
 
8
8
  export type CellFilterType = 'include' | 'exclude';
9
9
 
10
- export type CellFilterEntry = {
10
+ export type CellFilter = {
11
11
  x: Point['x'];
12
12
  y: Point['y'];
13
13
  type: CellFilterType;
14
14
  };
15
15
 
16
+ export type RemoveCellFilters = 'always' | 'never' | null;
17
+
16
18
  export type Direction = 'horizontal' | 'vertical';
17
19
 
18
20
  export type InputMode = 'keyboard' | 'touchscreen';
@@ -36,7 +38,7 @@ export enum SortDirection {
36
38
 
37
39
  export interface RemainingTile {
38
40
  character: string;
39
- count: number;
41
+ count?: number;
40
42
  score: number;
41
43
  usedCount: number;
42
44
  }
@@ -141,6 +143,9 @@ export type TranslationKey =
141
143
  | 'settings.inputMode'
142
144
  | 'settings.inputMode.keyboard'
143
145
  | 'settings.inputMode.touchscreen'
146
+ | 'settings.removeCellFilters'
147
+ | 'settings.removeCellFilters.always'
148
+ | 'settings.removeCellFilters.never'
144
149
  | 'settings.language'
145
150
  | 'settings.showCoordinates'
146
151
  | 'settings.showCoordinates.alternative'