@scrabble-solver/scrabble-solver 2.11.4 → 2.11.5

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 (130) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +7 -7
  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/export-marker.json +1 -1
  13. package/.next/next-server.js.nft.json +1 -1
  14. package/.next/prerender-manifest.json +1 -1
  15. package/.next/routes-manifest.json +1 -1
  16. package/.next/server/chunks/131.js +1 -1
  17. package/.next/server/chunks/277.js +728 -877
  18. package/.next/server/chunks/636.js +286 -0
  19. package/.next/server/chunks/675.js +550 -0
  20. package/.next/server/middleware-build-manifest.js +1 -1
  21. package/.next/server/pages/404.html +2 -2
  22. package/.next/server/pages/404.js.nft.json +1 -1
  23. package/.next/server/pages/500.html +1 -1
  24. package/.next/server/pages/_app.js +73 -9
  25. package/.next/server/pages/_app.js.nft.json +1 -1
  26. package/.next/server/pages/_document.js.nft.json +1 -1
  27. package/.next/server/pages/_error.js +1 -280
  28. package/.next/server/pages/_error.js.nft.json +1 -1
  29. package/.next/server/pages/api/solve.js +22 -2
  30. package/.next/server/pages/index.html +1 -1
  31. package/.next/server/pages/index.js +382 -313
  32. package/.next/server/pages/index.js.nft.json +1 -1
  33. package/.next/server/pages/index.json +1 -1
  34. package/.next/static/UzQCOB6CHhyOupkEq8oZM/_buildManifest.js +1 -0
  35. package/.next/static/chunks/pages/{404-448ba28510855455.js → 404-d30fe85d005ce32b.js} +1 -1
  36. package/.next/static/chunks/pages/_app-e27464a187a58684.js +28 -0
  37. package/.next/static/chunks/pages/index-3fd280f406cc00fd.js +1 -0
  38. package/.next/static/css/4bd04cebe207859c.css +1 -0
  39. package/.next/static/css/5b3b78170f4c5875.css +2 -0
  40. package/.next/trace +50 -53
  41. package/next.config.js +1 -0
  42. package/package.json +12 -13
  43. package/src/@types/svg.d.ts +1 -1
  44. package/src/components/Board/Board.tsx +48 -44
  45. package/src/components/Board/components/Actions/Actions.tsx +4 -2
  46. package/src/components/Board/components/Cell/Cell.module.scss +59 -1
  47. package/src/components/Board/hooks/useGrid.ts +5 -3
  48. package/src/components/Button/Button.module.scss +1 -1
  49. package/src/components/Loading/Loading.module.scss +1 -1
  50. package/src/components/Loading/Loading.tsx +1 -1
  51. package/src/components/Logo/Logo.tsx +10 -12
  52. package/src/components/Logo/LogoBlueprint.tsx +21 -0
  53. package/src/components/Logo/index.ts +1 -1
  54. package/src/components/Modal/Modal.module.scss +1 -6
  55. package/src/components/Modal/Modal.tsx +15 -8
  56. package/src/components/NavButtons/NavButtons.tsx +2 -2
  57. package/src/components/Rack/Rack.module.scss +59 -0
  58. package/src/components/Results/HeaderButton.tsx +6 -6
  59. package/src/components/Results/Results.module.scss +3 -0
  60. package/src/components/Results/Results.tsx +7 -7
  61. package/src/components/Results/useColumns.ts +2 -5
  62. package/src/components/Solver/Solver.tsx +6 -23
  63. package/src/components/Tile/Tile.module.scss +2 -1
  64. package/src/components/Tile/Tile.tsx +8 -4
  65. package/src/components/index.ts +0 -3
  66. package/src/hooks/index.ts +6 -0
  67. package/src/hooks/useAppLayout.ts +62 -12
  68. package/src/hooks/useEffectOnce.ts +5 -0
  69. package/src/hooks/useIsTouchDevice.ts +1 -1
  70. package/src/hooks/useLatest.ts +13 -0
  71. package/src/hooks/useLocalStorage.ts +51 -0
  72. package/src/hooks/useMedia.ts +36 -0
  73. package/src/hooks/useMediaQueries.ts +13 -0
  74. package/src/hooks/useMediaQuery.ts +2 -1
  75. package/src/hooks/useOnWindowResize.ts +13 -0
  76. package/src/hooks/useViewportSize.ts +19 -0
  77. package/src/i18n/constants.ts +14 -14
  78. package/src/lib/arrayEquals.ts +5 -0
  79. package/src/lib/index.ts +1 -0
  80. package/src/lib/zipCharactersAndTiles.ts +3 -1
  81. package/src/modals/DictionaryModal/DictionaryModal.tsx +2 -2
  82. package/src/modals/KeyMapModal/KeyMapModal.tsx +2 -2
  83. package/src/modals/KeyMapModal/keys.tsx +0 -2
  84. package/src/modals/MenuModal/MenuModal.module.scss +28 -4
  85. package/src/modals/MenuModal/MenuModal.tsx +4 -4
  86. package/src/modals/RemainingTilesModal/RemainingTilesModal.tsx +2 -2
  87. package/src/modals/ResultsModal/ResultsModal.module.scss +1 -5
  88. package/src/modals/ResultsModal/ResultsModal.tsx +10 -2
  89. package/src/modals/SettingsModal/SettingsModal.tsx +2 -2
  90. package/src/modals/SettingsModal/components/AutoGroupTilesSetting/lib.ts +3 -1
  91. package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +1 -1
  92. package/src/modals/WordsModal/WordsModal.tsx +2 -2
  93. package/src/pages/index.module.scss +3 -21
  94. package/src/pages/index.tsx +51 -67
  95. package/src/parameters/index.ts +29 -2
  96. package/src/state/localStorage.ts +13 -2
  97. package/src/state/sagas.ts +16 -8
  98. package/src/state/slices/boardInitialState.ts +5 -1
  99. package/src/state/slices/boardSlice.ts +2 -2
  100. package/src/state/slices/rackInitialState.ts +8 -2
  101. package/src/state/slices/rackSlice.ts +16 -13
  102. package/src/state/slices/settingsInitialState.ts +9 -4
  103. package/src/state/slices/settingsSlice.ts +3 -1
  104. package/src/styles/animations.scss +0 -20
  105. package/src/styles/global.scss +0 -7
  106. package/src/styles/mixins.scss +0 -59
  107. package/src/styles/variables.scss +11 -0
  108. package/src/types/index.ts +4 -0
  109. package/.next/static/MvHZRF4XuJ7g8LLLRkf8U/_buildManifest.js +0 -1
  110. package/.next/static/chunks/pages/_app-66d80a5594aab8dc.js +0 -28
  111. package/.next/static/chunks/pages/index-0858deea02b2a417.js +0 -1
  112. package/.next/static/css/885da289cec275b3.css +0 -1
  113. package/.next/static/css/ea1c8134fe9a143e.css +0 -2
  114. package/src/components/LogoSplashScreen/LogoSplashScreen.module.scss +0 -65
  115. package/src/components/LogoSplashScreen/LogoSplashScreen.tsx +0 -31
  116. package/src/components/LogoSplashScreen/index.ts +0 -1
  117. package/src/components/Sizer/Sizer.module.scss +0 -10
  118. package/src/components/Sizer/Sizer.tsx +0 -10
  119. package/src/components/Sizer/index.ts +0 -1
  120. package/src/components/SplashScreen/SplashScreen.module.scss +0 -14
  121. package/src/components/SplashScreen/SplashScreen.tsx +0 -19
  122. package/src/components/SplashScreen/index.ts +0 -1
  123. package/src/hooks/useLocalStorage/index.ts +0 -1
  124. package/src/hooks/useLocalStorage/useLocalStorage.ts +0 -13
  125. package/src/hooks/useLocalStorage/useLocalStorageBoard.ts +0 -29
  126. package/src/hooks/useLocalStorage/useLocalStorageConfigId.ts +0 -29
  127. package/src/hooks/useLocalStorage/useLocalStorageLocale.ts +0 -32
  128. package/src/hooks/useLocalStorage/useLocalStorageRack.ts +0 -29
  129. /package/.next/static/{MvHZRF4XuJ7g8LLLRkf8U → UzQCOB6CHhyOupkEq8oZM}/_ssgManifest.js +0 -0
  130. /package/{src/components/Logo/Logo.svg → public/logo.svg} +0 -0
@@ -995,9 +995,7 @@ module.exports = {
995
995
  "hide": "Board_hide__Fskbc",
996
996
  "shown": "Board_shown__T9Txa",
997
997
  "show": "Board_show__1ChIu",
998
- "progress": "Board_progress__3ImeV",
999
998
  "rotate": "Board_rotate__ynCR2",
1000
- "pulse": "Board_pulse__RoNSE",
1001
999
  "wave": "Board_wave__NDbpN"
1002
1000
  };
1003
1001
 
@@ -1136,33 +1134,11 @@ module.exports = {
1136
1134
  module.exports = {
1137
1135
  "loading": "Loading_loading__RkVCa",
1138
1136
  "dim": "Loading_dim__H3eXg",
1139
- "logo": "Loading_logo__1hwt4",
1137
+ "text": "Loading_text__qKHb5",
1140
1138
  "tiles": "Loading_tiles__RNn33"
1141
1139
  };
1142
1140
 
1143
1141
 
1144
- /***/ }),
1145
-
1146
- /***/ 44744:
1147
- /***/ ((module) => {
1148
-
1149
- // Exports
1150
- module.exports = {
1151
- "logoSplashScreen": "LogoSplashScreen_logoSplashScreen__pRvmG",
1152
- "animated": "LogoSplashScreen_animated__FLtGf",
1153
- "hide": "LogoSplashScreen_hide__O6VWM",
1154
- "logos": "LogoSplashScreen_logos__x48g1",
1155
- "pulse": "LogoSplashScreen_pulse__xzhLz",
1156
- "logoColor": "LogoSplashScreen_logoColor__yxa6j",
1157
- "progress": "LogoSplashScreen_progress__m0bkB",
1158
- "logoGrayscale": "LogoSplashScreen_logoGrayscale__zDa_H",
1159
- "author": "LogoSplashScreen_author__jDI5k",
1160
- "show": "LogoSplashScreen_show__N_vWU",
1161
- "rotate": "LogoSplashScreen_rotate__LocRV",
1162
- "wave": "LogoSplashScreen_wave__Trjnf"
1163
- };
1164
-
1165
-
1166
1142
  /***/ }),
1167
1143
 
1168
1144
  /***/ 61218:
@@ -1236,9 +1212,7 @@ module.exports = {
1236
1212
  "dropShadow": "PlainTiles_dropShadow__TjPAL",
1237
1213
  "hide": "PlainTiles_hide__ZXQ7t",
1238
1214
  "show": "PlainTiles_show__KuWdS",
1239
- "progress": "PlainTiles_progress__GEq5G",
1240
- "rotate": "PlainTiles_rotate__mHx2k",
1241
- "pulse": "PlainTiles_pulse__MTQRB"
1215
+ "rotate": "PlainTiles_rotate__mHx2k"
1242
1216
  };
1243
1217
 
1244
1218
 
@@ -1324,17 +1298,6 @@ module.exports = {
1324
1298
  };
1325
1299
 
1326
1300
 
1327
- /***/ }),
1328
-
1329
- /***/ 76872:
1330
- /***/ ((module) => {
1331
-
1332
- // Exports
1333
- module.exports = {
1334
- "sizer": "Sizer_sizer__6ihcO"
1335
- };
1336
-
1337
-
1338
1301
  /***/ }),
1339
1302
 
1340
1303
  /***/ 41674:
@@ -1371,9 +1334,7 @@ module.exports = {
1371
1334
  "floatingSolveButton": "FloatingSolveButton_floatingSolveButton__ylG5R",
1372
1335
  "hide": "FloatingSolveButton_hide__Xjdvf",
1373
1336
  "show": "FloatingSolveButton_show__hjyNU",
1374
- "progress": "FloatingSolveButton_progress__VlrJL",
1375
1337
  "rotate": "FloatingSolveButton_rotate__VJaNr",
1376
- "pulse": "FloatingSolveButton_pulse__Sklml",
1377
1338
  "wave": "FloatingSolveButton_wave__Ce4rm"
1378
1339
  };
1379
1340
 
@@ -1424,24 +1385,10 @@ module.exports = {
1424
1385
  "rotate": "Spinner_rotate__trb0p",
1425
1386
  "hide": "Spinner_hide__oSP5z",
1426
1387
  "show": "Spinner_show__iasps",
1427
- "progress": "Spinner_progress__mXCAs",
1428
- "pulse": "Spinner_pulse__xW7PT",
1429
1388
  "wave": "Spinner_wave__QVNeH"
1430
1389
  };
1431
1390
 
1432
1391
 
1433
- /***/ }),
1434
-
1435
- /***/ 37675:
1436
- /***/ ((module) => {
1437
-
1438
- // Exports
1439
- module.exports = {
1440
- "splashScreen": "SplashScreen_splashScreen__1t_F7",
1441
- "content": "SplashScreen_content__YuPB1"
1442
- };
1443
-
1444
-
1445
1392
  /***/ }),
1446
1393
 
1447
1394
  /***/ 35516:
@@ -1622,8 +1569,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1622
1569
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
1623
1570
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
1624
1571
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
1625
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(69755);
1626
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_5__);
1572
+ /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(75704);
1627
1573
  /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(64534);
1628
1574
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83067);
1629
1575
  /* harmony import */ var _Board_module_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(33791);
@@ -1631,8 +1577,8 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1631
1577
  /* harmony import */ var _BoardPure__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(86058);
1632
1578
  /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(94347);
1633
1579
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(48327);
1634
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_floating_ui_react__WEBPACK_IMPORTED_MODULE_1__, state__WEBPACK_IMPORTED_MODULE_7__, _BoardPure__WEBPACK_IMPORTED_MODULE_8__, _components__WEBPACK_IMPORTED_MODULE_9__, _hooks__WEBPACK_IMPORTED_MODULE_10__]);
1635
- ([_floating_ui_react__WEBPACK_IMPORTED_MODULE_1__, state__WEBPACK_IMPORTED_MODULE_7__, _BoardPure__WEBPACK_IMPORTED_MODULE_8__, _components__WEBPACK_IMPORTED_MODULE_9__, _hooks__WEBPACK_IMPORTED_MODULE_10__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
1580
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_floating_ui_react__WEBPACK_IMPORTED_MODULE_1__, hooks__WEBPACK_IMPORTED_MODULE_5__, state__WEBPACK_IMPORTED_MODULE_7__, _BoardPure__WEBPACK_IMPORTED_MODULE_8__, _components__WEBPACK_IMPORTED_MODULE_9__, _hooks__WEBPACK_IMPORTED_MODULE_10__]);
1581
+ ([_floating_ui_react__WEBPACK_IMPORTED_MODULE_1__, hooks__WEBPACK_IMPORTED_MODULE_5__, state__WEBPACK_IMPORTED_MODULE_7__, _BoardPure__WEBPACK_IMPORTED_MODULE_8__, _components__WEBPACK_IMPORTED_MODULE_9__, _hooks__WEBPACK_IMPORTED_MODULE_10__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
1636
1582
 
1637
1583
 
1638
1584
 
@@ -1649,7 +1595,7 @@ const Board = ({ cellSize , className })=>{
1649
1595
  const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_4__.useDispatch)();
1650
1596
  const rows = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectRowsWithCandidate */ .ZA);
1651
1597
  const board = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectBoard */ .ZO);
1652
- const [actionsMeasureRef, { width: actionsWidth }] = (0,react_use__WEBPACK_IMPORTED_MODULE_5__.useMeasure)();
1598
+ const { actionsWidth } = (0,hooks__WEBPACK_IMPORTED_MODULE_5__/* .useAppLayout */ .Ft)();
1653
1599
  const [{ activeIndex , direction , inputRefs }, { onChange , onDirectionToggle , onFocus , onKeyDown , onPaste }] = (0,_hooks__WEBPACK_IMPORTED_MODULE_10__/* .useGrid */ .N)(rows);
1654
1600
  const inputRef = inputRefs[activeIndex.y][activeIndex.x];
1655
1601
  const cell = rows[activeIndex.y][activeIndex.x];
@@ -1666,23 +1612,24 @@ const Board = ({ cellSize , className })=>{
1666
1612
  placement: "top-end",
1667
1613
  whileElementsMounted: _floating_ui_react__WEBPACK_IMPORTED_MODULE_1__.autoUpdate
1668
1614
  });
1669
- const actionsRef = (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_1__.useMergeRefs)([
1670
- actionsMeasureRef,
1671
- refs.setFloating
1672
- ]);
1673
- const handleBlur = (event)=>{
1615
+ const handleBlur = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((event)=>{
1674
1616
  const eventComesFromActions = refs.floating.current?.contains(event.relatedTarget);
1675
1617
  const eventComesFromBoard = event.currentTarget.contains(event.relatedTarget);
1676
1618
  const isLocalEvent = eventComesFromActions || eventComesFromBoard;
1677
1619
  if (!isLocalEvent) {
1678
1620
  setShowActions(false);
1679
1621
  }
1680
- };
1681
- const handleDirectionToggle = ()=>{
1622
+ }, [
1623
+ refs.floating
1624
+ ]);
1625
+ const handleDirectionToggle = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(()=>{
1682
1626
  inputRef.current?.focus();
1683
1627
  onDirectionToggle();
1684
- };
1685
- const handleFocus = (newX, newY)=>{
1628
+ }, [
1629
+ inputRef,
1630
+ onDirectionToggle
1631
+ ]);
1632
+ const handleFocus = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((newX, newY)=>{
1686
1633
  const isFirstFocus = !showActions;
1687
1634
  const originalTransition = refs.floating.current?.style.transition || "";
1688
1635
  const newInputRef = inputRefs[newY][newX].current;
@@ -1698,15 +1645,29 @@ const Board = ({ cellSize , className })=>{
1698
1645
  setTransition(originalTransition);
1699
1646
  }, 0);
1700
1647
  }
1701
- };
1702
- const handleToggleBlank = ()=>{
1648
+ }, [
1649
+ inputRefs,
1650
+ onFocus,
1651
+ refs.floating,
1652
+ refs.setReference,
1653
+ showActions
1654
+ ]);
1655
+ const handleToggleBlank = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(()=>{
1703
1656
  inputRef.current?.focus();
1704
1657
  dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .boardSlice.actions.toggleCellIsBlank */ .I8.actions.toggleCellIsBlank(cell));
1705
- };
1706
- const handleToggleFilterCell = ()=>{
1658
+ }, [
1659
+ cell,
1660
+ dispatch,
1661
+ inputRef
1662
+ ]);
1663
+ const handleToggleFilterCell = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(()=>{
1707
1664
  inputRef.current?.focus();
1708
1665
  dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .cellFilterSlice.actions.toggle */ .mO.actions.toggle(cell));
1709
- };
1666
+ }, [
1667
+ cell,
1668
+ dispatch,
1669
+ inputRef
1670
+ ]);
1710
1671
  return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
1711
1672
  children: [
1712
1673
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_BoardPure__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
@@ -1729,7 +1690,7 @@ const Board = ({ cellSize , className })=>{
1729
1690
  }),
1730
1691
  disabled: !showActions,
1731
1692
  direction: direction,
1732
- ref: actionsRef,
1693
+ ref: refs.setFloating,
1733
1694
  style: {
1734
1695
  position: strategy,
1735
1696
  top: y ?? 0,
@@ -1826,12 +1787,14 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1826
1787
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16689);
1827
1788
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
1828
1789
  /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(58966);
1829
- /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
1830
- /* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83900);
1831
- /* harmony import */ var _Actions_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(79739);
1832
- /* harmony import */ var _Actions_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Actions_module_scss__WEBPACK_IMPORTED_MODULE_7__);
1833
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_5__, _Button__WEBPACK_IMPORTED_MODULE_6__]);
1834
- ([state__WEBPACK_IMPORTED_MODULE_5__, _Button__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
1790
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65175);
1791
+ /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83067);
1792
+ /* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83900);
1793
+ /* harmony import */ var _Actions_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(79739);
1794
+ /* harmony import */ var _Actions_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Actions_module_scss__WEBPACK_IMPORTED_MODULE_8__);
1795
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_6__, _Button__WEBPACK_IMPORTED_MODULE_7__]);
1796
+ ([state__WEBPACK_IMPORTED_MODULE_6__, _Button__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
1797
+
1835
1798
 
1836
1799
 
1837
1800
 
@@ -1841,41 +1804,42 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
1841
1804
 
1842
1805
 
1843
1806
  const Actions = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_3__.forwardRef)(({ cell , className , direction , disabled , onDirectionToggle , onToggleBlank , onToggleFilterCell , ...props }, ref)=>{
1844
- const translate = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTranslate */ .qM)();
1845
- const isFiltered = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)((state)=>(0,state__WEBPACK_IMPORTED_MODULE_5__/* .selectCellIsFiltered */ .id)(state, cell));
1807
+ const translate = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTranslate */ .qM)();
1808
+ const isFiltered = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTypedSelector */ .ix)((state)=>(0,state__WEBPACK_IMPORTED_MODULE_6__/* .selectCellIsFiltered */ .id)(state, cell));
1809
+ const resultCandidateCells = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_6__/* .selectResultCandidateCells */ .GL);
1846
1810
  const isBlank = cell.tile.isBlank;
1847
- const isEmpty = cell.tile.character === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.EMPTY_CELL;
1811
+ const isEmpty = cell.tile.character === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.EMPTY_CELL || Boolean((0,lib__WEBPACK_IMPORTED_MODULE_5__/* .findCell */ .Jp)(resultCandidateCells, cell.x, cell.y));
1848
1812
  // On iOS it helps with losing focus too early which makes Actions disappear
1849
1813
  const handleMouseDown = (event)=>event.preventDefault();
1850
1814
  return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
1851
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Actions_module_scss__WEBPACK_IMPORTED_MODULE_7___default().actions), className),
1815
+ className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Actions_module_scss__WEBPACK_IMPORTED_MODULE_8___default().actions), className),
1852
1816
  ref: ref,
1853
1817
  ...props,
1854
1818
  children: [
1855
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Button__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
1819
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Button__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
1856
1820
  "aria-label": translate("cell.toggle-direction"),
1857
- className: (_Actions_module_scss__WEBPACK_IMPORTED_MODULE_7___default().action),
1821
+ className: (_Actions_module_scss__WEBPACK_IMPORTED_MODULE_8___default().action),
1858
1822
  Icon: icons__WEBPACK_IMPORTED_MODULE_4__/* .ArrowDown */ .K5,
1859
- iconClassName: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Actions_module_scss__WEBPACK_IMPORTED_MODULE_7___default().toggleDirection), {
1860
- [(_Actions_module_scss__WEBPACK_IMPORTED_MODULE_7___default().right)]: direction === "horizontal"
1823
+ iconClassName: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Actions_module_scss__WEBPACK_IMPORTED_MODULE_8___default().toggleDirection), {
1824
+ [(_Actions_module_scss__WEBPACK_IMPORTED_MODULE_8___default().right)]: direction === "horizontal"
1861
1825
  }),
1862
1826
  tabIndex: disabled ? -1 : undefined,
1863
1827
  tooltip: translate("cell.toggle-direction"),
1864
1828
  onClick: onDirectionToggle,
1865
1829
  onMouseDown: handleMouseDown
1866
1830
  }),
1867
- isEmpty && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Button__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
1831
+ isEmpty && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Button__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
1868
1832
  "aria-label": translate("cell.filter-cell"),
1869
- className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Actions_module_scss__WEBPACK_IMPORTED_MODULE_7___default().action)),
1833
+ className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Actions_module_scss__WEBPACK_IMPORTED_MODULE_8___default().action)),
1870
1834
  Icon: isFiltered ? icons__WEBPACK_IMPORTED_MODULE_4__/* .Flag */ .WN : icons__WEBPACK_IMPORTED_MODULE_4__/* .FlagFill */ .aR,
1871
1835
  tabIndex: disabled ? -1 : undefined,
1872
1836
  tooltip: translate("cell.filter-cell"),
1873
1837
  onClick: onToggleFilterCell,
1874
1838
  onMouseDown: handleMouseDown
1875
1839
  }),
1876
- !isEmpty && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Button__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
1840
+ !isEmpty && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Button__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
1877
1841
  "aria-label": isBlank ? translate("cell.set-not-blank") : translate("cell.set-blank"),
1878
- className: (_Actions_module_scss__WEBPACK_IMPORTED_MODULE_7___default().action),
1842
+ className: (_Actions_module_scss__WEBPACK_IMPORTED_MODULE_8___default().action),
1879
1843
  Icon: isBlank ? icons__WEBPACK_IMPORTED_MODULE_4__/* .SquareFill */ .uX : icons__WEBPACK_IMPORTED_MODULE_4__/* .Square */ .bK,
1880
1844
  tabIndex: disabled ? -1 : undefined,
1881
1845
  tooltip: isBlank ? translate("cell.set-not-blank") : translate("cell.set-blank"),
@@ -1923,7 +1887,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1923
1887
  /* harmony import */ var _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7618);
1924
1888
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
1925
1889
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
1926
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10129);
1890
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65175);
1927
1891
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83067);
1928
1892
  /* harmony import */ var _CellPure__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(12418);
1929
1893
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_4__, _CellPure__WEBPACK_IMPORTED_MODULE_5__]);
@@ -2188,14 +2152,13 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
2188
2152
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
2189
2153
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
2190
2154
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
2191
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69755);
2192
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_4__);
2155
+ /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75704);
2193
2156
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(36743);
2194
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(10129);
2157
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(65175);
2195
2158
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83067);
2196
2159
  /* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(97792);
2197
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_7__]);
2198
- state__WEBPACK_IMPORTED_MODULE_7__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
2160
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([hooks__WEBPACK_IMPORTED_MODULE_4__, state__WEBPACK_IMPORTED_MODULE_7__]);
2161
+ ([hooks__WEBPACK_IMPORTED_MODULE_4__, state__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
2199
2162
  /* eslint-disable max-lines, max-statements */
2200
2163
 
2201
2164
 
@@ -2221,7 +2184,7 @@ const useGrid = (rows)=>{
2221
2184
  y: 0
2222
2185
  });
2223
2186
  const [direction, setLastDirection] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)("horizontal");
2224
- const directionRef = (0,react_use__WEBPACK_IMPORTED_MODULE_4__.useLatest)(direction);
2187
+ const directionRef = (0,hooks__WEBPACK_IMPORTED_MODULE_4__/* .useLatest */ .dU)(direction);
2225
2188
  const changeActiveIndex = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((offsetX, offsetY)=>{
2226
2189
  const x = Math.min(Math.max(activeIndex.x + offsetX, 0), width - 1);
2227
2190
  const y = Math.min(Math.max(activeIndex.y + offsetY, 0), height - 1);
@@ -2423,6 +2386,7 @@ const useGrid = (rows)=>{
2423
2386
  event.preventDefault();
2424
2387
  if (direction === "vertical") {
2425
2388
  onDirectionToggle();
2389
+ changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q0[locale].direction === "ltr" ? -1 : 0, 0);
2426
2390
  } else {
2427
2391
  changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q0[locale].direction === "ltr" ? -1 : 1, 0);
2428
2392
  }
@@ -2431,6 +2395,7 @@ const useGrid = (rows)=>{
2431
2395
  event.preventDefault();
2432
2396
  if (direction === "vertical") {
2433
2397
  onDirectionToggle();
2398
+ changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q0[locale].direction === "ltr" ? 0 : -1, 0);
2434
2399
  } else {
2435
2400
  changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q0[locale].direction === "ltr" ? 1 : -1, 0);
2436
2401
  }
@@ -2439,9 +2404,8 @@ const useGrid = (rows)=>{
2439
2404
  event.preventDefault();
2440
2405
  if (direction === "horizontal") {
2441
2406
  onDirectionToggle();
2442
- } else {
2443
- changeActiveIndex(0, -1);
2444
2407
  }
2408
+ changeActiveIndex(0, -1);
2445
2409
  },
2446
2410
  onBackspace: (event)=>{
2447
2411
  const position = getInputRefPosition(event.target);
@@ -3247,7 +3211,7 @@ const Loading = ({ className , wave =true })=>{
3247
3211
  className: (_Loading_module_scss__WEBPACK_IMPORTED_MODULE_6___default().dim)
3248
3212
  }),
3249
3213
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3250
- className: (_Loading_module_scss__WEBPACK_IMPORTED_MODULE_6___default().logo),
3214
+ className: (_Loading_module_scss__WEBPACK_IMPORTED_MODULE_6___default().text),
3251
3215
  children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_PlainTiles__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
3252
3216
  className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Loading_module_scss__WEBPACK_IMPORTED_MODULE_6___default().tiles)),
3253
3217
  content: content,
@@ -3283,166 +3247,63 @@ __webpack_async_result__();
3283
3247
 
3284
3248
  /***/ }),
3285
3249
 
3286
- /***/ 8023:
3287
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3250
+ /***/ 36888:
3251
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
3288
3252
 
3289
3253
  "use strict";
3290
-
3291
- // EXPORTS
3292
- __webpack_require__.d(__webpack_exports__, {
3293
- "Z": () => (/* reexport */ Logo)
3294
- });
3295
-
3296
- // EXTERNAL MODULE: external "react"
3297
- var external_react_ = __webpack_require__(16689);
3298
- ;// CONCATENATED MODULE: ./src/components/Logo/Logo.svg
3299
- var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30;
3300
- function _extends() { _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 _extends.apply(this, arguments); }
3301
-
3302
- var SvgLogo = function SvgLogo(props) {
3303
- return /*#__PURE__*/external_react_.createElement("svg", _extends({
3304
- viewBox: "0 0 682 166",
3305
- xmlns: "http://www.w3.org/2000/svg"
3306
- }, props), _path || (_path = /*#__PURE__*/external_react_.createElement("path", {
3307
- fill: "#efe3ae",
3308
- d: "M0 0h80v80H0Z"
3309
- })), _path2 || (_path2 = /*#__PURE__*/external_react_.createElement("path", {
3310
- d: "M51.168 47.629q0 3.047-1.477 5.297-1.476 2.25-4.312 3.469-2.813 1.218-6.844 1.218-1.781 0-3.492-.234-1.688-.234-3.258-.68-1.547-.469-2.953-1.148V48.8q2.438 1.078 5.063 1.945 2.625.867 5.203.867 1.78 0 2.859-.468 1.102-.47 1.594-1.29.492-.82.492-1.875 0-1.289-.867-2.203-.867-.914-2.39-1.71-1.5-.797-3.4-1.712-1.195-.562-2.6-1.359-1.407-.82-2.673-1.992-1.265-1.172-2.086-2.836-.797-1.688-.797-4.031 0-3.07 1.407-5.25 1.406-2.18 4.008-3.328 2.625-1.172 6.187-1.172 2.672 0 5.086.633 2.437.609 5.086 1.78l-2.344 5.65q-2.367-.962-4.242-1.477-1.875-.54-3.82-.54-1.36 0-2.32.446-.962.422-1.454 1.219-.492.773-.492 1.804 0 1.22.703 2.063.727.82 2.156 1.594 1.454.773 3.61 1.804 2.625 1.242 4.476 2.602 1.875 1.336 2.883 3.164 1.008 1.805 1.008 4.5z"
3311
- })), _path3 || (_path3 = /*#__PURE__*/external_react_.createElement("path", {
3312
- fill: "#c7d8f9",
3313
- d: "M86 0h80v80H86Z"
3314
- })), _path4 || (_path4 = /*#__PURE__*/external_react_.createElement("path", {
3315
- d: "M129.574 28.434q-2.086 0-3.703.82-1.594.797-2.695 2.32-1.078 1.524-1.64 3.68-.563 2.156-.563 4.851 0 3.633.89 6.211.914 2.555 2.813 3.914 1.898 1.336 4.898 1.336 2.086 0 4.172-.468 2.11-.47 4.57-1.336v6.093q-2.273.938-4.476 1.336-2.203.422-4.945.422-5.297 0-8.72-2.18-3.398-2.203-5.038-6.14-1.64-3.961-1.64-9.234 0-3.891 1.054-7.125 1.054-3.235 3.094-5.602 2.039-2.367 5.039-3.656 3-1.29 6.89-1.29 2.555 0 5.11.657 2.578.633 4.921 1.758l-2.343 5.906q-1.922-.914-3.867-1.594-1.946-.68-3.82-.68z"
3316
- })), _path5 || (_path5 = /*#__PURE__*/external_react_.createElement("path", {
3317
- fill: "#efe3ae",
3318
- d: "M172 0h80v80h-80z"
3319
- })), _path6 || (_path6 = /*#__PURE__*/external_react_.createElement("path", {
3320
- d: "M210.453 22.867q4.664 0 7.688 1.125 3.047 1.125 4.523 3.399 1.477 2.273 1.477 5.742 0 2.344-.891 4.101-.89 1.758-2.344 2.977-1.453 1.219-3.14 1.992l10.078 14.93h-8.063l-8.18-13.149h-3.867v13.149h-7.265V22.867Zm-.515 5.953h-2.204v9.258h2.344q3.61 0 5.156-1.195 1.57-1.219 1.57-3.563 0-2.437-1.687-3.468-1.664-1.032-5.18-1.032z"
3321
- })), _path7 || (_path7 = /*#__PURE__*/external_react_.createElement("path", {
3322
- fill: "#efe3ae",
3323
- d: "M258 0h80v80h-80z"
3324
- })), _path8 || (_path8 = /*#__PURE__*/external_react_.createElement("path", {
3325
- d: "m306.73 57.203-2.484-8.156h-12.492l-2.484 8.156h-7.829l12.094-34.406h8.883l12.14 34.406zm-4.218-14.25-2.485-7.969q-.234-.796-.632-2.039-.375-1.265-.774-2.554-.375-1.313-.61-2.274-.234.961-.656 2.39-.398 1.407-.773 2.673-.375 1.265-.539 1.804l-2.461 7.97z"
3326
- })), _path9 || (_path9 = /*#__PURE__*/external_react_.createElement("path", {
3327
- fill: "#c7d8f9",
3328
- d: "M344 0h80v80h-80z"
3329
- })), _path10 || (_path10 = /*#__PURE__*/external_react_.createElement("path", {
3330
- d: "M372.188 22.867h10.664q6.843 0 10.359 1.922t3.516 6.75q0 1.945-.633 3.516-.61 1.57-1.781 2.578-1.172 1.008-2.86 1.312v.235q1.711.351 3.094 1.218 1.383.844 2.203 2.485.844 1.617.844 4.312 0 3.118-1.524 5.344-1.523 2.227-4.36 3.422-2.812 1.172-6.702 1.172h-12.82Zm7.265 13.57h4.219q3.164 0 4.383-.984 1.218-1.008 1.218-2.953 0-1.969-1.453-2.812-1.43-.868-4.547-.868h-3.82zm0 5.766v8.93h4.735q3.28 0 4.57-1.266 1.289-1.265 1.289-3.398 0-1.266-.563-2.227-.562-.96-1.898-1.5-1.313-.539-3.633-.539z"
3331
- })), _path11 || (_path11 = /*#__PURE__*/external_react_.createElement("path", {
3332
- fill: "#c7d8f9",
3333
- d: "M430 0h80v80h-80z"
3334
- })), _path12 || (_path12 = /*#__PURE__*/external_react_.createElement("path", {
3335
- d: "M458.188 22.867h10.664q6.843 0 10.359 1.922t3.516 6.75q0 1.945-.633 3.516-.61 1.57-1.781 2.578-1.172 1.008-2.86 1.312v.235q1.711.351 3.094 1.218 1.383.844 2.203 2.485.844 1.617.844 4.312 0 3.118-1.524 5.344-1.523 2.227-4.36 3.422-2.812 1.172-6.702 1.172h-12.82Zm7.265 13.57h4.219q3.164 0 4.383-.984 1.218-1.008 1.218-2.953 0-1.969-1.453-2.812-1.43-.868-4.547-.868h-3.82zm0 5.766v8.93h4.735q3.28 0 4.57-1.266 1.289-1.265 1.289-3.398 0-1.266-.563-2.227-.562-.96-1.898-1.5-1.313-.539-3.633-.539z"
3336
- })), _path13 || (_path13 = /*#__PURE__*/external_react_.createElement("path", {
3337
- fill: "#efe3ae",
3338
- d: "M516 0h80v80h-80z"
3339
- })), _path14 || (_path14 = /*#__PURE__*/external_react_.createElement("path", {
3340
- d: "M546.754 57.133V22.867h7.266v28.266h13.898v6z"
3341
- })), _path15 || (_path15 = /*#__PURE__*/external_react_.createElement("path", {
3342
- fill: "#efe3ae",
3343
- d: "M602 0h80v80h-80z"
3344
- })), _path16 || (_path16 = /*#__PURE__*/external_react_.createElement("path", {
3345
- d: "M652.605 57.133h-19.734V22.867h19.734v5.953h-12.468v7.524h11.601v5.953h-11.601v8.836h12.468z"
3346
- })), _path17 || (_path17 = /*#__PURE__*/external_react_.createElement("path", {
3347
- fill: "#efe3ae",
3348
- d: "M0 86h80v80H0Z"
3349
- })), _path18 || (_path18 = /*#__PURE__*/external_react_.createElement("path", {
3350
- d: "M51.32 133.629q0 3.047-1.476 5.297-1.477 2.25-4.313 3.469-2.812 1.218-6.843 1.218-1.782 0-3.493-.234-1.687-.234-3.257-.68-1.547-.469-2.954-1.148v-6.75q2.438 1.078 5.063 1.945 2.625.867 5.203.867 1.781 0 2.86-.468 1.1-.47 1.593-1.29.492-.82.492-1.875 0-1.289-.867-2.203-.867-.914-2.39-1.71-1.5-.797-3.399-1.712-1.195-.562-2.602-1.359-1.406-.82-2.671-1.992-1.266-1.172-2.086-2.836-.797-1.688-.797-4.031 0-3.07 1.406-5.25t4.008-3.328q2.625-1.172 6.187-1.172 2.672 0 5.086.633 2.438.609 5.086 1.78l-2.343 5.65q-2.368-.962-4.243-1.477-1.875-.54-3.82-.54-1.36 0-2.32.446-.961.422-1.453 1.219-.493.773-.493 1.804 0 1.22.703 2.063.727.82 2.157 1.594 1.453.773 3.61 1.804 2.624 1.242 4.476 2.602 1.875 1.336 2.883 3.164 1.007 1.805 1.007 4.5z"
3351
- })), _path19 || (_path19 = /*#__PURE__*/external_react_.createElement("path", {
3352
- fill: "#efe3ae",
3353
- d: "M86 86h80v80H86Z"
3354
- })), _path20 || (_path20 = /*#__PURE__*/external_react_.createElement("path", {
3355
- d: "M142.313 125.988q0 3.961-.985 7.219-.984 3.234-3 5.578-1.992 2.344-5.062 3.61-3.07 1.242-7.266 1.242-4.195 0-7.266-1.242-3.07-1.266-5.086-3.61-1.992-2.344-2.976-5.601-.984-3.258-.984-7.243 0-5.32 1.734-9.257 1.758-3.961 5.39-6.141 3.633-2.18 9.235-2.18 5.578 0 9.164 2.18 3.61 2.18 5.344 6.14 1.758 3.962 1.758 9.305zm-25.008 0q0 3.586.89 6.188.914 2.578 2.836 3.984 1.922 1.383 4.969 1.383 3.094 0 5.016-1.383 1.921-1.406 2.789-3.984.89-2.602.89-6.188 0-5.39-2.015-8.484-2.016-3.094-6.633-3.094-3.07 0-5.016 1.406-1.922 1.383-2.836 3.985-.89 2.578-.89 6.187z"
3356
- })), _path21 || (_path21 = /*#__PURE__*/external_react_.createElement("path", {
3357
- fill: "#efe3ae",
3358
- d: "M172 86h80v80h-80z"
3359
- })), _path22 || (_path22 = /*#__PURE__*/external_react_.createElement("path", {
3360
- d: "M202.754 143.133v-34.266h7.266v28.266h13.898v6z"
3361
- })), _path23 || (_path23 = /*#__PURE__*/external_react_.createElement("path", {
3362
- fill: "#f7c2aa",
3363
- d: "M258 86h80v80h-80z"
3364
- })), _path24 || (_path24 = /*#__PURE__*/external_react_.createElement("path", {
3365
- d: "m313.598 108.867-11.649 34.266h-7.922l-11.625-34.266h7.336l6.446 20.39q.164.516.539 1.946.375 1.406.75 3 .398 1.57.539 2.602.14-1.032.492-2.602.375-1.57.726-2.976.375-1.43.54-1.97l6.492-20.39z"
3366
- })), _path25 || (_path25 = /*#__PURE__*/external_react_.createElement("path", {
3367
- fill: "#efe3ae",
3368
- d: "M344 86h80v80h-80z"
3369
- })), _path26 || (_path26 = /*#__PURE__*/external_react_.createElement("path", {
3370
- d: "M394.605 143.133h-19.734v-34.266h19.734v5.953h-12.468v7.524h11.601v5.953h-11.601v8.836h12.468z"
3371
- })), _path27 || (_path27 = /*#__PURE__*/external_react_.createElement("path", {
3372
- fill: "#efe3ae",
3373
- d: "M430 86h80v80h-80z"
3374
- })), _path28 || (_path28 = /*#__PURE__*/external_react_.createElement("path", {
3375
- d: "M468.453 108.867q4.664 0 7.688 1.125 3.046 1.125 4.523 3.399 1.477 2.273 1.477 5.742 0 2.344-.891 4.101-.89 1.758-2.344 2.977-1.453 1.219-3.14 1.992l10.078 14.93h-8.063l-8.18-13.149h-3.867v13.149h-7.265v-34.266zm-.515 5.953h-2.204v9.258h2.344q3.61 0 5.156-1.195 1.57-1.219 1.57-3.563 0-2.437-1.687-3.468-1.664-1.032-5.18-1.032z"
3376
- })), _path29 || (_path29 = /*#__PURE__*/external_react_.createElement("path", {
3377
- fill: "#bae3ba",
3378
- d: "M602 86h80v80h-80z"
3379
- })), _path30 || (_path30 = /*#__PURE__*/external_react_.createElement("path", {
3380
- d: "M654.152 143.379H630.2v-5.04l8.602-8.694q2.601-2.672 4.172-4.454 1.593-1.804 2.297-3.28.726-1.477.726-3.165 0-2.039-1.148-3.047-1.125-1.031-3.024-1.031-1.992 0-3.867.914t-3.914 2.602l-3.938-4.664q1.477-1.266 3.118-2.391 1.664-1.125 3.843-1.805 2.204-.703 5.274-.703 3.375 0 5.789 1.219 2.437 1.219 3.75 3.328 1.312 2.086 1.312 4.734 0 2.836-1.125 5.18t-3.28 4.64q-2.134 2.298-5.157 5.087l-4.406 4.148v.328h14.93z"
3381
- })));
3382
- };
3383
- /* harmony default export */ const Logo = (SvgLogo);
3384
- ;// CONCATENATED MODULE: ./src/components/Logo/index.ts
3385
-
3254
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
3255
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3256
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
3257
+ /* harmony export */ });
3258
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
3259
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
3260
+ /* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25675);
3261
+ /* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_image__WEBPACK_IMPORTED_MODULE_1__);
3262
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
3263
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
3264
+ /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75704);
3265
+ /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(64534);
3266
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([hooks__WEBPACK_IMPORTED_MODULE_3__]);
3267
+ hooks__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
3386
3268
 
3387
3269
 
3388
- /***/ }),
3389
3270
 
3390
- /***/ 6436:
3391
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3392
3271
 
3393
- "use strict";
3394
3272
 
3395
- // EXPORTS
3396
- __webpack_require__.d(__webpack_exports__, {
3397
- "Z": () => (/* reexport */ LogoSplashScreen_LogoSplashScreen)
3273
+ const Logo = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_2__.forwardRef)((props, ref)=>{
3274
+ const { logoHeight , logoWidth } = (0,hooks__WEBPACK_IMPORTED_MODULE_3__/* .useAppLayout */ .Ft)();
3275
+ return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((next_image__WEBPACK_IMPORTED_MODULE_1___default()), {
3276
+ ...props,
3277
+ alt: "Scrabble Solver 2",
3278
+ height: logoHeight,
3279
+ priority: true,
3280
+ ref: ref,
3281
+ src: parameters__WEBPACK_IMPORTED_MODULE_4__/* .LOGO_SRC */ .sk,
3282
+ width: logoWidth
3283
+ });
3398
3284
  });
3285
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Logo);
3399
3286
 
3400
- // EXTERNAL MODULE: external "react/jsx-runtime"
3401
- var jsx_runtime_ = __webpack_require__(20997);
3402
- // EXTERNAL MODULE: external "classnames"
3403
- var external_classnames_ = __webpack_require__(59003);
3404
- var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
3405
- // EXTERNAL MODULE: ./src/components/Logo/index.ts + 1 modules
3406
- var Logo = __webpack_require__(8023);
3407
- // EXTERNAL MODULE: ./src/components/SplashScreen/index.ts + 1 modules
3408
- var SplashScreen = __webpack_require__(8984);
3409
- // EXTERNAL MODULE: ./src/components/LogoSplashScreen/LogoSplashScreen.module.scss
3410
- var LogoSplashScreen_module = __webpack_require__(44744);
3411
- var LogoSplashScreen_module_default = /*#__PURE__*/__webpack_require__.n(LogoSplashScreen_module);
3412
- ;// CONCATENATED MODULE: ./src/components/LogoSplashScreen/LogoSplashScreen.tsx
3413
-
3414
-
3415
-
3287
+ __webpack_async_result__();
3288
+ } catch(e) { __webpack_async_result__(e); } });
3416
3289
 
3290
+ /***/ }),
3417
3291
 
3418
- const LogoSplashScreen = ({ className , forceShow , onAnimationEnd })=>/*#__PURE__*/ (0,jsx_runtime_.jsxs)(SplashScreen/* default */.Z, {
3419
- className: external_classnames_default()((LogoSplashScreen_module_default()).logoSplashScreen, className, {
3420
- [(LogoSplashScreen_module_default()).animated]: !forceShow
3421
- }),
3422
- onAnimationEnd: onAnimationEnd,
3423
- children: [
3424
- /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
3425
- className: (LogoSplashScreen_module_default()).logos,
3426
- children: [
3427
- /*#__PURE__*/ jsx_runtime_.jsx(Logo/* default */.Z, {
3428
- className: (LogoSplashScreen_module_default()).logoGrayscale
3429
- }),
3430
- /*#__PURE__*/ jsx_runtime_.jsx(Logo/* default */.Z, {
3431
- className: (LogoSplashScreen_module_default()).logoColor
3432
- })
3433
- ]
3434
- }),
3435
- /*#__PURE__*/ jsx_runtime_.jsx("h1", {
3436
- className: (LogoSplashScreen_module_default()).author,
3437
- children: "by Kamil Mielnik"
3438
- })
3439
- ]
3440
- });
3441
- /* harmony default export */ const LogoSplashScreen_LogoSplashScreen = (LogoSplashScreen);
3292
+ /***/ 18801:
3293
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
3442
3294
 
3443
- ;// CONCATENATED MODULE: ./src/components/LogoSplashScreen/index.ts
3295
+ "use strict";
3296
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
3297
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3298
+ /* harmony export */ "Z": () => (/* reexport safe */ _Logo__WEBPACK_IMPORTED_MODULE_0__.Z)
3299
+ /* harmony export */ });
3300
+ /* harmony import */ var _Logo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36888);
3301
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Logo__WEBPACK_IMPORTED_MODULE_0__]);
3302
+ _Logo__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
3444
3303
 
3445
3304
 
3305
+ __webpack_async_result__();
3306
+ } catch(e) { __webpack_async_result__(e); } });
3446
3307
 
3447
3308
  /***/ }),
3448
3309
 
@@ -3462,18 +3323,15 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
3462
3323
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
3463
3324
  /* harmony import */ var react_modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(19931);
3464
3325
  /* harmony import */ var react_modal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_modal__WEBPACK_IMPORTED_MODULE_3__);
3465
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69755);
3466
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_4__);
3467
- /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(58966);
3468
- /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(64534);
3469
- /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83067);
3470
- /* harmony import */ var _IconButton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(95975);
3471
- /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(32465);
3472
- /* harmony import */ var _Modal_module_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(61218);
3473
- /* harmony import */ var _Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10__);
3474
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_7__, _IconButton__WEBPACK_IMPORTED_MODULE_8__]);
3475
- ([state__WEBPACK_IMPORTED_MODULE_7__, _IconButton__WEBPACK_IMPORTED_MODULE_8__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
3476
-
3326
+ /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(58966);
3327
+ /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(64534);
3328
+ /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83067);
3329
+ /* harmony import */ var _IconButton__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(95975);
3330
+ /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(32465);
3331
+ /* harmony import */ var _Modal_module_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(61218);
3332
+ /* harmony import */ var _Modal_module_scss__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Modal_module_scss__WEBPACK_IMPORTED_MODULE_9__);
3333
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_6__, _IconButton__WEBPACK_IMPORTED_MODULE_7__]);
3334
+ ([state__WEBPACK_IMPORTED_MODULE_6__, _IconButton__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
3477
3335
 
3478
3336
 
3479
3337
 
@@ -3485,14 +3343,24 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
3485
3343
 
3486
3344
 
3487
3345
  const Modal = ({ children , className , footer , isOpen , title , onClose })=>{
3488
- const translate = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTranslate */ .qM)();
3346
+ const translate = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTranslate */ .qM)();
3489
3347
  const [shouldReturnFocusAfterClose, setShouldReturnFocusAfterClose] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(true);
3490
- (0,react_use__WEBPACK_IMPORTED_MODULE_4__.useKey)("Escape", ()=>{
3491
- setShouldReturnFocusAfterClose(false);
3492
- onClose();
3493
- }, undefined, [
3348
+ const handleEscape = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((event)=>{
3349
+ if (event.key === "Escape") {
3350
+ setShouldReturnFocusAfterClose(false);
3351
+ onClose();
3352
+ }
3353
+ }, [
3494
3354
  onClose
3495
3355
  ]);
3356
+ (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{
3357
+ document.addEventListener("keydown", handleEscape);
3358
+ return ()=>{
3359
+ document.removeEventListener("keydown", handleEscape);
3360
+ };
3361
+ }, [
3362
+ handleEscape
3363
+ ]);
3496
3364
  (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{
3497
3365
  if (isOpen) {
3498
3366
  setShouldReturnFocusAfterClose(true);
@@ -3502,41 +3370,41 @@ const Modal = ({ children , className , footer , isOpen , title , onClose })=>{
3502
3370
  ]);
3503
3371
  return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((react_modal__WEBPACK_IMPORTED_MODULE_3___default()), {
3504
3372
  className: {
3505
- afterOpen: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().afterOpen),
3506
- base: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().modal),
3507
- beforeClose: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().beforeClose)
3373
+ afterOpen: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_9___default().afterOpen),
3374
+ base: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_9___default().modal),
3375
+ beforeClose: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_9___default().beforeClose)
3508
3376
  },
3509
- closeTimeoutMS: parameters__WEBPACK_IMPORTED_MODULE_6__/* .TRANSITION_DURATION_LONG */ .MA,
3377
+ closeTimeoutMS: parameters__WEBPACK_IMPORTED_MODULE_5__/* .TRANSITION_DURATION_LONG */ .MA,
3510
3378
  contentLabel: title,
3511
3379
  isOpen: isOpen,
3512
- overlayClassName: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().overlay),
3380
+ overlayClassName: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_9___default().overlay),
3513
3381
  shouldReturnFocusAfterClose: shouldReturnFocusAfterClose,
3514
3382
  onRequestClose: onClose,
3515
3383
  children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
3516
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().container), className),
3384
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Modal_module_scss__WEBPACK_IMPORTED_MODULE_9___default().container), className),
3517
3385
  children: [
3518
3386
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
3519
- className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().header),
3387
+ className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_9___default().header),
3520
3388
  children: [
3521
3389
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
3522
- className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().title),
3390
+ className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_9___default().title),
3523
3391
  children: title
3524
3392
  }),
3525
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
3393
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
3526
3394
  "aria-label": translate("common.close"),
3527
- className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().closeButton),
3528
- Icon: icons__WEBPACK_IMPORTED_MODULE_5__/* .CrossSquareFill */ .vK,
3395
+ className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_9___default().closeButton),
3396
+ Icon: icons__WEBPACK_IMPORTED_MODULE_4__/* .CrossSquareFill */ .vK,
3529
3397
  tooltip: translate("common.close"),
3530
3398
  onClick: onClose
3531
3399
  })
3532
3400
  ]
3533
3401
  }),
3534
3402
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3535
- className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().content),
3403
+ className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_9___default().content),
3536
3404
  children: children
3537
3405
  }),
3538
3406
  footer && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3539
- className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_10___default().footer),
3407
+ className: (_Modal_module_scss__WEBPACK_IMPORTED_MODULE_9___default().footer),
3540
3408
  children: footer
3541
3409
  })
3542
3410
  ]
@@ -3544,7 +3412,7 @@ const Modal = ({ children , className , footer , isOpen , title , onClose })=>{
3544
3412
  });
3545
3413
  };
3546
3414
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Object.assign(Modal, {
3547
- Section: _components__WEBPACK_IMPORTED_MODULE_9__/* .Section */ .$
3415
+ Section: _components__WEBPACK_IMPORTED_MODULE_8__/* .Section */ .$
3548
3416
  }));
3549
3417
 
3550
3418
  __webpack_async_result__();
@@ -3627,15 +3495,18 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
3627
3495
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
3628
3496
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
3629
3497
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
3630
- /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(75704);
3631
- /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58966);
3632
- /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(64534);
3633
- /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
3634
- /* harmony import */ var _IconButton__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(95975);
3635
- /* harmony import */ var _NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(107);
3636
- /* harmony import */ var _NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7__);
3637
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([hooks__WEBPACK_IMPORTED_MODULE_2__, state__WEBPACK_IMPORTED_MODULE_5__, _IconButton__WEBPACK_IMPORTED_MODULE_6__]);
3638
- ([hooks__WEBPACK_IMPORTED_MODULE_2__, state__WEBPACK_IMPORTED_MODULE_5__, _IconButton__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
3498
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
3499
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
3500
+ /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75704);
3501
+ /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(58966);
3502
+ /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(64534);
3503
+ /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83067);
3504
+ /* harmony import */ var _IconButton__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(95975);
3505
+ /* harmony import */ var _NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(107);
3506
+ /* harmony import */ var _NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8__);
3507
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([hooks__WEBPACK_IMPORTED_MODULE_3__, state__WEBPACK_IMPORTED_MODULE_6__, _IconButton__WEBPACK_IMPORTED_MODULE_7__]);
3508
+ ([hooks__WEBPACK_IMPORTED_MODULE_3__, state__WEBPACK_IMPORTED_MODULE_6__, _IconButton__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
3509
+
3639
3510
 
3640
3511
 
3641
3512
 
@@ -3645,33 +3516,33 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([hook
3645
3516
 
3646
3517
 
3647
3518
  const NavButtons = ({ onClear , onShowKeyMap , onShowMenu , onShowRemainingTiles , onShowSettings , onShowWords })=>{
3648
- const translate = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTranslate */ .qM)();
3649
- const hasOverusedTiles = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectHasOverusedTiles */ .En);
3650
- const hasInvalidWords = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectHasInvalidWords */ .bs);
3651
- const { showKeyMap , showShortNav } = (0,hooks__WEBPACK_IMPORTED_MODULE_2__/* .useAppLayout */ .Ft)();
3519
+ const translate = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTranslate */ .qM)();
3520
+ const hasOverusedTiles = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_6__/* .selectHasOverusedTiles */ .En);
3521
+ const hasInvalidWords = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_6__/* .selectHasInvalidWords */ .bs);
3522
+ const { showKeyMap , showShortNav } = (0,hooks__WEBPACK_IMPORTED_MODULE_3__/* .useAppLayout */ .Ft)();
3652
3523
  if (showShortNav) {
3653
3524
  return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
3654
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().navButtons),
3525
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().navButtons),
3655
3526
  children: [
3656
3527
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3657
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().group),
3658
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
3528
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().group),
3529
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
3659
3530
  "aria-label": translate("common.clear"),
3660
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().button),
3661
- Icon: icons__WEBPACK_IMPORTED_MODULE_3__/* .Eraser */ .Gs,
3531
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().button),
3532
+ Icon: icons__WEBPACK_IMPORTED_MODULE_4__/* .Eraser */ .Gs,
3662
3533
  tooltip: translate("common.clear"),
3663
3534
  onClick: onClear
3664
3535
  })
3665
3536
  }),
3666
3537
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3667
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().separator)
3538
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().separator)
3668
3539
  }),
3669
3540
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3670
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().group),
3671
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
3541
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().group),
3542
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
3672
3543
  "aria-label": translate("menu"),
3673
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().button),
3674
- Icon: icons__WEBPACK_IMPORTED_MODULE_3__/* .List */ .aV,
3544
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().button),
3545
+ Icon: icons__WEBPACK_IMPORTED_MODULE_4__/* .List */ .aV,
3675
3546
  tooltip: translate("menu"),
3676
3547
  onClick: onShowMenu
3677
3548
  })
@@ -3680,76 +3551,76 @@ const NavButtons = ({ onClear , onShowKeyMap , onShowMenu , onShowRemainingTiles
3680
3551
  });
3681
3552
  }
3682
3553
  return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
3683
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().navButtons),
3554
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().navButtons),
3684
3555
  children: [
3685
3556
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3686
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().group),
3687
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
3557
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().group),
3558
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
3688
3559
  "aria-label": translate("common.clear"),
3689
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().button),
3690
- Icon: icons__WEBPACK_IMPORTED_MODULE_3__/* .Eraser */ .Gs,
3560
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().button),
3561
+ Icon: icons__WEBPACK_IMPORTED_MODULE_4__/* .Eraser */ .Gs,
3691
3562
  tooltip: translate("common.clear"),
3692
3563
  onClick: onClear
3693
3564
  })
3694
3565
  }),
3695
3566
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3696
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().separator)
3567
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().separator)
3697
3568
  }),
3698
3569
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
3699
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().group),
3570
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().group),
3700
3571
  children: [
3701
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
3572
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
3702
3573
  "aria-label": translate("remaining-tiles"),
3703
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().button), {
3704
- [(_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().error)]: hasOverusedTiles
3574
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().button), {
3575
+ [(_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().error)]: hasOverusedTiles
3705
3576
  }),
3706
- Icon: icons__WEBPACK_IMPORTED_MODULE_3__/* .Sack */ .xy,
3577
+ Icon: icons__WEBPACK_IMPORTED_MODULE_4__/* .Sack */ .xy,
3707
3578
  tooltip: translate("remaining-tiles"),
3708
3579
  onClick: onShowRemainingTiles
3709
3580
  }),
3710
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
3581
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
3711
3582
  "aria-label": translate("words"),
3712
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().button), {
3713
- [(_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().error)]: hasInvalidWords
3583
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().button), {
3584
+ [(_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().error)]: hasInvalidWords
3714
3585
  }),
3715
- Icon: icons__WEBPACK_IMPORTED_MODULE_3__/* .CardChecklist */ .Kz,
3586
+ Icon: icons__WEBPACK_IMPORTED_MODULE_4__/* .CardChecklist */ .Kz,
3716
3587
  tooltip: translate("words"),
3717
3588
  onClick: onShowWords
3718
3589
  })
3719
3590
  ]
3720
3591
  }),
3721
3592
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3722
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().separator)
3593
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().separator)
3723
3594
  }),
3724
3595
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3725
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().group),
3726
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_6__/* ["default"].Link */ .Z.Link, {
3596
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().group),
3597
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_7__/* ["default"].Link */ .Z.Link, {
3727
3598
  "aria-label": translate("github"),
3728
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().button),
3729
- href: parameters__WEBPACK_IMPORTED_MODULE_4__/* .GITHUB_PROJECT_URL */ .h4,
3730
- Icon: icons__WEBPACK_IMPORTED_MODULE_3__/* .Github */ .Ey,
3599
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().button),
3600
+ href: parameters__WEBPACK_IMPORTED_MODULE_5__/* .GITHUB_PROJECT_URL */ .h4,
3601
+ Icon: icons__WEBPACK_IMPORTED_MODULE_4__/* .Github */ .Ey,
3731
3602
  rel: "noopener noreferrer",
3732
3603
  target: "_blank",
3733
3604
  tooltip: translate("github")
3734
3605
  })
3735
3606
  }),
3736
3607
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
3737
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().separator)
3608
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().separator)
3738
3609
  }),
3739
3610
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
3740
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().group),
3611
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().group),
3741
3612
  children: [
3742
- showKeyMap && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
3613
+ showKeyMap && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
3743
3614
  "aria-label": translate("keyMap"),
3744
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().button),
3745
- Icon: icons__WEBPACK_IMPORTED_MODULE_3__/* .Keyboard */ .N1,
3615
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().button),
3616
+ Icon: icons__WEBPACK_IMPORTED_MODULE_4__/* .Keyboard */ .N1,
3746
3617
  tooltip: translate("keyMap"),
3747
3618
  onClick: onShowKeyMap
3748
3619
  }),
3749
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
3620
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_IconButton__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
3750
3621
  "aria-label": translate("settings"),
3751
- className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_7___default().button),
3752
- Icon: icons__WEBPACK_IMPORTED_MODULE_3__/* .Cog */ .Oz,
3622
+ className: (_NavButtons_module_scss__WEBPACK_IMPORTED_MODULE_8___default().button),
3623
+ Icon: icons__WEBPACK_IMPORTED_MODULE_4__/* .Cog */ .Oz,
3753
3624
  tooltip: translate("settings"),
3754
3625
  onClick: onShowSettings
3755
3626
  })
@@ -3758,7 +3629,7 @@ const NavButtons = ({ onClear , onShowKeyMap , onShowMenu , onShowRemainingTiles
3758
3629
  ]
3759
3630
  });
3760
3631
  };
3761
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NavButtons);
3632
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_2__.memo)(NavButtons));
3762
3633
 
3763
3634
  __webpack_async_result__();
3764
3635
  } catch(e) { __webpack_async_result__(e); } });
@@ -4187,7 +4058,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4187
4058
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
4188
4059
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
4189
4060
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(36743);
4190
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10129);
4061
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65175);
4191
4062
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83067);
4192
4063
  /* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52404);
4193
4064
  /* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Rack_module_scss__WEBPACK_IMPORTED_MODULE_8__);
@@ -4347,7 +4218,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4347
4218
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
4348
4219
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
4349
4220
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
4350
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10129);
4221
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65175);
4351
4222
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83067);
4352
4223
  /* harmony import */ var _Tile__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(96815);
4353
4224
  /* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52404);
@@ -4559,16 +4430,19 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4559
4430
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
4560
4431
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
4561
4432
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
4562
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6022);
4563
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
4564
- /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58966);
4565
- /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83067);
4566
- /* harmony import */ var types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1966);
4567
- /* harmony import */ var _Tooltip__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(59004);
4568
- /* harmony import */ var _Results_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(98289);
4569
- /* harmony import */ var _Results_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Results_module_scss__WEBPACK_IMPORTED_MODULE_7__);
4570
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_4__, _Tooltip__WEBPACK_IMPORTED_MODULE_6__]);
4571
- ([state__WEBPACK_IMPORTED_MODULE_4__, _Tooltip__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
4433
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
4434
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
4435
+ /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
4436
+ /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
4437
+ /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(58966);
4438
+ /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
4439
+ /* harmony import */ var types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1966);
4440
+ /* harmony import */ var _Tooltip__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(59004);
4441
+ /* harmony import */ var _Results_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(98289);
4442
+ /* harmony import */ var _Results_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Results_module_scss__WEBPACK_IMPORTED_MODULE_8__);
4443
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_5__, _Tooltip__WEBPACK_IMPORTED_MODULE_7__]);
4444
+ ([state__WEBPACK_IMPORTED_MODULE_5__, _Tooltip__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
4445
+
4572
4446
 
4573
4447
 
4574
4448
 
@@ -4578,33 +4452,36 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
4578
4452
 
4579
4453
 
4580
4454
  const HeaderButton = ({ column })=>{
4581
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_2__.useDispatch)();
4582
- const translate = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTranslate */ .qM)();
4583
- const sort = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_4__/* .selectResultsSort */ .R);
4584
- const triggerProps = (0,_Tooltip__WEBPACK_IMPORTED_MODULE_6__/* .useTooltip */ .l)(translate(column.translationKey));
4585
- const handleOrderChange = (columnId)=>{
4586
- dispatch(state__WEBPACK_IMPORTED_MODULE_4__/* .resultsSlice.actions.sort */ ._C.actions.sort(columnId));
4587
- };
4455
+ const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)();
4456
+ const translate = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTranslate */ .qM)();
4457
+ const sort = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectResultsSort */ .R);
4458
+ const triggerProps = (0,_Tooltip__WEBPACK_IMPORTED_MODULE_7__/* .useTooltip */ .l)(translate(column.translationKey));
4459
+ const handleClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(()=>{
4460
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .resultsSlice.actions.sort */ ._C.actions.sort(column.id));
4461
+ }, [
4462
+ column.id,
4463
+ dispatch
4464
+ ]);
4588
4465
  return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("button", {
4589
4466
  "aria-label": translate(column.translationKey),
4590
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Results_module_scss__WEBPACK_IMPORTED_MODULE_7___default().headerButton), column.className),
4467
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Results_module_scss__WEBPACK_IMPORTED_MODULE_8___default().headerButton), column.className),
4591
4468
  type: "button",
4592
- onClick: ()=>handleOrderChange(column.id),
4469
+ onClick: handleClick,
4593
4470
  ...triggerProps,
4594
4471
  children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
4595
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_7___default().cell),
4472
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_8___default().cell),
4596
4473
  children: [
4597
4474
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
4598
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_7___default().headerButtonLabel),
4475
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_8___default().headerButtonLabel),
4599
4476
  children: translate(column.translationKey)
4600
4477
  }),
4601
4478
  sort.column === column.id && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
4602
4479
  children: [
4603
- 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, {
4604
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_7___default().sortIcon)
4480
+ sort.direction === types__WEBPACK_IMPORTED_MODULE_6__/* .SortDirection.Ascending */ .S.Ascending && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(icons__WEBPACK_IMPORTED_MODULE_4__/* .SortUp */ .Nc, {
4481
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_8___default().sortIcon)
4605
4482
  }),
4606
- 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, {
4607
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_7___default().sortIcon)
4483
+ sort.direction === types__WEBPACK_IMPORTED_MODULE_6__/* .SortDirection.Descending */ .S.Descending && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(icons__WEBPACK_IMPORTED_MODULE_4__/* .SortDown */ .l, {
4484
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_8___default().sortIcon)
4608
4485
  })
4609
4486
  ]
4610
4487
  })
@@ -4634,7 +4511,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4634
4511
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
4635
4512
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
4636
4513
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(36743);
4637
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10129);
4514
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65175);
4638
4515
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
4639
4516
  /* harmony import */ var types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1966);
4640
4517
  /* harmony import */ var _Cell__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(29287);
@@ -4749,26 +4626,23 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4749
4626
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
4750
4627
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
4751
4628
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
4752
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(69755);
4753
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_3__);
4754
- /* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80551);
4755
- /* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_window__WEBPACK_IMPORTED_MODULE_4__);
4629
+ /* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80551);
4630
+ /* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_window__WEBPACK_IMPORTED_MODULE_3__);
4631
+ /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75704);
4756
4632
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(36743);
4757
4633
  /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(64534);
4758
4634
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83067);
4759
4635
  /* harmony import */ var _EmptyState__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(77385);
4760
4636
  /* harmony import */ var _Loading__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(13842);
4761
4637
  /* harmony import */ var _ResultsInput__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(74790);
4762
- /* harmony import */ var _Sizer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(2537);
4763
- /* harmony import */ var _HeaderButton__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(60405);
4764
- /* harmony import */ var _Result__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(77762);
4765
- /* harmony import */ var _Results_module_scss__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(98289);
4766
- /* harmony import */ var _Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_Results_module_scss__WEBPACK_IMPORTED_MODULE_16__);
4767
- /* harmony import */ var _SolveButton__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(74767);
4768
- /* harmony import */ var _useColumns__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(66120);
4769
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_7__, _EmptyState__WEBPACK_IMPORTED_MODULE_8__, _Loading__WEBPACK_IMPORTED_MODULE_9__, _ResultsInput__WEBPACK_IMPORTED_MODULE_10__, _HeaderButton__WEBPACK_IMPORTED_MODULE_12__, _Result__WEBPACK_IMPORTED_MODULE_13__, _SolveButton__WEBPACK_IMPORTED_MODULE_14__, _useColumns__WEBPACK_IMPORTED_MODULE_15__]);
4770
- ([state__WEBPACK_IMPORTED_MODULE_7__, _EmptyState__WEBPACK_IMPORTED_MODULE_8__, _Loading__WEBPACK_IMPORTED_MODULE_9__, _ResultsInput__WEBPACK_IMPORTED_MODULE_10__, _HeaderButton__WEBPACK_IMPORTED_MODULE_12__, _Result__WEBPACK_IMPORTED_MODULE_13__, _SolveButton__WEBPACK_IMPORTED_MODULE_14__, _useColumns__WEBPACK_IMPORTED_MODULE_15__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
4771
-
4638
+ /* harmony import */ var _HeaderButton__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(60405);
4639
+ /* harmony import */ var _Result__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(77762);
4640
+ /* harmony import */ var _Results_module_scss__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(98289);
4641
+ /* harmony import */ var _Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_Results_module_scss__WEBPACK_IMPORTED_MODULE_15__);
4642
+ /* harmony import */ var _SolveButton__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(74767);
4643
+ /* harmony import */ var _useColumns__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(66120);
4644
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([hooks__WEBPACK_IMPORTED_MODULE_4__, state__WEBPACK_IMPORTED_MODULE_7__, _EmptyState__WEBPACK_IMPORTED_MODULE_8__, _Loading__WEBPACK_IMPORTED_MODULE_9__, _ResultsInput__WEBPACK_IMPORTED_MODULE_10__, _HeaderButton__WEBPACK_IMPORTED_MODULE_11__, _Result__WEBPACK_IMPORTED_MODULE_12__, _SolveButton__WEBPACK_IMPORTED_MODULE_13__, _useColumns__WEBPACK_IMPORTED_MODULE_14__]);
4645
+ ([hooks__WEBPACK_IMPORTED_MODULE_4__, state__WEBPACK_IMPORTED_MODULE_7__, _EmptyState__WEBPACK_IMPORTED_MODULE_8__, _Loading__WEBPACK_IMPORTED_MODULE_9__, _ResultsInput__WEBPACK_IMPORTED_MODULE_10__, _HeaderButton__WEBPACK_IMPORTED_MODULE_11__, _Result__WEBPACK_IMPORTED_MODULE_12__, _SolveButton__WEBPACK_IMPORTED_MODULE_13__, _useColumns__WEBPACK_IMPORTED_MODULE_14__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
4772
4646
 
4773
4647
 
4774
4648
 
@@ -4787,6 +4661,7 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
4787
4661
 
4788
4662
  const Results = ({ callbacks , className , highlightedIndex })=>{
4789
4663
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTranslate */ .qM)();
4664
+ const { resultsHeight , resultsWidth } = (0,hooks__WEBPACK_IMPORTED_MODULE_4__/* .useAppLayout */ .Ft)();
4790
4665
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectLocale */ .fN);
4791
4666
  const { direction } = i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q0[locale];
4792
4667
  const results = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectResults */ .x5);
@@ -4802,12 +4677,14 @@ const Results = ({ callbacks , className , highlightedIndex })=>{
4802
4677
  highlightedIndex,
4803
4678
  results
4804
4679
  ]);
4805
- const [sizerRef, { height , width }] = (0,react_use__WEBPACK_IMPORTED_MODULE_3__.useMeasure)();
4806
4680
  const [listRef, setListRef] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(null);
4807
- const columns = (0,_useColumns__WEBPACK_IMPORTED_MODULE_15__/* ["default"] */ .Z)();
4681
+ const columns = (0,_useColumns__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z)();
4808
4682
  const scrollToIndex = typeof highlightedIndex === "number" ? highlightedIndex : 0;
4809
- const scrollToIndexRef = (0,react_use__WEBPACK_IMPORTED_MODULE_3__.useLatest)(scrollToIndex);
4683
+ const scrollToIndexRef = (0,hooks__WEBPACK_IMPORTED_MODULE_4__/* .useLatest */ .dU)(scrollToIndex);
4810
4684
  const hasResults = typeof error === "undefined" && typeof results !== "undefined";
4685
+ const showInput = hasResults && results.length > 0 && !isOutdated;
4686
+ const height = resultsHeight - parameters__WEBPACK_IMPORTED_MODULE_6__/* .RESULTS_HEADER_HEIGHT */ .$L - (showInput ? parameters__WEBPACK_IMPORTED_MODULE_6__/* .TEXT_INPUT_HEIGHT */ .kD : 0) - 2 * parameters__WEBPACK_IMPORTED_MODULE_6__/* .BORDER_WIDTH */ .YF;
4687
+ const width = resultsWidth - 2 * parameters__WEBPACK_IMPORTED_MODULE_6__/* .BORDER_WIDTH */ .YF;
4811
4688
  (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{
4812
4689
  // without setTimeout, the initial scrolling offset is calculated
4813
4690
  // incorrectly, as the list is not fully rendered by the browser yet
@@ -4825,57 +4702,54 @@ const Results = ({ callbacks , className , highlightedIndex })=>{
4825
4702
  scrollToIndexRef
4826
4703
  ]);
4827
4704
  return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
4828
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().results), className),
4705
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().results), className),
4829
4706
  children: [
4830
4707
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
4831
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().header),
4832
- children: columns.map((column)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_HeaderButton__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
4708
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().header),
4709
+ children: columns.map((column)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_HeaderButton__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
4833
4710
  column: column
4834
4711
  }, column.id))
4835
4712
  }),
4836
4713
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
4837
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().content),
4714
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().content),
4838
4715
  children: [
4839
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Sizer__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
4840
- ref: sizerRef
4841
- }),
4842
4716
  typeof error !== "undefined" && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyState__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
4843
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().emptyState),
4717
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().emptyState),
4844
4718
  variant: "error",
4845
4719
  children: error.message
4846
4720
  }),
4847
4721
  typeof error === "undefined" && typeof results === "undefined" && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_EmptyState__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
4848
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().emptyState),
4722
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().emptyState),
4849
4723
  variant: "info",
4850
4724
  children: [
4851
4725
  translate("results.empty-state.uninitialized"),
4852
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SolveButton__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
4853
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().solveButton)
4726
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SolveButton__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
4727
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().solveButton)
4854
4728
  })
4855
4729
  ]
4856
4730
  }),
4857
4731
  hasResults && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
4858
4732
  children: [
4859
4733
  isOutdated && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_EmptyState__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
4860
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().emptyState),
4734
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().emptyState),
4861
4735
  variant: "info",
4862
4736
  children: [
4863
4737
  translate("results.empty-state.outdated"),
4864
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SolveButton__WEBPACK_IMPORTED_MODULE_14__/* ["default"] */ .Z, {
4865
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().solveButton)
4738
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SolveButton__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
4739
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().solveButton)
4866
4740
  })
4867
4741
  ]
4868
4742
  }),
4869
4743
  !isOutdated && results.length === 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyState__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
4870
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().emptyState),
4744
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().emptyState),
4871
4745
  variant: "warning",
4872
4746
  children: translate("results.empty-state.no-results")
4873
4747
  }),
4874
4748
  !isOutdated && results.length > 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
4875
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().listContainer),
4876
- children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_window__WEBPACK_IMPORTED_MODULE_4__.FixedSizeList, {
4877
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().list), {
4878
- [(_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().outdated)]: isOutdated
4749
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().listContainer),
4750
+ children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_window__WEBPACK_IMPORTED_MODULE_3__.FixedSizeList, {
4751
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().list), {
4752
+ [(_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().outdated)]: isOutdated
4879
4753
  }),
4880
4754
  direction: direction,
4881
4755
  height: height,
@@ -4884,15 +4758,15 @@ const Results = ({ callbacks , className , highlightedIndex })=>{
4884
4758
  itemSize: parameters__WEBPACK_IMPORTED_MODULE_6__/* .RESULTS_ITEM_HEIGHT */ .rx,
4885
4759
  ref: setListRef,
4886
4760
  width: width,
4887
- children: _Result__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z
4761
+ children: _Result__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z
4888
4762
  })
4889
4763
  })
4890
4764
  ]
4891
4765
  })
4892
4766
  ]
4893
4767
  }),
4894
- hasResults && results.length > 0 && !isOutdated && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ResultsInput__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
4895
- className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_16___default().input)
4768
+ showInput && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ResultsInput__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
4769
+ className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_15___default().input)
4896
4770
  }),
4897
4771
  isLoading && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Loading__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {})
4898
4772
  ]
@@ -5071,10 +4945,7 @@ const COLUMNS_L = [
5071
4945
  const useColumns = ()=>{
5072
4946
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_2__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_2__/* .selectLocale */ .fN);
5073
4947
  const localeColumns = (0,_getLocaleColumns__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(i18n__WEBPACK_IMPORTED_MODULE_1__/* .LOCALE_FEATURES */ .q0[locale]);
5074
- const isLessThanXs = (0,hooks__WEBPACK_IMPORTED_MODULE_0__/* .useMediaQuery */ .ac)("<xs");
5075
- const isLessThanS = (0,hooks__WEBPACK_IMPORTED_MODULE_0__/* .useMediaQuery */ .ac)("<s");
5076
- const isLessThanM = (0,hooks__WEBPACK_IMPORTED_MODULE_0__/* .useMediaQuery */ .ac)("<m");
5077
- const isLessThanL = (0,hooks__WEBPACK_IMPORTED_MODULE_0__/* .useMediaQuery */ .ac)("<l");
4948
+ const { isLessThanXs , isLessThanS , isLessThanM , isLessThanL } = (0,hooks__WEBPACK_IMPORTED_MODULE_0__/* .useMediaQueries */ .lS)();
5078
4949
  if (isLessThanXs) {
5079
4950
  return localeColumns.filter((column)=>COLUMNS_XS.includes(column.id));
5080
4951
  }
@@ -5112,7 +4983,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
5112
4983
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
5113
4984
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
5114
4985
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
5115
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10129);
4986
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65175);
5116
4987
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
5117
4988
  /* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(60066);
5118
4989
  /* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6__);
@@ -5208,44 +5079,6 @@ const SeoMessage = ()=>/*#__PURE__*/ jsx_runtime_.jsx("p", {
5208
5079
 
5209
5080
 
5210
5081
 
5211
- /***/ }),
5212
-
5213
- /***/ 2537:
5214
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5215
-
5216
- "use strict";
5217
-
5218
- // EXPORTS
5219
- __webpack_require__.d(__webpack_exports__, {
5220
- "Z": () => (/* reexport */ Sizer_Sizer)
5221
- });
5222
-
5223
- // EXTERNAL MODULE: external "react/jsx-runtime"
5224
- var jsx_runtime_ = __webpack_require__(20997);
5225
- // EXTERNAL MODULE: external "classnames"
5226
- var external_classnames_ = __webpack_require__(59003);
5227
- var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
5228
- // EXTERNAL MODULE: external "react"
5229
- var external_react_ = __webpack_require__(16689);
5230
- // EXTERNAL MODULE: ./src/components/Sizer/Sizer.module.scss
5231
- var Sizer_module = __webpack_require__(76872);
5232
- var Sizer_module_default = /*#__PURE__*/__webpack_require__.n(Sizer_module);
5233
- ;// CONCATENATED MODULE: ./src/components/Sizer/Sizer.tsx
5234
-
5235
-
5236
-
5237
-
5238
- const Sizer = /*#__PURE__*/ (0,external_react_.forwardRef)(({ className , ...props }, ref)=>/*#__PURE__*/ jsx_runtime_.jsx("div", {
5239
- className: external_classnames_default()((Sizer_module_default()).sizer, className),
5240
- ref: ref,
5241
- ...props
5242
- }));
5243
- /* harmony default export */ const Sizer_Sizer = (Sizer);
5244
-
5245
- ;// CONCATENATED MODULE: ./src/components/Sizer/index.ts
5246
-
5247
-
5248
-
5249
5082
  /***/ }),
5250
5083
 
5251
5084
  /***/ 45659:
@@ -5264,24 +5097,19 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
5264
5097
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
5265
5098
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
5266
5099
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
5267
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69755);
5268
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_4__);
5269
- /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(75704);
5270
- /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(64534);
5271
- /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83067);
5272
- /* harmony import */ var _Alert__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(15982);
5273
- /* harmony import */ var _Board__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(17587);
5274
- /* harmony import */ var _Dictionary__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(76195);
5275
- /* harmony import */ var _DictionaryInput__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(35917);
5276
- /* harmony import */ var _Rack__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(95937);
5277
- /* harmony import */ var _Results__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(96813);
5278
- /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(99260);
5279
- /* harmony import */ var _Solver_module_scss__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(41674);
5280
- /* harmony import */ var _Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15__);
5281
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([hooks__WEBPACK_IMPORTED_MODULE_5__, state__WEBPACK_IMPORTED_MODULE_7__, _Board__WEBPACK_IMPORTED_MODULE_9__, _Dictionary__WEBPACK_IMPORTED_MODULE_10__, _DictionaryInput__WEBPACK_IMPORTED_MODULE_11__, _Rack__WEBPACK_IMPORTED_MODULE_12__, _Results__WEBPACK_IMPORTED_MODULE_13__, _components__WEBPACK_IMPORTED_MODULE_14__]);
5282
- ([hooks__WEBPACK_IMPORTED_MODULE_5__, state__WEBPACK_IMPORTED_MODULE_7__, _Board__WEBPACK_IMPORTED_MODULE_9__, _Dictionary__WEBPACK_IMPORTED_MODULE_10__, _DictionaryInput__WEBPACK_IMPORTED_MODULE_11__, _Rack__WEBPACK_IMPORTED_MODULE_12__, _Results__WEBPACK_IMPORTED_MODULE_13__, _components__WEBPACK_IMPORTED_MODULE_14__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
5283
-
5284
-
5100
+ /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75704);
5101
+ /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
5102
+ /* harmony import */ var _Alert__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(15982);
5103
+ /* harmony import */ var _Board__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(17587);
5104
+ /* harmony import */ var _Dictionary__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(76195);
5105
+ /* harmony import */ var _DictionaryInput__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(35917);
5106
+ /* harmony import */ var _Rack__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(95937);
5107
+ /* harmony import */ var _Results__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(96813);
5108
+ /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(99260);
5109
+ /* harmony import */ var _Solver_module_scss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(41674);
5110
+ /* harmony import */ var _Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13__);
5111
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([hooks__WEBPACK_IMPORTED_MODULE_4__, state__WEBPACK_IMPORTED_MODULE_5__, _Board__WEBPACK_IMPORTED_MODULE_7__, _Dictionary__WEBPACK_IMPORTED_MODULE_8__, _DictionaryInput__WEBPACK_IMPORTED_MODULE_9__, _Rack__WEBPACK_IMPORTED_MODULE_10__, _Results__WEBPACK_IMPORTED_MODULE_11__, _components__WEBPACK_IMPORTED_MODULE_12__]);
5112
+ ([hooks__WEBPACK_IMPORTED_MODULE_4__, state__WEBPACK_IMPORTED_MODULE_5__, _Board__WEBPACK_IMPORTED_MODULE_7__, _Dictionary__WEBPACK_IMPORTED_MODULE_8__, _DictionaryInput__WEBPACK_IMPORTED_MODULE_9__, _Rack__WEBPACK_IMPORTED_MODULE_10__, _Results__WEBPACK_IMPORTED_MODULE_11__, _components__WEBPACK_IMPORTED_MODULE_12__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
5285
5113
 
5286
5114
 
5287
5115
 
@@ -5296,34 +5124,23 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([hook
5296
5124
 
5297
5125
 
5298
5126
 
5299
- // eslint-disable-next-line max-statements
5300
- const Solver = ({ className , height , width , onShowResults })=>{
5127
+ const Solver = ({ className , onShowResults })=>{
5301
5128
  const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)();
5302
- const translate = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTranslate */ .qM)();
5303
- const isTouchDevice = (0,hooks__WEBPACK_IMPORTED_MODULE_5__/* .useIsTouchDevice */ .YQ)();
5304
- const { columnWidth , componentsSpacing , isBoardFullWidth , showColumn , showCompactControls , showFloatingSolveButton } = (0,hooks__WEBPACK_IMPORTED_MODULE_5__/* .useAppLayout */ .Ft)();
5305
- const config = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectConfig */ .$o);
5306
- const error = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectSolveError */ .Rn);
5307
- const isOutdated = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectAreResultsOutdated */ .Mj);
5308
- const resultCandidate = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectResultCandidate */ .Xk);
5309
- const results = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectResults */ .x5);
5310
- const [bottomContainerRef, { height: bottomContainerHeight }] = (0,react_use__WEBPACK_IMPORTED_MODULE_4__.useMeasure)();
5311
- const maxBoardWidth = width - columnWidth - (showColumn ? componentsSpacing : 0) - 2 * componentsSpacing;
5312
- const maxBoardHeight = isBoardFullWidth ? Number.POSITIVE_INFINITY : Math.max(height - bottomContainerHeight, 0);
5129
+ const translate = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTranslate */ .qM)();
5130
+ const isTouchDevice = (0,hooks__WEBPACK_IMPORTED_MODULE_4__/* .useIsTouchDevice */ .YQ)();
5131
+ const { cellSize , maxControlsWidth , showCompactControls , showFloatingSolveButton , tileSize } = (0,hooks__WEBPACK_IMPORTED_MODULE_4__/* .useAppLayout */ .Ft)();
5132
+ const error = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectSolveError */ .Rn);
5133
+ const isOutdated = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectAreResultsOutdated */ .Mj);
5134
+ const resultCandidate = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectResultCandidate */ .Xk);
5135
+ const results = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectResults */ .x5);
5313
5136
  const [bestResult] = results || [];
5314
- const cellWidth = (maxBoardWidth - (config.boardWidth + 1) * parameters__WEBPACK_IMPORTED_MODULE_6__/* .BORDER_WIDTH */ .YF) / config.boardWidth;
5315
- const cellHeight = (maxBoardHeight - (config.boardHeight + 1) * parameters__WEBPACK_IMPORTED_MODULE_6__/* .BORDER_WIDTH */ .YF) / config.boardHeight;
5316
- const cellSize = Math.min(cellWidth, cellHeight);
5317
- const cellSizeSafe = Math.min(Math.max(cellSize, parameters__WEBPACK_IMPORTED_MODULE_6__/* .BOARD_TILE_SIZE_MIN */ .oj), parameters__WEBPACK_IMPORTED_MODULE_6__/* .BOARD_TILE_SIZE_MAX */ .Kw);
5318
- const tileSize = Math.min((maxBoardWidth - 2 * parameters__WEBPACK_IMPORTED_MODULE_6__/* .BORDER_WIDTH */ .YF) / config.maximumCharactersCount, parameters__WEBPACK_IMPORTED_MODULE_6__/* .RACK_TILE_SIZE_MAX */ .$M);
5319
- const maxControlsWidth = tileSize * config.maximumCharactersCount + 2 * parameters__WEBPACK_IMPORTED_MODULE_6__/* .BORDER_WIDTH */ .YF;
5320
5137
  const touchCallbacks = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>({
5321
5138
  onClick: (result)=>{
5322
5139
  const isSelected = result === resultCandidate;
5323
5140
  if (isSelected) {
5324
- dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .resultsSlice.actions.applyResult */ ._C.actions.applyResult(result));
5141
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .resultsSlice.actions.applyResult */ ._C.actions.applyResult(result));
5325
5142
  } else {
5326
- dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(result));
5143
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(result));
5327
5144
  }
5328
5145
  }
5329
5146
  }), [
@@ -5332,19 +5149,19 @@ const Solver = ({ className , height , width , onShowResults })=>{
5332
5149
  ]);
5333
5150
  const mouseCallbacks = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>({
5334
5151
  onBlur: ()=>{
5335
- dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(null));
5152
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(null));
5336
5153
  },
5337
5154
  onClick: (result)=>{
5338
- dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .resultsSlice.actions.applyResult */ ._C.actions.applyResult(result));
5155
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .resultsSlice.actions.applyResult */ ._C.actions.applyResult(result));
5339
5156
  },
5340
5157
  onFocus: (result)=>{
5341
- dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(result));
5158
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(result));
5342
5159
  },
5343
5160
  onMouseEnter: (result)=>{
5344
- dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(result));
5161
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(result));
5345
5162
  },
5346
5163
  onMouseLeave: ()=>{
5347
- dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(null));
5164
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(null));
5348
5165
  }
5349
5166
  }), [
5350
5167
  dispatch
@@ -5352,11 +5169,11 @@ const Solver = ({ className , height , width , onShowResults })=>{
5352
5169
  const callbacks = isTouchDevice ? touchCallbacks : mouseCallbacks;
5353
5170
  const handleSubmit = (event)=>{
5354
5171
  event.preventDefault();
5355
- dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .solveSlice.actions.submit */ .TP.actions.submit());
5172
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .solveSlice.actions.submit */ .TP.actions.submit());
5356
5173
  };
5357
5174
  (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{
5358
5175
  if (showCompactControls && bestResult && !isOutdated) {
5359
- dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(bestResult));
5176
+ dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .resultsSlice.actions.changeResultCandidate */ ._C.actions.changeResultCandidate(bestResult));
5360
5177
  }
5361
5178
  }, [
5362
5179
  bestResult,
@@ -5365,43 +5182,43 @@ const Solver = ({ className , height , width , onShowResults })=>{
5365
5182
  isOutdated
5366
5183
  ]);
5367
5184
  return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
5368
- className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().solver), className),
5185
+ className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().solver), className),
5369
5186
  children: [
5370
5187
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
5371
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().container),
5188
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().container),
5372
5189
  children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
5373
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().content),
5190
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().content),
5374
5191
  children: [
5375
5192
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("form", {
5376
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().boardContainer),
5193
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().boardContainer),
5377
5194
  onSubmit: handleSubmit,
5378
5195
  children: [
5379
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Board__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
5380
- cellSize: cellSizeSafe,
5381
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().board)
5196
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Board__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
5197
+ cellSize: cellSize,
5198
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().board)
5382
5199
  }),
5383
5200
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("input", {
5384
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().submitInput),
5201
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().submitInput),
5385
5202
  tabIndex: -1,
5386
5203
  type: "submit"
5387
5204
  })
5388
5205
  ]
5389
5206
  }),
5390
5207
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
5391
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().column),
5208
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().column),
5392
5209
  children: [
5393
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Results__WEBPACK_IMPORTED_MODULE_13__/* ["default"] */ .Z, {
5210
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Results__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
5394
5211
  callbacks: callbacks,
5395
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().results)
5212
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().results)
5396
5213
  }),
5397
5214
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
5398
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().dictionaryContainer),
5215
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().dictionaryContainer),
5399
5216
  children: [
5400
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Dictionary__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
5401
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().dictionary)
5217
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Dictionary__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
5218
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().dictionary)
5402
5219
  }),
5403
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_DictionaryInput__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z, {
5404
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().dictionaryInput)
5220
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_DictionaryInput__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {
5221
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().dictionaryInput)
5405
5222
  })
5406
5223
  ]
5407
5224
  })
@@ -5411,41 +5228,40 @@ const Solver = ({ className , height , width , onShowResults })=>{
5411
5228
  })
5412
5229
  }),
5413
5230
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
5414
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().bottomContainer),
5415
- ref: bottomContainerRef,
5231
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().bottomContainer),
5416
5232
  children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
5417
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().bottomContent),
5233
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().bottomContent),
5418
5234
  children: [
5419
5235
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("form", {
5420
5236
  onSubmit: handleSubmit,
5421
5237
  children: [
5422
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Rack__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {
5423
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().rack),
5238
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Rack__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
5239
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().rack),
5424
5240
  tileSize: tileSize
5425
5241
  }),
5426
5242
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("input", {
5427
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().submitInput),
5243
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().submitInput),
5428
5244
  tabIndex: -1,
5429
5245
  type: "submit"
5430
5246
  })
5431
5247
  ]
5432
5248
  }),
5433
5249
  showCompactControls && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
5434
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().controls),
5250
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().controls),
5435
5251
  style: {
5436
5252
  maxWidth: maxControlsWidth
5437
5253
  },
5438
5254
  children: [
5439
- /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components__WEBPACK_IMPORTED_MODULE_14__/* .ResultCandidatePicker */ .WI, {
5255
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components__WEBPACK_IMPORTED_MODULE_12__/* .ResultCandidatePicker */ .WI, {
5440
5256
  onResultClick: onShowResults
5441
5257
  }),
5442
- error && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Alert__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
5443
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().emptyState),
5258
+ error && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Alert__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
5259
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().emptyState),
5444
5260
  variant: "error",
5445
5261
  children: error.message
5446
5262
  }),
5447
- results && results.length === 0 && !isOutdated && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Alert__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
5448
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().emptyState),
5263
+ results && results.length === 0 && !isOutdated && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Alert__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
5264
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().emptyState),
5449
5265
  variant: "warning",
5450
5266
  children: translate("results.empty-state.no-results")
5451
5267
  })
@@ -5454,14 +5270,14 @@ const Solver = ({ className , height , width , onShowResults })=>{
5454
5270
  ]
5455
5271
  })
5456
5272
  }),
5457
- showFloatingSolveButton && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components__WEBPACK_IMPORTED_MODULE_14__/* .FloatingSolveButton */ .DY, {
5458
- className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_15___default().solve),
5273
+ showFloatingSolveButton && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components__WEBPACK_IMPORTED_MODULE_12__/* .FloatingSolveButton */ .DY, {
5274
+ className: (_Solver_module_scss__WEBPACK_IMPORTED_MODULE_13___default().solve),
5459
5275
  onClick: handleSubmit
5460
5276
  })
5461
5277
  ]
5462
5278
  });
5463
5279
  };
5464
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Solver);
5280
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_2__.memo)(Solver));
5465
5281
 
5466
5282
  __webpack_async_result__();
5467
5283
  } catch(e) { __webpack_async_result__(e); } });
@@ -5483,7 +5299,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
5483
5299
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6022);
5484
5300
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
5485
5301
  /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58966);
5486
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10129);
5302
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65175);
5487
5303
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
5488
5304
  /* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83900);
5489
5305
  /* harmony import */ var _Spinner__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(33538);
@@ -5874,44 +5690,6 @@ _Spinner__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (
5874
5690
  __webpack_async_result__();
5875
5691
  } catch(e) { __webpack_async_result__(e); } });
5876
5692
 
5877
- /***/ }),
5878
-
5879
- /***/ 8984:
5880
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5881
-
5882
- "use strict";
5883
-
5884
- // EXPORTS
5885
- __webpack_require__.d(__webpack_exports__, {
5886
- "Z": () => (/* reexport */ SplashScreen_SplashScreen)
5887
- });
5888
-
5889
- // EXTERNAL MODULE: external "react/jsx-runtime"
5890
- var jsx_runtime_ = __webpack_require__(20997);
5891
- // EXTERNAL MODULE: external "classnames"
5892
- var external_classnames_ = __webpack_require__(59003);
5893
- var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
5894
- // EXTERNAL MODULE: ./src/components/SplashScreen/SplashScreen.module.scss
5895
- var SplashScreen_module = __webpack_require__(37675);
5896
- var SplashScreen_module_default = /*#__PURE__*/__webpack_require__.n(SplashScreen_module);
5897
- ;// CONCATENATED MODULE: ./src/components/SplashScreen/SplashScreen.tsx
5898
-
5899
-
5900
-
5901
- const SplashScreen = ({ children , className , contentClassName , onAnimationEnd })=>/*#__PURE__*/ jsx_runtime_.jsx("div", {
5902
- className: external_classnames_default()((SplashScreen_module_default()).splashScreen, className),
5903
- onAnimationEnd: onAnimationEnd,
5904
- children: /*#__PURE__*/ jsx_runtime_.jsx("div", {
5905
- className: external_classnames_default()((SplashScreen_module_default()).content, contentClassName),
5906
- children: children
5907
- })
5908
- });
5909
- /* harmony default export */ const SplashScreen_SplashScreen = (SplashScreen);
5910
-
5911
- ;// CONCATENATED MODULE: ./src/components/SplashScreen/index.ts
5912
-
5913
-
5914
-
5915
5693
  /***/ }),
5916
5694
 
5917
5695
  /***/ 73289:
@@ -6013,7 +5791,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
6013
5791
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16689);
6014
5792
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
6015
5793
  /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75704);
6016
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10129);
5794
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65175);
6017
5795
  /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(64534);
6018
5796
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83067);
6019
5797
  /* harmony import */ var _TilePure__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(83147);
@@ -6053,10 +5831,12 @@ const Tile = ({ "aria-label": ariaLabel , autoFocus , className , character =""
6053
5831
  const isEmpty = !character || character === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_2__.EMPTY_CELL;
6054
5832
  const canShowPoints = showTilePoints && (!isEmpty || isBlank) && typeof points !== "undefined";
6055
5833
  const pointsFormatted = typeof points === "number" ? points.toLocaleString(locale) : "";
6056
- const handleKeyDown = (event)=>{
5834
+ const handleKeyDown = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((event)=>{
6057
5835
  ref.current?.select();
6058
5836
  onKeyDown(event);
6059
- };
5837
+ }, [
5838
+ onKeyDown
5839
+ ]);
6060
5840
  (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(()=>{
6061
5841
  if (autoFocus && ref.current) {
6062
5842
  ref.current.focus();
@@ -6228,7 +6008,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
6228
6008
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16689);
6229
6009
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
6230
6010
  /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75704);
6231
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10129);
6011
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65175);
6232
6012
  /* harmony import */ var _Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(53229);
6233
6013
  /* harmony import */ var _Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_6__);
6234
6014
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_floating_ui_react__WEBPACK_IMPORTED_MODULE_1__, hooks__WEBPACK_IMPORTED_MODULE_4__]);
@@ -6352,21 +6132,20 @@ __webpack_async_result__();
6352
6132
  __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
6353
6133
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6354
6134
  /* harmony export */ "Ct": () => (/* reexport safe */ _Badge__WEBPACK_IMPORTED_MODULE_1__.Z),
6355
- /* harmony export */ "Ex": () => (/* reexport safe */ _Progress__WEBPACK_IMPORTED_MODULE_17__.Z),
6356
- /* harmony export */ "ME": () => (/* reexport safe */ _Solver__WEBPACK_IMPORTED_MODULE_24__.Z),
6357
- /* harmony export */ "QR": () => (/* reexport safe */ _SeoMessage__WEBPACK_IMPORTED_MODULE_22__.Z),
6135
+ /* harmony export */ "Ex": () => (/* reexport safe */ _Progress__WEBPACK_IMPORTED_MODULE_16__.Z),
6136
+ /* harmony export */ "ME": () => (/* reexport safe */ _Solver__WEBPACK_IMPORTED_MODULE_22__.Z),
6137
+ /* harmony export */ "QR": () => (/* reexport safe */ _SeoMessage__WEBPACK_IMPORTED_MODULE_21__.Z),
6358
6138
  /* harmony export */ "TR": () => (/* reexport safe */ _Logo__WEBPACK_IMPORTED_MODULE_11__.Z),
6359
- /* harmony export */ "TX": () => (/* reexport safe */ _NotFound__WEBPACK_IMPORTED_MODULE_15__.Z),
6139
+ /* harmony export */ "TX": () => (/* reexport safe */ _NotFound__WEBPACK_IMPORTED_MODULE_14__.Z),
6360
6140
  /* harmony export */ "Xy": () => (/* reexport safe */ _Dictionary__WEBPACK_IMPORTED_MODULE_5__.Z),
6361
- /* harmony export */ "Y8": () => (/* reexport safe */ _Radio__WEBPACK_IMPORTED_MODULE_19__.Z),
6141
+ /* harmony export */ "Y8": () => (/* reexport safe */ _Radio__WEBPACK_IMPORTED_MODULE_18__.Z),
6362
6142
  /* harmony export */ "Z$": () => (/* reexport safe */ _DictionaryInput__WEBPACK_IMPORTED_MODULE_6__.Z),
6363
- /* harmony export */ "_m": () => (/* reexport safe */ _NavButtons__WEBPACK_IMPORTED_MODULE_14__.Z),
6364
- /* harmony export */ "hL": () => (/* reexport safe */ _LogoSplashScreen__WEBPACK_IMPORTED_MODULE_12__.Z),
6365
- /* harmony export */ "n9": () => (/* reexport safe */ _Tile__WEBPACK_IMPORTED_MODULE_29__.Z),
6143
+ /* harmony export */ "_m": () => (/* reexport safe */ _NavButtons__WEBPACK_IMPORTED_MODULE_13__.Z),
6144
+ /* harmony export */ "n9": () => (/* reexport safe */ _Tile__WEBPACK_IMPORTED_MODULE_26__.Z),
6366
6145
  /* harmony export */ "sr": () => (/* reexport safe */ _Key__WEBPACK_IMPORTED_MODULE_9__.Z),
6367
- /* harmony export */ "u9": () => (/* reexport safe */ _Results__WEBPACK_IMPORTED_MODULE_20__.Z),
6368
- /* harmony export */ "u_": () => (/* reexport safe */ _Modal__WEBPACK_IMPORTED_MODULE_13__.Z),
6369
- /* harmony export */ "uz": () => (/* reexport safe */ _SvgFontFix__WEBPACK_IMPORTED_MODULE_28__.Z),
6146
+ /* harmony export */ "u9": () => (/* reexport safe */ _Results__WEBPACK_IMPORTED_MODULE_19__.Z),
6147
+ /* harmony export */ "u_": () => (/* reexport safe */ _Modal__WEBPACK_IMPORTED_MODULE_12__.Z),
6148
+ /* harmony export */ "uz": () => (/* reexport safe */ _SvgFontFix__WEBPACK_IMPORTED_MODULE_25__.Z),
6370
6149
  /* harmony export */ "zx": () => (/* reexport safe */ _Button__WEBPACK_IMPORTED_MODULE_3__.Z)
6371
6150
  /* harmony export */ });
6372
6151
  /* harmony import */ var _Alert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15982);
@@ -6380,31 +6159,25 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
6380
6159
  /* harmony import */ var _IconButton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(95975);
6381
6160
  /* harmony import */ var _Key__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(34535);
6382
6161
  /* harmony import */ var _Loading__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(13842);
6383
- /* harmony import */ var _Logo__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8023);
6384
- /* harmony import */ var _LogoSplashScreen__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(6436);
6385
- /* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(59187);
6386
- /* harmony import */ var _NavButtons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(90374);
6387
- /* harmony import */ var _NotFound__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(24442);
6388
- /* harmony import */ var _PlainTiles__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(65925);
6389
- /* harmony import */ var _Progress__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(29348);
6390
- /* harmony import */ var _Rack__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(95937);
6391
- /* harmony import */ var _Radio__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(71739);
6392
- /* harmony import */ var _Results__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(96813);
6393
- /* harmony import */ var _ResultsInput__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(74790);
6394
- /* harmony import */ var _SeoMessage__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(84203);
6395
- /* harmony import */ var _Sizer__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(2537);
6396
- /* harmony import */ var _Solver__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(65437);
6397
- /* harmony import */ var _Spinner__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(33538);
6398
- /* harmony import */ var _SplashScreen__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(8984);
6399
- /* harmony import */ var _SvgFontCss__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(73289);
6400
- /* harmony import */ var _SvgFontFix__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(33956);
6401
- /* harmony import */ var _Tile__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(96815);
6402
- /* harmony import */ var _Tooltip__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(59004);
6403
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Board__WEBPACK_IMPORTED_MODULE_2__, _Button__WEBPACK_IMPORTED_MODULE_3__, _Dictionary__WEBPACK_IMPORTED_MODULE_5__, _DictionaryInput__WEBPACK_IMPORTED_MODULE_6__, _EmptyState__WEBPACK_IMPORTED_MODULE_7__, _IconButton__WEBPACK_IMPORTED_MODULE_8__, _Loading__WEBPACK_IMPORTED_MODULE_10__, _Modal__WEBPACK_IMPORTED_MODULE_13__, _NavButtons__WEBPACK_IMPORTED_MODULE_14__, _NotFound__WEBPACK_IMPORTED_MODULE_15__, _PlainTiles__WEBPACK_IMPORTED_MODULE_16__, _Progress__WEBPACK_IMPORTED_MODULE_17__, _Rack__WEBPACK_IMPORTED_MODULE_18__, _Results__WEBPACK_IMPORTED_MODULE_20__, _ResultsInput__WEBPACK_IMPORTED_MODULE_21__, _Solver__WEBPACK_IMPORTED_MODULE_24__, _Spinner__WEBPACK_IMPORTED_MODULE_25__, _Tile__WEBPACK_IMPORTED_MODULE_29__, _Tooltip__WEBPACK_IMPORTED_MODULE_30__]);
6404
- ([_Board__WEBPACK_IMPORTED_MODULE_2__, _Button__WEBPACK_IMPORTED_MODULE_3__, _Dictionary__WEBPACK_IMPORTED_MODULE_5__, _DictionaryInput__WEBPACK_IMPORTED_MODULE_6__, _EmptyState__WEBPACK_IMPORTED_MODULE_7__, _IconButton__WEBPACK_IMPORTED_MODULE_8__, _Loading__WEBPACK_IMPORTED_MODULE_10__, _Modal__WEBPACK_IMPORTED_MODULE_13__, _NavButtons__WEBPACK_IMPORTED_MODULE_14__, _NotFound__WEBPACK_IMPORTED_MODULE_15__, _PlainTiles__WEBPACK_IMPORTED_MODULE_16__, _Progress__WEBPACK_IMPORTED_MODULE_17__, _Rack__WEBPACK_IMPORTED_MODULE_18__, _Results__WEBPACK_IMPORTED_MODULE_20__, _ResultsInput__WEBPACK_IMPORTED_MODULE_21__, _Solver__WEBPACK_IMPORTED_MODULE_24__, _Spinner__WEBPACK_IMPORTED_MODULE_25__, _Tile__WEBPACK_IMPORTED_MODULE_29__, _Tooltip__WEBPACK_IMPORTED_MODULE_30__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
6405
-
6406
-
6407
-
6162
+ /* harmony import */ var _Logo__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(18801);
6163
+ /* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(59187);
6164
+ /* harmony import */ var _NavButtons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(90374);
6165
+ /* harmony import */ var _NotFound__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(24442);
6166
+ /* harmony import */ var _PlainTiles__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(65925);
6167
+ /* harmony import */ var _Progress__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(29348);
6168
+ /* harmony import */ var _Rack__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(95937);
6169
+ /* harmony import */ var _Radio__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(71739);
6170
+ /* harmony import */ var _Results__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(96813);
6171
+ /* harmony import */ var _ResultsInput__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(74790);
6172
+ /* harmony import */ var _SeoMessage__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(84203);
6173
+ /* harmony import */ var _Solver__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(65437);
6174
+ /* harmony import */ var _Spinner__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(33538);
6175
+ /* harmony import */ var _SvgFontCss__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(73289);
6176
+ /* harmony import */ var _SvgFontFix__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(33956);
6177
+ /* harmony import */ var _Tile__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(96815);
6178
+ /* harmony import */ var _Tooltip__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(59004);
6179
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_Board__WEBPACK_IMPORTED_MODULE_2__, _Button__WEBPACK_IMPORTED_MODULE_3__, _Dictionary__WEBPACK_IMPORTED_MODULE_5__, _DictionaryInput__WEBPACK_IMPORTED_MODULE_6__, _EmptyState__WEBPACK_IMPORTED_MODULE_7__, _IconButton__WEBPACK_IMPORTED_MODULE_8__, _Loading__WEBPACK_IMPORTED_MODULE_10__, _Logo__WEBPACK_IMPORTED_MODULE_11__, _Modal__WEBPACK_IMPORTED_MODULE_12__, _NavButtons__WEBPACK_IMPORTED_MODULE_13__, _NotFound__WEBPACK_IMPORTED_MODULE_14__, _PlainTiles__WEBPACK_IMPORTED_MODULE_15__, _Progress__WEBPACK_IMPORTED_MODULE_16__, _Rack__WEBPACK_IMPORTED_MODULE_17__, _Results__WEBPACK_IMPORTED_MODULE_19__, _ResultsInput__WEBPACK_IMPORTED_MODULE_20__, _Solver__WEBPACK_IMPORTED_MODULE_22__, _Spinner__WEBPACK_IMPORTED_MODULE_23__, _Tile__WEBPACK_IMPORTED_MODULE_26__, _Tooltip__WEBPACK_IMPORTED_MODULE_27__]);
6180
+ ([_Board__WEBPACK_IMPORTED_MODULE_2__, _Button__WEBPACK_IMPORTED_MODULE_3__, _Dictionary__WEBPACK_IMPORTED_MODULE_5__, _DictionaryInput__WEBPACK_IMPORTED_MODULE_6__, _EmptyState__WEBPACK_IMPORTED_MODULE_7__, _IconButton__WEBPACK_IMPORTED_MODULE_8__, _Loading__WEBPACK_IMPORTED_MODULE_10__, _Logo__WEBPACK_IMPORTED_MODULE_11__, _Modal__WEBPACK_IMPORTED_MODULE_12__, _NavButtons__WEBPACK_IMPORTED_MODULE_13__, _NotFound__WEBPACK_IMPORTED_MODULE_14__, _PlainTiles__WEBPACK_IMPORTED_MODULE_15__, _Progress__WEBPACK_IMPORTED_MODULE_16__, _Rack__WEBPACK_IMPORTED_MODULE_17__, _Results__WEBPACK_IMPORTED_MODULE_19__, _ResultsInput__WEBPACK_IMPORTED_MODULE_20__, _Solver__WEBPACK_IMPORTED_MODULE_22__, _Spinner__WEBPACK_IMPORTED_MODULE_23__, _Tile__WEBPACK_IMPORTED_MODULE_26__, _Tooltip__WEBPACK_IMPORTED_MODULE_27__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
6408
6181
 
6409
6182
 
6410
6183
 
@@ -6446,22 +6219,36 @@ __webpack_async_result__();
6446
6219
  __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
6447
6220
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6448
6221
  /* harmony export */ "Ft": () => (/* reexport safe */ _useAppLayout__WEBPACK_IMPORTED_MODULE_0__.Z),
6449
- /* harmony export */ "YQ": () => (/* reexport safe */ _useIsTouchDevice__WEBPACK_IMPORTED_MODULE_2__.Z),
6450
- /* harmony export */ "ZK": () => (/* reexport safe */ _useLanguage__WEBPACK_IMPORTED_MODULE_3__.Z),
6451
- /* harmony export */ "_": () => (/* reexport safe */ _useLocalStorage__WEBPACK_IMPORTED_MODULE_4__.Z),
6452
- /* harmony export */ "ac": () => (/* reexport safe */ _useMediaQuery__WEBPACK_IMPORTED_MODULE_5__.Z),
6222
+ /* harmony export */ "YQ": () => (/* reexport safe */ _useIsTouchDevice__WEBPACK_IMPORTED_MODULE_3__.Z),
6223
+ /* harmony export */ "ZK": () => (/* reexport safe */ _useLanguage__WEBPACK_IMPORTED_MODULE_4__.Z),
6224
+ /* harmony export */ "_": () => (/* reexport safe */ _useLocalStorage__WEBPACK_IMPORTED_MODULE_6__.Z),
6225
+ /* harmony export */ "dU": () => (/* reexport safe */ _useLatest__WEBPACK_IMPORTED_MODULE_5__.Z),
6453
6226
  /* harmony export */ "gm": () => (/* reexport safe */ _useDirection__WEBPACK_IMPORTED_MODULE_1__.Z),
6454
- /* harmony export */ "vI": () => (/* reexport safe */ _usePortal__WEBPACK_IMPORTED_MODULE_6__.Z)
6227
+ /* harmony export */ "lS": () => (/* reexport safe */ _useMediaQueries__WEBPACK_IMPORTED_MODULE_8__.Z),
6228
+ /* harmony export */ "qR": () => (/* reexport safe */ _useEffectOnce__WEBPACK_IMPORTED_MODULE_2__.Z),
6229
+ /* harmony export */ "vI": () => (/* reexport safe */ _usePortal__WEBPACK_IMPORTED_MODULE_11__.Z)
6455
6230
  /* harmony export */ });
6456
6231
  /* harmony import */ var _useAppLayout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(95682);
6457
6232
  /* harmony import */ var _useDirection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43385);
6458
- /* harmony import */ var _useIsTouchDevice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41374);
6459
- /* harmony import */ var _useLanguage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(86969);
6460
- /* harmony import */ var _useLocalStorage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(46465);
6461
- /* harmony import */ var _useMediaQuery__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(78909);
6462
- /* harmony import */ var _usePortal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4371);
6463
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_useLocalStorage__WEBPACK_IMPORTED_MODULE_4__]);
6464
- _useLocalStorage__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
6233
+ /* harmony import */ var _useEffectOnce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13041);
6234
+ /* harmony import */ var _useIsTouchDevice__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41374);
6235
+ /* harmony import */ var _useLanguage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(86969);
6236
+ /* harmony import */ var _useLatest__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(71814);
6237
+ /* harmony import */ var _useLocalStorage__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(19272);
6238
+ /* harmony import */ var _useMedia__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(40234);
6239
+ /* harmony import */ var _useMediaQueries__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(37205);
6240
+ /* harmony import */ var _useMediaQuery__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(78909);
6241
+ /* harmony import */ var _useOnWindowResize__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(14884);
6242
+ /* harmony import */ var _usePortal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(4371);
6243
+ /* harmony import */ var _useViewportSize__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(21995);
6244
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_useAppLayout__WEBPACK_IMPORTED_MODULE_0__, _useLocalStorage__WEBPACK_IMPORTED_MODULE_6__]);
6245
+ ([_useAppLayout__WEBPACK_IMPORTED_MODULE_0__, _useLocalStorage__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
6246
+
6247
+
6248
+
6249
+
6250
+
6251
+
6465
6252
 
6466
6253
 
6467
6254
 
@@ -6476,43 +6263,77 @@ __webpack_async_result__();
6476
6263
  /***/ }),
6477
6264
 
6478
6265
  /***/ 95682:
6479
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6266
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
6480
6267
 
6481
6268
  "use strict";
6269
+ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
6482
6270
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6483
6271
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
6484
6272
  /* harmony export */ });
6485
6273
  /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64534);
6486
- /* harmony import */ var _useIsTouchDevice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41374);
6487
- /* harmony import */ var _useMediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78909);
6274
+ /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83067);
6275
+ /* harmony import */ var _useIsTouchDevice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41374);
6276
+ /* harmony import */ var _useMediaQueries__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(37205);
6277
+ /* harmony import */ var _useViewportSize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21995);
6278
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_1__]);
6279
+ state__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
6280
+ /* eslint-disable max-statements */
6281
+
6488
6282
 
6489
6283
 
6490
6284
 
6491
6285
  const useAppLayout = ()=>{
6492
- const isTouchDevice = (0,_useIsTouchDevice__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)();
6493
- const isLessThanXs = (0,_useMediaQuery__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)("<xs");
6494
- const isLessThanS = (0,_useMediaQuery__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)("<s");
6495
- const isLessThanM = (0,_useMediaQuery__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)("<m");
6496
- const isLessThanL = (0,_useMediaQuery__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)("<l");
6497
- const isLessThanXl = (0,_useMediaQuery__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)("<xl");
6286
+ const { viewportHeight , viewportWidth } = (0,_useViewportSize__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)();
6287
+ const config = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectConfig */ .$o);
6288
+ const isTouchDevice = (0,_useIsTouchDevice__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)();
6289
+ const { isLessThanXs , isLessThanS , isLessThanM , isLessThanL , isLessThanXl } = (0,_useMediaQueries__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)();
6290
+ const isBoardFullWidth = isLessThanM;
6291
+ const showResultCandidatePicker = isLessThanL;
6292
+ const componentsSpacing = isLessThanXl ? parameters__WEBPACK_IMPORTED_MODULE_0__/* .COMPONENTS_SPACING_SMALL */ .op : parameters__WEBPACK_IMPORTED_MODULE_0__/* .COMPONENTS_SPACING */ .tr;
6498
6293
  const showColumn = !isLessThanL;
6294
+ const columnWidth = showColumn ? parameters__WEBPACK_IMPORTED_MODULE_0__/* .SOLVER_COLUMN_WIDTH */ .pt : 0;
6295
+ const logoHeight = isLessThanL ? parameters__WEBPACK_IMPORTED_MODULE_0__/* .LOGO_HEIGHT_SMALL */ .t : parameters__WEBPACK_IMPORTED_MODULE_0__/* .LOGO_HEIGHT */ .y7;
6296
+ const navHeight = 2 * parameters__WEBPACK_IMPORTED_MODULE_0__/* .NAV_PADDING */ .t$ + logoHeight;
6297
+ const solverHeight = viewportHeight - navHeight;
6298
+ const solverWidth = viewportWidth;
6299
+ const maxBoardWidth = solverWidth - columnWidth - (showColumn ? componentsSpacing : 0) - 2 * componentsSpacing;
6300
+ const tileSize = Math.min((maxBoardWidth - 2 * parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF) / config.maximumCharactersCount, parameters__WEBPACK_IMPORTED_MODULE_0__/* .RACK_TILE_SIZE_MAX */ .$M);
6301
+ const candidatePickerHeight = showResultCandidatePicker ? parameters__WEBPACK_IMPORTED_MODULE_0__/* .BUTTON_HEIGHT */ .FZ + componentsSpacing : 0;
6302
+ const bottomContainerHeight = candidatePickerHeight + tileSize + 2 * componentsSpacing;
6303
+ const maxBoardHeight = isBoardFullWidth ? Number.POSITIVE_INFINITY : Math.max(solverHeight - bottomContainerHeight, 0);
6304
+ const cellWidth = (maxBoardWidth - (config.boardWidth + 1) * parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF) / config.boardWidth;
6305
+ const cellHeight = (maxBoardHeight - (config.boardHeight + 1) * parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF) / config.boardHeight;
6306
+ const cellSize = Math.min(Math.max(Math.min(cellWidth, cellHeight), parameters__WEBPACK_IMPORTED_MODULE_0__/* .BOARD_TILE_SIZE_MIN */ .oj), parameters__WEBPACK_IMPORTED_MODULE_0__/* .BOARD_TILE_SIZE_MAX */ .Kw);
6307
+ const boardSize = (cellSize + parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF) * config.boardWidth + parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF;
6308
+ const maxControlsWidth = tileSize * config.maximumCharactersCount + 2 * parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF;
6309
+ const showResultsInModal = isLessThanL;
6310
+ const dictionaryHeight = showResultsInModal ? parameters__WEBPACK_IMPORTED_MODULE_0__/* .DICTIONARY_HEIGHT_MOBILE */ .Rh : parameters__WEBPACK_IMPORTED_MODULE_0__/* .DICTIONARY_HEIGHT */ .n6;
6311
+ const modalWidth = isLessThanS ? viewportWidth : parameters__WEBPACK_IMPORTED_MODULE_0__/* .MODAL_WIDTH */ .iF;
6312
+ const resultsHeight = isLessThanL ? viewportHeight - dictionaryHeight - parameters__WEBPACK_IMPORTED_MODULE_0__/* .BUTTON_HEIGHT */ .FZ - parameters__WEBPACK_IMPORTED_MODULE_0__/* .MODAL_HEADER_HEIGHT */ .PV - 5 * componentsSpacing : boardSize - componentsSpacing - dictionaryHeight;
6499
6313
  return {
6314
+ actionsWidth: 2 * parameters__WEBPACK_IMPORTED_MODULE_0__/* .BUTTON_HEIGHT */ .FZ - parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF,
6500
6315
  animateTile: !isLessThanXs,
6501
- columnWidth: showColumn ? parameters__WEBPACK_IMPORTED_MODULE_0__/* .SOLVER_COLUMN_WIDTH */ .pt : 0,
6502
- componentsSpacing: isLessThanXl ? parameters__WEBPACK_IMPORTED_MODULE_0__/* .COMPONENTS_SPACING_SMALL */ .op : parameters__WEBPACK_IMPORTED_MODULE_0__/* .COMPONENTS_SPACING */ .tr,
6503
- isBoardFullWidth: isLessThanM,
6316
+ cellSize,
6317
+ dictionaryHeight,
6504
6318
  isModalFullWidth: isLessThanS,
6505
- showColumn,
6319
+ logoHeight,
6320
+ logoWidth: logoHeight * parameters__WEBPACK_IMPORTED_MODULE_0__/* .LOGO_ASPECT_RATIO */ .pc,
6321
+ maxControlsWidth,
6322
+ resultsHeight,
6323
+ resultsWidth: isLessThanL ? modalWidth - 2 * componentsSpacing : parameters__WEBPACK_IMPORTED_MODULE_0__/* .SOLVER_COLUMN_WIDTH */ .pt,
6506
6324
  showCompactControls: !showColumn,
6507
6325
  showFloatingSolveButton: isTouchDevice,
6508
6326
  showKeyMap: !isTouchDevice,
6509
- showResultsInModal: isLessThanL,
6327
+ showResultsInModal,
6510
6328
  showShortNav: isLessThanS,
6511
- showTilePoints: !isLessThanXs
6329
+ showTilePoints: !isLessThanXs,
6330
+ tileSize
6512
6331
  };
6513
6332
  };
6514
6333
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useAppLayout);
6515
6334
 
6335
+ __webpack_async_result__();
6336
+ } catch(e) { __webpack_async_result__(e); } });
6516
6337
 
6517
6338
  /***/ }),
6518
6339
 
@@ -6525,7 +6346,7 @@ const useAppLayout = ()=>{
6525
6346
  /* harmony export */ });
6526
6347
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6527
6348
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6528
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10129);
6349
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65175);
6529
6350
 
6530
6351
 
6531
6352
  const useDirection = (direction)=>{
@@ -6546,6 +6367,22 @@ const useDirection = (direction)=>{
6546
6367
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useDirection);
6547
6368
 
6548
6369
 
6370
+ /***/ }),
6371
+
6372
+ /***/ 13041:
6373
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6374
+
6375
+ "use strict";
6376
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6377
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
6378
+ /* harmony export */ });
6379
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6380
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6381
+
6382
+ const useEffectOnce = (effect)=>(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(effect, []);
6383
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useEffectOnce);
6384
+
6385
+
6549
6386
  /***/ }),
6550
6387
 
6551
6388
  /***/ 41374:
@@ -6555,11 +6392,10 @@ const useDirection = (direction)=>{
6555
6392
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6556
6393
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
6557
6394
  /* harmony export */ });
6558
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69755);
6559
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_0__);
6395
+ /* harmony import */ var _useMedia__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40234);
6560
6396
 
6561
6397
  const useIsTouchDevice = ()=>{
6562
- return (0,react_use__WEBPACK_IMPORTED_MODULE_0__.useMedia)("(hover: none)", false);
6398
+ return (0,_useMedia__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)("(hover: none)", false);
6563
6399
  };
6564
6400
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useIsTouchDevice);
6565
6401
 
@@ -6575,7 +6411,7 @@ const useIsTouchDevice = ()=>{
6575
6411
  /* harmony export */ });
6576
6412
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6577
6413
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6578
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10129);
6414
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65175);
6579
6415
 
6580
6416
 
6581
6417
  const useLanguage = (language)=>{
@@ -6598,56 +6434,27 @@ const useLanguage = (language)=>{
6598
6434
 
6599
6435
  /***/ }),
6600
6436
 
6601
- /***/ 46465:
6602
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
6603
-
6604
- "use strict";
6605
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
6606
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6607
- /* harmony export */ "Z": () => (/* reexport safe */ _useLocalStorage__WEBPACK_IMPORTED_MODULE_0__.Z)
6608
- /* harmony export */ });
6609
- /* harmony import */ var _useLocalStorage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(48181);
6610
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_useLocalStorage__WEBPACK_IMPORTED_MODULE_0__]);
6611
- _useLocalStorage__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
6612
-
6613
-
6614
- __webpack_async_result__();
6615
- } catch(e) { __webpack_async_result__(e); } });
6616
-
6617
- /***/ }),
6618
-
6619
- /***/ 48181:
6620
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
6437
+ /***/ 71814:
6438
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6621
6439
 
6622
6440
  "use strict";
6623
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
6624
6441
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6625
6442
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
6626
6443
  /* harmony export */ });
6627
- /* harmony import */ var _useLocalStorageBoard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96831);
6628
- /* harmony import */ var _useLocalStorageConfigId__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67637);
6629
- /* harmony import */ var _useLocalStorageLocale__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(60821);
6630
- /* harmony import */ var _useLocalStorageRack__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(31089);
6631
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_useLocalStorageBoard__WEBPACK_IMPORTED_MODULE_0__, _useLocalStorageConfigId__WEBPACK_IMPORTED_MODULE_1__, _useLocalStorageLocale__WEBPACK_IMPORTED_MODULE_2__, _useLocalStorageRack__WEBPACK_IMPORTED_MODULE_3__]);
6632
- ([_useLocalStorageBoard__WEBPACK_IMPORTED_MODULE_0__, _useLocalStorageConfigId__WEBPACK_IMPORTED_MODULE_1__, _useLocalStorageLocale__WEBPACK_IMPORTED_MODULE_2__, _useLocalStorageRack__WEBPACK_IMPORTED_MODULE_3__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
6633
-
6634
-
6635
-
6444
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6445
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6636
6446
 
6637
- const useLocalStorage = ()=>{
6638
- (0,_useLocalStorageRack__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z)(); // rack has to go first, see 14869a4
6639
- (0,_useLocalStorageBoard__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)();
6640
- (0,_useLocalStorageConfigId__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)();
6641
- (0,_useLocalStorageLocale__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)();
6447
+ const useLatest = (value)=>{
6448
+ const ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(value);
6449
+ ref.current = value;
6450
+ return ref;
6642
6451
  };
6643
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useLocalStorage);
6452
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useLatest);
6644
6453
 
6645
- __webpack_async_result__();
6646
- } catch(e) { __webpack_async_result__(e); } });
6647
6454
 
6648
6455
  /***/ }),
6649
6456
 
6650
- /***/ 96831:
6457
+ /***/ 19272:
6651
6458
  /***/ ((module, __webpack_exports__, __webpack_require__) => {
6652
6459
 
6653
6460
  "use strict";
@@ -6657,218 +6464,173 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
6657
6464
  /* harmony export */ });
6658
6465
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6659
6466
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6660
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6022);
6661
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
6662
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69755);
6663
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_2__);
6664
- /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83067);
6665
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_3__]);
6666
- state__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
6667
-
6668
-
6467
+ /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83067);
6468
+ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_1__]);
6469
+ state__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
6669
6470
 
6670
6471
 
6671
- const useLocalStorageBoard = ()=>{
6672
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
6673
- const board = (0,state__WEBPACK_IMPORTED_MODULE_3__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_3__/* .selectBoard */ .ZO);
6674
- const [isLoaded, setIsLoaded] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
6675
- (0,react_use__WEBPACK_IMPORTED_MODULE_2__.useEffectOnce)(()=>{
6676
- const persistedBoard = state__WEBPACK_IMPORTED_MODULE_3__/* .localStorage.getBoard */ .Xb.getBoard();
6677
- if (persistedBoard) {
6678
- dispatch(state__WEBPACK_IMPORTED_MODULE_3__/* .boardSlice.actions.init */ .I8.actions.init(persistedBoard));
6472
+ const useLocalStorage = ()=>{
6473
+ const autoGroupTiles = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectAutoGroupTiles */ .uz);
6474
+ const board = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectBoard */ .ZO);
6475
+ const configId = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectConfigId */ .md);
6476
+ const locale = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectLocale */ .fN);
6477
+ const rack = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectRack */ .QB);
6478
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
6479
+ if (autoGroupTiles) {
6480
+ state__WEBPACK_IMPORTED_MODULE_1__/* .localStorage.setAutoGroupTiles */ .Xb.setAutoGroupTiles(autoGroupTiles);
6679
6481
  }
6680
- setIsLoaded(true);
6681
- });
6482
+ }, [
6483
+ autoGroupTiles
6484
+ ]);
6485
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
6486
+ if (board) {
6487
+ state__WEBPACK_IMPORTED_MODULE_1__/* .localStorage.setBoard */ .Xb.setBoard(board);
6488
+ }
6489
+ }, [
6490
+ board
6491
+ ]);
6492
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
6493
+ if (configId) {
6494
+ state__WEBPACK_IMPORTED_MODULE_1__/* .localStorage.setConfigId */ .Xb.setConfigId(configId);
6495
+ }
6496
+ }, [
6497
+ configId
6498
+ ]);
6499
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
6500
+ if (locale) {
6501
+ state__WEBPACK_IMPORTED_MODULE_1__/* .localStorage.setLocale */ .Xb.setLocale(locale);
6502
+ }
6503
+ }, [
6504
+ locale
6505
+ ]);
6682
6506
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
6683
- if (board && isLoaded) {
6684
- state__WEBPACK_IMPORTED_MODULE_3__/* .localStorage.setBoard */ .Xb.setBoard(board);
6507
+ if (rack) {
6508
+ state__WEBPACK_IMPORTED_MODULE_1__/* .localStorage.setRack */ .Xb.setRack(rack);
6685
6509
  }
6686
6510
  }, [
6687
- board,
6688
- isLoaded
6511
+ rack
6689
6512
  ]);
6690
6513
  };
6691
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useLocalStorageBoard);
6514
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useLocalStorage);
6692
6515
 
6693
6516
  __webpack_async_result__();
6694
6517
  } catch(e) { __webpack_async_result__(e); } });
6695
6518
 
6696
6519
  /***/ }),
6697
6520
 
6698
- /***/ 67637:
6699
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
6521
+ /***/ 40234:
6522
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6700
6523
 
6701
6524
  "use strict";
6702
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
6703
6525
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6704
6526
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
6705
6527
  /* harmony export */ });
6706
6528
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6707
6529
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6708
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6022);
6709
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
6710
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69755);
6711
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_2__);
6712
- /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83067);
6713
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_3__]);
6714
- state__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
6715
-
6716
-
6717
-
6718
6530
 
6719
- const useLocalStorageConfigId = ()=>{
6720
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
6721
- const configId = (0,state__WEBPACK_IMPORTED_MODULE_3__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_3__/* .selectConfigId */ .md);
6722
- const [isLoaded, setIsLoaded] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
6723
- (0,react_use__WEBPACK_IMPORTED_MODULE_2__.useEffectOnce)(()=>{
6724
- const persistedConfigId = state__WEBPACK_IMPORTED_MODULE_3__/* .localStorage.getConfigId */ .Xb.getConfigId();
6725
- if (persistedConfigId) {
6726
- dispatch(state__WEBPACK_IMPORTED_MODULE_3__/* .settingsSlice.actions.init */ .xj.actions.init({
6727
- configId: persistedConfigId
6728
- }));
6729
- }
6730
- setIsLoaded(true);
6731
- });
6531
+ const getInitialState = (query, defaultState)=>{
6532
+ if (typeof defaultState !== "undefined") {
6533
+ return defaultState;
6534
+ }
6535
+ if (true) {
6536
+ return false;
6537
+ }
6538
+ return window.matchMedia(query).matches;
6539
+ };
6540
+ const useMedia = (query, defaultState)=>{
6541
+ const [state, setState] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(getInitialState(query, defaultState));
6732
6542
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
6733
- if (configId && isLoaded) {
6734
- state__WEBPACK_IMPORTED_MODULE_3__/* .localStorage.setConfigId */ .Xb.setConfigId(configId);
6735
- }
6543
+ const mediaQuery = window.matchMedia(query);
6544
+ const handleChange = ()=>{
6545
+ setState(mediaQuery.matches);
6546
+ };
6547
+ setState(mediaQuery.matches);
6548
+ mediaQuery.addEventListener("change", handleChange);
6549
+ return ()=>{
6550
+ mediaQuery.removeEventListener("change", handleChange);
6551
+ };
6736
6552
  }, [
6737
- configId,
6738
- isLoaded
6553
+ query
6739
6554
  ]);
6555
+ return state;
6740
6556
  };
6741
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useLocalStorageConfigId);
6557
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useMedia);
6742
6558
 
6743
- __webpack_async_result__();
6744
- } catch(e) { __webpack_async_result__(e); } });
6745
6559
 
6746
6560
  /***/ }),
6747
6561
 
6748
- /***/ 60821:
6749
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
6562
+ /***/ 37205:
6563
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6750
6564
 
6751
6565
  "use strict";
6752
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
6753
6566
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6754
6567
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
6755
6568
  /* harmony export */ });
6756
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6757
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6758
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6022);
6759
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
6760
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69755);
6761
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_2__);
6762
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10129);
6763
- /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83067);
6764
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_4__]);
6765
- state__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
6766
-
6767
-
6768
-
6769
-
6770
-
6771
- const useLocalStorageLocale = ()=>{
6772
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
6773
- const locale = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_4__/* .selectLocale */ .fN);
6774
- const [isLoaded, setIsLoaded] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
6775
- (0,react_use__WEBPACK_IMPORTED_MODULE_2__.useEffectOnce)(()=>{
6776
- const persistedLocale = state__WEBPACK_IMPORTED_MODULE_4__/* .localStorage.getLocale */ .Xb.getLocale();
6777
- if (persistedLocale) {
6778
- dispatch(state__WEBPACK_IMPORTED_MODULE_4__/* .settingsSlice.actions.init */ .xj.actions.init({
6779
- locale: persistedLocale
6780
- }));
6781
- } else {
6782
- dispatch(state__WEBPACK_IMPORTED_MODULE_4__/* .settingsSlice.actions.init */ .xj.actions.init({
6783
- locale: (0,lib__WEBPACK_IMPORTED_MODULE_3__/* .detectLocale */ .Nj)()
6784
- }));
6785
- }
6786
- setIsLoaded(true);
6787
- });
6788
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
6789
- if (locale && isLoaded) {
6790
- state__WEBPACK_IMPORTED_MODULE_4__/* .localStorage.setLocale */ .Xb.setLocale(locale);
6791
- }
6792
- }, [
6793
- locale,
6794
- isLoaded
6795
- ]);
6569
+ /* harmony import */ var _useMediaQuery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78909);
6570
+
6571
+ const useMediaQueries = ()=>{
6572
+ const isLessThanXs = (0,_useMediaQuery__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)("<xs");
6573
+ const isLessThanS = (0,_useMediaQuery__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)("<s");
6574
+ const isLessThanM = (0,_useMediaQuery__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)("<m");
6575
+ const isLessThanL = (0,_useMediaQuery__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)("<l");
6576
+ const isLessThanXl = (0,_useMediaQuery__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z)("<xl");
6577
+ return {
6578
+ isLessThanXs,
6579
+ isLessThanS,
6580
+ isLessThanM,
6581
+ isLessThanL,
6582
+ isLessThanXl
6583
+ };
6796
6584
  };
6797
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useLocalStorageLocale);
6585
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useMediaQueries);
6798
6586
 
6799
- __webpack_async_result__();
6800
- } catch(e) { __webpack_async_result__(e); } });
6801
6587
 
6802
6588
  /***/ }),
6803
6589
 
6804
- /***/ 31089:
6805
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
6590
+ /***/ 78909:
6591
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6806
6592
 
6807
6593
  "use strict";
6808
- __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
6809
6594
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6810
6595
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
6811
6596
  /* harmony export */ });
6812
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6813
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6814
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6022);
6815
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
6816
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69755);
6817
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_2__);
6818
- /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83067);
6819
- var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_3__]);
6820
- state__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
6821
-
6597
+ /* harmony import */ var include_media_query_builder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9744);
6598
+ /* harmony import */ var include_media_query_builder__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(include_media_query_builder__WEBPACK_IMPORTED_MODULE_0__);
6599
+ /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(64534);
6600
+ /* harmony import */ var _useMedia__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40234);
6822
6601
 
6823
6602
 
6824
6603
 
6825
- const useLocalStorageRack = ()=>{
6826
- const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useDispatch)();
6827
- const rack = (0,state__WEBPACK_IMPORTED_MODULE_3__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_3__/* .selectRack */ .QB);
6828
- const [isLoaded, setIsLoaded] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
6829
- (0,react_use__WEBPACK_IMPORTED_MODULE_2__.useEffectOnce)(()=>{
6830
- const persistedRack = state__WEBPACK_IMPORTED_MODULE_3__/* .localStorage.getRack */ .Xb.getRack();
6831
- if (persistedRack) {
6832
- dispatch(state__WEBPACK_IMPORTED_MODULE_3__/* .rackSlice.actions.init */ .O_.actions.init(persistedRack));
6833
- }
6834
- setIsLoaded(true);
6835
- });
6836
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
6837
- if (rack && isLoaded) {
6838
- state__WEBPACK_IMPORTED_MODULE_3__/* .localStorage.setRack */ .Xb.setRack(rack);
6839
- }
6840
- }, [
6841
- isLoaded,
6842
- rack
6843
- ]);
6604
+ const useMediaQuery = (query, defaultState)=>{
6605
+ const mediaQuery = (0,include_media_query_builder__WEBPACK_IMPORTED_MODULE_0__.buildMediaQuery)(parameters__WEBPACK_IMPORTED_MODULE_1__/* .BREAKPOINTS */ .j$, query);
6606
+ return (0,_useMedia__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(mediaQuery, defaultState);
6844
6607
  };
6845
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useLocalStorageRack);
6608
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useMediaQuery);
6846
6609
 
6847
- __webpack_async_result__();
6848
- } catch(e) { __webpack_async_result__(e); } });
6849
6610
 
6850
6611
  /***/ }),
6851
6612
 
6852
- /***/ 78909:
6613
+ /***/ 14884:
6853
6614
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6854
6615
 
6855
6616
  "use strict";
6856
6617
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6857
6618
  /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
6858
6619
  /* harmony export */ });
6859
- /* harmony import */ var include_media_query_builder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9744);
6860
- /* harmony import */ var include_media_query_builder__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(include_media_query_builder__WEBPACK_IMPORTED_MODULE_0__);
6861
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(69755);
6862
- /* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_1__);
6863
- /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(64534);
6864
-
6865
-
6620
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6621
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6866
6622
 
6867
- const useMediaQuery = (query, defaultState)=>{
6868
- const mediaQuery = (0,include_media_query_builder__WEBPACK_IMPORTED_MODULE_0__.buildMediaQuery)(parameters__WEBPACK_IMPORTED_MODULE_2__/* .BREAKPOINTS */ .j$, query);
6869
- return (0,react_use__WEBPACK_IMPORTED_MODULE_1__.useMedia)(mediaQuery, defaultState);
6623
+ const useOnWindowResize = (onResize)=>{
6624
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
6625
+ window.addEventListener("resize", onResize);
6626
+ return ()=>{
6627
+ window.removeEventListener("resize", onResize);
6628
+ };
6629
+ }, [
6630
+ onResize
6631
+ ]);
6870
6632
  };
6871
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useMediaQuery);
6633
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useOnWindowResize);
6872
6634
 
6873
6635
 
6874
6636
  /***/ }),
@@ -6888,7 +6650,7 @@ const useMediaQuery = (query, defaultState)=>{
6888
6650
  /* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom_client__WEBPACK_IMPORTED_MODULE_2__);
6889
6651
  /* harmony import */ var react_portal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63938);
6890
6652
  /* harmony import */ var react_portal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_portal__WEBPACK_IMPORTED_MODULE_3__);
6891
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(10129);
6653
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65175);
6892
6654
 
6893
6655
 
6894
6656
 
@@ -6934,6 +6696,36 @@ const usePortal = (children, { disabled =false , tagName ="div" } = {})=>{
6934
6696
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (lib__WEBPACK_IMPORTED_MODULE_4__/* .canUseDom */ .J8 ? usePortal : lib__WEBPACK_IMPORTED_MODULE_4__/* .noop */ .ZT);
6935
6697
 
6936
6698
 
6699
+ /***/ }),
6700
+
6701
+ /***/ 21995:
6702
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6703
+
6704
+ "use strict";
6705
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6706
+ /* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
6707
+ /* harmony export */ });
6708
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6709
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6710
+ /* harmony import */ var _useOnWindowResize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14884);
6711
+
6712
+
6713
+ const useViewportSize = ()=>{
6714
+ const [viewportHeight, setViewportHeight] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)( true ? 0 : 0);
6715
+ const [viewportWidth, setViewportWidth] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)( true ? 0 : 0);
6716
+ const handleWindowResize = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{
6717
+ setViewportHeight(window.innerHeight);
6718
+ setViewportWidth(window.innerWidth);
6719
+ }, []);
6720
+ (0,_useOnWindowResize__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(handleWindowResize);
6721
+ return {
6722
+ viewportHeight,
6723
+ viewportWidth
6724
+ };
6725
+ };
6726
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useViewportSize);
6727
+
6728
+
6937
6729
  /***/ }),
6938
6730
 
6939
6731
  /***/ 36743:
@@ -7004,6 +6796,13 @@ const LOCALE_FEATURES = {
7004
6796
  }
7005
6797
  };
7006
6798
  const LOCALE_FLAGS = {
6799
+ [build.Locale.DE_DE]: {
6800
+ className: (i18n_module_default()).de,
6801
+ Icon: icons/* FlagDe */.rV,
6802
+ label: "Deutsch",
6803
+ name: "German",
6804
+ value: build.Locale.DE_DE
6805
+ },
7007
6806
  [build.Locale.EN_GB]: {
7008
6807
  className: (i18n_module_default()).gb,
7009
6808
  Icon: icons/* FlagGb */.eP,
@@ -7018,6 +6817,13 @@ const LOCALE_FLAGS = {
7018
6817
  name: "English (US)",
7019
6818
  value: build.Locale.EN_US
7020
6819
  },
6820
+ [build.Locale.ES_ES]: {
6821
+ className: (i18n_module_default()).es,
6822
+ Icon: icons/* FlagEs */.d,
6823
+ label: "Espa\xf1ol",
6824
+ name: "Spanish",
6825
+ value: build.Locale.ES_ES
6826
+ },
7021
6827
  [build.Locale.FA_IR]: {
7022
6828
  className: (i18n_module_default()).fa,
7023
6829
  Icon: icons/* FlagFa */.$M,
@@ -7032,26 +6838,12 @@ const LOCALE_FLAGS = {
7032
6838
  name: "French",
7033
6839
  value: build.Locale.FR_FR
7034
6840
  },
7035
- [build.Locale.DE_DE]: {
7036
- className: (i18n_module_default()).de,
7037
- Icon: icons/* FlagDe */.rV,
7038
- label: "Deutsch",
7039
- name: "German",
7040
- value: build.Locale.DE_DE
7041
- },
7042
6841
  [build.Locale.PL_PL]: {
7043
6842
  className: (i18n_module_default()).pl,
7044
6843
  Icon: icons/* FlagPl */.fd,
7045
6844
  label: "Polski",
7046
6845
  name: "Polish",
7047
6846
  value: build.Locale.PL_PL
7048
- },
7049
- [build.Locale.ES_ES]: {
7050
- className: (i18n_module_default()).es,
7051
- Icon: icons/* FlagEs */.d,
7052
- label: "Espa\xf1ol",
7053
- name: "Spanish",
7054
- value: build.Locale.ES_ES
7055
6847
  }
7056
6848
  };
7057
6849
 
@@ -8095,20 +7887,20 @@ var SvgStar = function SvgStar(props) {
8095
7887
 
8096
7888
  /***/ }),
8097
7889
 
8098
- /***/ 10129:
7890
+ /***/ 65175:
8099
7891
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8100
7892
 
8101
7893
  "use strict";
8102
7894
 
8103
7895
  // EXPORTS
8104
7896
  __webpack_require__.d(__webpack_exports__, {
7897
+ "_g": () => (/* reexport */ lib_arrayEquals),
8105
7898
  "J8": () => (/* reexport */ lib_canUseDom),
8106
7899
  "Ri": () => (/* reexport */ lib_createArray),
8107
7900
  "DI": () => (/* reexport */ lib_createGridOf),
8108
7901
  "np": () => (/* reexport */ lib_createKeyboardNavigation),
8109
7902
  "Ml": () => (/* reexport */ lib_createNullMovingComparator),
8110
7903
  "GF": () => (/* reexport */ lib_createRegExp),
8111
- "Nj": () => (/* reexport */ lib_detectLocale),
8112
7904
  "nK": () => (/* reexport */ lib_extractCharacters),
8113
7905
  "WM": () => (/* reexport */ lib_extractInputValue),
8114
7906
  "Jp": () => (/* reexport */ lib_findCell),
@@ -8127,7 +7919,13 @@ __webpack_require__.d(__webpack_exports__, {
8127
7919
  "gV": () => (/* reexport */ lib_zipCharactersAndTiles)
8128
7920
  });
8129
7921
 
8130
- // UNUSED EXPORTS: createComparator, createKeyComparator, createStringComparator, getCellSize, getRemainingTilesCount, getTotalRemainingTilesCount, isStringArray, numberComparator, reverseComparator
7922
+ // UNUSED EXPORTS: createComparator, createKeyComparator, createStringComparator, detectLocale, getCellSize, getRemainingTilesCount, getTotalRemainingTilesCount, isStringArray, numberComparator, reverseComparator
7923
+
7924
+ ;// CONCATENATED MODULE: ./src/lib/arrayEquals.ts
7925
+ const arrayEquals = (array1, array2)=>{
7926
+ return array1.length === array2.length && array1.every((value, index)=>value === array2[index]);
7927
+ };
7928
+ /* harmony default export */ const lib_arrayEquals = (arrayEquals);
8131
7929
 
8132
7930
  ;// CONCATENATED MODULE: ./src/lib/canUseDom.ts
8133
7931
  const canUseDom = Boolean( false && 0);
@@ -8212,20 +8010,20 @@ var build = __webpack_require__(34046);
8212
8010
 
8213
8011
  const detectLocale = ()=>{
8214
8012
  if (window.navigator.languages.includes("pl") || window.navigator.languages.includes("pl-PL")) {
8215
- return build.Locale.PL_PL;
8013
+ return Locale.PL_PL;
8216
8014
  }
8217
8015
  if (window.navigator.languages.includes("en-GB")) {
8218
- return build.Locale.EN_GB;
8016
+ return Locale.EN_GB;
8219
8017
  }
8220
8018
  if (window.navigator.languages.includes("fa") || window.navigator.languages.includes("fa-IR")) {
8221
- return build.Locale.FA_IR;
8019
+ return Locale.FA_IR;
8222
8020
  }
8223
8021
  if (window.navigator.languages.includes("fr-FR")) {
8224
- return build.Locale.FR_FR;
8022
+ return Locale.FR_FR;
8225
8023
  }
8226
- return build.Locale.EN_US;
8024
+ return Locale.EN_US;
8227
8025
  };
8228
- /* harmony default export */ const lib_detectLocale = (detectLocale);
8026
+ /* harmony default export */ const lib_detectLocale = ((/* unused pure expression or super */ null && (detectLocale)));
8229
8027
 
8230
8028
  // EXTERNAL MODULE: ../constants/build/index.js
8231
8029
  var constants_build = __webpack_require__(7618);
@@ -8671,6 +8469,7 @@ const zipCharactersAndTiles = (characters, tiles)=>{
8671
8469
 
8672
8470
 
8673
8471
 
8472
+
8674
8473
 
8675
8474
 
8676
8475
  /***/ }),
@@ -8681,15 +8480,19 @@ const zipCharactersAndTiles = (characters, tiles)=>{
8681
8480
  "use strict";
8682
8481
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8683
8482
  /* harmony export */ "$B": () => (/* binding */ BOARD_TILE_FONT_SIZE_POINTS_MIN),
8483
+ /* harmony export */ "$L": () => (/* binding */ RESULTS_HEADER_HEIGHT),
8684
8484
  /* harmony export */ "$M": () => (/* binding */ RACK_TILE_SIZE_MAX),
8685
8485
  /* harmony export */ "BF": () => (/* binding */ PLAIN_TILES_COLOR_DEFAULT),
8686
8486
  /* harmony export */ "D": () => (/* binding */ PLAIN_TILES_TILE_MAX_SCATTER),
8687
8487
  /* harmony export */ "F1": () => (/* binding */ COLOR_GREEN),
8488
+ /* harmony export */ "FZ": () => (/* binding */ BUTTON_HEIGHT),
8688
8489
  /* harmony export */ "IO": () => (/* binding */ BOARD_CELL_ACTIONS_OFFSET),
8689
8490
  /* harmony export */ "Kc": () => (/* binding */ EASE_OUT_CUBIC),
8690
8491
  /* harmony export */ "Kw": () => (/* binding */ BOARD_TILE_SIZE_MAX),
8691
8492
  /* harmony export */ "MA": () => (/* binding */ TRANSITION_DURATION_LONG),
8692
8493
  /* harmony export */ "PF": () => (/* binding */ TILE_APPEAR_DURATION),
8494
+ /* harmony export */ "PV": () => (/* binding */ MODAL_HEADER_HEIGHT),
8495
+ /* harmony export */ "Rh": () => (/* binding */ DICTIONARY_HEIGHT_MOBILE),
8693
8496
  /* harmony export */ "V4": () => (/* binding */ BOARD_TILE_FONT_SIZE_MIN),
8694
8497
  /* harmony export */ "YF": () => (/* binding */ BORDER_WIDTH),
8695
8498
  /* harmony export */ "a_": () => (/* binding */ PLAIN_TILES_TILE_MAX_ROTATE),
@@ -8698,23 +8501,31 @@ const zipCharactersAndTiles = (characters, tiles)=>{
8698
8501
  /* harmony export */ "eU": () => (/* binding */ PROGRESS_COLOR_BACKGROUND),
8699
8502
  /* harmony export */ "fl": () => (/* binding */ PLAIN_TILES_PADDING_HORIZONTAL),
8700
8503
  /* harmony export */ "h4": () => (/* binding */ GITHUB_PROJECT_URL),
8504
+ /* harmony export */ "iF": () => (/* binding */ MODAL_WIDTH),
8701
8505
  /* harmony export */ "j$": () => (/* binding */ BREAKPOINTS),
8506
+ /* harmony export */ "kD": () => (/* binding */ TEXT_INPUT_HEIGHT),
8702
8507
  /* harmony export */ "ku": () => (/* binding */ PLAIN_TILES_TILE_MARGIN),
8703
8508
  /* harmony export */ "mM": () => (/* binding */ REMAINING_TILES_TILE_SIZE),
8509
+ /* harmony export */ "n6": () => (/* binding */ DICTIONARY_HEIGHT),
8704
8510
  /* harmony export */ "oj": () => (/* binding */ BOARD_TILE_SIZE_MIN),
8705
8511
  /* harmony export */ "op": () => (/* binding */ COMPONENTS_SPACING_SMALL),
8706
8512
  /* harmony export */ "pI": () => (/* binding */ COLOR_BLUE),
8513
+ /* harmony export */ "pc": () => (/* binding */ LOGO_ASPECT_RATIO),
8707
8514
  /* harmony export */ "pt": () => (/* binding */ SOLVER_COLUMN_WIDTH),
8708
8515
  /* harmony export */ "rV": () => (/* binding */ PLAIN_TILES_TILE_SIZE),
8709
8516
  /* harmony export */ "rx": () => (/* binding */ RESULTS_ITEM_HEIGHT),
8517
+ /* harmony export */ "sk": () => (/* binding */ LOGO_SRC),
8518
+ /* harmony export */ "t": () => (/* binding */ LOGO_HEIGHT_SMALL),
8519
+ /* harmony export */ "t$": () => (/* binding */ NAV_PADDING),
8710
8520
  /* harmony export */ "tr": () => (/* binding */ COMPONENTS_SPACING),
8711
8521
  /* harmony export */ "uX": () => (/* binding */ PLAIN_TILES_PADDING_VERTICAL),
8712
8522
  /* harmony export */ "xZ": () => (/* binding */ PROGRESS_COLOR_VALUE),
8523
+ /* harmony export */ "y7": () => (/* binding */ LOGO_HEIGHT),
8713
8524
  /* harmony export */ "yg": () => (/* binding */ COLOR_RED),
8714
8525
  /* harmony export */ "yr": () => (/* binding */ COLOR_YELLOW),
8715
8526
  /* harmony export */ "yz": () => (/* binding */ TRANSITION)
8716
8527
  /* harmony export */ });
8717
- /* unused harmony exports TRANSITION_DURATION, BOARD_CELL_BORDER_WIDTH, TILE_SIZE, PLAIN_TILES_VERSION_TILE_COLOR, PLAIN_TILES_VERSION_TILE_SIZE */
8528
+ /* unused harmony exports TRANSITION_DURATION, SPACING_XS, SPACING_S, SPACING_M, SPACING_L, SPACING_XL, BOARD_CELL_BORDER_WIDTH, BUTTON_ICON_SIZE, BUTTON_PADDING_VERTICAL, TILE_SIZE, PLAIN_TILES_VERSION_TILE_COLOR, PLAIN_TILES_VERSION_TILE_SIZE */
8718
8529
  const BREAKPOINTS = {
8719
8530
  xs: 480,
8720
8531
  s: 768,
@@ -8731,8 +8542,13 @@ const COLOR_BLUE = "#c7d8f9";
8731
8542
  const COLOR_GREEN = "#bae3ba";
8732
8543
  const COLOR_RED = "#f7c2aa";
8733
8544
  const COLOR_YELLOW = "#efe3ae";
8734
- const COMPONENTS_SPACING = 40;
8735
- const COMPONENTS_SPACING_SMALL = 20;
8545
+ const SPACING_XS = 2;
8546
+ const SPACING_S = 5;
8547
+ const SPACING_M = 10;
8548
+ const SPACING_L = 20;
8549
+ const SPACING_XL = 40;
8550
+ const COMPONENTS_SPACING = SPACING_XL;
8551
+ const COMPONENTS_SPACING_SMALL = SPACING_L;
8736
8552
  const BOARD_CELL_ACTIONS_OFFSET = 3;
8737
8553
  const BOARD_CELL_BORDER_WIDTH = 1;
8738
8554
  const BOARD_TILE_FONT_SIZE_MIN = 14;
@@ -8744,6 +8560,18 @@ const BOARD_TILE_SIZE_MAX = 64;
8744
8560
  * 26 - tiles start to look good (font-size: 16px)
8745
8561
  */ const BOARD_TILE_SIZE_MIN = 20;
8746
8562
  const BORDER_WIDTH = 1;
8563
+ const BUTTON_ICON_SIZE = 24;
8564
+ const BUTTON_PADDING_VERTICAL = SPACING_M;
8565
+ const BUTTON_HEIGHT = BUTTON_ICON_SIZE + 2 * BUTTON_PADDING_VERTICAL + 2 * BORDER_WIDTH;
8566
+ const DICTIONARY_HEIGHT = 260;
8567
+ const DICTIONARY_HEIGHT_MOBILE = 110;
8568
+ const LOGO_ASPECT_RATIO = 682 / 166;
8569
+ const LOGO_HEIGHT = 60;
8570
+ const LOGO_HEIGHT_SMALL = 48;
8571
+ const LOGO_SRC = "/logo.svg";
8572
+ const MODAL_WIDTH = 370;
8573
+ const MODAL_HEADER_HEIGHT = 45;
8574
+ const NAV_PADDING = SPACING_L;
8747
8575
  const TILE_SIZE = 80;
8748
8576
  const PLAIN_TILES_COLOR_DEFAULT = COLOR_GREEN;
8749
8577
  const PLAIN_TILES_PADDING_HORIZONTAL = 0;
@@ -8770,8 +8598,10 @@ const PROGRESS_COLOR_VALUE = "var(--color--violet--light)";
8770
8598
  const PROGRESS_COLOR_BACKGROUND = "var(--color--inactive)";
8771
8599
  const RACK_TILE_SIZE_MAX = 80;
8772
8600
  const REMAINING_TILES_TILE_SIZE = 50;
8601
+ const RESULTS_HEADER_HEIGHT = 35;
8773
8602
  const RESULTS_ITEM_HEIGHT = 40;
8774
8603
  const SOLVER_COLUMN_WIDTH = 580;
8604
+ const TEXT_INPUT_HEIGHT = 40;
8775
8605
  const TILE_APPEAR_DURATION = 200;
8776
8606
  const TILE_APPEAR_KEYFRAMES = [
8777
8607
  {
@@ -8861,6 +8691,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
8861
8691
  /* harmony export */ "$o": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.$o),
8862
8692
  /* harmony export */ "AN": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.AN),
8863
8693
  /* harmony export */ "En": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.En),
8694
+ /* harmony export */ "GL": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.GL),
8864
8695
  /* harmony export */ "HM": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.HM),
8865
8696
  /* harmony export */ "I8": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_4__.I8),
8866
8697
  /* harmony export */ "Mj": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_3__.Mj),
@@ -8935,12 +8766,19 @@ __webpack_async_result__();
8935
8766
  /* harmony import */ var store2__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(store2__WEBPACK_IMPORTED_MODULE_1__);
8936
8767
 
8937
8768
 
8769
+ const AUTO_GROUP_TILES = "auto-group-tiles";
8938
8770
  const BOARD = "board";
8939
8771
  const CONFIG_ID = "config-id";
8940
8772
  const LOCALE = "locale";
8941
8773
  const RACK = "rack";
8942
8774
  const store = store2__WEBPACK_IMPORTED_MODULE_1___default().namespace("scrabble-solver");
8943
8775
  const localStorage = {
8776
+ getAutoGroupTiles () {
8777
+ return store.get(AUTO_GROUP_TILES);
8778
+ },
8779
+ setAutoGroupTiles (autoGroupTiles) {
8780
+ store.set(AUTO_GROUP_TILES, autoGroupTiles, true);
8781
+ },
8944
8782
  getBoard () {
8945
8783
  const serialized = store.get(BOARD);
8946
8784
  return serialized ? _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_0__.Board.fromJson(JSON.parse(serialized)) : serialized;
@@ -8989,8 +8827,8 @@ var build = __webpack_require__(7618);
8989
8827
  var types_build = __webpack_require__(34046);
8990
8828
  // EXTERNAL MODULE: external "redux-saga/effects"
8991
8829
  var effects_ = __webpack_require__(56477);
8992
- // EXTERNAL MODULE: ./src/lib/index.ts + 31 modules
8993
- var lib = __webpack_require__(10129);
8830
+ // EXTERNAL MODULE: ./src/lib/index.ts + 32 modules
8831
+ var lib = __webpack_require__(65175);
8994
8832
  ;// CONCATENATED MODULE: ./src/sdk/fetch.ts
8995
8833
 
8996
8834
  const fetch_fetch = async (input, init)=>{
@@ -9091,7 +8929,7 @@ var selectors = __webpack_require__(96076);
9091
8929
  // EXTERNAL MODULE: ./src/state/slices/index.ts + 16 modules
9092
8930
  var slices = __webpack_require__(67647);
9093
8931
  ;// CONCATENATED MODULE: ./src/state/sagas.ts
9094
-
8932
+ /* eslint-disable max-lines */
9095
8933
 
9096
8934
 
9097
8935
 
@@ -9161,9 +8999,12 @@ function* onDictionarySubmit() {
9161
8999
  }
9162
9000
  }
9163
9001
  function* onInitialize() {
9002
+ const board = yield (0,effects_.select)(selectors/* selectBoard */.ZO);
9164
9003
  yield (0,effects_.call)(sdk_visit);
9165
- yield* ensureProperTilesCount();
9166
- yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
9004
+ if (!board.isEmpty()) {
9005
+ yield* ensureProperTilesCount();
9006
+ yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
9007
+ }
9167
9008
  }
9168
9009
  function* onReset() {
9169
9010
  yield (0,effects_.put)(slices/* boardSlice.actions.reset */.I8.actions.reset());
@@ -9245,15 +9086,15 @@ function* onVerify() {
9245
9086
  }
9246
9087
  function* ensureProperTilesCount() {
9247
9088
  const { config } = yield (0,effects_.select)(selectors/* selectConfig */.$o);
9248
- const characters = yield (0,effects_.select)(selectors/* selectCharacters */.yp);
9249
- if (config.maximumCharactersCount > characters.length) {
9250
- const differenceCount = Math.abs(config.maximumCharactersCount - characters.length);
9089
+ const rack = yield (0,effects_.select)(selectors/* selectRack */.QB);
9090
+ if (config.maximumCharactersCount > rack.length) {
9091
+ const differenceCount = Math.abs(config.maximumCharactersCount - rack.length);
9251
9092
  yield (0,effects_.put)(slices/* rackSlice.actions.init */.O_.actions.init([
9252
- ...characters,
9093
+ ...rack,
9253
9094
  ...Array(differenceCount).fill(null)
9254
9095
  ]));
9255
- } else if (config.maximumCharactersCount < characters.length) {
9256
- const nonNulls = characters.filter(Boolean).slice(0, config.maximumCharactersCount);
9096
+ } else if (config.maximumCharactersCount < rack.length) {
9097
+ const nonNulls = rack.filter(Boolean).slice(0, config.maximumCharactersCount);
9257
9098
  const differenceCount = Math.abs(config.maximumCharactersCount - nonNulls.length);
9258
9099
  const autoGroupTiles = yield (0,effects_.select)(selectors/* selectLocaleAutoGroupTiles */.lP);
9259
9100
  yield (0,effects_.put)(slices/* rackSlice.actions.init */.O_.actions.init([
@@ -9275,6 +9116,7 @@ function* ensureProperTilesCount() {
9275
9116
  /* harmony export */ "$o": () => (/* binding */ selectConfig),
9276
9117
  /* harmony export */ "AN": () => (/* binding */ selectCharacterIsValid),
9277
9118
  /* harmony export */ "En": () => (/* binding */ selectHasOverusedTiles),
9119
+ /* harmony export */ "GL": () => (/* binding */ selectResultCandidateCells),
9278
9120
  /* harmony export */ "HM": () => (/* binding */ selectVerify),
9279
9121
  /* harmony export */ "Mj": () => (/* binding */ selectAreResultsOutdated),
9280
9122
  /* harmony export */ "O0": () => (/* binding */ selectCellBonus),
@@ -9304,7 +9146,7 @@ function* ensureProperTilesCount() {
9304
9146
  /* harmony export */ "yp": () => (/* binding */ selectCharacters),
9305
9147
  /* harmony export */ "z$": () => (/* binding */ selectResultCandidateTiles)
9306
9148
  /* harmony export */ });
9307
- /* unused harmony exports selectCellFilter, selectResultsRaw, selectSortedResults, selectGroupedResults, selectResultCandidateCells, selectTranslation, selectLastSolvedParameters, selectHaveCharactersChanged, selectHasBoardChanged, selectRemainingTiles */
9149
+ /* unused harmony exports selectCellFilter, selectResultsRaw, selectSortedResults, selectGroupedResults, selectTranslation, selectLastSolvedParameters, selectHaveCharactersChanged, selectHasBoardChanged, selectRemainingTiles */
9308
9150
  /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(75184);
9309
9151
  /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__);
9310
9152
  /* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89418);
@@ -9313,7 +9155,7 @@ function* ensureProperTilesCount() {
9313
9155
  /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34046);
9314
9156
  /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__);
9315
9157
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(36743);
9316
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10129);
9158
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65175);
9317
9159
  /* eslint-disable max-lines */
9318
9160
 
9319
9161
 
@@ -9555,15 +9397,19 @@ __webpack_require__.d(__webpack_exports__, {
9555
9397
  var build = __webpack_require__(89418);
9556
9398
  // EXTERNAL MODULE: ../types/build/index.js
9557
9399
  var types_build = __webpack_require__(34046);
9558
- // EXTERNAL MODULE: ./src/lib/index.ts + 31 modules
9559
- var lib = __webpack_require__(10129);
9400
+ // EXTERNAL MODULE: ./src/state/localStorage.ts
9401
+ var localStorage = __webpack_require__(79579);
9402
+ // EXTERNAL MODULE: ./src/lib/index.ts + 32 modules
9403
+ var lib = __webpack_require__(65175);
9560
9404
  ;// CONCATENATED MODULE: ./src/state/slices/settingsInitialState.ts
9561
9405
 
9562
9406
 
9407
+
9408
+ const localStorageAutoGroupTiles = localStorage/* default.getAutoGroupTiles */.Z.getAutoGroupTiles();
9563
9409
  const settingsInitialState = {
9564
- autoGroupTiles: "left",
9565
- configId: build.scrabble.id,
9566
- locale: (0,lib/* guessLocale */.sf)()
9410
+ autoGroupTiles: typeof localStorageAutoGroupTiles === "undefined" ? "left" : localStorageAutoGroupTiles,
9411
+ configId: localStorage/* default.getConfigId */.Z.getConfigId() || build.scrabble.id,
9412
+ locale: localStorage/* default.getLocale */.Z.getLocale() || (0,lib/* guessLocale */.sf)()
9567
9413
  };
9568
9414
  /* harmony default export */ const slices_settingsInitialState = (settingsInitialState);
9569
9415
 
@@ -9571,9 +9417,11 @@ const settingsInitialState = {
9571
9417
 
9572
9418
 
9573
9419
 
9420
+
9574
9421
  const { configId , locale } = slices_settingsInitialState;
9575
9422
  const { boardHeight , boardWidth } = (0,build.getLocaleConfig)(configId, locale);
9576
- const boardInitialState = types_build.Board.create(boardWidth, boardHeight);
9423
+ const boardDefaultState = types_build.Board.create(boardWidth, boardHeight);
9424
+ const boardInitialState = localStorage/* default.getBoard */.Z.getBoard() || boardDefaultState;
9577
9425
  // const createOxyphenbutazone = () => {
9578
9426
  // // Tiles: oypbaze
9579
9427
  // const board = Board.fromStringArray([
@@ -9648,7 +9496,7 @@ const boardSlice = (0,toolkit_.createSlice)({
9648
9496
  return board;
9649
9497
  },
9650
9498
  reset: ()=>{
9651
- return slices_boardInitialState;
9499
+ return boardDefaultState;
9652
9500
  },
9653
9501
  toggleCellIsBlank: (state, action)=>{
9654
9502
  const newBoard = state.clone();
@@ -9754,7 +9602,8 @@ const dictionarySlice = (0,toolkit_.createSlice)({
9754
9602
  /* harmony default export */ const slices_dictionarySlice = (dictionarySlice);
9755
9603
 
9756
9604
  ;// CONCATENATED MODULE: ./src/state/slices/rackInitialState.ts
9757
- const rackInitialState = [
9605
+
9606
+ const rackDefaultState = [
9758
9607
  null,
9759
9608
  null,
9760
9609
  null,
@@ -9763,6 +9612,7 @@ const rackInitialState = [
9763
9612
  null,
9764
9613
  null
9765
9614
  ];
9615
+ const rackInitialState = localStorage/* default.getRack */.Z.getRack() || rackDefaultState;
9766
9616
  /* harmony default export */ const slices_rackInitialState = (rackInitialState);
9767
9617
 
9768
9618
  ;// CONCATENATED MODULE: ./src/state/slices/rackSlice.ts
@@ -9783,6 +9633,9 @@ const rackSlice = (0,toolkit_.createSlice)({
9783
9633
  },
9784
9634
  changeCharacters: (state, action)=>{
9785
9635
  const { characters , index } = action.payload;
9636
+ if (characters.length === 0) {
9637
+ return state;
9638
+ }
9786
9639
  const expectedRackLength = state.length;
9787
9640
  const rack = [
9788
9641
  ...state.slice(0, index),
@@ -9792,19 +9645,17 @@ const rackSlice = (0,toolkit_.createSlice)({
9792
9645
  return rack.slice(0, expectedRackLength);
9793
9646
  },
9794
9647
  groupTiles: (state, action)=>{
9795
- const direction = action.payload;
9796
- if (direction === null) {
9648
+ if (action.payload === null) {
9797
9649
  return state;
9798
9650
  }
9799
- const nullMovingComparator = (0,lib/* createNullMovingComparator */.Ml)((0,lib/* inverseDirection */.Mf)(direction));
9651
+ const nullMovingComparator = (0,lib/* createNullMovingComparator */.Ml)((0,lib/* inverseDirection */.Mf)(action.payload));
9800
9652
  const sortedTiles = [
9801
9653
  ...state
9802
9654
  ].sort(nullMovingComparator);
9803
- return sortedTiles;
9655
+ return (0,lib/* arrayEquals */._g)(state, sortedTiles) ? state : sortedTiles;
9804
9656
  },
9805
- init: (_state, action)=>{
9806
- const rack = action.payload;
9807
- return rack;
9657
+ init: (state, action)=>{
9658
+ return (0,lib/* arrayEquals */._g)(state, action.payload) ? state : action.payload;
9808
9659
  },
9809
9660
  removeTiles: (state, action)=>{
9810
9661
  const tilesToRemove = action.payload;
@@ -9812,7 +9663,7 @@ const rackSlice = (0,toolkit_.createSlice)({
9812
9663
  const charactersWithoutMatchingTiles = charactersAndTiles.map(({ character , tile })=>tile ? null : character);
9813
9664
  return charactersWithoutMatchingTiles;
9814
9665
  },
9815
- reset: ()=>slices_rackInitialState
9666
+ reset: ()=>rackDefaultState
9816
9667
  }
9817
9668
  });
9818
9669
  /* harmony default export */ const slices_rackSlice = (rackSlice);