@scrabble-solver/scrabble-solver 2.11.1 → 2.11.2

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 (98) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +6 -6
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/eslint/.cache_8dgz12 +1 -1
  5. package/.next/cache/next-server.js.nft.json +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/edge-server-production/0.pack +0 -0
  9. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  10. package/.next/cache/webpack/server-production/0.pack +0 -0
  11. package/.next/cache/webpack/server-production/index.pack +0 -0
  12. package/.next/next-server.js.nft.json +1 -1
  13. package/.next/prerender-manifest.json +1 -1
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/277.js +203 -173
  16. package/.next/server/middleware-build-manifest.js +1 -1
  17. package/.next/server/pages/404.html +2 -2
  18. package/.next/server/pages/404.js.nft.json +1 -1
  19. package/.next/server/pages/500.html +1 -1
  20. package/.next/server/pages/_app.js.nft.json +1 -1
  21. package/.next/server/pages/_document.js.nft.json +1 -1
  22. package/.next/server/pages/api/dictionary/[locale]/[word].js +0 -1
  23. package/.next/server/pages/api/dictionary/[locale].js +0 -1
  24. package/.next/server/pages/api/solve.js +29 -8
  25. package/.next/server/pages/api/verify.js +0 -1
  26. package/.next/server/pages/api/visit.js +0 -1
  27. package/.next/server/pages/index.html +1 -1
  28. package/.next/server/pages/index.js +46 -39
  29. package/.next/server/pages/index.js.nft.json +1 -1
  30. package/.next/server/pages/index.json +1 -1
  31. package/.next/static/{esK8DG-6aS5V7QFRtR3YE → Mdvi3FY0PqkILKLbPlVBU}/_buildManifest.js +1 -1
  32. package/.next/static/chunks/pages/_app-495e6f4ccc278bb2.js +28 -0
  33. package/.next/static/chunks/pages/index-5ecc51900ca29685.js +1 -0
  34. package/.next/static/css/17b0a2db8742105f.css +1 -0
  35. package/.next/static/css/e1ffeb2558330c55.css +2 -0
  36. package/.next/trace +54 -53
  37. package/package.json +9 -9
  38. package/src/components/Board/components/Cell/Cell.module.scss +10 -2
  39. package/src/components/Board/hooks/useGrid.ts +1 -2
  40. package/src/components/Board/lib/getPositionInGrid.ts +1 -1
  41. package/src/components/LogoSplashScreen/LogoSplashScreen.module.scss +4 -1
  42. package/src/components/Modal/Modal.module.scss +12 -0
  43. package/src/components/Modal/Modal.tsx +4 -1
  44. package/src/components/Results/HeaderButton.tsx +5 -12
  45. package/src/components/Results/Result.tsx +5 -3
  46. package/src/components/Results/Results.module.scss +13 -1
  47. package/src/components/Results/Results.tsx +29 -43
  48. package/src/components/Results/types.ts +1 -1
  49. package/src/components/Solver/Solver.module.scss +4 -0
  50. package/src/components/Solver/Solver.tsx +9 -12
  51. package/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx +5 -6
  52. package/src/components/Tile/Tile.module.scss +40 -71
  53. package/src/components/Tile/Tile.tsx +4 -3
  54. package/src/components/Tile/TilePure.tsx +4 -13
  55. package/src/hooks/useAppLayout.ts +3 -1
  56. package/src/i18n/de.json +0 -1
  57. package/src/i18n/en.json +0 -1
  58. package/src/i18n/es.json +0 -1
  59. package/src/i18n/fa.json +0 -1
  60. package/src/i18n/fr.json +0 -1
  61. package/src/i18n/pl.json +0 -1
  62. package/src/lib/createRegExp.ts +13 -0
  63. package/src/lib/groupResults.ts +38 -0
  64. package/src/lib/guessLocale.ts +22 -0
  65. package/src/lib/index.ts +4 -1
  66. package/src/lib/sortResults.ts +6 -10
  67. package/src/modals/DictionaryModal/DictionaryModal.module.scss +0 -1
  68. package/src/modals/MenuModal/MenuModal.module.scss +7 -0
  69. package/src/modals/ResultsModal/ResultsModal.module.scss +2 -3
  70. package/src/modals/ResultsModal/ResultsModal.tsx +23 -11
  71. package/src/pages/api/dictionary/[locale]/[word].ts +0 -1
  72. package/src/pages/api/dictionary/[locale]/index.ts +0 -1
  73. package/src/pages/api/solve.ts +0 -1
  74. package/src/pages/api/verify.ts +0 -1
  75. package/src/pages/api/visit.ts +0 -1
  76. package/src/pages/index.tsx +13 -15
  77. package/src/parameters/index.ts +2 -2
  78. package/src/state/sagas.ts +1 -0
  79. package/src/state/selectors.ts +37 -37
  80. package/src/state/slices/boardInitialState.ts +3 -1
  81. package/src/state/slices/cellFilterInitialState.ts +3 -3
  82. package/src/state/slices/cellFilterSlice.ts +3 -1
  83. package/src/state/slices/dictionaryInitialState.ts +2 -2
  84. package/src/state/slices/rackInitialState.ts +3 -1
  85. package/src/state/slices/resultsInitialState.ts +11 -4
  86. package/src/state/slices/settingsInitialState.ts +10 -21
  87. package/src/state/slices/solveInitialState.ts +2 -2
  88. package/src/state/slices/solveSlice.ts +2 -0
  89. package/src/state/slices/verifyInitialState.ts +13 -4
  90. package/src/styles/mixins.scss +3 -1
  91. package/src/styles/variables.scss +1 -0
  92. package/src/types/index.ts +10 -2
  93. package/.next/static/chunks/pages/_app-270526803bc274eb.js +0 -28
  94. package/.next/static/chunks/pages/index-c6e7754ccf3532df.js +0 -1
  95. package/.next/static/css/ad39b36eab07e613.css +0 -1
  96. package/.next/static/css/e5803e581e4c0451.css +0 -2
  97. package/src/components/Board/types/index.ts +0 -4
  98. /package/.next/static/{esK8DG-6aS5V7QFRtR3YE → Mdvi3FY0PqkILKLbPlVBU}/_ssgManifest.js +0 -0
@@ -1206,7 +1206,8 @@ module.exports = {
1206
1206
  "overlay": "Modal_overlay__lX1Uv",
1207
1207
  "header": "Modal_header__9Nc2I",
1208
1208
  "title": "Modal_title__p4NB1",
1209
- "content": "Modal_content__RDLjq"
1209
+ "content": "Modal_content__RDLjq",
1210
+ "footer": "Modal_footer__KnjQg"
1210
1211
  };
1211
1212
 
1212
1213
 
@@ -1327,6 +1328,7 @@ module.exports = {
1327
1328
  "headerButtonLabel": "Results_headerButtonLabel__XQiIP",
1328
1329
  "result": "Results_result__bpPGb",
1329
1330
  "highlighted": "Results_highlighted__5x4Wt",
1331
+ "notMatching": "Results_notMatching__63y6L",
1330
1332
  "resultContent": "Results_resultContent__fynvQ",
1331
1333
  "word": "Results_word__j20u_",
1332
1334
  "cell": "Results_cell__13BH5",
@@ -1375,6 +1377,7 @@ module.exports = {
1375
1377
  "board": "Solver_board__d5oBN",
1376
1378
  "submitInput": "Solver_submitInput__eic0t",
1377
1379
  "column": "Solver_column__0EMSH",
1380
+ "results": "Solver_results__ElAKY",
1378
1381
  "dictionaryContainer": "Solver_dictionaryContainer__uxJRV",
1379
1382
  "dictionary": "Solver_dictionary__09LYB",
1380
1383
  "dictionaryInput": "Solver_dictionaryInput__9BLNF",
@@ -1491,15 +1494,12 @@ module.exports = {
1491
1494
  "points3": "Tile_points3__lJKOJ",
1492
1495
  "points4": "Tile_points4__IylBI",
1493
1496
  "points5": "Tile_points5__Kzick",
1497
+ "raised": "Tile_raised__WKori",
1494
1498
  "blank": "Tile_blank__q2Ujv",
1495
- "placeholder": "Tile_placeholder__UiozY",
1496
- "character": "Tile_character__2XzcR",
1499
+ "empty": "Tile_empty__DGtO_",
1497
1500
  "highlighted": "Tile_highlighted__eg00X",
1498
1501
  "points": "Tile_points__z39vV",
1499
- "disabled": "Tile_disabled__aPQkZ",
1500
1502
  "input": "Tile_input__Rol_n",
1501
- "empty": "Tile_empty__DGtO_",
1502
- "raised": "Tile_raised__WKori",
1503
1503
  "alert": "Tile_alert__0o8j3"
1504
1504
  };
1505
1505
 
@@ -1933,7 +1933,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1933
1933
  /* harmony import */ var _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7618);
1934
1934
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
1935
1935
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
1936
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83644);
1936
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10129);
1937
1937
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83067);
1938
1938
  /* harmony import */ var _CellPure__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(12418);
1939
1939
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_4__, _CellPure__WEBPACK_IMPORTED_MODULE_5__]);
@@ -2201,7 +2201,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
2201
2201
  /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69755);
2202
2202
  /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_4__);
2203
2203
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(36743);
2204
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83644);
2204
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(10129);
2205
2205
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83067);
2206
2206
  /* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(97792);
2207
2207
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_7__]);
@@ -3494,7 +3494,7 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
3494
3494
 
3495
3495
 
3496
3496
 
3497
- const Modal = ({ children , className , isOpen , title , onClose })=>{
3497
+ const Modal = ({ children , className , footer , isOpen , title , onClose })=>{
3498
3498
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTranslate */ .qM)();
3499
3499
  const [shouldReturnFocusAfterClose, setShouldReturnFocusAfterClose] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(true);
3500
3500
  (0,react_use__WEBPACK_IMPORTED_MODULE_4__.useKey)("Escape", ()=>{
@@ -3544,6 +3544,10 @@ const Modal = ({ children , className , isOpen , title , onClose })=>{
3544
3544
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3545
3545
  className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().content),
3546
3546
  children: children
3547
+ }),
3548
+ footer && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3549
+ className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().footer),
3550
+ children: footer
3547
3551
  })
3548
3552
  ]
3549
3553
  })
@@ -4198,7 +4202,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4198
4202
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
4199
4203
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
4200
4204
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(36743);
4201
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83644);
4205
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10129);
4202
4206
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83067);
4203
4207
  /* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52404);
4204
4208
  /* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Rack_module_scss__WEBPACK_IMPORTED_MODULE_8__);
@@ -4354,7 +4358,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4354
4358
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
4355
4359
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
4356
4360
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
4357
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83644);
4361
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10129);
4358
4362
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83067);
4359
4363
  /* harmony import */ var _Tile__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(96815);
4360
4364
  /* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52404);
@@ -4587,8 +4591,7 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
4587
4591
  const HeaderButton = ({ column })=>{
4588
4592
  const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)();
4589
4593
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTranslate */ .qM)();
4590
- const sortColumn = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_4__/* .selectResultsSortColumn */ .R);
4591
- const sortDirection = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_4__/* .selectResultsSortDirection */ .sH);
4594
+ const sort = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_4__/* .selectResultsSort */ .R);
4592
4595
  const triggerProps = (0,_Tooltip__WEBPACK_IMPORTED_MODULE_6__/* .useTooltip */ .l)(translate(column.translationKey));
4593
4596
  const handleOrderChange = (columnId)=>{
4594
4597
  dispatch(state__WEBPACK_IMPORTED_MODULE_4__/* .resultsSlice.actions.sort */ ._C.actions.sort(columnId));
@@ -4606,12 +4609,12 @@ const HeaderButton = ({ column })=>{
4606
4609
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_7___default().headerButtonLabel),
4607
4610
  children: translate(column.translationKey)
4608
4611
  }),
4609
- sortColumn === column.id && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
4612
+ sort.column === column.id && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
4610
4613
  children: [
4611
- sortDirection === types__WEBPACK_IMPORTED_MODULE_5__/* .SortDirection.Ascending */ .S.Ascending && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(icons__WEBPACK_IMPORTED_MODULE_3__/* .SortUp */ .Nc, {
4614
+ sort.direction === types__WEBPACK_IMPORTED_MODULE_5__/* .SortDirection.Ascending */ .S.Ascending && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(icons__WEBPACK_IMPORTED_MODULE_3__/* .SortUp */ .Nc, {
4612
4615
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_7___default().sortIcon)
4613
4616
  }),
4614
- sortDirection === types__WEBPACK_IMPORTED_MODULE_5__/* .SortDirection.Descending */ .S.Descending && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(icons__WEBPACK_IMPORTED_MODULE_3__/* .SortDown */ .l, {
4617
+ sort.direction === types__WEBPACK_IMPORTED_MODULE_5__/* .SortDirection.Descending */ .S.Descending && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(icons__WEBPACK_IMPORTED_MODULE_3__/* .SortDown */ .l, {
4615
4618
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_7___default().sortIcon)
4616
4619
  })
4617
4620
  ]
@@ -4642,7 +4645,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4642
4645
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
4643
4646
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
4644
4647
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(36743);
4645
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83644);
4648
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10129);
4646
4649
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
4647
4650
  /* harmony import */ var types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1966);
4648
4651
  /* harmony import */ var _Cell__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(29287);
@@ -4662,13 +4665,14 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
4662
4665
 
4663
4666
 
4664
4667
  const Result = ({ data , index , style })=>{
4665
- const { highlightedIndex , results , onBlur =lib__WEBPACK_IMPORTED_MODULE_4__/* .noop */ .ZT , onClick =lib__WEBPACK_IMPORTED_MODULE_4__/* .noop */ .ZT , onFocus =lib__WEBPACK_IMPORTED_MODULE_4__/* .noop */ .ZT , onMouseEnter =lib__WEBPACK_IMPORTED_MODULE_4__/* .noop */ .ZT , onMouseLeave =lib__WEBPACK_IMPORTED_MODULE_4__/* .noop */ .ZT } = data;
4668
+ const { highlightedIndex , results =[] , onBlur =lib__WEBPACK_IMPORTED_MODULE_4__/* .noop */ .ZT , onClick =lib__WEBPACK_IMPORTED_MODULE_4__/* .noop */ .ZT , onFocus =lib__WEBPACK_IMPORTED_MODULE_4__/* .noop */ .ZT , onMouseEnter =lib__WEBPACK_IMPORTED_MODULE_4__/* .noop */ .ZT , onMouseLeave =lib__WEBPACK_IMPORTED_MODULE_4__/* .noop */ .ZT } = data;
4666
4669
  const ref = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);
4670
+ const columns = (0,_useColumns__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)();
4667
4671
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectLocale */ .fN);
4668
4672
  const { consonants , vowels } = i18n__WEBPACK_IMPORTED_MODULE_3__/* .LOCALE_FEATURES */ .q[locale];
4669
4673
  const result = results[index];
4674
+ const isMatching = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)((state)=>(0,state__WEBPACK_IMPORTED_MODULE_5__/* .selectIsResultMatching */ .yJ)(state, index));
4670
4675
  const otherWords = result.words.slice(1).join(" / ").toLocaleUpperCase();
4671
- const columns = (0,_useColumns__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z)();
4672
4676
  const enabledColumns = Object.fromEntries(columns.map((column)=>[
4673
4677
  column.id,
4674
4678
  true
@@ -4681,7 +4685,8 @@ const Result = ({ data , index , style })=>{
4681
4685
  return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("button", {
4682
4686
  "aria-label": result.word,
4683
4687
  className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Results_module_scss__WEBPACK_IMPORTED_MODULE_9___default().result), {
4684
- [(_Results_module_scss__WEBPACK_IMPORTED_MODULE_9___default().highlighted)]: index === highlightedIndex
4688
+ [(_Results_module_scss__WEBPACK_IMPORTED_MODULE_9___default().highlighted)]: index === highlightedIndex,
4689
+ [(_Results_module_scss__WEBPACK_IMPORTED_MODULE_9___default().notMatching)]: !isMatching
4685
4690
  }),
4686
4691
  ref: ref,
4687
4692
  style: style,
@@ -4795,9 +4800,7 @@ const Results = ({ callbacks , className , highlightedIndex })=>{
4795
4800
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTranslate */ .qM)();
4796
4801
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectLocale */ .fN);
4797
4802
  const { direction } = i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q[locale];
4798
- const allResults = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectSortedResults */ .f2);
4799
- const filteredResults = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectSortedFilteredResults */ .dN);
4800
- const results = filteredResults || [];
4803
+ const results = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectResults */ .x5);
4801
4804
  const isLoading = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectIsLoading */ .xU);
4802
4805
  const isOutdated = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectAreResultsOutdated */ .Mj);
4803
4806
  const error = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectSolveError */ .Rn);
@@ -4815,7 +4818,7 @@ const Results = ({ callbacks , className , highlightedIndex })=>{
4815
4818
  const columns = (0,_useColumns__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z)();
4816
4819
  const scrollToIndex = typeof highlightedIndex === "number" ? highlightedIndex : 0;
4817
4820
  const scrollToIndexRef = (0,react_use__WEBPACK_IMPORTED_MODULE_3__.useLatest)(scrollToIndex);
4818
- const hasResults = typeof error === "undefined" && typeof filteredResults !== "undefined" && typeof allResults !== "undefined";
4821
+ const hasResults = typeof error === "undefined" && typeof results !== "undefined";
4819
4822
  (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{
4820
4823
  // without setTimeout, the initial scrolling offset is calculated
4821
4824
  // incorrectly, as the list is not fully rendered by the browser yet
@@ -4828,7 +4831,7 @@ const Results = ({ callbacks , className , highlightedIndex })=>{
4828
4831
  globalThis.clearTimeout(timeout);
4829
4832
  };
4830
4833
  }, [
4831
- allResults,
4834
+ results,
4832
4835
  listRef,
4833
4836
  scrollToIndexRef
4834
4837
  ]);
@@ -4852,7 +4855,7 @@ const Results = ({ callbacks , className , highlightedIndex })=>{
4852
4855
  variant: "error",
4853
4856
  children: error.message
4854
4857
  }),
4855
- typeof error === "undefined" && typeof filteredResults === "undefined" && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_EmptyState__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
4858
+ typeof error === "undefined" && typeof results === "undefined" && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_EmptyState__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
4856
4859
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().emptyState),
4857
4860
  variant: "info",
4858
4861
  children: [
@@ -4874,41 +4877,32 @@ const Results = ({ callbacks , className , highlightedIndex })=>{
4874
4877
  })
4875
4878
  ]
4876
4879
  }),
4877
- !isOutdated && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
4878
- children: [
4879
- allResults.length === 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyState__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
4880
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().emptyState),
4881
- variant: "warning",
4882
- children: translate("results.empty-state.no-results")
4883
- }),
4884
- allResults.length > 0 && filteredResults.length === 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyState__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
4885
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().emptyState),
4886
- variant: "info",
4887
- children: translate("results.empty-state.no-filtered-results")
4880
+ !isOutdated && results.length === 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyState__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
4881
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().emptyState),
4882
+ variant: "warning",
4883
+ children: translate("results.empty-state.no-results")
4884
+ }),
4885
+ !isOutdated && results.length > 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
4886
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().listContainer),
4887
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_window__WEBPACK_IMPORTED_MODULE_4__.FixedSizeList, {
4888
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().list), {
4889
+ [(_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().outdated)]: isOutdated
4888
4890
  }),
4889
- allResults.length > 0 && filteredResults.length > 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
4890
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().listContainer),
4891
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_window__WEBPACK_IMPORTED_MODULE_4__.FixedSizeList, {
4892
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().list), {
4893
- [(_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().outdated)]: isOutdated
4894
- }),
4895
- direction: direction,
4896
- height: height,
4897
- itemCount: filteredResults.length,
4898
- itemData: itemData,
4899
- itemSize: parameters__WEBPACK_IMPORTED_MODULE_6__/* .RESULTS_ITEM_HEIGHT */ .rx,
4900
- ref: setListRef,
4901
- width: width,
4902
- children: _Result__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z
4903
- })
4904
- })
4905
- ]
4891
+ direction: direction,
4892
+ height: height,
4893
+ itemCount: results.length,
4894
+ itemData: itemData,
4895
+ itemSize: parameters__WEBPACK_IMPORTED_MODULE_6__/* .RESULTS_ITEM_HEIGHT */ .rx,
4896
+ ref: setListRef,
4897
+ width: width,
4898
+ children: _Result__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z
4899
+ })
4906
4900
  })
4907
4901
  ]
4908
4902
  })
4909
4903
  ]
4910
4904
  }),
4911
- hasResults && allResults.length > 0 && !isOutdated && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ResultsInput__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
4905
+ hasResults && results.length > 0 && !isOutdated && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ResultsInput__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
4912
4906
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().input)
4913
4907
  }),
4914
4908
  isLoading && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Loading__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {})
@@ -5129,7 +5123,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
5129
5123
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
5130
5124
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
5131
5125
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
5132
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83644);
5126
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10129);
5133
5127
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
5134
5128
  /* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(60066);
5135
5129
  /* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6__);
@@ -5318,17 +5312,15 @@ const Solver = ({ className , height , width , onShowResults })=>{
5318
5312
  const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)();
5319
5313
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTranslate */ .qM)();
5320
5314
  const isTouchDevice = (0,hooks__WEBPACK_IMPORTED_MODULE_5__/* .useIsTouchDevice */ .YQ)();
5321
- const { componentsSpacing , isBoardFullWidth , showColumn , showCompactControls , showFloatingSolveButton } = (0,hooks__WEBPACK_IMPORTED_MODULE_5__/* .useAppLayout */ .Ft)();
5322
- const [bottomContainerRef, { height: bottomContainerHeight }] = (0,react_use__WEBPACK_IMPORTED_MODULE_4__.useMeasure)();
5323
- const [columnRef, { width: columnWidth }] = (0,react_use__WEBPACK_IMPORTED_MODULE_4__.useMeasure)();
5324
- const maxBoardWidth = width - columnWidth - (showColumn ? componentsSpacing : 0) - 2 * componentsSpacing;
5325
- const maxBoardHeight = isBoardFullWidth ? Number.POSITIVE_INFINITY : Math.max(height - bottomContainerHeight, 0);
5315
+ const { columnWidth , componentsSpacing , isBoardFullWidth , showColumn , showCompactControls , showFloatingSolveButton } = (0,hooks__WEBPACK_IMPORTED_MODULE_5__/* .useAppLayout */ .Ft)();
5326
5316
  const config = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectConfig */ .$o);
5327
5317
  const error = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectSolveError */ .Rn);
5328
5318
  const isOutdated = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectAreResultsOutdated */ .Mj);
5329
5319
  const resultCandidate = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectResultCandidate */ .Xk);
5330
- const allResults = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectSortedResults */ .f2);
5331
- const results = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectSortedFilteredResults */ .dN);
5320
+ const results = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectResults */ .x5);
5321
+ const [bottomContainerRef, { height: bottomContainerHeight }] = (0,react_use__WEBPACK_IMPORTED_MODULE_4__.useMeasure)();
5322
+ const maxBoardWidth = width - columnWidth - (showColumn ? componentsSpacing : 0) - 2 * componentsSpacing;
5323
+ const maxBoardHeight = isBoardFullWidth ? Number.POSITIVE_INFINITY : Math.max(height - bottomContainerHeight, 0);
5332
5324
  const [bestResult] = results || [];
5333
5325
  const cellWidth = (maxBoardWidth - (config.boardWidth + 1) * parameters__WEBPACK_IMPORTED_MODULE_6__/* .BORDER_WIDTH */ .YF) / config.boardWidth;
5334
5326
  const cellHeight = (maxBoardHeight - (config.boardHeight + 1) * parameters__WEBPACK_IMPORTED_MODULE_6__/* .BORDER_WIDTH */ .YF) / config.boardHeight;
@@ -5408,10 +5400,10 @@ const Solver = ({ className , height , width , onShowResults })=>{
5408
5400
  }),
5409
5401
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
5410
5402
  className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().column),
5411
- ref: columnRef,
5412
5403
  children: [
5413
5404
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Results__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
5414
- callbacks: callbacks
5405
+ callbacks: callbacks,
5406
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().results)
5415
5407
  }),
5416
5408
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
5417
5409
  className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().dictionaryContainer),
@@ -5463,7 +5455,7 @@ const Solver = ({ className , height , width , onShowResults })=>{
5463
5455
  variant: "error",
5464
5456
  children: error.message
5465
5457
  }),
5466
- allResults && allResults.length === 0 && !isOutdated && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Alert__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
5458
+ results && results.length === 0 && !isOutdated && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Alert__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
5467
5459
  className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().emptyState),
5468
5460
  variant: "warning",
5469
5461
  children: translate("results.empty-state.no-results")
@@ -5502,7 +5494,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
5502
5494
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6022);
5503
5495
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
5504
5496
  /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(69461);
5505
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83644);
5497
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10129);
5506
5498
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
5507
5499
  /* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83900);
5508
5500
  /* harmony import */ var _Spinner__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(33538);
@@ -5680,13 +5672,12 @@ const ResultCandidatePicker = ({ className , onResultClick , ...props })=>{
5680
5672
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectLocale */ .fN);
5681
5673
  const isLoading = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectIsLoading */ .xU);
5682
5674
  const isOutdated = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectAreResultsOutdated */ .Mj);
5683
- const sortedResults = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectSortedResults */ .f2);
5684
- const results = sortedResults || [];
5675
+ const results = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectResults */ .x5);
5685
5676
  const resultCandidate = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectResultCandidate */ .Xk);
5686
- const index = resultCandidate ? results.findIndex((result)=>result.id === resultCandidate.id) : -1;
5677
+ const index = resultCandidate && results ? results.findIndex((result)=>result.id === resultCandidate.id) : -1;
5687
5678
  const disabled = isOutdated || !resultCandidate;
5688
- const isPreviousDisabled = index <= 0 || disabled;
5689
- const isNextDisabled = index >= results.length - 1 || disabled;
5679
+ const isPreviousDisabled = !results || index <= 0 || disabled;
5680
+ const isNextDisabled = !results || index >= results.length - 1 || disabled;
5690
5681
  const bothEnabled = !isPreviousDisabled && !isNextDisabled;
5691
5682
  const { showFloatingSolveButton } = (0,hooks__WEBPACK_IMPORTED_MODULE_3__/* .useAppLayout */ .Ft)();
5692
5683
  const handleNextClick = ()=>{
@@ -6033,7 +6024,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
6033
6024
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16689);
6034
6025
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
6035
6026
  /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75704);
6036
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83644);
6027
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10129);
6037
6028
  /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(64534);
6038
6029
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83067);
6039
6030
  /* harmony import */ var _TilePure__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(83147);
@@ -6053,14 +6044,11 @@ const Tile = ({ "aria-label": ariaLabel , autoFocus , className , character =""
6053
6044
  const { animateTile , showTilePoints } = (0,hooks__WEBPACK_IMPORTED_MODULE_4__/* .useAppLayout */ .Ft)();
6054
6045
  const { pointsFontSize , tileFontSize , tileSize } = (0,lib__WEBPACK_IMPORTED_MODULE_5__/* .getTileSizes */ .vc)(size);
6055
6046
  const style = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(()=>({
6047
+ fontSize: tileFontSize,
6056
6048
  height: tileSize,
6057
6049
  width: tileSize
6058
6050
  }), [
6059
- tileSize
6060
- ]);
6061
- const characterStyle = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(()=>({
6062
- fontSize: tileFontSize
6063
- }), [
6051
+ tileSize,
6064
6052
  tileFontSize
6065
6053
  ]);
6066
6054
  const pointsStyle = (0,react__WEBPACK_IMPORTED_MODULE_3__.useMemo)(()=>({
@@ -6108,7 +6096,6 @@ const Tile = ({ "aria-label": ariaLabel , autoFocus , className , character =""
6108
6096
  autoFocus: autoFocus,
6109
6097
  canShowPoints: canShowPoints,
6110
6098
  character: character,
6111
- characterStyle: characterStyle,
6112
6099
  className: className,
6113
6100
  disabled: disabled,
6114
6101
  highlighted: highlighted,
@@ -6155,21 +6142,23 @@ __webpack_async_result__();
6155
6142
 
6156
6143
 
6157
6144
 
6158
- const TilePure = ({ "aria-label": ariaLabel , autoFocus , canShowPoints , character , characterStyle , className , disabled , highlighted , inputRef , isBlank , isValid , placeholder , points , pointsFormatted , pointsStyle , raised , style , tabIndex , onChange , onFocus , onKeyDown })=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
6145
+ const TilePure = ({ "aria-label": ariaLabel , autoFocus , canShowPoints , character , className , disabled , highlighted , inputRef , isBlank , isValid , placeholder , points , pointsFormatted , pointsStyle , raised , style , tabIndex , onChange , onFocus , onKeyDown })=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
6159
6146
  className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().tile), className, {
6160
6147
  [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().blank)]: isBlank,
6161
6148
  [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().disabled)]: disabled,
6162
6149
  [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().empty)]: !character,
6163
6150
  [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().highlighted)]: highlighted,
6164
- [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().raised)]: raised,
6151
+ [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().placeholder)]: !character,
6165
6152
  [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().points1)]: points === 1,
6166
6153
  [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().points2)]: points === 2,
6167
6154
  [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().points3)]: points === 3,
6168
6155
  [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().points4)]: points === 4,
6169
- [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().points5)]: typeof points === "number" && points >= 5
6156
+ [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().points5)]: typeof points === "number" && points >= 5,
6157
+ [(_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().raised)]: raised
6170
6158
  }),
6171
6159
  style: style,
6172
6160
  children: [
6161
+ character || placeholder,
6173
6162
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("input", {
6174
6163
  "aria-label": ariaLabel,
6175
6164
  autoCapitalize: "none",
@@ -6186,18 +6175,6 @@ const TilePure = ({ "aria-label": ariaLabel , autoFocus , canShowPoints , charac
6186
6175
  onFocus: onFocus,
6187
6176
  onKeyDown: onKeyDown
6188
6177
  }),
6189
- placeholder && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
6190
- className: (_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().placeholder),
6191
- style: characterStyle,
6192
- tabIndex: -1,
6193
- children: placeholder
6194
- }),
6195
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
6196
- className: (_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().character),
6197
- style: characterStyle,
6198
- tabIndex: -1,
6199
- children: character
6200
- }),
6201
6178
  canShowPoints && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
6202
6179
  className: (_Tile_module_scss__WEBPACK_IMPORTED_MODULE_4___default().points),
6203
6180
  style: pointsStyle,
@@ -6265,7 +6242,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
6265
6242
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16689);
6266
6243
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
6267
6244
  /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75704);
6268
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83644);
6245
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10129);
6269
6246
  /* harmony import */ var _Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(53229);
6270
6247
  /* harmony import */ var _Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_6__);
6271
6248
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_floating_ui_react__WEBPACK_IMPORTED_MODULE_1__, hooks__WEBPACK_IMPORTED_MODULE_4__]);
@@ -6535,8 +6512,10 @@ const useAppLayout = ()=>{
6535
6512
  const showColumn = !isLessThanL;
6536
6513
  return {
6537
6514
  animateTile: !isLessThanXs,
6515
+ columnWidth: showColumn ? parameters__WEBPACK_IMPORTED_MODULE_0__/* .SOLVER_COLUMN_WIDTH */ .pt : 0,
6538
6516
  componentsSpacing: isLessThanXl ? parameters__WEBPACK_IMPORTED_MODULE_0__/* .COMPONENTS_SPACING_SMALL */ .op : parameters__WEBPACK_IMPORTED_MODULE_0__/* .COMPONENTS_SPACING */ .tr,
6539
6517
  isBoardFullWidth: isLessThanM,
6518
+ isModalFullWidth: isLessThanS,
6540
6519
  showColumn,
6541
6520
  showCompactControls: !showColumn,
6542
6521
  showFloatingSolveButton: isTouchDevice,
@@ -6560,7 +6539,7 @@ const useAppLayout = ()=>{
6560
6539
  /* harmony export */ });
6561
6540
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6562
6541
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6563
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83644);
6542
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10129);
6564
6543
 
6565
6544
 
6566
6545
  const useDirection = (direction)=>{
@@ -6610,7 +6589,7 @@ const useIsTouchDevice = ()=>{
6610
6589
  /* harmony export */ });
6611
6590
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6612
6591
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6613
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83644);
6592
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10129);
6614
6593
 
6615
6594
 
6616
6595
  const useLanguage = (language)=>{
@@ -6794,7 +6773,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
6794
6773
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
6795
6774
  /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69755);
6796
6775
  /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_2__);
6797
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83644);
6776
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10129);
6798
6777
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83067);
6799
6778
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_4__]);
6800
6779
  state__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
@@ -6923,7 +6902,7 @@ const useMediaQuery = (query, defaultState)=>{
6923
6902
  /* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom_client__WEBPACK_IMPORTED_MODULE_2__);
6924
6903
  /* harmony import */ var react_portal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63938);
6925
6904
  /* harmony import */ var react_portal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_portal__WEBPACK_IMPORTED_MODULE_3__);
6926
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83644);
6905
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10129);
6927
6906
 
6928
6907
 
6929
6908
 
@@ -7032,17 +7011,17 @@ const LOCALE_FEATURES = {
7032
7011
  };
7033
7012
 
7034
7013
  ;// CONCATENATED MODULE: ./src/i18n/de.json
7035
- const de_namespaceObject = JSON.parse('{"cell.filter-cell":"Zielort - klicken zum Wechseln","cell.set-blank":"Als Blanko markieren","cell.set-not-blank":"Nicht als Blanko markieren","cell.tile.location":"Brett: Stein ({{x}}, {{y}})","cell.toggle-direction":"Schreibrichtung - klicken zum Wechseln","common.blanks":"Blankos","common.clear":"Löschen","common.close":"Schließen","common.consonants":"Konsonanten","common.loading":"Laden","common.next":"Weiter","common.points":"Punkte","common.previous":"Zurück","common.tiles":"Steine","common.two-letter-tiles":"Zwei-Buchstaben","common.vowels":"Vokale","common.word":"Wort","common.words":"Wörter","dictionary":"Wörterbuch","dictionary.empty-state.no-definitions":"Wort existiert im Wörterbuch aber hat keine Definition.","dictionary.empty-state.no-results":"Wort kann nicht im Wörterbuch gefunden werden.","dictionary.empty-state.not-allowed":"Dieses Wort ist nicht erlaubt.","dictionary.empty-state.uninitialized":"Die Wörterbuchdefinition des letzten markierten Wortes wird hier angezeigt.","dictionary.input.placeholder":"Durchsuche Wörterbuch...","dictionary.input.title":"Durch Kommas getrennte Wörter","empty-state.error":"Fehler","empty-state.info":"Info","empty-state.success":"Juhuu!","empty-state.warning":"Oje!","github":"Schau dieses Projekt auf GitHub an","keyMap":"Tastaturkürzel","keyMap.board":"Brett","keyMap.board.toggle-blank":"Als Blanko markieren / aufheben","keyMap.board.toggle-direction":"Schreibrichtung umschalten","keyMap.board-and-rack":"Brett & Ablage","keyMap.board-and-rack.insert-two-letter-tile":"Zwei-Buchstaben Stein hinzufügen","keyMap.board-and-rack.navigate":"Navigieren","keyMap.board-and-rack.remove-tile":"Stein entfernen","keyMap.board-and-rack.submit":"Lösen starten","keyMap.rack":"Ablage","keyMap.rack.insert-blank":"Blanko hinzufügen (Leertaste)","menu":"Menü","rack.placeholder":"Steine…","rack.tile.location":"Ablage: Stein ({{index}})","remaining-tiles":"Restliche Steine","results":"Ergebnisse","results.empty-state.no-filtered-results":"Keine Ergebnisse für diese Anfrage.","results.empty-state.no-results":"Keine Ergebnisse - kein Wort konnte generiert werden.","results.empty-state.outdated":"Ergebnisse sind alt. Klicken zum Aktualisieren.","results.empty-state.uninitialized":"Wörter die aus deinen Buchstaben generiert wurden erscheinen hier.","results.input.placeholder":"Suchergebnisse... (RegExp)","results.insert":"Hinzufügen","results.solve":"Lösen","settings":"Einstellungen","settings.autoGroupTiles":"Restliche Steine gruppieren","settings.autoGroupTiles.left":"Linke Seite","settings.autoGroupTiles.right":"Rechte Seite","settings.autoGroupTiles.null":"Nicht gruppieren","settings.game":"Spiel","settings.language":"Sprache","words":"Gebildete Wörter","words.invalid":"Falsch","words.valid":"Korrekt"}');
7014
+ const de_namespaceObject = JSON.parse('{"cell.filter-cell":"Zielort - klicken zum Wechseln","cell.set-blank":"Als Blanko markieren","cell.set-not-blank":"Nicht als Blanko markieren","cell.tile.location":"Brett: Stein ({{x}}, {{y}})","cell.toggle-direction":"Schreibrichtung - klicken zum Wechseln","common.blanks":"Blankos","common.clear":"Löschen","common.close":"Schließen","common.consonants":"Konsonanten","common.loading":"Laden","common.next":"Weiter","common.points":"Punkte","common.previous":"Zurück","common.tiles":"Steine","common.two-letter-tiles":"Zwei-Buchstaben","common.vowels":"Vokale","common.word":"Wort","common.words":"Wörter","dictionary":"Wörterbuch","dictionary.empty-state.no-definitions":"Wort existiert im Wörterbuch aber hat keine Definition.","dictionary.empty-state.no-results":"Wort kann nicht im Wörterbuch gefunden werden.","dictionary.empty-state.not-allowed":"Dieses Wort ist nicht erlaubt.","dictionary.empty-state.uninitialized":"Die Wörterbuchdefinition des letzten markierten Wortes wird hier angezeigt.","dictionary.input.placeholder":"Durchsuche Wörterbuch...","dictionary.input.title":"Durch Kommas getrennte Wörter","empty-state.error":"Fehler","empty-state.info":"Info","empty-state.success":"Juhuu!","empty-state.warning":"Oje!","github":"Schau dieses Projekt auf GitHub an","keyMap":"Tastaturkürzel","keyMap.board":"Brett","keyMap.board.toggle-blank":"Als Blanko markieren / aufheben","keyMap.board.toggle-direction":"Schreibrichtung umschalten","keyMap.board-and-rack":"Brett & Ablage","keyMap.board-and-rack.insert-two-letter-tile":"Zwei-Buchstaben Stein hinzufügen","keyMap.board-and-rack.navigate":"Navigieren","keyMap.board-and-rack.remove-tile":"Stein entfernen","keyMap.board-and-rack.submit":"Lösen starten","keyMap.rack":"Ablage","keyMap.rack.insert-blank":"Blanko hinzufügen (Leertaste)","menu":"Menü","rack.placeholder":"Steine…","rack.tile.location":"Ablage: Stein ({{index}})","remaining-tiles":"Restliche Steine","results":"Ergebnisse","results.empty-state.no-results":"Keine Ergebnisse - kein Wort konnte generiert werden.","results.empty-state.outdated":"Ergebnisse sind alt. Klicken zum Aktualisieren.","results.empty-state.uninitialized":"Wörter die aus deinen Buchstaben generiert wurden erscheinen hier.","results.input.placeholder":"Suchergebnisse... (RegExp)","results.insert":"Hinzufügen","results.solve":"Lösen","settings":"Einstellungen","settings.autoGroupTiles":"Restliche Steine gruppieren","settings.autoGroupTiles.left":"Linke Seite","settings.autoGroupTiles.right":"Rechte Seite","settings.autoGroupTiles.null":"Nicht gruppieren","settings.game":"Spiel","settings.language":"Sprache","words":"Gebildete Wörter","words.invalid":"Falsch","words.valid":"Korrekt"}');
7036
7015
  ;// CONCATENATED MODULE: ./src/i18n/en.json
7037
- const en_namespaceObject = JSON.parse('{"cell.filter-cell":"Target destination - click to toggle","cell.set-blank":"Mark it a blank","cell.set-not-blank":"Mark it not a blank","cell.tile.location":"Board: tile ({{x}}, {{y}})","cell.toggle-direction":"Typing direction - click to toggle","common.blanks":"Blanks","common.clear":"Clear","common.close":"Close","common.consonants":"Consonants","common.loading":"Loading","common.next":"Next","common.points":"Points","common.previous":"Previous","common.tiles":"Tiles","common.two-letter-tiles":"Two-letter","common.vowels":"Vowels","common.word":"Word","common.words":"Words","dictionary":"Dictionary","dictionary.empty-state.no-definitions":"Word exists in the dictionary but it does not have a definition.","dictionary.empty-state.no-results":"Unable to find word definition in the dictionary.","dictionary.empty-state.not-allowed":"This word is not allowed.","dictionary.empty-state.uninitialized":"Dictionary definition of the most recently highlighted word will be shown here.","dictionary.input.placeholder":"Search dictionary...","dictionary.input.title":"Comma-separated words","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Yeah!","empty-state.warning":"Oops!","github":"See this project on GitHub","keyMap":"Keyboard shortcuts","keyMap.board":"Board","keyMap.board.toggle-blank":"Mark/unmark tile as a blank","keyMap.board.toggle-direction":"Toggle typing direction","keyMap.board-and-rack":"Board & rack","keyMap.board-and-rack.insert-two-letter-tile":"Insert two-letter tile","keyMap.board-and-rack.navigate":"Navigate","keyMap.board-and-rack.remove-tile":"Remove tile","keyMap.board-and-rack.submit":"Start solving","keyMap.rack":"Rack","keyMap.rack.insert-blank":"Insert blank (spacebar)","menu":"Menu","rack.placeholder":"Letters","rack.tile.location":"Rack: tile ({{index}})","remaining-tiles":"Remaining tiles","results":"Results","results.empty-state.no-filtered-results":"No result matches this query.","results.empty-state.no-results":"No results - unable to generate any words.","results.empty-state.outdated":"Results are outdated. Click below to update.","results.empty-state.uninitialized":"Words generated from your letters will be shown here.","results.input.placeholder":"Search results... (RegExp)","results.insert":"Insert","results.solve":"Solve","settings":"Settings","settings.autoGroupTiles":"Group remaining tiles","settings.autoGroupTiles.left":"On the left","settings.autoGroupTiles.right":"On the right","settings.autoGroupTiles.null":"Do not group","settings.game":"Game","settings.language":"Language","words":"Created words","words.invalid":"Invalid","words.valid":"Valid"}');
7016
+ const en_namespaceObject = JSON.parse('{"cell.filter-cell":"Target destination - click to toggle","cell.set-blank":"Mark it a blank","cell.set-not-blank":"Mark it not a blank","cell.tile.location":"Board: tile ({{x}}, {{y}})","cell.toggle-direction":"Typing direction - click to toggle","common.blanks":"Blanks","common.clear":"Clear","common.close":"Close","common.consonants":"Consonants","common.loading":"Loading","common.next":"Next","common.points":"Points","common.previous":"Previous","common.tiles":"Tiles","common.two-letter-tiles":"Two-letter","common.vowels":"Vowels","common.word":"Word","common.words":"Words","dictionary":"Dictionary","dictionary.empty-state.no-definitions":"Word exists in the dictionary but it does not have a definition.","dictionary.empty-state.no-results":"Unable to find word definition in the dictionary.","dictionary.empty-state.not-allowed":"This word is not allowed.","dictionary.empty-state.uninitialized":"Dictionary definition of the most recently highlighted word will be shown here.","dictionary.input.placeholder":"Search dictionary...","dictionary.input.title":"Comma-separated words","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Yeah!","empty-state.warning":"Oops!","github":"See this project on GitHub","keyMap":"Keyboard shortcuts","keyMap.board":"Board","keyMap.board.toggle-blank":"Mark/unmark tile as a blank","keyMap.board.toggle-direction":"Toggle typing direction","keyMap.board-and-rack":"Board & rack","keyMap.board-and-rack.insert-two-letter-tile":"Insert two-letter tile","keyMap.board-and-rack.navigate":"Navigate","keyMap.board-and-rack.remove-tile":"Remove tile","keyMap.board-and-rack.submit":"Start solving","keyMap.rack":"Rack","keyMap.rack.insert-blank":"Insert blank (spacebar)","menu":"Menu","rack.placeholder":"Letters","rack.tile.location":"Rack: tile ({{index}})","remaining-tiles":"Remaining tiles","results":"Results","results.empty-state.no-results":"No results - unable to generate any words.","results.empty-state.outdated":"Results are outdated. Click below to update.","results.empty-state.uninitialized":"Words generated from your letters will be shown here.","results.input.placeholder":"Search results... (RegExp)","results.insert":"Insert","results.solve":"Solve","settings":"Settings","settings.autoGroupTiles":"Group remaining tiles","settings.autoGroupTiles.left":"On the left","settings.autoGroupTiles.right":"On the right","settings.autoGroupTiles.null":"Do not group","settings.game":"Game","settings.language":"Language","words":"Created words","words.invalid":"Invalid","words.valid":"Valid"}');
7038
7017
  ;// CONCATENATED MODULE: ./src/i18n/es.json
7039
- const es_namespaceObject = JSON.parse('{"cell.filter-cell":"Destino objetivo: haga clic para alternar","cell.set-blank":"Marcar como en blanco","cell.set-not-blank":"Marcar como no en blanco","cell.tile.location":"Tablero: espacio ({{x}}, {{y}})","cell.toggle-direction":"Dirección de escritura: haga clic para alternar","common.blanks":"Blancos","common.clear":"Borrar","common.close":"Cerrar","common.consonants":"Consonantes","common.loading":"Cargando","common.next":"Siguiente","common.points":"Puntos","common.previous":"Anterior","common.tiles":"Longitud","common.two-letter-tiles":"Dos letras","common.vowels":"Vocales","common.word":"Palabra","common.words":"Palabras","dictionary":"Diccionario","dictionary.empty-state.no-definitions":"La palabra existe en el diccionario pero no tiene una definición.","dictionary.empty-state.no-results":"No se puede encontrar la definición de palabra en el diccionario.","dictionary.empty-state.not-allowed":"Esta palabra no es aceptable.","dictionary.empty-state.uninitialized":"Aquí se mostrará la definición del diccionario de la última palabra resaltada.","dictionary.input.placeholder":"Busca el diccionario...","dictionary.input.title":"Palabras separadas por comas","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Sí!","empty-state.warning":"Vaya!","github":"Ver este proyecto en GitHub","keyMap":"Atajos de teclado","keyMap.board":"Tablero","keyMap.board.toggle-blank":"Marcar / desmarcar un espacio en blanco","keyMap.board.toggle-direction":"Alternar dirección de escritura","keyMap.board-and-rack":"Tablero y estante","keyMap.board-and-rack.insert-two-letter-tile":"Insertar mosaico de dos letras","keyMap.board-and-rack.navigate":"Navegar","keyMap.board-and-rack.remove-tile":"Quitar Letra","keyMap.board-and-rack.submit":"Empezar a resolver","keyMap.rack":"Estante","keyMap.rack.insert-blank":"Insertar espacio en blanco (barra espaciadora)","menu":"Menú","rack.placeholder":"Letras…","rack.tile.location":"Estante: espacio ({{index}})","remaining-tiles":"Casillas restantes","results":"Resultados","results.empty-state.no-filtered-results":"Ningún resultado coincide con esta consulta.","results.empty-state.no-results":"No hay resultados; no se pueden generar palabras","results.empty-state.outdated":"Los resultados están desactualizados. Haga clic a continuación para actualizar.","results.empty-state.uninitialized":"Aquí se mostrarán las palabras generadas a partir de sus letras.","results.input.placeholder":"Busque una solución... (RegExp)","results.insert":"Insertar","results.solve":"Resolver","settings":"Configuración","settings.autoGroupTiles":"Agrupar casillas restantes","settings.autoGroupTiles.left":"A la izquierda","settings.autoGroupTiles.right":"A la derecha","settings.autoGroupTiles.null":"No agrupar","settings.game":"Juego","settings.language":"Idioma","words":"Palabras creadas","words.invalid":"Incorrecto","words.valid":"Correcto"}');
7018
+ const es_namespaceObject = JSON.parse('{"cell.filter-cell":"Destino objetivo: haga clic para alternar","cell.set-blank":"Marcar como en blanco","cell.set-not-blank":"Marcar como no en blanco","cell.tile.location":"Tablero: espacio ({{x}}, {{y}})","cell.toggle-direction":"Dirección de escritura: haga clic para alternar","common.blanks":"Blancos","common.clear":"Borrar","common.close":"Cerrar","common.consonants":"Consonantes","common.loading":"Cargando","common.next":"Siguiente","common.points":"Puntos","common.previous":"Anterior","common.tiles":"Longitud","common.two-letter-tiles":"Dos letras","common.vowels":"Vocales","common.word":"Palabra","common.words":"Palabras","dictionary":"Diccionario","dictionary.empty-state.no-definitions":"La palabra existe en el diccionario pero no tiene una definición.","dictionary.empty-state.no-results":"No se puede encontrar la definición de palabra en el diccionario.","dictionary.empty-state.not-allowed":"Esta palabra no es aceptable.","dictionary.empty-state.uninitialized":"Aquí se mostrará la definición del diccionario de la última palabra resaltada.","dictionary.input.placeholder":"Busca el diccionario...","dictionary.input.title":"Palabras separadas por comas","empty-state.error":"Error","empty-state.info":"Info","empty-state.success":"Sí!","empty-state.warning":"Vaya!","github":"Ver este proyecto en GitHub","keyMap":"Atajos de teclado","keyMap.board":"Tablero","keyMap.board.toggle-blank":"Marcar / desmarcar un espacio en blanco","keyMap.board.toggle-direction":"Alternar dirección de escritura","keyMap.board-and-rack":"Tablero y estante","keyMap.board-and-rack.insert-two-letter-tile":"Insertar mosaico de dos letras","keyMap.board-and-rack.navigate":"Navegar","keyMap.board-and-rack.remove-tile":"Quitar Letra","keyMap.board-and-rack.submit":"Empezar a resolver","keyMap.rack":"Estante","keyMap.rack.insert-blank":"Insertar espacio en blanco (barra espaciadora)","menu":"Menú","rack.placeholder":"Letras…","rack.tile.location":"Estante: espacio ({{index}})","remaining-tiles":"Casillas restantes","results":"Resultados","results.empty-state.no-results":"No hay resultados; no se pueden generar palabras","results.empty-state.outdated":"Los resultados están desactualizados. Haga clic a continuación para actualizar.","results.empty-state.uninitialized":"Aquí se mostrarán las palabras generadas a partir de sus letras.","results.input.placeholder":"Busque una solución... (RegExp)","results.insert":"Insertar","results.solve":"Resolver","settings":"Configuración","settings.autoGroupTiles":"Agrupar casillas restantes","settings.autoGroupTiles.left":"A la izquierda","settings.autoGroupTiles.right":"A la derecha","settings.autoGroupTiles.null":"No agrupar","settings.game":"Juego","settings.language":"Idioma","words":"Palabras creadas","words.invalid":"Incorrecto","words.valid":"Correcto"}');
7040
7019
  ;// CONCATENATED MODULE: ./src/i18n/fa.json
7041
- const fa_namespaceObject = JSON.parse('{"cell.filter-cell":"مقصد - کلیک برای تغییر","cell.set-blank":"علامت گذاری به عنوان خالی","cell.set-not-blank":"علامت گذاری به عنوان غیر خالی","cell.toggle-direction":"جهت تایپ - کلیک برای تغییر","cell.tile.location":"({{x}}، {{y}}) کاشی: صفحه","common.blanks":"خالی","common.clear":"پاک کردن","common.close":"بستن","common.consonants":"حروف صامت","common.loading":"در حال بارگزاری","common.next":"بعدی","common.points":"امتیازات","common.previous":"قبلی","common.tiles":"کاشی ها","common.two-letter-tiles":"دو حرفی","common.vowels":"حروف مصوت","common.word":"کلمه","common.words":"کلمات","dictionary":"فرهنگ لغت","dictionary.empty-state.no-definitions":"کلمه در فرهنگ لغت وجود دارد، ولی معنایی برای آن ثبت نشده است.","dictionary.empty-state.no-results":"کلمه در فرهنگ لغت یافت نشد.","dictionary.empty-state.not-allowed":"این کلمه مجاز نیست.","dictionary.empty-state.uninitialized":"معنی لغت اینجا نمایش داده خواهد شد.","dictionary.input.placeholder":"جستجو در فرهنگ لغت ...","dictionary.input.title":"کلمات جدا شده با کاما","empty-state.error":"خطا","empty-state.info":"اطلاعات","empty-state.success":"حله!","empty-state.warning":"اوووخ!","github":"به این پروژه در گیتهاب سر بزنید","keyMap":"میانبر های کیبورد","keyMap.board":"صفحه","keyMap.board.toggle-blank":"علامت/عدم علامت گذاری کاشی به عنوان خالی","keyMap.board.toggle-direction":"تغییر جهت تایپ","keyMap.board-and-rack":"صفحه و طاقچه","keyMap.board-and-rack.insert-two-letter-tile":"وارد کردن کاشی دو حرفی","keyMap.board-and-rack.navigate":"حرکت","keyMap.board-and-rack.remove-tile":"حذف کاشی","keyMap.board-and-rack.submit":"حل کردن","keyMap.rack":"طاقچه","keyMap.rack.insert-blank":"وارد کردن کاشی خالی (دکمه اسپیس)","menu":"منو","rack.placeholder":"لیستحرف","rack.tile.location":"({{index}}) کاشی: طاقچه","remaining-tiles":"کاشی های باقی مانده","results":"نتایج","results.empty-state.no-filtered-results":"پاسخی یافت نشد.","results.empty-state.no-results":"کلمه قابل استفاده پیدا نشد.","results.empty-state.outdated":"نتایج به روز نیستند، برای بروز رسانی کلیک کنید.","results.empty-state.uninitialized":"کلمات تولید شده از حروف شما اینجا نمایش داده خواهد شد.","results.input.placeholder":"جستجو در نتایج (RegExp)","results.insert":"وارد کردن","results.solve":"حل کن","settings":"تنظیمات","settings.autoGroupTiles":"کاشی های باقی مانده ی طاقچه را کنار هم قرار بده","settings.autoGroupTiles.left":"در سمت چپ","settings.autoGroupTiles.right":"در سمت راست","settings.autoGroupTiles.null":"کنار هم قرار نده","settings.game":"بازی","settings.language":"زبان","words":"کلمات ساخته شده","words.invalid":"نا معتبر","words.valid":"معتبر"}');
7020
+ const fa_namespaceObject = JSON.parse('{"cell.filter-cell":"مقصد - کلیک برای تغییر","cell.set-blank":"علامت گذاری به عنوان خالی","cell.set-not-blank":"علامت گذاری به عنوان غیر خالی","cell.toggle-direction":"جهت تایپ - کلیک برای تغییر","cell.tile.location":"({{x}}، {{y}}) کاشی: صفحه","common.blanks":"خالی","common.clear":"پاک کردن","common.close":"بستن","common.consonants":"حروف صامت","common.loading":"در حال بارگزاری","common.next":"بعدی","common.points":"امتیازات","common.previous":"قبلی","common.tiles":"کاشی ها","common.two-letter-tiles":"دو حرفی","common.vowels":"حروف مصوت","common.word":"کلمه","common.words":"کلمات","dictionary":"فرهنگ لغت","dictionary.empty-state.no-definitions":"کلمه در فرهنگ لغت وجود دارد، ولی معنایی برای آن ثبت نشده است.","dictionary.empty-state.no-results":"کلمه در فرهنگ لغت یافت نشد.","dictionary.empty-state.not-allowed":"این کلمه مجاز نیست.","dictionary.empty-state.uninitialized":"معنی لغت اینجا نمایش داده خواهد شد.","dictionary.input.placeholder":"جستجو در فرهنگ لغت ...","dictionary.input.title":"کلمات جدا شده با کاما","empty-state.error":"خطا","empty-state.info":"اطلاعات","empty-state.success":"حله!","empty-state.warning":"اوووخ!","github":"به این پروژه در گیتهاب سر بزنید","keyMap":"میانبر های کیبورد","keyMap.board":"صفحه","keyMap.board.toggle-blank":"علامت/عدم علامت گذاری کاشی به عنوان خالی","keyMap.board.toggle-direction":"تغییر جهت تایپ","keyMap.board-and-rack":"صفحه و طاقچه","keyMap.board-and-rack.insert-two-letter-tile":"وارد کردن کاشی دو حرفی","keyMap.board-and-rack.navigate":"حرکت","keyMap.board-and-rack.remove-tile":"حذف کاشی","keyMap.board-and-rack.submit":"حل کردن","keyMap.rack":"طاقچه","keyMap.rack.insert-blank":"وارد کردن کاشی خالی (دکمه اسپیس)","menu":"منو","rack.placeholder":"لیستحرف","rack.tile.location":"({{index}}) کاشی: طاقچه","remaining-tiles":"کاشی های باقی مانده","results":"نتایج","results.empty-state.no-results":"کلمه قابل استفاده پیدا نشد.","results.empty-state.outdated":"نتایج به روز نیستند، برای بروز رسانی کلیک کنید.","results.empty-state.uninitialized":"کلمات تولید شده از حروف شما اینجا نمایش داده خواهد شد.","results.input.placeholder":"جستجو در نتایج (RegExp)","results.insert":"وارد کردن","results.solve":"حل کن","settings":"تنظیمات","settings.autoGroupTiles":"کاشی های باقی مانده ی طاقچه را کنار هم قرار بده","settings.autoGroupTiles.left":"در سمت چپ","settings.autoGroupTiles.right":"در سمت راست","settings.autoGroupTiles.null":"کنار هم قرار نده","settings.game":"بازی","settings.language":"زبان","words":"کلمات ساخته شده","words.invalid":"نا معتبر","words.valid":"معتبر"}');
7042
7021
  ;// CONCATENATED MODULE: ./src/i18n/fr.json
7043
- const fr_namespaceObject = JSON.parse('{"cell.filter-cell":"Destination cible - cliquer pour changer","cell.set-blank":"Marquer comme vide","cell.set-not-blank":"Marquer comme non vide","cell.tile.location":"Plateau: la case ({{x}}, {{y}})","cell.toggle-direction":"Direction d\'écriture - cliquer pour changer","common.blanks":"Cases vides","common.clear":"Effacer","common.close":"Fermer","common.consonants":"Consonnes","common.loading":"Chargement","common.next":"Suivant","common.points":"Points","common.previous":"Précédent","common.tiles":"Cases","common.two-letter-tiles":"Deux lettres","common.vowels":"Voyelles","common.word":"Mot","common.words":"Mots","dictionary":"Dictionnaire","dictionary.empty-state.no-definitions":"Le mot existe dans le dictionary mais n\'a pas de définition.","dictionary.empty-state.no-results":"Impossible de trouver une définition pour ce mot dans le dictionaire.","dictionary.empty-state.not-allowed":"Ce mot n\'est pas pas acceptable.","dictionary.empty-state.uninitialized":"La définition dictionaire du dernier mot surligné sera affichée ici.","dictionary.input.placeholder":"Rechercher dans le dictionnaire...","dictionary.input.title":"Mots séparées par des virgules","empty-state.error":"Erreur","empty-state.info":"Info","empty-state.success":"Ouais!","empty-state.warning":"Oups!","github":"Voir ce projet sur GitHub","keyMap":"Raccourcis clavier","keyMap.board":"Plateau","keyMap.board.toggle-blank":"Marqué/Démarqué la case en tant que vide","keyMap.board.toggle-direction":"Faire basculer la direction d\'écriture","keyMap.board-and-rack":"Plateau & chevalet","keyMap.board-and-rack.insert-two-letter-tile":"Insérer une tuile de deux lettres","keyMap.board-and-rack.navigate":"Naviguer","keyMap.board-and-rack.remove-tile":"Supprimer une case","keyMap.board-and-rack.submit":"Commencer la résolution","keyMap.rack":"Chevalet","keyMap.rack.insert-blank":"Inserer une case vide (spacebar)","menu":"Menu","rack.placeholder":"Lettres","rack.tile.location":"Chevalet: la case ({{index}})","remaining-tiles":"Cases restantes","results":"Résultats","results.empty-state.no-filtered-results":"Aucun résultat ne correspond à cette requête","results.empty-state.no-results":"Pas de résultats - impossible de générer des mots.","results.empty-state.outdated":"Les résultats sont dépassé. Cliquer ci-dessous pour mettre à jour.","results.empty-state.uninitialized":"Les mots générés à partir de vos lettres seront affichés ici.","results.input.placeholder":"Rechercher les résultats... (RegExp)","results.insert":"Inserer","results.solve":"Résoudre","settings":"Options","settings.autoGroupTiles":"Grouper les cases restantes","settings.autoGroupTiles.left":"Vers la droite","settings.autoGroupTiles.right":"Vers la gauche","settings.autoGroupTiles.null":"Ne pas grouper","settings.game":"Jeu","settings.language":"Langue","words":"Mots créés","words.invalid":"Incorrect","words.valid":"Corriger"}');
7022
+ const fr_namespaceObject = JSON.parse('{"cell.filter-cell":"Destination cible - cliquer pour changer","cell.set-blank":"Marquer comme vide","cell.set-not-blank":"Marquer comme non vide","cell.tile.location":"Plateau: la case ({{x}}, {{y}})","cell.toggle-direction":"Direction d\'écriture - cliquer pour changer","common.blanks":"Cases vides","common.clear":"Effacer","common.close":"Fermer","common.consonants":"Consonnes","common.loading":"Chargement","common.next":"Suivant","common.points":"Points","common.previous":"Précédent","common.tiles":"Cases","common.two-letter-tiles":"Deux lettres","common.vowels":"Voyelles","common.word":"Mot","common.words":"Mots","dictionary":"Dictionnaire","dictionary.empty-state.no-definitions":"Le mot existe dans le dictionary mais n\'a pas de définition.","dictionary.empty-state.no-results":"Impossible de trouver une définition pour ce mot dans le dictionaire.","dictionary.empty-state.not-allowed":"Ce mot n\'est pas pas acceptable.","dictionary.empty-state.uninitialized":"La définition dictionaire du dernier mot surligné sera affichée ici.","dictionary.input.placeholder":"Rechercher dans le dictionnaire...","dictionary.input.title":"Mots séparées par des virgules","empty-state.error":"Erreur","empty-state.info":"Info","empty-state.success":"Ouais!","empty-state.warning":"Oups!","github":"Voir ce projet sur GitHub","keyMap":"Raccourcis clavier","keyMap.board":"Plateau","keyMap.board.toggle-blank":"Marqué/Démarqué la case en tant que vide","keyMap.board.toggle-direction":"Faire basculer la direction d\'écriture","keyMap.board-and-rack":"Plateau & chevalet","keyMap.board-and-rack.insert-two-letter-tile":"Insérer une tuile de deux lettres","keyMap.board-and-rack.navigate":"Naviguer","keyMap.board-and-rack.remove-tile":"Supprimer une case","keyMap.board-and-rack.submit":"Commencer la résolution","keyMap.rack":"Chevalet","keyMap.rack.insert-blank":"Inserer une case vide (spacebar)","menu":"Menu","rack.placeholder":"Lettres","rack.tile.location":"Chevalet: la case ({{index}})","remaining-tiles":"Cases restantes","results":"Résultats","results.empty-state.no-results":"Pas de résultats - impossible de générer des mots.","results.empty-state.outdated":"Les résultats sont dépassé. Cliquer ci-dessous pour mettre à jour.","results.empty-state.uninitialized":"Les mots générés à partir de vos lettres seront affichés ici.","results.input.placeholder":"Rechercher les résultats... (RegExp)","results.insert":"Inserer","results.solve":"Résoudre","settings":"Options","settings.autoGroupTiles":"Grouper les cases restantes","settings.autoGroupTiles.left":"Vers la droite","settings.autoGroupTiles.right":"Vers la gauche","settings.autoGroupTiles.null":"Ne pas grouper","settings.game":"Jeu","settings.language":"Langue","words":"Mots créés","words.invalid":"Incorrect","words.valid":"Corriger"}');
7044
7023
  ;// CONCATENATED MODULE: ./src/i18n/pl.json
7045
- const pl_namespaceObject = JSON.parse('{"cell.filter-cell":"Miejsce docelowe - kliknij aby zmienić","cell.set-blank":"Oznacz jako blank","cell.set-not-blank":"Oznacz jako nie blank","cell.tile.location":"Plansza: płytka ({{x}}, {{y}})","cell.toggle-direction":"Kierunek wpisywania - kliknij aby zmienić","common.blanks":"Blanki","common.clear":"Wyczyść","common.close":"Zamknij","common.consonants":"Spółgłoski","common.loading":"Ładowanie","common.next":"Następne","common.points":"Punkty","common.previous":"Poprzednie","common.tiles":"Płytki","common.two-letter-tiles":"Dwuliterowe","common.vowels":"Samogłoski","common.word":"Słowo","common.words":"Słowa","dictionary":"Słownik","dictionary.empty-state.no-definitions":"Słowo istnieje w słowniku ale nie posiada definicji.","dictionary.empty-state.no-results":"Nie udało się znaleźć definicji słowa w słowniku.","dictionary.empty-state.not-allowed":"To słowo nie jest dopuszczalne w grach.","dictionary.empty-state.uninitialized":"Tu zostanie wyświetlona słownikowa definicja ostatnio podświetlonego słowa.","dictionary.input.placeholder":"Szukaj w słowniku...","dictionary.input.title":"Słowa rozdzielone przecinkiem","empty-state.error":"Błąd","empty-state.info":"Info","empty-state.success":"Hurra!","empty-state.warning":"Ups!","github":"Zobacz ten projekt na GitHubie","keyMap":"Skróty klawiszowe","keyMap.board":"Plansza","keyMap.board.toggle-blank":"Oznacz/odznacz płytkę jako blank","keyMap.board.toggle-direction":"Zmień kierunek wpisywania","keyMap.board-and-rack":"Plansza i stojak","keyMap.board-and-rack.insert-two-letter-tile":"Wstaw dwuliterową płytkę","keyMap.board-and-rack.navigate":"Nawigacja","keyMap.board-and-rack.remove-tile":"Zdejmij płytkę","keyMap.board-and-rack.submit":"Rozpocznij wyszukiwanie","keyMap.rack":"Stojak","keyMap.rack.insert-blank":"Wstaw blanka (spacja)","menu":"Menu","rack.placeholder":"Literki","rack.tile.location":"Stojak: płytka ({{index}})","remaining-tiles":"Pozostałe płytki","results":"Wyniki","results.empty-state.no-filtered-results":"Żaden wynik nie pasuje do tej kwerendy.","results.empty-state.no-results":"Brak wyników - nie można wygenerować żadnego słowa.","results.empty-state.outdated":"Wyniki są nieaktualne. Kliknij poniżej, aby zaktualizować.","results.empty-state.uninitialized":"Tu zostaną wyświetlone słowa wygenerowane z Twoich liter.","results.input.placeholder":"Szukaj rozwiązania... (RegExp)","results.insert":"Wstaw","results.solve":"Rozwiąż","settings":"Opcje","settings.autoGroupTiles":"Grupuj pozostałe płytki","settings.autoGroupTiles.left":"Po lewej","settings.autoGroupTiles.right":"Po prawej","settings.autoGroupTiles.null":"Nie grupuj","settings.game":"Gra","settings.language":"Język","words":"Utworzone słowa","words.invalid":"Niepoprawne","words.valid":"Poprawne"}');
7024
+ const pl_namespaceObject = JSON.parse('{"cell.filter-cell":"Miejsce docelowe - kliknij aby zmienić","cell.set-blank":"Oznacz jako blank","cell.set-not-blank":"Oznacz jako nie blank","cell.tile.location":"Plansza: płytka ({{x}}, {{y}})","cell.toggle-direction":"Kierunek wpisywania - kliknij aby zmienić","common.blanks":"Blanki","common.clear":"Wyczyść","common.close":"Zamknij","common.consonants":"Spółgłoski","common.loading":"Ładowanie","common.next":"Następne","common.points":"Punkty","common.previous":"Poprzednie","common.tiles":"Płytki","common.two-letter-tiles":"Dwuliterowe","common.vowels":"Samogłoski","common.word":"Słowo","common.words":"Słowa","dictionary":"Słownik","dictionary.empty-state.no-definitions":"Słowo istnieje w słowniku ale nie posiada definicji.","dictionary.empty-state.no-results":"Nie udało się znaleźć definicji słowa w słowniku.","dictionary.empty-state.not-allowed":"To słowo nie jest dopuszczalne w grach.","dictionary.empty-state.uninitialized":"Tu zostanie wyświetlona słownikowa definicja ostatnio podświetlonego słowa.","dictionary.input.placeholder":"Szukaj w słowniku...","dictionary.input.title":"Słowa rozdzielone przecinkiem","empty-state.error":"Błąd","empty-state.info":"Info","empty-state.success":"Hurra!","empty-state.warning":"Ups!","github":"Zobacz ten projekt na GitHubie","keyMap":"Skróty klawiszowe","keyMap.board":"Plansza","keyMap.board.toggle-blank":"Oznacz/odznacz płytkę jako blank","keyMap.board.toggle-direction":"Zmień kierunek wpisywania","keyMap.board-and-rack":"Plansza i stojak","keyMap.board-and-rack.insert-two-letter-tile":"Wstaw dwuliterową płytkę","keyMap.board-and-rack.navigate":"Nawigacja","keyMap.board-and-rack.remove-tile":"Zdejmij płytkę","keyMap.board-and-rack.submit":"Rozpocznij wyszukiwanie","keyMap.rack":"Stojak","keyMap.rack.insert-blank":"Wstaw blanka (spacja)","menu":"Menu","rack.placeholder":"Literki","rack.tile.location":"Stojak: płytka ({{index}})","remaining-tiles":"Pozostałe płytki","results":"Wyniki","results.empty-state.no-results":"Brak wyników - nie można wygenerować żadnego słowa.","results.empty-state.outdated":"Wyniki są nieaktualne. Kliknij poniżej, aby zaktualizować.","results.empty-state.uninitialized":"Tu zostaną wyświetlone słowa wygenerowane z Twoich liter.","results.input.placeholder":"Szukaj rozwiązania... (RegExp)","results.insert":"Wstaw","results.solve":"Rozwiąż","settings":"Opcje","settings.autoGroupTiles":"Grupuj pozostałe płytki","settings.autoGroupTiles.left":"Po lewej","settings.autoGroupTiles.right":"Po prawej","settings.autoGroupTiles.null":"Nie grupuj","settings.game":"Gra","settings.language":"Język","words":"Utworzone słowa","words.invalid":"Niepoprawne","words.valid":"Poprawne"}');
7046
7025
  ;// CONCATENATED MODULE: ./src/i18n/i18n.ts
7047
7026
 
7048
7027
 
@@ -8052,7 +8031,7 @@ var SvgStar = function SvgStar(props) {
8052
8031
 
8053
8032
  /***/ }),
8054
8033
 
8055
- /***/ 83644:
8034
+ /***/ 10129:
8056
8035
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8057
8036
 
8058
8037
  "use strict";
@@ -8064,6 +8043,7 @@ __webpack_require__.d(__webpack_exports__, {
8064
8043
  "DI": () => (/* reexport */ lib_createGridOf),
8065
8044
  "np": () => (/* reexport */ lib_createKeyboardNavigation),
8066
8045
  "Ml": () => (/* reexport */ lib_createNullMovingComparator),
8046
+ "GF": () => (/* reexport */ lib_createRegExp),
8067
8047
  "Nj": () => (/* reexport */ lib_detectLocale),
8068
8048
  "nK": () => (/* reexport */ lib_extractCharacters),
8069
8049
  "WM": () => (/* reexport */ lib_extractInputValue),
@@ -8071,6 +8051,8 @@ __webpack_require__.d(__webpack_exports__, {
8071
8051
  "ZM": () => (/* reexport */ lib_getRemainingTiles),
8072
8052
  "op": () => (/* reexport */ lib_getRemainingTilesGroups),
8073
8053
  "vc": () => (/* reexport */ lib_getTileSizes),
8054
+ "CU": () => (/* reexport */ lib_groupResults),
8055
+ "sf": () => (/* reexport */ lib_guessLocale),
8074
8056
  "Mf": () => (/* reexport */ lib_inverseDirection),
8075
8057
  "V5": () => (/* reexport */ lib_isMac),
8076
8058
  "Kj": () => (/* reexport */ lib_isRegExp),
@@ -8147,6 +8129,19 @@ const createNullMovingComparator = (direction)=>{
8147
8129
  };
8148
8130
  /* harmony default export */ const lib_createNullMovingComparator = (createNullMovingComparator);
8149
8131
 
8132
+ ;// CONCATENATED MODULE: ./src/lib/createRegExp.ts
8133
+ const createRegExp = (input)=>{
8134
+ if (input.trim().length === 0) {
8135
+ return /.*/;
8136
+ }
8137
+ try {
8138
+ return new RegExp(input, "gi");
8139
+ } catch {
8140
+ return /.*/;
8141
+ }
8142
+ };
8143
+ /* harmony default export */ const lib_createRegExp = (createRegExp);
8144
+
8150
8145
  // EXTERNAL MODULE: ../types/build/index.js
8151
8146
  var build = __webpack_require__(34046);
8152
8147
  ;// CONCATENATED MODULE: ./src/lib/detectLocale.ts
@@ -8364,6 +8359,53 @@ const getTileSizes = (tileSize)=>({
8364
8359
  });
8365
8360
  /* harmony default export */ const lib_getTileSizes = (getTileSizes);
8366
8361
 
8362
+ ;// CONCATENATED MODULE: ./src/lib/groupResults.ts
8363
+
8364
+ const groupResults = (results, query, cellFilter)=>{
8365
+ if (typeof results === "undefined") {
8366
+ return results;
8367
+ }
8368
+ return results.reduce(({ matching , other }, result)=>{
8369
+ const matchesQuery = lib_createRegExp(query).test(result.word);
8370
+ const matchesCellFilter = cellFilter.every(({ x , y })=>{
8371
+ return result.cells.some((cell)=>cell.x === x && cell.y === y);
8372
+ });
8373
+ const isMatching = matchesQuery && matchesCellFilter;
8374
+ return {
8375
+ matching: isMatching ? [
8376
+ ...matching,
8377
+ result
8378
+ ] : matching,
8379
+ other: isMatching ? other : [
8380
+ ...other,
8381
+ result
8382
+ ]
8383
+ };
8384
+ }, {
8385
+ matching: [],
8386
+ other: []
8387
+ });
8388
+ };
8389
+ /* harmony default export */ const lib_groupResults = (groupResults);
8390
+
8391
+ ;// CONCATENATED MODULE: ./src/lib/guessLocale.ts
8392
+
8393
+ const guessLocale = ()=>{
8394
+ if (!globalThis.navigator) {
8395
+ return build.Locale.EN_US;
8396
+ }
8397
+ const locales = Object.values(build.Locale);
8398
+ const exactMatch = locales.find((locale)=>globalThis.navigator.language === locale);
8399
+ if (exactMatch) {
8400
+ return exactMatch;
8401
+ }
8402
+ const partialMatch = locales.find((locale)=>{
8403
+ return globalThis.navigator.language === locale.substring(0, 2);
8404
+ });
8405
+ return partialMatch || build.Locale.EN_US;
8406
+ };
8407
+ /* harmony default export */ const lib_guessLocale = (guessLocale);
8408
+
8367
8409
  ;// CONCATENATED MODULE: ./src/lib/inverseDirection.ts
8368
8410
  const inverseDirection = (direction)=>{
8369
8411
  return direction === "left" ? "right" : "left";
@@ -8457,16 +8499,17 @@ const comparators = {
8457
8499
  [types/* ResultColumn.Word */.M.Word]: (locale)=>lib_createKeyComparator("word", locale),
8458
8500
  [types/* ResultColumn.WordsCount */.M.WordsCount]: (locale)=>lib_createKeyComparator("wordsCount", locale)
8459
8501
  };
8460
- const sortResults = (results, column, sortDirection, locale)=>{
8502
+ const sortResults = (results, sort, locale)=>{
8461
8503
  if (typeof results === "undefined") {
8462
8504
  return results;
8463
8505
  }
8464
- const createComparator = comparators[column];
8506
+ const createComparator = comparators[sort.column];
8465
8507
  const comparator = createComparator(locale);
8466
- const finalComparator = sortDirection === types/* SortDirection.Descending */.S.Descending ? lib_reverseComparator(comparator) : comparator;
8467
- return [
8508
+ const finalComparator = sort.direction === types/* SortDirection.Descending */.S.Descending ? lib_reverseComparator(comparator) : comparator;
8509
+ const sortedResults = [
8468
8510
  ...results
8469
8511
  ].sort(finalComparator);
8512
+ return sortedResults;
8470
8513
  };
8471
8514
  /* harmony default export */ const lib_sortResults = (sortResults);
8472
8515
 
@@ -8559,6 +8602,9 @@ const zipCharactersAndTiles = (characters, tiles)=>{
8559
8602
 
8560
8603
 
8561
8604
 
8605
+
8606
+
8607
+
8562
8608
 
8563
8609
 
8564
8610
 
@@ -8594,11 +8640,11 @@ const zipCharactersAndTiles = (characters, tiles)=>{
8594
8640
  /* harmony export */ "oj": () => (/* binding */ BOARD_TILE_SIZE_MIN),
8595
8641
  /* harmony export */ "op": () => (/* binding */ COMPONENTS_SPACING_SMALL),
8596
8642
  /* harmony export */ "pI": () => (/* binding */ COLOR_BLUE),
8643
+ /* harmony export */ "pt": () => (/* binding */ SOLVER_COLUMN_WIDTH),
8597
8644
  /* harmony export */ "rV": () => (/* binding */ PLAIN_TILES_TILE_SIZE),
8598
8645
  /* harmony export */ "rx": () => (/* binding */ RESULTS_ITEM_HEIGHT),
8599
8646
  /* harmony export */ "tr": () => (/* binding */ COMPONENTS_SPACING),
8600
8647
  /* harmony export */ "uX": () => (/* binding */ PLAIN_TILES_PADDING_VERTICAL),
8601
- /* harmony export */ "uk": () => (/* binding */ INITIALIZATION_DURATION),
8602
8648
  /* harmony export */ "xZ": () => (/* binding */ PROGRESS_COLOR_VALUE),
8603
8649
  /* harmony export */ "yg": () => (/* binding */ COLOR_RED),
8604
8650
  /* harmony export */ "yr": () => (/* binding */ COLOR_YELLOW),
@@ -8615,7 +8661,6 @@ const BREAKPOINTS = {
8615
8661
  const EASE_OUT_CUBIC = "cubic-bezier(0.33, 1, 0.68, 1)"; // https://easings.net/#easeOutCubic
8616
8662
  const TRANSITION = "var(--transition)";
8617
8663
  const GITHUB_PROJECT_URL = "https://github.com/kamilmielnik/scrabble-solver";
8618
- const INITIALIZATION_DURATION = 100;
8619
8664
  const TRANSITION_DURATION = 100;
8620
8665
  const TRANSITION_DURATION_LONG = 250;
8621
8666
  const COLOR_BLUE = "#c7d8f9";
@@ -8662,6 +8707,7 @@ const PROGRESS_COLOR_BACKGROUND = "var(--color--inactive)";
8662
8707
  const RACK_TILE_SIZE_MAX = 80;
8663
8708
  const REMAINING_TILES_TILE_SIZE = 50;
8664
8709
  const RESULTS_ITEM_HEIGHT = 40;
8710
+ const SOLVER_COLUMN_WIDTH = 580;
8665
8711
  const TILE_APPEAR_DURATION = 200;
8666
8712
  const TILE_APPEAR_KEYFRAMES = [
8667
8713
  {
@@ -8770,8 +8816,6 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
8770
8816
  /* harmony export */ "Zf": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.Zf),
8771
8817
  /* harmony export */ "_C": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__._C),
8772
8818
  /* harmony export */ "bs": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.bs),
8773
- /* harmony export */ "dN": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.dN),
8774
- /* harmony export */ "f2": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.f2),
8775
8819
  /* harmony export */ "fN": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.fN),
8776
8820
  /* harmony export */ "fZ": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.fZ),
8777
8821
  /* harmony export */ "id": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.id),
@@ -8783,12 +8827,13 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
8783
8827
  /* harmony export */ "mc": () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_0__.m),
8784
8828
  /* harmony export */ "md": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.md),
8785
8829
  /* harmony export */ "qM": () => (/* reexport safe */ _useTranslate__WEBPACK_IMPORTED_MODULE_5__.Z),
8786
- /* harmony export */ "sH": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.sH),
8787
8830
  /* harmony export */ "uz": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.uz),
8788
8831
  /* harmony export */ "vY": () => (/* reexport safe */ _createAppStore__WEBPACK_IMPORTED_MODULE_1__.Z),
8789
8832
  /* harmony export */ "w1": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.w1),
8833
+ /* harmony export */ "x5": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.x5),
8790
8834
  /* harmony export */ "xU": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.xU),
8791
8835
  /* harmony export */ "xj": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__.xj),
8836
+ /* harmony export */ "yJ": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.yJ),
8792
8837
  /* harmony export */ "z$": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.z$)
8793
8838
  /* harmony export */ });
8794
8839
  /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(23617);
@@ -8880,8 +8925,8 @@ var build = __webpack_require__(7618);
8880
8925
  var types_build = __webpack_require__(34046);
8881
8926
  // EXTERNAL MODULE: external "redux-saga/effects"
8882
8927
  var effects_ = __webpack_require__(56477);
8883
- // EXTERNAL MODULE: ./src/lib/index.ts + 28 modules
8884
- var lib = __webpack_require__(83644);
8928
+ // EXTERNAL MODULE: ./src/lib/index.ts + 31 modules
8929
+ var lib = __webpack_require__(10129);
8885
8930
  ;// CONCATENATED MODULE: ./src/sdk/fetch.ts
8886
8931
 
8887
8932
  const fetch_fetch = async (input, init)=>{
@@ -9062,6 +9107,7 @@ function* onReset() {
9062
9107
  yield (0,effects_.put)(slices/* dictionarySlice.actions.reset */.lj.actions.reset());
9063
9108
  yield (0,effects_.put)(slices/* rackSlice.actions.reset */.O_.actions.reset());
9064
9109
  yield (0,effects_.put)(slices/* resultsSlice.actions.reset */._C.actions.reset());
9110
+ yield (0,effects_.put)(slices/* solveSlice.actions.reset */.TP.actions.reset());
9065
9111
  yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
9066
9112
  }
9067
9113
  function* onLocaleChange() {
@@ -9171,7 +9217,7 @@ function* ensureProperTilesCount() {
9171
9217
  /* harmony export */ "Or": () => (/* binding */ selectCharacterPoints),
9172
9218
  /* harmony export */ "QB": () => (/* binding */ selectRack),
9173
9219
  /* harmony export */ "QL": () => (/* binding */ selectResultsQuery),
9174
- /* harmony export */ "R": () => (/* binding */ selectResultsSortColumn),
9220
+ /* harmony export */ "R": () => (/* binding */ selectResultsSort),
9175
9221
  /* harmony export */ "Rn": () => (/* binding */ selectSolveError),
9176
9222
  /* harmony export */ "Xk": () => (/* binding */ selectResultCandidate),
9177
9223
  /* harmony export */ "Yj": () => (/* binding */ selectRemainingTilesGroups),
@@ -9179,8 +9225,6 @@ function* ensureProperTilesCount() {
9179
9225
  /* harmony export */ "ZO": () => (/* binding */ selectBoard),
9180
9226
  /* harmony export */ "Zf": () => (/* binding */ selectTilePoints),
9181
9227
  /* harmony export */ "bs": () => (/* binding */ selectHasInvalidWords),
9182
- /* harmony export */ "dN": () => (/* binding */ selectSortedFilteredResults),
9183
- /* harmony export */ "f2": () => (/* binding */ selectSortedResults),
9184
9228
  /* harmony export */ "fN": () => (/* binding */ selectLocale),
9185
9229
  /* harmony export */ "fZ": () => (/* binding */ selectCellIsValid),
9186
9230
  /* harmony export */ "id": () => (/* binding */ selectCellIsFiltered),
@@ -9188,14 +9232,15 @@ function* ensureProperTilesCount() {
9188
9232
  /* harmony export */ "mK": () => (/* binding */ selectDictionaryError),
9189
9233
  /* harmony export */ "md": () => (/* binding */ selectConfigId),
9190
9234
  /* harmony export */ "nb": () => (/* binding */ selectTranslations),
9191
- /* harmony export */ "sH": () => (/* binding */ selectResultsSortDirection),
9192
9235
  /* harmony export */ "uz": () => (/* binding */ selectAutoGroupTiles),
9193
9236
  /* harmony export */ "w1": () => (/* binding */ selectDictionary),
9237
+ /* harmony export */ "x5": () => (/* binding */ selectResults),
9194
9238
  /* harmony export */ "xU": () => (/* binding */ selectIsLoading),
9239
+ /* harmony export */ "yJ": () => (/* binding */ selectIsResultMatching),
9195
9240
  /* harmony export */ "yp": () => (/* binding */ selectCharacters),
9196
9241
  /* harmony export */ "z$": () => (/* binding */ selectResultCandidateTiles)
9197
9242
  /* harmony export */ });
9198
- /* unused harmony exports selectCellFilter, selectResults, selectResultCandidateCells, selectTranslation, selectLastSolvedParameters, selectHaveCharactersChanged, selectHasBoardChanged, selectRemainingTiles */
9243
+ /* unused harmony exports selectCellFilter, selectResultsRaw, selectSortedResults, selectGroupedResults, selectResultCandidateCells, selectTranslation, selectLastSolvedParameters, selectHaveCharactersChanged, selectHasBoardChanged, selectRemainingTiles */
9199
9244
  /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
9200
9245
  /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
9201
9246
  /* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89418);
@@ -9204,8 +9249,8 @@ function* ensureProperTilesCount() {
9204
9249
  /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34046);
9205
9250
  /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__);
9206
9251
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(36743);
9207
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83644);
9208
-
9252
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10129);
9253
+ /* eslint-disable max-lines */
9209
9254
 
9210
9255
 
9211
9256
 
@@ -9213,6 +9258,7 @@ function* ensureProperTilesCount() {
9213
9258
 
9214
9259
  const selectCell = (_, cell)=>cell;
9215
9260
  const selectPoint = (_, point)=>point;
9261
+ const selectResultIndex = (_, index)=>index;
9216
9262
  const selectCharacter = (_, character)=>character;
9217
9263
  const selectTile = (_, tile)=>tile;
9218
9264
  const selectBoardRoot = (state)=>state.board;
@@ -9268,54 +9314,51 @@ const selectCellIsValid = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.creat
9268
9314
  }
9269
9315
  return config.tiles.some((tile)=>tile.character === cell.tile.character);
9270
9316
  });
9271
- const selectResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9317
+ const selectResultsRaw = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9272
9318
  selectResultsRoot
9273
9319
  ], (results)=>results.results);
9274
9320
  const selectResultsQuery = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9275
9321
  selectResultsRoot
9276
9322
  ], (results)=>results.query);
9277
- const selectResultsSortColumn = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9278
- selectResultsRoot
9279
- ], (results)=>results.sort.column);
9280
- const selectResultsSortDirection = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9323
+ const selectResultsSort = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9281
9324
  selectResultsRoot
9282
- ], (results)=>results.sort.direction);
9325
+ ], (results)=>results.sort);
9283
9326
  const selectSortedResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9284
- selectResults,
9285
- selectResultsSortColumn,
9286
- selectResultsSortDirection,
9327
+ selectResultsRaw,
9328
+ selectResultsSort,
9287
9329
  selectLocale
9288
9330
  ], lib__WEBPACK_IMPORTED_MODULE_5__/* .sortResults */ .uj);
9289
- const filterResultsByQuery = (results, query)=>{
9290
- if (query.trim().length === 0) {
9291
- return results;
9292
- }
9293
- let regExp;
9294
- try {
9295
- regExp = new RegExp(query, "gi");
9296
- } catch {
9297
- return results;
9298
- }
9299
- return results.filter((result)=>{
9300
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
9301
- return regExp.test(result.word);
9302
- });
9303
- };
9304
- const selectSortedFilteredResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9331
+ const selectGroupedResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9305
9332
  selectSortedResults,
9306
9333
  selectResultsQuery,
9307
9334
  selectCellFilter
9308
- ], (results, query, cellFilter)=>{
9335
+ ], lib__WEBPACK_IMPORTED_MODULE_5__/* .groupResults */ .CU);
9336
+ const selectResults = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9337
+ selectGroupedResults
9338
+ ], (groupedResults)=>{
9339
+ return groupedResults ? [
9340
+ ...groupedResults.matching,
9341
+ ...groupedResults.other
9342
+ ] : groupedResults;
9343
+ });
9344
+ const selectIsResultMatching = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9345
+ selectResults,
9346
+ selectResultsQuery,
9347
+ selectCellFilter,
9348
+ selectResultIndex
9349
+ ], (results, query, cellFilter, index)=>{
9309
9350
  if (!results) {
9310
- return results;
9351
+ return false;
9311
9352
  }
9312
- const filteredByQuery = filterResultsByQuery(results, query);
9313
- if (!cellFilter) {
9314
- return filteredByQuery;
9353
+ const result = results[index];
9354
+ const regExp = (0,lib__WEBPACK_IMPORTED_MODULE_5__/* .createRegExp */ .GF)(query);
9355
+ if (!regExp.test(result.word)) {
9356
+ return false;
9315
9357
  }
9316
- return filteredByQuery.filter((result)=>{
9358
+ if (cellFilter) {
9317
9359
  return cellFilter.every(({ x , y })=>result.cells.some((cell)=>cell.x === x && cell.y === y));
9318
- });
9360
+ }
9361
+ return true;
9319
9362
  });
9320
9363
  const selectResultCandidate = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9321
9364
  selectResultsRoot
@@ -9448,27 +9491,15 @@ __webpack_require__.d(__webpack_exports__, {
9448
9491
  var build = __webpack_require__(89418);
9449
9492
  // EXTERNAL MODULE: ../types/build/index.js
9450
9493
  var types_build = __webpack_require__(34046);
9494
+ // EXTERNAL MODULE: ./src/lib/index.ts + 31 modules
9495
+ var lib = __webpack_require__(10129);
9451
9496
  ;// CONCATENATED MODULE: ./src/state/slices/settingsInitialState.ts
9452
9497
 
9453
9498
 
9454
- const getInitialLocale = ()=>{
9455
- if (!globalThis.navigator) {
9456
- return types_build.Locale.EN_US;
9457
- }
9458
- const locales = Object.values(types_build.Locale);
9459
- const exactMatch = locales.find((locale)=>globalThis.navigator.language === locale);
9460
- if (exactMatch) {
9461
- return exactMatch;
9462
- }
9463
- const partialMatch = locales.find((locale)=>{
9464
- return globalThis.navigator.language === locale.substring(0, 2);
9465
- });
9466
- return partialMatch || types_build.Locale.EN_US;
9467
- };
9468
9499
  const settingsInitialState = {
9469
9500
  autoGroupTiles: "left",
9470
9501
  configId: build.scrabble.id,
9471
- locale: getInitialLocale()
9502
+ locale: (0,lib/* guessLocale */.sf)()
9472
9503
  };
9473
9504
  /* harmony default export */ const slices_settingsInitialState = (settingsInitialState);
9474
9505
 
@@ -9658,8 +9689,6 @@ const dictionarySlice = (0,toolkit_.createSlice)({
9658
9689
  });
9659
9690
  /* harmony default export */ const slices_dictionarySlice = (dictionarySlice);
9660
9691
 
9661
- // EXTERNAL MODULE: ./src/lib/index.ts + 28 modules
9662
- var lib = __webpack_require__(83644);
9663
9692
  ;// CONCATENATED MODULE: ./src/state/slices/rackInitialState.ts
9664
9693
  const rackInitialState = [
9665
9694
  null,
@@ -9849,6 +9878,7 @@ const solveSlice = (0,toolkit_.createSlice)({
9849
9878
  initialState: slices_solveInitialState,
9850
9879
  name: "solve",
9851
9880
  reducers: {
9881
+ reset: ()=>slices_solveInitialState,
9852
9882
  submit: (state)=>{
9853
9883
  const error = slices_solveInitialState.error;
9854
9884
  return {