@scrabble-solver/scrabble-solver 2.8.6 → 2.8.8

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 (101) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +10 -10
  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/server-production/0.pack +0 -0
  9. package/.next/cache/webpack/server-production/index.pack +0 -0
  10. package/.next/next-server.js.nft.json +1 -1
  11. package/.next/prerender-manifest.json +1 -1
  12. package/.next/routes-manifest.json +1 -1
  13. package/.next/server/chunks/413.js +266 -110
  14. package/.next/server/chunks/{206.js → 429.js} +2 -4137
  15. package/.next/server/chunks/515.js +197 -91
  16. package/.next/server/chunks/{907.js → 911.js} +134 -367
  17. package/.next/server/chunks/939.js +218 -0
  18. package/.next/server/middleware-build-manifest.js +1 -1
  19. package/.next/server/pages/404.html +2 -2
  20. package/.next/server/pages/404.js.nft.json +1 -1
  21. package/.next/server/pages/500.html +2 -2
  22. package/.next/server/pages/_app.js.nft.json +1 -1
  23. package/.next/server/pages/api/dictionary/[locale]/[word].js +33 -17
  24. package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  25. package/.next/server/pages/api/solve.js +399 -56
  26. package/.next/server/pages/api/solve.js.nft.json +1 -1
  27. package/.next/server/pages/api/visit.js +3 -2
  28. package/.next/server/pages/api/visit.js.nft.json +1 -1
  29. package/.next/server/pages/index.html +3 -7
  30. package/.next/server/pages/index.js +12 -14
  31. package/.next/server/pages/index.js.nft.json +1 -1
  32. package/.next/server/pages/index.json +1 -1
  33. package/.next/static/chunks/615-d258f6c528c18622.js +1 -0
  34. package/.next/static/chunks/pages/{404-30c06e61d256c5b2.js → 404-8eb3ba4f0ba17e08.js} +1 -1
  35. package/.next/static/chunks/pages/_app-4a663fd3d5ca4524.js +1 -0
  36. package/.next/static/chunks/pages/index-1a9826d740cc8830.js +1 -0
  37. package/.next/static/css/180c6c26317ac90f.css +1 -0
  38. package/.next/static/css/751e8a14776d05d8.css +1 -0
  39. package/.next/static/z3J3qmq1nazbDv_ENIkCo/_buildManifest.js +1 -0
  40. package/.next/static/{VjSpyGDWyVaO0muz54q_j → z3J3qmq1nazbDv_ENIkCo}/_ssgManifest.js +0 -0
  41. package/.next/trace +41 -42
  42. package/package.json +9 -9
  43. package/src/api/index.ts +3 -9
  44. package/src/api/isBoardValid.ts +43 -0
  45. package/src/api/isCellValid.ts +26 -0
  46. package/src/api/isRowValid.ts +19 -0
  47. package/src/components/Board/components/Cell/Cell.module.scss +34 -9
  48. package/src/components/Board/components/Cell/Cell.tsx +23 -4
  49. package/src/components/Board/components/Cell/CellPure.tsx +29 -1
  50. package/src/components/Board/hooks/useGrid.ts +1 -0
  51. package/src/components/Dictionary/Dictionary.module.scss +20 -0
  52. package/src/components/Dictionary/Dictionary.tsx +40 -29
  53. package/src/components/Results/Cell.tsx +3 -2
  54. package/src/components/Results/Result.tsx +16 -6
  55. package/src/components/ResultsInput/ResultsInput.tsx +11 -3
  56. package/src/hooks/useIsTablet.ts +2 -2
  57. package/src/i18n/de.json +1 -0
  58. package/src/i18n/en.json +1 -0
  59. package/src/i18n/es.json +1 -0
  60. package/src/i18n/fr.json +1 -0
  61. package/src/i18n/pl.json +1 -0
  62. package/src/icons/Flag.svg +4 -0
  63. package/src/icons/Star.svg +4 -0
  64. package/src/icons/index.ts +2 -0
  65. package/src/lib/getRemainingTiles.ts +1 -1
  66. package/src/lib/index.ts +2 -1
  67. package/src/lib/isRegExp.ts +11 -0
  68. package/src/lib/isStringArray.ts +5 -0
  69. package/src/lib/sortResults.ts +5 -5
  70. package/src/pages/api/dictionary/[locale]/[word].ts +35 -11
  71. package/src/pages/api/solve.ts +39 -19
  72. package/src/pages/api/visit.ts +1 -0
  73. package/src/pages/index.module.scss +5 -11
  74. package/src/pages/index.tsx +5 -5
  75. package/src/sdk/{findWordDefinition.ts → findWordDefinitions.ts} +3 -3
  76. package/src/sdk/index.ts +1 -1
  77. package/src/state/rootReducer.ts +10 -1
  78. package/src/state/sagas.ts +32 -12
  79. package/src/state/selectors.ts +41 -7
  80. package/src/state/slices/cellFilterInitialState.ts +7 -0
  81. package/src/state/slices/cellFilterSlice.ts +24 -0
  82. package/src/state/slices/dictionaryInitialState.ts +3 -3
  83. package/src/state/slices/dictionarySlice.ts +4 -10
  84. package/src/state/slices/index.ts +2 -0
  85. package/src/types/index.ts +1 -0
  86. package/.next/static/VjSpyGDWyVaO0muz54q_j/_buildManifest.js +0 -1
  87. package/.next/static/chunks/56-e2797384ae4b0fc0.js +0 -1
  88. package/.next/static/chunks/pages/_app-5136d33b9b007fd7.js +0 -1
  89. package/.next/static/chunks/pages/index-13ea7770a65c69ee.js +0 -1
  90. package/.next/static/css/3159cfe62ff742a3.css +0 -1
  91. package/.next/static/css/729bb37fe8f9bee6.css +0 -1
  92. package/src/api/validateBoard.ts +0 -45
  93. package/src/api/validateCell.ts +0 -40
  94. package/src/api/validateCharacter.ts +0 -14
  95. package/src/api/validateCharacters.ts +0 -24
  96. package/src/api/validateConfigId.ts +0 -9
  97. package/src/api/validateLocale.ts +0 -15
  98. package/src/api/validateRow.ts +0 -17
  99. package/src/api/validateTile.ts +0 -21
  100. package/src/api/validateWord.ts +0 -11
  101. package/src/lib/isLocale.ts +0 -7
@@ -20,9 +20,9 @@ module.exports = {
20
20
  // Exports
21
21
  module.exports = {
22
22
  "cell": "Cell_cell__2GOSl",
23
- "bonusStart": "Cell_bonusStart__zy3BV",
24
23
  "bonusWord2": "Cell_bonusWord2__Ztd1C",
25
24
  "bonusWord3": "Cell_bonusWord3__eTB6G",
25
+ "bonusStart": "Cell_bonusStart__zy3BV",
26
26
  "bonusCharacter1": "Cell_bonusCharacter1__zJUuA",
27
27
  "bonusCharacter2": "Cell_bonusCharacter2__HZDn8",
28
28
  "bonusCharacter3": "Cell_bonusCharacter3__pWf1f",
@@ -36,10 +36,16 @@ module.exports = {
36
36
  "candidate": "Cell_candidate__qGOhc",
37
37
  "actions": "Cell_actions__YOyrG",
38
38
  "action": "Cell_action___13Yo",
39
+ "filterCell": "Cell_filterCell__f5FRe",
39
40
  "toggleDirection": "Cell_toggleDirection__1WgpQ",
40
41
  "right": "Cell_right__ItPQR",
41
42
  "blank": "Cell_blank__n7TRD",
42
- "active": "Cell_active__L88UB"
43
+ "active": "Cell_active__L88UB",
44
+ "filtered": "Cell_filtered__16gx1",
45
+ "iconContainer": "Cell_iconContainer__luGh5",
46
+ "flagContainer": "Cell_flagContainer__A_IDX",
47
+ "flag": "Cell_flag__hPqWD",
48
+ "star": "Cell_star__qeUuH"
43
49
  };
44
50
 
45
51
 
@@ -65,10 +71,11 @@ module.exports = {
65
71
  // Exports
66
72
  module.exports = {
67
73
  "dictionary": "Dictionary_dictionary__0CM4j",
68
- "content": "Dictionary_content__Ehz1U",
69
- "word": "Dictionary_word__Y2PlX",
74
+ "result": "Dictionary_result__eFJ65",
70
75
  "isAllowed": "Dictionary_isAllowed__VfACe",
76
+ "content": "Dictionary_content__Ehz1U",
71
77
  "isNotAllowed": "Dictionary_isNotAllowed__HvWIM",
78
+ "word": "Dictionary_word__Y2PlX",
72
79
  "definitions": "Dictionary_definitions__UBslC",
73
80
  "definition": "Dictionary_definition__lU1Vz"
74
81
  };
@@ -598,7 +605,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
598
605
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
599
606
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
600
607
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
601
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18729);
608
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92237);
602
609
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51413);
603
610
  /* harmony import */ var _CellPure__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(80640);
604
611
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_5__, _CellPure__WEBPACK_IMPORTED_MODULE_6__]);
@@ -616,6 +623,7 @@ const Cell = ({ cell , className , direction , inputRef , isCenter , size , onDi
616
623
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTranslate */ .qM)();
617
624
  const bonus = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)((state)=>(0,state__WEBPACK_IMPORTED_MODULE_5__/* .selectCellBonus */ .O0)(state, cell));
618
625
  const points = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)((state)=>(0,state__WEBPACK_IMPORTED_MODULE_5__/* .selectTilePoints */ .Zf)(state, cell.tile));
626
+ const isFiltered = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)((state)=>(0,state__WEBPACK_IMPORTED_MODULE_5__/* .selectCellIsFiltered */ .id)(state, cell));
619
627
  const { tileFontSize } = (0,lib__WEBPACK_IMPORTED_MODULE_4__/* .getTileSizes */ .vc)(size);
620
628
  const isEmpty = tile.character === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.EMPTY_CELL;
621
629
  const style = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>({
@@ -623,6 +631,14 @@ const Cell = ({ cell , className , direction , inputRef , isCenter , size , onDi
623
631
  }), [
624
632
  tileFontSize
625
633
  ]);
634
+ const handleDirectionToggleClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(()=>{
635
+ if (inputRef.current) {
636
+ inputRef.current.focus();
637
+ }
638
+ onDirectionToggle();
639
+ }, [
640
+ onDirectionToggle
641
+ ]);
626
642
  const handleFocus = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(()=>onFocus(x, y), [
627
643
  x,
628
644
  y,
@@ -641,13 +657,18 @@ const Cell = ({ cell , className , direction , inputRef , isCenter , size , onDi
641
657
  x,
642
658
  y
643
659
  ]);
644
- const handleDirectionToggleClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(()=>{
660
+ const handleToggleFilterCellClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(()=>{
645
661
  if (inputRef.current) {
646
662
  inputRef.current.focus();
647
663
  }
648
- onDirectionToggle();
664
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .cellFilterSlice.actions.toggle */ .mO.actions.toggle({
665
+ x,
666
+ y
667
+ }));
649
668
  }, [
650
- onDirectionToggle
669
+ dispatch,
670
+ x,
671
+ y
651
672
  ]);
652
673
  return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_CellPure__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
653
674
  bonus: bonus,
@@ -657,6 +678,7 @@ const Cell = ({ cell , className , direction , inputRef , isCenter , size , onDi
657
678
  inputRef: inputRef,
658
679
  isCenter: isCenter,
659
680
  isEmpty: isEmpty,
681
+ isFiltered: isFiltered,
660
682
  points: points,
661
683
  size: size,
662
684
  style: style,
@@ -664,7 +686,8 @@ const Cell = ({ cell , className , direction , inputRef , isCenter , size , onDi
664
686
  translate: translate,
665
687
  onDirectionToggleClick: handleDirectionToggleClick,
666
688
  onFocus: handleFocus,
667
- onToggleBlankClick: handleToggleBlankClick
689
+ onToggleBlankClick: handleToggleBlankClick,
690
+ onToggleFilterCellClick: handleToggleFilterCellClick
668
691
  });
669
692
  };
670
693
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Cell);
@@ -688,7 +711,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
688
711
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
689
712
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
690
713
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
691
- /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46473);
714
+ /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(81245);
692
715
  /* harmony import */ var _Tile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(54031);
693
716
  /* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(35588);
694
717
  /* harmony import */ var _Cell_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(89861);
@@ -704,12 +727,24 @@ _Button__WEBPACK_IMPORTED_MODULE_5__ = (__webpack_async_dependencies__.then ? (a
704
727
 
705
728
 
706
729
 
707
- const CellPure = ({ bonus , cell , className , direction , inputRef , isCenter , isEmpty , points , size , style , tile , translate , onDirectionToggleClick , onFocus , onToggleBlankClick , })=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
730
+ const CellPure = ({ bonus , cell , className , direction , inputRef , isCenter , isEmpty , isFiltered , points , size , style , tile , translate , onDirectionToggleClick , onFocus , onToggleBlankClick , onToggleFilterCellClick , })=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
708
731
  className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().cell), (0,_lib__WEBPACK_IMPORTED_MODULE_6__/* .getBonusClassname */ .K)(cell, bonus, isCenter), className, {
709
732
  [(_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().candidate)]: cell.isCandidate()
710
733
  }),
711
734
  style: style,
712
735
  children: [
736
+ isCenter && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
737
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().iconContainer)),
738
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(icons__WEBPACK_IMPORTED_MODULE_3__/* .Star */ .Ux, {
739
+ className: (_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().star)
740
+ })
741
+ }),
742
+ isFiltered && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
743
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().iconContainer), (_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().flagContainer)),
744
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(icons__WEBPACK_IMPORTED_MODULE_3__/* .Flag */ .WN, {
745
+ className: (_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().flag)
746
+ })
747
+ }),
713
748
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Tile__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
714
749
  className: (_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().tile),
715
750
  character: isEmpty ? undefined : tile.character,
@@ -734,6 +769,14 @@ const CellPure = ({ bonus , cell , className , direction , inputRef , isCenter ,
734
769
  })
735
770
  })
736
771
  }),
772
+ isEmpty && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
773
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().filterCell), {
774
+ [(_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().filtered)]: isFiltered
775
+ }),
776
+ tooltip: translate("cell.filter-cell"),
777
+ onClick: onToggleFilterCellClick,
778
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(icons__WEBPACK_IMPORTED_MODULE_3__/* .Flag */ .WN, {})
779
+ }),
737
780
  !isEmpty && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
738
781
  className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().blank), {
739
782
  [(_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().active)]: tile.isBlank
@@ -880,12 +923,12 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
880
923
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
881
924
  /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(69755);
882
925
  /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_3__);
883
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18729);
926
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92237);
884
927
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51413);
885
928
  /* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(95137);
886
929
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_5__]);
887
930
  state__WEBPACK_IMPORTED_MODULE_5__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
888
-
931
+ /* eslint-disable max-lines, max-statements */
889
932
 
890
933
 
891
934
 
@@ -1259,8 +1302,8 @@ __webpack_async_result__();
1259
1302
  var jsx_runtime_ = __webpack_require__(20997);
1260
1303
  // EXTERNAL MODULE: external "classnames"
1261
1304
  var external_classnames_ = __webpack_require__(59003);
1262
- // EXTERNAL MODULE: ./src/icons/index.ts + 22 modules
1263
- var icons = __webpack_require__(46473);
1305
+ // EXTERNAL MODULE: ./src/icons/index.ts + 24 modules
1306
+ var icons = __webpack_require__(81245);
1264
1307
  ;// CONCATENATED MODULE: ./src/components/Checkbox/Checkbox.tsx
1265
1308
 
1266
1309
 
@@ -1327,46 +1370,55 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
1327
1370
 
1328
1371
  const Dictionary = ({ className })=>{
1329
1372
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_2__/* .useTranslate */ .qM)();
1330
- const { definitions , isAllowed , isLoading , word } = (0,state__WEBPACK_IMPORTED_MODULE_2__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_2__/* .selectDictionary */ .w1);
1373
+ const { results , isLoading } = (0,state__WEBPACK_IMPORTED_MODULE_2__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_2__/* .selectDictionary */ .w1);
1374
+ const isFirstAllowed = results.length > 0 ? results[0].isAllowed : undefined;
1331
1375
  return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
1332
1376
  className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().dictionary), className, {
1333
- [(_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().isAllowed)]: isAllowed === true,
1334
- [(_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().isNotAllowed)]: isAllowed === false
1377
+ [(_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().isAllowed)]: isFirstAllowed === true,
1378
+ [(_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().isNotAllowed)]: isFirstAllowed === false
1335
1379
  }),
1336
1380
  children: [
1337
- typeof word === "undefined" && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyState__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
1338
- type: "info",
1339
- children: translate("dictionary.empty-state.uninitialized")
1340
- }),
1341
- typeof word !== "undefined" && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
1342
- className: (_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().content),
1343
- children: [
1344
- word && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
1345
- className: (_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().word),
1346
- children: word
1347
- }),
1348
- isAllowed === false && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
1349
- children: translate("dictionary.empty-state.not-allowed")
1350
- }),
1351
- isAllowed === true && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
1352
- children: [
1353
- definitions.length === 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
1354
- children: translate("dictionary.empty-state.no-definitions")
1355
- }),
1356
- definitions.length > 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("ul", {
1357
- className: (_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().definitions),
1358
- children: definitions.map((result, index)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("li", {
1359
- className: (_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().definition),
1360
- children: result
1361
- }, index))
1362
- })
1363
- ]
1381
+ results.map(({ definitions , isAllowed , word })=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
1382
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().result), {
1383
+ [(_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().isAllowed)]: isAllowed === true,
1384
+ [(_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().isNotAllowed)]: isAllowed === false
1364
1385
  }),
1365
- !isLoading && isAllowed === null && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
1366
- children: translate("dictionary.empty-state.no-results")
1367
- })
1368
- ]
1369
- }),
1386
+ children: [
1387
+ typeof word === "undefined" && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyState__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
1388
+ type: "info",
1389
+ children: translate("dictionary.empty-state.uninitialized")
1390
+ }),
1391
+ typeof word !== "undefined" && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
1392
+ className: (_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().content),
1393
+ children: [
1394
+ word && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
1395
+ className: (_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().word),
1396
+ children: word
1397
+ }),
1398
+ isAllowed === false && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
1399
+ children: translate("dictionary.empty-state.not-allowed")
1400
+ }),
1401
+ isAllowed === true && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
1402
+ children: [
1403
+ definitions.length === 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
1404
+ children: translate("dictionary.empty-state.no-definitions")
1405
+ }),
1406
+ definitions.length > 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("ul", {
1407
+ className: (_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().definitions),
1408
+ children: definitions.map((result, index)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("li", {
1409
+ className: (_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().definition),
1410
+ children: result
1411
+ }, index))
1412
+ })
1413
+ ]
1414
+ }),
1415
+ !isLoading && isAllowed === null && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
1416
+ children: translate("dictionary.empty-state.no-results")
1417
+ })
1418
+ ]
1419
+ })
1420
+ ]
1421
+ }, word)),
1370
1422
  isLoading && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Loading__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {})
1371
1423
  ]
1372
1424
  });
@@ -1813,8 +1865,8 @@ __webpack_async_result__();
1813
1865
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
1814
1866
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
1815
1867
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1816
- /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46473);
1817
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(18729);
1868
+ /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81245);
1869
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(92237);
1818
1870
  /* harmony import */ var _Key__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50237);
1819
1871
 
1820
1872
 
@@ -1989,7 +2041,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1989
2041
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
1990
2042
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
1991
2043
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
1992
- /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46473);
2044
+ /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81245);
1993
2045
  /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(90485);
1994
2046
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51413);
1995
2047
  /* harmony import */ var _SquareButton__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49021);
@@ -2093,8 +2145,8 @@ var jsx_runtime_ = __webpack_require__(20997);
2093
2145
  // EXTERNAL MODULE: ./node_modules/next/link.js
2094
2146
  var next_link = __webpack_require__(41664);
2095
2147
  var link_default = /*#__PURE__*/__webpack_require__.n(next_link);
2096
- // EXTERNAL MODULE: ./src/icons/index.ts + 22 modules
2097
- var icons = __webpack_require__(46473);
2148
+ // EXTERNAL MODULE: ./src/icons/index.ts + 24 modules
2149
+ var icons = __webpack_require__(81245);
2098
2150
  // EXTERNAL MODULE: ./src/components/PlainTiles/index.ts + 9 modules
2099
2151
  var PlainTiles = __webpack_require__(14015);
2100
2152
  // EXTERNAL MODULE: ./src/components/NotFound/NotFound.module.scss
@@ -2355,7 +2407,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
2355
2407
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
2356
2408
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16689);
2357
2409
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
2358
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18729);
2410
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92237);
2359
2411
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51413);
2360
2412
  /* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(42687);
2361
2413
  /* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Rack_module_scss__WEBPACK_IMPORTED_MODULE_7__);
@@ -2453,7 +2505,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
2453
2505
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
2454
2506
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
2455
2507
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
2456
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18729);
2508
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92237);
2457
2509
  /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(90485);
2458
2510
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51413);
2459
2511
  /* harmony import */ var _Tile__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(54031);
@@ -2766,9 +2818,9 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
2766
2818
 
2767
2819
 
2768
2820
 
2769
- const Cell = ({ className , translationKey , value })=>{
2821
+ const Cell = ({ className , translationKey , tooltip , value })=>{
2770
2822
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_2__/* .useTranslate */ .qM)();
2771
- const triggerProps = (0,_Tooltip__WEBPACK_IMPORTED_MODULE_3__/* .useTooltip */ .l)(`${translate(translationKey)}: ${value}`);
2823
+ const triggerProps = (0,_Tooltip__WEBPACK_IMPORTED_MODULE_3__/* .useTooltip */ .l)(`${translate(translationKey)}: ${tooltip || value}`);
2772
2824
  return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
2773
2825
  className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Results_module_scss__WEBPACK_IMPORTED_MODULE_4___default().cell), className),
2774
2826
  ...triggerProps,
@@ -2796,7 +2848,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
2796
2848
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
2797
2849
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6022);
2798
2850
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
2799
- /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46473);
2851
+ /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(81245);
2800
2852
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51413);
2801
2853
  /* harmony import */ var types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3620);
2802
2854
  /* harmony import */ var _Tooltip__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(73778);
@@ -2882,6 +2934,7 @@ const Result = ({ index , style })=>{
2882
2934
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
2883
2935
  const results = (0,state__WEBPACK_IMPORTED_MODULE_2__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_2__/* .selectSortedFilteredResults */ .dN);
2884
2936
  const result = results[index];
2937
+ const otherWords = result.words.slice(1).join(" / ").toLocaleUpperCase();
2885
2938
  const handleClick = ()=>{
2886
2939
  dispatch(state__WEBPACK_IMPORTED_MODULE_2__/* .resultsSlice.actions.applyResult */ ._C.actions.applyResult(result));
2887
2940
  };
@@ -2912,32 +2965,33 @@ const Result = ({ index , style })=>{
2912
2965
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Cell__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
2913
2966
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_4___default().word),
2914
2967
  translationKey: "common.word",
2915
- value: result.word
2968
+ value: `${result.word.toLocaleUpperCase()}${otherWords.length > 0 ? ` (${otherWords})` : ""}`
2916
2969
  }),
2917
2970
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Cell__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
2918
2971
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_4___default().stat),
2919
2972
  translationKey: "common.tiles",
2920
- value: result.numberOfTiles
2973
+ value: result.tilesCount
2921
2974
  }),
2922
2975
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Cell__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
2923
2976
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_4___default().stat),
2924
2977
  translationKey: "common.consonants",
2925
- value: result.numberOfConsonants
2978
+ value: result.consonantsCount
2926
2979
  }),
2927
2980
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Cell__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
2928
2981
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_4___default().stat),
2929
2982
  translationKey: "common.vowels",
2930
- value: result.numberOfVowels
2983
+ value: result.vowelsCount
2931
2984
  }),
2932
2985
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Cell__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
2933
2986
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_4___default().stat),
2934
2987
  translationKey: "common.blanks",
2935
- value: result.numberOfBlanks
2988
+ value: result.blanksCount
2936
2989
  }),
2937
2990
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Cell__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
2938
2991
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_4___default().stat),
2939
2992
  translationKey: "common.words",
2940
- value: result.numberOfWords
2993
+ tooltip: `${result.wordsCount} (${result.words.join(" / ").toLocaleUpperCase()})`,
2994
+ value: result.wordsCount
2941
2995
  }),
2942
2996
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Cell__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
2943
2997
  className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_4___default().points),
@@ -3080,7 +3134,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
3080
3134
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
3081
3135
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6022);
3082
3136
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
3083
- /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46473);
3137
+ /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81245);
3084
3138
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51413);
3085
3139
  /* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(84095);
3086
3140
  /* harmony import */ var _Results_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(81177);
@@ -3202,32 +3256,42 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
3202
3256
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
3203
3257
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
3204
3258
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
3205
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6022);
3206
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
3207
- /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51413);
3208
- /* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35628);
3209
- /* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_4__);
3210
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_3__]);
3211
- state__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
3259
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
3260
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
3261
+ /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
3262
+ /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
3263
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92237);
3264
+ /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51413);
3265
+ /* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(35628);
3266
+ /* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6__);
3267
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_5__]);
3268
+ state__WEBPACK_IMPORTED_MODULE_5__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
3269
+
3270
+
3212
3271
 
3213
3272
 
3214
3273
 
3215
3274
 
3216
3275
 
3217
3276
  const ResultsInput = ({ className })=>{
3218
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)();
3219
- const translate = (0,state__WEBPACK_IMPORTED_MODULE_3__/* .useTranslate */ .qM)();
3220
- const value = (0,state__WEBPACK_IMPORTED_MODULE_3__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_3__/* .selectResultsQuery */ .QL);
3277
+ const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)();
3278
+ const translate = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTranslate */ .qM)();
3279
+ const value = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectResultsQuery */ .QL);
3280
+ const { 0: localValue , 1: setLocalValue } = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(value);
3221
3281
  const handleChange = (event)=>{
3222
- dispatch(state__WEBPACK_IMPORTED_MODULE_3__/* .resultsSlice.actions.changeQuery */ ._C.actions.changeQuery(event.target.value));
3282
+ const newValue = event.target.value;
3283
+ setLocalValue(newValue);
3284
+ if ((0,lib__WEBPACK_IMPORTED_MODULE_4__/* .isRegExp */ .Kj)(newValue)) {
3285
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .resultsSlice.actions.changeQuery */ ._C.actions.changeQuery(newValue));
3286
+ }
3223
3287
  };
3224
3288
  return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("form", {
3225
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_4___default().resultsInput), className),
3289
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6___default().resultsInput), className),
3226
3290
  children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("input", {
3227
- className: (_ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_4___default().input),
3291
+ className: (_ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6___default().input),
3228
3292
  placeholder: translate("results.input.placeholder"),
3229
3293
  type: "text",
3230
- value: value,
3294
+ value: localValue,
3231
3295
  onChange: handleChange
3232
3296
  })
3233
3297
  });
@@ -3668,7 +3732,7 @@ __webpack_async_result__();
3668
3732
  /* harmony export */ });
3669
3733
  /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34046);
3670
3734
  /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0__);
3671
- /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46473);
3735
+ /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(81245);
3672
3736
  /* harmony import */ var _LocaleSetting_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(38997);
3673
3737
  /* harmony import */ var _LocaleSetting_module_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_LocaleSetting_module_scss__WEBPACK_IMPORTED_MODULE_2__);
3674
3738
 
@@ -3773,7 +3837,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
3773
3837
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
3774
3838
  /* harmony import */ var react_modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19931);
3775
3839
  /* harmony import */ var react_modal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_modal__WEBPACK_IMPORTED_MODULE_2__);
3776
- /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46473);
3840
+ /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(81245);
3777
3841
  /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(90485);
3778
3842
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51413);
3779
3843
  /* harmony import */ var _SquareButton__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49021);
@@ -4118,7 +4182,7 @@ var build = __webpack_require__(7618);
4118
4182
  // EXTERNAL MODULE: external "react"
4119
4183
  var external_react_ = __webpack_require__(16689);
4120
4184
  // EXTERNAL MODULE: ./src/lib/index.ts + 27 modules
4121
- var lib = __webpack_require__(18729);
4185
+ var lib = __webpack_require__(92237);
4122
4186
  // EXTERNAL MODULE: external "classnames"
4123
4187
  var external_classnames_ = __webpack_require__(59003);
4124
4188
  var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
@@ -4315,7 +4379,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4315
4379
  /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69755);
4316
4380
  /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_4__);
4317
4381
  /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26183);
4318
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18729);
4382
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(92237);
4319
4383
  /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8550);
4320
4384
  /* harmony import */ var _Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(222);
4321
4385
  /* harmony import */ var _Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_8__);
@@ -4591,8 +4655,8 @@ __webpack_async_result__();
4591
4655
  /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_0__);
4592
4656
 
4593
4657
  const useIsTablet = ()=>{
4594
- const isTabletHeight = (0,react_use__WEBPACK_IMPORTED_MODULE_0__.useMedia)("(max-height: 800px)");
4595
- const isTabletWidth = (0,react_use__WEBPACK_IMPORTED_MODULE_0__.useMedia)("(max-width: 1024px)");
4658
+ const isTabletHeight = (0,react_use__WEBPACK_IMPORTED_MODULE_0__.useMedia)("(max-height: 800px)", false);
4659
+ const isTabletWidth = (0,react_use__WEBPACK_IMPORTED_MODULE_0__.useMedia)("(max-width: 1024px)", false);
4596
4660
  const isTablet = isTabletHeight || isTabletWidth;
4597
4661
  return isTablet;
4598
4662
  };
@@ -4756,7 +4820,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4756
4820
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
4757
4821
  /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69755);
4758
4822
  /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_2__);
4759
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(18729);
4823
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(92237);
4760
4824
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51413);
4761
4825
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_4__]);
4762
4826
  state__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
@@ -4855,7 +4919,7 @@ __webpack_async_result__();
4855
4919
  /* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom_client__WEBPACK_IMPORTED_MODULE_2__);
4856
4920
  /* harmony import */ var react_portal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63938);
4857
4921
  /* harmony import */ var react_portal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_portal__WEBPACK_IMPORTED_MODULE_3__);
4858
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18729);
4922
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(92237);
4859
4923
 
4860
4924
 
4861
4925
 
@@ -4929,7 +4993,7 @@ __webpack_async_result__();
4929
4993
 
4930
4994
  /***/ }),
4931
4995
 
4932
- /***/ 46473:
4996
+ /***/ 81245:
4933
4997
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4934
4998
 
4935
4999
  "use strict";
@@ -4944,6 +5008,7 @@ __webpack_require__.d(__webpack_exports__, {
4944
5008
  "X1": () => (/* reexport */ Cross),
4945
5009
  "XK": () => (/* reexport */ DashCircleFill),
4946
5010
  "Gs": () => (/* reexport */ Eraser),
5011
+ "WN": () => (/* reexport */ Flag),
4947
5012
  "rV": () => (/* reexport */ FlagDe),
4948
5013
  "d": () => (/* reexport */ FlagEs),
4949
5014
  "OV": () => (/* reexport */ FlagFr),
@@ -4955,7 +5020,8 @@ __webpack_require__.d(__webpack_exports__, {
4955
5020
  "sh": () => (/* reexport */ Play),
4956
5021
  "xy": () => (/* reexport */ Sack),
4957
5022
  "l": () => (/* reexport */ SortDown),
4958
- "Nc": () => (/* reexport */ SortUp)
5023
+ "Nc": () => (/* reexport */ SortUp),
5024
+ "Ux": () => (/* reexport */ Star)
4959
5025
  });
4960
5026
 
4961
5027
  // UNUSED EXPORTS: CheckboxChecked, CheckboxEmpty
@@ -5156,6 +5222,25 @@ var SvgEraser = function SvgEraser(props) {
5156
5222
  };
5157
5223
 
5158
5224
  /* harmony default export */ const Eraser = (SvgEraser);
5225
+ ;// CONCATENATED MODULE: ./src/icons/Flag.svg
5226
+ var Flag_path;
5227
+
5228
+ function Flag_extends() { Flag_extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Flag_extends.apply(this, arguments); }
5229
+
5230
+
5231
+
5232
+ var SvgFlag = function SvgFlag(props) {
5233
+ return /*#__PURE__*/external_react_.createElement("svg", Flag_extends({
5234
+ viewBox: "0 0 16 16",
5235
+ xmlns: "http://www.w3.org/2000/svg",
5236
+ role: "img"
5237
+ }, props), Flag_path || (Flag_path = /*#__PURE__*/external_react_.createElement("path", {
5238
+ d: "M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.435 12.435 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A19.626 19.626 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477a19.587 19.587 0 0 0 1.349-.476l.019-.007.004-.002h.001",
5239
+ fill: "currentColor"
5240
+ })));
5241
+ };
5242
+
5243
+ /* harmony default export */ const Flag = (SvgFlag);
5159
5244
  ;// CONCATENATED MODULE: ./src/icons/FlagEs.svg
5160
5245
  var FlagEs_path, _path2;
5161
5246
 
@@ -5484,6 +5569,25 @@ var SvgSortUp = function SvgSortUp(props) {
5484
5569
  };
5485
5570
 
5486
5571
  /* harmony default export */ const SortUp = (SvgSortUp);
5572
+ ;// CONCATENATED MODULE: ./src/icons/Star.svg
5573
+ var Star_path;
5574
+
5575
+ function Star_extends() { Star_extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Star_extends.apply(this, arguments); }
5576
+
5577
+
5578
+
5579
+ var SvgStar = function SvgStar(props) {
5580
+ return /*#__PURE__*/external_react_.createElement("svg", Star_extends({
5581
+ viewBox: "0 0 16 16",
5582
+ xmlns: "http://www.w3.org/2000/svg",
5583
+ role: "img"
5584
+ }, props), Star_path || (Star_path = /*#__PURE__*/external_react_.createElement("path", {
5585
+ d: "M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z",
5586
+ fill: "currentColor"
5587
+ })));
5588
+ };
5589
+
5590
+ /* harmony default export */ const Star = (SvgStar);
5487
5591
  ;// CONCATENATED MODULE: ./src/icons/index.ts
5488
5592
 
5489
5593
 
@@ -5506,6 +5610,8 @@ var SvgSortUp = function SvgSortUp(props) {
5506
5610
 
5507
5611
 
5508
5612
 
5613
+
5614
+
5509
5615
 
5510
5616
 
5511
5617