@scrabble-solver/scrabble-solver 2.8.9 → 2.8.11
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +11 -11
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/.next/cache/next-server.js.nft.json +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/413.js +189 -43
- package/.next/server/chunks/429.js +2 -13
- package/.next/server/chunks/515.js +469 -254
- package/.next/server/chunks/911.js +25 -3
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/api/solve.js +77 -20
- package/.next/server/pages/index.html +3 -3
- package/.next/server/pages/index.js +1 -1
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/index.json +1 -1
- package/.next/static/VJkrGviICslA_8zNVJ-g-/_buildManifest.js +1 -0
- package/.next/static/{yCxjzzYpw5JjJE53PO_s6 → VJkrGviICslA_8zNVJ-g-}/_ssgManifest.js +0 -0
- package/.next/static/chunks/317-8e8909dd2f587b64.js +1 -0
- package/.next/static/chunks/546-447e243fc9de2c59.js +1 -0
- package/.next/static/chunks/pages/{404-90c624da3c83fd17.js → 404-7082923654d5996f.js} +1 -1
- package/.next/static/chunks/pages/_app-57c77cad0f197d93.js +1 -0
- package/.next/static/chunks/pages/index-d3360e075ca3c222.js +1 -0
- package/.next/static/css/9ac903004135f4b1.css +1 -0
- package/.next/trace +42 -42
- package/package.json +12 -12
- package/src/components/Badge/Badge.module.scss +1 -1
- package/src/components/Board/Board.tsx +4 -2
- package/src/components/Board/BoardPure.tsx +25 -5
- package/src/components/Board/components/Cell/CellPure.tsx +33 -31
- package/src/components/Board/hooks/useGrid.ts +217 -91
- package/src/components/Dictionary/Dictionary.tsx +8 -1
- package/src/components/Rack/Rack.tsx +51 -11
- package/src/components/Rack/RackTile.tsx +33 -16
- package/src/components/Results/Results.tsx +19 -3
- package/src/components/Sidebar/Sidebar.tsx +20 -1
- package/src/components/SquareButton/Link.tsx +1 -1
- package/src/components/Tile/Tile.module.scss +4 -0
- package/src/components/Tile/Tile.tsx +13 -4
- package/src/components/Tile/TilePure.tsx +3 -4
- package/src/lib/extractCharacters.ts +26 -0
- package/src/lib/extractInputValue.ts +17 -0
- package/src/lib/index.ts +2 -0
- package/src/lib/isCtrl.ts +1 -1
- package/src/lib/memoize.ts +15 -1
- package/src/pages/api/solve.ts +1 -1
- package/src/sdk/fetchJson.ts +36 -0
- package/src/sdk/findWordDefinitions.ts +4 -3
- package/src/sdk/solve.ts +8 -7
- package/src/sdk/verify.ts +5 -6
- package/src/state/sagas.ts +9 -3
- package/src/state/selectors.ts +9 -1
- package/src/state/slices/dictionaryInitialState.ts +10 -2
- package/src/state/slices/dictionarySlice.ts +10 -16
- package/src/state/slices/rackSlice.ts +7 -5
- package/src/state/slices/solveInitialState.ts +14 -2
- package/src/state/slices/solveSlice.ts +7 -4
- package/src/types/index.ts +2 -0
- package/.next/static/chunks/317-a33dd38e9b9a17ed.js +0 -1
- package/.next/static/chunks/758-f333b1dcdb941547.js +0 -1
- package/.next/static/chunks/pages/_app-f8f360878e1c2aff.js +0 -1
- package/.next/static/chunks/pages/index-ecea697d3e5d8a6f.js +0 -1
- package/.next/static/css/64dc2ce1811912f1.css +0 -1
- package/.next/static/yCxjzzYpw5JjJE53PO_s6/_buildManifest.js +0 -1
|
@@ -540,18 +540,20 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
|
|
|
540
540
|
const Board = ({ cellSize , className , innerRef })=>{
|
|
541
541
|
const rows = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectRowsWithCandidate */ .ZA);
|
|
542
542
|
const board = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectBoard */ .ZO);
|
|
543
|
-
const [{
|
|
543
|
+
const [{ direction , refs }, { onChange , onDirectionToggle , onFocus , onKeyDown , onPaste }] = (0,_hooks__WEBPACK_IMPORTED_MODULE_3__/* .useGrid */ .N)(rows);
|
|
544
544
|
return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_BoardPure__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
|
|
545
545
|
className: className,
|
|
546
546
|
cellSize: cellSize,
|
|
547
547
|
center: board.center,
|
|
548
|
+
direction: direction,
|
|
548
549
|
innerRef: innerRef,
|
|
549
|
-
lastDirection: lastDirection,
|
|
550
550
|
refs: refs,
|
|
551
551
|
rows: rows,
|
|
552
|
+
onChange: onChange,
|
|
552
553
|
onDirectionToggle: onDirectionToggle,
|
|
553
554
|
onFocus: onFocus,
|
|
554
|
-
onKeyDown: onKeyDown
|
|
555
|
+
onKeyDown: onKeyDown,
|
|
556
|
+
onPaste: onPaste
|
|
555
557
|
});
|
|
556
558
|
};
|
|
557
559
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Board);
|
|
@@ -585,16 +587,18 @@ _components__WEBPACK_IMPORTED_MODULE_3__ = (__webpack_async_dependencies__.then
|
|
|
585
587
|
|
|
586
588
|
|
|
587
589
|
|
|
588
|
-
const BoardPure = ({ className , cellSize , center ,
|
|
590
|
+
const BoardPure = ({ className , cellSize , center , direction , innerRef , refs , rows , onChange , onDirectionToggle , onFocus , onKeyDown , onPaste , })=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
|
|
589
591
|
className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Board_module_scss__WEBPACK_IMPORTED_MODULE_4___default().board), className),
|
|
590
592
|
ref: innerRef,
|
|
593
|
+
onChange: onChange,
|
|
591
594
|
onKeyDown: onKeyDown,
|
|
595
|
+
onPaste: onPaste,
|
|
592
596
|
children: rows.map((cells, y)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
|
|
593
597
|
className: (_Board_module_scss__WEBPACK_IMPORTED_MODULE_4___default().row),
|
|
594
598
|
children: cells.map((cell, x)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_components__WEBPACK_IMPORTED_MODULE_3__/* .Cell */ .b, {
|
|
595
599
|
className: (_Board_module_scss__WEBPACK_IMPORTED_MODULE_4___default().cell),
|
|
596
600
|
cell: cell,
|
|
597
|
-
direction:
|
|
601
|
+
direction: direction,
|
|
598
602
|
inputRef: refs[y][x],
|
|
599
603
|
isCenter: center.x === x && center.y === y,
|
|
600
604
|
size: cellSize,
|
|
@@ -666,7 +670,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
666
670
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
|
|
667
671
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
|
|
668
672
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
|
|
669
|
-
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
673
|
+
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75558);
|
|
670
674
|
/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51413);
|
|
671
675
|
/* harmony import */ var _CellPure__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(80640);
|
|
672
676
|
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_5__, _CellPure__WEBPACK_IMPORTED_MODULE_6__]);
|
|
@@ -818,7 +822,7 @@ const CellPure = ({ bonus , cell , className , direction , inputRef , isCenter ,
|
|
|
818
822
|
tabIndex: cell.x === 0 && cell.y === 0 ? undefined : -1,
|
|
819
823
|
onFocus: onFocus
|
|
820
824
|
}),
|
|
821
|
-
/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
|
|
825
|
+
!cell.isCandidate() && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
|
|
822
826
|
className: (_Cell_module_scss__WEBPACK_IMPORTED_MODULE_7___default().actions),
|
|
823
827
|
children: [
|
|
824
828
|
/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Button__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z, {
|
|
@@ -978,17 +982,19 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
978
982
|
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
979
983
|
/* harmony export */ });
|
|
980
984
|
/* harmony import */ var _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7618);
|
|
981
|
-
/* harmony import */ var
|
|
982
|
-
/* harmony import */ var
|
|
983
|
-
/* harmony import */ var
|
|
984
|
-
/* harmony import */ var
|
|
985
|
-
/* harmony import */ var
|
|
986
|
-
/* harmony import */ var
|
|
987
|
-
/* harmony import */ var
|
|
988
|
-
/* harmony import */ var
|
|
989
|
-
/* harmony import */ var
|
|
990
|
-
var
|
|
991
|
-
|
|
985
|
+
/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(34046);
|
|
986
|
+
/* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
987
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
|
|
988
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
|
|
989
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
|
|
990
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
|
|
991
|
+
/* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69755);
|
|
992
|
+
/* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_4__);
|
|
993
|
+
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(75558);
|
|
994
|
+
/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51413);
|
|
995
|
+
/* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(95137);
|
|
996
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_6__]);
|
|
997
|
+
state__WEBPACK_IMPORTED_MODULE_6__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
992
998
|
/* eslint-disable max-lines, max-statements */
|
|
993
999
|
|
|
994
1000
|
|
|
@@ -996,22 +1002,24 @@ state__WEBPACK_IMPORTED_MODULE_5__ = (__webpack_async_dependencies__.then ? (awa
|
|
|
996
1002
|
|
|
997
1003
|
|
|
998
1004
|
|
|
1005
|
+
|
|
1006
|
+
const toggleDirection = (direction)=>direction === "vertical" ? "horizontal" : "vertical";
|
|
999
1007
|
const useGrid = (rows)=>{
|
|
1000
1008
|
const height = rows.length;
|
|
1001
1009
|
const width = rows[0].length;
|
|
1002
|
-
const dispatch = (0,
|
|
1003
|
-
const config = (0,
|
|
1004
|
-
const refs = (0,
|
|
1010
|
+
const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)();
|
|
1011
|
+
const config = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_6__/* .selectConfig */ .$o);
|
|
1012
|
+
const refs = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>(0,lib__WEBPACK_IMPORTED_MODULE_5__/* .createGridOf */ .DI)(width, height, ()=>(0,react__WEBPACK_IMPORTED_MODULE_2__.createRef)()), [
|
|
1005
1013
|
width,
|
|
1006
1014
|
height
|
|
1007
1015
|
]);
|
|
1008
|
-
const activeIndexRef = (0,
|
|
1016
|
+
const activeIndexRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)({
|
|
1009
1017
|
x: 0,
|
|
1010
1018
|
y: 0
|
|
1011
1019
|
});
|
|
1012
|
-
const { 0:
|
|
1013
|
-
const
|
|
1014
|
-
const changeActiveIndex = (0,
|
|
1020
|
+
const { 0: direction , 1: setLastDirection } = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)("horizontal");
|
|
1021
|
+
const directionRef = (0,react_use__WEBPACK_IMPORTED_MODULE_4__.useLatest)(direction);
|
|
1022
|
+
const changeActiveIndex = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((offsetX, offsetY)=>{
|
|
1015
1023
|
const x = Math.min(Math.max(activeIndexRef.current.x + offsetX, 0), width - 1);
|
|
1016
1024
|
const y = Math.min(Math.max(activeIndexRef.current.y + offsetY, 0), height - 1);
|
|
1017
1025
|
activeIndexRef.current = {
|
|
@@ -1023,58 +1031,210 @@ const useGrid = (rows)=>{
|
|
|
1023
1031
|
activeIndexRef,
|
|
1024
1032
|
refs
|
|
1025
1033
|
]);
|
|
1026
|
-
const getInputRefPosition = (0,
|
|
1027
|
-
return (0,
|
|
1034
|
+
const getInputRefPosition = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((inputRef)=>{
|
|
1035
|
+
return (0,_lib__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z)(refs, (ref)=>ref.current === inputRef);
|
|
1028
1036
|
}, [
|
|
1029
1037
|
refs
|
|
1030
1038
|
]);
|
|
1031
|
-
const
|
|
1032
|
-
|
|
1033
|
-
return direction === "vertical" ? "horizontal" : "vertical";
|
|
1034
|
-
});
|
|
1035
|
-
}, []);
|
|
1036
|
-
const onFocus = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((x, y)=>{
|
|
1037
|
-
activeIndexRef.current = {
|
|
1038
|
-
x,
|
|
1039
|
-
y
|
|
1040
|
-
};
|
|
1041
|
-
}, []);
|
|
1042
|
-
const onMoveFocus = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((direction)=>{
|
|
1043
|
-
const offset = direction === "forward" ? 1 : -1;
|
|
1044
|
-
if (lastDirectionRef.current === "horizontal") {
|
|
1039
|
+
const moveFocus = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((offset)=>{
|
|
1040
|
+
if (directionRef.current === "horizontal") {
|
|
1045
1041
|
changeActiveIndex(offset, 0);
|
|
1046
1042
|
} else {
|
|
1047
1043
|
changeActiveIndex(0, offset);
|
|
1048
1044
|
}
|
|
1049
1045
|
}, [
|
|
1050
1046
|
changeActiveIndex,
|
|
1051
|
-
|
|
1047
|
+
directionRef
|
|
1052
1048
|
]);
|
|
1053
|
-
const
|
|
1054
|
-
|
|
1049
|
+
const insertValue = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((position, value)=>{
|
|
1050
|
+
const characters = value ? (0,lib__WEBPACK_IMPORTED_MODULE_5__/* .extractCharacters */ .nK)(config, value).filter((character)=>character !== _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_0__.BLANK) : [
|
|
1051
|
+
_scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_0__.BLANK
|
|
1052
|
+
];
|
|
1053
|
+
const actions = [];
|
|
1054
|
+
let board = new _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_1__.Board({
|
|
1055
|
+
rows: rows.map((row)=>row.map((cell)=>cell.clone()))
|
|
1056
|
+
});
|
|
1057
|
+
let { x , y } = position;
|
|
1058
|
+
const scheduleMoveFocus = ()=>{
|
|
1059
|
+
if (directionRef.current === "horizontal") {
|
|
1060
|
+
++x;
|
|
1061
|
+
} else {
|
|
1062
|
+
++y;
|
|
1063
|
+
}
|
|
1064
|
+
};
|
|
1065
|
+
characters.forEach((character)=>{
|
|
1066
|
+
if (x >= config.boardWidth || y >= config.boardHeight) {
|
|
1067
|
+
return;
|
|
1068
|
+
}
|
|
1069
|
+
const canCheckUp = y - 1 > 0;
|
|
1070
|
+
const canCheckLeft = x > 0;
|
|
1071
|
+
const canCheckRight = x + 1 < width;
|
|
1072
|
+
const canCheckDown = y + 1 < height;
|
|
1073
|
+
if (canCheckUp) {
|
|
1074
|
+
const cellUp = board.rows[y - 1][x];
|
|
1075
|
+
const twoCharacterCandidate = cellUp.tile.character + character;
|
|
1076
|
+
if (!cellUp.tile.isBlank && config.twoCharacterTiles.includes(twoCharacterCandidate)) {
|
|
1077
|
+
const action = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1078
|
+
x,
|
|
1079
|
+
y: y - 1,
|
|
1080
|
+
value: twoCharacterCandidate
|
|
1081
|
+
});
|
|
1082
|
+
board = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.reducer */ .I8.reducer(board, action);
|
|
1083
|
+
actions.push(action);
|
|
1084
|
+
return;
|
|
1085
|
+
}
|
|
1086
|
+
}
|
|
1087
|
+
if (canCheckDown) {
|
|
1088
|
+
const cellDown = board.rows[y + 1][x];
|
|
1089
|
+
const twoCharacterCandidate1 = character + cellDown.tile.character;
|
|
1090
|
+
if (!cellDown.tile.isBlank && config.twoCharacterTiles.includes(twoCharacterCandidate1)) {
|
|
1091
|
+
const action1 = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1092
|
+
x,
|
|
1093
|
+
y,
|
|
1094
|
+
value: character
|
|
1095
|
+
});
|
|
1096
|
+
const action2 = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1097
|
+
x,
|
|
1098
|
+
y: y + 1,
|
|
1099
|
+
value: _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_0__.EMPTY_CELL
|
|
1100
|
+
});
|
|
1101
|
+
board = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.reducer */ .I8.reducer(state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.reducer */ .I8.reducer(board, action1), action2);
|
|
1102
|
+
actions.push(action1, action2);
|
|
1103
|
+
scheduleMoveFocus();
|
|
1104
|
+
return;
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
if (canCheckLeft) {
|
|
1108
|
+
const cellLeft = board.rows[y][x - 1];
|
|
1109
|
+
const twoCharacterCandidate2 = cellLeft.tile.character + character;
|
|
1110
|
+
if (!cellLeft.tile.isBlank && config.twoCharacterTiles.includes(twoCharacterCandidate2)) {
|
|
1111
|
+
const action3 = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1112
|
+
x: x - 1,
|
|
1113
|
+
y,
|
|
1114
|
+
value: twoCharacterCandidate2
|
|
1115
|
+
});
|
|
1116
|
+
board = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.reducer */ .I8.reducer(board, action3);
|
|
1117
|
+
actions.push(action3);
|
|
1118
|
+
return;
|
|
1119
|
+
}
|
|
1120
|
+
}
|
|
1121
|
+
if (canCheckRight) {
|
|
1122
|
+
const cellRight = board.rows[y][x + 1];
|
|
1123
|
+
const twoCharacterCandidate3 = character + cellRight.tile.character;
|
|
1124
|
+
if (!cellRight.tile.isBlank && config.twoCharacterTiles.includes(twoCharacterCandidate3)) {
|
|
1125
|
+
const action11 = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1126
|
+
x,
|
|
1127
|
+
y,
|
|
1128
|
+
value: character
|
|
1129
|
+
});
|
|
1130
|
+
const action21 = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1131
|
+
x: x + 1,
|
|
1132
|
+
y,
|
|
1133
|
+
value: _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_0__.EMPTY_CELL
|
|
1134
|
+
});
|
|
1135
|
+
board = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.reducer */ .I8.reducer(state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.reducer */ .I8.reducer(board, action11), action21);
|
|
1136
|
+
actions.push(action11, action21);
|
|
1137
|
+
scheduleMoveFocus();
|
|
1138
|
+
return;
|
|
1139
|
+
}
|
|
1140
|
+
}
|
|
1141
|
+
if (!canCheckDown || !canCheckRight) {
|
|
1142
|
+
const cell = board.rows[y][x];
|
|
1143
|
+
const twoCharacterCandidate4 = cell.tile.character + character;
|
|
1144
|
+
if (!cell.tile.isBlank && config.twoCharacterTiles.includes(twoCharacterCandidate4)) {
|
|
1145
|
+
const action4 = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1146
|
+
x,
|
|
1147
|
+
y,
|
|
1148
|
+
value: twoCharacterCandidate4
|
|
1149
|
+
});
|
|
1150
|
+
board = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.reducer */ .I8.reducer(board, action4);
|
|
1151
|
+
actions.push(action4);
|
|
1152
|
+
return;
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1155
|
+
const action5 = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1156
|
+
x,
|
|
1157
|
+
y,
|
|
1158
|
+
value: character
|
|
1159
|
+
});
|
|
1160
|
+
board = state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.reducer */ .I8.reducer(board, action5);
|
|
1161
|
+
actions.push(action5);
|
|
1162
|
+
scheduleMoveFocus();
|
|
1163
|
+
});
|
|
1164
|
+
moveFocus(Math.abs(position.x - x) + Math.abs(position.y - y));
|
|
1165
|
+
actions.forEach(dispatch);
|
|
1166
|
+
}, [
|
|
1167
|
+
config,
|
|
1168
|
+
directionRef,
|
|
1169
|
+
dispatch,
|
|
1170
|
+
moveFocus,
|
|
1171
|
+
rows
|
|
1172
|
+
]);
|
|
1173
|
+
const onChange = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((event)=>{
|
|
1174
|
+
const position = getInputRefPosition(event.target);
|
|
1175
|
+
if (!position) {
|
|
1176
|
+
return;
|
|
1177
|
+
}
|
|
1178
|
+
const value = (0,lib__WEBPACK_IMPORTED_MODULE_5__/* .extractInputValue */ .WM)(event.target);
|
|
1179
|
+
if (!value) {
|
|
1180
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1181
|
+
...position,
|
|
1182
|
+
value: _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_0__.EMPTY_CELL
|
|
1183
|
+
}));
|
|
1184
|
+
moveFocus(-1);
|
|
1185
|
+
return;
|
|
1186
|
+
}
|
|
1187
|
+
if (value === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_0__.EMPTY_CELL) {
|
|
1188
|
+
const { x , y } = position;
|
|
1189
|
+
const cell = rows[y][x];
|
|
1190
|
+
if (cell.hasTile()) {
|
|
1191
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.toggleCellIsBlank */ .I8.actions.toggleCellIsBlank(position));
|
|
1192
|
+
return;
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
insertValue(position, value);
|
|
1196
|
+
}, [
|
|
1197
|
+
dispatch,
|
|
1198
|
+
insertValue,
|
|
1199
|
+
moveFocus,
|
|
1200
|
+
rows
|
|
1201
|
+
]);
|
|
1202
|
+
const onDirectionToggle = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(()=>setLastDirection(toggleDirection), []);
|
|
1203
|
+
const onFocus = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((x, y)=>{
|
|
1204
|
+
activeIndexRef.current = {
|
|
1205
|
+
x,
|
|
1206
|
+
y
|
|
1207
|
+
};
|
|
1208
|
+
}, []);
|
|
1209
|
+
const onKeyDown = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>{
|
|
1210
|
+
return (0,lib__WEBPACK_IMPORTED_MODULE_5__/* .createKeyboardNavigation */ .np)({
|
|
1055
1211
|
onArrowDown: (event)=>{
|
|
1056
|
-
|
|
1212
|
+
event.preventDefault();
|
|
1213
|
+
if ((0,lib__WEBPACK_IMPORTED_MODULE_5__/* .isCtrl */ .yl)(event)) {
|
|
1057
1214
|
onDirectionToggle();
|
|
1058
1215
|
} else {
|
|
1059
1216
|
changeActiveIndex(0, 1);
|
|
1060
1217
|
}
|
|
1061
1218
|
},
|
|
1062
1219
|
onArrowLeft: (event)=>{
|
|
1063
|
-
|
|
1220
|
+
event.preventDefault();
|
|
1221
|
+
if ((0,lib__WEBPACK_IMPORTED_MODULE_5__/* .isCtrl */ .yl)(event)) {
|
|
1064
1222
|
onDirectionToggle();
|
|
1065
1223
|
} else {
|
|
1066
1224
|
changeActiveIndex(-1, 0);
|
|
1067
1225
|
}
|
|
1068
1226
|
},
|
|
1069
1227
|
onArrowRight: (event)=>{
|
|
1070
|
-
|
|
1228
|
+
event.preventDefault();
|
|
1229
|
+
if ((0,lib__WEBPACK_IMPORTED_MODULE_5__/* .isCtrl */ .yl)(event)) {
|
|
1071
1230
|
onDirectionToggle();
|
|
1072
1231
|
} else {
|
|
1073
1232
|
changeActiveIndex(1, 0);
|
|
1074
1233
|
}
|
|
1075
1234
|
},
|
|
1076
1235
|
onArrowUp: (event)=>{
|
|
1077
|
-
|
|
1236
|
+
event.preventDefault();
|
|
1237
|
+
if ((0,lib__WEBPACK_IMPORTED_MODULE_5__/* .isCtrl */ .yl)(event)) {
|
|
1078
1238
|
onDirectionToggle();
|
|
1079
1239
|
} else {
|
|
1080
1240
|
changeActiveIndex(0, -1);
|
|
@@ -1085,22 +1245,24 @@ const useGrid = (rows)=>{
|
|
|
1085
1245
|
if (!position) {
|
|
1086
1246
|
return;
|
|
1087
1247
|
}
|
|
1088
|
-
|
|
1248
|
+
event.preventDefault();
|
|
1249
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1089
1250
|
...position,
|
|
1090
1251
|
value: _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_0__.EMPTY_CELL
|
|
1091
1252
|
}));
|
|
1092
|
-
|
|
1253
|
+
moveFocus(-1);
|
|
1093
1254
|
},
|
|
1094
1255
|
onDelete: (event)=>{
|
|
1095
1256
|
const position = getInputRefPosition(event.target);
|
|
1096
1257
|
if (!position) {
|
|
1097
1258
|
return;
|
|
1098
1259
|
}
|
|
1099
|
-
|
|
1260
|
+
event.preventDefault();
|
|
1261
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1100
1262
|
...position,
|
|
1101
1263
|
value: _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_0__.EMPTY_CELL
|
|
1102
1264
|
}));
|
|
1103
|
-
|
|
1265
|
+
moveFocus(1);
|
|
1104
1266
|
},
|
|
1105
1267
|
onKeyDown: (event)=>{
|
|
1106
1268
|
const position = getInputRefPosition(event.target);
|
|
@@ -1109,129 +1271,82 @@ const useGrid = (rows)=>{
|
|
|
1109
1271
|
}
|
|
1110
1272
|
const { x , y } = position;
|
|
1111
1273
|
const character = event.key.toLowerCase();
|
|
1112
|
-
const isTogglingBlank = (0,
|
|
1274
|
+
const isTogglingBlank = (0,lib__WEBPACK_IMPORTED_MODULE_5__/* .isCtrl */ .yl)(event) && character === "b";
|
|
1113
1275
|
const twoCharacterTile = config.getTwoCharacterTileByPrefix(character);
|
|
1114
1276
|
if (isTogglingBlank) {
|
|
1115
|
-
|
|
1277
|
+
event.preventDefault();
|
|
1278
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.toggleCellIsBlank */ .I8.actions.toggleCellIsBlank(position));
|
|
1116
1279
|
return;
|
|
1117
1280
|
}
|
|
1118
|
-
if ((0,
|
|
1281
|
+
if ((0,lib__WEBPACK_IMPORTED_MODULE_5__/* .isCtrl */ .yl)(event) && twoCharacterTile) {
|
|
1119
1282
|
event.preventDefault();
|
|
1120
|
-
dispatch(
|
|
1283
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1121
1284
|
x,
|
|
1122
1285
|
y,
|
|
1123
1286
|
value: twoCharacterTile
|
|
1124
1287
|
}));
|
|
1125
|
-
|
|
1288
|
+
moveFocus(1);
|
|
1126
1289
|
return;
|
|
1127
1290
|
}
|
|
1128
|
-
|
|
1291
|
+
const cell = rows[y][x];
|
|
1292
|
+
const twoCharacterCandidate = cell.tile.character + character;
|
|
1293
|
+
if (config.twoCharacterTiles.includes(twoCharacterCandidate)) {
|
|
1294
|
+
event.preventDefault();
|
|
1295
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1296
|
+
...position,
|
|
1297
|
+
value: twoCharacterCandidate
|
|
1298
|
+
}));
|
|
1299
|
+
moveFocus(1);
|
|
1129
1300
|
return;
|
|
1130
1301
|
}
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
const cellUp = rows[y - 1][x];
|
|
1137
|
-
const twoCharacterCandidate = cellUp.tile.character + character;
|
|
1138
|
-
if (config.twoCharacterTiles.includes(twoCharacterCandidate)) {
|
|
1139
|
-
dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1140
|
-
...position,
|
|
1141
|
-
y: y - 1,
|
|
1142
|
-
value: twoCharacterCandidate
|
|
1143
|
-
}));
|
|
1144
|
-
return;
|
|
1145
|
-
}
|
|
1146
|
-
}
|
|
1147
|
-
if (canCheckDown) {
|
|
1148
|
-
const cellDown = rows[y + 1][x];
|
|
1149
|
-
const twoCharacterCandidate1 = character + cellDown.tile.character;
|
|
1150
|
-
if (config.twoCharacterTiles.includes(twoCharacterCandidate1)) {
|
|
1151
|
-
dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1152
|
-
...position,
|
|
1153
|
-
value: character
|
|
1154
|
-
}));
|
|
1155
|
-
dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1156
|
-
...position,
|
|
1157
|
-
y: y + 1,
|
|
1158
|
-
value: _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_0__.EMPTY_CELL
|
|
1159
|
-
}));
|
|
1160
|
-
onMoveFocus("forward");
|
|
1161
|
-
return;
|
|
1162
|
-
}
|
|
1163
|
-
}
|
|
1164
|
-
if (canCheckLeft) {
|
|
1165
|
-
const cellLeft = rows[y][x - 1];
|
|
1166
|
-
const twoCharacterCandidate2 = cellLeft.tile.character + character;
|
|
1167
|
-
if (config.twoCharacterTiles.includes(twoCharacterCandidate2)) {
|
|
1168
|
-
dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1169
|
-
...position,
|
|
1170
|
-
x: x - 1,
|
|
1171
|
-
value: twoCharacterCandidate2
|
|
1172
|
-
}));
|
|
1173
|
-
return;
|
|
1174
|
-
}
|
|
1175
|
-
}
|
|
1176
|
-
if (canCheckRight) {
|
|
1177
|
-
const cellRight = rows[y][x + 1];
|
|
1178
|
-
const twoCharacterCandidate3 = character + cellRight.tile.character;
|
|
1179
|
-
if (config.twoCharacterTiles.includes(twoCharacterCandidate3)) {
|
|
1180
|
-
dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1181
|
-
...position,
|
|
1182
|
-
value: character
|
|
1183
|
-
}));
|
|
1184
|
-
dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1185
|
-
...position,
|
|
1186
|
-
x: x + 1,
|
|
1187
|
-
value: _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_0__.EMPTY_CELL
|
|
1188
|
-
}));
|
|
1189
|
-
onMoveFocus("forward");
|
|
1190
|
-
return;
|
|
1191
|
-
}
|
|
1192
|
-
}
|
|
1193
|
-
if (!canCheckDown || !canCheckRight) {
|
|
1194
|
-
const cell = rows[y][x];
|
|
1195
|
-
const twoCharacterCandidate4 = cell.tile.character + character;
|
|
1196
|
-
if (config.twoCharacterTiles.includes(twoCharacterCandidate4)) {
|
|
1197
|
-
dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1198
|
-
...position,
|
|
1199
|
-
value: twoCharacterCandidate4
|
|
1200
|
-
}));
|
|
1201
|
-
return;
|
|
1202
|
-
}
|
|
1302
|
+
if (event.target instanceof HTMLInputElement && event.target.value === event.key) {
|
|
1303
|
+
// change event did not fire because the same character was typed over the current one
|
|
1304
|
+
// but we still want to move the caret
|
|
1305
|
+
event.preventDefault();
|
|
1306
|
+
moveFocus(1);
|
|
1203
1307
|
}
|
|
1204
|
-
dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .boardSlice.actions.changeCellValue */ .I8.actions.changeCellValue({
|
|
1205
|
-
...position,
|
|
1206
|
-
value: character
|
|
1207
|
-
}));
|
|
1208
|
-
onMoveFocus("forward");
|
|
1209
1308
|
},
|
|
1210
1309
|
onSpace: (event)=>{
|
|
1211
1310
|
const position = getInputRefPosition(event.target);
|
|
1212
1311
|
if (!position) {
|
|
1213
1312
|
return;
|
|
1214
1313
|
}
|
|
1215
|
-
|
|
1314
|
+
event.preventDefault();
|
|
1315
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .boardSlice.actions.toggleCellIsBlank */ .I8.actions.toggleCellIsBlank(position));
|
|
1216
1316
|
}
|
|
1217
1317
|
});
|
|
1218
1318
|
}, [
|
|
1219
1319
|
changeActiveIndex,
|
|
1220
1320
|
config,
|
|
1221
1321
|
dispatch,
|
|
1222
|
-
lastDirectionRef,
|
|
1223
1322
|
onDirectionToggle,
|
|
1224
1323
|
rows
|
|
1225
1324
|
]);
|
|
1325
|
+
const onPaste = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((event)=>{
|
|
1326
|
+
if (!(event.target instanceof HTMLInputElement)) {
|
|
1327
|
+
return;
|
|
1328
|
+
}
|
|
1329
|
+
const position = getInputRefPosition(event.target);
|
|
1330
|
+
if (!position) {
|
|
1331
|
+
return;
|
|
1332
|
+
}
|
|
1333
|
+
event.preventDefault();
|
|
1334
|
+
const value = event.clipboardData.getData("text/plain").toLocaleLowerCase();
|
|
1335
|
+
insertValue(position, value);
|
|
1336
|
+
}, [
|
|
1337
|
+
insertValue
|
|
1338
|
+
]);
|
|
1226
1339
|
return [
|
|
1227
1340
|
{
|
|
1228
|
-
|
|
1341
|
+
direction,
|
|
1229
1342
|
refs
|
|
1230
1343
|
},
|
|
1231
1344
|
{
|
|
1345
|
+
onChange,
|
|
1232
1346
|
onDirectionToggle,
|
|
1233
1347
|
onFocus,
|
|
1234
|
-
onKeyDown
|
|
1348
|
+
onKeyDown,
|
|
1349
|
+
onPaste
|
|
1235
1350
|
},
|
|
1236
1351
|
];
|
|
1237
1352
|
};
|
|
@@ -1432,6 +1547,7 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
|
|
|
1432
1547
|
const Dictionary = ({ className })=>{
|
|
1433
1548
|
const translate = (0,state__WEBPACK_IMPORTED_MODULE_2__/* .useTranslate */ .qM)();
|
|
1434
1549
|
const { results , isLoading } = (0,state__WEBPACK_IMPORTED_MODULE_2__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_2__/* .selectDictionary */ .w1);
|
|
1550
|
+
const error = (0,state__WEBPACK_IMPORTED_MODULE_2__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_2__/* .selectDictionaryError */ .mK);
|
|
1435
1551
|
const isFirstAllowed = results.length > 0 ? results[0].isAllowed : undefined;
|
|
1436
1552
|
return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
|
|
1437
1553
|
className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().dictionary), className, {
|
|
@@ -1439,6 +1555,11 @@ const Dictionary = ({ className })=>{
|
|
|
1439
1555
|
[(_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().isNotAllowed)]: isFirstAllowed === false
|
|
1440
1556
|
}),
|
|
1441
1557
|
children: [
|
|
1558
|
+
typeof error !== "undefined" && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyState__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
|
|
1559
|
+
className: (_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().emptyState),
|
|
1560
|
+
type: "error",
|
|
1561
|
+
children: error.message
|
|
1562
|
+
}),
|
|
1442
1563
|
results.map(({ definitions , isAllowed , word })=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
|
|
1443
1564
|
className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().result), {
|
|
1444
1565
|
[(_Dictionary_module_scss__WEBPACK_IMPORTED_MODULE_5___default().isAllowed)]: isAllowed === true,
|
|
@@ -1927,7 +2048,7 @@ __webpack_async_result__();
|
|
|
1927
2048
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16689);
|
|
1928
2049
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
|
|
1929
2050
|
/* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6942);
|
|
1930
|
-
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
2051
|
+
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75558);
|
|
1931
2052
|
/* harmony import */ var _Key__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(50237);
|
|
1932
2053
|
|
|
1933
2054
|
|
|
@@ -2475,12 +2596,13 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
2475
2596
|
/* harmony export */ });
|
|
2476
2597
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20997);
|
|
2477
2598
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
|
|
2478
|
-
/* harmony import */ var
|
|
2479
|
-
/* harmony import */ var
|
|
2480
|
-
/* harmony import */ var
|
|
2481
|
-
/* harmony import */ var
|
|
2482
|
-
/* harmony import */ var
|
|
2483
|
-
/* harmony import */ var
|
|
2599
|
+
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
|
|
2600
|
+
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
|
|
2601
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
|
|
2602
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
|
|
2603
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
|
|
2604
|
+
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
|
|
2605
|
+
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75558);
|
|
2484
2606
|
/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51413);
|
|
2485
2607
|
/* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(42687);
|
|
2486
2608
|
/* harmony import */ var _Rack_module_scss__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Rack_module_scss__WEBPACK_IMPORTED_MODULE_7__);
|
|
@@ -2496,19 +2618,20 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
|
|
|
2496
2618
|
|
|
2497
2619
|
|
|
2498
2620
|
const Rack = ({ className })=>{
|
|
2621
|
+
const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)();
|
|
2499
2622
|
const config = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectConfig */ .$o);
|
|
2500
2623
|
const rack = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectRack */ .QB);
|
|
2501
2624
|
const resultCandidateTiles = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectResultCandidateTiles */ .z$);
|
|
2502
|
-
const tiles = (0,
|
|
2625
|
+
const tiles = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>(0,lib__WEBPACK_IMPORTED_MODULE_4__/* .zipCharactersAndTiles */ .gV)(rack, resultCandidateTiles), [
|
|
2503
2626
|
rack,
|
|
2504
2627
|
resultCandidateTiles
|
|
2505
2628
|
]);
|
|
2506
2629
|
const tilesCount = tiles.length;
|
|
2507
|
-
const tilesRefs = (0,
|
|
2630
|
+
const tilesRefs = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>(0,lib__WEBPACK_IMPORTED_MODULE_4__/* .createArray */ .Ri)(tilesCount).map(()=>/*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_2__.createRef)()), [
|
|
2508
2631
|
tilesCount
|
|
2509
2632
|
]);
|
|
2510
|
-
const activeIndexRef = (0,
|
|
2511
|
-
const changeActiveIndex = (0,
|
|
2633
|
+
const activeIndexRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();
|
|
2634
|
+
const changeActiveIndex = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((offset)=>{
|
|
2512
2635
|
const nextActiveIndex = Math.min(Math.max((activeIndexRef.current || 0) + offset, 0), tilesCount - 1);
|
|
2513
2636
|
const tileRef = tilesRefs[nextActiveIndex].current;
|
|
2514
2637
|
if (tileRef) {
|
|
@@ -2520,7 +2643,33 @@ const Rack = ({ className })=>{
|
|
|
2520
2643
|
tilesCount,
|
|
2521
2644
|
tilesRefs
|
|
2522
2645
|
]);
|
|
2523
|
-
const
|
|
2646
|
+
const handleChange = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((event)=>{
|
|
2647
|
+
const value = (0,lib__WEBPACK_IMPORTED_MODULE_4__/* .extractInputValue */ .WM)(event.target);
|
|
2648
|
+
const characters = value ? (0,lib__WEBPACK_IMPORTED_MODULE_4__/* .extractCharacters */ .nK)(config, value) : [];
|
|
2649
|
+
changeActiveIndex(value ? characters.length : -1);
|
|
2650
|
+
}, [
|
|
2651
|
+
changeActiveIndex,
|
|
2652
|
+
config
|
|
2653
|
+
]);
|
|
2654
|
+
const handlePaste = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((event)=>{
|
|
2655
|
+
const index = activeIndexRef.current;
|
|
2656
|
+
if (typeof index === "undefined") {
|
|
2657
|
+
return;
|
|
2658
|
+
}
|
|
2659
|
+
event.preventDefault();
|
|
2660
|
+
const value = event.clipboardData.getData("text/plain").toLocaleLowerCase();
|
|
2661
|
+
const characters = value ? (0,lib__WEBPACK_IMPORTED_MODULE_4__/* .extractCharacters */ .nK)(config, value) : [];
|
|
2662
|
+
changeActiveIndex(value ? characters.length : -1);
|
|
2663
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_5__/* .rackSlice.actions.changeCharacters */ .O_.actions.changeCharacters({
|
|
2664
|
+
characters,
|
|
2665
|
+
index
|
|
2666
|
+
}));
|
|
2667
|
+
}, [
|
|
2668
|
+
changeActiveIndex,
|
|
2669
|
+
config,
|
|
2670
|
+
dispatch
|
|
2671
|
+
]);
|
|
2672
|
+
const handleKeyDown = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>{
|
|
2524
2673
|
return (0,lib__WEBPACK_IMPORTED_MODULE_4__/* .createKeyboardNavigation */ .np)({
|
|
2525
2674
|
onArrowLeft: (event)=>{
|
|
2526
2675
|
event.preventDefault();
|
|
@@ -2530,12 +2679,18 @@ const Rack = ({ className })=>{
|
|
|
2530
2679
|
event.preventDefault();
|
|
2531
2680
|
changeActiveIndex(1);
|
|
2532
2681
|
},
|
|
2533
|
-
onBackspace: ()=>{
|
|
2682
|
+
onBackspace: (event)=>{
|
|
2683
|
+
event.preventDefault();
|
|
2534
2684
|
changeActiveIndex(-1);
|
|
2535
2685
|
},
|
|
2536
2686
|
onKeyDown: (event)=>{
|
|
2537
|
-
|
|
2538
|
-
|
|
2687
|
+
if ((0,lib__WEBPACK_IMPORTED_MODULE_4__/* .isCtrl */ .yl)(event) && config.isTwoCharacterTilePrefix(event.key)) {
|
|
2688
|
+
changeActiveIndex(1);
|
|
2689
|
+
} else if (event.currentTarget.value === event.key) {
|
|
2690
|
+
// change event did not fire because the same character was typed over the current one
|
|
2691
|
+
// but we still want to move the caret
|
|
2692
|
+
event.preventDefault();
|
|
2693
|
+
event.stopPropagation();
|
|
2539
2694
|
changeActiveIndex(1);
|
|
2540
2695
|
}
|
|
2541
2696
|
}
|
|
@@ -2545,14 +2700,16 @@ const Rack = ({ className })=>{
|
|
|
2545
2700
|
config
|
|
2546
2701
|
]);
|
|
2547
2702
|
return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
|
|
2548
|
-
className:
|
|
2703
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Rack_module_scss__WEBPACK_IMPORTED_MODULE_7___default().rack), className),
|
|
2704
|
+
onPaste: handlePaste,
|
|
2549
2705
|
children: tiles.map(({ character , tile }, index)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_RackTile__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
|
|
2550
2706
|
activeIndexRef: activeIndexRef,
|
|
2551
2707
|
character: character,
|
|
2552
2708
|
index: index,
|
|
2553
2709
|
inputRef: tilesRefs[index],
|
|
2554
2710
|
tile: tile,
|
|
2555
|
-
|
|
2711
|
+
onChange: handleChange,
|
|
2712
|
+
onKeyDown: handleKeyDown
|
|
2556
2713
|
}, index))
|
|
2557
2714
|
});
|
|
2558
2715
|
};
|
|
@@ -2578,7 +2735,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
2578
2735
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
|
|
2579
2736
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
|
|
2580
2737
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
|
|
2581
|
-
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
2738
|
+
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75558);
|
|
2582
2739
|
/* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(90485);
|
|
2583
2740
|
/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(51413);
|
|
2584
2741
|
/* harmony import */ var _Tile__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(54031);
|
|
@@ -2595,7 +2752,7 @@ state__WEBPACK_IMPORTED_MODULE_6__ = (__webpack_async_dependencies__.then ? (awa
|
|
|
2595
2752
|
|
|
2596
2753
|
|
|
2597
2754
|
|
|
2598
|
-
const RackTile = ({ activeIndexRef , character , index , inputRef , tile , onKeyDown })=>{
|
|
2755
|
+
const RackTile = ({ activeIndexRef , character , index , inputRef , tile , onChange , onKeyDown , })=>{
|
|
2599
2756
|
const dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)();
|
|
2600
2757
|
const translate = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTranslate */ .qM)();
|
|
2601
2758
|
const config = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_6__/* .selectConfig */ .$o);
|
|
@@ -2605,33 +2762,48 @@ const RackTile = ({ activeIndexRef , character , index , inputRef , tile , onKey
|
|
|
2605
2762
|
}, [
|
|
2606
2763
|
index
|
|
2607
2764
|
]);
|
|
2608
|
-
const
|
|
2609
|
-
|
|
2610
|
-
|
|
2765
|
+
const handleChange = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((event)=>{
|
|
2766
|
+
event.preventDefault();
|
|
2767
|
+
event.stopPropagation();
|
|
2768
|
+
const value = (0,lib__WEBPACK_IMPORTED_MODULE_4__/* .extractInputValue */ .WM)(event.target);
|
|
2769
|
+
const characters = value ? (0,lib__WEBPACK_IMPORTED_MODULE_4__/* .extractCharacters */ .nK)(config, value) : [
|
|
2770
|
+
null
|
|
2771
|
+
];
|
|
2772
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .rackSlice.actions.changeCharacters */ .O_.actions.changeCharacters({
|
|
2773
|
+
characters,
|
|
2611
2774
|
index
|
|
2612
2775
|
}));
|
|
2776
|
+
onChange(event);
|
|
2613
2777
|
}, [
|
|
2614
|
-
|
|
2778
|
+
config,
|
|
2779
|
+
index,
|
|
2780
|
+
onChange
|
|
2615
2781
|
]);
|
|
2616
2782
|
const handleKeyDown = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>{
|
|
2617
2783
|
return (0,lib__WEBPACK_IMPORTED_MODULE_4__/* .createKeyboardNavigation */ .np)({
|
|
2618
|
-
onBackspace: ()=>
|
|
2619
|
-
|
|
2784
|
+
onBackspace: (event)=>{
|
|
2785
|
+
event.preventDefault();
|
|
2786
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .rackSlice.actions.changeCharacter */ .O_.actions.changeCharacter({
|
|
2787
|
+
character: null,
|
|
2788
|
+
index
|
|
2789
|
+
}));
|
|
2790
|
+
},
|
|
2620
2791
|
onKeyDown: (event)=>{
|
|
2621
|
-
|
|
2622
|
-
const twoCharacterTile = config.getTwoCharacterTileByPrefix(newCharacter);
|
|
2623
|
-
if ((0,lib__WEBPACK_IMPORTED_MODULE_4__/* .isCtrl */ .yl)(event) && twoCharacterTile) {
|
|
2792
|
+
if ((0,lib__WEBPACK_IMPORTED_MODULE_4__/* .isCtrl */ .yl)(event) && config.isTwoCharacterTilePrefix(event.key)) {
|
|
2624
2793
|
event.preventDefault();
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2794
|
+
event.stopPropagation();
|
|
2795
|
+
const twoTilesCharacter = config.getTwoCharacterTileByPrefix(event.key);
|
|
2796
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
2797
|
+
dispatch(state__WEBPACK_IMPORTED_MODULE_6__/* .rackSlice.actions.changeCharacter */ .O_.actions.changeCharacter({
|
|
2798
|
+
character: twoTilesCharacter,
|
|
2799
|
+
index
|
|
2800
|
+
}));
|
|
2628
2801
|
}
|
|
2629
2802
|
onKeyDown(event);
|
|
2630
2803
|
}
|
|
2631
2804
|
});
|
|
2632
2805
|
}, [
|
|
2633
|
-
|
|
2634
|
-
handleCharacterChange,
|
|
2806
|
+
index,
|
|
2635
2807
|
onKeyDown
|
|
2636
2808
|
]);
|
|
2637
2809
|
return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Tile__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
|
|
@@ -2646,6 +2818,7 @@ const RackTile = ({ activeIndexRef , character , index , inputRef , tile , onKey
|
|
|
2646
2818
|
raised: true,
|
|
2647
2819
|
size: parameters__WEBPACK_IMPORTED_MODULE_5__/* .TILE_SIZE */ .I_,
|
|
2648
2820
|
tabIndex: index === 0 ? undefined : -1,
|
|
2821
|
+
onChange: handleChange,
|
|
2649
2822
|
onFocus: handleFocus,
|
|
2650
2823
|
onKeyDown: handleKeyDown
|
|
2651
2824
|
}, index);
|
|
@@ -3105,21 +3278,24 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
3105
3278
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
|
|
3106
3279
|
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
|
|
3107
3280
|
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
|
|
3108
|
-
/* harmony import */ var
|
|
3109
|
-
/* harmony import */ var
|
|
3110
|
-
/* harmony import */ var
|
|
3111
|
-
/* harmony import */ var
|
|
3112
|
-
/* harmony import */ var
|
|
3113
|
-
/* harmony import */ var
|
|
3114
|
-
/* harmony import */ var
|
|
3115
|
-
/* harmony import */ var
|
|
3116
|
-
/* harmony import */ var
|
|
3117
|
-
/* harmony import */ var
|
|
3118
|
-
/* harmony import */ var
|
|
3119
|
-
/* harmony import */ var
|
|
3120
|
-
/* harmony import */ var
|
|
3121
|
-
|
|
3122
|
-
|
|
3281
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
|
|
3282
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
|
|
3283
|
+
/* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(80551);
|
|
3284
|
+
/* harmony import */ var react_window__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_window__WEBPACK_IMPORTED_MODULE_3__);
|
|
3285
|
+
/* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(90485);
|
|
3286
|
+
/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51413);
|
|
3287
|
+
/* harmony import */ var _EmptyState__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(79590);
|
|
3288
|
+
/* harmony import */ var _Loading__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(85907);
|
|
3289
|
+
/* harmony import */ var _ResultsInput__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(57345);
|
|
3290
|
+
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(61157);
|
|
3291
|
+
/* harmony import */ var _HeaderButton__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(53236);
|
|
3292
|
+
/* harmony import */ var _Result__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(73829);
|
|
3293
|
+
/* harmony import */ var _Results_module_scss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(81177);
|
|
3294
|
+
/* harmony import */ var _Results_module_scss__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_Results_module_scss__WEBPACK_IMPORTED_MODULE_13__);
|
|
3295
|
+
/* harmony import */ var _SolveButton__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(17290);
|
|
3296
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_5__, _EmptyState__WEBPACK_IMPORTED_MODULE_6__, _Loading__WEBPACK_IMPORTED_MODULE_7__, _ResultsInput__WEBPACK_IMPORTED_MODULE_8__, _HeaderButton__WEBPACK_IMPORTED_MODULE_10__, _Result__WEBPACK_IMPORTED_MODULE_11__, _SolveButton__WEBPACK_IMPORTED_MODULE_12__]);
|
|
3297
|
+
([state__WEBPACK_IMPORTED_MODULE_5__, _EmptyState__WEBPACK_IMPORTED_MODULE_6__, _Loading__WEBPACK_IMPORTED_MODULE_7__, _ResultsInput__WEBPACK_IMPORTED_MODULE_8__, _HeaderButton__WEBPACK_IMPORTED_MODULE_10__, _Result__WEBPACK_IMPORTED_MODULE_11__, _SolveButton__WEBPACK_IMPORTED_MODULE_12__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
3298
|
+
|
|
3123
3299
|
|
|
3124
3300
|
|
|
3125
3301
|
|
|
@@ -3134,68 +3310,84 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
|
|
|
3134
3310
|
|
|
3135
3311
|
|
|
3136
3312
|
const Results = ({ height , width })=>{
|
|
3137
|
-
const translate = (0,
|
|
3138
|
-
const allResults = (0,
|
|
3139
|
-
const results = (0,
|
|
3140
|
-
const isLoading = (0,
|
|
3141
|
-
const isOutdated = (0,
|
|
3313
|
+
const translate = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTranslate */ .qM)();
|
|
3314
|
+
const allResults = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectSortedResults */ .f2);
|
|
3315
|
+
const results = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectSortedFilteredResults */ .dN);
|
|
3316
|
+
const isLoading = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectIsLoading */ .xU);
|
|
3317
|
+
const isOutdated = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectAreResultsOutdated */ .Mj);
|
|
3318
|
+
const error = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectSolveError */ .Rn);
|
|
3319
|
+
const listRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();
|
|
3320
|
+
(0,react__WEBPACK_IMPORTED_MODULE_2__.useLayoutEffect)(()=>{
|
|
3321
|
+
if (listRef.current) {
|
|
3322
|
+
listRef.current.scrollTo(0, 0);
|
|
3323
|
+
}
|
|
3324
|
+
}, [
|
|
3325
|
+
listRef,
|
|
3326
|
+
results
|
|
3327
|
+
]);
|
|
3142
3328
|
return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
|
|
3143
|
-
className: (
|
|
3329
|
+
className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_13___default().results),
|
|
3144
3330
|
children: [
|
|
3145
3331
|
/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
|
|
3146
|
-
className: (
|
|
3147
|
-
children:
|
|
3332
|
+
className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_13___default().header),
|
|
3333
|
+
children: _constants__WEBPACK_IMPORTED_MODULE_9__/* .COLUMNS.map */ .L.map((column)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_HeaderButton__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Z, {
|
|
3148
3334
|
column: column
|
|
3149
3335
|
}, column.id))
|
|
3150
3336
|
}),
|
|
3151
|
-
typeof
|
|
3152
|
-
className: (
|
|
3337
|
+
typeof error !== "undefined" && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyState__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
|
|
3338
|
+
className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_13___default().emptyState),
|
|
3339
|
+
type: "error",
|
|
3340
|
+
children: error.message
|
|
3341
|
+
}),
|
|
3342
|
+
typeof results === "undefined" && typeof error === "undefined" && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_EmptyState__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
|
|
3343
|
+
className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_13___default().emptyState),
|
|
3153
3344
|
type: "info",
|
|
3154
3345
|
children: [
|
|
3155
3346
|
translate("results.empty-state.uninitialized"),
|
|
3156
|
-
/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(
|
|
3347
|
+
/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SolveButton__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {})
|
|
3157
3348
|
]
|
|
3158
3349
|
}),
|
|
3159
|
-
typeof results !== "undefined" && typeof allResults !== "undefined" && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
|
|
3350
|
+
typeof results !== "undefined" && typeof allResults !== "undefined" && typeof error === "undefined" && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
|
|
3160
3351
|
children: [
|
|
3161
|
-
isOutdated && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
|
|
3162
|
-
className: (
|
|
3352
|
+
isOutdated && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_EmptyState__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
|
|
3353
|
+
className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_13___default().emptyState),
|
|
3163
3354
|
type: "info",
|
|
3164
3355
|
children: [
|
|
3165
3356
|
translate("results.empty-state.outdated"),
|
|
3166
|
-
/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(
|
|
3357
|
+
/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SolveButton__WEBPACK_IMPORTED_MODULE_12__/* ["default"] */ .Z, {})
|
|
3167
3358
|
]
|
|
3168
3359
|
}),
|
|
3169
3360
|
!isOutdated && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
|
|
3170
3361
|
children: [
|
|
3171
|
-
allResults.length === 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(
|
|
3172
|
-
className: (
|
|
3362
|
+
allResults.length === 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyState__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
|
|
3363
|
+
className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_13___default().emptyState),
|
|
3173
3364
|
type: "warning",
|
|
3174
3365
|
children: translate("results.empty-state.no-results")
|
|
3175
3366
|
}),
|
|
3176
|
-
allResults.length > 0 && results.length === 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(
|
|
3177
|
-
className: (
|
|
3367
|
+
allResults.length > 0 && results.length === 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_EmptyState__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
|
|
3368
|
+
className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_13___default().emptyState),
|
|
3178
3369
|
type: "info",
|
|
3179
3370
|
children: translate("results.empty-state.no-filtered-results")
|
|
3180
3371
|
}),
|
|
3181
|
-
allResults.length > 0 && results.length > 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(
|
|
3182
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((
|
|
3183
|
-
[(
|
|
3372
|
+
allResults.length > 0 && results.length > 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_window__WEBPACK_IMPORTED_MODULE_3__.FixedSizeList, {
|
|
3373
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Results_module_scss__WEBPACK_IMPORTED_MODULE_13___default().list), {
|
|
3374
|
+
[(_Results_module_scss__WEBPACK_IMPORTED_MODULE_13___default().outdated)]: isOutdated
|
|
3184
3375
|
}),
|
|
3185
|
-
height: height -
|
|
3376
|
+
height: height - parameters__WEBPACK_IMPORTED_MODULE_4__/* .RESULTS_HEADER_HEIGHT */ .$L - parameters__WEBPACK_IMPORTED_MODULE_4__/* .RESULTS_INPUT_HEIGHT */ .qp,
|
|
3377
|
+
innerRef: listRef,
|
|
3186
3378
|
itemCount: results.length,
|
|
3187
|
-
itemSize:
|
|
3379
|
+
itemSize: parameters__WEBPACK_IMPORTED_MODULE_4__/* .RESULTS_ITEM_HEIGHT */ .rx,
|
|
3188
3380
|
width: width,
|
|
3189
|
-
children:
|
|
3381
|
+
children: _Result__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z
|
|
3190
3382
|
}),
|
|
3191
|
-
allResults.length > 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(
|
|
3192
|
-
className: (
|
|
3383
|
+
allResults.length > 0 && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_ResultsInput__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
|
|
3384
|
+
className: (_Results_module_scss__WEBPACK_IMPORTED_MODULE_13___default().input)
|
|
3193
3385
|
})
|
|
3194
3386
|
]
|
|
3195
3387
|
})
|
|
3196
3388
|
]
|
|
3197
3389
|
}),
|
|
3198
|
-
isLoading && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(
|
|
3390
|
+
isLoading && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_Loading__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {})
|
|
3199
3391
|
]
|
|
3200
3392
|
});
|
|
3201
3393
|
};
|
|
@@ -3344,7 +3536,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
3344
3536
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
|
|
3345
3537
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6022);
|
|
3346
3538
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__);
|
|
3347
|
-
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
3539
|
+
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75558);
|
|
3348
3540
|
/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(51413);
|
|
3349
3541
|
/* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(35628);
|
|
3350
3542
|
/* harmony import */ var _ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_ResultsInput_module_scss__WEBPACK_IMPORTED_MODULE_6__);
|
|
@@ -3919,17 +4111,23 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
3919
4111
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
|
|
3920
4112
|
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59003);
|
|
3921
4113
|
/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_1__);
|
|
3922
|
-
/* harmony import */ var
|
|
3923
|
-
/* harmony import */ var
|
|
3924
|
-
/* harmony import */ var
|
|
3925
|
-
/* harmony import */ var
|
|
3926
|
-
/* harmony import */ var
|
|
3927
|
-
/* harmony import */ var
|
|
3928
|
-
/* harmony import */ var
|
|
3929
|
-
/* harmony import */ var
|
|
3930
|
-
/* harmony import */ var
|
|
3931
|
-
var
|
|
3932
|
-
|
|
4114
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16689);
|
|
4115
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
|
|
4116
|
+
/* harmony import */ var react_modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(19931);
|
|
4117
|
+
/* harmony import */ var react_modal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_modal__WEBPACK_IMPORTED_MODULE_3__);
|
|
4118
|
+
/* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69755);
|
|
4119
|
+
/* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_4__);
|
|
4120
|
+
/* harmony import */ var icons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6942);
|
|
4121
|
+
/* harmony import */ var parameters__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(90485);
|
|
4122
|
+
/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(51413);
|
|
4123
|
+
/* harmony import */ var _SquareButton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(49021);
|
|
4124
|
+
/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(79362);
|
|
4125
|
+
/* harmony import */ var _Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(32455);
|
|
4126
|
+
/* harmony import */ var _Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10__);
|
|
4127
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_7__, _SquareButton__WEBPACK_IMPORTED_MODULE_8__]);
|
|
4128
|
+
([state__WEBPACK_IMPORTED_MODULE_7__, _SquareButton__WEBPACK_IMPORTED_MODULE_8__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
4129
|
+
|
|
4130
|
+
|
|
3933
4131
|
|
|
3934
4132
|
|
|
3935
4133
|
|
|
@@ -3940,38 +4138,53 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([stat
|
|
|
3940
4138
|
|
|
3941
4139
|
|
|
3942
4140
|
const Sidebar = ({ children , className , isOpen , title , onClose })=>{
|
|
3943
|
-
const translate = (0,
|
|
3944
|
-
|
|
4141
|
+
const translate = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTranslate */ .qM)();
|
|
4142
|
+
const { 0: shouldReturnFocusAfterClose , 1: setShouldReturnFocusAfterClose } = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(true);
|
|
4143
|
+
(0,react_use__WEBPACK_IMPORTED_MODULE_4__.useKey)("Escape", ()=>{
|
|
4144
|
+
setShouldReturnFocusAfterClose(false);
|
|
4145
|
+
onClose();
|
|
4146
|
+
}, undefined, [
|
|
4147
|
+
onClose
|
|
4148
|
+
]);
|
|
4149
|
+
(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(()=>{
|
|
4150
|
+
if (isOpen) {
|
|
4151
|
+
setShouldReturnFocusAfterClose(true);
|
|
4152
|
+
}
|
|
4153
|
+
}, [
|
|
4154
|
+
isOpen
|
|
4155
|
+
]);
|
|
4156
|
+
return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((react_modal__WEBPACK_IMPORTED_MODULE_3___default()), {
|
|
3945
4157
|
className: {
|
|
3946
|
-
afterOpen: (
|
|
3947
|
-
base: (
|
|
3948
|
-
beforeClose: (
|
|
4158
|
+
afterOpen: (_Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10___default().afterOpen),
|
|
4159
|
+
base: (_Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10___default().modal),
|
|
4160
|
+
beforeClose: (_Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10___default().beforeClose)
|
|
3949
4161
|
},
|
|
3950
|
-
closeTimeoutMS:
|
|
4162
|
+
closeTimeoutMS: parameters__WEBPACK_IMPORTED_MODULE_6__/* .TRANSITION_DURATION_LONG */ .MA,
|
|
3951
4163
|
contentLabel: title,
|
|
3952
4164
|
isOpen: isOpen,
|
|
3953
|
-
overlayClassName: (
|
|
4165
|
+
overlayClassName: (_Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10___default().overlay),
|
|
4166
|
+
shouldReturnFocusAfterClose: shouldReturnFocusAfterClose,
|
|
3954
4167
|
onRequestClose: onClose,
|
|
3955
4168
|
children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
|
|
3956
|
-
className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((
|
|
4169
|
+
className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10___default().sidebar), className),
|
|
3957
4170
|
children: [
|
|
3958
4171
|
/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
|
|
3959
|
-
className: (
|
|
4172
|
+
className: (_Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10___default().header),
|
|
3960
4173
|
children: [
|
|
3961
4174
|
/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
|
|
3962
|
-
className: (
|
|
4175
|
+
className: (_Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10___default().title),
|
|
3963
4176
|
children: title
|
|
3964
4177
|
}),
|
|
3965
|
-
/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(
|
|
3966
|
-
className: (
|
|
3967
|
-
Icon:
|
|
4178
|
+
/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_SquareButton__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .Z, {
|
|
4179
|
+
className: (_Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10___default().closeButton),
|
|
4180
|
+
Icon: icons__WEBPACK_IMPORTED_MODULE_5__/* .CrossFill */ .ME,
|
|
3968
4181
|
tooltip: translate("common.close"),
|
|
3969
4182
|
onClick: onClose
|
|
3970
4183
|
})
|
|
3971
4184
|
]
|
|
3972
4185
|
}),
|
|
3973
4186
|
/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
|
|
3974
|
-
className: (
|
|
4187
|
+
className: (_Sidebar_module_scss__WEBPACK_IMPORTED_MODULE_10___default().content),
|
|
3975
4188
|
children: children
|
|
3976
4189
|
})
|
|
3977
4190
|
]
|
|
@@ -3979,7 +4192,7 @@ const Sidebar = ({ children , className , isOpen , title , onClose })=>{
|
|
|
3979
4192
|
});
|
|
3980
4193
|
};
|
|
3981
4194
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Object.assign(Sidebar, {
|
|
3982
|
-
Section:
|
|
4195
|
+
Section: _components__WEBPACK_IMPORTED_MODULE_9__/* .Section */ .$
|
|
3983
4196
|
}));
|
|
3984
4197
|
|
|
3985
4198
|
__webpack_async_result__();
|
|
@@ -4134,7 +4347,6 @@ const Link = ({ className , Icon , tooltip , ...props })=>{
|
|
|
4134
4347
|
const triggerProps = (0,_Tooltip__WEBPACK_IMPORTED_MODULE_2__/* .useTooltip */ .l)(tooltip, props);
|
|
4135
4348
|
return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("a", {
|
|
4136
4349
|
className: classnames__WEBPACK_IMPORTED_MODULE_1___default()((_SquareButton_module_scss__WEBPACK_IMPORTED_MODULE_3___default().squareButton), className),
|
|
4137
|
-
type: "button",
|
|
4138
4350
|
...props,
|
|
4139
4351
|
...triggerProps,
|
|
4140
4352
|
children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("span", {
|
|
@@ -4265,8 +4477,8 @@ var jsx_runtime_ = __webpack_require__(20997);
|
|
|
4265
4477
|
var build = __webpack_require__(7618);
|
|
4266
4478
|
// EXTERNAL MODULE: external "react"
|
|
4267
4479
|
var external_react_ = __webpack_require__(16689);
|
|
4268
|
-
// EXTERNAL MODULE: ./src/lib/index.ts +
|
|
4269
|
-
var lib = __webpack_require__(
|
|
4480
|
+
// EXTERNAL MODULE: ./src/lib/index.ts + 29 modules
|
|
4481
|
+
var lib = __webpack_require__(75558);
|
|
4270
4482
|
// EXTERNAL MODULE: external "classnames"
|
|
4271
4483
|
var external_classnames_ = __webpack_require__(59003);
|
|
4272
4484
|
var external_classnames_default = /*#__PURE__*/__webpack_require__.n(external_classnames_);
|
|
@@ -4278,8 +4490,7 @@ var Tile_module_default = /*#__PURE__*/__webpack_require__.n(Tile_module);
|
|
|
4278
4490
|
|
|
4279
4491
|
|
|
4280
4492
|
|
|
4281
|
-
const
|
|
4282
|
-
const TilePure = ({ autoFocus , canShowPoints , character , className , disabled , highlighted , inputRef , inputStyle , isBlank , placeholder , points , pointsStyle , raised , style , tabIndex , onFocus , onKeyDown , })=>/*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
|
|
4493
|
+
const TilePure = ({ autoFocus , canShowPoints , character , className , disabled , highlighted , inputRef , inputStyle , isBlank , placeholder , points , pointsStyle , raised , style , tabIndex , onChange , onFocus , onKeyDown , })=>/*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
|
|
4283
4494
|
className: external_classnames_default()((Tile_module_default()).tile, className, {
|
|
4284
4495
|
[(Tile_module_default()).highlighted]: highlighted,
|
|
4285
4496
|
[(Tile_module_default()).blank]: isBlank,
|
|
@@ -4299,14 +4510,13 @@ const TilePure = ({ autoFocus , canShowPoints , character , className , disabled
|
|
|
4299
4510
|
autoFocus: autoFocus,
|
|
4300
4511
|
className: (Tile_module_default()).character,
|
|
4301
4512
|
disabled: disabled,
|
|
4302
|
-
maxLength: 1,
|
|
4303
4513
|
placeholder: placeholder,
|
|
4304
4514
|
ref: inputRef,
|
|
4305
4515
|
spellCheck: false,
|
|
4306
4516
|
style: inputStyle,
|
|
4307
4517
|
tabIndex: tabIndex,
|
|
4308
4518
|
value: character || "",
|
|
4309
|
-
onChange:
|
|
4519
|
+
onChange: onChange,
|
|
4310
4520
|
onFocus: onFocus,
|
|
4311
4521
|
onKeyDown: onKeyDown
|
|
4312
4522
|
}),
|
|
@@ -4325,7 +4535,7 @@ const TilePure = ({ autoFocus , canShowPoints , character , className , disabled
|
|
|
4325
4535
|
|
|
4326
4536
|
|
|
4327
4537
|
|
|
4328
|
-
const Tile = ({ autoFocus , className , character ="" , disabled , highlighted , inputRef: ref , isBlank , placeholder , points , raised , size , tabIndex , onFocus , onKeyDown , })=>{
|
|
4538
|
+
const Tile = ({ autoFocus , className , character ="" , disabled , highlighted , inputRef: ref , isBlank , placeholder , points , raised , size , tabIndex , onChange , onFocus =lib/* noop */.ZT , onKeyDown =lib/* noop */.ZT , })=>{
|
|
4329
4539
|
const { pointsFontSize , tileFontSize , tileSize } = (0,lib/* getTileSizes */.vc)(size);
|
|
4330
4540
|
const style = (0,external_react_.useMemo)(()=>({
|
|
4331
4541
|
height: tileSize,
|
|
@@ -4348,6 +4558,10 @@ const Tile = ({ autoFocus , className , character ="" , disabled , highlighted ,
|
|
|
4348
4558
|
]);
|
|
4349
4559
|
const isEmpty = !character || character === build.EMPTY_CELL;
|
|
4350
4560
|
const canShowPoints = (isBlank || !isEmpty) && typeof points !== "undefined";
|
|
4561
|
+
const handleKeyDown = (event)=>{
|
|
4562
|
+
inputRef.current?.select();
|
|
4563
|
+
onKeyDown(event);
|
|
4564
|
+
};
|
|
4351
4565
|
(0,external_react_.useEffect)(()=>{
|
|
4352
4566
|
if (autoFocus && inputRef.current) {
|
|
4353
4567
|
inputRef.current.focus();
|
|
@@ -4372,8 +4586,9 @@ const Tile = ({ autoFocus , className , character ="" , disabled , highlighted ,
|
|
|
4372
4586
|
raised: raised,
|
|
4373
4587
|
style: style,
|
|
4374
4588
|
tabIndex: tabIndex,
|
|
4589
|
+
onChange: onChange,
|
|
4375
4590
|
onFocus: onFocus,
|
|
4376
|
-
onKeyDown:
|
|
4591
|
+
onKeyDown: handleKeyDown
|
|
4377
4592
|
});
|
|
4378
4593
|
};
|
|
4379
4594
|
/* harmony default export */ const Tile_Tile = (Tile);
|
|
@@ -4463,7 +4678,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
4463
4678
|
/* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69755);
|
|
4464
4679
|
/* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_4__);
|
|
4465
4680
|
/* harmony import */ var hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26183);
|
|
4466
|
-
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(
|
|
4681
|
+
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(75558);
|
|
4467
4682
|
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8550);
|
|
4468
4683
|
/* harmony import */ var _Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(222);
|
|
4469
4684
|
/* harmony import */ var _Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Tooltip_module_scss__WEBPACK_IMPORTED_MODULE_8__);
|
|
@@ -5021,7 +5236,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
5021
5236
|
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
|
|
5022
5237
|
/* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69755);
|
|
5023
5238
|
/* harmony import */ var react_use__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_use__WEBPACK_IMPORTED_MODULE_2__);
|
|
5024
|
-
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
5239
|
+
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75558);
|
|
5025
5240
|
/* harmony import */ var state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(51413);
|
|
5026
5241
|
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([state__WEBPACK_IMPORTED_MODULE_4__]);
|
|
5027
5242
|
state__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];
|
|
@@ -5120,7 +5335,7 @@ __webpack_async_result__();
|
|
|
5120
5335
|
/* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom_client__WEBPACK_IMPORTED_MODULE_2__);
|
|
5121
5336
|
/* harmony import */ var react_portal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(63938);
|
|
5122
5337
|
/* harmony import */ var react_portal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_portal__WEBPACK_IMPORTED_MODULE_3__);
|
|
5123
|
-
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(
|
|
5338
|
+
/* harmony import */ var lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(75558);
|
|
5124
5339
|
|
|
5125
5340
|
|
|
5126
5341
|
|