@scrabble-solver/scrabble-solver 2.11.7 → 2.11.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +6 -6
  3. package/.next/cache/.tsbuildinfo +1 -1
  4. package/.next/cache/eslint/.cache_8dgz12 +1 -1
  5. package/.next/cache/next-server.js.nft.json +1 -1
  6. package/.next/cache/webpack/client-production/0.pack +0 -0
  7. package/.next/cache/webpack/client-production/index.pack +0 -0
  8. package/.next/cache/webpack/edge-server-production/0.pack +0 -0
  9. package/.next/cache/webpack/edge-server-production/index.pack +0 -0
  10. package/.next/cache/webpack/server-production/0.pack +0 -0
  11. package/.next/cache/webpack/server-production/index.pack +0 -0
  12. package/.next/next-server.js.nft.json +1 -1
  13. package/.next/prerender-manifest.json +1 -1
  14. package/.next/routes-manifest.json +1 -1
  15. package/.next/server/chunks/277.js +73 -30
  16. package/.next/server/chunks/865.js +153 -115
  17. package/.next/server/middleware-build-manifest.js +1 -1
  18. package/.next/server/pages/404.html +1 -1
  19. package/.next/server/pages/404.js.nft.json +1 -1
  20. package/.next/server/pages/500.html +1 -1
  21. package/.next/server/pages/_app.js.nft.json +1 -1
  22. package/.next/server/pages/api/solve.js +1 -0
  23. package/.next/server/pages/index.html +1 -1
  24. package/.next/server/pages/index.js +27 -6
  25. package/.next/server/pages/index.js.nft.json +1 -1
  26. package/.next/server/pages/index.json +1 -1
  27. package/.next/server/pages-manifest.json +2 -2
  28. package/.next/static/{uhB6d-q63uRC6RubwepLq → 5ttGCAW8jcIKxpR8om9fK}/_buildManifest.js +1 -1
  29. package/.next/static/chunks/pages/_app-76a8840b6244d5a2.js +28 -0
  30. package/.next/static/chunks/pages/index-6894f40e6cac9243.js +1 -0
  31. package/.next/static/css/{edaeaa48321b4cf2.css → af871fef886ef5b7.css} +2 -2
  32. package/.next/static/css/c6e0e01f44fc0425.css +1 -0
  33. package/.next/trace +50 -50
  34. package/package.json +9 -9
  35. package/src/components/Board/hooks/useBackgroundImage.tsx +13 -9
  36. package/src/components/Board/hooks/useGrid.ts +17 -1
  37. package/src/components/Key/Key.module.scss +7 -11
  38. package/src/components/Rack/Rack.tsx +4 -1
  39. package/src/components/Rack/RackTile.tsx +12 -2
  40. package/src/components/Tile/Tile.module.scss +4 -0
  41. package/src/lib/index.ts +1 -0
  42. package/src/lib/isCtrl.ts +7 -0
  43. package/src/modals/KeyMapModal/KeyMapModal.tsx +20 -4
  44. package/src/modals/KeyMapModal/components/Mapping/Mapping.module.scss +10 -4
  45. package/src/styles/variables.scss +2 -0
  46. package/.next/static/chunks/pages/_app-e89a3c225b87516a.js +0 -28
  47. package/.next/static/chunks/pages/index-58744f49bf6b891f.js +0 -1
  48. package/.next/static/css/34adfcf12a7d9bb6.css +0 -1
  49. /package/.next/static/{uhB6d-q63uRC6RubwepLq → 5ttGCAW8jcIKxpR8om9fK}/_ssgManifest.js +0 -0
@@ -1543,7 +1543,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1543
1543
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
1544
1544
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
1545
1545
  /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(75704);
1546
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(55238);
1546
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20208);
1547
1547
  /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(64534);
1548
1548
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(83067);
1549
1549
  /* harmony import */ var _Board_module_scss__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(33791);
@@ -1772,7 +1772,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
1772
1772
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16689);
1773
1773
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
1774
1774
  /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(58966);
1775
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55238);
1775
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20208);
1776
1776
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83067);
1777
1777
  /* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83900);
1778
1778
  /* harmony import */ var _Actions_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(79739);
@@ -2009,7 +2009,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
2009
2009
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
2010
2010
  /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(75704);
2011
2011
  /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(58966);
2012
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(55238);
2012
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20208);
2013
2013
  /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(64534);
2014
2014
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(83067);
2015
2015
  /* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(41051);
@@ -2026,6 +2026,8 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([hook
2026
2026
 
2027
2027
 
2028
2028
 
2029
+ const BORDER_RADIUS_XS = 3;
2030
+ const GRID_LINE_SIZE = 1;
2029
2031
  const HORIZONTAL_LINE = "h";
2030
2032
  const VERTICAL_LINE = "v";
2031
2033
  const BONUS = "b";
@@ -2034,6 +2036,8 @@ const BONUS_WORD_3 = "b3";
2034
2036
  const CELL_FILTER = "c";
2035
2037
  const useBackgroundImage = ()=>{
2036
2038
  const { boardSize , cellSize } = (0,hooks__WEBPACK_IMPORTED_MODULE_5__/* .useAppLayout */ .Ft)();
2039
+ const { isLessThanXs } = (0,hooks__WEBPACK_IMPORTED_MODULE_5__/* .useMediaQueries */ .lS)();
2040
+ const borderRadius = isLessThanXs ? BORDER_RADIUS_XS : parameters__WEBPACK_IMPORTED_MODULE_8__/* .BORDER_RADIUS */ .n_;
2037
2041
  const config = (0,state__WEBPACK_IMPORTED_MODULE_9__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_9__/* .selectConfig */ .$o);
2038
2042
  const center = {
2039
2043
  x: Math.floor(config.boardWidth / 2),
@@ -2068,7 +2072,7 @@ const useBackgroundImage = ()=>{
2068
2072
  id: HORIZONTAL_LINE,
2069
2073
  children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("rect", {
2070
2074
  fill: parameters__WEBPACK_IMPORTED_MODULE_8__/* .BORDER_COLOR_LIGHT */ .uI,
2071
- height: 1,
2075
+ height: GRID_LINE_SIZE,
2072
2076
  width: viewBoxWidth
2073
2077
  })
2074
2078
  }),
@@ -2077,14 +2081,14 @@ const useBackgroundImage = ()=>{
2077
2081
  children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("rect", {
2078
2082
  fill: parameters__WEBPACK_IMPORTED_MODULE_8__/* .BORDER_COLOR_LIGHT */ .uI,
2079
2083
  height: viewBoxHeight,
2080
- width: 1
2084
+ width: GRID_LINE_SIZE
2081
2085
  })
2082
2086
  }),
2083
2087
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("symbol", {
2084
2088
  id: BONUS,
2085
2089
  children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("rect", {
2086
2090
  height: bonusSize,
2087
- rx: parameters__WEBPACK_IMPORTED_MODULE_8__/* .BORDER_RADIUS */ .n_,
2091
+ rx: borderRadius,
2088
2092
  width: bonusSize,
2089
2093
  x: bonusOffset,
2090
2094
  y: bonusOffset
@@ -2095,7 +2099,7 @@ const useBackgroundImage = ()=>{
2095
2099
  children: [
2096
2100
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("rect", {
2097
2101
  height: bonusSize,
2098
- rx: parameters__WEBPACK_IMPORTED_MODULE_8__/* .BORDER_RADIUS */ .n_,
2102
+ rx: borderRadius,
2099
2103
  width: bonusSize,
2100
2104
  x: bonusOffset,
2101
2105
  y: bonusOffset
@@ -2118,7 +2122,7 @@ const useBackgroundImage = ()=>{
2118
2122
  children: [
2119
2123
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("rect", {
2120
2124
  height: bonusSize,
2121
- rx: parameters__WEBPACK_IMPORTED_MODULE_8__/* .BORDER_RADIUS */ .n_,
2125
+ rx: borderRadius,
2122
2126
  width: bonusSize,
2123
2127
  x: bonusOffset,
2124
2128
  y: bonusOffset
@@ -2142,7 +2146,7 @@ const useBackgroundImage = ()=>{
2142
2146
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("rect", {
2143
2147
  fill: parameters__WEBPACK_IMPORTED_MODULE_8__/* .COLOR_FILTERED */ .pS,
2144
2148
  height: bonusSize,
2145
- rx: parameters__WEBPACK_IMPORTED_MODULE_8__/* .BORDER_RADIUS */ .n_,
2149
+ rx: borderRadius,
2146
2150
  width: bonusSize,
2147
2151
  x: bonusOffset,
2148
2152
  y: bonusOffset
@@ -2161,7 +2165,7 @@ const useBackgroundImage = ()=>{
2161
2165
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("rect", {
2162
2166
  fill: "white",
2163
2167
  height: viewBoxHeight,
2164
- rx: parameters__WEBPACK_IMPORTED_MODULE_8__/* .BORDER_RADIUS */ .n_,
2168
+ rx: borderRadius,
2165
2169
  width: viewBoxWidth,
2166
2170
  x: "0",
2167
2171
  y: "0"
@@ -2199,7 +2203,7 @@ const useBackgroundImage = ()=>{
2199
2203
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("rect", {
2200
2204
  fill: parameters__WEBPACK_IMPORTED_MODULE_8__/* .COLOR_BONUS_START */ .HC,
2201
2205
  height: bonusSize,
2202
- rx: parameters__WEBPACK_IMPORTED_MODULE_8__/* .BORDER_RADIUS */ .n_,
2206
+ rx: borderRadius,
2203
2207
  width: bonusSize,
2204
2208
  x: getX(center) + bonusOffset,
2205
2209
  y: getY(center) + bonusOffset
@@ -2254,7 +2258,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
2254
2258
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
2255
2259
  /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75704);
2256
2260
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(36743);
2257
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(55238);
2261
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20208);
2258
2262
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83067);
2259
2263
  /* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(41051);
2260
2264
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([hooks__WEBPACK_IMPORTED_MODULE_4__, state__WEBPACK_IMPORTED_MODULE_7__]);
@@ -2538,6 +2542,23 @@ const useGrid = (rows)=>{
2538
2542
  }
2539
2543
  const { x , y } = position;
2540
2544
  const character = event.key.toLowerCase();
2545
+ const isTogglingBlank = (0,lib__WEBPACK_IMPORTED_MODULE_6__/* .isCtrl */ .yl)(event) && character === "b";
2546
+ const twoCharacterTile = config.getTwoCharacterTileByPrefix(character);
2547
+ if (isTogglingBlank) {
2548
+ event.preventDefault();
2549
+ dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .boardSlice.actions.toggleCellIsBlank */ .I8.actions.toggleCellIsBlank(position));
2550
+ return;
2551
+ }
2552
+ if ((0,lib__WEBPACK_IMPORTED_MODULE_6__/* .isCtrl */ .yl)(event) && twoCharacterTile) {
2553
+ event.preventDefault();
2554
+ dispatch(state__WEBPACK_IMPORTED_MODULE_7__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
2555
+ x,
2556
+ y,
2557
+ value: twoCharacterTile
2558
+ }));
2559
+ moveFocus(1);
2560
+ return;
2561
+ }
2541
2562
  const cell = rows[y][x];
2542
2563
  const twoCharacterCandidate = cell.tile.character + character;
2543
2564
  if (config.twoCharacterTiles.includes(twoCharacterCandidate)) {
@@ -4115,7 +4136,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4115
4136
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
4116
4137
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
4117
4138
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(36743);
4118
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55238);
4139
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20208);
4119
4140
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83067);
4120
4141
  /* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52404);
4121
4142
  /* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Rack_module_scss__WEBPACK_IMPORTED_MODULE_8__);
@@ -4215,7 +4236,9 @@ const Rack = ({ className , tileSize })=>{
4215
4236
  changeActiveIndex(1);
4216
4237
  },
4217
4238
  onKeyDown: (event)=>{
4218
- if (event.currentTarget.value === event.key) {
4239
+ if ((0,lib__WEBPACK_IMPORTED_MODULE_5__/* .isCtrl */ .yl)(event) && config.isTwoCharacterTilePrefix(event.key)) {
4240
+ changeActiveIndex(1);
4241
+ } else if (event.currentTarget.value === event.key) {
4219
4242
  // change event did not fire because the same character was typed over the current one
4220
4243
  // but we still want to move the caret
4221
4244
  event.preventDefault();
@@ -4275,7 +4298,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4275
4298
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
4276
4299
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6022);
4277
4300
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__);
4278
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55238);
4301
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20208);
4279
4302
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83067);
4280
4303
  /* harmony import */ var _Tile__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(96815);
4281
4304
  /* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(52404);
@@ -4329,7 +4352,19 @@ const RackTile = ({ activeIndexRef , character , className , index , inputRef ,
4329
4352
  index
4330
4353
  }));
4331
4354
  },
4332
- onKeyDown
4355
+ onKeyDown: (event)=>{
4356
+ if ((0,lib__WEBPACK_IMPORTED_MODULE_5__/* .isCtrl */ .yl)(event) && config.isTwoCharacterTilePrefix(event.key)) {
4357
+ event.preventDefault();
4358
+ event.stopPropagation();
4359
+ const twoTilesCharacter = config.getTwoCharacterTileByPrefix(event.key);
4360
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
4361
+ dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .rackSlice.actions.changeCharacter */ .O_.actions.changeCharacter({
4362
+ character: twoTilesCharacter,
4363
+ index
4364
+ }));
4365
+ }
4366
+ onKeyDown(event);
4367
+ }
4333
4368
  });
4334
4369
  }, [
4335
4370
  index,
@@ -4568,7 +4603,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
4568
4603
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
4569
4604
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
4570
4605
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(36743);
4571
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(55238);
4606
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20208);
4572
4607
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
4573
4608
  /* harmony import */ var types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1966);
4574
4609
  /* harmony import */ var _Cell__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(29287);
@@ -5042,7 +5077,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
5042
5077
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
5043
5078
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
5044
5079
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
5045
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(55238);
5080
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20208);
5046
5081
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
5047
5082
  /* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(60066);
5048
5083
  /* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6__);
@@ -5357,7 +5392,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
5357
5392
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6022);
5358
5393
  /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_2__);
5359
5394
  /* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58966);
5360
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(55238);
5395
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20208);
5361
5396
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83067);
5362
5397
  /* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(83900);
5363
5398
  /* harmony import */ var _Spinner__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(33538);
@@ -5765,7 +5800,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
5765
5800
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16689);
5766
5801
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
5767
5802
  /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75704);
5768
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55238);
5803
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20208);
5769
5804
  /* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(64534);
5770
5805
  /* harmony import */ var state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(83067);
5771
5806
  /* harmony import */ var _TilePure__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(83147);
@@ -5982,7 +6017,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
5982
6017
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16689);
5983
6018
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
5984
6019
  /* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75704);
5985
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55238);
6020
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20208);
5986
6021
  /* harmony import */ var _Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(53229);
5987
6022
  /* harmony import */ var _Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_6__);
5988
6023
  var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_floating_ui_react__WEBPACK_IMPORTED_MODULE_1__, hooks__WEBPACK_IMPORTED_MODULE_4__]);
@@ -6316,7 +6351,7 @@ __webpack_async_result__();
6316
6351
  /* harmony export */ });
6317
6352
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6318
6353
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6319
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55238);
6354
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20208);
6320
6355
 
6321
6356
 
6322
6357
  const useDirection = (direction)=>{
@@ -6381,7 +6416,7 @@ const useIsTouchDevice = ()=>{
6381
6416
  /* harmony export */ });
6382
6417
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(16689);
6383
6418
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6384
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55238);
6419
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20208);
6385
6420
 
6386
6421
 
6387
6422
  const useLanguage = (language)=>{
@@ -6620,7 +6655,7 @@ const useOnWindowResize = (onResize)=>{
6620
6655
  /* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom_client__WEBPACK_IMPORTED_MODULE_2__);
6621
6656
  /* harmony import */ var react_portal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63938);
6622
6657
  /* harmony import */ var react_portal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_portal__WEBPACK_IMPORTED_MODULE_3__);
6623
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(55238);
6658
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20208);
6624
6659
 
6625
6660
 
6626
6661
 
@@ -7867,7 +7902,7 @@ var SvgStar = function SvgStar(props) {
7867
7902
 
7868
7903
  /***/ }),
7869
7904
 
7870
- /***/ 55238:
7905
+ /***/ 20208:
7871
7906
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7872
7907
 
7873
7908
  "use strict";
@@ -7891,6 +7926,7 @@ __webpack_require__.d(__webpack_exports__, {
7891
7926
  "CU": () => (/* reexport */ lib_groupResults),
7892
7927
  "sf": () => (/* reexport */ lib_guessLocale),
7893
7928
  "Mf": () => (/* reexport */ lib_inverseDirection),
7929
+ "yl": () => (/* reexport */ lib_isCtrl),
7894
7930
  "V5": () => (/* reexport */ lib_isMac),
7895
7931
  "Kj": () => (/* reexport */ lib_isRegExp),
7896
7932
  "HP": () => (/* reexport */ lib_memoize),
@@ -8276,6 +8312,12 @@ const inverseDirection = (direction)=>{
8276
8312
  };
8277
8313
  /* harmony default export */ const lib_inverseDirection = (inverseDirection);
8278
8314
 
8315
+ ;// CONCATENATED MODULE: ./src/lib/isCtrl.ts
8316
+ const isCtrl = (event)=>{
8317
+ return event.ctrlKey || event.metaKey;
8318
+ };
8319
+ /* harmony default export */ const lib_isCtrl = (isCtrl);
8320
+
8279
8321
  ;// CONCATENATED MODULE: ./src/lib/isMac.ts
8280
8322
  const isMac = ()=>{
8281
8323
  if (!globalThis.navigator) {
@@ -8473,6 +8515,7 @@ const zipCharactersAndTiles = (characters, tiles)=>{
8473
8515
 
8474
8516
 
8475
8517
 
8518
+
8476
8519
 
8477
8520
 
8478
8521
  /***/ }),
@@ -8816,8 +8859,8 @@ __webpack_require__.d(__webpack_exports__, {
8816
8859
  var effects_ = __webpack_require__(56477);
8817
8860
  // EXTERNAL MODULE: ./src/i18n/index.ts + 8 modules
8818
8861
  var i18n = __webpack_require__(36743);
8819
- // EXTERNAL MODULE: ./src/lib/index.ts + 33 modules
8820
- var lib = __webpack_require__(55238);
8862
+ // EXTERNAL MODULE: ./src/lib/index.ts + 34 modules
8863
+ var lib = __webpack_require__(20208);
8821
8864
  // EXTERNAL MODULE: ../types/build/index.js
8822
8865
  var build = __webpack_require__(34046);
8823
8866
  ;// CONCATENATED MODULE: ./src/sdk/fetch.ts
@@ -9144,7 +9187,7 @@ function* ensureProperTilesCount() {
9144
9187
  /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34046);
9145
9188
  /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__);
9146
9189
  /* harmony import */ var i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(36743);
9147
- /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(55238);
9190
+ /* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(20208);
9148
9191
  /* eslint-disable max-lines */
9149
9192
 
9150
9193
 
@@ -9388,8 +9431,8 @@ var build = __webpack_require__(89418);
9388
9431
  var types_build = __webpack_require__(34046);
9389
9432
  // EXTERNAL MODULE: ./src/state/localStorage.ts
9390
9433
  var localStorage = __webpack_require__(79579);
9391
- // EXTERNAL MODULE: ./src/lib/index.ts + 33 modules
9392
- var lib = __webpack_require__(55238);
9434
+ // EXTERNAL MODULE: ./src/lib/index.ts + 34 modules
9435
+ var lib = __webpack_require__(20208);
9393
9436
  ;// CONCATENATED MODULE: ./src/state/slices/settingsInitialState.ts
9394
9437
 
9395
9438