@scrabble-solver/scrabble-solver 2.12.2 → 2.12.4

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 (86) 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/131.js +478 -106
  16. package/.next/server/chunks/277.js +1132 -976
  17. package/.next/server/chunks/44.js +37 -9
  18. package/.next/server/chunks/865.js +597 -169
  19. package/.next/server/chunks/911.js +894 -773
  20. package/.next/server/middleware-build-manifest.js +1 -1
  21. package/.next/server/pages/404.html +1 -1
  22. package/.next/server/pages/404.js.nft.json +1 -1
  23. package/.next/server/pages/500.html +1 -1
  24. package/.next/server/pages/_app.js +3 -1
  25. package/.next/server/pages/_app.js.nft.json +1 -1
  26. package/.next/server/pages/_document.js.nft.json +1 -1
  27. package/.next/server/pages/api/dictionary/[locale]/[word].js +4 -2
  28. package/.next/server/pages/api/solve.js +23 -19
  29. package/.next/server/pages/api/verify.js +8 -5
  30. package/.next/server/pages/index.html +1 -1
  31. package/.next/server/pages/index.js +42 -55
  32. package/.next/server/pages/index.js.nft.json +1 -1
  33. package/.next/server/pages/index.json +1 -1
  34. package/.next/server/pages-manifest.json +2 -2
  35. package/.next/static/{9dmPfnTc_AQTHBPvL7xQe → 8oRk1nUMQYFWmhu4SExQI}/_buildManifest.js +1 -1
  36. package/.next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js +32 -0
  37. package/.next/static/chunks/pages/index-82b2939158c7729f.js +1 -0
  38. package/.next/static/css/4e8b47fe382a8a8f.css +2 -0
  39. package/.next/static/css/cfae5256f1689f57.css +1 -0
  40. package/.next/trace +51 -52
  41. package/package.json +9 -9
  42. package/src/components/Board/components/Cell/Cell.module.scss +4 -12
  43. package/src/components/Board/components/Cell/Cell.tsx +4 -0
  44. package/src/components/Board/hooks/useBackgroundImage.tsx +23 -0
  45. package/src/components/PlainTiles/lib/createPlainTile.ts +4 -4
  46. package/src/components/Radio/Radio.module.scss +4 -0
  47. package/src/components/Radio/Radio.tsx +1 -0
  48. package/src/components/SeoMessage/SeoMessage.tsx +3 -3
  49. package/src/hooks/useAppLayout.ts +1 -2
  50. package/src/hooks/useLocalStorage.ts +5 -5
  51. package/src/i18n/constants.ts +31 -61
  52. package/src/lib/extractCharacters.test.ts +3 -3
  53. package/src/lib/extractCharactersByCase.test.ts +3 -3
  54. package/src/lib/getCellSize.ts +2 -2
  55. package/src/modals/MenuModal/MenuModal.module.scss +0 -1
  56. package/src/modals/MenuModal/MenuModal.tsx +3 -3
  57. package/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +16 -7
  58. package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +1 -4
  59. package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +8 -8
  60. package/src/pages/_app.tsx +3 -1
  61. package/src/pages/api/dictionary/[locale]/[word].ts +6 -3
  62. package/src/pages/api/solve.ts +11 -7
  63. package/src/pages/api/verify.ts +11 -7
  64. package/src/pages/index.module.scss +0 -1
  65. package/src/parameters/index.ts +4 -6
  66. package/src/sdk/solve.ts +3 -3
  67. package/src/sdk/verify.ts +3 -3
  68. package/src/service-worker/routeSolveRequests.ts +3 -3
  69. package/src/state/localStorage.ts +6 -6
  70. package/src/state/sagas.ts +18 -7
  71. package/src/state/selectors.ts +3 -3
  72. package/src/state/slices/boardInitialState.ts +3 -3
  73. package/src/state/slices/boardSlice.ts +20 -6
  74. package/src/state/slices/settingsInitialState.ts +3 -4
  75. package/src/state/slices/settingsSlice.ts +5 -5
  76. package/src/styles/variables.scss +0 -9
  77. package/.next/static/chunks/pages/_app-02851b06b95b19cb.js +0 -32
  78. package/.next/static/chunks/pages/index-0ba5607d1aad8a09.js +0 -1
  79. package/.next/static/css/09dfdea53eba31a9.css +0 -2
  80. package/.next/static/css/60e8258da7362a1a.css +0 -1
  81. package/src/i18n/i18n.module.scss +0 -27
  82. package/src/modals/SettingsModal/components/ConfigSetting/options.ts +0 -19
  83. package/src/modals/SettingsModal/components/ConfigSetting/types.ts +0 -9
  84. package/src/modals/SettingsModal/components/InputModeSetting/types.ts +0 -7
  85. package/src/modals/SettingsModal/components/LocaleSetting/types.ts +0 -9
  86. /package/.next/static/{9dmPfnTc_AQTHBPvL7xQe → 8oRk1nUMQYFWmhu4SExQI}/_ssgManifest.js +0 -0
@@ -2,7 +2,7 @@ exports.id = 277;
2
2
  exports.ids = [277];
3
3
  exports.modules = {
4
4
 
5
- /***/ 57079:
5
+ /***/ 34928:
6
6
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7
7
 
8
8
  "use strict";
@@ -11,598 +11,923 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
11
11
  return (mod && mod.__esModule) ? mod : { "default": mod };
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", ({ value: true }));
14
- const literaki_1 = __importDefault(__webpack_require__(63432));
15
- const scrabble_1 = __importDefault(__webpack_require__(8964));
16
- const configs = [literaki_1.default, scrabble_1.default];
17
- const getConfig = (configId) => {
18
- const config = configs.find(({ id }) => id === configId);
19
- if (!config) {
20
- throw new Error(`Invalid "configId" parameter: not one of ${configs.map(({ id }) => id).join('/')}`);
21
- }
22
- return config;
23
- };
24
- exports["default"] = getConfig;
14
+ exports.superScrabble = exports.scrabble = exports.literaki = void 0;
15
+ var literaki_1 = __webpack_require__(31078);
16
+ Object.defineProperty(exports, "literaki", ({ enumerable: true, get: function () { return __importDefault(literaki_1).default; } }));
17
+ var scrabble_1 = __webpack_require__(41128);
18
+ Object.defineProperty(exports, "scrabble", ({ enumerable: true, get: function () { return __importDefault(scrabble_1).default; } }));
19
+ var superScrabble_1 = __webpack_require__(74454);
20
+ Object.defineProperty(exports, "superScrabble", ({ enumerable: true, get: function () { return __importDefault(superScrabble_1).default; } }));
25
21
 
26
22
 
27
23
  /***/ }),
28
24
 
29
- /***/ 53632:
30
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
25
+ /***/ 31078:
26
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
31
27
 
32
28
  "use strict";
33
29
 
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
30
  Object.defineProperty(exports, "__esModule", ({ value: true }));
38
- const getConfig_1 = __importDefault(__webpack_require__(57079));
39
- const getLocaleConfig = (configId, locale) => {
40
- return (0, getConfig_1.default)(configId)[locale];
41
- };
42
- exports["default"] = getLocaleConfig;
43
-
44
-
45
- /***/ }),
46
-
47
- /***/ 89418:
48
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
49
-
50
- "use strict";
51
-
52
- var __importDefault = (this && this.__importDefault) || function (mod) {
53
- return (mod && mod.__esModule) ? mod : { "default": mod };
31
+ const constants_1 = __webpack_require__(7618);
32
+ const types_1 = __webpack_require__(34046);
33
+ const literaki = {
34
+ allTilesBonusScore: 50,
35
+ blankScore: 0,
36
+ blanksCount: 2,
37
+ boardHeight: 15,
38
+ boardWidth: 15,
39
+ game: types_1.Game.Literaki,
40
+ maximumCharactersCount: 7,
41
+ name: 'Literaki',
42
+ bonuses: [
43
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 0, y: 0 },
44
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 2, y: 0 },
45
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 5, y: 0 },
46
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 7, y: 0 },
47
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 9, y: 0 },
48
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 12, y: 0 },
49
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 14, y: 0 },
50
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 4, y: 1 },
51
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 6, y: 1 },
52
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 8, y: 1 },
53
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 10, y: 1 },
54
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 2 },
55
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 2 },
56
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 5, y: 2 },
57
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 7, y: 2 },
58
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 9, y: 2 },
59
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 2 },
60
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 2 },
61
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 2, y: 3 },
62
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 4, y: 3 },
63
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 6, y: 3 },
64
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 8, y: 3 },
65
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 10, y: 3 },
66
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 12, y: 3 },
67
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 1, y: 4 },
68
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 3, y: 4 },
69
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 5, y: 4 },
70
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 9, y: 4 },
71
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 11, y: 4 },
72
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 13, y: 4 },
73
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 5 },
74
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 5 },
75
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 4, y: 5 },
76
+ { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 7, y: 5 },
77
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 10, y: 5 },
78
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 12, y: 5 },
79
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 5 },
80
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 1, y: 6 },
81
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 3, y: 6 },
82
+ { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 6, y: 6 },
83
+ { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 8, y: 6 },
84
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 11, y: 6 },
85
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 13, y: 6 },
86
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 0, y: 7 },
87
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 2, y: 7 },
88
+ { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 7 },
89
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 7, y: 7 },
90
+ { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 7 },
91
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 12, y: 7 },
92
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 14, y: 7 },
93
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 1, y: 8 },
94
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 3, y: 8 },
95
+ { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 6, y: 8 },
96
+ { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 8, y: 8 },
97
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 11, y: 8 },
98
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 13, y: 8 },
99
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 9 },
100
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 9 },
101
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 4, y: 9 },
102
+ { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 7, y: 9 },
103
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 10, y: 9 },
104
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 12, y: 9 },
105
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 9 },
106
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 1, y: 10 },
107
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 3, y: 10 },
108
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 5, y: 10 },
109
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 9, y: 10 },
110
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 11, y: 10 },
111
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 13, y: 10 },
112
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 2, y: 11 },
113
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 4, y: 11 },
114
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 6, y: 11 },
115
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 8, y: 11 },
116
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 10, y: 11 },
117
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 12, y: 11 },
118
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 12 },
119
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 12 },
120
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 5, y: 12 },
121
+ { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 7, y: 12 },
122
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 9, y: 12 },
123
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 12 },
124
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 12 },
125
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 4, y: 13 },
126
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 6, y: 13 },
127
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 8, y: 13 },
128
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 10, y: 13 },
129
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 0, y: 14 },
130
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 2, y: 14 },
131
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 5, y: 14 },
132
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 7, y: 14 },
133
+ { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 9, y: 14 },
134
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 12, y: 14 },
135
+ { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 14, y: 14 },
136
+ ],
54
137
  };
55
- Object.defineProperty(exports, "__esModule", ({ value: true }));
56
- exports.scrabble = exports.literaki = exports.isConfigId = exports.getLocaleConfig = exports.getConfig = void 0;
57
- var getConfig_1 = __webpack_require__(57079);
58
- Object.defineProperty(exports, "getConfig", ({ enumerable: true, get: function () { return __importDefault(getConfig_1).default; } }));
59
- var getLocaleConfig_1 = __webpack_require__(53632);
60
- Object.defineProperty(exports, "getLocaleConfig", ({ enumerable: true, get: function () { return __importDefault(getLocaleConfig_1).default; } }));
61
- var isConfigId_1 = __webpack_require__(65582);
62
- Object.defineProperty(exports, "isConfigId", ({ enumerable: true, get: function () { return __importDefault(isConfigId_1).default; } }));
63
- var literaki_1 = __webpack_require__(63432);
64
- Object.defineProperty(exports, "literaki", ({ enumerable: true, get: function () { return __importDefault(literaki_1).default; } }));
65
- var scrabble_1 = __webpack_require__(8964);
66
- Object.defineProperty(exports, "scrabble", ({ enumerable: true, get: function () { return __importDefault(scrabble_1).default; } }));
138
+ exports["default"] = literaki;
67
139
 
68
140
 
69
141
  /***/ }),
70
142
 
71
- /***/ 65582:
72
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
143
+ /***/ 41128:
144
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
73
145
 
74
146
  "use strict";
75
147
 
76
- var __importDefault = (this && this.__importDefault) || function (mod) {
77
- return (mod && mod.__esModule) ? mod : { "default": mod };
78
- };
79
148
  Object.defineProperty(exports, "__esModule", ({ value: true }));
80
- const literaki_1 = __importDefault(__webpack_require__(63432));
81
- const scrabble_1 = __importDefault(__webpack_require__(8964));
82
- const configs = [literaki_1.default, scrabble_1.default];
83
- const isConfigId = (configId) => {
84
- return configs.some(({ id }) => id === configId);
149
+ const constants_1 = __webpack_require__(7618);
150
+ const types_1 = __webpack_require__(34046);
151
+ const scrabble = {
152
+ allTilesBonusScore: 50,
153
+ blankScore: 0,
154
+ blanksCount: 2,
155
+ boardHeight: 15,
156
+ boardWidth: 15,
157
+ game: types_1.Game.Scrabble,
158
+ maximumCharactersCount: 7,
159
+ name: 'Scrabble',
160
+ bonuses: [
161
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 0 },
162
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 0 },
163
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 7, y: 0 },
164
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 0 },
165
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 0 },
166
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 1, y: 1 },
167
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 1 },
168
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 1 },
169
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 13, y: 1 },
170
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 2 },
171
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 6, y: 2 },
172
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 8, y: 2 },
173
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 12, y: 2 },
174
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 3 },
175
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 3, y: 3 },
176
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 7, y: 3 },
177
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 11, y: 3 },
178
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 3 },
179
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 4, y: 4 },
180
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 10, y: 4 },
181
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 1, y: 5 },
182
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 5 },
183
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 5 },
184
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 13, y: 5 },
185
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 2, y: 6 },
186
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 6, y: 6 },
187
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 8, y: 6 },
188
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 12, y: 6 },
189
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 7 },
190
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 7 },
191
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 7, y: 7 },
192
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 7 },
193
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 7 },
194
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 2, y: 8 },
195
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 6, y: 8 },
196
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 8, y: 8 },
197
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 12, y: 8 },
198
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 1, y: 9 },
199
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 9 },
200
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 9 },
201
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 13, y: 9 },
202
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 4, y: 10 },
203
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 10, y: 10 },
204
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 11 },
205
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 3, y: 11 },
206
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 7, y: 11 },
207
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 11, y: 11 },
208
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 11 },
209
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 12 },
210
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 6, y: 12 },
211
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 8, y: 12 },
212
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 12, y: 12 },
213
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 1, y: 13 },
214
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 13 },
215
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 13 },
216
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 13, y: 13 },
217
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 14 },
218
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 14 },
219
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 7, y: 14 },
220
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 14 },
221
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 14 },
222
+ ],
85
223
  };
86
- exports["default"] = isConfigId;
224
+ exports["default"] = scrabble;
87
225
 
88
226
 
89
227
  /***/ }),
90
228
 
91
- /***/ 72376:
229
+ /***/ 74454:
92
230
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
93
231
 
94
232
  "use strict";
95
233
 
96
234
  Object.defineProperty(exports, "__esModule", ({ value: true }));
97
235
  const constants_1 = __webpack_require__(7618);
98
- const bonuses = [
99
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 0, y: 0 },
100
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 2, y: 0 },
101
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 5, y: 0 },
102
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 7, y: 0 },
103
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 9, y: 0 },
104
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 12, y: 0 },
105
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 14, y: 0 },
106
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 4, y: 1 },
107
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 6, y: 1 },
108
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 8, y: 1 },
109
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 10, y: 1 },
110
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 2 },
111
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 2 },
112
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 5, y: 2 },
113
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 7, y: 2 },
114
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 9, y: 2 },
115
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 2 },
116
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 2 },
117
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 2, y: 3 },
118
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 4, y: 3 },
119
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 6, y: 3 },
120
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 8, y: 3 },
121
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 10, y: 3 },
122
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 12, y: 3 },
123
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 1, y: 4 },
124
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 3, y: 4 },
125
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 5, y: 4 },
126
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 9, y: 4 },
127
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 11, y: 4 },
128
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 13, y: 4 },
129
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 5 },
130
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 5 },
131
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 4, y: 5 },
132
- { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 7, y: 5 },
133
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 10, y: 5 },
134
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 12, y: 5 },
135
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 5 },
136
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 1, y: 6 },
137
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 3, y: 6 },
138
- { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 6, y: 6 },
139
- { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 8, y: 6 },
140
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 11, y: 6 },
141
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 13, y: 6 },
142
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 0, y: 7 },
143
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 2, y: 7 },
144
- { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 7 },
145
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 7, y: 7 },
146
- { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 7 },
147
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 12, y: 7 },
148
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 14, y: 7 },
149
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 1, y: 8 },
150
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 3, y: 8 },
151
- { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 6, y: 8 },
152
- { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 8, y: 8 },
153
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 11, y: 8 },
154
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 13, y: 8 },
155
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 9 },
156
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 9 },
157
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 4, y: 9 },
158
- { multiplier: 3, score: 3, type: constants_1.BONUS_CHARACTER, x: 7, y: 9 },
159
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 10, y: 9 },
160
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 12, y: 9 },
161
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 9 },
162
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 1, y: 10 },
163
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 3, y: 10 },
164
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 5, y: 10 },
165
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 9, y: 10 },
166
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 11, y: 10 },
167
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 13, y: 10 },
168
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 2, y: 11 },
169
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 4, y: 11 },
170
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 6, y: 11 },
171
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 8, y: 11 },
172
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 10, y: 11 },
173
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 12, y: 11 },
174
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 12 },
175
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 12 },
176
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 5, y: 12 },
177
- { multiplier: 3, score: 1, type: constants_1.BONUS_CHARACTER, x: 7, y: 12 },
178
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 9, y: 12 },
179
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 12 },
180
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 12 },
181
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 4, y: 13 },
182
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 6, y: 13 },
183
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 8, y: 13 },
184
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 10, y: 13 },
185
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 0, y: 14 },
186
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 2, y: 14 },
187
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 5, y: 14 },
188
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 7, y: 14 },
189
- { multiplier: 3, score: 2, type: constants_1.BONUS_CHARACTER, x: 9, y: 14 },
190
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 12, y: 14 },
191
- { multiplier: 3, score: 5, type: constants_1.BONUS_CHARACTER, x: 14, y: 14 },
192
- ];
193
- exports["default"] = bonuses;
236
+ const types_1 = __webpack_require__(34046);
237
+ const scrabble = {
238
+ allTilesBonusScore: 50,
239
+ blankScore: 0,
240
+ blanksCount: 4,
241
+ boardHeight: 21,
242
+ boardWidth: 21,
243
+ game: types_1.Game.SuperScrabble,
244
+ maximumCharactersCount: 7,
245
+ name: 'Super Scrabble',
246
+ bonuses: [
247
+ { multiplier: 4, type: constants_1.BONUS_WORD, x: 0, y: 0 },
248
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 0 },
249
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 7, y: 0 },
250
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 10, y: 0 },
251
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 13, y: 0 },
252
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 17, y: 0 },
253
+ { multiplier: 4, type: constants_1.BONUS_WORD, x: 20, y: 0 },
254
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 1, y: 1 },
255
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 4, y: 1 },
256
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 8, y: 1 },
257
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 12, y: 1 },
258
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 16, y: 1 },
259
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 19, y: 1 },
260
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 2 },
261
+ { multiplier: 4, type: constants_1.BONUS_CHARACTER, x: 5, y: 2 },
262
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 9, y: 2 },
263
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 11, y: 2 },
264
+ { multiplier: 4, type: constants_1.BONUS_CHARACTER, x: 15, y: 2 },
265
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 18, y: 2 },
266
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 3 },
267
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 3, y: 3 },
268
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 6, y: 3 },
269
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 10, y: 3 },
270
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 3 },
271
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 17, y: 3 },
272
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 20, y: 3 },
273
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 1, y: 4 },
274
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 4, y: 4 },
275
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 8, y: 4 },
276
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 12, y: 4 },
277
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 16, y: 4 },
278
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 19, y: 4 },
279
+ { multiplier: 4, type: constants_1.BONUS_CHARACTER, x: 2, y: 5 },
280
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 5, y: 5 },
281
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 9, y: 5 },
282
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 5 },
283
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 15, y: 5 },
284
+ { multiplier: 4, type: constants_1.BONUS_CHARACTER, x: 18, y: 5 },
285
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 6 },
286
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 6, y: 6 },
287
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 10, y: 6 },
288
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 14, y: 6 },
289
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 17, y: 6 },
290
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 7 },
291
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 7, y: 7 },
292
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 13, y: 7 },
293
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 20, y: 7 },
294
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 1, y: 8 },
295
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 4, y: 8 },
296
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 8, y: 8 },
297
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 12, y: 8 },
298
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 16, y: 8 },
299
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 19, y: 8 },
300
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 9 },
301
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 5, y: 9 },
302
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 9, y: 9 },
303
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 9 },
304
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 15, y: 9 },
305
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 18, y: 9 },
306
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 10 },
307
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 3, y: 10 },
308
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 6, y: 10 },
309
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 10 },
310
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 17, y: 10 },
311
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 20, y: 10 },
312
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 11 },
313
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 5, y: 11 },
314
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 9, y: 11 },
315
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 11 },
316
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 15, y: 11 },
317
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 18, y: 11 },
318
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 1, y: 12 },
319
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 4, y: 12 },
320
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 8, y: 12 },
321
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 12, y: 12 },
322
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 16, y: 12 },
323
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 19, y: 12 },
324
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 13 },
325
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 7, y: 13 },
326
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 13, y: 13 },
327
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 20, y: 13 },
328
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 14 },
329
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 6, y: 14 },
330
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 10, y: 14 },
331
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 14, y: 14 },
332
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 17, y: 14 },
333
+ { multiplier: 4, type: constants_1.BONUS_CHARACTER, x: 2, y: 15 },
334
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 5, y: 15 },
335
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 9, y: 15 },
336
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 15 },
337
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 15, y: 15 },
338
+ { multiplier: 4, type: constants_1.BONUS_CHARACTER, x: 18, y: 15 },
339
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 1, y: 16 },
340
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 4, y: 16 },
341
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 8, y: 16 },
342
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 12, y: 16 },
343
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 16, y: 16 },
344
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 19, y: 16 },
345
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 17 },
346
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 3, y: 17 },
347
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 6, y: 17 },
348
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 10, y: 17 },
349
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 17 },
350
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 17, y: 17 },
351
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 20, y: 17 },
352
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 18 },
353
+ { multiplier: 4, type: constants_1.BONUS_CHARACTER, x: 5, y: 18 },
354
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 9, y: 18 },
355
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 11, y: 18 },
356
+ { multiplier: 4, type: constants_1.BONUS_CHARACTER, x: 15, y: 18 },
357
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 18, y: 18 },
358
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 1, y: 19 },
359
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 4, y: 19 },
360
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 8, y: 19 },
361
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 12, y: 19 },
362
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 16, y: 19 },
363
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 19, y: 19 },
364
+ { multiplier: 4, type: constants_1.BONUS_WORD, x: 0, y: 20 },
365
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 20 },
366
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 7, y: 20 },
367
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 10, y: 20 },
368
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 13, y: 20 },
369
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 17, y: 20 },
370
+ { multiplier: 4, type: constants_1.BONUS_WORD, x: 20, y: 20 },
371
+ ],
372
+ };
373
+ exports["default"] = scrabble;
194
374
 
195
375
 
196
376
  /***/ }),
197
377
 
198
- /***/ 63432:
378
+ /***/ 57079:
199
379
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
200
380
 
201
381
  "use strict";
202
382
 
203
- var __importDefault = (this && this.__importDefault) || function (mod) {
204
- return (mod && mod.__esModule) ? mod : { "default": mod };
383
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
384
+ if (k2 === undefined) k2 = k;
385
+ var desc = Object.getOwnPropertyDescriptor(m, k);
386
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
387
+ desc = { enumerable: true, get: function() { return m[k]; } };
388
+ }
389
+ Object.defineProperty(o, k2, desc);
390
+ }) : (function(o, m, k, k2) {
391
+ if (k2 === undefined) k2 = k;
392
+ o[k2] = m[k];
393
+ }));
394
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
395
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
396
+ }) : function(o, v) {
397
+ o["default"] = v;
398
+ });
399
+ var __importStar = (this && this.__importStar) || function (mod) {
400
+ if (mod && mod.__esModule) return mod;
401
+ var result = {};
402
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
403
+ __setModuleDefault(result, mod);
404
+ return result;
205
405
  };
206
406
  Object.defineProperty(exports, "__esModule", ({ value: true }));
207
- exports["default"] = void 0;
208
- var literaki_1 = __webpack_require__(34477);
209
- Object.defineProperty(exports, "default", ({ enumerable: true, get: function () { return __importDefault(literaki_1).default; } }));
407
+ const locales = __importStar(__webpack_require__(41331));
408
+ const getConfig = (game, locale) => {
409
+ const configs = Object.values(locales).flat();
410
+ const localeConfig = configs.find((config) => config.game === game && config.locale === locale);
411
+ if (typeof localeConfig === 'undefined') {
412
+ throw new Error(`No game "${game}" in "${locale}"`);
413
+ }
414
+ return localeConfig;
415
+ };
416
+ exports["default"] = getConfig;
210
417
 
211
418
 
212
419
  /***/ }),
213
420
 
214
- /***/ 34477:
421
+ /***/ 76908:
215
422
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
216
423
 
217
424
  "use strict";
218
425
 
219
- var __importDefault = (this && this.__importDefault) || function (mod) {
220
- return (mod && mod.__esModule) ? mod : { "default": mod };
426
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
427
+ if (k2 === undefined) k2 = k;
428
+ var desc = Object.getOwnPropertyDescriptor(m, k);
429
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
430
+ desc = { enumerable: true, get: function() { return m[k]; } };
431
+ }
432
+ Object.defineProperty(o, k2, desc);
433
+ }) : (function(o, m, k, k2) {
434
+ if (k2 === undefined) k2 = k;
435
+ o[k2] = m[k];
436
+ }));
437
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
438
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
439
+ }) : function(o, v) {
440
+ o["default"] = v;
441
+ });
442
+ var __importStar = (this && this.__importStar) || function (mod) {
443
+ if (mod && mod.__esModule) return mod;
444
+ var result = {};
445
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
446
+ __setModuleDefault(result, mod);
447
+ return result;
221
448
  };
222
449
  Object.defineProperty(exports, "__esModule", ({ value: true }));
223
- const types_1 = __webpack_require__(34046);
224
- const bonuses_1 = __importDefault(__webpack_require__(72376));
225
- const tiles_1 = __webpack_require__(87529);
226
- const base = {
227
- allTilesBonusScore: 50,
228
- blankScore: 0,
229
- blanksCount: 2,
230
- boardHeight: 15,
231
- boardWidth: 15,
232
- bonuses: bonuses_1.default,
233
- id: 'literaki',
234
- maximumCharactersCount: 7,
235
- name: 'Literaki',
450
+ const locales = __importStar(__webpack_require__(41331));
451
+ const hasConfig = (game, locale) => {
452
+ const configs = Object.values(locales).flat();
453
+ return configs.some((config) => config.game === game && config.locale === locale);
236
454
  };
237
- const literaki = {
238
- id: base.id,
239
- name: base.name,
240
- [types_1.Locale.DE_DE]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.EN_GB, tiles: tiles_1.tilesDe }),
241
- [types_1.Locale.EN_GB]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.DE_DE, tiles: tiles_1.tilesEn }),
242
- [types_1.Locale.EN_US]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.EN_US, tiles: tiles_1.tilesEn }),
243
- [types_1.Locale.ES_ES]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.ES_ES, tiles: tiles_1.tilesEs }),
244
- [types_1.Locale.FA_IR]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.FA_IR, tiles: tiles_1.tilesFa }),
245
- [types_1.Locale.FR_FR]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.FR_FR, tiles: tiles_1.tilesFr }),
246
- [types_1.Locale.PL_PL]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.PL_PL, tiles: tiles_1.tilesPl }),
247
- };
248
- exports["default"] = literaki;
455
+ exports["default"] = hasConfig;
249
456
 
250
457
 
251
458
  /***/ }),
252
459
 
253
- /***/ 87529:
460
+ /***/ 89418:
254
461
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
255
462
 
256
463
  "use strict";
257
464
 
465
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
466
+ if (k2 === undefined) k2 = k;
467
+ var desc = Object.getOwnPropertyDescriptor(m, k);
468
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
469
+ desc = { enumerable: true, get: function() { return m[k]; } };
470
+ }
471
+ Object.defineProperty(o, k2, desc);
472
+ }) : (function(o, m, k, k2) {
473
+ if (k2 === undefined) k2 = k;
474
+ o[k2] = m[k];
475
+ }));
476
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
477
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
478
+ }) : function(o, v) {
479
+ o["default"] = v;
480
+ });
481
+ var __importStar = (this && this.__importStar) || function (mod) {
482
+ if (mod && mod.__esModule) return mod;
483
+ var result = {};
484
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
485
+ __setModuleDefault(result, mod);
486
+ return result;
487
+ };
258
488
  var __importDefault = (this && this.__importDefault) || function (mod) {
259
489
  return (mod && mod.__esModule) ? mod : { "default": mod };
260
490
  };
261
491
  Object.defineProperty(exports, "__esModule", ({ value: true }));
262
- exports.tilesDe = exports.tilesPl = exports.tilesFr = exports.tilesFa = exports.tilesEs = exports.tilesEn = void 0;
263
- var tilesEn_1 = __webpack_require__(17910);
264
- Object.defineProperty(exports, "tilesEn", ({ enumerable: true, get: function () { return __importDefault(tilesEn_1).default; } }));
265
- var tilesEs_1 = __webpack_require__(63029);
266
- Object.defineProperty(exports, "tilesEs", ({ enumerable: true, get: function () { return __importDefault(tilesEs_1).default; } }));
267
- var tilesFa_1 = __webpack_require__(35366);
268
- Object.defineProperty(exports, "tilesFa", ({ enumerable: true, get: function () { return __importDefault(tilesFa_1).default; } }));
269
- var tilesFr_1 = __webpack_require__(59541);
270
- Object.defineProperty(exports, "tilesFr", ({ enumerable: true, get: function () { return __importDefault(tilesFr_1).default; } }));
271
- var tilesPl_1 = __webpack_require__(2647);
272
- Object.defineProperty(exports, "tilesPl", ({ enumerable: true, get: function () { return __importDefault(tilesPl_1).default; } }));
273
- var tilesDe_1 = __webpack_require__(57911);
274
- Object.defineProperty(exports, "tilesDe", ({ enumerable: true, get: function () { return __importDefault(tilesDe_1).default; } }));
275
-
276
-
277
- /***/ }),
278
-
279
- /***/ 57911:
280
- /***/ ((__unused_webpack_module, exports) => {
281
-
282
- "use strict";
283
-
284
- Object.defineProperty(exports, "__esModule", ({ value: true }));
285
- const tilesDe = [
286
- { character: 'a', count: 5, score: 1 },
287
- { character: 'ä', count: 1, score: 6 },
288
- { character: 'b', count: 2, score: 3 },
289
- { character: 'c', count: 2, score: 4 },
290
- { character: 'd', count: 4, score: 1 },
291
- { character: 'e', count: 15, score: 1 },
292
- { character: 'f', count: 2, score: 4 },
293
- { character: 'g', count: 3, score: 2 },
294
- { character: 'h', count: 4, score: 2 },
295
- { character: 'i', count: 6, score: 1 },
296
- { character: 'j', count: 1, score: 6 },
297
- { character: 'k', count: 2, score: 4 },
298
- { character: 'l', count: 3, score: 2 },
299
- { character: 'm', count: 4, score: 3 },
300
- { character: 'n', count: 9, score: 1 },
301
- { character: 'o', count: 3, score: 2 },
302
- { character: 'ö', count: 1, score: 8 },
303
- { character: 'p', count: 1, score: 4 },
304
- { character: 'q', count: 1, score: 10 },
305
- { character: 'r', count: 6, score: 1 },
306
- { character: 's', count: 7, score: 1 },
307
- { character: 't', count: 6, score: 1 },
308
- { character: 'u', count: 6, score: 1 },
309
- { character: 'ü', count: 1, score: 6 },
310
- { character: 'v', count: 1, score: 6 },
311
- { character: 'w', count: 1, score: 3 },
312
- { character: 'x', count: 1, score: 8 },
313
- { character: 'y', count: 1, score: 10 },
314
- { character: 'z', count: 1, score: 3 },
315
- ];
316
- exports["default"] = tilesDe;
492
+ exports.localesMap = exports.locales = exports.games = exports.hasConfig = exports.getConfig = void 0;
493
+ const games = __importStar(__webpack_require__(34928));
494
+ exports.games = games;
495
+ const locales = __importStar(__webpack_require__(41331));
496
+ exports.locales = locales;
497
+ const localesMap = Object.fromEntries(Object.values(locales).map((configs) => [configs[0].locale, configs]));
498
+ exports.localesMap = localesMap;
499
+ var getConfig_1 = __webpack_require__(57079);
500
+ Object.defineProperty(exports, "getConfig", ({ enumerable: true, get: function () { return __importDefault(getConfig_1).default; } }));
501
+ var hasConfig_1 = __webpack_require__(76908);
502
+ Object.defineProperty(exports, "hasConfig", ({ enumerable: true, get: function () { return __importDefault(hasConfig_1).default; } }));
317
503
 
318
504
 
319
505
  /***/ }),
320
506
 
321
- /***/ 17910:
322
- /***/ ((__unused_webpack_module, exports) => {
507
+ /***/ 57304:
508
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
323
509
 
324
510
  "use strict";
325
511
 
326
512
  Object.defineProperty(exports, "__esModule", ({ value: true }));
327
- const tilesEn = [
328
- { character: 'a', count: 9, score: 1 },
329
- { character: 'b', count: 2, score: 3 },
330
- { character: 'c', count: 2, score: 3 },
331
- { character: 'd', count: 4, score: 2 },
332
- { character: 'e', count: 12, score: 1 },
333
- { character: 'f', count: 2, score: 4 },
334
- { character: 'g', count: 3, score: 2 },
335
- { character: 'h', count: 2, score: 4 },
336
- { character: 'i', count: 9, score: 1 },
337
- { character: 'j', count: 1, score: 8 },
338
- { character: 'k', count: 1, score: 5 },
339
- { character: 'l', count: 4, score: 1 },
340
- { character: 'm', count: 2, score: 3 },
341
- { character: 'n', count: 6, score: 1 },
342
- { character: 'o', count: 8, score: 1 },
343
- { character: 'p', count: 2, score: 3 },
344
- { character: 'q', count: 1, score: 10 },
345
- { character: 'r', count: 6, score: 1 },
346
- { character: 's', count: 4, score: 1 },
347
- { character: 't', count: 6, score: 1 },
348
- { character: 'u', count: 4, score: 1 },
349
- { character: 'v', count: 2, score: 4 },
350
- { character: 'w', count: 2, score: 4 },
351
- { character: 'x', count: 1, score: 8 },
352
- { character: 'y', count: 2, score: 4 },
353
- { character: 'z', count: 1, score: 10 },
513
+ const types_1 = __webpack_require__(34046);
514
+ const games_1 = __webpack_require__(34928);
515
+ const deDe = [
516
+ new types_1.Config({
517
+ ...games_1.scrabble,
518
+ locale: types_1.Locale.DE_DE,
519
+ tiles: [
520
+ { character: 'a', count: 5, score: 1 },
521
+ { character: 'ä', count: 1, score: 6 },
522
+ { character: 'b', count: 2, score: 3 },
523
+ { character: 'c', count: 2, score: 4 },
524
+ { character: 'd', count: 4, score: 1 },
525
+ { character: 'e', count: 15, score: 1 },
526
+ { character: 'f', count: 2, score: 4 },
527
+ { character: 'g', count: 3, score: 2 },
528
+ { character: 'h', count: 4, score: 2 },
529
+ { character: 'i', count: 6, score: 1 },
530
+ { character: 'j', count: 1, score: 6 },
531
+ { character: 'k', count: 2, score: 4 },
532
+ { character: 'l', count: 3, score: 2 },
533
+ { character: 'm', count: 4, score: 3 },
534
+ { character: 'n', count: 9, score: 1 },
535
+ { character: 'o', count: 3, score: 2 },
536
+ { character: 'ö', count: 1, score: 8 },
537
+ { character: 'p', count: 1, score: 4 },
538
+ { character: 'q', count: 1, score: 10 },
539
+ { character: 'r', count: 6, score: 1 },
540
+ { character: 's', count: 7, score: 1 },
541
+ { character: 't', count: 6, score: 1 },
542
+ { character: 'u', count: 6, score: 1 },
543
+ { character: 'ü', count: 1, score: 6 },
544
+ { character: 'v', count: 1, score: 6 },
545
+ { character: 'w', count: 1, score: 3 },
546
+ { character: 'x', count: 1, score: 8 },
547
+ { character: 'y', count: 1, score: 10 },
548
+ { character: 'z', count: 1, score: 3 },
549
+ ],
550
+ }),
354
551
  ];
355
- exports["default"] = tilesEn;
552
+ exports["default"] = deDe;
356
553
 
357
554
 
358
555
  /***/ }),
359
556
 
360
- /***/ 63029:
361
- /***/ ((__unused_webpack_module, exports) => {
557
+ /***/ 81435:
558
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
362
559
 
363
560
  "use strict";
364
561
 
365
562
  Object.defineProperty(exports, "__esModule", ({ value: true }));
366
- const tilesEs = [
367
- { character: 'a', count: 12, score: 1 },
368
- { character: 'b', count: 2, score: 3 },
369
- { character: 'c', count: 4, score: 3 },
370
- { character: 'ch', count: 1, score: 5 },
371
- { character: 'd', count: 5, score: 2 },
372
- { character: 'e', count: 12, score: 1 },
373
- { character: 'f', count: 1, score: 4 },
374
- { character: 'g', count: 2, score: 2 },
375
- { character: 'h', count: 2, score: 4 },
376
- { character: 'i', count: 6, score: 1 },
377
- { character: 'j', count: 1, score: 8 },
378
- { character: 'll', count: 1, score: 8 },
379
- { character: 'l', count: 4, score: 1 },
380
- { character: 'm', count: 2, score: 3 },
381
- { character: 'n', count: 5, score: 1 },
382
- { character: 'ñ', count: 1, score: 8 },
383
- { character: 'o', count: 9, score: 1 },
384
- { character: 'p', count: 2, score: 3 },
385
- { character: 'q', count: 1, score: 5 },
386
- { character: 'r', count: 5, score: 1 },
387
- { character: 'rr', count: 1, score: 8 },
388
- { character: 's', count: 6, score: 1 },
389
- { character: 't', count: 4, score: 1 },
390
- { character: 'u', count: 5, score: 1 },
391
- { character: 'v', count: 1, score: 4 },
392
- { character: 'x', count: 1, score: 8 },
393
- { character: 'y', count: 1, score: 4 },
394
- { character: 'z', count: 1, score: 10 },
563
+ const types_1 = __webpack_require__(34046);
564
+ const games_1 = __webpack_require__(34928);
565
+ const enGb = [
566
+ new types_1.Config({
567
+ ...games_1.scrabble,
568
+ locale: types_1.Locale.EN_GB,
569
+ tiles: [
570
+ { character: 'a', count: 9, score: 1 },
571
+ { character: 'b', count: 2, score: 3 },
572
+ { character: 'c', count: 2, score: 3 },
573
+ { character: 'd', count: 4, score: 2 },
574
+ { character: 'e', count: 12, score: 1 },
575
+ { character: 'f', count: 2, score: 4 },
576
+ { character: 'g', count: 3, score: 2 },
577
+ { character: 'h', count: 2, score: 4 },
578
+ { character: 'i', count: 9, score: 1 },
579
+ { character: 'j', count: 1, score: 8 },
580
+ { character: 'k', count: 1, score: 5 },
581
+ { character: 'l', count: 4, score: 1 },
582
+ { character: 'm', count: 2, score: 3 },
583
+ { character: 'n', count: 6, score: 1 },
584
+ { character: 'o', count: 8, score: 1 },
585
+ { character: 'p', count: 2, score: 3 },
586
+ { character: 'q', count: 1, score: 10 },
587
+ { character: 'r', count: 6, score: 1 },
588
+ { character: 's', count: 4, score: 1 },
589
+ { character: 't', count: 6, score: 1 },
590
+ { character: 'u', count: 4, score: 1 },
591
+ { character: 'v', count: 2, score: 4 },
592
+ { character: 'w', count: 2, score: 4 },
593
+ { character: 'x', count: 1, score: 8 },
594
+ { character: 'y', count: 2, score: 4 },
595
+ { character: 'z', count: 1, score: 10 },
596
+ ],
597
+ }),
598
+ new types_1.Config({
599
+ ...games_1.superScrabble,
600
+ locale: types_1.Locale.EN_GB,
601
+ tiles: [
602
+ { character: 'a', count: 16, score: 1 },
603
+ { character: 'b', count: 4, score: 3 },
604
+ { character: 'c', count: 6, score: 3 },
605
+ { character: 'd', count: 8, score: 2 },
606
+ { character: 'e', count: 24, score: 1 },
607
+ { character: 'f', count: 4, score: 4 },
608
+ { character: 'g', count: 5, score: 2 },
609
+ { character: 'h', count: 5, score: 4 },
610
+ { character: 'i', count: 13, score: 1 },
611
+ { character: 'j', count: 2, score: 8 },
612
+ { character: 'k', count: 2, score: 5 },
613
+ { character: 'l', count: 7, score: 1 },
614
+ { character: 'm', count: 6, score: 3 },
615
+ { character: 'n', count: 13, score: 1 },
616
+ { character: 'o', count: 15, score: 1 },
617
+ { character: 'p', count: 4, score: 3 },
618
+ { character: 'q', count: 2, score: 10 },
619
+ { character: 'r', count: 13, score: 1 },
620
+ { character: 's', count: 10, score: 1 },
621
+ { character: 't', count: 15, score: 1 },
622
+ { character: 'u', count: 7, score: 1 },
623
+ { character: 'v', count: 3, score: 4 },
624
+ { character: 'w', count: 4, score: 4 },
625
+ { character: 'x', count: 2, score: 8 },
626
+ { character: 'y', count: 4, score: 4 },
627
+ { character: 'z', count: 2, score: 10 },
628
+ ],
629
+ }),
630
+ new types_1.Config({
631
+ ...games_1.literaki,
632
+ locale: types_1.Locale.EN_GB,
633
+ name: 'Literaxx',
634
+ tiles: [
635
+ { character: 'a', count: 9, score: 1 },
636
+ { character: 'b', count: 2, score: 3 },
637
+ { character: 'c', count: 2, score: 3 },
638
+ { character: 'd', count: 4, score: 2 },
639
+ { character: 'e', count: 12, score: 1 },
640
+ { character: 'f', count: 2, score: 4 },
641
+ { character: 'g', count: 3, score: 2 },
642
+ { character: 'h', count: 2, score: 4 },
643
+ { character: 'i', count: 9, score: 1 },
644
+ { character: 'j', count: 1, score: 8 },
645
+ { character: 'k', count: 1, score: 5 },
646
+ { character: 'l', count: 4, score: 1 },
647
+ { character: 'm', count: 2, score: 3 },
648
+ { character: 'n', count: 6, score: 1 },
649
+ { character: 'o', count: 8, score: 1 },
650
+ { character: 'p', count: 2, score: 3 },
651
+ { character: 'q', count: 1, score: 10 },
652
+ { character: 'r', count: 6, score: 1 },
653
+ { character: 's', count: 4, score: 1 },
654
+ { character: 't', count: 6, score: 1 },
655
+ { character: 'u', count: 4, score: 1 },
656
+ { character: 'v', count: 2, score: 4 },
657
+ { character: 'w', count: 2, score: 4 },
658
+ { character: 'x', count: 1, score: 8 },
659
+ { character: 'y', count: 2, score: 4 },
660
+ { character: 'z', count: 1, score: 10 },
661
+ ],
662
+ }),
395
663
  ];
396
- exports["default"] = tilesEs;
664
+ exports["default"] = enGb;
397
665
 
398
666
 
399
667
  /***/ }),
400
668
 
401
- /***/ 35366:
402
- /***/ ((__unused_webpack_module, exports) => {
669
+ /***/ 61892:
670
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
403
671
 
404
672
  "use strict";
405
673
 
406
674
  Object.defineProperty(exports, "__esModule", ({ value: true }));
407
- const tilesFa = [
408
- { character: 'ا', count: 12, score: 1 },
409
- { character: 'ب', count: 4, score: 1 },
410
- { character: 'پ', count: 1, score: 6 },
411
- { character: 'ت', count: 4, score: 1 },
412
- { character: 'ث', count: 1, score: 10 },
413
- { character: 'ج', count: 2, score: 5 },
414
- { character: 'چ', count: 1, score: 6 },
415
- { character: 'ح', count: 1, score: 6 },
416
- { character: 'خ', count: 2, score: 5 },
417
- { character: 'د', count: 6, score: 1 },
418
- { character: 'ذ', count: 1, score: 10 },
419
- { character: 'ر', count: 7, score: 1 },
420
- { character: 'ز', count: 3, score: 4 },
421
- { character: 'ژ', count: 1, score: 10 },
422
- { character: 'س', count: 3, score: 2 },
423
- { character: 'ش', count: 3, score: 3 },
424
- { character: 'ص', count: 1, score: 6 },
425
- { character: 'ض', count: 1, score: 8 },
426
- { character: 'ط', count: 1, score: 8 },
427
- { character: 'ظ', count: 1, score: 10 },
428
- { character: 'ع', count: 2, score: 5 },
429
- { character: 'غ', count: 1, score: 8 },
430
- { character: 'ف', count: 2, score: 4 },
431
- { character: 'ق', count: 2, score: 5 },
432
- { character: 'ک', count: 3, score: 3 },
433
- { character: 'گ', count: 2, score: 4 },
434
- { character: 'ل', count: 3, score: 2 },
435
- { character: 'م', count: 5, score: 1 },
436
- { character: 'ن', count: 6, score: 1 },
437
- { character: 'و', count: 5, score: 1 },
438
- { character: 'ه', count: 5, score: 1 },
439
- { character: 'ی', count: 8, score: 1 },
675
+ const types_1 = __webpack_require__(34046);
676
+ const games_1 = __webpack_require__(34928);
677
+ const enUs = [
678
+ new types_1.Config({
679
+ ...games_1.scrabble,
680
+ locale: types_1.Locale.EN_US,
681
+ tiles: [
682
+ { character: 'a', count: 9, score: 1 },
683
+ { character: 'b', count: 2, score: 3 },
684
+ { character: 'c', count: 2, score: 3 },
685
+ { character: 'd', count: 4, score: 2 },
686
+ { character: 'e', count: 12, score: 1 },
687
+ { character: 'f', count: 2, score: 4 },
688
+ { character: 'g', count: 3, score: 2 },
689
+ { character: 'h', count: 2, score: 4 },
690
+ { character: 'i', count: 9, score: 1 },
691
+ { character: 'j', count: 1, score: 8 },
692
+ { character: 'k', count: 1, score: 5 },
693
+ { character: 'l', count: 4, score: 1 },
694
+ { character: 'm', count: 2, score: 3 },
695
+ { character: 'n', count: 6, score: 1 },
696
+ { character: 'o', count: 8, score: 1 },
697
+ { character: 'p', count: 2, score: 3 },
698
+ { character: 'q', count: 1, score: 10 },
699
+ { character: 'r', count: 6, score: 1 },
700
+ { character: 's', count: 4, score: 1 },
701
+ { character: 't', count: 6, score: 1 },
702
+ { character: 'u', count: 4, score: 1 },
703
+ { character: 'v', count: 2, score: 4 },
704
+ { character: 'w', count: 2, score: 4 },
705
+ { character: 'x', count: 1, score: 8 },
706
+ { character: 'y', count: 2, score: 4 },
707
+ { character: 'z', count: 1, score: 10 },
708
+ ],
709
+ }),
710
+ new types_1.Config({
711
+ ...games_1.superScrabble,
712
+ locale: types_1.Locale.EN_US,
713
+ tiles: [
714
+ { character: 'a', count: 16, score: 1 },
715
+ { character: 'b', count: 4, score: 3 },
716
+ { character: 'c', count: 6, score: 3 },
717
+ { character: 'd', count: 8, score: 2 },
718
+ { character: 'e', count: 24, score: 1 },
719
+ { character: 'f', count: 4, score: 4 },
720
+ { character: 'g', count: 5, score: 2 },
721
+ { character: 'h', count: 5, score: 4 },
722
+ { character: 'i', count: 13, score: 1 },
723
+ { character: 'j', count: 2, score: 8 },
724
+ { character: 'k', count: 2, score: 5 },
725
+ { character: 'l', count: 7, score: 1 },
726
+ { character: 'm', count: 6, score: 3 },
727
+ { character: 'n', count: 13, score: 1 },
728
+ { character: 'o', count: 15, score: 1 },
729
+ { character: 'p', count: 4, score: 3 },
730
+ { character: 'q', count: 2, score: 10 },
731
+ { character: 'r', count: 13, score: 1 },
732
+ { character: 's', count: 10, score: 1 },
733
+ { character: 't', count: 15, score: 1 },
734
+ { character: 'u', count: 7, score: 1 },
735
+ { character: 'v', count: 3, score: 4 },
736
+ { character: 'w', count: 4, score: 4 },
737
+ { character: 'x', count: 2, score: 8 },
738
+ { character: 'y', count: 4, score: 4 },
739
+ { character: 'z', count: 2, score: 10 },
740
+ ],
741
+ }),
742
+ new types_1.Config({
743
+ ...games_1.literaki,
744
+ locale: types_1.Locale.EN_US,
745
+ name: 'Literaxx',
746
+ tiles: [
747
+ { character: 'a', count: 9, score: 1 },
748
+ { character: 'b', count: 2, score: 3 },
749
+ { character: 'c', count: 2, score: 3 },
750
+ { character: 'd', count: 4, score: 2 },
751
+ { character: 'e', count: 12, score: 1 },
752
+ { character: 'f', count: 2, score: 4 },
753
+ { character: 'g', count: 3, score: 2 },
754
+ { character: 'h', count: 2, score: 4 },
755
+ { character: 'i', count: 9, score: 1 },
756
+ { character: 'j', count: 1, score: 8 },
757
+ { character: 'k', count: 1, score: 5 },
758
+ { character: 'l', count: 4, score: 1 },
759
+ { character: 'm', count: 2, score: 3 },
760
+ { character: 'n', count: 6, score: 1 },
761
+ { character: 'o', count: 8, score: 1 },
762
+ { character: 'p', count: 2, score: 3 },
763
+ { character: 'q', count: 1, score: 10 },
764
+ { character: 'r', count: 6, score: 1 },
765
+ { character: 's', count: 4, score: 1 },
766
+ { character: 't', count: 6, score: 1 },
767
+ { character: 'u', count: 4, score: 1 },
768
+ { character: 'v', count: 2, score: 4 },
769
+ { character: 'w', count: 2, score: 4 },
770
+ { character: 'x', count: 1, score: 8 },
771
+ { character: 'y', count: 2, score: 4 },
772
+ { character: 'z', count: 1, score: 10 },
773
+ ],
774
+ }),
440
775
  ];
441
- exports["default"] = tilesFa;
776
+ exports["default"] = enUs;
442
777
 
443
778
 
444
779
  /***/ }),
445
780
 
446
- /***/ 59541:
447
- /***/ ((__unused_webpack_module, exports) => {
781
+ /***/ 58230:
782
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
448
783
 
449
784
  "use strict";
450
785
 
451
786
  Object.defineProperty(exports, "__esModule", ({ value: true }));
452
- const tilesFr = [
453
- { character: 'a', count: 9, score: 1 },
454
- { character: 'b', count: 2, score: 3 },
455
- { character: 'c', count: 2, score: 3 },
456
- { character: 'd', count: 3, score: 2 },
457
- { character: 'e', count: 15, score: 1 },
458
- { character: 'f', count: 2, score: 1 },
459
- { character: 'g', count: 2, score: 2 },
460
- { character: 'h', count: 2, score: 4 },
461
- { character: 'i', count: 8, score: 1 },
462
- { character: 'j', count: 1, score: 8 },
463
- { character: 'k', count: 1, score: 10 },
464
- { character: 'l', count: 5, score: 1 },
465
- { character: 'm', count: 3, score: 2 },
466
- { character: 'n', count: 6, score: 1 },
467
- { character: 'o', count: 6, score: 1 },
468
- { character: 'p', count: 2, score: 3 },
469
- { character: 'q', count: 1, score: 8 },
470
- { character: 'r', count: 6, score: 1 },
471
- { character: 's', count: 6, score: 1 },
472
- { character: 't', count: 6, score: 1 },
473
- { character: 'u', count: 6, score: 1 },
474
- { character: 'v', count: 2, score: 4 },
475
- { character: 'w', count: 1, score: 10 },
476
- { character: 'x', count: 1, score: 10 },
477
- { character: 'y', count: 1, score: 10 },
478
- { character: 'z', count: 1, score: 10 },
787
+ const types_1 = __webpack_require__(34046);
788
+ const games_1 = __webpack_require__(34928);
789
+ const esEs = [
790
+ new types_1.Config({
791
+ ...games_1.scrabble,
792
+ locale: types_1.Locale.ES_ES,
793
+ tiles: [
794
+ { character: 'a', count: 12, score: 1 },
795
+ { character: 'b', count: 2, score: 3 },
796
+ { character: 'c', count: 4, score: 3 },
797
+ { character: 'ch', count: 1, score: 5 },
798
+ { character: 'd', count: 5, score: 2 },
799
+ { character: 'e', count: 12, score: 1 },
800
+ { character: 'f', count: 1, score: 4 },
801
+ { character: 'g', count: 2, score: 2 },
802
+ { character: 'h', count: 2, score: 4 },
803
+ { character: 'i', count: 6, score: 1 },
804
+ { character: 'j', count: 1, score: 8 },
805
+ { character: 'll', count: 1, score: 8 },
806
+ { character: 'l', count: 4, score: 1 },
807
+ { character: 'm', count: 2, score: 3 },
808
+ { character: 'n', count: 5, score: 1 },
809
+ { character: 'ñ', count: 1, score: 8 },
810
+ { character: 'o', count: 9, score: 1 },
811
+ { character: 'p', count: 2, score: 3 },
812
+ { character: 'q', count: 1, score: 5 },
813
+ { character: 'r', count: 5, score: 1 },
814
+ { character: 'rr', count: 1, score: 8 },
815
+ { character: 's', count: 6, score: 1 },
816
+ { character: 't', count: 4, score: 1 },
817
+ { character: 'u', count: 5, score: 1 },
818
+ { character: 'v', count: 1, score: 4 },
819
+ { character: 'x', count: 1, score: 8 },
820
+ { character: 'y', count: 1, score: 4 },
821
+ { character: 'z', count: 1, score: 10 },
822
+ ],
823
+ }),
479
824
  ];
480
- exports["default"] = tilesFr;
825
+ exports["default"] = esEs;
481
826
 
482
827
 
483
828
  /***/ }),
484
829
 
485
- /***/ 2647:
486
- /***/ ((__unused_webpack_module, exports) => {
830
+ /***/ 23113:
831
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
487
832
 
488
833
  "use strict";
489
834
 
490
835
  Object.defineProperty(exports, "__esModule", ({ value: true }));
491
- const tilesPl = [
492
- { character: 'a', count: 9, score: 1 },
493
- { character: 'ą', count: 1, score: 5 },
494
- { character: 'b', count: 2, score: 3 },
495
- { character: 'c', count: 3, score: 2 },
496
- { character: 'ć', count: 1, score: 5 },
497
- { character: 'd', count: 3, score: 2 },
498
- { character: 'e', count: 7, score: 1 },
499
- { character: 'ę', count: 1, score: 5 },
500
- { character: 'f', count: 1, score: 5 },
501
- { character: 'g', count: 2, score: 3 },
502
- { character: 'h', count: 2, score: 3 },
503
- { character: 'i', count: 8, score: 1 },
504
- { character: 'j', count: 2, score: 3 },
505
- { character: 'k', count: 3, score: 2 },
506
- { character: 'l', count: 3, score: 2 },
507
- { character: 'ł', count: 2, score: 3 },
508
- { character: 'm', count: 3, score: 2 },
509
- { character: 'n', count: 5, score: 1 },
510
- { character: 'ń', count: 1, score: 5 },
511
- { character: 'o', count: 6, score: 1 },
512
- { character: 'ó', count: 1, score: 5 },
513
- { character: 'p', count: 3, score: 2 },
514
- { character: 'r', count: 4, score: 1 },
515
- { character: 's', count: 4, score: 1 },
516
- { character: 'ś', count: 1, score: 5 },
517
- { character: 't', count: 3, score: 2 },
518
- { character: 'u', count: 2, score: 3 },
519
- { character: 'w', count: 4, score: 1 },
520
- { character: 'y', count: 4, score: 2 },
521
- { character: 'z', count: 5, score: 1 },
522
- { character: 'ź', count: 1, score: 5 },
523
- { character: 'ż', count: 1, score: 5 },
836
+ const types_1 = __webpack_require__(34046);
837
+ const games_1 = __webpack_require__(34928);
838
+ const faIr = [
839
+ new types_1.Config({
840
+ ...games_1.scrabble,
841
+ locale: types_1.Locale.FA_IR,
842
+ tiles: [
843
+ { character: 'ا', count: 12, score: 1 },
844
+ { character: 'ب', count: 4, score: 1 },
845
+ { character: 'پ', count: 1, score: 6 },
846
+ { character: 'ت', count: 4, score: 1 },
847
+ { character: 'ث', count: 1, score: 10 },
848
+ { character: 'ج', count: 2, score: 5 },
849
+ { character: 'چ', count: 1, score: 6 },
850
+ { character: 'ح', count: 1, score: 6 },
851
+ { character: 'خ', count: 2, score: 5 },
852
+ { character: 'د', count: 6, score: 1 },
853
+ { character: 'ذ', count: 1, score: 10 },
854
+ { character: 'ر', count: 7, score: 1 },
855
+ { character: 'ز', count: 3, score: 4 },
856
+ { character: 'ژ', count: 1, score: 10 },
857
+ { character: 'س', count: 3, score: 2 },
858
+ { character: 'ش', count: 3, score: 3 },
859
+ { character: 'ص', count: 1, score: 6 },
860
+ { character: 'ض', count: 1, score: 8 },
861
+ { character: 'ط', count: 1, score: 8 },
862
+ { character: 'ظ', count: 1, score: 10 },
863
+ { character: 'ع', count: 2, score: 5 },
864
+ { character: 'غ', count: 1, score: 8 },
865
+ { character: 'ف', count: 2, score: 4 },
866
+ { character: 'ق', count: 2, score: 5 },
867
+ { character: 'ک', count: 3, score: 3 },
868
+ { character: 'گ', count: 2, score: 4 },
869
+ { character: 'ل', count: 3, score: 2 },
870
+ { character: 'م', count: 5, score: 1 },
871
+ { character: 'ن', count: 6, score: 1 },
872
+ { character: 'و', count: 5, score: 1 },
873
+ { character: 'ه', count: 5, score: 1 },
874
+ { character: 'ی', count: 8, score: 1 },
875
+ ],
876
+ }),
524
877
  ];
525
- exports["default"] = tilesPl;
878
+ exports["default"] = faIr;
526
879
 
527
880
 
528
881
  /***/ }),
529
882
 
530
- /***/ 51551:
883
+ /***/ 1180:
531
884
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
532
885
 
533
886
  "use strict";
534
887
 
535
888
  Object.defineProperty(exports, "__esModule", ({ value: true }));
536
- const constants_1 = __webpack_require__(7618);
537
- const bonuses = [
538
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 0 },
539
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 0 },
540
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 7, y: 0 },
541
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 0 },
542
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 0 },
543
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 1, y: 1 },
544
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 1 },
545
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 1 },
546
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 13, y: 1 },
547
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 2 },
548
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 6, y: 2 },
549
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 8, y: 2 },
550
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 12, y: 2 },
551
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 3 },
552
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 3, y: 3 },
553
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 7, y: 3 },
554
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 11, y: 3 },
555
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 3 },
556
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 4, y: 4 },
557
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 10, y: 4 },
558
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 1, y: 5 },
559
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 5 },
560
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 5 },
561
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 13, y: 5 },
562
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 2, y: 6 },
563
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 6, y: 6 },
564
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 8, y: 6 },
565
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 12, y: 6 },
566
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 7 },
567
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 7 },
568
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 7, y: 7 },
569
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 7 },
570
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 7 },
571
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 2, y: 8 },
572
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 6, y: 8 },
573
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 8, y: 8 },
574
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 12, y: 8 },
575
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 1, y: 9 },
576
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 9 },
577
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 9 },
578
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 13, y: 9 },
579
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 4, y: 10 },
580
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 10, y: 10 },
581
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 11 },
582
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 3, y: 11 },
583
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 7, y: 11 },
584
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 11, y: 11 },
585
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 11 },
586
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 2, y: 12 },
587
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 6, y: 12 },
588
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 8, y: 12 },
589
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 12, y: 12 },
590
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 1, y: 13 },
591
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 13 },
592
- { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 13 },
593
- { multiplier: 2, type: constants_1.BONUS_WORD, x: 13, y: 13 },
594
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 14 },
595
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 14 },
596
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 7, y: 14 },
597
- { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 14 },
598
- { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 14 },
889
+ const types_1 = __webpack_require__(34046);
890
+ const games_1 = __webpack_require__(34928);
891
+ const frFr = [
892
+ new types_1.Config({
893
+ ...games_1.scrabble,
894
+ locale: types_1.Locale.FR_FR,
895
+ tiles: [
896
+ { character: 'a', count: 9, score: 1 },
897
+ { character: 'b', count: 2, score: 3 },
898
+ { character: 'c', count: 2, score: 3 },
899
+ { character: 'd', count: 3, score: 2 },
900
+ { character: 'e', count: 15, score: 1 },
901
+ { character: 'f', count: 2, score: 4 },
902
+ { character: 'g', count: 2, score: 2 },
903
+ { character: 'h', count: 2, score: 4 },
904
+ { character: 'i', count: 8, score: 1 },
905
+ { character: 'j', count: 1, score: 8 },
906
+ { character: 'k', count: 1, score: 10 },
907
+ { character: 'l', count: 5, score: 1 },
908
+ { character: 'm', count: 3, score: 2 },
909
+ { character: 'n', count: 6, score: 1 },
910
+ { character: 'o', count: 6, score: 1 },
911
+ { character: 'p', count: 2, score: 3 },
912
+ { character: 'q', count: 1, score: 8 },
913
+ { character: 'r', count: 6, score: 1 },
914
+ { character: 's', count: 6, score: 1 },
915
+ { character: 't', count: 6, score: 1 },
916
+ { character: 'u', count: 6, score: 1 },
917
+ { character: 'v', count: 2, score: 4 },
918
+ { character: 'w', count: 1, score: 10 },
919
+ { character: 'x', count: 1, score: 10 },
920
+ { character: 'y', count: 1, score: 10 },
921
+ { character: 'z', count: 1, score: 10 },
922
+ ],
923
+ }),
599
924
  ];
600
- exports["default"] = bonuses;
925
+ exports["default"] = frFr;
601
926
 
602
927
 
603
928
  /***/ }),
604
929
 
605
- /***/ 8964:
930
+ /***/ 41331:
606
931
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
607
932
 
608
933
  "use strict";
@@ -611,325 +936,112 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
611
936
  return (mod && mod.__esModule) ? mod : { "default": mod };
612
937
  };
613
938
  Object.defineProperty(exports, "__esModule", ({ value: true }));
614
- exports["default"] = void 0;
615
- var scrabble_1 = __webpack_require__(97192);
616
- Object.defineProperty(exports, "default", ({ enumerable: true, get: function () { return __importDefault(scrabble_1).default; } }));
617
-
618
-
619
- /***/ }),
620
-
621
- /***/ 97192:
622
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
939
+ exports.plPl = exports.frFr = exports.faIr = exports.esEs = exports.enUs = exports.enGb = exports.deDe = void 0;
940
+ var deDe_1 = __webpack_require__(57304);
941
+ Object.defineProperty(exports, "deDe", ({ enumerable: true, get: function () { return __importDefault(deDe_1).default; } }));
942
+ var enGb_1 = __webpack_require__(81435);
943
+ Object.defineProperty(exports, "enGb", ({ enumerable: true, get: function () { return __importDefault(enGb_1).default; } }));
944
+ var enUs_1 = __webpack_require__(61892);
945
+ Object.defineProperty(exports, "enUs", ({ enumerable: true, get: function () { return __importDefault(enUs_1).default; } }));
946
+ var esEs_1 = __webpack_require__(58230);
947
+ Object.defineProperty(exports, "esEs", ({ enumerable: true, get: function () { return __importDefault(esEs_1).default; } }));
948
+ var faIr_1 = __webpack_require__(23113);
949
+ Object.defineProperty(exports, "faIr", ({ enumerable: true, get: function () { return __importDefault(faIr_1).default; } }));
950
+ var frFr_1 = __webpack_require__(1180);
951
+ Object.defineProperty(exports, "frFr", ({ enumerable: true, get: function () { return __importDefault(frFr_1).default; } }));
952
+ var plPl_1 = __webpack_require__(32658);
953
+ Object.defineProperty(exports, "plPl", ({ enumerable: true, get: function () { return __importDefault(plPl_1).default; } }));
954
+
955
+
956
+ /***/ }),
957
+
958
+ /***/ 32658:
959
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
623
960
 
624
961
  "use strict";
625
962
 
626
- var __importDefault = (this && this.__importDefault) || function (mod) {
627
- return (mod && mod.__esModule) ? mod : { "default": mod };
628
- };
629
963
  Object.defineProperty(exports, "__esModule", ({ value: true }));
630
964
  const types_1 = __webpack_require__(34046);
631
- const bonuses_1 = __importDefault(__webpack_require__(51551));
632
- const tiles_1 = __webpack_require__(29213);
633
- const base = {
634
- allTilesBonusScore: 50,
635
- blankScore: 0,
636
- blanksCount: 2,
637
- boardHeight: 15,
638
- boardWidth: 15,
639
- bonuses: bonuses_1.default,
640
- id: 'scrabble',
641
- maximumCharactersCount: 7,
642
- name: 'Scrabble',
643
- };
644
- const scrabble = {
645
- id: base.id,
646
- name: base.name,
647
- [types_1.Locale.EN_GB]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.EN_GB, tiles: tiles_1.tilesEn }),
648
- [types_1.Locale.DE_DE]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.DE_DE, tiles: tiles_1.tilesDe }),
649
- [types_1.Locale.EN_US]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.EN_US, tiles: tiles_1.tilesEn }),
650
- [types_1.Locale.ES_ES]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.ES_ES, tiles: tiles_1.tilesEs }),
651
- [types_1.Locale.FA_IR]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.FA_IR, tiles: tiles_1.tilesFa }),
652
- [types_1.Locale.FR_FR]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.FR_FR, tiles: tiles_1.tilesFr }),
653
- [types_1.Locale.PL_PL]: types_1.Config.fromJson({ ...base, locale: types_1.Locale.PL_PL, tiles: tiles_1.tilesPl }),
654
- };
655
- exports["default"] = scrabble;
656
-
657
-
658
- /***/ }),
659
-
660
- /***/ 29213:
661
- /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
662
-
663
- "use strict";
664
-
665
- var __importDefault = (this && this.__importDefault) || function (mod) {
666
- return (mod && mod.__esModule) ? mod : { "default": mod };
667
- };
668
- Object.defineProperty(exports, "__esModule", ({ value: true }));
669
- exports.tilesDe = exports.tilesPl = exports.tilesFr = exports.tilesFa = exports.tilesEs = exports.tilesEn = void 0;
670
- var tilesEn_1 = __webpack_require__(76149);
671
- Object.defineProperty(exports, "tilesEn", ({ enumerable: true, get: function () { return __importDefault(tilesEn_1).default; } }));
672
- var tilesEs_1 = __webpack_require__(14537);
673
- Object.defineProperty(exports, "tilesEs", ({ enumerable: true, get: function () { return __importDefault(tilesEs_1).default; } }));
674
- var tilesFa_1 = __webpack_require__(22878);
675
- Object.defineProperty(exports, "tilesFa", ({ enumerable: true, get: function () { return __importDefault(tilesFa_1).default; } }));
676
- var tilesFr_1 = __webpack_require__(72866);
677
- Object.defineProperty(exports, "tilesFr", ({ enumerable: true, get: function () { return __importDefault(tilesFr_1).default; } }));
678
- var tilesPl_1 = __webpack_require__(85667);
679
- Object.defineProperty(exports, "tilesPl", ({ enumerable: true, get: function () { return __importDefault(tilesPl_1).default; } }));
680
- var tilesDe_1 = __webpack_require__(17355);
681
- Object.defineProperty(exports, "tilesDe", ({ enumerable: true, get: function () { return __importDefault(tilesDe_1).default; } }));
682
-
683
-
684
- /***/ }),
685
-
686
- /***/ 17355:
687
- /***/ ((__unused_webpack_module, exports) => {
688
-
689
- "use strict";
690
-
691
- Object.defineProperty(exports, "__esModule", ({ value: true }));
692
- const tilesDe = [
693
- { character: 'a', count: 5, score: 1 },
694
- { character: 'ä', count: 1, score: 6 },
695
- { character: 'b', count: 2, score: 3 },
696
- { character: 'c', count: 2, score: 4 },
697
- { character: 'd', count: 4, score: 1 },
698
- { character: 'e', count: 15, score: 1 },
699
- { character: 'f', count: 2, score: 4 },
700
- { character: 'g', count: 3, score: 2 },
701
- { character: 'h', count: 4, score: 2 },
702
- { character: 'i', count: 6, score: 1 },
703
- { character: 'j', count: 1, score: 6 },
704
- { character: 'k', count: 2, score: 4 },
705
- { character: 'l', count: 3, score: 2 },
706
- { character: 'm', count: 4, score: 3 },
707
- { character: 'n', count: 9, score: 1 },
708
- { character: 'o', count: 3, score: 2 },
709
- { character: 'ö', count: 1, score: 8 },
710
- { character: 'p', count: 1, score: 4 },
711
- { character: 'q', count: 1, score: 10 },
712
- { character: 'r', count: 6, score: 1 },
713
- { character: 's', count: 7, score: 1 },
714
- { character: 't', count: 6, score: 1 },
715
- { character: 'u', count: 6, score: 1 },
716
- { character: 'ü', count: 1, score: 6 },
717
- { character: 'v', count: 1, score: 6 },
718
- { character: 'w', count: 1, score: 3 },
719
- { character: 'x', count: 1, score: 8 },
720
- { character: 'y', count: 1, score: 10 },
721
- { character: 'z', count: 1, score: 3 },
722
- ];
723
- exports["default"] = tilesDe;
724
-
725
-
726
- /***/ }),
727
-
728
- /***/ 76149:
729
- /***/ ((__unused_webpack_module, exports) => {
730
-
731
- "use strict";
732
-
733
- Object.defineProperty(exports, "__esModule", ({ value: true }));
734
- const tilesEn = [
735
- { character: 'a', count: 9, score: 1 },
736
- { character: 'b', count: 2, score: 3 },
737
- { character: 'c', count: 2, score: 3 },
738
- { character: 'd', count: 4, score: 2 },
739
- { character: 'e', count: 12, score: 1 },
740
- { character: 'f', count: 2, score: 4 },
741
- { character: 'g', count: 3, score: 2 },
742
- { character: 'h', count: 2, score: 4 },
743
- { character: 'i', count: 9, score: 1 },
744
- { character: 'j', count: 1, score: 8 },
745
- { character: 'k', count: 1, score: 5 },
746
- { character: 'l', count: 4, score: 1 },
747
- { character: 'm', count: 2, score: 3 },
748
- { character: 'n', count: 6, score: 1 },
749
- { character: 'o', count: 8, score: 1 },
750
- { character: 'p', count: 2, score: 3 },
751
- { character: 'q', count: 1, score: 10 },
752
- { character: 'r', count: 6, score: 1 },
753
- { character: 's', count: 4, score: 1 },
754
- { character: 't', count: 6, score: 1 },
755
- { character: 'u', count: 4, score: 1 },
756
- { character: 'v', count: 2, score: 4 },
757
- { character: 'w', count: 2, score: 4 },
758
- { character: 'x', count: 1, score: 8 },
759
- { character: 'y', count: 2, score: 4 },
760
- { character: 'z', count: 1, score: 10 },
761
- ];
762
- exports["default"] = tilesEn;
763
-
764
-
765
- /***/ }),
766
-
767
- /***/ 14537:
768
- /***/ ((__unused_webpack_module, exports) => {
769
-
770
- "use strict";
771
-
772
- Object.defineProperty(exports, "__esModule", ({ value: true }));
773
- const tilesEs = [
774
- { character: 'a', count: 12, score: 1 },
775
- { character: 'b', count: 2, score: 3 },
776
- { character: 'c', count: 4, score: 3 },
777
- { character: 'ch', count: 1, score: 5 },
778
- { character: 'd', count: 5, score: 2 },
779
- { character: 'e', count: 12, score: 1 },
780
- { character: 'f', count: 1, score: 4 },
781
- { character: 'g', count: 2, score: 2 },
782
- { character: 'h', count: 2, score: 4 },
783
- { character: 'i', count: 6, score: 1 },
784
- { character: 'j', count: 1, score: 8 },
785
- { character: 'll', count: 1, score: 8 },
786
- { character: 'l', count: 4, score: 1 },
787
- { character: 'm', count: 2, score: 3 },
788
- { character: 'n', count: 5, score: 1 },
789
- { character: 'ñ', count: 1, score: 8 },
790
- { character: 'o', count: 9, score: 1 },
791
- { character: 'p', count: 2, score: 3 },
792
- { character: 'q', count: 1, score: 5 },
793
- { character: 'r', count: 5, score: 1 },
794
- { character: 'rr', count: 1, score: 8 },
795
- { character: 's', count: 6, score: 1 },
796
- { character: 't', count: 4, score: 1 },
797
- { character: 'u', count: 5, score: 1 },
798
- { character: 'v', count: 1, score: 4 },
799
- { character: 'x', count: 1, score: 8 },
800
- { character: 'y', count: 1, score: 4 },
801
- { character: 'z', count: 1, score: 10 },
802
- ];
803
- exports["default"] = tilesEs;
804
-
805
-
806
- /***/ }),
807
-
808
- /***/ 22878:
809
- /***/ ((__unused_webpack_module, exports) => {
810
-
811
- "use strict";
812
-
813
- Object.defineProperty(exports, "__esModule", ({ value: true }));
814
- const tilesFa = [
815
- { character: 'ا', count: 12, score: 1 },
816
- { character: 'ب', count: 4, score: 1 },
817
- { character: 'پ', count: 1, score: 6 },
818
- { character: 'ت', count: 4, score: 1 },
819
- { character: 'ث', count: 1, score: 10 },
820
- { character: 'ج', count: 2, score: 5 },
821
- { character: 'چ', count: 1, score: 6 },
822
- { character: 'ح', count: 1, score: 6 },
823
- { character: 'خ', count: 2, score: 5 },
824
- { character: 'د', count: 6, score: 1 },
825
- { character: 'ذ', count: 1, score: 10 },
826
- { character: 'ر', count: 7, score: 1 },
827
- { character: 'ز', count: 3, score: 4 },
828
- { character: 'ژ', count: 1, score: 10 },
829
- { character: 'س', count: 3, score: 2 },
830
- { character: 'ش', count: 3, score: 3 },
831
- { character: 'ص', count: 1, score: 6 },
832
- { character: 'ض', count: 1, score: 8 },
833
- { character: 'ط', count: 1, score: 8 },
834
- { character: 'ظ', count: 1, score: 10 },
835
- { character: 'ع', count: 2, score: 5 },
836
- { character: 'غ', count: 1, score: 8 },
837
- { character: 'ف', count: 2, score: 4 },
838
- { character: 'ق', count: 2, score: 5 },
839
- { character: 'ک', count: 3, score: 3 },
840
- { character: 'گ', count: 2, score: 4 },
841
- { character: 'ل', count: 3, score: 2 },
842
- { character: 'م', count: 5, score: 1 },
843
- { character: 'ن', count: 6, score: 1 },
844
- { character: 'و', count: 5, score: 1 },
845
- { character: 'ه', count: 5, score: 1 },
846
- { character: 'ی', count: 8, score: 1 },
847
- ];
848
- exports["default"] = tilesFa;
849
-
850
-
851
- /***/ }),
852
-
853
- /***/ 72866:
854
- /***/ ((__unused_webpack_module, exports) => {
855
-
856
- "use strict";
857
-
858
- Object.defineProperty(exports, "__esModule", ({ value: true }));
859
- const tilesFr = [
860
- { character: 'a', count: 9, score: 1 },
861
- { character: 'b', count: 2, score: 3 },
862
- { character: 'c', count: 2, score: 3 },
863
- { character: 'd', count: 3, score: 2 },
864
- { character: 'e', count: 15, score: 1 },
865
- { character: 'f', count: 2, score: 4 },
866
- { character: 'g', count: 2, score: 2 },
867
- { character: 'h', count: 2, score: 4 },
868
- { character: 'i', count: 8, score: 1 },
869
- { character: 'j', count: 1, score: 8 },
870
- { character: 'k', count: 1, score: 10 },
871
- { character: 'l', count: 5, score: 1 },
872
- { character: 'm', count: 3, score: 2 },
873
- { character: 'n', count: 6, score: 1 },
874
- { character: 'o', count: 6, score: 1 },
875
- { character: 'p', count: 2, score: 3 },
876
- { character: 'q', count: 1, score: 8 },
877
- { character: 'r', count: 6, score: 1 },
878
- { character: 's', count: 6, score: 1 },
879
- { character: 't', count: 6, score: 1 },
880
- { character: 'u', count: 6, score: 1 },
881
- { character: 'v', count: 2, score: 4 },
882
- { character: 'w', count: 1, score: 10 },
883
- { character: 'x', count: 1, score: 10 },
884
- { character: 'y', count: 1, score: 10 },
885
- { character: 'z', count: 1, score: 10 },
886
- ];
887
- exports["default"] = tilesFr;
888
-
889
-
890
- /***/ }),
891
-
892
- /***/ 85667:
893
- /***/ ((__unused_webpack_module, exports) => {
894
-
895
- "use strict";
896
-
897
- Object.defineProperty(exports, "__esModule", ({ value: true }));
898
- const tilesPl = [
899
- { character: 'a', count: 9, score: 1 },
900
- { character: 'ą', count: 1, score: 5 },
901
- { character: 'b', count: 2, score: 3 },
902
- { character: 'c', count: 3, score: 2 },
903
- { character: 'ć', count: 1, score: 6 },
904
- { character: 'd', count: 3, score: 2 },
905
- { character: 'e', count: 7, score: 1 },
906
- { character: 'ę', count: 1, score: 5 },
907
- { character: 'f', count: 1, score: 5 },
908
- { character: 'g', count: 2, score: 3 },
909
- { character: 'h', count: 2, score: 3 },
910
- { character: 'i', count: 8, score: 1 },
911
- { character: 'j', count: 2, score: 3 },
912
- { character: 'k', count: 3, score: 2 },
913
- { character: 'l', count: 3, score: 2 },
914
- { character: 'ł', count: 2, score: 3 },
915
- { character: 'm', count: 3, score: 2 },
916
- { character: 'n', count: 5, score: 1 },
917
- { character: 'ń', count: 1, score: 7 },
918
- { character: 'o', count: 6, score: 1 },
919
- { character: 'ó', count: 1, score: 5 },
920
- { character: 'p', count: 3, score: 2 },
921
- { character: 'r', count: 4, score: 1 },
922
- { character: 's', count: 4, score: 1 },
923
- { character: 'ś', count: 1, score: 5 },
924
- { character: 't', count: 3, score: 2 },
925
- { character: 'u', count: 2, score: 3 },
926
- { character: 'w', count: 4, score: 1 },
927
- { character: 'y', count: 4, score: 2 },
928
- { character: 'z', count: 5, score: 1 },
929
- { character: 'ź', count: 1, score: 9 },
930
- { character: 'ż', count: 1, score: 5 },
965
+ const games_1 = __webpack_require__(34928);
966
+ const plPL = [
967
+ new types_1.Config({
968
+ ...games_1.scrabble,
969
+ locale: types_1.Locale.PL_PL,
970
+ tiles: [
971
+ { character: 'a', count: 9, score: 1 },
972
+ { character: 'ą', count: 1, score: 5 },
973
+ { character: 'b', count: 2, score: 3 },
974
+ { character: 'c', count: 3, score: 2 },
975
+ { character: 'ć', count: 1, score: 6 },
976
+ { character: 'd', count: 3, score: 2 },
977
+ { character: 'e', count: 7, score: 1 },
978
+ { character: 'ę', count: 1, score: 5 },
979
+ { character: 'f', count: 1, score: 5 },
980
+ { character: 'g', count: 2, score: 3 },
981
+ { character: 'h', count: 2, score: 3 },
982
+ { character: 'i', count: 8, score: 1 },
983
+ { character: 'j', count: 2, score: 3 },
984
+ { character: 'k', count: 3, score: 2 },
985
+ { character: 'l', count: 3, score: 2 },
986
+ { character: 'ł', count: 2, score: 3 },
987
+ { character: 'm', count: 3, score: 2 },
988
+ { character: 'n', count: 5, score: 1 },
989
+ { character: 'ń', count: 1, score: 7 },
990
+ { character: 'o', count: 6, score: 1 },
991
+ { character: 'ó', count: 1, score: 5 },
992
+ { character: 'p', count: 3, score: 2 },
993
+ { character: 'r', count: 4, score: 1 },
994
+ { character: 's', count: 4, score: 1 },
995
+ { character: 'ś', count: 1, score: 5 },
996
+ { character: 't', count: 3, score: 2 },
997
+ { character: 'u', count: 2, score: 3 },
998
+ { character: 'w', count: 4, score: 1 },
999
+ { character: 'y', count: 4, score: 2 },
1000
+ { character: 'z', count: 5, score: 1 },
1001
+ { character: 'ź', count: 1, score: 9 },
1002
+ { character: 'ż', count: 1, score: 5 },
1003
+ ],
1004
+ }),
1005
+ new types_1.Config({
1006
+ ...games_1.literaki,
1007
+ locale: types_1.Locale.PL_PL,
1008
+ tiles: [
1009
+ { character: 'a', count: 9, score: 1 },
1010
+ { character: 'ą', count: 1, score: 5 },
1011
+ { character: 'b', count: 2, score: 3 },
1012
+ { character: 'c', count: 3, score: 2 },
1013
+ { character: 'ć', count: 1, score: 5 },
1014
+ { character: 'd', count: 3, score: 2 },
1015
+ { character: 'e', count: 7, score: 1 },
1016
+ { character: 'ę', count: 1, score: 5 },
1017
+ { character: 'f', count: 1, score: 5 },
1018
+ { character: 'g', count: 2, score: 3 },
1019
+ { character: 'h', count: 2, score: 3 },
1020
+ { character: 'i', count: 8, score: 1 },
1021
+ { character: 'j', count: 2, score: 3 },
1022
+ { character: 'k', count: 3, score: 2 },
1023
+ { character: 'l', count: 3, score: 2 },
1024
+ { character: 'ł', count: 2, score: 3 },
1025
+ { character: 'm', count: 3, score: 2 },
1026
+ { character: 'n', count: 5, score: 1 },
1027
+ { character: 'ń', count: 1, score: 5 },
1028
+ { character: 'o', count: 6, score: 1 },
1029
+ { character: 'ó', count: 1, score: 5 },
1030
+ { character: 'p', count: 3, score: 2 },
1031
+ { character: 'r', count: 4, score: 1 },
1032
+ { character: 's', count: 4, score: 1 },
1033
+ { character: 'ś', count: 1, score: 5 },
1034
+ { character: 't', count: 3, score: 2 },
1035
+ { character: 'u', count: 2, score: 3 },
1036
+ { character: 'w', count: 4, score: 1 },
1037
+ { character: 'y', count: 4, score: 2 },
1038
+ { character: 'z', count: 5, score: 1 },
1039
+ { character: 'ź', count: 1, score: 5 },
1040
+ { character: 'ż', count: 1, score: 5 },
1041
+ ],
1042
+ }),
931
1043
  ];
932
- exports["default"] = tilesPl;
1044
+ exports["default"] = plPL;
933
1045
 
934
1046
 
935
1047
  /***/ }),
@@ -1022,6 +1134,8 @@ module.exports = {
1022
1134
  // Exports
1023
1135
  module.exports = {
1024
1136
  "tile": "Cell_tile__bTdCO",
1137
+ "first3": "Cell_first3__sgLsf",
1138
+ "last3": "Cell_last3__YiU_m",
1025
1139
  "sharpTopLeft": "Cell_sharpTopLeft__EGQgw",
1026
1140
  "sharpTopRight": "Cell_sharpTopRight__rzADZ",
1027
1141
  "sharpBottomLeft": "Cell_sharpBottomLeft__YGRug",
@@ -1289,6 +1403,7 @@ module.exports = {
1289
1403
  "radio": "Radio_radio__06IBr",
1290
1404
  "checked": "Radio_checked__MlqJv",
1291
1405
  "icon": "Radio_icon__ORxR0",
1406
+ "disabled": "Radio_disabled__8VzKa",
1292
1407
  "input": "Radio_input__PFpGB",
1293
1408
  "content": "Radio_content__08chi"
1294
1409
  };
@@ -1448,23 +1563,6 @@ module.exports = {
1448
1563
  };
1449
1564
 
1450
1565
 
1451
- /***/ }),
1452
-
1453
- /***/ 43070:
1454
- /***/ ((module) => {
1455
-
1456
- // Exports
1457
- module.exports = {
1458
- "de": "i18n_de__m_q6r",
1459
- "es": "i18n_es__gzpC4",
1460
- "fa": "i18n_fa__5puuJ",
1461
- "fr": "i18n_fr__blTY6",
1462
- "gb": "i18n_gb__SNXyz",
1463
- "pl": "i18n_pl__o4VtN",
1464
- "us": "i18n_us__Q_2KD"
1465
- };
1466
-
1467
-
1468
1566
  /***/ }),
1469
1567
 
1470
1568
  /***/ 15982:
@@ -2021,6 +2119,7 @@ const Cell = ({ cell , cellBottom , cellLeft , cellRight , cellTop , className ,
2021
2119
  const { tile , x , y } = cell;
2022
2120
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTranslate */ .qM)();
2023
2121
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_4__/* .selectLocale */ .fN);
2122
+ const config = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_4__/* .selectConfig */ .$o);
2024
2123
  const inputMode = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_4__/* .selectInputMode */ .Ub);
2025
2124
  const points = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)((state)=>(0,state__WEBPACK_IMPORTED_MODULE_4__/* .selectTilePoints */ .Zf)(state, cell.tile));
2026
2125
  const isValid = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)((state)=>(0,state__WEBPACK_IMPORTED_MODULE_4__/* .selectCellIsValid */ .fZ)(state, cell));
@@ -2065,6 +2164,8 @@ const Cell = ({ cell , cellBottom , cellLeft , cellRight , cellTop , className ,
2065
2164
  y: (y + 1).toLocaleString(locale)
2066
2165
  }),
2067
2166
  className: classnames__WEBPACK_IMPORTED_MODULE_2___default()((_Cell_module_scss__WEBPACK_IMPORTED_MODULE_6___default().tile), className, {
2167
+ [(_Cell_module_scss__WEBPACK_IMPORTED_MODULE_6___default().first3)]: x < 3,
2168
+ [(_Cell_module_scss__WEBPACK_IMPORTED_MODULE_6___default().last3)]: config.boardWidth - x - 1 < 3,
2068
2169
  [(_Cell_module_scss__WEBPACK_IMPORTED_MODULE_6___default().sharpTopLeft)]: cellTop?.hasTile() || cellLeft?.hasTile(),
2069
2170
  [(_Cell_module_scss__WEBPACK_IMPORTED_MODULE_6___default().sharpTopRight)]: cellTop?.hasTile() || cellRight?.hasTile(),
2070
2171
  [(_Cell_module_scss__WEBPACK_IMPORTED_MODULE_6___default().sharpBottomLeft)]: cellBottom?.hasTile() || cellLeft?.hasTile(),
@@ -2390,6 +2491,7 @@ const VERTICAL_LINE = "v";
2390
2491
  const BONUS = "b";
2391
2492
  const BONUS_WORD_2 = "b2";
2392
2493
  const BONUS_WORD_3 = "b3";
2494
+ const BONUS_WORD_4 = "b4";
2393
2495
  const CELL_FILTER = "c";
2394
2496
  const useBackgroundImage = ()=>{
2395
2497
  const { boardSize , cellSize } = (0,hooks__WEBPACK_IMPORTED_MODULE_5__/* .useAppLayout */ .Ft)();
@@ -2412,6 +2514,7 @@ const useBackgroundImage = ()=>{
2412
2514
  const characterBonuses = config.bonuses.filter((bonus)=>bonus.type === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.BONUS_CHARACTER);
2413
2515
  const word2Bonuses = config.bonuses.filter((bonus)=>bonus.type === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.BONUS_WORD && bonus.multiplier === 2);
2414
2516
  const word3Bonuses = config.bonuses.filter((bonus)=>bonus.type === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.BONUS_WORD && bonus.multiplier === 3);
2517
+ const word4Bonuses = config.bonuses.filter((bonus)=>bonus.type === _scrabble_solver_constants__WEBPACK_IMPORTED_MODULE_1__.BONUS_WORD && bonus.multiplier === 4);
2415
2518
  const getX = (point)=>point.x * (cellSize + parameters__WEBPACK_IMPORTED_MODULE_8__/* .BORDER_WIDTH */ .YF);
2416
2519
  const getY = (point)=>point.y * (cellSize + parameters__WEBPACK_IMPORTED_MODULE_8__/* .BORDER_WIDTH */ .YF);
2417
2520
  const backgroundSvg = (0,react_dom_server__WEBPACK_IMPORTED_MODULE_3__.renderToString)(/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_redux__WEBPACK_IMPORTED_MODULE_4__.Provider, {
@@ -2496,6 +2599,29 @@ const useBackgroundImage = ()=>{
2496
2599
  })
2497
2600
  ]
2498
2601
  }),
2602
+ /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("symbol", {
2603
+ id: BONUS_WORD_4,
2604
+ children: [
2605
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("rect", {
2606
+ height: bonusSize,
2607
+ rx: borderRadius,
2608
+ width: bonusSize,
2609
+ x: bonusOffset,
2610
+ y: bonusOffset
2611
+ }),
2612
+ /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("text", {
2613
+ dominantBaseline: "central",
2614
+ fill: "white",
2615
+ fontFamily: "system-ui, sans-serif",
2616
+ fontSize: fontSize,
2617
+ fontWeight: "bold",
2618
+ textAnchor: "middle",
2619
+ x: fontOffset,
2620
+ y: fontOffset,
2621
+ children: "x4"
2622
+ })
2623
+ ]
2624
+ }),
2499
2625
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("symbol", {
2500
2626
  id: CELL_FILTER,
2501
2627
  children: [
@@ -2556,6 +2682,12 @@ const useBackgroundImage = ()=>{
2556
2682
  x: getX(bonus),
2557
2683
  y: getY(bonus)
2558
2684
  }, index)),
2685
+ word4Bonuses.map((bonus, index)=>/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("use", {
2686
+ fill: (0,_lib__WEBPACK_IMPORTED_MODULE_10__/* .getBonusColor */ .T)(bonus),
2687
+ href: `#${BONUS_WORD_4}`,
2688
+ x: getX(bonus),
2689
+ y: getY(bonus)
2690
+ }, index)),
2559
2691
  /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("rect", {
2560
2692
  fill: parameters__WEBPACK_IMPORTED_MODULE_8__/* .COLOR_BONUS_START */ .HC,
2561
2693
  height: bonusSize,
@@ -2983,18 +3115,18 @@ const useGrid = (rows)=>{
2983
3115
  event.preventDefault();
2984
3116
  if (direction === "vertical") {
2985
3117
  onDirectionToggle();
2986
- changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q0[locale].direction === "ltr" ? -1 : 0, 0);
3118
+ changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q[locale].direction === "ltr" ? -1 : 0, 0);
2987
3119
  } else {
2988
- changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q0[locale].direction === "ltr" ? -1 : 1, 0);
3120
+ changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q[locale].direction === "ltr" ? -1 : 1, 0);
2989
3121
  }
2990
3122
  },
2991
3123
  onArrowRight: (event)=>{
2992
3124
  event.preventDefault();
2993
3125
  if (direction === "vertical") {
2994
3126
  onDirectionToggle();
2995
- changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q0[locale].direction === "ltr" ? 0 : -1, 0);
3127
+ changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q[locale].direction === "ltr" ? 0 : -1, 0);
2996
3128
  } else {
2997
- changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q0[locale].direction === "ltr" ? 1 : -1, 0);
3129
+ changeActiveIndex(i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q[locale].direction === "ltr" ? 1 : -1, 0);
2998
3130
  }
2999
3131
  },
3000
3132
  onArrowUp: (event)=>{
@@ -3517,7 +3649,7 @@ const DictionaryInput = ({ className })=>{
3517
3649
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTranslate */ .qM)();
3518
3650
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_4__/* .selectLocale */ .fN);
3519
3651
  const { input } = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_4__/* .selectDictionary */ .w1);
3520
- const { comma } = i18n__WEBPACK_IMPORTED_MODULE_3__/* .LOCALE_FEATURES */ .q0[locale];
3652
+ const { comma } = i18n__WEBPACK_IMPORTED_MODULE_3__/* .LOCALE_FEATURES */ .q[locale];
3521
3653
  const handleChange = (event)=>{
3522
3654
  dispatch(state__WEBPACK_IMPORTED_MODULE_4__/* .dictionarySlice.actions.changeInput */ .lj.actions.changeInput(event.target.value));
3523
3655
  };
@@ -3610,7 +3742,7 @@ const COLORS_PER_TYPE = {
3610
3742
  const EmptyState = ({ children , className , variant })=>{
3611
3743
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTranslate */ .qM)();
3612
3744
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_5__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_5__/* .selectLocale */ .fN);
3613
- const { direction } = i18n__WEBPACK_IMPORTED_MODULE_3__/* .LOCALE_FEATURES */ .q0[locale];
3745
+ const { direction } = i18n__WEBPACK_IMPORTED_MODULE_3__/* .LOCALE_FEATURES */ .q[locale];
3614
3746
  const title = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>translate(TITLE_KEY_PER_TYPE[variant]), [
3615
3747
  translate
3616
3748
  ]);
@@ -3840,7 +3972,7 @@ const prepareContent = (message)=>{
3840
3972
  const Loading = ({ className , wave =true })=>{
3841
3973
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTranslate */ .qM)();
3842
3974
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_4__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_4__/* .selectLocale */ .fN);
3843
- const { direction } = i18n__WEBPACK_IMPORTED_MODULE_3__/* .LOCALE_FEATURES */ .q0[locale];
3975
+ const { direction } = i18n__WEBPACK_IMPORTED_MODULE_3__/* .LOCALE_FEATURES */ .q[locale];
3844
3976
  const translation = translate("common.loading");
3845
3977
  const message = direction === "ltr" ? translation : translation.split("").reverse().join("");
3846
3978
  const content = (0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)(()=>prepareContent(message), [
@@ -4401,7 +4533,7 @@ const randomize = (value, maxChange)=>value + maxChange * 2 * (0.5 - Math.random
4401
4533
 
4402
4534
 
4403
4535
  const createPlainTile = ({ cellIndex , character , color , rowIndex , showPoints })=>{
4404
- const configPoints = build.literaki[types_build.Locale.EN_US].getCharacterPoints(character.toLowerCase());
4536
+ const configPoints = (0,build.getConfig)(types_build.Game.Literaki, types_build.Locale.EN_US).getCharacterPoints(character.toLowerCase());
4405
4537
  const points = showPoints ? configPoints : undefined;
4406
4538
  const defaultColor = typeof configPoints === "number" ? parameters/* PLAIN_TILES_POINTS_COLORS */.d4[configPoints] : parameters/* PLAIN_TILES_COLOR_DEFAULT */.BF;
4407
4539
  const x = lib_getX(cellIndex) + parameters/* PLAIN_TILES_TILE_SIZE */.rV / 2;
@@ -4672,7 +4804,7 @@ const Rack = ({ className , tileSize })=>{
4672
4804
  const activeIndexRef = (0,react__WEBPACK_IMPORTED_MODULE_3__.useRef)();
4673
4805
  const [hasFocus, setHasFocus] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(false);
4674
4806
  const [input, setInput] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)("");
4675
- const { direction } = i18n__WEBPACK_IMPORTED_MODULE_7__/* .LOCALE_FEATURES */ .q0[locale];
4807
+ const { direction } = i18n__WEBPACK_IMPORTED_MODULE_7__/* .LOCALE_FEATURES */ .q[locale];
4676
4808
  const { tileFontSize } = (0,lib__WEBPACK_IMPORTED_MODULE_8__/* .getTileSizes */ .vc)(tileSize);
4677
4809
  const showInputPrompt = inputMode === "touchscreen" && hasFocus;
4678
4810
  const ref = (0,react__WEBPACK_IMPORTED_MODULE_3__.useRef)(null);
@@ -5180,7 +5312,8 @@ var Radio_module_default = /*#__PURE__*/__webpack_require__.n(Radio_module);
5180
5312
 
5181
5313
  const Radio = ({ checked , children , className , disabled , name , value , onChange })=>/*#__PURE__*/ (0,jsx_runtime_.jsxs)("label", {
5182
5314
  className: external_classnames_default()((Radio_module_default()).radio, className, {
5183
- [(Radio_module_default()).checked]: checked
5315
+ [(Radio_module_default()).checked]: checked,
5316
+ [(Radio_module_default()).disabled]: disabled
5184
5317
  }),
5185
5318
  children: [
5186
5319
  /*#__PURE__*/ jsx_runtime_.jsx("input", {
@@ -5371,7 +5504,7 @@ const Result = ({ data , index , style })=>{
5371
5504
  const columns = (0,_useColumns__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z)();
5372
5505
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_6__/* .selectLocale */ .fN);
5373
5506
  const query = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_6__/* .selectResultsQuery */ .QL);
5374
- const { consonants , direction , separator , vowels } = i18n__WEBPACK_IMPORTED_MODULE_4__/* .LOCALE_FEATURES */ .q0[locale];
5507
+ const { consonants , direction , separator , vowels } = i18n__WEBPACK_IMPORTED_MODULE_4__/* .LOCALE_FEATURES */ .q[locale];
5375
5508
  const result = results[index];
5376
5509
  const isMatching = (0,state__WEBPACK_IMPORTED_MODULE_6__/* .useTypedSelector */ .ix)((state)=>(0,state__WEBPACK_IMPORTED_MODULE_6__/* .selectIsResultMatching */ .yJ)(state, index));
5377
5510
  const words = direction === "rtl" ? [
@@ -5508,7 +5641,7 @@ const Results = ({ callbacks , className , highlightedIndex })=>{
5508
5641
  const translate = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTranslate */ .qM)();
5509
5642
  const { resultsHeight , resultsWidth } = (0,hooks__WEBPACK_IMPORTED_MODULE_4__/* .useAppLayout */ .Ft)();
5510
5643
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectLocale */ .fN);
5511
- const { direction } = i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q0[locale];
5644
+ const { direction } = i18n__WEBPACK_IMPORTED_MODULE_5__/* .LOCALE_FEATURES */ .q[locale];
5512
5645
  const results = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectResults */ .x5);
5513
5646
  const isLoading = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectIsLoading */ .xU);
5514
5647
  const isOutdated = (0,state__WEBPACK_IMPORTED_MODULE_7__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_7__/* .selectAreResultsOutdated */ .Mj);
@@ -5789,7 +5922,7 @@ const COLUMNS_L = [
5789
5922
  ];
5790
5923
  const useColumns = ()=>{
5791
5924
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_2__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_2__/* .selectLocale */ .fN);
5792
- const localeColumns = (0,_getLocaleColumns__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(i18n__WEBPACK_IMPORTED_MODULE_1__/* .LOCALE_FEATURES */ .q0[locale]);
5925
+ const localeColumns = (0,_getLocaleColumns__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(i18n__WEBPACK_IMPORTED_MODULE_1__/* .LOCALE_FEATURES */ .q[locale]);
5793
5926
  const { isLessThanXs , isLessThanS , isLessThanM , isLessThanL } = (0,hooks__WEBPACK_IMPORTED_MODULE_0__/* .useMediaQueries */ .lS)();
5794
5927
  if (isLessThanXs) {
5795
5928
  return localeColumns.filter((column)=>COLUMNS_XS.includes(column.id));
@@ -5916,7 +6049,7 @@ const INVISIBLE_STYLE = {
5916
6049
  };
5917
6050
  const SeoMessage = ()=>/*#__PURE__*/ jsx_runtime_.jsx("p", {
5918
6051
  style: INVISIBLE_STYLE,
5919
- children: "Scrabble Solver 2 is a free and open-source analysis tool for Scrabble and Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish. Source code is available on GitHub - contributions are welcome!"
6052
+ children: "Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish. Source code is available on GitHub - contributions are welcome!"
5920
6053
  });
5921
6054
  /* harmony default export */ const SeoMessage_SeoMessage = (SeoMessage);
5922
6055
 
@@ -6958,7 +7091,7 @@ const useAppLayout = ()=>{
6958
7091
  const maxBoardHeight = isBoardFullWidth ? Number.POSITIVE_INFINITY : Math.max(solverHeight - bottomContainerHeight, 0);
6959
7092
  const cellWidth = (maxBoardWidth - (config.boardWidth + 1) * parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF) / config.boardWidth;
6960
7093
  const cellHeight = (maxBoardHeight - (config.boardHeight + 1) * parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF) / config.boardHeight;
6961
- const cellSize = Math.min(Math.max(Math.min(cellWidth, cellHeight), parameters__WEBPACK_IMPORTED_MODULE_0__/* .BOARD_TILE_SIZE_MIN */ .oj), parameters__WEBPACK_IMPORTED_MODULE_0__/* .BOARD_TILE_SIZE_MAX */ .Kw);
7094
+ const cellSize = Math.min(Math.min(cellWidth, cellHeight), parameters__WEBPACK_IMPORTED_MODULE_0__/* .BOARD_TILE_SIZE_MAX */ .Kw);
6962
7095
  const boardSize = (cellSize + parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF) * config.boardWidth + parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF;
6963
7096
  const maxControlsWidth = tileSize * config.maximumCharactersCount + 2 * parameters__WEBPACK_IMPORTED_MODULE_0__/* .BORDER_WIDTH */ .YF;
6964
7097
  const showResultsInModal = isLessThanL;
@@ -7130,7 +7263,7 @@ state__WEBPACK_IMPORTED_MODULE_1__ = (__webpack_async_dependencies__.then ? (awa
7130
7263
  const useLocalStorage = ()=>{
7131
7264
  const autoGroupTiles = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectAutoGroupTiles */ .uz);
7132
7265
  const board = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectBoard */ .ZO);
7133
- const configId = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectConfigId */ .md);
7266
+ const game = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectGame */ .J1);
7134
7267
  const inputMode = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectInputMode */ .Ub);
7135
7268
  const locale = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectLocale */ .fN);
7136
7269
  const rack = (0,state__WEBPACK_IMPORTED_MODULE_1__/* .useTypedSelector */ .ix)(state__WEBPACK_IMPORTED_MODULE_1__/* .selectRack */ .QB);
@@ -7149,11 +7282,11 @@ const useLocalStorage = ()=>{
7149
7282
  board
7150
7283
  ]);
7151
7284
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
7152
- if (configId) {
7153
- state__WEBPACK_IMPORTED_MODULE_1__/* .localStorage.setConfigId */ .Xb.setConfigId(configId);
7285
+ if (game) {
7286
+ state__WEBPACK_IMPORTED_MODULE_1__/* .localStorage.setGame */ .Xb.setGame(game);
7154
7287
  }
7155
7288
  }, [
7156
- configId
7289
+ game
7157
7290
  ]);
7158
7291
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{
7159
7292
  if (inputMode) {
@@ -7401,9 +7534,8 @@ const useViewportSize = ()=>{
7401
7534
 
7402
7535
  // EXPORTS
7403
7536
  __webpack_require__.d(__webpack_exports__, {
7404
- "q0": () => (/* reexport */ LOCALE_FEATURES),
7405
- "Hm": () => (/* reexport */ LOCALE_FLAGS),
7406
- "ZP": () => (/* reexport */ i18n_i18n)
7537
+ "q": () => (/* reexport */ LOCALE_FEATURES),
7538
+ "Z": () => (/* reexport */ i18n_i18n)
7407
7539
  });
7408
7540
 
7409
7541
  // EXTERNAL MODULE: ../constants/build/index.js
@@ -7412,19 +7544,19 @@ var build = __webpack_require__(7618);
7412
7544
  var types_build = __webpack_require__(34046);
7413
7545
  // EXTERNAL MODULE: ./src/icons/index.ts + 42 modules
7414
7546
  var icons = __webpack_require__(3186);
7415
- // EXTERNAL MODULE: ./src/i18n/i18n.module.scss
7416
- var i18n_module = __webpack_require__(43070);
7417
- var i18n_module_default = /*#__PURE__*/__webpack_require__.n(i18n_module);
7418
7547
  ;// CONCATENATED MODULE: ./src/i18n/constants.ts
7419
7548
 
7420
7549
 
7421
7550
 
7422
-
7423
7551
  const LOCALE_FEATURES = {
7424
7552
  [types_build.Locale.DE_DE]: {
7425
7553
  comma: build.COMMA_LATIN,
7426
7554
  consonants: true,
7427
7555
  direction: "ltr",
7556
+ Icon: icons/* FlagDe */.rV,
7557
+ label: "Deutsch",
7558
+ locale: types_build.Locale.DE_DE,
7559
+ name: "German",
7428
7560
  separator: `${build.COMMA_LATIN} `,
7429
7561
  vowels: true
7430
7562
  },
@@ -7432,6 +7564,10 @@ const LOCALE_FEATURES = {
7432
7564
  comma: build.COMMA_LATIN,
7433
7565
  consonants: true,
7434
7566
  direction: "ltr",
7567
+ Icon: icons/* FlagGb */.eP,
7568
+ label: "English (GB)",
7569
+ locale: types_build.Locale.EN_GB,
7570
+ name: "English (GB)",
7435
7571
  separator: `${build.COMMA_LATIN} `,
7436
7572
  vowels: true
7437
7573
  },
@@ -7439,6 +7575,10 @@ const LOCALE_FEATURES = {
7439
7575
  comma: build.COMMA_LATIN,
7440
7576
  consonants: true,
7441
7577
  direction: "ltr",
7578
+ Icon: icons/* FlagUs */.YK,
7579
+ label: "English (US)",
7580
+ locale: types_build.Locale.EN_US,
7581
+ name: "English (US)",
7442
7582
  separator: `${build.COMMA_LATIN} `,
7443
7583
  vowels: true
7444
7584
  },
@@ -7446,6 +7586,10 @@ const LOCALE_FEATURES = {
7446
7586
  comma: build.COMMA_LATIN,
7447
7587
  consonants: true,
7448
7588
  direction: "ltr",
7589
+ Icon: icons/* FlagEs */.d,
7590
+ label: "Espa\xf1ol",
7591
+ locale: types_build.Locale.ES_ES,
7592
+ name: "Spanish",
7449
7593
  separator: `${build.COMMA_LATIN} `,
7450
7594
  vowels: true
7451
7595
  },
@@ -7453,6 +7597,10 @@ const LOCALE_FEATURES = {
7453
7597
  comma: build.COMMA_ARABIC,
7454
7598
  consonants: false,
7455
7599
  direction: "rtl",
7600
+ Icon: icons/* FlagFa */.$M,
7601
+ label: "فارسی",
7602
+ locale: types_build.Locale.FA_IR,
7603
+ name: "Persian",
7456
7604
  separator: `${build.COMMA_ARABIC} `,
7457
7605
  vowels: false
7458
7606
  },
@@ -7460,6 +7608,10 @@ const LOCALE_FEATURES = {
7460
7608
  comma: build.COMMA_LATIN,
7461
7609
  consonants: true,
7462
7610
  direction: "ltr",
7611
+ Icon: icons/* FlagFr */.OV,
7612
+ label: "Fran\xe7ais",
7613
+ locale: types_build.Locale.FR_FR,
7614
+ name: "French",
7463
7615
  separator: `${build.COMMA_LATIN} `,
7464
7616
  vowels: true
7465
7617
  },
@@ -7467,59 +7619,12 @@ const LOCALE_FEATURES = {
7467
7619
  comma: build.COMMA_LATIN,
7468
7620
  consonants: true,
7469
7621
  direction: "ltr",
7470
- separator: `${build.COMMA_LATIN} `,
7471
- vowels: true
7472
- }
7473
- };
7474
- const LOCALE_FLAGS = {
7475
- [types_build.Locale.DE_DE]: {
7476
- className: (i18n_module_default()).de,
7477
- Icon: icons/* FlagDe */.rV,
7478
- label: "Deutsch",
7479
- name: "German",
7480
- value: types_build.Locale.DE_DE
7481
- },
7482
- [types_build.Locale.EN_GB]: {
7483
- className: (i18n_module_default()).gb,
7484
- Icon: icons/* FlagGb */.eP,
7485
- label: "English (GB)",
7486
- name: "English (GB)",
7487
- value: types_build.Locale.EN_GB
7488
- },
7489
- [types_build.Locale.EN_US]: {
7490
- className: (i18n_module_default()).us,
7491
- Icon: icons/* FlagUs */.YK,
7492
- label: "English (US)",
7493
- name: "English (US)",
7494
- value: types_build.Locale.EN_US
7495
- },
7496
- [types_build.Locale.ES_ES]: {
7497
- className: (i18n_module_default()).es,
7498
- Icon: icons/* FlagEs */.d,
7499
- label: "Espa\xf1ol",
7500
- name: "Spanish",
7501
- value: types_build.Locale.ES_ES
7502
- },
7503
- [types_build.Locale.FA_IR]: {
7504
- className: (i18n_module_default()).fa,
7505
- Icon: icons/* FlagFa */.$M,
7506
- label: "فارسی",
7507
- name: "Persian",
7508
- value: types_build.Locale.FA_IR
7509
- },
7510
- [types_build.Locale.FR_FR]: {
7511
- className: (i18n_module_default()).fr,
7512
- Icon: icons/* FlagFr */.OV,
7513
- label: "Fran\xe7ais",
7514
- name: "French",
7515
- value: types_build.Locale.FR_FR
7516
- },
7517
- [types_build.Locale.PL_PL]: {
7518
- className: (i18n_module_default()).pl,
7519
7622
  Icon: icons/* FlagPl */.fd,
7520
7623
  label: "Polski",
7624
+ locale: types_build.Locale.PL_PL,
7521
7625
  name: "Polish",
7522
- value: types_build.Locale.PL_PL
7626
+ separator: `${build.COMMA_LATIN} `,
7627
+ vowels: true
7523
7628
  }
7524
7629
  };
7525
7630
 
@@ -8829,7 +8934,7 @@ const getCellSize = (config, width, height)=>{
8829
8934
  const maxWidth = (width - BOARD_CELL_BORDER_WIDTH) / config.boardWidth - BOARD_CELL_BORDER_WIDTH;
8830
8935
  const maxHeight = (height - BOARD_CELL_BORDER_WIDTH) / config.boardHeight - BOARD_CELL_BORDER_WIDTH;
8831
8936
  const cellSize = Math.min(maxWidth, maxHeight);
8832
- return Math.floor(Math.min(Math.max(cellSize, BOARD_TILE_SIZE_MIN), BOARD_TILE_SIZE_MAX));
8937
+ return Math.floor(Math.min(cellSize, BOARD_TILE_SIZE_MAX));
8833
8938
  };
8834
8939
  /* harmony default export */ const lib_getCellSize = ((/* unused pure expression or super */ null && (getCellSize)));
8835
8940
 
@@ -9274,7 +9379,6 @@ const zipCharactersAndTiles = (characters, tiles)=>{
9274
9379
  /* harmony export */ "mM": () => (/* binding */ REMAINING_TILES_TILE_SIZE),
9275
9380
  /* harmony export */ "n6": () => (/* binding */ DICTIONARY_HEIGHT),
9276
9381
  /* harmony export */ "n_": () => (/* binding */ BORDER_RADIUS),
9277
- /* harmony export */ "oj": () => (/* binding */ BOARD_TILE_SIZE_MIN),
9278
9382
  /* harmony export */ "op": () => (/* binding */ COMPONENTS_SPACING_SMALL),
9279
9383
  /* harmony export */ "pI": () => (/* binding */ COLOR_BLUE),
9280
9384
  /* harmony export */ "pS": () => (/* binding */ COLOR_FILTERED),
@@ -9295,7 +9399,7 @@ const zipCharactersAndTiles = (characters, tiles)=>{
9295
9399
  /* harmony export */ "yr": () => (/* binding */ COLOR_YELLOW),
9296
9400
  /* harmony export */ "yz": () => (/* binding */ TRANSITION)
9297
9401
  /* harmony export */ });
9298
- /* unused harmony exports TRANSITION_DURATION, COLOR_BONUS_CHARACTER_1, COLOR_BONUS_CHARACTER_2, COLOR_BONUS_CHARACTER_3, COLOR_BONUS_CHARACTER_5, COLOR_BONUS_CHARACTER_MULTIPLIER_2, COLOR_BONUS_CHARACTER_MULTIPLIER_3, COLOR_BONUS_WORD_MULTIPLIER_2, COLOR_BONUS_WORD_MULTIPLIER_3, SPACING_XS, SPACING_S, SPACING_M, SPACING_L, SPACING_XL, BOARD_CELL_BORDER_WIDTH, BORDER_COLOR, BUTTON_ICON_SIZE, BUTTON_PADDING_VERTICAL, TILE_SIZE, PLAIN_TILES_VERSION_TILE_COLOR, PLAIN_TILES_VERSION_TILE_SIZE */
9402
+ /* unused harmony exports TRANSITION_DURATION, COLOR_BONUS_CHARACTER_1, COLOR_BONUS_CHARACTER_2, COLOR_BONUS_CHARACTER_3, COLOR_BONUS_CHARACTER_5, COLOR_BONUS_CHARACTER_MULTIPLIER_2, COLOR_BONUS_CHARACTER_MULTIPLIER_3, COLOR_BONUS_CHARACTER_MULTIPLIER_4, COLOR_BONUS_WORD_MULTIPLIER_2, COLOR_BONUS_WORD_MULTIPLIER_3, COLOR_BONUS_WORD_MULTIPLIER_4, SPACING_XS, SPACING_S, SPACING_M, SPACING_L, SPACING_XL, BOARD_CELL_BORDER_WIDTH, BORDER_COLOR, BUTTON_ICON_SIZE, BUTTON_PADDING_VERTICAL, TILE_SIZE, PLAIN_TILES_VERSION_TILE_COLOR, PLAIN_TILES_VERSION_TILE_SIZE */
9299
9403
  const BREAKPOINTS = {
9300
9404
  xs: 480,
9301
9405
  s: 768,
@@ -9318,9 +9422,11 @@ const COLOR_BONUS_CHARACTER_3 = "#dde4f6";
9318
9422
  const COLOR_BONUS_CHARACTER_5 = "#fbe0d4";
9319
9423
  const COLOR_BONUS_CHARACTER_MULTIPLIER_2 = "#b8d5ed";
9320
9424
  const COLOR_BONUS_CHARACTER_MULTIPLIER_3 = "#86aed1";
9425
+ const COLOR_BONUS_CHARACTER_MULTIPLIER_4 = "#3477b2";
9321
9426
  const COLOR_BONUS_START = "#b284b8";
9322
9427
  const COLOR_BONUS_WORD_MULTIPLIER_2 = "#fbc997";
9323
9428
  const COLOR_BONUS_WORD_MULTIPLIER_3 = "#f19393";
9429
+ const COLOR_BONUS_WORD_MULTIPLIER_4 = "#ed5e5e";
9324
9430
  const COLOR_FILTERED = "#444";
9325
9431
  const COLOR_BONUS_CHARACTER = {
9326
9432
  1: COLOR_BONUS_CHARACTER_1,
@@ -9330,11 +9436,13 @@ const COLOR_BONUS_CHARACTER = {
9330
9436
  };
9331
9437
  const COLOR_BONUS_CHARACTER_MULTIPLIER = {
9332
9438
  2: COLOR_BONUS_CHARACTER_MULTIPLIER_2,
9333
- 3: COLOR_BONUS_CHARACTER_MULTIPLIER_3
9439
+ 3: COLOR_BONUS_CHARACTER_MULTIPLIER_3,
9440
+ 4: COLOR_BONUS_CHARACTER_MULTIPLIER_4
9334
9441
  };
9335
9442
  const COLOR_BONUS_WORD = {
9336
9443
  2: COLOR_BONUS_WORD_MULTIPLIER_2,
9337
- 3: COLOR_BONUS_WORD_MULTIPLIER_3
9444
+ 3: COLOR_BONUS_WORD_MULTIPLIER_3,
9445
+ 4: COLOR_BONUS_WORD_MULTIPLIER_4
9338
9446
  };
9339
9447
  const SPACING_XS = 2;
9340
9448
  const SPACING_S = 5;
@@ -9348,11 +9456,6 @@ const BOARD_CELL_BORDER_WIDTH = 1;
9348
9456
  const BOARD_TILE_FONT_SIZE_MIN = 14;
9349
9457
  const BOARD_TILE_FONT_SIZE_POINTS_MIN = 10;
9350
9458
  const BOARD_TILE_SIZE_MAX = 64;
9351
- /**
9352
- * 20 - fits all board tiles without horizontal scrollbar on 360px viewport width (font-size: 14px)
9353
- * 21 - fits all board tiles without horizontal scrollbar on 375px viewport width (font-size: 14px)
9354
- * 26 - tiles start to look good (font-size: 16px)
9355
- */ const BOARD_TILE_SIZE_MIN = 20;
9356
9459
  const BORDER_COLOR = "#cdcdcd";
9357
9460
  const BORDER_COLOR_LIGHT = "#d9d9d9";
9358
9461
  const BORDER_RADIUS = 5;
@@ -9445,6 +9548,7 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
9445
9548
  /* harmony export */ "GL": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_2__.GL),
9446
9549
  /* harmony export */ "HM": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_2__.HM),
9447
9550
  /* harmony export */ "I8": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_3__.I8),
9551
+ /* harmony export */ "J1": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_2__.J1),
9448
9552
  /* harmony export */ "Ju": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_2__.Ju),
9449
9553
  /* harmony export */ "Mj": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_2__.Mj),
9450
9554
  /* harmony export */ "O_": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_3__.O_),
@@ -9473,7 +9577,6 @@ __webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __we
9473
9577
  /* harmony export */ "mK": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_2__.mK),
9474
9578
  /* harmony export */ "mO": () => (/* reexport safe */ _slices__WEBPACK_IMPORTED_MODULE_3__.mO),
9475
9579
  /* harmony export */ "mc": () => (/* reexport safe */ _actions__WEBPACK_IMPORTED_MODULE_0__.m),
9476
- /* harmony export */ "md": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_2__.md),
9477
9580
  /* harmony export */ "qM": () => (/* reexport safe */ _useTranslate__WEBPACK_IMPORTED_MODULE_5__.Z),
9478
9581
  /* harmony export */ "uz": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_2__.uz),
9479
9582
  /* harmony export */ "w1": () => (/* reexport safe */ _selectors__WEBPACK_IMPORTED_MODULE_2__.w1),
@@ -9520,7 +9623,7 @@ __webpack_async_result__();
9520
9623
 
9521
9624
  const AUTO_GROUP_TILES = "auto-group-tiles";
9522
9625
  const BOARD = "board";
9523
- const CONFIG_ID = "config-id";
9626
+ const GAME_ID = "config-id";
9524
9627
  const INPUT_MODE = "input-mode";
9525
9628
  const LOCALE = "locale";
9526
9629
  const RACK = "rack";
@@ -9540,11 +9643,11 @@ const localStorage = {
9540
9643
  const serialized = board ? JSON.stringify(board.toJson()) : board;
9541
9644
  store.set(BOARD, serialized, true);
9542
9645
  },
9543
- getConfigId () {
9544
- return store.get(CONFIG_ID);
9646
+ getGame () {
9647
+ return store.get(GAME_ID);
9545
9648
  },
9546
- setConfigId (configId) {
9547
- store.set(CONFIG_ID, configId, true);
9649
+ setGame (game) {
9650
+ store.set(GAME_ID, game, true);
9548
9651
  },
9549
9652
  getInputMode () {
9550
9653
  return store.get(INPUT_MODE);
@@ -9580,14 +9683,16 @@ __webpack_require__.d(__webpack_exports__, {
9580
9683
  "R": () => (/* binding */ rootSaga)
9581
9684
  });
9582
9685
 
9686
+ // EXTERNAL MODULE: ../configs/build/index.js
9687
+ var build = __webpack_require__(89418);
9688
+ // EXTERNAL MODULE: ../types/build/index.js
9689
+ var types_build = __webpack_require__(34046);
9583
9690
  // EXTERNAL MODULE: external "redux-saga/effects"
9584
9691
  var effects_ = __webpack_require__(56477);
9585
9692
  // EXTERNAL MODULE: ./src/i18n/index.ts + 8 modules
9586
9693
  var i18n = __webpack_require__(36743);
9587
9694
  // EXTERNAL MODULE: ./src/lib/index.ts + 36 modules
9588
9695
  var lib = __webpack_require__(18954);
9589
- // EXTERNAL MODULE: ../types/build/index.js
9590
- var build = __webpack_require__(34046);
9591
9696
  ;// CONCATENATED MODULE: ./src/sdk/fetch.ts
9592
9697
 
9593
9698
  const fetch_fetch = async (input, init)=>{
@@ -9595,7 +9700,7 @@ const fetch_fetch = async (input, init)=>{
9595
9700
  try {
9596
9701
  response = await window.fetch(input, init);
9597
9702
  } catch (error) {
9598
- const message = (0,build.isError)(error) ? error.message : "Unknown error";
9703
+ const message = (0,types_build.isError)(error) ? error.message : "Unknown error";
9599
9704
  throw new Error(`Network error: ${message}`);
9600
9705
  }
9601
9706
  if (response.ok) {
@@ -9603,7 +9708,7 @@ const fetch_fetch = async (input, init)=>{
9603
9708
  }
9604
9709
  try {
9605
9710
  const json = await response.json();
9606
- if ((0,build.isError)(json)) {
9711
+ if ((0,types_build.isError)(json)) {
9607
9712
  throw new Error(json.message);
9608
9713
  }
9609
9714
  } finally{
@@ -9632,35 +9737,35 @@ const fetchJson = async (input, init)=>{
9632
9737
 
9633
9738
  const findWordDefinitions = async (locale, word)=>{
9634
9739
  const json = await sdk_fetchJson(`/api/dictionary/${locale}/${encodeURIComponent(word)}`);
9635
- return json.map(build.WordDefinition.fromJson);
9740
+ return json.map(types_build.WordDefinition.fromJson);
9636
9741
  };
9637
9742
  /* harmony default export */ const sdk_findWordDefinitions = (findWordDefinitions);
9638
9743
 
9639
9744
  ;// CONCATENATED MODULE: ./src/sdk/solve.ts
9640
9745
 
9641
9746
 
9642
- const solve = async ({ board , characters , configId , locale })=>{
9747
+ const solve = async ({ board , characters , game , locale })=>{
9643
9748
  const json = await sdk_fetchJson("/api/solve", {
9644
9749
  method: "POST",
9645
9750
  body: JSON.stringify({
9646
9751
  board,
9647
9752
  characters,
9648
- configId,
9753
+ game,
9649
9754
  locale
9650
9755
  })
9651
9756
  });
9652
- return json.map(build.Result.fromJson);
9757
+ return json.map(types_build.Result.fromJson);
9653
9758
  };
9654
9759
  /* harmony default export */ const sdk_solve = (solve);
9655
9760
 
9656
9761
  ;// CONCATENATED MODULE: ./src/sdk/verify.ts
9657
9762
 
9658
- const verify = async ({ board , configId , locale })=>{
9763
+ const verify = async ({ board , game , locale })=>{
9659
9764
  return sdk_fetchJson("/api/verify", {
9660
9765
  method: "POST",
9661
9766
  body: JSON.stringify({
9662
9767
  board,
9663
- configId,
9768
+ game,
9664
9769
  locale
9665
9770
  })
9666
9771
  });
@@ -9695,6 +9800,8 @@ var slices = __webpack_require__(67647);
9695
9800
 
9696
9801
 
9697
9802
 
9803
+
9804
+
9698
9805
  const SUBMIT_DELAY = 150;
9699
9806
  const memoizedFindWordDefinitions = (0,lib/* memoize */.HP)(sdk_findWordDefinitions);
9700
9807
  function* rootSaga() {
@@ -9705,7 +9812,7 @@ function* rootSaga() {
9705
9812
  ], onRackValueChange);
9706
9813
  yield (0,effects_.takeEvery)(slices/* resultsSlice.actions.applyResult.type */._C.actions.applyResult.type, onApplyResult);
9707
9814
  yield (0,effects_.takeEvery)(slices/* resultsSlice.actions.changeResultCandidate.type */._C.actions.changeResultCandidate.type, onResultCandidateChange);
9708
- yield (0,effects_.takeEvery)(slices/* settingsSlice.actions.changeConfigId.type */.xj.actions.changeConfigId.type, onConfigIdChange);
9815
+ yield (0,effects_.takeEvery)(slices/* settingsSlice.actions.changeGame.type */.xj.actions.changeGame.type, onGameChange);
9709
9816
  yield (0,effects_.takeEvery)(slices/* settingsSlice.actions.changeLocale.type */.xj.actions.changeLocale.type, onLocaleChange);
9710
9817
  yield (0,effects_.takeLatest)(slices/* dictionarySlice.actions.submit.type */.lj.actions.submit.type, onDictionarySubmit);
9711
9818
  yield (0,effects_.takeLatest)(actions/* initialize.type */.j.type, onInitialize);
@@ -9732,7 +9839,7 @@ function* onApplyResult({ payload: result }) {
9732
9839
  yield (0,effects_.put)(slices/* rackSlice.actions.groupTiles */.O_.actions.groupTiles(autoGroupTiles));
9733
9840
  yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
9734
9841
  }
9735
- function* onConfigIdChange() {
9842
+ function* onGameChange() {
9736
9843
  const characters = yield (0,effects_.select)(selectors/* selectCharacters */.yp);
9737
9844
  if (characters.length > 0) {
9738
9845
  yield (0,effects_.put)(slices/* solveSlice.actions.submit */.TP.actions.submit());
@@ -9765,7 +9872,8 @@ function* onInitialize() {
9765
9872
  }
9766
9873
  }
9767
9874
  function* onReset() {
9768
- yield (0,effects_.put)(slices/* boardSlice.actions.reset */.I8.actions.reset());
9875
+ const config = yield (0,effects_.select)(selectors/* selectConfig */.$o);
9876
+ yield (0,effects_.put)(slices/* boardSlice.actions.init */.I8.actions.init(types_build.Board.create(config.boardWidth, config.boardHeight)));
9769
9877
  yield (0,effects_.put)(slices/* cellFilterSlice.actions.reset */.mO.actions.reset());
9770
9878
  yield (0,effects_.put)(slices/* dictionarySlice.actions.reset */.lj.actions.reset());
9771
9879
  yield (0,effects_.put)(slices/* rackSlice.actions.reset */.O_.actions.reset());
@@ -9773,7 +9881,12 @@ function* onReset() {
9773
9881
  yield (0,effects_.put)(slices/* solveSlice.actions.reset */.TP.actions.reset());
9774
9882
  yield (0,effects_.put)(slices/* verifySlice.actions.submit */.Gt.actions.submit());
9775
9883
  }
9776
- function* onLocaleChange() {
9884
+ function* onLocaleChange({ payload: locale }) {
9885
+ const game = yield (0,effects_.select)(selectors/* selectGame */.J1);
9886
+ if (!(0,build.hasConfig)(game, locale)) {
9887
+ const defaultConfig = build.localesMap[locale][0];
9888
+ yield (0,effects_.put)(slices/* settingsSlice.actions.changeGame */.xj.actions.changeGame(defaultConfig.game));
9889
+ }
9777
9890
  const characters = yield (0,effects_.select)(selectors/* selectCharacters */.yp);
9778
9891
  if (characters.length > 0) {
9779
9892
  yield (0,effects_.put)(slices/* solveSlice.actions.submit */.TP.actions.submit());
@@ -9787,7 +9900,7 @@ function* onLocaleChange() {
9787
9900
  function* onResultCandidateChange({ payload: result }) {
9788
9901
  if (result) {
9789
9902
  const locale = yield (0,effects_.select)(selectors/* selectLocale */.fN);
9790
- yield (0,effects_.put)(slices/* dictionarySlice.actions.changeInput */.lj.actions.changeInput(result.words.join(i18n/* LOCALE_FEATURES */.q0[locale].separator)));
9903
+ yield (0,effects_.put)(slices/* dictionarySlice.actions.changeInput */.lj.actions.changeInput(result.words.join(i18n/* LOCALE_FEATURES */.q[locale].separator)));
9791
9904
  yield (0,effects_.put)(slices/* dictionarySlice.actions.submit */.lj.actions.submit());
9792
9905
  }
9793
9906
  }
@@ -9808,7 +9921,7 @@ function* onSolve() {
9808
9921
  const results = yield (0,effects_.call)(sdk_solve, {
9809
9922
  board: board.toJson(),
9810
9923
  characters,
9811
- configId: config.id,
9924
+ game: config.game,
9812
9925
  locale
9813
9926
  });
9814
9927
  yield (0,effects_.put)(slices/* resultsSlice.actions.changeResults */._C.actions.changeResults(results));
@@ -9829,7 +9942,7 @@ function* onVerify() {
9829
9942
  try {
9830
9943
  const { invalidWords , validWords } = yield (0,effects_.call)(sdk_verify, {
9831
9944
  board: board.toJson(),
9832
- configId: config.id,
9945
+ game: config.game,
9833
9946
  locale
9834
9947
  });
9835
9948
  yield (0,effects_.put)(slices/* verifySlice.actions.submitSuccess */.Gt.actions.submitSuccess({
@@ -9875,6 +9988,7 @@ function* ensureProperTilesCount() {
9875
9988
  /* harmony export */ "En": () => (/* binding */ selectHasOverusedTiles),
9876
9989
  /* harmony export */ "GL": () => (/* binding */ selectResultCandidateCells),
9877
9990
  /* harmony export */ "HM": () => (/* binding */ selectVerify),
9991
+ /* harmony export */ "J1": () => (/* binding */ selectGame),
9878
9992
  /* harmony export */ "Ju": () => (/* binding */ selectFilteredCells),
9879
9993
  /* harmony export */ "Mj": () => (/* binding */ selectAreResultsOutdated),
9880
9994
  /* harmony export */ "Or": () => (/* binding */ selectCharacterPoints),
@@ -9894,7 +10008,6 @@ function* ensureProperTilesCount() {
9894
10008
  /* harmony export */ "id": () => (/* binding */ selectCellIsFiltered),
9895
10009
  /* harmony export */ "lP": () => (/* binding */ selectLocaleAutoGroupTiles),
9896
10010
  /* harmony export */ "mK": () => (/* binding */ selectDictionaryError),
9897
- /* harmony export */ "md": () => (/* binding */ selectConfigId),
9898
10011
  /* harmony export */ "nb": () => (/* binding */ selectTranslations),
9899
10012
  /* harmony export */ "uz": () => (/* binding */ selectAutoGroupTiles),
9900
10013
  /* harmony export */ "w1": () => (/* binding */ selectDictionary),
@@ -9949,7 +10062,7 @@ const selectLocaleAutoGroupTiles = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_
9949
10062
  selectLocale,
9950
10063
  selectSettingsRoot
9951
10064
  ], (locale, settings)=>{
9952
- if (i18n__WEBPACK_IMPORTED_MODULE_4__/* .LOCALE_FEATURES */ .q0[locale].direction === "ltr" || settings.autoGroupTiles === null) {
10065
+ if (i18n__WEBPACK_IMPORTED_MODULE_4__/* .LOCALE_FEATURES */ .q[locale].direction === "ltr" || settings.autoGroupTiles === null) {
9953
10066
  return settings.autoGroupTiles;
9954
10067
  }
9955
10068
  return settings.autoGroupTiles === "left" ? "right" : "left";
@@ -9958,13 +10071,13 @@ const selectBoard = selectBoardRoot;
9958
10071
  const selectInputMode = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9959
10072
  selectSettingsRoot
9960
10073
  ], (settings)=>settings.inputMode);
9961
- const selectConfigId = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
10074
+ const selectGame = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9962
10075
  selectSettingsRoot
9963
- ], (settings)=>settings.configId);
10076
+ ], (settings)=>settings.game);
9964
10077
  const selectConfig = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9965
- selectConfigId,
10078
+ selectGame,
9966
10079
  selectLocale
9967
- ], _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1__.getLocaleConfig);
10080
+ ], _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_1__.getConfig);
9968
10081
  const selectFilteredCells = selectCellFilterRoot;
9969
10082
  const selectCellIsFiltered = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
9970
10083
  selectFilteredCells,
@@ -10071,7 +10184,7 @@ const selectTilePoints = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.create
10071
10184
  });
10072
10185
  const selectTranslations = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
10073
10186
  selectLocale
10074
- ], (locale)=>i18n__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .ZP[locale]);
10187
+ ], (locale)=>i18n__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z[locale]);
10075
10188
  const selectTranslation = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSelector)([
10076
10189
  selectTranslations,
10077
10190
  selectLocale,
@@ -10170,7 +10283,7 @@ const localStorageAutoGroupTiles = localStorage/* default.getAutoGroupTiles */.Z
10170
10283
  const isTouchScreen = typeof globalThis.matchMedia !== "undefined" && globalThis.matchMedia("(hover: none)").matches;
10171
10284
  const settingsInitialState = {
10172
10285
  autoGroupTiles: typeof localStorageAutoGroupTiles === "undefined" ? "left" : localStorageAutoGroupTiles,
10173
- configId: localStorage/* default.getConfigId */.Z.getConfigId() || build.scrabble.id,
10286
+ game: localStorage/* default.getGame */.Z.getGame() || types_build.Game.Scrabble,
10174
10287
  inputMode: localStorage/* default.getInputMode */.Z.getInputMode() || (isTouchScreen ? "touchscreen" : "keyboard"),
10175
10288
  locale: localStorage/* default.getLocale */.Z.getLocale() || (0,lib/* guessLocale */.sf)()
10176
10289
  };
@@ -10181,8 +10294,8 @@ const settingsInitialState = {
10181
10294
 
10182
10295
 
10183
10296
 
10184
- const { configId , locale } = slices_settingsInitialState;
10185
- const { boardHeight , boardWidth } = (0,build.getLocaleConfig)(configId, locale);
10297
+ const { game , locale } = slices_settingsInitialState;
10298
+ const { boardHeight , boardWidth } = (0,build.getConfig)(game, locale);
10186
10299
  const boardDefaultState = types_build.Board.create(boardWidth, boardHeight);
10187
10300
  const boardInitialState = localStorage/* default.getBoard */.Z.getBoard() || boardDefaultState;
10188
10301
  // const createOxyphenbutazone = () => {
@@ -10214,11 +10327,58 @@ const boardInitialState = localStorage/* default.getBoard */.Z.getBoard() || boa
10214
10327
  var toolkit_ = __webpack_require__(75184);
10215
10328
  // EXTERNAL MODULE: ../constants/build/index.js
10216
10329
  var constants_build = __webpack_require__(7618);
10330
+ ;// CONCATENATED MODULE: ./src/state/slices/settingsSlice.ts
10331
+
10332
+
10333
+ const settingsSlice = (0,toolkit_.createSlice)({
10334
+ initialState: slices_settingsInitialState,
10335
+ name: "settings",
10336
+ reducers: {
10337
+ changeAutoGroupTiles: (state, action)=>{
10338
+ const autoGroupTiles = action.payload;
10339
+ return {
10340
+ ...state,
10341
+ autoGroupTiles
10342
+ };
10343
+ },
10344
+ changeGame: (state, action)=>{
10345
+ const game = action.payload;
10346
+ return {
10347
+ ...state,
10348
+ game
10349
+ };
10350
+ },
10351
+ changeInputMode: (state, action)=>{
10352
+ const inputMode = action.payload;
10353
+ return {
10354
+ ...state,
10355
+ inputMode
10356
+ };
10357
+ },
10358
+ changeLocale: (state, action)=>{
10359
+ const locale = action.payload;
10360
+ return {
10361
+ ...state,
10362
+ locale
10363
+ };
10364
+ },
10365
+ init: (state, action)=>{
10366
+ return {
10367
+ ...state,
10368
+ ...action.payload
10369
+ };
10370
+ }
10371
+ }
10372
+ });
10373
+ /* harmony default export */ const slices_settingsSlice = (settingsSlice);
10374
+
10217
10375
  ;// CONCATENATED MODULE: ./src/state/slices/boardSlice.ts
10218
10376
 
10219
10377
 
10220
10378
 
10221
10379
 
10380
+
10381
+
10222
10382
  const boardSlice = (0,toolkit_.createSlice)({
10223
10383
  initialState: slices_boardInitialState,
10224
10384
  name: "board",
@@ -10258,9 +10418,6 @@ const boardSlice = (0,toolkit_.createSlice)({
10258
10418
  const board = action.payload;
10259
10419
  return board;
10260
10420
  },
10261
- reset: ()=>{
10262
- return boardDefaultState;
10263
- },
10264
10421
  toggleCellIsBlank: (state, action)=>{
10265
10422
  const newBoard = state.clone();
10266
10423
  const { x , y } = action.payload;
@@ -10276,6 +10433,19 @@ const boardSlice = (0,toolkit_.createSlice)({
10276
10433
  });
10277
10434
  return newBoard;
10278
10435
  }
10436
+ },
10437
+ extraReducers: {
10438
+ [slices_settingsSlice.actions.changeGame.type]: (state, action)=>{
10439
+ const game = action.payload;
10440
+ const config = Object.values(build.games).find((gameConfig)=>gameConfig.game === game);
10441
+ if (!config) {
10442
+ throw new Error(`Cannot find config for game "${game}"`);
10443
+ }
10444
+ if (state.rows.length !== config.boardHeight || state.rows[0].length !== config.boardWidth) {
10445
+ return types_build.Board.create(config.boardWidth, config.boardHeight);
10446
+ }
10447
+ return state;
10448
+ }
10279
10449
  }
10280
10450
  });
10281
10451
  /* harmony default export */ const slices_boardSlice = (boardSlice);
@@ -10499,51 +10669,6 @@ const resultsSlice = (0,toolkit_.createSlice)({
10499
10669
  });
10500
10670
  /* harmony default export */ const slices_resultsSlice = (resultsSlice);
10501
10671
 
10502
- ;// CONCATENATED MODULE: ./src/state/slices/settingsSlice.ts
10503
-
10504
-
10505
- const settingsSlice = (0,toolkit_.createSlice)({
10506
- initialState: slices_settingsInitialState,
10507
- name: "settings",
10508
- reducers: {
10509
- changeAutoGroupTiles: (state, action)=>{
10510
- const autoGroupTiles = action.payload;
10511
- return {
10512
- ...state,
10513
- autoGroupTiles
10514
- };
10515
- },
10516
- changeConfigId: (state, action)=>{
10517
- const configId = action.payload;
10518
- return {
10519
- ...state,
10520
- configId
10521
- };
10522
- },
10523
- changeInputMode: (state, action)=>{
10524
- const inputMode = action.payload;
10525
- return {
10526
- ...state,
10527
- inputMode
10528
- };
10529
- },
10530
- changeLocale: (state, action)=>{
10531
- const locale = action.payload;
10532
- return {
10533
- ...state,
10534
- locale
10535
- };
10536
- },
10537
- init: (state, action)=>{
10538
- return {
10539
- ...state,
10540
- ...action.payload
10541
- };
10542
- }
10543
- }
10544
- });
10545
- /* harmony default export */ const slices_settingsSlice = (settingsSlice);
10546
-
10547
10672
  ;// CONCATENATED MODULE: ./src/state/slices/solveInitialState.ts
10548
10673
 
10549
10674
  const solveInitialState = {
@@ -11133,6 +11258,9 @@ class Config {
11133
11258
  get boardWidth() {
11134
11259
  return this.config.boardWidth;
11135
11260
  }
11261
+ get game() {
11262
+ return this.config.game;
11263
+ }
11136
11264
  get locale() {
11137
11265
  return this.config.locale;
11138
11266
  }
@@ -11225,6 +11353,27 @@ class FinalPattern extends Pattern_1.default {
11225
11353
  exports["default"] = FinalPattern;
11226
11354
 
11227
11355
 
11356
+ /***/ }),
11357
+
11358
+ /***/ 32815:
11359
+ /***/ ((__unused_webpack_module, exports) => {
11360
+
11361
+ "use strict";
11362
+
11363
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
11364
+ exports.isGame = void 0;
11365
+ var Game;
11366
+ (function (Game) {
11367
+ Game["Literaki"] = "literaki";
11368
+ Game["Scrabble"] = "scrabble";
11369
+ Game["SuperScrabble"] = "super-scrabble";
11370
+ })(Game || (Game = {}));
11371
+ const games = Object.values(Game);
11372
+ const isGame = (locale) => games.includes(locale);
11373
+ exports.isGame = isGame;
11374
+ exports["default"] = Game;
11375
+
11376
+
11228
11377
  /***/ }),
11229
11378
 
11230
11379
  /***/ 49594:
@@ -11278,7 +11427,11 @@ exports["default"] = HorizontalPattern;
11278
11427
 
11279
11428
  Object.defineProperty(exports, "__esModule", ({ value: true }));
11280
11429
  exports.isLocale = void 0;
11281
- // eslint-disable-next-line no-shadow
11430
+ /**
11431
+ * Locales are defined using IETF language tags
11432
+ * @see https://en.wikipedia.org/wiki/IETF_language_tag
11433
+ * @see https://en.wikipedia.org/wiki/ISO_3166-1
11434
+ */
11282
11435
  var Locale;
11283
11436
  (function (Locale) {
11284
11437
  Locale["DE_DE"] = "de-DE";
@@ -11613,7 +11766,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
11613
11766
  return (mod && mod.__esModule) ? mod : { "default": mod };
11614
11767
  };
11615
11768
  Object.defineProperty(exports, "__esModule", ({ value: true }));
11616
- exports.WordDefinition = exports.WordBonus = exports.VerticalPattern = exports.isTileJson = exports.Tile = exports.Result = exports.Pattern = exports.isLocale = exports.Locale = exports.isObject = exports.isError = exports.HorizontalPattern = exports.FinalPattern = exports.Config = exports.CharacterBonus = exports.isCellJson = exports.Cell = exports.Bonus = exports.isBoardJson = exports.Board = void 0;
11769
+ exports.isObject = exports.isError = exports.WordDefinition = exports.WordBonus = exports.VerticalPattern = exports.isTileJson = exports.Tile = exports.Result = exports.Pattern = exports.isLocale = exports.Locale = exports.HorizontalPattern = exports.isGame = exports.Game = exports.FinalPattern = exports.Config = exports.CharacterBonus = exports.isCellJson = exports.Cell = exports.Bonus = exports.isBoardJson = exports.Board = void 0;
11617
11770
  var Board_1 = __webpack_require__(80559);
11618
11771
  Object.defineProperty(exports, "Board", ({ enumerable: true, get: function () { return __importDefault(Board_1).default; } }));
11619
11772
  var BoardJson_1 = __webpack_require__(46936);
@@ -11630,12 +11783,11 @@ var Config_1 = __webpack_require__(28433);
11630
11783
  Object.defineProperty(exports, "Config", ({ enumerable: true, get: function () { return __importDefault(Config_1).default; } }));
11631
11784
  var FinalPattern_1 = __webpack_require__(35905);
11632
11785
  Object.defineProperty(exports, "FinalPattern", ({ enumerable: true, get: function () { return __importDefault(FinalPattern_1).default; } }));
11786
+ var Game_1 = __webpack_require__(32815);
11787
+ Object.defineProperty(exports, "Game", ({ enumerable: true, get: function () { return __importDefault(Game_1).default; } }));
11788
+ Object.defineProperty(exports, "isGame", ({ enumerable: true, get: function () { return Game_1.isGame; } }));
11633
11789
  var HorizontalPattern_1 = __webpack_require__(49594);
11634
11790
  Object.defineProperty(exports, "HorizontalPattern", ({ enumerable: true, get: function () { return __importDefault(HorizontalPattern_1).default; } }));
11635
- var isError_1 = __webpack_require__(96255);
11636
- Object.defineProperty(exports, "isError", ({ enumerable: true, get: function () { return __importDefault(isError_1).default; } }));
11637
- var isObject_1 = __webpack_require__(24814);
11638
- Object.defineProperty(exports, "isObject", ({ enumerable: true, get: function () { return __importDefault(isObject_1).default; } }));
11639
11791
  var Locale_1 = __webpack_require__(26634);
11640
11792
  Object.defineProperty(exports, "Locale", ({ enumerable: true, get: function () { return __importDefault(Locale_1).default; } }));
11641
11793
  Object.defineProperty(exports, "isLocale", ({ enumerable: true, get: function () { return Locale_1.isLocale; } }));
@@ -11653,6 +11805,10 @@ var WordBonus_1 = __webpack_require__(58627);
11653
11805
  Object.defineProperty(exports, "WordBonus", ({ enumerable: true, get: function () { return __importDefault(WordBonus_1).default; } }));
11654
11806
  var WordDefinition_1 = __webpack_require__(31560);
11655
11807
  Object.defineProperty(exports, "WordDefinition", ({ enumerable: true, get: function () { return __importDefault(WordDefinition_1).default; } }));
11808
+ var isError_1 = __webpack_require__(96255);
11809
+ Object.defineProperty(exports, "isError", ({ enumerable: true, get: function () { return __importDefault(isError_1).default; } }));
11810
+ var isObject_1 = __webpack_require__(24814);
11811
+ Object.defineProperty(exports, "isObject", ({ enumerable: true, get: function () { return __importDefault(isObject_1).default; } }));
11656
11812
 
11657
11813
 
11658
11814
  /***/ }),